Skip to content

Commit c9616ee

Browse files
danzimmermanAndyZe
andauthored
Add detail on custom IK plugin param declaration. (#488)
* Add detail on custom IK plugin param declaration. MoveIt Servo dispenses with the `automatically_declare_parameters_from_overrides` machinery discussed here: https://github.com/orgs/ros-planning/discussions/1486 However, unlike a kinematics plugin loaded by a `move_group` node, this seems to mean that the kinematics plugin code is responsible for declaring any custom parameters on `/servo_node` that it needs to load from a MoveIt Config's `kinematics.yaml` Maybe this is not the case for configs generated with `MoveItConfigsBuilder`, but it was my experience with the launch strategy used by https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/tree/main/ur_moveit_config * Typo on line number * Fix code tag formatting * getROSParam code tag * Whitespace cleanup Co-authored-by: AndyZe <[email protected]>
1 parent cc0769a commit c9616ee

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

doc/examples/realtime_servo/realtime_servo_tutorial.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,10 @@ The above excerpt is taken from `servo_example.launch.py <https://github.com/ros
142142
In the above example, the :code:`kinematics.yaml` file is taken from the `moveit_resources <https://github.com/ros-planning/moveit_resources>`_ repository in the workspace, specifically :code:`moveit_resources/panda_moveit_config/config/kinematics.yaml`.
143143
The actual ROS parameter names that get passed by loading the yaml file are of the form :code:`robot_description_kinematics.<group_name>.<param_name>`, e.g. :code:`robot_description_kinematics.panda_arm.kinematics_solver`.
144144

145+
Since :code:`moveit_servo` does not allow undeclared parameters found in the :code:`kinematics.yaml` file to be set on the Servo node, custom solver parameters need to be declared from inside your plugin code.
146+
147+
For example, :code:`bio_ik` defines a :code:`getROSParam()` function in `bio_ik/src/kinematics_plugin.cpp <https://github.com/PickNikRobotics/bio_ik/blob/ros2/src/kinematics_plugin.cpp#L160>`_ that declares parameters if they're not found on the Servo Node.
148+
145149
Setup on a New Robot
146150
--------------------
147151

0 commit comments

Comments
 (0)