ROS2 multiple machines
Hi all, I have an Odroid XU4 and a laptop, both running Ubuntu 18.04. I have also installed ROS2 Dashing (but also tried Eloquent/Crystal before) on both systems.
I have also tried most, if not all of the solutions here: https://answers.ros.org/question/3576... and up to page 5 of Google search
I have narrowed down the problem to find out that it is the multicasting in ROS2 that is not working, i.e:
I run ros2 multicast receive
on machine A and ros2 multicast send
on machine B but machine A does not receive anything.
However, I have also tried this https://walchko.github.io/blog/ros-2/... and is able to receive and send UDP multicast network packets.
Please assist thank you very much!
Fwiw I have found that logging info messages can prevent my robot's nodes and topics from publishing beyond itself across my home network if I have that robot reporting logging messages too frequently. E.g. every 10ms dumping 4+ info messages via a Python node.
My robot is using a RaspberryPi 4 with 1GB RAM and on-board Wifi, and it's running Ubuntu 20.04. My other machine is a desktop running Linux Mint Ulyssa 20, and it's connected directly to my router. Both machines are running ROS2 Foxy
I can generally run ROS2 tools on my desktop and see expected results, but when I'm testing very noisy nodes I've noticed that nodes and topics won't even show-up on my desktop. Full-disclosure: I'm doing literally nothing with QoS on either machine which I suspect to be a huge problem.
How easily can you ping ...(more)
Hi Spectre, Thanks for the reply. I can easily ping the Odroid from my laptop and vice versa, and the network seems to be fine. Also, outside of ROS2 traffic they can see each other, but for some weird reason they just can't see each other on ROS2.
This may or may not help but ROS1 works completely fine and normal, it is only ROS2 that is not working. I'm starting to suspect it may be the WiFi dongle that maybe causing the issues which I have yet to investigate.
I have tried testing with the
ros2 multicast
package as mentioned above, as well as the 'Hello world' equivalent ofros2 run demo_nodes_cpp talker
andros2 run demo_nodes_cpp listener
but to no avail.