Lab 15 - Payload Autonomy on an M300 Unmanned Surface...

11
Lab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680 Unmanned Marine Vehicle Autonomy, Sensing and Communications Spring, 2018 Michael Benjamin, [email protected] Henrik Schmidt, [email protected] Alon Yaari, [email protected] Department of Mechanical Engineering MIT, Cambridge MA 02139 1 Overview and Objectives 3 2 Preliminaries 3 3 The Battelle Autonomy Lab at the MIT Sailing Pavilion 3 4 Robotic Vehicles at the Pavilion 3 4.1 Introduction to the Heron M300 Vehicle .............................. 4 4.2 Assignment 1 (check off): Manual Control of an M200 ...................... 6 5 Connecting to Wifi at the Pavilion 6 5.1 IP Addresses ............................................. 7 5.2 Assignment 2 (check off): Connecting to the network ....................... 8 6 Using the PABLO Unit in a Vehicle 8 6.1 Assignment 3 (self check-off): Connecting with a PABLO Unit to an M200 .......... 8 6.2 Configuring the m200alpha Mission ................................. 9 6.3 Assignment 4 (check-off): Launching the Mission on the Dock .................. 9 6.4 Assignment 5 (check-off): Launching the Mission on the Water ................. 9 6.5 Assignment 6 (check-off): Shutdown and Stowing ......................... 10 6.6 Bonus: Improving the Launch Scripts ............................... 10 1

Transcript of Lab 15 - Payload Autonomy on an M300 Unmanned Surface...

Page 1: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

Lab 15 - Payload Autonomy on an M300

Unmanned Surface Vehicle2.680 Unmanned Marine Vehicle Autonomy, Sensing and Communications

Spring, 2018

Michael Benjamin, [email protected] Schmidt, [email protected]

Alon Yaari, [email protected] of Mechanical Engineering

MIT, Cambridge MA 02139

1 Overview and Objectives 3

2 Preliminaries 3

3 The Battelle Autonomy Lab at the MIT Sailing Pavilion 3

4 Robotic Vehicles at the Pavilion 34.1 Introduction to the Heron M300 Vehicle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44.2 Assignment 1 (check off): Manual Control of an M200 . . . . . . . . . . . . . . . . . . . . . . 6

5 Connecting to Wifi at the Pavilion 65.1 IP Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75.2 Assignment 2 (check off): Connecting to the network . . . . . . . . . . . . . . . . . . . . . . . 8

6 Using the PABLO Unit in a Vehicle 86.1 Assignment 3 (self check-off): Connecting with a PABLO Unit to an M200 . . . . . . . . . . 86.2 Configuring the m200alpha Mission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96.3 Assignment 4 (check-off): Launching the Mission on the Dock . . . . . . . . . . . . . . . . . . 96.4 Assignment 5 (check-off): Launching the Mission on the Water . . . . . . . . . . . . . . . . . 96.5 Assignment 6 (check-off): Shutdown and Stowing . . . . . . . . . . . . . . . . . . . . . . . . . 106.6 Bonus: Improving the Launch Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1

Page 2: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

2

Page 3: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

1 Overview and Objectives

The objective of this lab is to prepare students for deploying vehicles with a PABLO unit at theMIT Sailing Pavilion. This lab is a companion to the PABLO introduction lab, which describesthe interface to the PABLO unit and how missions are structured for on-vehicle deployment. Thesections below introduce the deployment environment, describe the hardware, and explains how totransition from emulation to real vehicles. By the end of this lab, the student will be able to launcha mission on a PABLO unit that drives an M200 vehicle across the river while being monitoredfrom a shoreside laptop. Steps to be completed in this lab include:

• Introducing the Battelle Autonomy Lab at the MIT Sailing Pavilion

• Introducing the Clearpath Heron M300 vehicles

• Understanding the computer network environment at the Pavilion

• Editing the m200alpha mission to run on actual hardware

2 Preliminaries

This lab must be completed at the Sailing Pavilion during a pre-scheduled time slot. If you do notalready have an assigned time, please contact the lab instructor or a teaching assistant.

3 The Battelle Autonomy Lab at the MIT Sailing Pavilion

The Battelle Autonomy Laboratory at the MIT Sailing Pavilion provides a convenient watersidelocation to test software on real-world vehicles. To reach the lab, enter the main entrance of thePavilion, descend the stairs onto the dock, and turn left. Doors are kept locked when not in use.Coordinate with lab staff to gain access.

While deploying vehicles at the Pavilion, please be courteous to other users of the facility andboaters on the river. Mornings generally have less water traffic and fewer people at the dock. Sailingteams from MIT and other organizations are active in the afternoons and early evenings. Rowingcrews are active in the morning and a lookout needs to watch for their boats. Sailing classes,regattas, and Pavilion activities always have priority over deploying robotic boats. Theboats are deployed in all weather except for extreme cold and during thunderstorms. There is nevera guarantee of water time.

