SlideShare a Scribd company logo
1 of 10
Download to read offline
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 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 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
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
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
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
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
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
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
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

More Related Content

Similar to 2011_journal_paper

EE392 Final Report AICQC
EE392 Final Report AICQCEE392 Final Report AICQC
EE392 Final Report AICQC
Sean McQuay
 
Hydromodus- An Autonomous Underwater Vehicle
Hydromodus- An Autonomous Underwater VehicleHydromodus- An Autonomous Underwater Vehicle
Hydromodus- An Autonomous Underwater Vehicle
Jordan Read
 
SRM_Journal_RS2015
SRM_Journal_RS2015SRM_Journal_RS2015
SRM_Journal_RS2015
Aniket Ray
 
Daniel Alvarez Master's Thesis 2014
Daniel Alvarez Master's Thesis 2014Daniel Alvarez Master's Thesis 2014
Daniel Alvarez Master's Thesis 2014
Daniel Alvarez
 
Senior Thesis - ESP - Final
Senior Thesis - ESP - FinalSenior Thesis - ESP - Final
Senior Thesis - ESP - Final
Elliot Triplett
 

Similar to 2011_journal_paper (20)

EE392 Final Report AICQC
EE392 Final Report AICQCEE392 Final Report AICQC
EE392 Final Report AICQC
 
IRJET- A Real Time Yolo Human Detection in Flood Affected Areas based on Vide...
IRJET- A Real Time Yolo Human Detection in Flood Affected Areas based on Vide...IRJET- A Real Time Yolo Human Detection in Flood Affected Areas based on Vide...
IRJET- A Real Time Yolo Human Detection in Flood Affected Areas based on Vide...
 
DESIGN AND FABRICATION OF TWINROTOR UAV
DESIGN AND FABRICATION OF TWINROTOR UAVDESIGN AND FABRICATION OF TWINROTOR UAV
DESIGN AND FABRICATION OF TWINROTOR UAV
 
IRJET- Four Propellers Architecture Proposed for the Submarine Drone
IRJET- Four Propellers Architecture Proposed for the Submarine DroneIRJET- Four Propellers Architecture Proposed for the Submarine Drone
IRJET- Four Propellers Architecture Proposed for the Submarine Drone
 
Hydromodus- An Autonomous Underwater Vehicle
Hydromodus- An Autonomous Underwater VehicleHydromodus- An Autonomous Underwater Vehicle
Hydromodus- An Autonomous Underwater Vehicle
 
Object Detection and Ship Classification Using YOLOv5
Object Detection and Ship Classification Using YOLOv5Object Detection and Ship Classification Using YOLOv5
Object Detection and Ship Classification Using YOLOv5
 
Acquaint you with WIM Why produce WIM in the military Describe Rational Ro...
Acquaint you with WIM  Why produce WIM in the military   Describe Rational Ro...Acquaint you with WIM  Why produce WIM in the military   Describe Rational Ro...
Acquaint you with WIM Why produce WIM in the military Describe Rational Ro...
 
SRM_Journal_RS2015
SRM_Journal_RS2015SRM_Journal_RS2015
SRM_Journal_RS2015
 
SRMAUV Journal
SRMAUV JournalSRMAUV Journal
SRMAUV Journal
 
ADROIT_IJAERD
ADROIT_IJAERDADROIT_IJAERD
ADROIT_IJAERD
 
Shaun Humes’ Projects And Leadership
Shaun Humes’ Projects And LeadershipShaun Humes’ Projects And Leadership
Shaun Humes’ Projects And Leadership
 
Daniel Alvarez Master's Thesis 2014
Daniel Alvarez Master's Thesis 2014Daniel Alvarez Master's Thesis 2014
Daniel Alvarez Master's Thesis 2014
 
H3O 2014 Technical Report ,Faculty of Engineering at Helwan university
H3O 2014 Technical Report ,Faculty of Engineering at Helwan universityH3O 2014 Technical Report ,Faculty of Engineering at Helwan university
H3O 2014 Technical Report ,Faculty of Engineering at Helwan university
 
John phillipsportfolio 4 10-17
John phillipsportfolio 4 10-17John phillipsportfolio 4 10-17
John phillipsportfolio 4 10-17
 
DDESIGN AND FABRICATION OF TWINROTOR UAV
DDESIGN AND FABRICATION OF TWINROTOR UAVDDESIGN AND FABRICATION OF TWINROTOR UAV
DDESIGN AND FABRICATION OF TWINROTOR UAV
 
Review on Web Crippling Capacity of Cold Formed Steel Sections
Review on Web Crippling Capacity of Cold Formed Steel SectionsReview on Web Crippling Capacity of Cold Formed Steel Sections
Review on Web Crippling Capacity of Cold Formed Steel Sections
 
Design,Construction And Structure Analysis Of Twinrotor UAV
Design,Construction And Structure Analysis Of Twinrotor UAVDesign,Construction And Structure Analysis Of Twinrotor UAV
Design,Construction And Structure Analysis Of Twinrotor UAV
 
Design optimization of excavator bucket using Finite Element Method
Design optimization of excavator bucket using Finite Element MethodDesign optimization of excavator bucket using Finite Element Method
Design optimization of excavator bucket using Finite Element Method
 
LOCOMOTIVE WHEEL ASSEMBLY DESIGN OPTIMIZATION USING FINITE ELEMENT ANALYSIS
LOCOMOTIVE WHEEL ASSEMBLY DESIGN OPTIMIZATION USING FINITE ELEMENT ANALYSISLOCOMOTIVE WHEEL ASSEMBLY DESIGN OPTIMIZATION USING FINITE ELEMENT ANALYSIS
LOCOMOTIVE WHEEL ASSEMBLY DESIGN OPTIMIZATION USING FINITE ELEMENT ANALYSIS
 
Senior Thesis - ESP - Final
Senior Thesis - ESP - FinalSenior Thesis - ESP - Final
Senior Thesis - ESP - Final
 

2011_journal_paper

  • 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