9
University of Rhode Island Autonomous Surface Vehicle RamBoat 2014 URI ASV T eam University of Rhode Island June 15, 2014 Abstract The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV) Team overhauled the competition vehicle for this year’s AUVSI RoboBoat Competition in Virginia Beach, VA. Through the hardwork of the team and gracious support from the URI Ocean Engineering Department and sponsors, the boat has successfully been brought back to a competition-ready vehicle. 1 Introduction The University of Rhode Island is attending the AUVSI RoboBoat competition for the 6 th year – this year with a completely new boat. After last year’s competition, it became evi- dent that drastic changes needed to be made to the existing system. At this point it was decided that a "hull-up" reconstruction of the vehicle was necessary. This overhaul covered all aspects of the vehicle except for the vision and propulsion systems. 2 Vehicle Overview 2.1 Mechanical Systems 2.1.1 Hulls With support from Navatek Ltd. new hulls were designed for the competition. Na- vatek invited students into their new South Kingston office to work on the design of the hulls. The hull design is an offshoot of the tandem lifting body surface vessel. The ASV hulls consist of a catamaran with a bow lift- ing body (BLB) and aft lifting body (ALB). Although the vessel will not be traveling at 1

University of Rhode Island Autonomous Surface Vehicleegr.uri.edu/wp-uploads/asvteam/URI_RamBoat2014... · The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV)

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: University of Rhode Island Autonomous Surface Vehicleegr.uri.edu/wp-uploads/asvteam/URI_RamBoat2014... · The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV)

University of Rhode Island Autonomous SurfaceVehicle

RamBoat 2014

URI ASV Team

University of Rhode IslandJune 15, 2014

Abstract

The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV) Team overhauledthe competition vehicle for this year’s AUVSI RoboBoat Competition in Virginia Beach, VA. Throughthe hardwork of the team and gracious support from the URI Ocean Engineering Department andsponsors, the boat has successfully been brought back to a competition-ready vehicle.

1 Introduction

The University of Rhode Island is attendingthe AUVSI RoboBoat competition for the 6th

year – this year with a completely new boat.After last year’s competition, it became evi-dent that drastic changes needed to be madeto the existing system. At this point it wasdecided that a "hull-up" reconstruction of thevehicle was necessary. This overhaul coveredall aspects of the vehicle except for the visionand propulsion systems.

2 Vehicle Overview

2.1 Mechanical Systems

2.1.1 Hulls

With support from Navatek Ltd. new hullswere designed for the competition. Na-vatek invited students into their new SouthKingston office to work on the design of thehulls. The hull design is an offshoot of thetandem lifting body surface vessel. The ASVhulls consist of a catamaran with a bow lift-ing body (BLB) and aft lifting body (ALB).Although the vessel will not be traveling at

1

Page 2: University of Rhode Island Autonomous Surface Vehicleegr.uri.edu/wp-uploads/asvteam/URI_RamBoat2014... · The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV)

June 15, 2014 2 VEHICLE OVERVIEW

speeds great enough to generate lift, theyserve as fixed control surfaces to damp thepitch motions. Damping these motions pro-vides a stable platform that for all other sys-tems to operate on.

Each demi-hull is comprised of a port andstarboard hull section machined of 10-poundPrecision Board foam. Precision Board is ahigh density closed cell polyurethane foamproduced by Coastal Enterprises. The hullwere machined on a 5-axis Thermwood CNCmachine for accuracy. The demi-hulls areprovided with a nominal 1/8" thick carbonfiber plate (c-plate) centerline vertical keel(CVK) to add rigidity to the componentswhen joined. The Precision Board was joinedto the c-plate using an urethane adhesive, PBBond 240.

The BLB and ALB each are composed ofa top and bottom half machined from 20-pound Precision Board separated by a nom-inal 1/16" thick c-plate horizontal strengthmember in a similar fashion to the demi-hulls. The lifting bodies were drilled andcounterbored to recess a pair of stainless steelsocket head cap screws which mount to ad-hesive grip internally threaded anchors inthe bottom of the hulls.

