ROSbot XL: The feedback from the motors is not being received

Hello everyone,

I am currently working with rosbot-XL with ROS 2, and I am encountering an issue where the feedback from the motors is not being received. The robot’s control and odometry seem to be malfunctioning, as the following warning messages appear in the
Command:---------------------
ros2 launch rosbot_xl_bringup bringup.launch.py

logs:husarion@husarion:~/ros2_ws$ ros2 launch rosbot_xl_bringup bringup.launch.py
[INFO] [launch]: All log files can be found below /home/husarion/.ros/log/2025-02-12-11-06-18-247208-husarion-18500
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [micro_ros_agent-1]: process started with pid [18503]
[INFO] [micro_ros_agent-1]: process has finished cleanly [pid 18503]
[INFO] [ros2_control_node-2]: process started with pid [18505]
[INFO] [robot_state_publisher-3]: process started with pid [18507]
[INFO] [spawner-4]: process started with pid [18509]
[INFO] [ekf_node-5]: process started with pid [18512]
[INFO] [scan_to_scan_filter_chain-6]: process started with pid [18518]
[micro_ros_agent-1] [1739358378.584824] error | UDPv4AgentLinux.cpp | init | bind error | port: 8888, errno: 98
[micro_ros_agent-1] [1739358378.584902] info | UDPv4AgentLinux.cpp | fini | server stopped | port: 8888
[micro_ros_agent-1] Error while starting IPvX agent!
[robot_state_publisher-3] [INFO] [1739358378.624739291] [robot_state_publisher]: got segment antenna_connector_link
[robot_state_publisher-3] [INFO] [1739358378.624902315] [robot_state_publisher]: got segment antenna_link
[robot_state_publisher-3] [INFO] [1739358378.624920302] [robot_state_publisher]: got segment base_link
[robot_state_publisher-3] [INFO] [1739358378.624928694] [robot_state_publisher]: got segment body_link
[robot_state_publisher-3] [INFO] [1739358378.624936365] [robot_state_publisher]: got segment cover_link
[robot_state_publisher-3] [INFO] [1739358378.624943605] [robot_state_publisher]: got segment fl_wheel_link
[robot_state_publisher-3] [INFO] [1739358378.624950434] [robot_state_publisher]: got segment fr_wheel_link
[robot_state_publisher-3] [INFO] [1739358378.624957065] [robot_state_publisher]: got segment imu_link
[robot_state_publisher-3] [INFO] [1739358378.624963673] [robot_state_publisher]: got segment laser
[robot_state_publisher-3] [INFO] [1739358378.624969778] [robot_state_publisher]: got segment rl_wheel_link
[robot_state_publisher-3] [INFO] [1739358378.624976722] [robot_state_publisher]: got segment rr_wheel_link
[robot_state_publisher-3] [INFO] [1739358378.624983834] [robot_state_publisher]: got segment slamtec_rplidar_s1_link
[ros2_control_node-2] [WARN] [1739358379.133909347] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use ‘~/robot_description’ topic from ‘robot_state_publisher’ instead.
[ros2_control_node-2] [INFO] [1739358379.134204094] [resource_manager]: Loading hardware ‘imu’
[ros2_control_node-2] [INFO] [1739358379.136819266] [resource_manager]: Initialize hardware ‘imu’
[ros2_control_node-2] [INFO] [1739358379.136846542] [RosbotImuSensor]: Initializing
[ros2_control_node-2] [INFO] [1739358379.191091233] [resource_manager]: Successful initialization of hardware ‘imu’
[ros2_control_node-2] [INFO] [1739358379.191167968] [resource_manager]: Loading hardware ‘wheels’
[ros2_control_node-2] [INFO] [1739358379.192277215] [resource_manager]: Initialize hardware ‘wheels’
[ros2_control_node-2] [INFO] [1739358379.192300599] [RosbotSystem]: Initializing
[ros2_control_node-2] [INFO] [1739358379.192458018] [RosbotSystem]: Joint ‘fl_wheel_joint’ found
[ros2_control_node-2] [INFO] [1739358379.192474317] [RosbotSystem]: Joint ‘fr_wheel_joint’ found
[ros2_control_node-2] [INFO] [1739358379.192480486] [RosbotSystem]: Joint ‘rl_wheel_joint’ found
[ros2_control_node-2] [INFO] [1739358379.192484623] [RosbotSystem]: Joint ‘rr_wheel_joint’ found
[ros2_control_node-2] [INFO] [1739358379.234906888] [resource_manager]: Successful initialization of hardware ‘wheels’
[ros2_control_node-2] [INFO] [1739358379.235002205] [resource_manager]: ‘configure’ hardware ‘wheels’
[ros2_control_node-2] [INFO] [1739358379.235013787] [RosbotSystem]: Configuring
[ros2_control_node-2] [INFO] [1739358379.235021555] [resource_manager]: Successful ‘configure’ of hardware ‘wheels’
[ros2_control_node-2] [INFO] [1739358379.235030062] [resource_manager]: ‘activate’ hardware ‘wheels’
[ros2_control_node-2] [INFO] [1739358379.235035265] [RosbotSystem]: Activating
[ros2_control_node-2] [WARN] [1739358379.239890403] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358384.240661962] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358389.241397987] [RosbotSystem]: Feedback message from motors wasn’t received yet
[spawner-4] [WARN] [1739358389.247447281] [spawner_joint_state_broadcaster]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 1 of 3.)
[ros2_control_node-2] [WARN] [1739358394.242256741] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358399.243251403] [RosbotSystem]: Feedback message from motors wasn’t received yet
[spawner-4] [WARN] [1739358399.248497995] [spawner_joint_state_broadcaster]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 2 of 3.)
[ros2_control_node-2] [WARN] [1739358404.243986512] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358409.244755548] [RosbotSystem]: Feedback message from motors wasn’t received yet
[spawner-4] [WARN] [1739358409.250858029] [spawner_joint_state_broadcaster]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 3 of 3.)
[spawner-4] Traceback (most recent call last):
[spawner-4] File “/opt/ros/humble/lib/controller_manager/spawner”, line 33, in
[spawner-4] sys.exit(load_entry_point(‘controller-manager==2.47.0’, ‘console_scripts’, ‘spawner’)())
[spawner-4] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/spawner.py”, line 195, in main
[spawner-4] if is_controller_loaded(
[spawner-4] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/spawner.py”, line 67, in is_controller_loaded
[spawner-4] controllers = list_controllers(
[spawner-4] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/controller_manager_services.py”, line 172, in list_controllers
[spawner-4] return service_caller(
[spawner-4] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/controller_manager_services.py”, line 150, in service_caller
[spawner-4] raise RuntimeError(
[spawner-4] RuntimeError: Could not successfully call service /controller_manager/list_controllers after 3 attempts.
[ERROR] [spawner-4]: process has died [pid 18509, exit code 1, cmd ‘/opt/ros/humble/lib/controller_manager/spawner joint_state_broadcaster --controller-manager controller_manager --controller-manager-timeout 120 --namespace --ros-args -p use_sim_time:=False -p use_sim_time:=False’].
[INFO] [spawner-7]: process started with pid [18581]
[spawner-7] [INFO] [1739358409.825802478] [_robot_controller_spawner]: waiting for service /controller_manager/list_controllers to become available…
[ros2_control_node-2] [WARN] [1739358414.245548969] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358419.246243089] [RosbotSystem]: Feedback message from motors wasn’t received yet
[spawner-7] [WARN] [1739358422.079496009] [_robot_controller_spawner]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 1 of 3.)
[ros2_control_node-2] [WARN] [1739358424.247142672] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358429.248060719] [RosbotSystem]: Feedback message from motors wasn’t received yet
[spawner-7] [WARN] [1739358432.081137488] [_robot_controller_spawner]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 2 of 3.)
[ros2_control_node-2] [WARN] [1739358434.249004854] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358439.249859841] [RosbotSystem]: Feedback message from motors wasn’t received yet
[spawner-7] [WARN] [1739358442.082580016] [_robot_controller_spawner]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 3 of 3.)
[spawner-7] Traceback (most recent call last):
[spawner-7] File “/opt/ros/humble/lib/controller_manager/spawner”, line 33, in
[spawner-7] sys.exit(load_entry_point(‘controller-manager==2.47.0’, ‘console_scripts’, ‘spawner’)())
[spawner-7] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/spawner.py”, line 195, in main
[spawner-7] if is_controller_loaded(
[spawner-7] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/spawner.py”, line 67, in is_controller_loaded
[spawner-7] controllers = list_controllers(
[spawner-7] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/controller_manager_services.py”, line 172, in list_controllers
[spawner-7] return service_caller(
[spawner-7] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/controller_manager_services.py”, line 150, in service_caller
[spawner-7] raise RuntimeError(
[spawner-7] RuntimeError: Could not successfully call service /controller_manager/list_controllers after 3 attempts.
[ERROR] [spawner-7]: process has died [pid 18581, exit code 1, cmd ‘/opt/ros/humble/lib/controller_manager/spawner rosbot_xl_base_controller --controller-manager controller_manager --controller-manager-timeout 120 --namespace --ros-args -r __node:=_robot_controller_spawner -p use_sim_time:=False -p use_sim_time:=False’].
[INFO] [spawner-8]: process started with pid [18606]
[spawner-8] [INFO] [1739358442.590917888] [_imu_broadcaster_spawner]: waiting for service /controller_manager/list_controllers to become available…
[ros2_control_node-2] [WARN] [1739358444.250750150] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358449.251584541] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358454.252560307] [RosbotSystem]: Feedback message from motors wasn’t received yet
[spawner-8] [WARN] [1739358455.094818680] [_imu_broadcaster_spawner]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 1 of 3.)
[ros2_control_node-2] [WARN] [1739358459.253602188] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358464.254660272] [RosbotSystem]: Feedback message from motors wasn’t received yet
[spawner-8] [WARN] [1739358465.095808236] [_imu_broadcaster_spawner]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 2 of 3.)
[ros2_control_node-2] [WARN] [1739358469.255689273] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358474.256530529] [RosbotSystem]: Feedback message from motors wasn’t received yet
[spawner-8] [WARN] [1739358475.096775933] [_imu_broadcaster_spawner]: Failed getting a result from calling /controller_manager/list_controllers in 10.0. (Attempt 3 of 3.)
[spawner-8] Traceback (most recent call last):
[spawner-8] File “/opt/ros/humble/lib/controller_manager/spawner”, line 33, in
[spawner-8] sys.exit(load_entry_point(‘controller-manager==2.47.0’, ‘console_scripts’, ‘spawner’)())
[spawner-8] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/spawner.py”, line 195, in main
[spawner-8] if is_controller_loaded(
[spawner-8] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/spawner.py”, line 67, in is_controller_loaded
[spawner-8] controllers = list_controllers(
[spawner-8] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/controller_manager_services.py”, line 172, in list_controllers
[spawner-8] return service_caller(
[spawner-8] File “/opt/ros/humble/local/lib/python3.10/dist-packages/controller_manager/controller_manager_services.py”, line 150, in service_caller
[spawner-8] raise RuntimeError(
[spawner-8] RuntimeError: Could not successfully call service /controller_manager/list_controllers after 3 attempts.
[ERROR] [spawner-8]: process has died [pid 18606, exit code 1, cmd ‘/opt/ros/humble/lib/controller_manager/spawner imu_broadcaster --controller-manager controller_manager --controller-manager-timeout 120 --namespace --ros-args -r __node:=_imu_broadcaster_spawner -p use_sim_time:=False -p use_sim_time:=False’].
[ros2_control_node-2] [WARN] [1739358479.257378703] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358484.258276323] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358489.259258223] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358494.260159997] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [WARN] [1739358499.260986339] [RosbotSystem]: Feedback message from motors wasn’t received yet
[ros2_control_node-2] [FATAL] [1739358499.761078648] [rosbot_system_node]: Activation failed, timeout reached while waiting for feedback from motors
[ros2_control_node-2] [INFO] [1739358499.761155797] [RosbotSystem]: Handling error
[ros2_control_node-2] [INFO] [1739358499.761807085] [resource_manager]: Failed to ‘activate’ hardware ‘wheels’
[ros2_control_node-2] terminate called after throwing an instance of ‘std::runtime_error’
[ros2_control_node-2] what(): Failed to set the initial state of the component : wheels to active
[ros2_control_node-2] Stack trace (most recent call last):
[ros2_control_node-2] #13 Object “”, at 0xffffffffffffffff, in
[ros2_control_node-2] #12 Object “/opt/ros/humble/lib/controller_manager/ros2_control_node”, at 0x56220908cee4, in
[ros2_control_node-2] #11 Object “/usr/lib/x86_64-linux-gnu/libc.so.6”, at 0x7f61d4b10e3f, in __libc_start_main
[ros2_control_node-2] #10 Object “/usr/lib/x86_64-linux-gnu/libc.so.6”, at 0x7f61d4b10d8f, in
[ros2_control_node-2] #9 Object “/opt/ros/humble/lib/controller_manager/ros2_control_node”, at 0x56220908c3e3, in
[ros2_control_node-2] #8 Object “/opt/ros/humble/lib/libcontroller_manager.so”, at 0x7f61d5229deb, in controller_manager::ControllerManager::ControllerManager(std::shared_ptrrclcpp::Executor, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, rclcpp::NodeOptions const&)
[ros2_control_node-2] #7 Object “/opt/ros/humble/lib/libcontroller_manager.so”, at 0x7f61d520e972, in
[ros2_control_node-2] #6 Object “/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30”, at 0x7f61d4dde4d7, in __cxa_throw
[ros2_control_node-2] #5 Object “/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30”, at 0x7f61d4dde276, in std::terminate()
[ros2_control_node-2] #4 Object “/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30”, at 0x7f61d4dde20b, in
[ros2_control_node-2] #3 Object “/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30”, at 0x7f61d4dd2b9d, in
[ros2_control_node-2] #2 Object “/usr/lib/x86_64-linux-gnu/libc.so.6”, at 0x7f61d4b0f7f2, in abort
[ros2_control_node-2] #1 Object “/usr/lib/x86_64-linux-gnu/libc.so.6”, at 0x7f61d4b29475, in raise
[ros2_control_node-2] #0 Object “/usr/lib/x86_64-linux-gnu/libc.so.6”, at 0x7f61d4b7d9fc, in pthread_kill
[ros2_control_node-2] Aborted (Signal sent by tkill() 18505 1000)
[ERROR] [ros2_control_node-2]: process has died [pid 18505, exit code -6, cmd ‘/opt/ros/humble/lib/controller_manager/ros2_control_node --ros-args -r _ns:=/ -p use_sim_time:=False -p use_sim_time:=False --params-file /tmp/launch_params_wg5rmub --params-file /home/husarion/ros2_ws/install/rosbot_xl_controller/share/rosbot_xl_controller/config/diff_drive_controller.yaml -r imu_sensor_node/imu:=/_imu/data_raw -r ~/motors_cmd:=/_motors_cmd -r ~/motors_response:=/_motors_response -r rosbot_xl_base_controller/cmd_vel_unstamped:=cmd_vel -r /tf:=tf -r /tf_static:=tf_static’].
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[robot_state_publisher-3] [INFO] [1739358826.807281887] [rclcpp]: signal_handler(signum=2)
[ekf_node-5] [INFO] [1739358826.807283333] [rclcpp]: signal_handler(signum=2)
[scan_to_scan_filter_chain-6] [INFO] [1739358826.807386075] [rclcpp]: signal_handler(signum=2)
[INFO] [robot_state_publisher-3]: process has finished cleanly [pid 18507]
[INFO] [ekf_node-5]: process has finished cleanly [pid 18512]
[INFO] [scan_to_scan_filter_chain-6]: process has finished cleanly [pid 18518]


Has anyone faced a similar issue, or can you suggest potential causes for this feedback issue? Could this be an issue related to ROS 2 configuration, hardware connections, or controller setup?

Any advice or suggestions would be highly appreciated!

Thanks in advance!

Hello @kabita,

It looks like the connection to the hardware didn’t work. I would try to update the firmware first.
If you are building the code from sources, flashing instructions can be found in the readme.
Please tell me whether you are using a dedicated Husarion OS image.

Let me know about further progress.

I didn’t notice it before, but it looks like there is already a process that is already using port 8888. Check if you have the Rosbot driver running in Snap or Docker, or if another process is using port 8888.