ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
My understanding is that the intent is to have the following hierarchy for ros2_control
:
<ros2_control>
limit tags in the URDF<joint>
limit tags in the URDF (lowest precedence)That said, it has been a while since I've looked through the code and at the time, this was still an "in development" feature of ros2_control. The last time I was reviewing the code, my impression was that only limits defined in the yaml file would be respected, and only if the controller was setup to respect them.
There's a bit of discussion on this draft PR that may help shed some light.
Maybe someone else can chime in with more recent insights.
2 | No.2 Revision |
My understanding is that the intent is to have the following hierarchy for ros2_control
:
<ros2_control>
limit tags in the URDF<joint>
limit tags in the URDF (lowest precedence)That said, it has been a while since I've looked through the code and at the time, this was still an "in development" feature of ros2_control. The last time I was reviewing the code, my impression was that only limits defined in the yaml file would be respected, and only if the controller was setup to respect them.
There's a bit of discussion on this draft PR that may help shed some light.
Maybe someone else can chime in with more recent insights.
EDIT: adding a small note that may help for clarity - I believe the intent is also to have checks to ensure that the higher precedence limits do not break the URDF limits; e.g. the URDF should specify hardware limits (e.g. the known max speed of a motor, the known end of travel on a joint) set by the manufacturer, the yaml file would specify more conservative control limits based on the user's needs (e.g. adding a safety margin around the end of travel)