The exterior finish starts with multiplecoats of PB Resin, a two-part modified epoxyresin to seal the Precision Board and hardenthe exterior. Defects in the surface are cor-rected using automotive body filler and sand-ing up to 200 grit. A filler primer and 400 gritsanding smooths the surfaces in preparationfor paint. Two coats of Pre-Kote establish thebase layer and another two coats of marinegrade paint as a topcoat.

The tops of the hulls are capped usingacrylic plate to prevent water from accumu-lating in the displaced area. It is securedusing a latex based caulk.

2.1.2 Frame

A ladder frame was constructed using 80/20extruded aluminum to minimize weightwhile maintaining the desired strength prop-erties. The frame consists of two rails andfour crossmembers. Two sizes of stock wereused: 1010 refers to 1" x 1" extruded stockand 1020 refers to 1" x 2" extruded stock.

An aluminum plate was mounted atopthe bow and stern of each hull using the samehardware used to secure the lifting bodies.Angle brackets were used to hold the plateto the longitudinal frame rail that runs thelength of each hull.

The center pair of cross members serveas a base for the electronics box. The sterncrossmember is the mounting face for thetwo stern motors. The bow crossmembersupports the bow thruster and imaging hard-ware.

2.1.3 Propulsion

Propelling the ASV are three 12V trolling mo-tors. As mentioned previously, the motorsare the same model as years past. The motorswere chosen because of their weight to thrustratio. These motors weight 3lbs and provide18lbs of thrust – the closest motor for com-parison was a 15lb motor providing 30lbs ofthrust. It was decided that the additionalthrust was not beneficial for the vehicle inorder to keep total weight lower. However,different from last year is the number of mo-tors. RamBoat 2014 utilizes a bow thrusterto provide increased maneuverability at lowspeeds. To protect the propellers from for-eign lake debris and as a safety precaution,shrouds were manufactured and installed.Shrouds The shroud for the motors was de-signed in SolidWorks. Because the motor isdesigned to run in both forwards and reverse,the inner and outer diameters of the shroudare constant. The shroud slips around therear of the motor. It is held in place with a setscrew in an alignment hole in the skeg of the

URI RamBoat 2014 2

Page 3: University of Rhode Island Autonomous Surface Vehicleegr.uri.edu/wp-uploads/asvteam/URI_RamBoat2014... · The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV)

June 15, 2014 2.1 Mechanical Systems

Figure 1: Initial hydrostatic tests of RamBoat 2014

motor. The drawing was printed with ABSthermoplastic in a Stratasys Dimension Elite3D printer. A layer of plastic paint was ap-plied to the shrouds to prevent water from en-tering the pores of the shroud. The shroudshave proven themselves in both lab testingand pond testing, where the side of the pooland pond rocks have not yet damaged them.

Motor Mounts During initial testing of theASV, the stock motor mounts from the mo-tors were used. These mounts simply appliedpressure to a plate that mounts on the tran-som of the boat. It became evident duringsuccessive testing that these mounts were notsatisfactory due to their ability to slip off ofthe 80/20 frame. In response to this, pillowblocks were machined that allow for motorposition to be set precisely every time andthen removed for transport.

Motor Control The ASV in past years uti-lized a dual-motor controller that providesmixing of the motors onboard. A pro to thiswas the simple interface to control the motors.The downside was that the motor controller

board did not provide feedback; therefore themotors were unable to be monitored. Ram-Boat 2014 has a new motor control systemdue to the use of a third motor for the bowthruster. As a result three Parallax HB-25motor controllers were integrated into thesystem. The motor controllers are high cur-rent H-Bridge chips that accept a servo pulseto control speed and direction of the motor(1000us:full reverse, 1500us:stop, 2000us:fullforward). The HB-25’s also utilize small PCfans for self-cooling and are fused to providesafety against short circuits.

To interface the HB-25 motor controllers,the Pololu Mini Maestro 18 Channel ServoController . The Servo Controller receivescommands from the main computer using apython library developed by the team. Thelibrary is able to send pulse width data to thecontroller on up to 18 different channels. Thecommands are generated by the motor dae-mon and the navigation processing, which isspoken of in more detail in the Navigationsection.

URI RamBoat 2014 3

Page 4: University of Rhode Island Autonomous Surface Vehicleegr.uri.edu/wp-uploads/asvteam/URI_RamBoat2014... · The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV)

June 15, 2014 3 SOFTWARE

2.1.4 Electronics Box

RamBoat 2014 utilizes a PolyCase14"x16"x8.5" polycarbonate case for the elec-tronics enclosure. This provided a durable,yet lightweight solution to mounting theelectrical systems on the vehicle. Waterproofconnectors for all power and data were usedto ensure a water-tight case.

2.2 Computing System

2.2.1 Intense PC

The main computer on RamBoat 2014 is theIntense PC, a fanless PC that incorporates afull heatsink into the case of the computer.The computer has an Intel-i7 processor with8GB of RAM and a 128GB Solid-State Drive.Previous RamBoats incorporated two FitPC’s– one to run missions and one dedicated tovision processing. The intense PC is morethan capable of running both mission andvision onboard.

2.2.2 BeagleBone Black

All low-level I/O is handled via the Beagle-Bone Black, a single-board computer runninga full Debian Linux distribution. Since theBeagleBone runs Linux, LCM was installedto easily integrate the board into the system.

2.3 Power System

2.3.1 Batteries

This year the ASV is powered off of sixInspired Energy Lithium Ion batteries(NH2054HD24). Each battery supplies 14.4Vto the system with a power output of 4.8Ahper battery. The batteries also have internaldata logging abilities. This allows for thereading of instantaneous voltage, current,temperature and many other features in realtime. The ability to access this feature hasundergone development but was not imple-

mented on this year’s boat.

2.3.2 Power Distribution

In order to combine all of the Li-Ion batter-ies without causing cross-charging, each bat-tery is fed into a Schottky diode and then toboth the power distribution board and themotor controllers. For a safety precaution,the power supplied to the motor controllersis first passed through the kill switch with atransient suppression diode connected on theoutput side to prevent voltage spikes. Thepower distribution board consists of a VI-COR V28C12C100BL isolated DC-DC con-verter along with three LM-317 linear voltageregulators. The VICOR drops the voltagefrom 14.4V to 12V and then the linear reg-ulators drop the voltage to 6V, 5V, and 3.3V.The board is able to provide 100W of power,well within the need of the electronics con-nected to the distribution board.

3 Software

3.1 Lightweight Communications andMarshalling

The ASV’s software is designed aroundthe Lightweight Communications and Mar-shalling library, abbreviated as LCM. Thelibrary is a connectionless communicationssystem in which data is broadcast freely toall systems via the UDP protocol. Data is or-ganized into C-like structs that are generatedfor various programming languages, such asC++, Java, and Python, and is automaticallyencoded and decoded when transmitting. Inorder to specify which information to receive,messages are broadcast on a specific channelby being given a tag. In order to receive datafrom a channel a process simply subscribesto a channel. This allows an overall struc-ture of small, independent and modular pro-cesses instead of a large, complex, unwieldy

URI RamBoat 2014 4

Page 5: University of Rhode Island Autonomous Surface Vehicleegr.uri.edu/wp-uploads/asvteam/URI_RamBoat2014... · The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV)

June 15, 2014 3.2 Navigation

program. The modularity goes even furtheras it does not matter to the receiver what istransmitting the data packets over LCM, andso LCM messages can be logged and playedback later.

The software design for the ASV wasgood in organization but lacked completionand got bogged down in a swamp of bugsand issues. A shortage of testing meant thateven simple errors had not been found andrectified in time. Nevertheless, it was de-cided to keep the old structure and continueto fix and/or update the existing systems asrequired. This effort focused mainly on theNavigation systems and a new simulator-liketool abbreviated as the VLS.

3.2 Navigation

The most pertinent system to our success,as learned last year, is a working navigationsystem. Choosing our new propulsion config-uration was the first decision the team faced.Past experience with two motors showed thatusing only two motors in a differential con-figuration is problematic. Such a system isuncontrollable, and resulted in a complexsystem of navigation which required switch-ing controller types and performing multipleactions per way-point. In addition it meantthat previous vehicles could not counteractcurrents perpendicular to its heading, or per-form strafing maneuvers.

As mentioned previously, the teamelected for a three-motor propulsion system.Two motors are positioned at the stern of thevehicle, each vectored 45◦ outwards of the ve-hicle. The third motor is mounted on the bowof the vehicle, perpendicular to the length ofthe vehicle. In order to see the controllabil-ity of the vehicle, a vector can be drawn foreach thruster of the forward, side-slip, andtorque produced by a unit of force from eachthruster, and combine them to create the fol-

lowing matrix equation:

τ =

XYN

τ =

0 cos(θ) cos(θ)1 − sin(θ) sin(θ)

Bx Sx sin(θ)− SL2 cos(θ) −Sx sin(θ) + SL

2 cos(θ)

×

FBowFStern−Port

FStern−Starboard

Where θ is the angle outward of the stern

thruster, Bx is the distance forwards of thecenter of gravity for the bow thruster, Bx isthe distance behind the center of gravity forthe stern thrusters, and SL is the distance be-tween the stern thrusters.

After plugging in the values needed tothe thruster matrix, immediately an uncon-trollable system can be recognized if the ma-trix is non-invertible. This can be seen withthe old system by removing the bow thrusterfrom the matrix. Otherwise, inverting thematrix results in a straightforward reversemapping that can be used to determine theforces needed by each motor in order to pro-vide an overall desired force vector upon theASV. This process is referred to as motor-mixing, and has been proven to work welleven though our estimates for the parametersin the thruster matrix are not exact. Even ifit is not perfect, an error can be fixed quiteeasily as long as the errors are small since theerror introduced by fixing the original errorwill be another factor smaller.

In addition to making human-poweredcontrol intuitive, this simplifies the au-tonomous control problem since it can ef-fectively treat each of the two surface dimen-sions and the ASV’s yaw as independent vari-ables. In reality this is not true as the posi-tional error must be calculated in the ASV’sreference frame which is dependent on it’sheading. However, as long as the headingsettles faster than the position does this is

URI RamBoat 2014 5

Page 6: University of Rhode Island Autonomous Surface Vehicleegr.uri.edu/wp-uploads/asvteam/URI_RamBoat2014... · The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV)

June 15, 2014 3 SOFTWARE

usually not an issue and the system can betreated as such. Therefore, in the interest ofsimplicity a straightforward PID controllerwas implemented that tracks each variableseparately. This has had the side-effect ofmaking way-point navigation much simplerbecause it is a single-step process of settingthe desired location and heading and lettingthe controller do the heavy lifting.

3.3 VLS

The VLS is RamBoat 2014’s secret weaponthis year. Because there is not a word to de-scribe such a tool developed this year theabbreviation VLS, standing for Visualization,Live, and Simulation was chosen. At the endof the last competition, it became obviousthat a better way of debugging systems wasneeded. The two bottlenecks to debuggingwere a shortage of testing time, and a lackof a good visualization system for the ASV’ssystems. A tool included with LCM spy pro-vides a method for creating visualizations bycreating a plugin to create a visual for a spe-cific channel. However it does not allow oneto create a visual that utilizes multiple LCMchannels. In addition, the tool uses Java’sSwing library which is not an ideal systemfor creating visuals. The decision was madeto begin work on a new visualizer which usesinformation from all available LCM channels.Because of how LCM works, the visualizercould be used to visualize information fromlogs as well as live during a test, without iteven knowing the difference. To improve thistool, a simulator was added, as well as usefulfunctionality for when doing live testing.

3.3.1 Visualization

The rendering system chosen for is theLightWeight Java Game Library, famous forit’s use in the popular game Minecraft. It isan open-source platform-independent librarydesigned for gaming. It is the combination ofa Java Native Interface binding of OpenGL,

