Skip to content

Commit 70f5b29

Browse files
author
AndyZe
authored
Ros2ControlManager renaming (#531)
1 parent 94ec2e5 commit 70f5b29

File tree

4 files changed

+7
-10
lines changed

4 files changed

+7
-10
lines changed

doc/examples/controller_configuration/controller_configuration_tutorial.rst

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ MoveIt typically publishes manipulator motion commands to a `JointTrajectoryCont
1010

1111
#. Note: it is not required to use :code:`ros2_control` for your robot. You could write a proprietary action interface. In practice, 99% of users choose :code:`ros2_control`.
1212

13-
MoveIt Controller Manager
14-
-------------------------
15-
If using the Move Group or MoveItCpp, a MoveItControllerManager (MICM) can be used to manage controller switching. The MICM can parse the joint names in any command coming from MoveIt and activate the appropriate controllers. For example, it can automatically switch between controlling two manipulators in a single joint group at once to a single manipulator. To use a MICM, just set :code:`moveit_manage_controllers = true` in the launch file. `Example MICM launch file <https://github.com/ros-planning/moveit_resources/blob/ros2/panda_moveit_config/launch/demo.launch.py>`_. Frankly, the MICM is a candidate to be deprecated soon and we do not recommend its use.
13+
MoveIt Controller Managers
14+
--------------------------
15+
The base class of controller managers is called MoveItControllerManager (MICM). One of the child classes of MICM is known as Ros2ControlManager (R2CM) and it is the best way to interface with ros2_control. The R2CM can parse the joint names in a trajectory command coming from MoveIt and activate the appropriate controllers. For example, it can automatically switch between controlling two manipulators in a single joint group at once to a single manipulator. To use a R2CM, just set :code:`moveit_manage_controllers = true` in the launch file. `Example R2CM launch file <https://github.com/ros-planning/moveit_resources/blob/ros2/panda_moveit_config/launch/demo.launch.py>`_.
1616

1717
MoveIt Controller Interfaces
1818
----------------------------
@@ -113,8 +113,6 @@ All controller names get prefixed by the namespace of their ros_control node. Fo
113113
Controllers for Multiple Nodes
114114
------------------------------
115115

116-
(TODO: update for ROS2)
117-
118-
MoveItMultiControllerManager can be used for more than one ros_control nodes. It works by creating several MoveItControllerManagers, one for each node. It instantiates them with their respective namespace and takes care of proper delegation. To use it must be added to the launch file. ::
116+
There is a variation on the Ros2ControlManager, the Ros2ControlMultiManager. Ros2ControlMultiManager can be used for more than one ros_control nodes. It works by creating several Ros2ControlManagers, one for each node. It instantiates them with their respective namespace and takes care of proper delegation. To use it must be added to the launch file. ::
119117

120-
<param name="moveit_controller_manager" value="moveit_ros_control_interface::MoveItMultiControllerManager" />
118+
<param name="moveit_controller_manager" value="moveit_ros_control_interface::Ros2ControlMultiManager" />

doc/examples/creating_moveit_plugins/plugin_tutorial.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ MoveIt controller managers, somewhat a misnomer, are the interfaces to your cust
9898

9999
However, for some applications you might desire a more custom controller manager. An example template for starting your custom controller manager is provided :codedir:`here <examples/controller_configuration/src/moveit_controller_manager_example.cpp>`.
100100

101-
102101
Example Constraint Sampler Plugin
103102
----------------------------------
104103

doc/examples/dual_arms/dual_arm_panda_moveit_config/config/moveit_controllers.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ trajectory_execution:
44
allowed_goal_duration_margin: 0.5
55
allowed_start_tolerance: 0.01
66

7-
moveit_controller_manager: moveit_ros_control_interface/MoveItMultiControllerManager
7+
moveit_controller_manager: moveit_ros_control_interface/Ros2ControlManager

doc/examples/dual_arms/dual_arms_tutorial.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@ What Changes were required for the Dual-Arm System?
3838

3939
- Define the controllers which MoveIt can execute trajectories with in ``moveit_controllers.yaml``. Here we have a trajectory controller for each arm.
4040

41-
- Also in ``moveit_controllers.yaml``, define the controller management strategy MoveIt will use. The simplest option from a configuration standpoint is either ``moveit_ros_control_interface/MoveItMultiControllerManager`` or ``moveit_ros_control_interface/MoveItControllerManager``. You can also use a ``moveit_simple_controller_manager/MoveItSimpleControllerManager`` although it requires additional namespacing and additional enumeration of the joints.
41+
- Also in ``moveit_controllers.yaml``, define the controller management strategy MoveIt will use. The simplest option from a configuration standpoint is ``moveit_ros_control_interface/Ros2ControlManager``. You can also use a ``moveit_simple_controller_manager/MoveItSimpleControllerManager`` although it requires additional namespacing and additional enumeration of the joints.

0 commit comments

Comments
 (0)