(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Network setup for controlling multiple robots from a remote machine

Description: This tutorial cover the required setup for controlling multiple robots from a remote computer

Tutorial Level: INTERMEDIATE

Next Tutorial: Controlling the Komodo arm

In order to operate one or more robots from a remote machine (base station) one should first make sure that the robots and the base station computer are connected to the same network.

Each robot should have a unique IP address. Lets say our WiFi network name is ric_wifi. In the following example we will choose the IP addresses to match the komodo id. So for komodo with id=1, the IP will be 192.168.0.101. A komodo with id=2, the IP will be 192.168.0.102 and so on. The base station IP will have IP 192.168.0.100.

To set a specific and known IP follow these steps:

1. Enter the "Network Connections" Settings.

2. Go to "Wireless" tab, select the "ric_wifi" network and click "Edit...".

4. Go to "IPv4 Settings tab, change the Method to Manual and add a new address.

5. Disconnect and re-connect from the ric_wifi network.

Do the following steps for each komodo robot and for the base station computer.

The last step is to make sure each robot have a correct environment setting file. The file are located in ric/ric_robot/config. For example, for komodo with id=1 and IP 192.168.0.101, edit the ric_env.sh to look like this:

   1 #!/bin/sh
   2 export ROS_HOSTNAME="192.168.0.101"
   3 export ROS_IP="192.168.0.101"
   4 . ~/catkin_ws/devel/setup.sh
   5 exec "$@"

To verify the setup, you can test the connection by sending ping requests from the base station computer to each one of the robots.

$ ping 192.168.0.101

You should see something like:

PING 192.168.0.101 (192.168.0.101) 56(84) bytes of data.
64 bytes from 192.168.0.101: icmp_req=1 ttl=64 time=4.10 ms
64 bytes from 192.168.0.101: icmp_req=2 ttl=64 time=2.61 ms
64 bytes from 192.168.0.101: icmp_req=3 ttl=64 time=3.93 ms
64 bytes from 192.168.0.101: icmp_req=4 ttl=64 time=30.5 ms

Wiki: ric/Tutorials/Network setup for controlling multiple robots from a remote machine (last edited 2014-09-07 13:00:50 by yamgeva)