for rendering hardware-accelerated graphics,utilities, and the input API JInput. In addi-tion, the add-on library Slick was used forfont rendering. This was chosen with the in-terest of being able to integrate code from theopen-source LCM library and related Libbotlibraries. The first visualization element tobe implemented was satellite imagery in or-der to place the ASV on the map so to speak.After that, a visual our LiDAR’s data wasadded, as well as a camera feed from themain camera. This allowed us to go back andlook at our logs from the previous competi-tion and confirm that our vision system fromlast year worked excellently. The additionof visualization of way-points for the naviga-tion system also helped to confirm the causeof the bug that prevented us from qualifying.

3.3.2 Live

The VLS became a useful tool for live test-ing because it acts as mission central. Theuser can see the state of the systems and isprovided with a software-based remote con-trol system. In addition, the user can insteadelect to simply set waypoints by clicking onthe map. Planned is also an integration ofLibbot’s process management system whichuses LCM to manage running processes onthe ASV from a shore computer. This wouldallow the user to quickly configure and fireup the ASV for a run.

3.3.3 Simulation

Being able to simulate the ASV in order todebug our systems is critical. In order to im-plement the navigation dynamics, a simpli-fied marine model was developed and thenconverted to a discrete-time zero order holdequivalent model. The corresponding dis-crete time matrices can be used to simulatethe ASV’s dynamics recursively. The matrixoperations are implemented with the open-source C++ header-only library Eigen. In

URI RamBoat 2014 6

Page 7: University of Rhode Island Autonomous Surface Vehicleegr.uri.edu/wp-uploads/asvteam/URI_RamBoat2014... · The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV)

June 15, 2014

Figure 2: Screenshot of VLS running past mission logs

addition, a method of simulating vision de-tections with a virtual buoy course was devel-oped in order to test tracking algorithms andmethods of navigating the obstacle coursetask. Noise is added to the simulated de-tections and detections have a probability ofnot occurring in order to test robustness oftracking algorithms.

The last major feature of the VLS that isespecially important to simulation is that itincludes a live python console implementedwith the open-source Jython library. Jythonis very powerful in this application becauseit allows Python code executed with it to di-rectly access and call Java code. With the useof Jython, the high-level systems in the VLSeffortlessly interact with the underlying Javasystem for in-depth debugging. In addition,the live python console can be used to com-partmentally test the Python utilities as wellas helping in debugging of the VLS itself.

4 Mission Tasks

4.1 Simon Says

This challenge resented a clearly definedproblem. The LEDs flash in a sequence witha constant start and stop time. Using theassumption that muddy water diffuses lightbetter than clear water, a specific point of

light does not need to be detected. Therefore,Ramboat 2014 utilizes a color sensor to detectthe overall color of the water.

In order to detect the sequence, the firstunknown parameter would be the delay ofwhen the light sequence starts as it is unlikelythat the sequence will start instantaneously.To account for this, the data for the entiresequence will be recorded. Given a specifictime delay, the color values for each segmentare estimated by averaging the samples. Toestimate the actual time delay, a grid searchwill be performed over a certain range to findthe time delay which minimizes the resultingvariance of the data when compared to theestimated color values.

4.2 Obstacle Avoidance

4.2.1 Buoy Detection

The first challenge to this task is detectingthe Polyform buoys. We already have a work-ing system to do this, using a combinationof a LiDAR and machine-vision camera. Theidea is that the LiDAR can provide accuratedetection and locations for buoys, while thecamera can provide identification of the color.By modeling the spatial projection that isinherent in the camera taking images, theLiDAR points are able to be projected ontothe images. By matching detections from

URI RamBoat 2014 7

Page 8: University of Rhode Island Autonomous Surface Vehicleegr.uri.edu/wp-uploads/asvteam/URI_RamBoat2014... · The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV)

June 15, 2014 4 MISSION TASKS

