Offloading compute: Full topic list no longer visible on Stretch

Hello,

Our team has followed the instructions to offload compute from the official Hello Robot documentation. We are using unicast (our router does not support multicast), and all the topics appear on the remote computer when we run ros2 topic list. However, when we run ros2 topic list on the Stretch 3 robot, the full list of topics does not appear, and we cannot read any of the topics from the robot. Namely, only /parameter_events and /rosout appear. We ensured that we ran ros2 launch stretch_core stretch_driver.launch.py and ros2 launch stretch_core d435i_high_resolution.launch.py in another terminal. Our current FastDDS configuration is based on this file, which we copied and edited accordingly on both the robot and remote computer. On every terminal, we also configured the environment variables RMW_IMPLEMENTATION and FASTRTPS_DEFAULT_PROFILES_FILE as specified here.

How can we fix the problem of the topics only appearing on the remote computer but not appearing on the robot?

Thank you,

Zoe and team

Hi @zktlks, thankyou for bringing-up this issue.

Because you mention that you are able see the topics listed from the remote computer but not in the robot itself, and also that you have setup your ROS2 to work with a Unicast setup using the Fast-DDs, it might be the case that you might have to enable Multicast in the loopback network adapter (lo) which could solve node discovery within the robot.

sudo ifconfig lo mulitcast
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo

(source) I found this Github Issue thread informative. It also explains how to enable Multicast in the robot’s loopback network while using Fast-DDS.

Another reference debug step you could try to fix the communication issue in Unicast is setting Peer IP addresses, as mentioned in this forum post, where they had a similar situation to yours.

Hi @Mohamed_Fazil, thank you for your response.

We tried the suggested fix of enabling multicast in lo, but it did not resolve the issue. We already set Peer IP addresses, as we already use the exact same XML file as the forum post you linked.

Hi @Hyperti , Unsure exactly what is going behind the scenes between the Middle ware and networking interaction. I would suggest taking this issue to the official ROS Forums.