4 Robotic Vehicles at the Pavilion

The current fleet stored at the Pavilion includes three robotic vehicles, Clearpath Heron M300vessels, named Evan, Felix, and Gus.

3

Page 4: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

4.1 Introduction to the Heron M300 Vehicle

Figure 1: The Clearpath Robotics Heron M300 on the river.

The Clearpath Heron M300 is a collapsible catamaran-style vessel that can be deployed by a singleperson, although it is easier to handle with two people. Jet-drive motors are installed at the sternof each pontoon that allow efficient forward thrust and poor reverse capability. The main body ofthe vehicle has three sections:

Section Description

Computing The forward section contains the front seat embedded computer with a2.2GHz Intel ATOM processor and support equipment for motor control,communications, and sensing. The vehicle also includes a forward-facingwebcam.

Battery A single battery package is installed in the middle section. It is used topower propulsion and for computing.

Payload The large aftward tray is the payload bay where the back seat computer(the PABLO unit) is housed. This section has removable top and bottomcovers. The bay includes three waterproof ports: two USB-A connectorsand an Ethernet receptacle.

Table 1: Sections of the M200 vessel

Navigation Sensors

The GPS antenna is a white puck mounted to the computing section. An inertial motion unitwith integrated digital compass is mounted underneath the stern. Both sensors connect to and areprocessed by software on the frontseat computer. Output from these sensors is published by thefrontseat as defined by the Clearpath Wire Protocol.

4

Page 5: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

Vehicle Batteries and Charging

The lab has a number of battery packs available for use. Several of the batteries are suitable foron-dock preparations but do not include enough capacity for sustained deployment. Batteries arestored and charged on the metal rack at the rear of the lab. One battery package is charged by twocharger units. To charge a battery, set it on the side so that the connector is on the top. Plug in thecharger with the red plugs matching. If necessary, orient the chargers so that the LED indicatorsare facing outward. Red or amber light indicates charging; completed charging shows a green light.

Charging Batteries

Each charger has a switch to select 1A or 2A charging. The 2A rate is quicker but may contribute ashorter battery life. Therefore, use 2A when the battery will be needed again on the same day and1A otherwise. Be sure to set the switch on both chargers to the same setting. If all chargers are inuse and not displaying a green light, leave the battery needing charge on the bottom shelf.

Installing Batteries

Always pull the M200 out of the water and well onto the dock to change the battery. Do not changethe battery while the vessel is in the water. Change the batteries in a place where there is no chanceof dropping the battery into the river.

The M200 has a latch on each side that retains the battery. To remove a battery, undo thelatches and pull upward on the handle. If it is stuck, give a light yank or seek assistance from thelab instructor. To install a battery, first verify that the battery terminals align with the power porton the vehicle. Insert the battery straight down and push it in until it is almost flush with thevehicle. Engaging both latches will pull the battery nearly flush. Do not power on the vehicleunless the latches are secured.

4.1.1 Storing and Moving

The two M200 units are usually stored on carts inside the lab, although it is acceptable to leaveunits on the floor at the rear of the lab. With only one handler it is advisable to remove the batterybefore lifting or moving the vehicle. With two people the battery’s additional weight is manageable.

The vehicle carts are provided for moving the M200s around the dock and lab space. Thesecarts are extremely easy to tip over and can easily roll down the dock. Push them only by thewooden slats and move cautiously across the lab and dock. When not in use, store the carts off ofthe floating platform. On extremely windy days, set the carts onto their sides so they do not rollaway under under aeolian power.

4.1.2 Deploying and Retrieving

Always have the correct remote control handy when the M200 is in the water near the dock. Todeploy, take the vehicle off the cart and set it on the dock with the thrusters pointing into the river.Verify that the remote can control the thrusters. Gently push the vehicle into the water and use theremote to transit away from the dock. It is inadvisable to leave the vehicle drifting near or tied tothe dock. Wake from passing motorboats can pummel the vehicle into the floating platform.

5

Page 6: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

To retrieve an M200 vessel, use the remote control to bring it back to the dock head first. Liftand pull it onto the dock by the front handle. Using the side handles, one or two people can lift itonto the cart.

4.1.3 Manual Remote Control

Remote control (RC) operation is suitable for transiting from or returning to the dock or as anemergency override. The flat slider switch adjacent to the LCD display turns the unit on andoff. When the RC is powered on, the switch on the upper-left (SW2) of the face selects when thevehicle’s computer (switch down) or the remote (switch up) has control. When enabled, the RC willoverride the onboard computer. RC range is approximately 100 feet. When not in use, the remotecontrol should be turned off and connected to charge on its hook at the rear of the lab.

4.2 Assignment 1 (check off): Manual Control of an M200

