moveit2
The MoveIt Motion Planning Framework for ROS 2.
|
#include <moveit/macros/class_forward.hpp>
#include <moveit/utils/rclcpp_utils.hpp>
#include <moveit_ros_control_interface/ControllerHandle.hpp>
#include <moveit/controller_manager/controller_manager.hpp>
#include <controller_manager_msgs/srv/list_controllers.hpp>
#include <controller_manager_msgs/srv/switch_controller.hpp>
#include <pluginlib/class_list_macros.hpp>
#include <pluginlib/class_loader.hpp>
#include <boost/bimap.hpp>
#include <boost/bimap/unordered_multiset_of.hpp>
#include <rclcpp/client.hpp>
#include <rclcpp/duration.hpp>
#include <rclcpp/logger.hpp>
#include <rclcpp/logging.hpp>
#include <rclcpp/node.hpp>
#include <rclcpp/parameter_value.hpp>
#include <rclcpp/time.hpp>
#include <map>
#include <memory>
#include <queue>
#include <moveit/utils/logger.hpp>
Go to the source code of this file.
Classes | |
class | moveit_ros_control_interface::Ros2ControlManager |
moveit_controller_manager::Ros2ControlManager sub class that interfaces one ros_control controller_manager instance. All services and names are relative to ns_. More... | |
class | moveit_ros_control_interface::Ros2ControlMultiManager |
Ros2ControlMultiManager discovers all running ros_control node and delegates member function to the corresponding Ros2ControlManager instances. More... | |
Namespaces | |
namespace | moveit_ros_control_interface |
Functions | |
std::string | moveit_ros_control_interface::parseJointNameFromResource (const std::string &claimed_interface) |
Get joint name from resource name reported by ros2_control, since claimed_interfaces return by ros2_control will have the interface name as suffix joint_name/INTERFACE_TYPE. | |
void | moveit_ros_control_interface::deconflictControllerActivationLists (std::vector< std::string > &activate_controllers, std::vector< std::string > &deactivate_controllers) |
Modifies controller activation/deactivation lists to conform to ROS 2 control expectations. \detail Activation/deactivation is expected to be disjoint. For example, if controller B is a dependency of A (A chains to B) but controller B is also a dependency of C (B chains to B), then the switch from A->B to C->B would cause B to be in both the activation and deactivate list. This causes ROS 2 control to throw an error and reject the switch. This function adds the logic needed to avoid this from happening. | |
moveit_ros_control_interface::MOVEIT_CLASS_FORWARD (Ros2ControlManager) | |
PLUGINLIB_EXPORT_CLASS (moveit_ros_control_interface::Ros2ControlManager, moveit_controller_manager::MoveItControllerManager) | |
PLUGINLIB_EXPORT_CLASS (moveit_ros_control_interface::Ros2ControlMultiManager, moveit_controller_manager::MoveItControllerManager) | |
PLUGINLIB_EXPORT_CLASS | ( | moveit_ros_control_interface::Ros2ControlManager | , |
moveit_controller_manager::MoveItControllerManager | |||
) |
PLUGINLIB_EXPORT_CLASS | ( | moveit_ros_control_interface::Ros2ControlMultiManager | , |
moveit_controller_manager::MoveItControllerManager | |||
) |