the LiDAR with detections from the camerapositions and colors can be associated. Foravoiding the black and yellow obstacles thisentire process is not necessary as the colorfor the buoys marking the entrance and exitare all that are necessary.

4.2.2 Navigating the Course

The buoy detections are accurate enoughthat RamBoat 2014 is able to track themin order to provide positional feedback tothe controller. In addition, locating the en-trance buoys and extrapolating should pro-vide a good estimate of where the exit tothe course will be. The ASV will plot a pathdirectly across and then simply modify thepath when it detects an obstacle buoy. Inaddition to help avoid going off the course,the ASV will extrapolate, where the bound-ary of the course should be as well as usedetections of obstacle buoys to confirm thatspace ahead of it is inside of the course.

4.3 Automated Docking

This task is mostly an image processing prob-lem to identify the dock symbols. First, edgedetection is used to find the rectangular out-line of the dock markers. This is the simplestdetection employed for the task and will thenallow for tracking of the location the markers.Then, by using a second layer of edge detec-tion the cirle is detected and also series of linesegments for the cruciform and the triangle.By looking at the angles of the line segmentsRamBoat 2014 can determine which of theother two are the triangle and the cruciform.Once the docks are identified then the ASVtracks the rectangle of the symbol and guidesthe ASV into the dock.

4.4 Acoustic Beacon Positioning

4.4.1 Pinger Detection

Given the success of past year’s ability to de-tect buoys, the approach for this task is tofirst identify all potential buoys for the mis-sion. After all buoys have been located, thebuoy with the pinger is differentiated by theuse of two hydrophones mounted on the bowof the vehicle. Using the two hydrophonestogether, the time difference between pingsto each hydrophone will be used for the local-ization of the pinger buoy. The hydrophonesinterface with the on-board audio port on themain processing computer (Intense PC).

4.4.2 Maximum Likelihood Estimator(MLE) for Pinger Heading

The estimator provides a single heading es-timate for every two seconds of data. Themodel used for the pinger’s signal is as fol-lows:

x[n] = A sin(2π f0n + ∆)p(n + ∆) + w[n]

n = [0, 2 fs]

A is an unknown amplitude, w[n] is assumedto be white Gaussian noise, p is a pulsefunction with a period of four milliseconds(pinger pulsing). The corresponding maxi-mization function for a MLE is:

J( f0,∆) =N−1

∑n=0

x[n] sin(2π f0 + ∆)p(n + ∆)

Given that there is a specific range of frequen-cies that will be used during the mission overa set window of time, a grid search was im-plemented. To simplify the grid search, aseparate estimator was used to determinethe frequency of the pinger ahead of time; as-suming that the frequency does not change.Estimation of the frequency is easily done

URI RamBoat 2014 8

Page 9: University of Rhode Island Autonomous Surface Vehicleegr.uri.edu/wp-uploads/asvteam/URI_RamBoat2014... · The University of Rhode Island’s (URI) Autonomous Surface Vehicle (ASV)

June 15, 2014

with the following maximization function –a modified Fourier Transform:

J( f0) =

∣∣∣∣ N−1

∑n=0

x[n]ej2π f0n∣∣∣∣

The time delay is estimated for each hy-drophone, and an overall delay is determinedusing the speed of sound in water and thedistance between each hydrophone – helpingto avoid any type of interference due to apinger on a separate course. If it is assumedthat the hydrophone is much farther awaythan the hydrophones are actually separated,the following estimator for the heading bythe invariance property holds true:

θ = arcsin(

∆CL

)

5 Conclusion

Over the past 8 months, the University ofRhode Island created an entirely new au-tonomous surface vehicle for submission intothe 2014 AUVSI RoboBoat competition. Thisoverhaul incorporated positive aspects of pre-vious year’s vehicles, such as the use of LCM,the vision system, motors, etc. With the useof the newly developed VLS coupled withfrequent pond testing, RamBoat 2014 willprove to be a strong competitor in VirginiaBeach on July 8th-14th

6 Sponsors

We would like to thank the following companies for sponsoring the URI ASV Team:

URI RamBoat 2014 9