Before connecting a PABLO unit to the vehicle, the lab instructor will walk you through manuallydeploying and controlling the M200 vehicle. Go through the following checklist:

In the lab...[ ] Verify that remote display shows voltage greater than 10.0v[ ] Place assigned vehicle battery onto cart[ ] Verify that cart is empty except for vehicle, remote, and battery[ ] Verify that unused payload bay connectors are securely tightened[ ] Securely install the payload coverOn the dock...[ ] Carefully maneuver cart to floating platform[ ] Place vehicle gently on dock near the water[ ] Install battery in vehicle and secure both latches[ ] Power on the vehicle[ ] Verify that remote control actuates thrusters[ ] Move cart to the wooden dock and verify that it is secureDeploying...[ ] Push vehicle into water stern first[ ] Drive vehicle away from dock[ ] Attempt straight line for 10 meters[ ] Attempt tightest turn to rightRetrieving...[ ] Carefully return vehicle to dock (do not hit the dock)[ ] Lift vehicle onto dock and leave it powered on

5 Connecting to Wifi at the Pavilion

There are several wifi networks available at the Pavilion. The MOOS-IvP 5GHz and MOOS-IvP networksare used for this class. The access-point wifi router is located inside the lab and provides wireless

6

Page 7: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

coverage for laptops in the lab, classroom, and a portion of the outside dock. Connection to the5GHz network is preferred.

Wifi coverage to vehicles on the river is possible with a dedicated wireless bridge. The sectorrepeater and antenna must be deployed and powered so that vehicles can communicate on thenetwork. Remember to unplug the antenna after shutting down the vehicles.

5.1 IP Addresses

Vehicle Name Front Seat IP Front Seat IP to PABLO IP assigned to PABLO

Evan 192.168.1.175 192.168.5.1 192.168.5.100

Felix 192.168.1.176 192.168.6.1 192.168.6.100

Gus 192.168.1.177 192.168.7.1 192.168.7.100

Table 2: IP addresses for PABLO units and vehicles

Computers and vehicles connected to the lab’s wifi operate on a dedicated subnet. Devices can allsee each other and originate network traffic to the Internet but are insulated from outside requests.Cabled or wifi connections to the router receive a local IP address like 192.168.1.xxx, where xxx isa number unique to each device. Vehicles and lab-related computers have static IP addresses thatwill remain the same. However, on your computer the XXX portion of the IP may change betweenvisits to the lab. The number will remain constant for the entire day. To find the address assignedto your computer, use the ifconfig command in combination with grep:

$ ifconfig | grep 192.168

inet 192.168.1.208 netmask 0xffffff00 broadcast 192.168.1.255

In this example, the assigned address is 192.168.1.208.

Vehicles on the Wifi Network

The wifi connection on each vehicle has an assigned static IP address. After powering on a vehicleand waiting for it to boot, use ping to the front seat IP address to verify that the front seat computeris connected to the network. If the reply times out, verify that your laptop can ping to the mainrouter at 192.168.1.1. If that fails, your computer is not connected to the lab’s wifi. If it succeeds,try power cycling the vehicle.

PABLO Connected to Vehicles on the Wifi Network

A PABLO unit will be assigned a specific address depending on which vehicle it is connected to,refer to table 2. When the PABLO unit is powered on and plugged into an operating vehicle, theIP address in the table will provide ssh access.

IP Address Aliases

Since typing IP addresses is confusing and can lead to errors, GNU/Linux and OS X have a methodfor mapping IP addresses to more convenient names. The file /etc/hosts is a list of known static

7

Page 8: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

IP addresses referenced to aliases (type man hosts at the terminal prompt for more detail). If thefile does not exist, create it and add the following, or if it does exist, append the following:

192.168.1.175 evan

192.168.1.176 felix

192.168.1.177 gus

192.168.5.100 pabloE

192.168.6.100 pabloF

192.168.7.100 pabloG

With the /etc/hosts file updated, mission files and command line references can use the IP aliasname instead of the IP address.

5.2 Assignment 2 (check off): Connecting to the network

This assignment validates that your laptop connects to the lab’s wifi. Be aware that to completethe labs you should not connect with the MIT, MIT GUEST, or MIT SECURE networks at the Pavilion.For the assignment, follow this checklist:

In the lab...[ ] Hang the repeater antenna on the hook outside the lab door[ ] Plug in the power connector by the telephone inside the labOn your laptop...[ ] Connect with the MOOS-IvP 5GHz network[ ] Enter the supplied password[ ] Fill in your computer’s IP address: 192.168.1.

[ ] Ping the vehicle[ ] Show the lab instructor the ping results

6 Using the PABLO Unit in a Vehicle

The PABLO unit used in the PABLO introductions lab will be installed in the vehicle and used todrive the m200 alpha mission pattern. The system is designed so that the PABLO unit can movebetween emulation and the actual M200 vehicle with minimal changes.

6.1 Assignment 3 (self check-off): Connecting with a PABLO Unit to an M200

Follow these steps to connect with the PABLO:

[ ] Tighten the gland at the end of the PABLO unit’s Ethernet plug[ ] Get a payload battery and power adapter from the lab instructor[ ] Place the PABLO unit in the payload bay (DO NOT CONNECT TO POWER)[ ] Connect the Ethernet plug to the M200’s payload bay port[ ] Connect power and wait approximately one minute[ ] Use your laptop to ssh to the PABLO unit

8

Page 9: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

6.2 Configuring the m200alpha Mission

From the prior lab, the moos-ivp-aquaticus repository should already be intact and proven to workin emulation. To use in an M200 vehicle, all that remains is to change the IP addresses.

Configuring the Shoreside Launch Script

The shoreside community runs on your laptop, which for emulation is assigned the IP address192.168.2.1. Operating on the actual vehicle, your shoreside should not force any IP address. Onyour laptop, in the launch shoreside.sh script, comment out the HOST IP FORCE line.

Configuring the Vehicle Launch Script

On your laptop, use your preferred editor to open the file:

moos-ivp-janedoe/missions/m200alpha/launch vehicle.sh

The launch script variables M200 IP and SHORE IP are defined near the top of the file. Notes in thescript assist in setting the variables for launching in different situations. For this lab operating onan actual vehicle, the shoreside is running on your laptop and the PABLO unit is connected tothe actual vehicle. Set the M200 IP to the IP address (192.168.5.1 or .6.1) of the vehicle and setSHORE IP to the IP address of your computer as you wrote above. You are welcome to modify the/etc/hosts file on the PABLO unit similarly to how you changed them on your computer (there isno need to define pabloE and pabloF). Check the changes in using svn.

6.3 Assignment 4 (check-off): Launching the Mission on the Dock

This assignment verifies that your vehicle is ready to be controlled by the m200Alpha mission. Donot let the motors run dry for more than a few seconds.

In an ssh window to the PABLO unit...[ ] svn update your repository[ ] Launch the vehicle missionIn a terminal window on your laptop...[ ] Launch a shoreside mission[ ] When the vehicle displays on shoreside, deploy the mission[ ] Stop the motors quickly[ ] Show the lab instructor the operating mission

6.4 Assignment 5 (check-off): Launching the Mission on the Water

This assignment verifies that your vehicle is ready to be controlled by the m200Alpha mission. Donot let the motors run dry for more than a few seconds.

9

Page 10: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

[ ] Ask the lab instructor to verify connections before deploying[ ] Secure the payload bay lid[ ] Push the vehicle back into the water[ ] Remote-control the vehicle away from the dock[ ] Deploy the mission for at least one loop of the pattern

6.5 Assignment 6 (check-off): Shutdown and Stowing

Shutting down and returning equipment is as important as any other portion of the lab. Whenworking with the vehicles, always leave enough time to close out properly.

[ ] Return the vehicle to the dockRetrieving...[ ] Carefully remote control vehicle to dock (do not hit the dock)[ ] Lift vehicle onto dockPowering Down...[ ] Through ssh, power down the PABLO unit[ ] Open the payload bay and disconnect the PABLO unit[ ] Turn off vehicle power using the main pushbutton switchReturning Equipment...[ ] Remove thruster battery from vehicle[ ] Place vehicle on cart, drain water from pontoons[ ] Turn off remote control[ ] Carefully maneuver cart back into the lab[ ] Return remote to hook[ ] Place batteries on shelf to charge[ ] Disconnect power to the repeater wifi antenna[ ] Bring in the repeater wifi antenna to hook[ ] Show lab instructor the batteries and vehicle

Completing the Lab

Your work on this lab is successful when you can demonstrate to the lab instructor the PABLO unitdriving a vehicle on the river and after all equipment has been put away.

6.6 Bonus: Improving the Launch Scripts

As provided, the launch scripts require that you modify IP addresses in the shoreside and vehiclelaunch scripts when switching between emulation and the actual vehicle. For convenience, it ispossible to augment the scripts so that command-line switches effect the changes instead. For exam-ple, configuring launch shoreside.sh -e to launch the shoreside with HOSTIP FORCE="192.168.2.1"

uncommented for emulation. Similarly, switches can tell launch vehicle.sh to set M300 IP andSHORE IP accordingly for emulation or the actual vehicle.

Students electing to modify launch scripts can request an IP address that will be dedicated for the

10

Page 11: Lab 15 - Payload Autonomy on an M300 Unmanned Surface ...oceanai.mit.edu/ivpman/pdfs/lab_class_15_pablo_water.pdfLab 15 - Payload Autonomy on an M300 Unmanned Surface Vehicle 2.680

remainder of the semster.

11