I'm facing an issue with controlling a robot in Gazebo using ROS 2 and ros2_control. I'm running ROS 2 with the Humble distribution on Ubuntu 22.04. I have installed the necessary packages including ros2_control, gazebo_ros2_control, and others.

I am trying to test using a default package just to show my errors. The errors I encounter are

robotics$ ros2 run controller_manager spawner test_controller

[INFO] [1699614834.933186665] [spawner_test_controller]: Waiting for '/controller_manager' node to exist [INFO] [1699614836.952766939] [spawner_test_controller]: Waiting for '/controller_manager' node to exist [INFO] [1699614838.971527756] [spawner_test_controller]: Waiting for '/controller_manager' node to exist [INFO] [1699614840.991855230] [spawner_test_controller]: Waiting for '/controller_manager' node to exist [ERROR] [1699614843.012806033] [spawner_test_controller]: Controller manager not available [ros2run]: Process exited with failure 1

robotics$ ros2 run controller_manager controller_manager

No executable found

robotics$ ros2 run controller_manager ros2_control_node

enter image description here

and here to list the packages i have

robotics$ ros2 pkg list | grep ros2_control

robotics$ ros2 pkg list | grep controller_manager


robotics$ ros2 pkg executables controller_manager

controller_manager ros2_control_node
controller_manager spawner
controller_manager unspawner

I tried solutions suggested in the link, but still no use.

  • $\begingroup$ Please do not use screenshots of text. Instead, copy/paste the actual text and format it as code. $\endgroup$
    – Mike973
    Commented Nov 11, 2023 at 14:09

2 Answers 2


Welcome at RSE.

We released several examples on how to launch gazebo with ros2_control. Please have a look on how to setup your urdf files, writing your launch files, etc.

  • $\begingroup$ Thank you. I found my problem was because of some mistake in the config yaml file. $\endgroup$
    – Vishaal
    Commented Jan 5 at 5:50

Okay so something similar was happening to me. I see that you resolved your problem (fantastic) by fixing an error in one of your .yaml files, but I think it is worth putting my solution here just in case it can help anyone.

I found that there were multiple "zombie" nodes running in the background which were not allowing my controller_manger to execute. You can check for these by running the command:

ros2 node list

If you see any nodes that are duplicates or should not be running, you will have to kill them. For ROS2 the best method I found was to just restart your machine.

Hope this helps someone.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.