Rover operation procedures

''' Work in Progress. ''' Needs pictures in various places.

= Introduction =

The goal of this guide is for anyone on the team to be able to get the rover (Hindsight) setup so that it can be remote operated.

To make the guide not too lengthy, some assumptions have been made:


 * The rover and base station have all needed parts on them. TODO: Write a guide to explain the various parts and how to connect them
 * Battery for the rover is fully charged. TODO: Write a guide to explain how to do this
 * The antenna Ubiquiti device has already been paired with the one on the rover. TODO: Write a guide to explain how to do this

The key components needed for rover operation are as follows:


 * rover with battery
 * base station
 * antenna with stand
 * laptop (optional)

= Transporting the rover =

There are a few things to keep in mind when moving the rover


 * Never push the rover using the rover wheels. This can damage the electronics on board. Either lift the rover or use the cart
 * Make sure the rover is powered off when being transported.

= Powering on the Rover =

Make sure the main switch is disconnected (press the red button on the back of the rover). Plug in the battery. Reconnect the main power switch (black lever near the red button).

If you don't plan to move the rover very much, it may be better to power the rover using a power supply connected to a wall outlet. Plug in the power supply to the wall and to the rover, then turn it on using the black switch at the bottom. After a few seconds, the screen should display "0.0" for both voltage and current. Then push the "Output" button, which should change the voltage to display something like 25.0 volts. Then turn on the rover.

After the rover is powered on, boot up the Jetson as follows. There are four red buttons along the back edge of the Jetson. Press the one that's farthest away from the corner. You should see a few more LEDs on the Jetson turn on.

= Logging into the Rover =

You can either use a laptop or one of the base station computers to connect to the rover. If you want to use a base station computer, here is how to turn it on:


 * 1) Open the base station case and pull out the power extension cable. Find a power outlet and plug it in. The monitors should flicker on but turn back off as the computer is still off.
 * 2) Turn on the computer. The power button on the case is not typical. Press the power button in once and then again in about a second. Essentially, the “button” acts more like a switch and needs to be pressed twice.
 * 3) The computer is configured to run in both Windows and Ubuntu. You will may need to use the arrow keys when prompted to switch to Windows as the default operating system is Ubuntu.
 * 4) Once the desktop has been reached, you are done with setting up the computer

For tethered operation, just use an Ethernet cord to connect your computer to one of the ethernet ports on the rover (underneath the Jetson). For untethered operation, you will need to use the antenna:


 * 1) Open the antenna stand and setup the tripod so that it can stand on it’s own. Make sure the ground is flat as the antenna stand is top heavy with the antenna attached.
 * 2) Attach the antenna to the stand. Then raise the antenna on the stand to a desired height and point it in the general direction of rover operation.
 * 3) If not done so yet, plug in the power extension cable for the base station. (This provides power to the base station antenna).
 * 4) Grab the long ethernet cable from the base station case and plug one end into the POE injector on the side that is for power (labeled POE). Then extend the cable out to where the antenna is a plug it into the ubiquity attachment that should be on the antenna.
 * 5) If not done so yet, plug another ethernet cable on the non-powered end of the POE injector (labeled LAN) into your computer.
 * 6) If not done so yet, power on the rover.
 * 7) The base station antenna and rover antenna will automatically connect with each other. You will know when a connection has been established when the Ubiquiti on the base station antenna starts showing “bars” for signal strength of connection.

It is also possible to do short-range untethered operations using a wifi hotspot on the Jetson. The advantage of this is that you don't need the base station or the antenna. TODO: Write a guide for this.

The Jetson is configured to use a static IP on its ethernet interface. You may need to set up your laptop to use a static IP as well. In Ubuntu, you can configure this under Settings > Network > Wired. Choose an IP in the subnet 192.168.133.0/24. (Try to choose one that no one else is using.) After this, run  and enter the password   when prompted. If you don't get a login prompt, you can try connecting a monitor and keyboard to the Jetson and troubleshooting the networking connections using the Ubuntu graphical user interface.



If you are on UW wifi (not a good idea when field testing, obviously), you can probably SSH into the rover via wifi. You will need to find the rover's  IP address, which you can do by first connecting via an ethernet cable and examining the output of the command.

= Installing Rover Operation Software =

On your laptop (*not* in the ssh window) clone the Mission Control git repo:. This should create a new directory called  which contains a text file called. Follow the "Setup" instructions in this file. (You will need to install Node.js and then use  to install the package dependencies.)

= Operating the Rover =

Start mission control on your computer: in two separate terminals, navigate to the  and   subdirectories of the git repo and type. NOTE: Start the client first, wait for the client to finish booting up (you should see a colorful dashboard), and THEN start the server. There is a bug that makes the client crash if it starts after the server is already running.

For now, the colorful dashboard is mostly nonfunctional. The only part of the UI that does anything is the "arm sensitivity" sliders on the Arm tab (which increase or decrease the power sent to each of the arm motors). There is another tab with a reference for which keyboard keys map to which motors on the rover. But other than that, there is no useful information in the UI: we just use it to capture keyboard input.

In another terminal, SSH into the Jetson, then enter these commands one at a time:

The `Rover` program should begin showing some console output. In particular it should say. After that, you can operate the rover using the keyboard interface: letters Q/A move the arm base, W/S move the shoulder, etc., up to U/J for the gripper. The arrow keys move the wheels. To drive faster or slower, you can hold V or C while pressing the arrow keys. NOTE: the mission control dashboard needs to be in focus in order to capture your keyboard input.

We are also working on getting joystick / gamepad control to work for controlling the rover, but the exact interface is not yet stable.

To get camera output, open another SSH terminal for the Jetson, then do the following:

This will start a server to show camera output on ports 8080 and 8081. You can view the camera output by opening another tab on your web browser and navigating to that address; e.g. http://192.168.133.133:8080.