Cornell University Autonomous Underwater Vehicle: Design

Cornell University Autonomous Underwater
Vehicle: Design and Implementation of the
Argo AUV
Nicholas Akrawi, Mustafa Ansari, Linda Barron, John Bartlett, Zander Bolgar, Page Bowers, Jonathan Chan,
Corey Chang, Eric Chiang, Nancy Ding, Kent Esslinger, Joseph Featherston, Christopher Goes, Andrew Halpern,
Melissa Hamada, Daniel Harianja, Yaseen Islam, Brendon Jackson, Dong-Hyun Kim, Moonyoung Lee (co-lead),
Noah Levy, Victor Lucena, Michael Mahoney, Alexandru Malcoci (co-lead), Mihir Marathe, Artina Maloki,
Michael Ngyuen, Zachary Porter, Alexander Renda, Charles Sanderson, Daryl Sew, Alexander Spitzer, Ricardo
Stephen, Emily Sun, Ellen Thiel, Ian Thompson, Nancy Wang, James Wu, Shuqing Wu, and Mei Zhang.
is to design and build an autonomous underwater vehicle (AUV). The AUV is a cumulative
product of many integral end-to-end projects
that necessitate extensive hands-on experience,
critical problem solving skills, and interdisciplinary collaboration amongst students. Upon
completing the vehicle in a ten month design
cycle, CUAUV participates in the annual AUVSI Foundation and ONR International RoboSub Competition. The competition is held
in late July at the TRANSDEC facility, part
of SPAWAR Systems Center Pacific in San
Diego, California. The competition is designed
to challenge student-built AUVs with an obstacle course that simulates real-world AUV missions such as precise mapping of the seafloor
and construction of subsea infrastructure. RoboSub competition tasks range from shape and
color recognition to torpedo firing and fine
manipulation of small objects. Each of these
missions must be completed by the vehicle
independently (without human interaction or
control). Successfully completing such tasks requires accurate visual and acoustic detection of
competition elements, fine-control navigation,
obstacle avoidance, and object manipulation. In
order to complete the task of building a vehicle
that is capable of navigating all mission eleI. I NTRODUCTION
ments and meeting all requirements, CUAUV
HE Cornell University Autonomous Un- is divided into mechanical, electrical, software
derwater Vehicle team’s primary objective and business/public-relations subteams.
Abstract—CUAUV Argo is the new 2014-2015
autonomous underwater vehicle (AUV) designed and
built by a team of 40 undergraduate students at
Cornell University. Completed in a ten month design cycle, the vehicle was fully modeled using
CAD software, extensively simulated with ANSYS,
and manufactured almost entirely in-house. With
15 years of aggregate research and development to
enhance autonomous underwater vehicle technology
by CUAUV students, this year’s vehicle is a further
improvement on all previous designs. Argo presents
a stronger, lighter, and more agile platform than ever
Particularly notable new advancements include
custom brushless thrusters - two of which are
mounted on stepper motor driven vector modules,
a full PCB plug-and-play backplane, an upgraded
Python-based vision system driving new state-of-theart cameras, and a refactored mission system allowing for superior task execution control. Argo’s sensor
suite includes compasses, inertial measurement units
(IMUs), a Teledyne RDI Explorer Doppler Velocity
Log, a depth sensor, an internal pressure sensor, a
hydrophone array, a BlueView high-definition imaging sonar, and both forward and downward-oriented
CMOS cameras. Returning features include a dualcantilevered electronics rack, a vacuum-assisted seal,
hot-swappable batteries, pneumatic actuators, and
unified serial communications.
Cornell University Autonomous Underwater Vehicle
The 2014-2015 primary vehicle, Argo, is a
hovering, littoral-class AUV designed primarily
to compete in the RoboSub competition. The
design is similar to that of work or observation class remotely operated vehicles (ROVs),
primarily targeting space-constrained complex
functionality and fine-grained positional control.
Fig. 1: A SolidWorks rendering of CUAUV’s
2015 vehicle, Argo
Argo is an improvement over CUAUV’s
previous vehicles in terms of fine control, robustness, and ease of assembly. The robustness
was improved through more extensive electrical
testing, rigorous finite element analysis (FEA),
and increased usage of computer numerical
control (CNC) machining. Argo features eight
thrusters which give it control over six degrees
of freedom and improved stability in movement. The vehicle also includes a pneumatic
actuator system that allows it to interact with
its environment. Argo measures 46 inches in
length, 27 inches in width, and 25 inches in
height. Its dry weight is 80 pounds.
Custom electronic boards designed by students are isolated in the aft hull and work as
interchangeable cards connecting to a central
PCB backplane via card edge connectors. The
vehicle is powered by two lithium-polymer
batteries and contains modular power, sensor,
and serial communication systems. A full onboard suite of visual, acoustic, inertial, and
pressure sensors is used for navigation and data
collection. The vehicle’s software suite is run
by a single-board computer with a quad-core
hyperthreaded Intel i7 CPU, and is primarily
composed of intercommunicating shared memory, serial, control, vision, and mission systems.
Argo’s mechanical system consists of the
vehicle frame, upper hull, actuators, and external enclosures. The upper hull and external
enclosures are responsible for protecting the
electronic components from water, while the
structure provides mounting points and protection for sensors, enclosures, and actuators.
Assemblies are designed in SolidWorks, simulated using ANSYS FEA software, and then
manufactured either manually or with the help
of CNC machinery and computer-aided manufacturing (CAM) software (Pro/TOOLMAKER
and FeatureCAM).
A. Frame
The frame defines the positions and orientations of each mechanical component in the
vehicle, maintaining the structural integrity and
rigidity of the vehicle and protecting delicate
components. This year’s frame implements a
modular method of component attachement.
Waterjet cutting also allowed for rapid manufacture of frame components, allowing for
speedy assembly and testing.
Fig. 2: A SolidWorks rendering of Argo’s
Cornell University Autonomous Underwater Vehicle
Most of the components on the vehicle are
screwed directly to the frame, requiring no
extra mounting features. This saves weight,
reduces complexity, and allows for efficient use
of space, All components are placed such that
the center of mass is at the relative center of
the AUV. The frame emphasizes ease of use,
manufacturing, and integration whilst remaining adaptable.
B. Upper Hull and Electronics Rack
Argo’s upper hull is composed of two racks
joined by a midcap, undersea connectors, the
DVL transducer head, and two acrylic hull
assemblies that protect the electronics. The
fore rack contains all commercial off-the-shelf
(COTS) components in the upper hull including
our forward camera, COM Express module,
DVL electronics, and LCD display. The aft rack
contains all custom electronics linked together
via an easily customizable backplane system.
All boards slide into connectors via 3D printed
rails, and the rack also raises to a vertical position, allowing for simple and fast maintenance.
camera. Redundant sealing of the hulls as well
as a slight vacuum within the upper hulls
renders hull leak risk negligible.
C. Actuators
The actuators system is comprised of two
torpedo launchers, two marker droppers, two
active grabbers, and one passive forward manipulator. A 3000 psi paintball air tank regulated down to 100 psi serves as the air supply
for the pneumatic portion of the system. Twelve
internal and two external valves, the former
housed inside an integrated manifold and valve
enclosure, pass air from the valves to the rest
of the pneumatic actuators system. With this
configuration, Argo can independently fire individual torpedoes and markers, actively grab
and release two objects simultaneously, and
effectively manipulate forward elements.
1) Torpedo Launcher and Marker Dropper: The torpedoes and markers are custom
designed and cast projectiles made to travel
accurately through the water. Torpedoes are
propelled pneumatically and have a range of
approximately 15 feet. Markers are held in
place by magnets until a small air burst unseats
them, after which their path downwards is held
straight by large fins and heavy tips.
Fig. 3: A SolidWorks rendering of Argo’s fore
and aft racks.
All connections to the outside of the upper
hull are made via SEACON connectors located
on the midcap. The midcap provides hinged
mounting for both the fore and aft racks, the
DVL transducer head, and the sensor boom.
Although difficult to manufacture, the midcap
makes efficient use of space and material,
while minimizing the risk of leaks. The two
acrylic hulls slide over the cantilevered racks
to provide sealing. The fore hull has a camera
enclosure built in that slides over the protruding
Fig. 4: One of Argo’s downward grabbers
Cornell University Autonomous Underwater Vehicle
2) Active Grabbers: Two active grabbers are
responsible for grabbing the recovery objects.
Each grabber consists of a pneumatic linear
cylinder connected to a claw on an actuated extending arm. The cylinders are double-action;
firing one valve closes the claw and firing the
other opens it.
3) Forward Manipulator: Argo features a
passive forward manipulator utilized to remove
”lids” on mission elements. An X-shaped contact element serves to automatically guide the
handle of the lid into the sub’s grasp.
4) Thrusters: Propulsion is provided by
eight custom-machined brushless thrusters.
Each thruster has a built-in control board allowing for position-independent hot swapping.
The two aft thrusters are mounted on steppercontrolled mounts, enabling dynamically directed thrust vectoring. Argo’s thruster mounting scheme provides the vehicle with active
control in all six degrees of freedom.
D. External Enclosures
Argo’s external enclosures contain various
electrical systems located outside of the upper
hull pressure vessel. These waterproof vessels
isolate the systems from unwanted noise and
allow for flexibility in the construction of the
vehicle. Systems contained in external enclosures include the hydrophone passive acoustic
system, kill switch, sensor boom, downward
camera, and battery pods.
1) Hydrophones Enclosure: The hydrophones system is kept separate due to noise
considerations. The enclosure was designed to
be as light as possible, and is constructed
entirely out of aluminum to facilitate effective
cooling. In addition, the piezoelectric elements
of the hydrophones system are mounted directly to the wall of the enclosure, eliminating
the need for a separate mount for the elements
and keeping the system compact.
2) Sensor Boom: Some of the vehicle’s sensors must be isolated from the electromagnetic
noise caused by thrusters and other high power
electrical components. The sensor boom is
mounted atop the midcap far from any other
noise sources in order to maintain signal integrity. It contains a LORD MicroStrain 3DMGX4-25 AHRS, and a custom team designed
compass and IMU. Signals are passed back to
the upper hull via SEACON connectors.
3) Battery Pods: Each battery pod features
two SEACON connectors, one for monitoring
temperature, and the other for charging and
discharging the batteries. A DeepSea pressure
relief valve also prevents any buildup of internal pressure, removing the danger of explosion
due to outgassing. The battery pod lids are
latched to the hull for quick battery removal
and replacement.
Fig. 5: Argo’s battery pod enclosure
Argo’s electrical systems supply up to two
hours of reliable power throughout the vehicle and provide an interface between the onboard computer and all sensors and peripheral
devices. The electrical subteam designs and
populated custom circuit boards with the assistance of various schematic and PCB software
packages. The dual-hull design of the vehicle
emphasizes the strategic placement of electronics and wire management by dividing COTS
devices from custom electronic boards.
As a result of this and improved PCB backplane usage, electrical connections are optimized between boards inside the hull, external
enclosures, and sensors exterior to the upper
hull. The amount of time required to maintain
the electrical system is decidedly reduced relative to previous designs.
Cornell University Autonomous Underwater Vehicle
Fig. 7: Block diagram of Argo’s power infrastructure
Fig. 6: Layout schematic of Argo’s brushless
motor control board
potential damage to the components.
A. Power System
B. Serial Communication
The power to run Argo is provided by two
Advance Energy 8000 mAh lithium polymer
batteries, which give the vehicle a run time of
approximately two hours. In order to maintain
constant uptime while testing, Argo utilizes
hot-swappable batteries, allowing for quick battery changes that do not require a full system
reboot. To facilitate use of the vehicle on shore,
a bench power station has been developed to
power the sub from a standard AC power
source. The input power sourced from the two
batteries is routed through the pod board, which
combines the two power sources to provide a
single power rail for the vehicle. To ensure
nominal and equal discharge from both battery
packs, the pod board constantly compares the
voltages and drains power from the battery with
higher potential.
In order to ensure reliably regulated power,
the power distribution board provides the electrical system with isolated power rails at +5,
+12, and +24 Volts. The board measures power
use from each port and passes these statistics to the computer. In the case of excessive
current draw, the computer has the ability to
shut down the corresponding port to prevent
The serial board is the interface between the
computer and the various sensors and customdesigned boards. It allows twelve devices to
communicate via RS-232 serial through a single USB connection. The RS-232 protocol was
chosen because of noise tolerance and ease of
use and deployment.
C. CAN Bus
The CAN protocol is used to communicate
with each of the eight thruster modules as
well as the two vector thrust modules. CAN
was chosen over RS-232 because all the connected devices share only two communication
wires. This allows the connection to all of the
thrusters and the vector thrust modules to be
identical and allows connections to be swapped
without effect. Each board is issued a unique
device ID to enable individual thruster control.
D. Thruster Control
Each of the eight thrusters contains a custom
brushless motor control board. Each board contains a microcontroller to communicate with
Cornell University Autonomous Underwater Vehicle
the computer and control the motor. To abide
by safety regulations, all thruster modules,
vector thrust modules and the actuator board
can be halted either by hardware switch or
E. Vectorized Thruster Control
Each vector thrust module contains a stepper
motor a custom controller board. This board
contains two H-bridges to drive a bi-polar
stepper motor and communicates with the computer on the CAN bus. The board shares a
connection interface with the brushless thruster
modules, simplifying connections and allowing
the devices to be swapped without software
F. Actuator Control
The actuator board control the solenoids
necessary for all of the pneumatic manipulators
on the sub. The actuator board also accepts
commands to control the solenoids and an
additional two DC motors or one stepper motor through communication with the computer
using an isolated serial line.
state. Visual recognition and navigation tasks in
TRANSDEC are successfully identified using
one forward and one downward camera, while
the recovery task is handled by the hydrophones system using a passive acoustic array.
The state of the vehicle is measured using
inertial measurement units (IMUs), compasses,
a depth sensor, a Doppler Velocity Log (DVL),
and a high-definition imaging sonar.
A. Hydrophone Array
Argo’s hydrophone system uses three Reson TC-4013 piezoelectric elements to detect
incoming acoustic waves. The design was optimized for functionality and affordability utilizing a microcontroller and custom analog
filtering to interpret the element data. The
hydrophone system accurately calculates the
heading and elevation of a pinger relative to
the vehicle within one degree. The hydrophone
system has also been extended to stream data
over Ethernet to the vehicle’s main computer
which hosts a platform for real time acoustic
debugging and finer tuning of the overall system.
G. Sensor Interface
The General Purpose Input Output (GPIO)
board has multiple ports to read and write
analog and digital inputs to and from sensors.
It is primarily designed to provide the electrical
system with extra modularity, as there is often
a need to add sensors or electrical devices later
in the design process. In addition to reading
measurements from the depth sensor, GPIO
monitors internal pressure of the vehicle to
ensure that partial vacuum is maintained.
In order to autonomously navigate through
the competition course, the vehicle is equipped
with two main classes of sensors: sensors
to observe the vehicle’s external environment,
and sensors to determine the vehicle’s internal
B. Orientation
A combination of IMUs and compasses measure the vehicle’s acceleration, velocity, and
spatial orientation. The orientation sensors on
the vehicle are a MicroStrain 3DM-GX4-25
AHRS and a team-designed compass and IMU.
An MSI Ultra-stable 300 pressure sensor measures the depth of the vehicle.
C. Doppler Velocity Log
The Teledyne RDI Explorer Doppler Velocity Log (DVL) provides accurate threedimensional velocity data. This information is
used in conjunction with the other sensors to
provide closed-loop vehicle control.
Cornell University Autonomous Underwater Vehicle
All of Argo’s higher level functionality,
including autonomous completion of mission
tasks, is achieved through the vehicle’s software system. The software stack is built upon
the Debian GNU/Linux operating system and
includes a custom shared memory state synchronization system, a serial daemon for communication with the majority of the electrical boards, multithreaded vision, model-based
control, and abstract task/mission systems. Our
custom software is primarily written in C++
and Python, although certain individual subsystems are written in Go and Haskell.
built upon POSIX shared memory, providing
thread- and process-safe variable updates and
notifications. Various elements of the vehicle
state are stored in and read from shared memory. These shared variables can be accessed by
all of the components of the software system
concurrently, which allows for simple communication among the various daemons.
C. Unified Serial Daemon
The Unified Serial Daemon (USD) handles
communication between Argo’s on-board computer and the internal electrical boards by implementing a standardized serial protocol. With
the USD, a single configurable daemon on the
computer is able to communicate with all of
Argo’s custom serial-capable boards. A variety
of functionality is built into the USD protocol,
such as board identification and microcontroller
D. Unscented Kalman Filter
Fig. 8: Argo’s software stack
A. Computer
The software on the vehicle is powered by
an Intel Core i7-4700 Haswell quad core processor on a Connect Tech COM Express type 6
carrier board along with an ADLINK ExpressHL module, using a 256GB mSATA solid
state drive (SSD). The computer is connected
dockside through a SEACON Gigabit Ethernet
B. Shared Memory
The shared memory system (SHM) provides
a centralized interface for communicating the
state of the vehicle between all running processes, electronic subsystems, and users controlling the vehicle. SHM is a custom system
In the past, CUAUV has made use of standard Kalman filtering in order to process the
large amounts of raw data from the AUV’s
extensive sensor suite. Utilizing Bayesian techniques in conjunction with raw sensor data to
predict future states of the vehicles position
and orientation, Kalman filtering is able to efficiently smooth erratic readings and compensate
for any unreliability in sensor data. Although
these standard filters have been effective in the
past, they perform sub-optimally when filtering
nonlinear systems. Because of this, this year’s
vehicle features an Unscented Kalman filter
which processes orientation data, in conjunction with standard Kalman filter for position.
By using statistical methods and the Unscented
Transform, this new filter is able to heavily
reduce the complexity of processing nonlinear
systems, while still generating accurately filtered output. The use of the Unscented filter
allows us to use highly nonlinear quaternions to
represent orientation, which do not suffer from
the same limitations as traditional Euler angles
Cornell University Autonomous Underwater Vehicle
(eg. Gimbal locking). This allows for a much
more robust controller and overall enhanced
stability for the vehicle.
E. Vision
Our vision-processing system is designed to
give the vehicle up-to-date and accurate data
about the surrounding mission elements. A
daemon for each camera captures and passes
raw camera frame data through an undistortion
filter. The camera data is then passed into
shared memory for concurrent processing by
each vision module. The camera daemons and
vision modules are entirely modular, so that we
can run any combination of modules on either
live data or replayed logs. The undistorted
data is then analyzed using a combination
of color thresholding, Canny edge detection,
contour analysis, and Hu moment characterization among other methods. Argo supports one
forward-facing XIMEA xiQ USB3 camera with
a wide-angle lens, and a downward-facing IDSuEye-6230SE-C-HQ Gigabit ethernet camera
for the mission elements located below Argo.
as they are made, allowing us to rapidly iterate upon our vision analysis algorithms. Each
mission element has its own independent vision
module. This allows for multiple modules to be
run in parallel.
2) CAVE: The CUAUV Automated Vision
Evaluator (CAVE) helps analyze vision performance by keeping a database of logged
video and providing a graphical framework for
quick tag-based annotation and automated testing. CAVE organizes captured logs and allows
searching by metadata, including information
such as the weather conditions, location, and
mission elements present in a video. Additionally, the system can play video files on demand
and stream frames directly to the existing vision framework, allowing for effortless testing.
Fig. 10: A screen shot of CAVE running on
legacy log data
Fig. 9: Vision system graphical user interface
1) Vision Tuning: A vision tuning system
enables fast, real-time adjustments to the vision
parameters. The vision tuning user interface
shows the results of intermediate steps and
makes it easy to see the outcomes of changes
F. Vehicle Logging and Simulation
The logging system captures the full sharedmemory of the vehicle during mission runs.
Furthermore, a log playback utility allows the
software team to simulate the vehicle with real
mission data and perform additional debugging
and development out of the water. This system
helps isolate bugs which only occur rarely.
We additionally use a fast and extensible networked simulator to rapidly test mission logic.
Work to extend the simulator with automated
mission unit testing and fuzzing functionality is
in progress. The simulator interfaces with our
existing shared memory subsystem, so simulated missions can be run without modification.
Cornell University Autonomous Underwater Vehicle
G. Mission System
A newly revamped mission system allows
for direct control of code execution without
sacrificing ease of reasoning. Tasks are created
in a simple functional style and can be composed to create various new useful tasks. The
simplest combinators used are “Sequential” and
“Concurrent” which run tasks in a serial or
parallel fashion respectively. In order to construct robust mission tasks resilient to many
failure cases, abstract inheritance and simple
finite state machines (“searching”, “centering”,
“dropping”) are utilized to minimize the time
needed to write and debug these additional
elements, serving to compensate for systematic
positional error. ASLAM additionally supports
time-based observational weighting, providing
an increased level of responsiveness to nonstatic mission elements.
I. Control
Using continuously collected and filtered vehicle state data, Argo has precise and accurate
vehicle control for all six degrees of freedom:
surge, sway, heave, yaw, pitch, and roll. The
vehicle uses a empirically tuned PID controller
for each degree of freedom along with a passive force model and continuous optimization.
The moment of inertia tensor of the vehicle
is estimated from CAD to allow for better
movement predictions. Using this system, Argo
can compensate for any drag and buoyancy
forces, even at non-trivial pitch and roll angles.
The control system enables high-level mission
code to set desired values for the velocity,
depth, heading, pitch, and roll.
Fig. 11: ASLAM map of mission elements
In order to accurately navigate between various unpredictably moving elements during a
run, our sub constructs a dynamically generated
map of objects within the pool, updating it as
the mission proceeds. The ASLAM (adaptive
simultaneous localization and mapping) suite,
an extension and generalization of our previous locator and layout algorithms, is built on
standard Bayesian statistics, using observations
of an object to probabilistically predict that object’s location. Instead of the covariance model
used last year, ASLAM constructs a probability
density map for the sub in addition to all the
Fig. 12: CUAUV’s LCD display
Argo features two bipartite ultra bright trichannel RGB LED strips. The LED strips are
powered by a control board which takes input
from the vehicle’s software via RS-232. These
provide visual feedback of the vehicle’s current
status, which allows for continuous monitoring
Cornell University Autonomous Underwater Vehicle
of mission progress during untethered runs. The
LCD display is a new addition to this year’s
vehicle, and allows for quick and easy reporting
of vehicle information without the need for a
computer. This is especially useful for system
diagnostics, internal pressure monitoring, vehicle trimming display, and thruster testing.
Argo is now in the pool testing phase. Prior
to vehicle assembly, the mechanical systems
were thoroughly leak tested, and the electrical
systems were bench tested. The first in-water
control test took place in late spring. Testing is
still underway to prepare Argo for the RoboSub
Fig. 13: A pool test of Argo in progress
CUAUV would like to thank all the individuals who have supported us over the past
year, including Cornell’s MAE, ECE, ORIE,
and CS departments, and Cornell alumni who
have supplied our team with needed lab space,
materials, tools, and funding. CUAUV would
especially like to thank our advisers: Professors
Alan Zehnder, Bruce Land, and Graeme Bailey;
Director of Cornell Aquatics Fred Debruyn,
the MAE Director of Instructional Laboratories Matt Ulinski, the Swanson Director of
Engineering Student Project Teams Rebecca
Macdonald, Cornell Engineering’s administrative staff, especially Emily Tompkins, Carol
Moss, and Maureen Letteer, and last but not
least the Cornell Rapid Prototyping Lab (RPL).
We would also like to thank all of our
corporate sponsors, without whom we would
not be able to compete:
Alumni Sponsors: Erin Fischell; Sam
Fladung; Kenneth Bongot; David Hayes; John
Diamond; Greg Meess; Leila Zheng; James
Rajsky; Tom Brooks; Kirill Kalinichev; James
Mwaura; Brian Schiffer; Nick Elser; and
David Hinkes.
Platinum Sponsors: Cornell University;
SolidWorks; Nexlogic; General Plastics;
BlueView; Mathworks; SEACON; Shell; and
American Portwell Technology.
Gold Sponsors: Teledyne RD Instruments,
LORD Microstrain, SeaBotix, Seaperch, General Motors Foundation, Adlink Technology
Inc., and SGS Tool Company.
Silver Sponsors: CadSoft USA; Intel Corporation; LeddarTech; Molex; Advance Energy
Inc.; iDS; ConocoPhillips; Lockheed Martin;
PNI Sensor Corporation; Sparton; Allied Vision Technologies; Surface Finish Technologies; Exxon Mobil; General Electric; and Bittele.
Bronze Sponsors: Georgia Case Company;
Adata; 3D Connexion; Sensata Technologies; Digi-Key; Advanced Circuits; Polymer
Plastics Corporation; The Mines Press Inc.;
JetVend; Cayuga Xpress; MaxAmps; Pneumadyne; Domino’s Pizza; DIAB; Drexel University; Asian Circuits; and Fast Circuits.
Fig. 14: The 2014-2015 CUAUV team with
Cornell University Autonomous Underwater Vehicle
Download PDF
Similar pages