ROS over three Machines via Ethernet
Hello all,
Can somebody help me with this problem?
I am trying to connect three machines running ROS. The master device is an Intel NUC. It is connected via Ethernet with a laptop and via Ethernet-USB2.0 adapter with an UDOO mainboard. I followed the Multiple Machines tutorial and I was able to achieve a connection to each slave device separately. Nevertheless, I was not able to build up the ROS network over three machines simultaneously, i.e. I cannot see the published topics of my UDOO on my laptop and vice versa.
ROS_MASTER_URI is set to http://scubo-nuc:11311
on each device and the ROS_IP are set as follows: NUC (10.0.0.1
), Laptop (10.0.0.2
) and UDOO (10.0.0.3
). I wrote a script with the export commands and run them on each machine.
How are the ROS_IP's and ROS_MASTER_URI's set on the three devices?
This is probably a networking issue, as @NEngelhard is implying.
What happens if you do a "rostopic list" one each of the devices? [You can also edit your question with the new information so that it does not get lost in the comments]
Try to do a
ping scubo-nuc
on both of your 'slaves'. If you have no working DNS (ie the slaves can resolve the name to its IP), 3-way communication isn't going to work.@NEngelhard: Thank you for the tip.
rostopic list
only works on one slave device at once. The problem lies in the connection. I checked it withping scubo-nuc
and get following result64 bytes from 10.0.0.2: icmp_seq=.. ttl=64 time=...
.@NEngelhard: But at the moment I connect the second slave device to the master this first connection gets lost
... Destination Host Unreachable
@jdiep: that sounds like an IP conflict. Make sure the IPs of all involved hosts are actually unique.
Do I have to set two different IP adresses for the master device, since it is connected to two slaves? Until now I set the IPs following: Laptop (10.0.0.2) connect with NUC (10.0.0.1), NUC (10.0.0.1) connects with UDOO (10.0.0.3)