I'm running ROS2 Humble on a mobile Robot using a RPI4, headless. This is my set-up:

  1. mobile Robot using ROS2 Humble on Ubuntu 22.04.2
  2. laptop for development and remote control a) aarch64 compiling inside a docker on main laptop (is faster than on rpi)

This has always worked great and presented no issues, just a hassle moving files after compiling from DEV->BOT

Recently I have set-up a new Wireless AP, also 5.8GHz, but instead of I am now in the subnet.

I can ssh into the rpi, everything is great. Except when I start a ROS node I'm no longer able to see the topics broadcasted on my development machine (laptop).

Both rpi and laptop use: Ubuntu 22.04.2 RMW_IMPLEMENTATION=rmw_cyclonedds_cpp ROS_VERSION=2 ROS_PYTHON_VERSION=3 ROS_DOMAIN_ID=0 ROS_LOCALHOST_ONLY=0 ROS_DISTRO=humble

can ping each other, ufw is configured and I also tried with ufw disabled. Here is the ufw config, enabled on both machines: To Action From

49152/udp ALLOW
49152/udp ALLOW
22/tcp ALLOW
22/tcp ALLOW

I just can't see the topics / services any more. Given the fact the rpi is headless, I can not use rqt_graph on remote, only on local (my dev laptop) but that is not helpful.

And yes, I have sourced the setup.bash and used the same packages on both machines.

remote: 0
local:  0

And then checked RMW

remote: rmw_cyclonedds_cpp
local:  rmw_cyclonedds_cpp

I also checked multicast: Test1 (Fail) remote machine term1: ros2 multicast receive remote machine term2: ros2 multicast send

added ufw rule on both local/remote:

sudo ufw allow in proto udp to
sudo ufw allow in proto udp from

Test2 (Pass) remote machine term1: ros2 multicast receive remote machine term2: ros2 multicast send

Test3 (Fail) local computer: ros2 multicast receive remote machine: ros2 multicast send

Any idea what I'm missing? Ought to be something simple



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.