Author: Dylan Wallace Email: email@example.com
Date: Last modified on 04/06/17
Keywords: Maxwell Pro, Communications, TCP/IP, UDP, DRC
The photo above depicts the Maxwell Pro which allows you to emulate degraded communications. The big picture problem is dealing with degraded communications in robot networks. Solving this partially or completely is important because it will allow for robots, especially humanoids, to go into extreme or distant environments. This tutorial shows you how to setup the Maxwell Pro, and how to use it for different degradation techniques, and takes approximately 1.5 hours to complete.
This tutorial's motivation is to teach the basics of utilizing the Maxwell Pro for degraded communications. Readers of this tutorial assumes the reader has the following background and interests:
* Know how to navigate the Linux file-system and use the Linux terminal
* Perhaps also know how to program in C++
* Perhaps additional background needed may include knowledge of TCP/IP & UDP networks
* This tutorial may also attract readers who are interested in Internet programming
The rest of this tutorial is presented as follows:
In order to complete this tutorial, you will need the following:
1. Maxwell Pro unit 2. 3 separate computers: the operation computer, the control computer, and the robot computer. 3. 1 router (optional 2nd & 3rd routers for wireless robot communication) 4. 4 Ethernet cables
First we will setup the control router. Choose any router, and connect 2 Ethernet cables to the ports. You can optionally connect this router to the internet if you want internet access on the control computer. Connect one of the ethernet cables to the control port of the Maxwell Pro (see picture below), and the other to the Ethernet port of the control computer.
Now, connect an Ethernet cable from the operator PC to the operator port (see picture above). For the robot connection, either connect the Ethernet cable from the robot port (see picture above) straight to the robot PC for wired connections, or to a wireless router for wireless connections.
Now we can move onto assigning ip addresses for our computers.
In order for all of our computers to connect to each other, we will need to setup their IP addresses manually.
First, we will login to the Maxwell Pro. The login info is below:
user: maxwell pass: maxwell
Once logged in, the Maxwell Pro will auto-obtain its IP address via DHCP. In my case this IP address was 192.168.1.121, but your mileage may vary. To find you IP address, type the following command into the terminal (“Konsole” on the Maxwell Pro's Fedora OS):
The first inet address (IPv4) will be the IP address of the Maxwell Pro. After logging in, and recording the IP address, this is all we need from the Maxwell Pro.
Now we will move onto assigning the IP address of the control PC. To do this, login to the computer, and go to the “Edit Connections” tab of the networking bar in the top right corner of the desktop. We will add a new connection, feel free to name it how you please. Enter the IP address, subnet mask, and gateway info as shown in the picture below.
Now we will do the same with the Operator PC, pictured below:
Finally, we will do this one more time with the robot PC, pictured below:
Once we have set these IP addresses up, we will test the connection between the operator PC and the robot PC. To do this, we will type the following command in the terminal of the operator PC, where the robot PC IP is as assigned above:
ping <robot PC ip>
This should produce a result similar to the following, if your connections were successful:
If this was successful, we can move onto using the DARPA Robotics Challenge software for the Maxwell Pro.
In this section, we will learn how to setup and use the DARPA Robotics Challenge (DRC) Degraded Communications Emulator (DCE) software. First, you will need to download and install Python 2.7. Instructions for this can be found here.
Once you have properly setup Python 2.7, download the DRC-DCE Software, which I have provided as a TAR file for Linux and a ZIP file for Windows.
Once you have downloaded these to your preferred directory, navigate into that directory and execute the following command:
python drcctrl.py --trackname "Red Track" --trackcolor RED -b 2015-2-2_Degraded_Comms_schedule_Example.csv <Maxwell Pro IP>
Note that the Maxwell Pro IP is the one that we recorded in the beginning of this tutorial. Once you execute this command, your screen should look similar to the following:
When we press “PREPARE”, the control software should connect to the Maxwell Pro, and the window should look like below:
Now, we can interact with the software. We will press “START” in order to start the degraded communications. Your screen should like below:
This will setup the 300 Mbit/s UDP connection from the robot PC to the operator PC, and the 9600 bit/s TCP connection between the operator PC and the robot PC. However, the UDP connection will not experience “blackouts” yet, because we have not yet entered the inside. We can do this by pressing the “IN/OUT” button. The result should look like below:
When we are done using thsi software to test our connections, we can press the “STOP” button to end the connection. Your screen should look like below:
From there, we can restart if needed, by pressing the “RESTART” button, or simply close out the program if we are done.
Now you know how to operate the basics of the Maxwell Pro Degraded Communications Emulator.
This tutorial's objective was to teach the basics of setting up the Maxwell Pro DCE. Complete setup and DRC-DCE software instructions were provided, as well as the software used. Once the concepts were conveyed the reader could use the MAxwell Pro to emulate the DARPA Robotics Challenge degraded communications.
Speculating future work derived from this tutorial, includes creating TCP/UDP networks, and using the Maxwell Pro to test these networks. In the big picture, the problem of degraded or extreme latency communications can be solved with this tutorial.
For questions, clarifications, etc, Email: firstname.lastname@example.org