This document provides an overview of the Seawolf IV autonomous underwater vehicle (AUV) designed by North Carolina State University to compete in the 2011 RoboSub competition hosted by AUVSI and ONR. The competition involves autonomously navigating an underwater obstacle course. Seawolf IV uses computer vision and acoustics systems along with sensors like cameras and hydrophones to complete the course. It is powered by batteries and propelled by five thrusters. The document describes the mechanical design, electronics, software architecture, and sensor systems of Seawolf IV.
1. Seawolf IV
North Carolina State University
RoboSub 2011
R. Beddingfield, M. Brown,J. Fowler, A. Hertzog, D. Hoffman,
T. Mervine, C. Thunes, D. Vanleeuwen, M. Wiggins, K. Wolf, R. Younts
June 28, 2011
Abstract
Seawolf is an AUV1 designed to compete in the 2011 RoboSub Competition. RoboSub is
hosted by AUVSI2 and the ONR3. The competition consists of an underwater obstacle course
that the robot must navigate autonomously. The competition obstacles are overcome with two
major systems: computer vision and acoustics. In addition to these major systems, Seawolf has
an array of sensors which give it information about the surroundings. Examples of these sensors
are pressure, IMU,4 cameras, and hydrophones. Seawolf maneuvers the course by means of five
thrusters with brushed motors operating on 24V battery power. Seawolf IV builds upon the design
decisions of Seawolf III. Common to Seawolf IV are a modular frame and a watertight Pelican case.
The frame allows components, such as thrusters and cameras to be easily added and repositioned.
A Pelican case held to the frame houses Seawolf IV’s electronics and keeps them dry. Its vision
software uses consumer USB and professional Firewire cameras to process and capture images.
In addition to OpenCV, custom vision algorithms give the system feedback about the obstacles
it sees. The acoustics system uses an Analog Devices Blackfin DSP5 development board and a
custom amplification and ADC6 board attached to the dev board. Seawolf IV software utilizes a
custom database for data storage and a message passing system to allow communication between
applications. The network protocol used by the message passing interface allows components
(such as the acoustics board) to connect and operate seamlessly with the other applications.
The mission and control software runs under Debian Linux on a Lenovo Netbook. The netbook
computer communicates with sensors and motor controllers by means of Arduino microcontrollers.
This document reviews each system in detail and reasoning for design decisions.
1
Autonomous Underwater Vehicle
2
Autonomous Unmanned Vehicle Systems International
3
Office of Naval Research
4
Inertial Measurement Unit
5
Digital Signal Processor
6
Analog to Digital Converter
1
2. 2 CLUB HISTORY
1 The AUV Competition
The North Carolina State University Underwater
Robotics Club provides students with a unique
opportunity to take a participate in a large col-
laborative project unlike those found in group
classroom projects. The Club’s AUV, “Sea-
wolf,” was designed and constructed by the stu-
dent team to compete in the AUVSI/ONR spon-
sored student competition in July, 2011 in San
Diego. The competition is held annually at the
Space and Naval Warfare Systems Center SSC SD
TRANSDEC Facility. The AUV is a system of
hardware and software designed to autonomously
navigate the competition obstacles.
The goals of the AUVSI competition are to
provide opportunities for students to experience
the challenges of system engineering, to develop
skill in accomplishing realistic missions with au-
tonomous vehicles and to foster relationships be-
tween young engineers and the organizations de-
veloping and producing autonomous vehicle tech-
nologies.
The theme of this year’s competition is
“RoboLove.” This year’s mission obstacles are:
• Path
• Flowers
• Lovers Lane
• Letters
• Cupid
• Vase & Sweeties House
These obstacles will be referred to in this paper
along with a short description of what the obsta-
cles is. For a more detailed description of these
obstacles, the competition rules can be viewed at
http://robosub.org.
2 Club History
The North Carolina State University Underwater
Robotics Club began in 2004. The club began
with generous support and mentorship from a lo-
cal robotics R& D company. Our first vehicle,
Seawolf I, was a direct result of a year’s worth
of collaboration on an innovative new AUV de-
sign the company developed for military applica-
tions. The students developed software and elec-
tronics for the first prototype vehicle, as well as
assisted with its construction. It was a tremen-
dously valuable experience for the students in-
volved. A year later in 2005, the team went back
to the drawing board to develop Seawolf II, which
debuted at the 2006 AUVSI International Au-
tonomous Underwater Vehicle Competition. Sea-
wolf II ranked 7th place in static judging, and 9th
place overall among 21 teams from all over the
world. Seawolf II served from 2005 through 2008.
Seawolf III was built for the 2009 competition.
Seawolf III ranked 16th out of 32 teams overall
in 2009. Seawolf III appeared again in the 2010
competition with many improvements in hopes
of being in the top 10. The team accomplished
their goal, and received 9th place overall in 2010.
For 2011, the team decided to keep many of the
designs of Seawolf III and improve upon them for
Seawolf IV. This included downsizing the Pelican
case, improving upon the layout of the craft, im-
proving custom circuit boards with new revisions,
and many software updates. The team hopes to
beat their 9th place finish from the prior year.
The current North Carolina State University
team consists of approximately 14 active mem-
bers; 10 members are attending the competition
in 2010. Students in the North Carolina State
University Underwater Robotics Club include the
following majors: Electrical & Computer Engi-
neering, Computer Science, Nuclear Engineering,
Applied mathematics, and Mechanical engineer-
ing. The team has three advisers: Dr. Muth,
Professor Greene, and Mr. Zeisz. The students
operate all aspects of the club including finances,
management, and engineering. The advisers offer
guidance and support when the team requests it
of them.
NC State University Seawolf IV 2011 1 of 9
3. 3 MECHANICS
3 Mechanics
Seawolf’s hardware and mechanics are designed
around the tasks set forth in the competition
rules. This section details Seawolf’s frame, elec-
tronics housing, motor configuration, connectors,
and dropper. Seawolf IV was designed in Solid-
works. A rendering of the design is detailed in
Figure 1.
Figure 1: Seawolf IV Mechanical Design
3.1 Frame
Seawolf incorporates an aluminum chassis frame
of T-slot 8020 extrusions. 8020 is shown in Fig-
ure 2. Aluminum was chosen because it is strong,
lightweight, and easy to cut thereby making it
perfect for our applications. This material, while
arguably lacking the aesthetics of SWI and SWII,
allows for bolt-on components which are highly
modular and configurable. Seawolf’s frame incor-
porates both a stand for dry display and hooks
for lifting with a small crane. Seawolf has a num-
ber of pieces of foam attached to the frame with
velcro. The foam makes Seawolf positively buoy-
ant tested to depths of 14ft. Seawolf’s buoyancy
can easily be changed as components are added/
removed from the frame and her weight changes.
Figure 2: 8020 Extrusion
Figure 3: Fischer Connector
3.2 Waterproof Case
The main housing for the computers and elec-
tronic hardware is enclosed in a plastic 1450 Pel-
ican case. The case can be seen in Figure 1. The
off-the-shelf Pelican case is durable, waterproof,
and easy to modify. The case adds roughly 30lbs
of buoyancy, which is offset by lead acid batter-
ies, thrusters, and various components mounted
to the frame. The case is seated into the frame
and secured with nylon straps. Pelican donated
two of these cases in 2010.
3.3 Cabling and Connectors
IGUS donated cable suitable for underwater use
to the project. This cable is used in conjunction
with Fischer Connectors (Figure 3). The con-
nectors are hermetically-sealed, dry-mateable un-
derwater connectors we obtained at a generously
discounted price in 2009. Fischer connectors are
relatively well priced, and the team has been us-
ing them since SWII was developed in 2006. Ad-
ditionally, the connectors are rather reliable and
seem to have a life of 3 competition years.
NC State University Seawolf IV 2011 2 of 9
4. 3 MECHANICS
Figure 4: Dropper
3.4 Marker Dropper
Seawolf IV has a servo-actuated marker drop-
per. This is used for the “Love Letters” obsta-
cle. While using the cameras to recognize the ’x’
and ’o’ outlines on the bottom of the competi-
tion tank, the ball dropper can drop one ball at
a time to demonstrate our ability to detect the
letter outlines. The ball dropper can hold up to
four ball-bearings; it holds only 2 during the per
the competition rules. The dropper assembly is
shown in 4. The assembly was designed in Solid-
works, produced using MasterCAM software, and
machined on MECHA Inc.’s automated mills.
3.5 Camera Enclosures
Seawolf IV has two camera enclosures. One is
machined out of aluminum. One was made using
a PVC coupler. The aluminum box was designed
in Solidworks and produced with MECHA Inc’s
machines locally as was the ball dropper. The en-
closure has one Fischer connector which connects
to the down-facing USB webcam. A Solidworks
rendering of the camera enclosure is shown in Fig-
ure 5. The PVC coupler that houses the team’s
forward facing FireWire camera was a tempo-
rary solution that turned into a permanent one.
The coupler has two clear acrylic ends which are
pressed against an o-ring to form a water-tight
seal. A Fischer connector goes through one end
of the tube, while the other end is left open for
Figure 5: Waterproof Aluminum Camera Box
Figure 6: Grabber Concept Design
the camera. The camera in this enclosure com-
municates over FireWire and is detailed in the
computer vision section 6.1.
3.6 Grabber
The team did not produce a grabber for the com-
petition this year as we decided to focus on other
competition elements. That being said, the team
did spend significant time coming up with draw-
ings and designs for developing an active grabber.
In the competition next year we plan on having a
grabber. Shown in Figure 6 is a rendering of one
such design.
3.7 Torpedo Launcher
At the time of this paper, a spring actuated tor-
pedo launcher is still in development. If we get
NC State University Seawolf IV 2011 3 of 9
5. 4 ELECTRONICS
Figure 7: Power Board
far enough in the competition, we may reattach
our pneumatic torpedo launcher from last year.
4 Electronics
Seawolf IV’s electronics have been in development
since 2008 when we first began working on Sea-
wolf III. Seawolf IV’s electronics are very similar
to those of Seawolf III but have a few improve-
ments. One of the problems we’ve had in years
past is that the thrusters kick back some interfer-
ence onto our 5V logic lines. This year we have
optically isolated the 24V power from the rest of
the system. The motors are powered off their
own separate 24V battery bank and the rest of
the devices are powered on a single 12V battery
with an isolated ground. We have three custom
boards in the craft this year: power board, motor
board, and peripheral board.
4.1 Power
Seawolf has several power needs. These are de-
tailed in the list below.
• 5V - Arduinos, servos
• 7.5V - Blackfin
• 9V - IMU
• 12V - FireWire, relays
Figure 8: Custom Motor Board
• 24V - motors
These voltages are created using our array of
three 12V lead acid batteries and our power dis-
tribution board on the perf board in Figure 7.
24V is created for the thrusters using two 5Ahr
12V lead acid batteries. These are isolated from
the rest of the system on the motorboard using
optoisolators. The remaining 12V battery gen-
erates the 5, 7.5, 9, and 12V rails for the vari-
ous peripherals. Linear regulators on the power
board accomplish this.
4.2 Motor Control
Seawolf has five Seabotix DC Brushed Thrusters.
We run our thrusters with 24V DC coming from
two 12V sealed lead acid batteries in series. These
batteries are inexpensive and robust. The team
designed a custom motor control board and had
it fabricated on a PCB. The motorboard is shown
in Figure 8. The board has three Arduino micro-
controllers and five Pololu H-bridges. Each Ar-
duino microcontroller has two hardware timers
sufficient for the PWM7
signal, therefore, 3 con-
trollers can provide signal for 6 thrusters. The
H-bridge circuits take a 5V PWM signal input
and output a 24V PWM signal. Since there are
three Arduinos on the board, and to eliminate
7
Pulse Width Modulation
NC State University Seawolf IV 2011 4 of 9
6. 5 SOFTWARE
Figure 9: IMU
having three USB cables cluttering our electron-
ics case, two Arduinos are I2C slaves and one is
the master. Only one Arduino communicates di-
rectly over USB to the computer.
4.3 Peripheral Board
The peripheral board controls everything except
the motors. This includes: pressure transducer,
grabber, dropper, torpedo launcher, and status
light.
4.4 Sensors
Seawolf has two main sensors (excluding the cam-
eras) on board. These include the IMU and the
pressure sensor. The IMU gives the robot orienta-
tion data. The pressure sensor gives us feedback
about how deep we are.
4.4.1 IMU Sensor
A Microstrain 3DM-GX1 Inertial Measurement
Unit provides Seawolf IV with orientation and
heading data. We have used the same IMU since
2004. From time to time we must calibrate the
compass data. We have written a custom appli-
cation to aid in this process. The IMU is shown
in Figure 9. The IMU is the only device that
does not interface to the PC with an Arduino;
the IMU uses a serial-to-USB adapter.
Figure 10: Pressure Transducer
4.4.2 Pressure Transducer
Seawolf utilizes a Measurement Specialties analog
pressure transducer. This is connected to an ana-
log in pin on an Arduino. The depth units that
we receive from the Arduino are similar in size to
feet. The pressure sensor is shown in Figure 10.
4.4.3 Status Light and Kill Switch
A waterproof toggle switch is located at the back
of the craft along with a status light for visibility
in the water. Last year in addition to the switch,
an RFID card reader was used to start the mis-
sion. The RFID reader is removed this year for
simplicity. The status light is a bright LED light
that can be seen underwater. There are three sta-
tus conditions: off, blinking, and solid on. The
light turns off when the robot is killed. The light
will be blinking when counting down 5 seconds
for the mission to start. The light will be solid
on when the robot is operational.
5 Software
Seawolf uses a distributed software architecture
based on a platform developed within the club
called libseawolf. This platform provides inter-
process communication (IPC) over standard TCP
which allows components of the system to be
distributed across multiple machines as is done
with Seawolf’s acoustics system. libseawolf allows
NC State University Seawolf IV 2011 5 of 9
7. 6 VISION
Application Pool
...
libseawolf
Hub server
libseawolf db
Application 3
libseawolf
Application 2
libseawolf
Application 1
libseawolf
Figure 11: libseawolf
applications to seamlessly set and access shared
variables, send notifications, and wait for events
to complete. In addition to the IPC features,
libseawolf provides numerous useful support rou-
tines for development.
Using a distributed architecture ensures that
interfaces are well defined and that components
have loose coupling between them. In addition,
having separate applications for separate func-
tionality makes it easier for multiple developers
to work together without interfering with one an-
other.
5.1 Python
Python bindings have been added to libseawolf.
Much of the new software for Seawolf IV has been
implemented in Python. The switch from a C
only to a mixed language environment with C
and Python interoperating seamlessly has been
a huge boost to the software development pro-
cess. High level mission control has been moved
to Python, and a substantial amount of the vision
and navigational code as well. Existing and new
C code integrates easily using Python’s ctypes
module and libseawolf. This provides the flexibil-
ity to implement performance-critical algorithms
and hardware interfaces in C while still being able
to use Python for higher level control.
This switch has simplified debugging by mov-
ing much of the code to a memory safe language.
5.2 Mission Control
Historically, Seawolf’s vision and mission control
code have been tightly coupled. This year an ef-
fort was made to separate them so they could be
developed, debugged, and tested independently.
The switch from C to Python facilitated this.
Mission control and vision software now commu-
nicate with one another through Python’s multi-
processing library. This allows the mission con-
trol code to make search requests to a vision “en-
tity searcher”. This process is solely responsible
for accepting entity search requests, processing
camera frames, and reporting back information
about object locations to the mission control.
6 Vision
For the 2011 competition, the vision subsystem
was entirely rewritten in the Python program-
ming language. We utilized the Python OpenCV
bindings in order to do this. Writing in this high
level language allowed us to develop quickly and
try many ideas. Some of our custom algorithms
had to be written in C so they could be fast
enough to be useful.
6.1 Camera Hardware
The vision system uses two different cameras.
The first camera is a Logitech Quickcam 4000
NC State University Seawolf IV 2011 6 of 9
8. 7 ACOUSTICS
Figure 12: From left to right: Corner Detection, Edge Detection, Template Matching
CCD camera. It is a inexpensive USB webcam
that points downwards. A CCD type camera was
chosen for performance in low-light conditions.
The second camera is an IMI Tech IMC-11FT.
Although this camera is expensive compared to
the Logitech Quickcam, it is a significant im-
provement. The IMC-11FT has high light sen-
sitivity and configurable camera options that al-
low us to perform well in varying light conditions.
The lens for this camera is interchangeable. A
lens with a variable focal length of 5-50mm was
used, set to a focal length of close to 5mm. The
lack of a wide field of view caused problem for us
in the 2010 competition.
6.2 Path Detection
Seawolf’s software identifies a path marker by its
color, and then its shape. The color detection
algorithm is run on each frame to select the most
orange pixels. OpenCV’s hough transform is then
used to identify the dominant edges of the path.
Once a path has been detected and measured,
the direction is recorded and set to the robot’s
angular heading.
6.3 Love Letters Letters
Individual corners of the bins are detected us-
ing OpenCV’s feature detection software. The
found corners are then connected with the help
of a Canny edge detect. Three connected cor-
ners of a bin must be visible in order for the bin
to be identified. The red letters are selected by
our custom color finding algorithm, and a simple
template match is performed to determine their
shape.
7 Acoustics
Seawolf’s acoustics system uses input from four
hydrophones connected to a four-channel ADC
which is interfaced to a Blackfin DSP. Code on
the DSP processes the signal data to determine
the time delta between the arrival of a ping at
each hydrophone. With this information, and
knowledge of the physical arrangement of the hy-
drophones, a simple control algorithm is used to
keep the craft advancing in the direction of the
ping source.
7.1 Data Capture
Four HTI-96-MIN hydrophones are attached to
Seawolf’s frame and connect though a single Fis-
cher connector to the inside of the Pelican case
where the outputs of the hydrophones run to the
inputs of the ADC board. The ADC board is
built around an Analog Devices AD7865, simul-
taneous sampling, four channel, 14 bit ADC. The
ADC receives a 96kHz conversion clock generated
NC State University Seawolf IV 2011 7 of 9
9. 7 ACOUSTICS
Figure 13: Acoustics Diagram
by the DSP providing 96ksps on each of the four
channels. Samples from the ADC are received
by the Blackfin DSP via its Parallel Peripheral
Interface (PPI) port.
7.2 Data Buffering and Processing
A Blackfin BF-537 DSP evaluation board handles
data buffering and signal processing for Seawolf’s
acoustics platform. The board runs uClinux, a
small Linux variant designed for use on embed-
ded systems. A Linux kernel module handles in-
terfacing to the ADC. The kernel module config-
ures the PPI port and the Blackfin’s DMA engine
for data buffering. The DMA engine available on
the Blackfin is capable of receiving data directly
from the PPI port, as well as handling buffering
alternating memory banks. Alternating buffers
provide the advantage that while one is filling,
the other can be processed, without interrupting
data capture. Data packets are received by user-
space code from the kernel module, where they
are copied into a larger circular buffer. As the
data packets are read they are run through a FIR
filter designed to act as a bandpass filter to iso-
late the appropriate pinger frequency. After the
FIR filter is applied, the data packet can easily be
searched for any values larger than a threshold,
indicating the arrival of a ping. The arrival of a
ping triggers the start of a processing sequence.
First the FIR filter is applied to the full circular
buffer for each channels data, then the time of
arrival of the ping on each channel can be easily
determined. The time of arrival for each channel
is then re-zeroed with respect to the first channel
such that all the timings are relative to the time
of arrival on channel one.
7.3 Control
Once the time of arrival delays are computed for
each channel, theses values are passed across the
network to the netbook where the acoustics con-
trol application runs. Given knowledge of the
physical arrangement of the hydrophones on the
craft, the controller is able to direct the craft so
the timing delays received from the Blackfin ap-
proach the theoretical, expected delays for when
the craft is directed towards the pinger. A PID
controller handles this process.
NC State University Seawolf IV 2011 8 of 9
10. LIST OF FIGURES
8 Strategy
We’re confident that we can get past the gate
and get to the buoys. Hopefully Seawolf will get
past the Love Lane and to the Love Letters. This
will also include 3 paths. Unfortunately, during
recent weeks, we had a hardware failure of our
Blackfin DSP board. As a team we decided that
we’d focus on vision tasks from that part forward.
Therefore we will most likely not make it to the
pinger and to the object to pick up. Additionally
our torpedo launcher is still in the concept phase
as we chose to redesign our torpedo launcher from
last year. Therefore we will not be attempting the
Cupid torpedo target.
9 Acknowledgements
We would like to thank our advisers, Dr. Muth,
Professor Greene, and Mr. Zeisz for their sup-
port with our project. Dr. Muth has generously
provided lab space for our team since 2005 in
Burlington Labs. We are grateful for the space
our team has to call home to Seawolf develop-
ment projects and meetings. We would like to
thank the ECE department staff especially Ms.
Schwab. Additionally we would like to thank
Mr. Campbell at the NCSU Aquatic Center for
help scheduling pool reservations for testing Sea-
wolf. We would also like to thank the other mem-
bers of the NCSU Aquatic Center and Carmichael
Gymnasium for their accommodations during our
pool testing. Mark Price and Tranquil Hosting/
RootBSD has provided server space for our team
for free. We host our website, code repository,
FTP server, and other services with RootBSD.
The NCSU Engineering Council provides a small
amount of funding each semester along with the
Student government.
List of Figures
1 Seawolf IV Mechanical Design . . 2
2 8020 Extrusion . . . . . . . . . . 2
3 Fischer Connector . . . . . . . . . 2
4 Dropper . . . . . . . . . . . . . . 3
5 Waterproof Aluminum Camera Box 3
6 Grabber Concept Design . . . . . 3
7 Power Board . . . . . . . . . . . . 4
8 Custom Motor Board . . . . . . . 4
9 IMU . . . . . . . . . . . . . . . . 5
10 Pressure Transducer . . . . . . . 5
11 libseawolf . . . . . . . . . . . . . 6
12 From left to right: Corner De-
tection, Edge Detection, Template
Matching . . . . . . . . . . . . . 7
13 Acoustics Diagram . . . . . . . . 8
NC State University Seawolf IV 2011 9 of 9