ros-controls / ros2_control

Generic and simple controls framework for ROS 2
https://control.ros.org
Apache License 2.0
478 stars 293 forks source link

Order of JointInterface and ActuatorInterface #1745

Open qiayuanl opened 3 weeks ago

qiayuanl commented 3 weeks ago

Describe the bug The order of JointInterface and ActuatorInterface are given by joint_names, and actuator_names, and the order is used in all multip-acutaor-multip-joint transmission mapping.

However, the get_name() use std::set to remove duplicate name, resulting in ascending lexicographical order. As a result, there is no way (expected changing the name of actuators) to set the correct order according to <role> tag in URDF, since the order of interface passing to Transmission::configure() doesn't affect anything.

Environment:

Additional context BTW, I can't find any example of usage of <role> tag in URDF.

christophfroehlich commented 1 week ago

Additional context BTW, I can't find any example of usage of <role> tag in URDF.

Contributions are welcome, maybe in addition to https://github.com/ros-controls/ros2_control_demos/tree/master/example_8