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 computerTutorial 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