fzi-forschungszentrum-informatik / cartesian_controllers

A set of Cartesian controllers for the ROS1 and ROS2-control framework.
BSD 3-Clause "New" or "Revised" License
397 stars 118 forks source link

[Iron] - Robot description is empty if ros2control is configured to load it from topic #179

Closed firesurfer closed 1 month ago

firesurfer commented 8 months ago

Hi @stefanscherzinger,

ros2control deprecated loading the robot_description from the parameter file and wants us to load it from the corresponding topic. I just adapted to this change and realized I can not load the cartesian controllers anymore.

For example for the cartesian_motion_controller

[ros2_control_node-12] [INFO] [1710834336.674188673] [controller_manager]: Loading controller 'cartesian_motion_controller_top'
[ros2_control_node-12] [INFO] [1710834336.701249189] [controller_manager]: Configuring controller 'cartesian_motion_controller_top'
[ros2_control_node-12] [ERROR] [1710834336.703519230] [cartesian_motion_controller_top]: robot_description is empty
[ros2_control_node-12] [WARN] [1710834336.703674259] [cartesian_motion_controller_top]: Error occurred while doing error handling.
[ros2_control_node-12] [ERROR] [1710834336.703766080] [controller_manager]: After configuring, controller 'cartesian_motion_controller_top' is in state 'unconfigured' , expected inactive.

Not sure if this is a bug in ros2control (that is should properly pass this parameter to the controller nodes) or if a controller is supposed to obtain the robot_description from the corresponding topic itself. I will also open an issue in the ros2control repository asking how this should be handled.

firesurfer commented 8 months ago

@stefanscherzinger A follow up for you -> In the current rolling branch of ros2control they introduced the URDF as member of the controller base class. This change will not be backported to iron/humble.

tonynajjar commented 3 months ago

So what's the latest state? How do we actually load a controller from this repo if the robot_description is read from the topic?

firesurfer commented 3 months ago

You simply don't at the moment. I think @stefanscherzinger doesn't find any time to work on these controllers at the moment.

stefanscherzinger commented 1 month ago

@firesurfer @tonynajjar

This should now be solved with a mixed approach (see #198 ):

stefanscherzinger commented 1 month ago

Please re-open if still unclear.