Robotics StackExchange | Archived questions

[ROS2] Two machines are in same network but can't communicate in ROS2

They can ping each other, but nodes in both machines cannot talk to each other. Topics being published are not seen by another machine too.

Asked by ahtsan on 2019-08-16 17:25:13 UTC

Comments

Did you set the same ROS_DOMAIN_ID for both machines?

Asked by surfertas on 2019-08-18 08:06:32 UTC

A lot of people have gotten similar weirdness with fastRTPS as their dds implementation. If you are using that, I recommend switching to opensplice and seeing if your issue continues to reproduce.

Asked by johnconn on 2019-08-18 10:43:28 UTC

Is it possible UDP multicast is disabled in the network? How can I check that? If so, is there a way to do it differently? I saw something like unicast and specifying ops in a XML file.

Asked by ahtsan on 2019-08-18 10:45:30 UTC

I modify opensplice settings here: /opt/ros/dashing/share/opensplice_cmake_module/config/ros_ospl.xml

but I don't know how to configure other impls

the folks here mentioned problems with multicast: https://blog.roverrobotics.com/ros-2-is-it-time-to-switch-tutorial-included/

Asked by johnconn on 2019-08-18 10:58:32 UTC

I think it's not the issue of ROS_DOMAIN_ID since it works under the ethernet but right after switching to the wifi it doesn't.

Asked by ahtsan on 2019-08-18 11:01:32 UTC

That sounds a lot like your traffic is being blocked on the wifi or it's still trying to route through the ethernet that was just unplugged.

Asked by tfoote on 2019-08-20 16:52:23 UTC

Answers