ROS2 service and topic command isn't working for turtlebot3 burger model

Issue
I was working on the TurtleBot3 burger model when I got stuck at a step where it asked me to check the ros2 service list and topic list. While checking it, I found that I have only two parameters showing here, one is the /parameter_event in the topic list and the other is /ros_out, and none of my services are showing with the ros2 service command. I checked that ros2 is installed correctly on both of my PCs (TurtleBot SBC and remote PC). I ran various tests and got positive results that ROS2 is working fine. I searched github and robotics stack exchange to solve this problem. There are many others like me facing this problem, but the solution provided by them didn’t solve my problem. I am attaching some screenshots below for your understanding.




Software Interface:
UBUNTU 22.04
ROS2 HUMBLE
TURTLEBOT3 WITH RASPBERRY PI 4

Hello,

First, make sure that the ROS_DOMAIN_ID is set to the same value on both TurtleBot and the Remote PC. You can do this by running the following command on both devices:

export ROS_DOMAIN_ID=30

To make this permanent, add it to your ~/.bashrc:

echo "export ROS_DOMAIN_ID=30" >> ~/.bashrc
source ~/.bashrc

:white_check_mark: 1. Start the TurtleBot3 Bringup

On the TurtleBot SBC, run:

ros2 launch turtlebot3_bringup robot.launch.py

Then, on the Remote PC, check if the topics are being published:

ros2 topic list

:point_right: If you can see the TurtleBot’s topics, then the issue was simply that ROS 2 was not running or the ROS_DOMAIN_ID was mismatched.


:white_check_mark: 2. If the issue persists, try using a Mobile Hotspot

If you still cannot see the TurtleBot’s topics on the Remote PC, the issue might be related to network configurations.

ROS 2’s communication method DDS (Data Distribution Service) relies on UDP multicast, which requires IGMP (Internet Group Management Protocol) support.

  • If your router supports IGMP, you can enable it in your router settings to fix the issue.
  • If your router does not support IGMP or you cannot change the settings, try connecting both the TurtleBot and the Remote PC to a mobile hotspot and test the communication again.

Let me know if you need further assistance! :rocket::blush:

Sir,
Thanks for your kind reply. I already tried the first solution you mentioned, but I didn’t succeed. Still, as you said, I tried the first process again, and we failed again. Then we tried the second solution with a mobile hotspot, but that didn’t solve us either. I’m getting the same output. I tried a new DDS (rmw_cyclonedds_cpp instead of rmw_fastrtps_cpp) after that, but I didn’t get any solution.
I tested Communication with a Simple Publisher (talker and listener); it was working fine.
I restarted the daemon using the command
ros2 daemon stop
ros2 daemon start
Then i tried to disable the firewall but these commands didn’t work either
I checked the openCR board connection; it was working fine
and I would like to mention that my router is AX 1500 dual band, which has multicast enabled and is also running with the latest Firmwire.
Now I don’t know what to do. Please, it would be great if you could help us a little bit more.

Hello,

If the issue persists even with a mobile hotspot, it is likely a setup issue from the beginning.

:white_check_mark: 1. Check Network Connection with Ping

After connecting both TurtleBot3 and the Remote PC to the hotspot, check if they can communicate by running the following command on each device:

ping <Remote_PC_IP>
ping <TurtleBot3_IP>

:point_right: If ping does not work, then the issue is with the network connection itself, and ROS 2 communication will not work properly.


:white_check_mark: 2. If Ping Fails → Internet Connection Issue

If ping fails, first check:

  • Whether both devices are connected to the same network (hotspot).
  • Your firewall settings (try disabling ufw temporarily with sudo ufw disable).
  • Router settings that might block multicast communication.

:white_check_mark: 3. If Ping Works → ROS 2 Setup Issue

If ping is working, but ROS 2 services and topics are still not showing, then the problem is likely due to incorrect ROS 2 setup.

:pushpin: Please go through the official TurtleBot3 setup manual carefully and reset your configuration:
:point_right: TurtleBot3 Setup Guide

Among the steps, the most important setting is ROS_DOMAIN_ID.
Make sure that both the TurtleBot3 and the Remote PC have the same ROS_DOMAIN_ID set:

export ROS_DOMAIN_ID=30
echo "export ROS_DOMAIN_ID=30" >> ~/.bashrc
source ~/.bashrc

After setting this up, restart both devices and try running:

ros2 launch turtlebot3_bringup robot.launch.py

Then, check the topics again:

ros2 topic list

Let me know the results! :rocket::blush: