Skip to content

[ROS2 Kilted] Controllers fail getting a result from calling controller_manager services #752

@sarahyoo011725

Description

@sarahyoo011725

Describe the bug
I wrote a custom swerve drive controller and tested it in Rviz. Now I'm trying to simulate it in Gazebo.
However, I am having a trouble in accessing controller_manager services.
controller_manager successfully loads controllers but fails calling services after.
When I type ros2 service list, I can see controller_manager services but none of them are functional.
controller_manager works fine when I launch it via ROS2 but a Gazebo plugin.

I've ensured all libraries are up-to-date, checked namespace, and compared my launch and urdf files with the demo ones.
But I can't figure out the cause. Launch files in gz_ros2_control_demos function well in my development setting. Could you have a look at my project repository issue branch, please? I've been working on this issue for a week.

To Reproduce
Steps to reproduce the behavior:
Clone the issue branch of the repository above, build the project, and run ros2 launch sim gazebo.launch.py.

Expected behavior
Loaded controllers should be able to get results from controller_manager services.

Screenshots

  • The issue part of launch logs:
[gazebo-1] [INFO] [1767337368.604877709] [gz_ros_control]: Initialize hardware 'GazeboSimSystem'
[gazebo-1] [INFO] [1767337368.615935203] [gz_ros_control.hardware_component.system.GazeboSimSystem]: `status_publish_rate` is set to 0.0, hardware status publisher will not be created.
[gazebo-1] [INFO] [1767337368.616228772] [gz_ros_control]: Successful initialization of hardware 'GazeboSimSystem'
[gazebo-1] [INFO] [1767337368.616566955] [resource_manager]: 'configure' hardware 'GazeboSimSystem'
[gazebo-1] [INFO] [1767337368.616580664] [gz_ros_control]: System Successfully configured!
[gazebo-1] [INFO] [1767337368.616595824] [resource_manager]: Successful 'configure' of hardware 'GazeboSimSystem'
[gazebo-1] [INFO] [1767337368.616607749] [resource_manager]: 'activate' hardware 'GazeboSimSystem'
[gazebo-1] [INFO] [1767337368.616618956] [resource_manager]: Successful 'activate' of hardware 'GazeboSimSystem'
[gazebo-1] [WARN] [1767337368.616763084] [controller_manager]: Component 'GazeboSimSystem' does not have read or write statistics initialized, skipping registration.
[gazebo-1] [INFO] [1767337368.616781212] [controller_manager]: Resource Manager has been successfully initialized. Starting Controller Manager services...
[spawner-5] [INFO] [1767337368.843204980] [spawner_joint_state_broadcaster]: waiting for service /controller_manager/list_controllers to become available...
[gazebo-1] [INFO] [1767337369.347627426] [controller_manager]: Loading controller : 'joint_state_broadcaster' of type 'joint_state_broadcaster/JointStateBroadcaster'
[gazebo-1] [INFO] [1767337369.347767795] [controller_manager]: Loading controller 'joint_state_broadcaster'
[gazebo-1] [INFO] [1767337369.351642980] [controller_manager]: Controller 'joint_state_broadcaster' node arguments: --ros-args --params-file /home/ge3626/crackvac/install/sim/share/sim/config/controllers.yaml -p use_sim_time:=true --param use_sim_time:=true
[spawner-5] [INFO] [1767337369.374206528] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[gazebo-1] [INFO] [1767337369.376131409] [controller_manager]: Configuring controller: 'joint_state_broadcaster'
[gazebo-1] [INFO] [1767337369.376426585] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[gazebo-1] [INFO] [1767337369.396357808] [controller_manager]: Activating controllers: [ joint_state_broadcaster ]
[gazebo-1] [INFO] [1767337369.396552348] [controller_manager]: Requested controller switch from non-realtime loop
[gazebo-1] [INFO] [1767337369.396789337] [controller_manager]: Successfully switched controllers!
[gazebo-1] [WARN] [1767337370.469838358] [gz_ros_control]:  Desired controller update period (0.01 s) is slower than the gazebo simulation period (0 s).
[spawner-5] [WARN] [1767337379.401407612] [spawner_joint_state_broadcaster]: Failed getting a result from calling /controller_manager/switch_controller in 10.0. (Attempt 1 of 3.)
[spawner-5] [WARN] [1767337387.515825574] [spawner_joint_state_broadcaster]: Failed getting a result from calling /controller_manager/switch_controller in 10.0. (Attempt 2 of 3.)
[spawner-5] [WARN] [1767337397.518776351] [spawner_joint_state_broadcaster]: Failed getting a result from calling /controller_manager/switch_controller in 10.0. (Attempt 3 of 3.)
[spawner-5] Traceback (most recent call last):
[spawner-5]   File "/opt/ros/kilted/lib/controller_manager/spawner", line 33, in <module>
[spawner-5]     sys.exit(load_entry_point('controller-manager==5.10.0', 'console_scripts', 'spawner')())
[spawner-5]              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[spawner-5]   File "/opt/ros/kilted/lib/python3.12/site-packages/controller_manager/spawner.py", line 295, in main
[spawner-5]     ret = switch_controllers(
[spawner-5]           ^^^^^^^^^^^^^^^^^^^
[spawner-5]   File "/opt/ros/kilted/lib/python3.12/site-packages/controller_manager/controller_manager_services.py", line 302, in switch_controllers
[spawner-5]     return service_caller(
[spawner-5]            ^^^^^^^^^^^^^^^
[spawner-5]   File "/opt/ros/kilted/lib/python3.12/site-packages/controller_manager/controller_manager_services.py", line 163, in service_caller
[spawner-5]     raise RuntimeError(
[spawner-5] RuntimeError: Could not successfully call service /controller_manager/switch_controller after 3 attempts.
[ERROR] [spawner-5]: process has died [pid 29849, exit code 1, cmd '/opt/ros/kilted/lib/controller_manager/spawner joint_state_broadcaster --ros-args'].
[INFO] [spawner-6]: process started with pid [30076]
[spawner-6] [INFO] [1767337410.002913564] [spawner_swerve_controller]: waiting for service /controller_manager/list_controllers to become available...
[spawner-6] [WARN] [1767337420.257117994] [spawner_swerve_controller]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 1 of 3.)
[spawner-6] [WARN] [1767337430.259323051] [spawner_swerve_controller]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 2 of 3.)
[spawner-6] [WARN] [1767337440.262790365] [spawner_swerve_controller]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 3 of 3.)

Environment:

  • OS: Ubuntu-24.04
  • Version: ROS2 Kilted, Gazebo Ionic

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions