[Unitree Go2] ROS2 over WiFi

We are currently setting up and working with the Go2 robot we recently received. We successfully tested the connection via Ethernet and were able to run RViz on our computer, visualize all the robot’s topics, and control it.

Now, we need to control the robot over WiFi. To achieve this, I added another interface (wlan0) in the ~/cyclone_ws/cyclone_dds.xml file and tested whether I could see the ROS topics via WiFi. After trying various configuration settings, I reached a point where I can see a topic on our work PC (talker example) when run on the robot via SSH over WiFi and echo it with (listener example), and vice versa. We tried both PC ROS2 Foxy ↔ Go2 and PC ROS2 Humble ↔ Go2.

However, on the work PC, I cannot see other ROS topics related to the robot over WiFi, even when I stop the go2 service and manually start the bringup.

For our use cases, it is crucial that the robot can be controlled and visualized via WiFi. Do you have any suggestions for us, or have you encountered a similar situation before?

Thank you.

Dear @deeishtay

I hope that you are doing well.

I have a few suggestion to cater the problem that you are facing that are as follows:

  1. Ensure that both your PC and the Go2 robot are on the same subnet and that there are no firewall restrictions blocking the ROS topics.
  2. Verify that the cyclone_dds.xml configuration file is correctly set up for WiFi. Check that the multicast settings are enabled and correctly configured for the WiFi interface (wlan0).
  3. Ensure that the ROS environment variables are correctly set on both the robot and the PC. This includes ROS_DOMAIN_ID, which should be the same on both devices to ensure they can communicate.
  4. Network Bandwidth and Latency: WiFi networks can sometimes have higher latency and lower bandwidth compared to wired networks. Ensure that your WiFi network has sufficient bandwidth and low latency for ROS communication.

I hope this helps you solve the problem.