Introducing the Mongoose — a Linux-powered submarine
Aug 4, 2005 — by LinuxDevices Staff — from the LinuxDevices Archive — 4 viewsForeword — The “Mongoose” — a Linux-powered robot submarine built by students from the Georgia Institute of Technology — competed with 18 other student-built subs on August 6th and 7th, 2005, in an attempt to successfully navigate through a field of obstacles and complete its programmed mission. The event, held in San Diego, marked the eighth annual Association for Unmanned Vehicle Systems International (AUVSI) Autonomous Underwater Vehicle Competition. The Mongoose finished 12th overall but impressed the judges enough to be named “Best Newcomer,” resulting in the GT team taking home a $1,000 prize for its efforts. PC/104 board-maker Parvus Corp. was a sponsor of the Mongoose project, donating several of its SpacePC PC/104 CPU modules, OnPower PC/104 power supplies, and I/O modules. The GT Mongoose team supplied LinuxDevices.com with the following whitepaper that describes the project and how the submarine was designed and built. Enjoy . . .
Introducing the Mongoose — a Linux-powered Submarine
Georgia Tech Marine Robotics Group
Abstract
The Mongoose, Georgia Tech's entry to the 8th Annual AUVSI and ONR Autonomous Underwater Vehicle Competition, is developed around simple, effective solutions to the challenges presented in the competition. The Mongoose includes a single watertight chamber of clear PVC. Attached to this PVC tube is an aluminum frame used to mount motors and instruments. Propulsion is provided by four trolling motors, controlling translation and rotation about two axes. Stability about the third axis (roll) is maintained by a of gravity significantly below the center of buoyancy.
The Mongoose
Two cameras, one aimed forward and one aimed down through the clear PVC, provide the majority of the data needed for completion of the mission. Additional sensors include directional hydrophones and a pressure transducer. Data collection, processing, and corresponding vehicle actions are controlled by three 266 MHz PC/104 CPUs running Linux. Two of the three computers are dedicated to vision algorithms while the third controls mission objectives and interacts with the hardware. Four programmed PIC chips are used to supply the motors with an efficient pulse width modulated signal through H-bridges. The markers for the pipeline mission are held in place by permanent magnets and dropped using an electromagnet, eliminating the need for a mechanical release.
Introduction
Georgia Tech's first entry to the Autonomous Underwater Vehicle Competition, the Mongoose, was developed and built on a small budget with an eight-person team. Throughout the design process, the team developed ways to use common and inexpensive technology to meet the objectives of the competition, rather than using custom or specialty components.
Without previous experience at the competition, the Marine Robotics Group systematically tested each stage of the design, ensuring each component and subsystem consistently functioned as desired. With this approach, problems were specifically identified and corrected.
Structure
The Mongoose is designed around a single robust airtight compartment composed of 8″ clear PVC, a permanent polycarbonate front plate, and a removable aluminum rear plate. The use of clear PVC and polycarbonate allows for multiple cameras within the main body of the Mongoose.
Cutaway of PVC Connector and Endcap
The rear aluminum plate is bolted to the vehicle. A standard schedule 80 PVC fitting is used to strengthen this connection, and aluminum inserts are used to avoid wear on the PVC. An o-ring between the PVC fitting and the plate provides a seal that was tested against jarring and vibration at depth.
Bulgin Environmentally Sealed Sockets rated to IP68 are used to seal wiring for both signals and power, including an Ethernet connection that allows a poolside computer to monitor the vehicle during testing.
Endcap with Bulgin Environmentally Sealed Sockets
A frame created from 80/20 extruded aluminum is attached to the watertight compartment using U-shaped steel rods. 80/20 was selected for its versatility: the Marine Robotics Group was able to quickly construct mounts for any equipment attached to the exterior of the sub using the T-shaped slots in the 80/20.
Propulsion
The Mongoose employs four Minn Kota Endura trolling motors to control translation in two axes and rotation in two axes. Trolling motors, while heavier and less efficient than true underwater thrusters, were the best option within the budget. Since trolling motors are typically used for low forward speeds, the Marine Robotics Group purchased and mounted higher speed propellers. The Endura trolling motors draw 40 amps at 12 volts at stall. Current draw is approximately 15 amps in motion.
Two motors are mounted on the side of the vehicle, located near the longitudinal center of gravity (CG). These control forward/reverse translation and yaw. Two motors are mounted at the forward and rear of the vehicle. These control vertical translation and pitch. The motors are mounted below the body of the sub itself to both lower the CG and avoid obstructing the camera view. The low CG is critical, since the Mongoose has no motor control over roll. The low CG relative to the center of buoyancy provides a powerful restoring moment when the vehicle is rolled.
Minn Kota Endura Trolling Motor with High-Speed Propeller
Endura trolling motors are typically powered by a 12V marine battery and controlled with a variable resistor knob. The Marine Robotics Group cut down the shaft running from the motor to the control knob and removed the handle and knob. The motors were then connected through H-bridges connected to a pulse width modulated (PWM) command signal and the Mongoose's power supply. PWM was chosen over a variable voltage because it is both more efficient and easier to implement in a digital environment.
Power Sonic PS-1270 12V Battery
H-bridges allow the isolation of the signal (and hence the sensitive electronics) from the power supply. The H-bridge takes a low voltage and current signal and a high voltage input then outputs a high voltage and current of the same form as the input to the motor.
Power Distribution
The Mongoose uses four Power Sonic PS- 1270 batteries for all power on the vehicle. One battery is dedicated to the computer system to ensure an uninterrupted power supply. This battery is connected through a power card that conditions the voltage and current for the specific needs of the computers.
Master Circuit Diagram
The cameras are connected using USB and are powered through the computers. The remaining three batteries are connected in parallel to provide the necessary capacity. Each battery is capable of discharging with enough current to run all four motors. The motor circuit is also used to power the pressure sensor used to measure depth and to trigger the solenoid used to release the markers.
Computing
The Mongoose employs three Parvus 266 MHz PC/104 CPUs. Two are dedicated to analysis of the data of the two cameras. The third controls vehicle objectives and motion. All three systems use Linux (Debian Sarge release with kernel 2.6.11). Using a modular Linux OS allowed the Marine Robotics Group to load only the necessary software and easily interface with the PC/104 both on a dedicated hard drive and through SSH with a laptop.
The two vision computers draw data from two Logitech Quickcam Pro 4000 USB cameras. Though the cameras are capable of video and stills at 640×480 resolution, a lower 320×240 is used on the Mongoose to reduce the amount of data that is processed. The frames are acquired in YUV420P format.
Logitech Quickcam Pro 4000 On Polycarbonate Mounting Block
The software running on the PC/104 first converts the images to RGB format then performs a color segmentation to isolate four basic colors. Blob tracking is used to identify the blinking light for the docking mission. For the pipeline, an EM algorithm fits one or two lines to the pixels identified as orange in the color segmentation. These lines are then used to determine the relative angle of the sub to the pipeline.
The non-vision computer acquires data from the pressure sensor, sonar, and vision results to control the motion of the vehicle and marker drops through the use of a custom API written in C. Use of an API allows the vehicle navigation and overall mission progress to be separated from technical code controlling circuits. A digital IO board on the PC/104 is used by a variety of API functions to control the hardware on the Mongoose. Systems on the Mongoose were designed to operate digitally whenever possible for ease of use with the IO board.
The generation of the PWM signal is outsourced from the computer to four identical programmed PIC chips. Each chip takes in a 4-bit magnitude signal and a direction signal from the IO board and outputs a PWM signal of appropriate duty cycle. This signal is input to the Hbridge that powers the motor.
Depth Sensor
An Omega PX pressure transducer is used to estimate depth. The analog transducer output is converted using an analog to digital converter and sent to the IO board.
Sonar
The Mongoose uses an array of directional hydrophones aligned in a horizontal plane to locate the pinger. By comparing the signal strength on different hydrophones, the heading to the pinger can be determined. Equal signal in all directions indicates that the Mongoose is above the pinger and should surface. Directional hydrophones allow us to ascertain direction without relying on precise timing and a comparison of magnitudes eases identification of the practice and competition pingers.
Markers
The markers are mounted on small polycarbonate guides attached to the bottom of the PVC body. During normal operation of the Mongoose, the markers are held in place using a permanent magnet. When the a marker drop is required, an electromagnet built from a solenoid is used to overpower the permanent magnet and drop the marker. This electromagnetic solution takes advantage of the existing power circuit and eliminates the need for a complex physical mechanism.
Conclusion
The Mongoose is a low-cost autonomous underwater vehicle capable of completing the mission presented by the 8th Annual AUVSI and ONR Autonomous Underwater Vehicle Competition. This was accomplished by adapting reliable, inexpensive technology for use on an underwater vehicle. This emphasis on proven technology was reinforced by systematic testing at every stage of the design, allowing the team to build a highly functional vehicle without previous competition experience. We look forward to the opportunity to test our design at the 2005 competition.
The finished Mongoose
(Click image to enlarge)
Looking in the end
View of PC/104 embedded computer through plexiglass casing
(Click image to enlarge)
Closeup of the PC/104 embedded computer
This paper was prepared by the Georgia Tech Marine Robotics Group:
- Melissa Cataldo
- Daniel Cooksey
- Lucas Garza
- Jack Griffin Brian Lockwood
- John Parish
- Tyler Smith
- Rick Uhlman Dr. Tucker Balch (Advisor)
With special thanks to:
- The Borg Lab
- Georgia Tech Student Foundation
- Parvus Dan Walker
- Georgia Tech Aquatic Center
- Debbie Dorsey
Copyright © 2005, the Georgia Tech Marine Robotics Group. All rights reserved. Reproduced with permission.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.