Experiences with Distributed ROS

The most interesting setup I used was:

  • a mobile robot with 2 PCs. One of these ran a OpenVPN server
  • wired to a router
  • that router bridged to a WLAN with multiple access points
  • the care home’s (in which the robot worked) network was configured to port-forward to the OpenVPN server
  • A control station some 60-70km away VPNed into the robot.

This resulted in a ca. 100ms ping time. With this, I could teleop the robot’s base and arms using the on-board Kinect, so OK data rate as well.

Lessons learned:

  • Tuning a multi-access point WLAN, where the robot roams between APs, is some work. Contrary to my intuition at the time, is that you do not want to have each AP at a high power but instead low. That way, the robot switches to the now-closest AP faster, yielding a better connection. WiFi is designed to stay ‘attached’ to the current AP as long as it gets a signal, even though it may be weak. Dropping a low signal early is better in that case.
  • Running the VPN server on the robot is not the way to go… The server should be on a public IP, the robot behind a firewall.