[Solved] Waiting for /controller_manager to come up

Hello,

I recently unboxed a ROSBot 2R.
Using the documentation found here:

I go the the rosbot connected to the network. When I tried using docker everything worked EXCEPT I could not see the topics on other computers. LOCAL_HOST_ONLY was set to 0, so I am not sure how to fix this.

I then used this documentation to build the ros2 packages from scratch:

Again I can move the robot as long as I am using the docker, but I can’t send commands from other computers.
I was able to build the packages and when I run:

ros2 launch rosbot_bringup bringup.launch.py

It brings up most of the topics however, keeps giving the following errors:
[ros2_control_node-1] [WARN] [1689705038.740265061] [RosbotImuSensor]: Feedback message from imu wasn’t received yet
[ros2_control_node-1] [WARN] [1689705039.240611806] [RosbotImuSensor]: Feedback message from imu wasn’t received yet
[ros2_control_node-1] [WARN] [1689705039.740933957] [RosbotImuSensor]: Feedback message from imu wasn’t received yet
[ros2_control_node-1] [WARN] [1689705040.241254199] [RosbotImuSensor]: Feedback message from imu wasn’t received yet
[spawner-3] [INFO] [1689705040.343607717] [spawner_joint_state_broadcaster]: Waiting for ‘/controller_manager’ services to be available

/cmd_vel will only appear AFTER these errors go away. For one time, no explainable reason, this service came up and it worked, I was able to see /cmd_vel. However, I had to have it running for about ten minutes. What am I doing wrong?

Alright, I have found another piece of the puzzle.
If I run docker compose -d microros
Then I run my built packages:
ros2 launch rosbot_bringup bringup…
It works. I can see the topics. So what is microros doing and why did the custom build not work?
I still have to try get lplidar to send to remote machines.

Hello @Brad_Towle and welcome to the Husarion Commnity!

We’ll try to reproduce your problem and let you know!

Best regards
Jan Brzyk

I’m getting the same exact issue. How do I fix it @JanBrzyk ? The steps that Brad took didn’t work for me.

Thanks,
Elianne

Never mind. It works now. Thank you!

@Elianne_Sacher,

can you share with the Community what was wrong?

Best regards
Jan Brzyk

It resolved itself with the new images provided in another community page. This is my current compose.yaml file that I’m running on the robot:

x-common-config:
&common-config
restart: unless-stopped
network_mode: host
ipc: host
user: ${DOCKER_UID:-1000}:${DOCKER_GID:-1000} # *
volumes:
- /etc/group:/etc/group:ro # *
- /etc/passwd:/etc/passwd:ro # *
- /etc/shadow:/etc/shadow:ro # *
- /home/husarion/.ros:/home/husarion/.ros # *
- ${FASTRTPS_DEFAULT_PROFILES_FILE:-dummy_volume_fastdds}:${FASTRTPS_DEFAULT_PROFILES_FILE:-/dummy_volume_fastdds}:ro # **
- ${CYCLONEDDS_PATH:-dummy_volume_cyclonedds}:${CYCLONEDDS_PATH:-/dummy_volume_cyclonedds}:ro # **
environment:
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp # *** # I added this
- FASTRTPS_DEFAULT_PROFILES_FILE # ***
- CYCLONEDDS_URI # ***
- ROS_DOMAIN_ID # ***

services:
astra:
image: husarion/astra:humble
container_name: astra
<<: *common-config
devices:
- /dev/bus/usb/
command: ros2 launch astra_camera astra_mini.launch.py

rplidar:
image: husarion/rplidar:humble
container_name: rplidar
# <<: *common-config
restart: unless-stopped # I added this
network_mode: host # I added this
ipc: host # I added this
environment: # I added this
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp # *** # I added this
- FASTRTPS_DEFAULT_PROFILES_FILE # *** # I added this
- CYCLONEDDS_URI # *** # I added this
- ROS_DOMAIN_ID # *** # I added this
devices:
- /dev/ttyRPLIDAR:/dev/ttyUSB0
command: >
ros2 launch sllidar_ros2 sllidar_launch.py
serial_baudrate:=${RPLIDAR_BAUDRATE:-256000}

microros:
image: husarion/micro-xrce-agent:v2.4.1
container_name: microros
<<: *common-config
devices:
- ${SERIAL_PORT:?err}
environment: #only two envs are valid for micro-xrce-agent
- FASTRTPS_DEFAULT_PROFILES_FILE # ***
- XRCE_DOMAIN_ID_OVERRIDE=${ROS_DOMAIN_ID:-} # ***
command: >
MicroXRCEAgent serial -D $SERIAL_PORT serial -b 576000 # -v6

rosbot:
image: husarion/rosbot:humble
container_name: rosbot
<<: *common-config
command: >
ros2 launch rosbot_bringup bringup.launch.py

volumes:
dummy_volume_fastdds:
dummy_volume_cyclonedds:

1 Like