I'm running ROS2 Humble on a mobile Robot using a RPI4, headless. This is my set-up:
- mobile Robot using ROS2 Humble on Ubuntu 22.04.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 192.168.68.1/24 I am now in the 192.168.1.1/24 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 192.168.68.0/24
49152/udp ALLOW 192.168.1.0/24
22/tcp ALLOW 192.168.68.0/24
22/tcp ALLOW 192.168.1.0/24
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.
echo $ROS_DOMAIN_ID
remote: 0
local: 0
And then checked RMW
echo $RMW_IMPLEMENTATION
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 192.168.1.0/24
sudo ufw allow in proto udp from 192.168.1.0/24
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