ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

ROS communications on network loss

asked 2019-01-07 16:37:26 -0600

seanarm gravatar image

This question might venture a little bit into Linux land, but it's centered in ROS... Say I have a robot on my LAN, and it communicates with another computer on the LAN. The ROS master is on the robot. What would I set in order to ensure that if the LAN were to go away, all the nodes on my robot would continue to communicate? This does not seem to happen by default.

I'm using Ubuntu 14, ROS indigo.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2019-01-07 23:54:09 -0600

ahendrix gravatar image

updated 2019-01-07 23:54:17 -0600

Once ROS topic connections between nodes are established, they will persist until the underlying network connection is broken.

The network connection can be broken if:

  • The TCP connection times out, due to too many dropped packets or an unplugged cable.
  • The IP address used on either end of the connection is removed. (This can happen if the IP was on a network interface, and that interface goes down).

Note that there is no dependence on the ROS master once the topic connection between two nodes established. (but the master is required to establish new connections)

For maximum robustness, you should leave ROS_IP and ROS_HOSTNAME unset, and set up host name resolution for all of the machines you're using (either by having a local DNS server, or by manually adding entries to /etc/hosts ). In this configuration, the local hostname will resolve to 127.0.0.1, so local connections can never be disrupted, but remote connections will still use the IP address from the network.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2019-01-07 16:37:26 -0600

Seen: 922 times

Last updated: Jan 07 '19