1
SubjuGator 2014: Design and Implementation of a Modular, Fault Tolerant AUV P. Walters, N. Sauder, J. Nezvadovitz, F. Voight, A. Gray, E. M. Schwartz
Abstract—Modern autonomous underwater vehicle (AUV) research is moving towards multi-agent system integration and control. Many university research projects, however, are restricted by cost to obtain even a single AUV platform. An affordable, robust AUV design is presented with special emphasis on modularity and fault tolerance, guided by previous platform iterations and historically successful AUV designs. Modularity is obtained by the loose coupling of typical AUV tasks such as navigation, image processing, and interaction with platform specific hardware. Fault tolerance is integrated from the lowest hardware levels to the vehicle’s mission planning framework. Major system design features including electrical infrastructure, mechanical design, and software architecture are presented. Application to the 17th annual AUVSI RoboSub competition is addressed.
I. I NTRODUCTION Leveraging 18 years of autonomous underwater vehicle (AUV) development experience at the University of Florida, which has produced 6 individual platform designs, the SubjuGator family of AUVs has progressed to accommodate advances in sensors, computing, and mission requirements leading to the design of the current generation SubjuGator 7 vehicle (with an eigth generation design in progress). External design influences include commercially available underwater vehicles, which are generally factored into two broad classes: long range, slender, under-actuated vehicles and short range, precision movement, fully-actuated vehicles. This large difference in capabilities forces the use of multiple vehicles with multiple payload configurations, increasing necessary overhead. SubjuGator 7 is a novel attempt to bridge the gap between the separate design classes Patrick Walters, Nathan Sauder, and Jason Nezvadovitz are with the Department of Mechanical and Aerospace Engineering, University of Florida, Gainesville, FL 32611-6250, USA. Email: {walters8, nsauder, jnezvadovitz}@ufl.edu Forrest Voight and Andy Gray are with the Department of Electrical and Computer Engineering, University of Florida, Gainesville, FL 32611-6250, USA. Email: {forrestv, andygrayia}@ufl.edu Eric M. Schwartz is the Associate Director of the Machine Intelligence Lab and Master Lecturer in ECE, University of Florida, Gainesville, FL 32611-6250, USA. Email:
[email protected].
Figure 1: Assembly of SubjuGator 7 pressure vessels.
and unify the capabilities of both into a single low cost platform. The Autonomous Unmanned Vehicle Systems International (AUVSI) and the Office of Naval Research (ONR) are sponsors of the 17th Annual International RoboSub Competition, to be held in San Diego, California, at the Space and Naval Warfare Systems Command’s (SPAWAR) Transducer Evaluation Center (TRANSDEC) facility, July 28nd through August 3rd, 2014. The seventh generation SubjuGator AUV has evolved to not only meet the new challenges of the annual competition, but to engage in groundbreaking research initiatives. SubjuGator 7 has been under development for the past four years. New technologies are continually integrated into the vehicle. For the 2014 competition, special emphasis has been placed on increasing the reliablity of the pneumatics systems. Changes introduced this year include a new pressure vessel for the pneumatic valves, more accurate topedo design, continued work on robust computer vision and an improved mission planning architecture. An overview of the current technologies integrated into SubjuGator 7 are presented in the following sections. II. H ARDWARE D ESIGN A primary feature of SubjuGator 7 is the ability to sustain operation after a failure has occurred, where the failure can be of mechanical, electrical, or software origin. To achieve this goal, the vehicle is designed so that during a subsystem failure, the vehicle as a whole
is still capable of completing a task, or at the very least, safely returning to a recovery point to be removed from the environment. As an example, the redundant eight thruster design allows for the vehicle to maintain full six degree of freedom control in the event that on-board software detects a thruster failure. Design for fault tolerance also motivates a modular system structure, with each module performing specific tasks while communicating with other modules via an Ethernet medium. Modules are typically encapsulated in their own pressure vessel. Each pressure vessel is designed to meet the desired shallow water depth rating of 150 feet (approx. 45 meters). To achieve this constraint, all pressure vessels in the current configuration are manufactured from 6061-T6 aluminum alloy that is hard-anodized for electrical insulation and corrosion resistance. Interconnections between modules are made using wet-mateable connectors, allowing for easy addition or removal in the work environment. The current configuration of SubjuGator 7 has the following design parameters: • Dry Weight: 115lb (Trimmed to be 1% positively buoyant in water) • Overall Dimensions: 50”x18”x18” (LxWxH) • Maximum Surge Thrust: 12 lbf (Bollard Pull) • Maximum Heave Thrust: 16 lbf (Bollard Pull) • Maximum Sway Thrust: 8 lbf (Bollard Pull) To unify the different modules into a suitable AUV platform, a 6061-T6 aluminum hull was designed and manufactured. It is split into three folding weldments for easy access to the main pressure vessel and acts to both streamline the underside of the AUV, as well as protect it from collision. Figure 2 demonstrates the use of the folding hull. The overall assembly configuration of SubjuGator 7 and each of its pressure vessels is shown in Figure 1. All of the hardware components were manufactured by students on the SubjuGator team and volunteers. A few of the highlights in the the AUV’s manufacturing are CNC machining, welding of all pressure vessels, and marriage of the DVL box to the main frame, Figure 3. Other manufacturing techniques used in the project include laser and waterjet cutting. Endcaps and cabling using a urethane potting material were made to interface with the commercial thrusters, Figure 4. A high level overview of the hardware for each module is presented in the following subsections. A. Main Pressure Vessel The main pressure vessel of SubjuGator 7 contains vehicle specific electrical hardware, and ample connections to environment sensors (e.g., cameras, passive sonar, SubjuGator
Figure 2: Demonstration of folding weldments which allow access to bulkheads and internal computer pressure vessel components through endcap removal.
Figure 3: Top Left: CNC machining of an endcap, Top Right: DVL box in the main frame, Bottom Left: Welding of a battery pod, Bottom Right: Waterjet cutting.
water temperature sensors, etc). The vessel contains the following major components: • COTS Intel Xeon L3426 mainboard in Mini-ITX form factor • COTS dual 8 port Ethernet switches • 8 custom motor control modules • Custom power management and monitoring circuitry The components inside the main pressure vessel are separated into two groups and are mounted on two
University of Florida
2
Figure 4: Custom cable potting for thrusters.
independent trays, the forward tray and the rear tray. Each tray is attached to one of the endcaps and can be removed from the pressure vessel by removing the corresponding end cap. The forward tray houses the primary computer and its associated power supply. The rear tray houses the power distribution components, the networking hub and the motor control modules. Figure 5 shows each of the assembled main pressure vessel trays.
communication is facilitated through the Ethernet bus; however, each motor control module can be configured to emulate a standard serial port over USB. Peak current, maximum current slew, maximum motor voltage, and many other programmable features are accessible via a web browser or a programmatic serial communication protocol. Each motor in the AUV design has a dedicated motor controller. The independence of each controller is used to encapsulate catastrophic failures to a single source instead of inducing multiple failure points. Power management circuitry, shown in Figure 7, inside the main pressure vessel allows for multiple hot swappable external power supplies to be joined into two primary 16V and 32V rails, transparent to any devices that are powered. The design also preserves the complete isolation of these two rails, segmenting any inductive or heavily switching loads to a confined power space away from sensitive sensors and microelectronics.
Figure 5: Left: Main pressure vessel forward tray, Right: Main pressure vessel rear tray. The primary computer performs environment sensing and mission level tasks. It also allows for the connectivity of USB peripherals, such as cameras and specialized data acquisition devices.
Figure 7: Power management and merge hardware. Since nearly all of the individual modules in SubjuGator 7 were designed to communicate via Ethernet, the main pressure vessel also houses the networking hub. The hub consists of two 8 port Ethernet switches which allow each module to communicate to local network addresses internally as well as external addresses when SubjuGator 7 is actively tethered. B. Navigation Pressure Vessel
Figure 6: Motor control hardware. The eight motor control modules, Figure 6, incorporate algorithms and necessary sensor interfaces to safely control brushed or sensored brushless motors at up to 50V with a maximum load of 10A. Default SubjuGator
One of the major contributions of the SubjuGator 7 design is the modularization of the sensors and components necessary to pilot an underwater vehicle. This modularization is evident both electrically and mechanically. The platform specific components (e.g., motor control modules, platform specific processing, etc.) have been removed, leaving only the core essentials to navigate and control a generic vehicle. The navigation sensors that
University of Florida
3
are vehicle independent, such as an inertial measurement unit (IMU), Doppler velocity log (DVL), depth sensor, temperature sensor, and GPS receiver, are integrated into the navigation pressure vessel, along with the processing capability to unify the data in the form of a navigation and control computer. Since the majority of the sensors incorporated are common to most modern AUV platforms [1], only the custom designed navigation computer is described in more detail.
Figure 9: Navigation pressure vessel.
Figure 8: Navigation computer. The navigation computer, Figure 8, consists of the following major components: • Gumstix Overo computer-on-module (COM) containing a Texas Instruments OMAP3530 application processor at 720MHz • Altera Cyclone II FPGA with level shifting and processing capabilities • Analog Devices ADIS16405 9 degree of freedom IMU • GPS receiver capable of 14 channel tracking and 10Hz update rate • RS-232 connections to interface sensors • 10/100BASE-TX Ethernet communication The components are combined on a student designed printed circuit board (PCB) with a small form factor of 3”x2.5” and weighing less than 2 ounces. Despite its compact size, the board exposes enough processing power and sensor inputs to allow for accurate navigation of the AUV. Mechanically, all of the sensors and the navigation computer are isolated into a separate pressure vessel, shown in Figure 9, with only two external connections required: 16V power and Ethernet for communication. C. Battery Pressure Vessel The mobile power for the AUV is stored inside two independent battery pressure vessels. Each pod can contain up to 45Ah of 4 cell lithium polymer battery packs and connects to the main computer pressure vessel via waterproof, wet-mateable cabling. Power regulating and SubjuGator
Figure 10: Battery pod pressure vessel and internal configuration.
battery monitor circuitry is included inside each battery pressure vessel to protect against low voltage and over current situations. Audible commands help to inform the operator of battery status when sealed and magnetic hall effect sensors allow for power control of the pod without potential leaks through mechanical switches. D. Camera Pressure Vessel Machine vision cameras are incorporated into the AUV. The compact IDS uEye machine vision cameras are housed in independent pressure vessels. The cameras offer an easy to use USB interface, wide field of view, and rich application programming interface. The camera housing includes color corrective lenses to compensate for color loss at depth. The decision to design a separate pressure vessel for each camera is beneficial since both the number and location of cameras is freely adaptable up to the limit of the number of USB connections exposed by the main hull, presently 5. Figure 11 shows an assembled camera housing. The configuration in Figure
University of Florida
4
1 demonstrates the positioning of two cameras, one forward facing and one downward facing.
Figure 13: Pneumatic solenoid valve housing and control board. Figure 11: Camera pressure vessel assembled with uEye camera.
E. Passive Sonar Pressure Vessel The ability to track a point source of sound in the water is encapsulated into the passive sonar pressure vessel. It contains a student designed passive sonar amplification and filtering board, Figure 12, necessary power regulation, and USB communication. The hardware is capable of tracking multiple acoustic sources simultaneously provided they are at different frequencies. A Texas Instruments digital signal processor is used to collect the acoustic data, which is then transmitted to the main computer for further processing.
Figure 12: Passive sonar amplification and processing hardware.
solenoid valves which are housed in a separate, compact pressure vessel, Figure 13. This pressure vessel has been redesigned this year to reduce the number of possible failure points. Additionally, the new design allows for quick-disconnect fittings to be used which facilitate easy addition or removal of pneumatic subsystems. The entire system is powered by a 68 cubic inch carbon fiber air tank, which is regulated down to a working pressure of 100 psi via two in-line regulators. The actuator pressure vessel also includes a student-designed actuator board which drives the solenoids while communicating with the main computer. Currently, the vehicle’s capabilities include a multifire marker dropper, two single-fire torpedo launchers, a forward-facing gripper mechanism, and a downwardfacing gripper mechanism, Figure 14. The forwardfacing gripper is mounted to the navigation vessel and is designed for tasks involving object manipulation within the field of view of the forward-facing camera. It employs a scissor mechanism to attain an appreciable grabbing reach without compromising its low-profile when retracted so as to not obstruct the forward camera view. The downward-facing gripper is mounted below the main pressure vessel (next to the downward-facing camera) and is designed specifically for retrieving frameworkstructured objects by contracting to fit within them and then expanding for a secure hold. Because the DVL cannot function at small height over bottom ranges (below six to twelve inches), the expanding device is mounted to the end of an arm that unfolds to extend its downward reach. III. S OFTWARE D ESIGN
F. External Actuators SubjuGator 7 integrates four types of independently operated pneumatic actuator mechanisms into its design. The mechanisms can be used to complete mission specific tasks and are controlled using 6 pneumatic SubjuGator
SubjuGator 7’s software stack is built on the Robot Operating System (ROS) Hydro. ROS is an open source framework that combines many libraries, simulators, and algorithms useful for robots and defines a simple
University of Florida
5
Figure 14: Left: Torpedo shooter, Middle: Marker dropper, Right: Unfolding arm assembly.
Figure 15: Software high level block diagram.
Figure 16: Indirect Unscented Kalman filter.
publish/subscribe communication framework to allow for easy interoperation. By porting our existing algorithms to ROS, we gained access to its vehicle-agnostic logging, visualization, and debugging tools. Similarly, we strove to keep our in-house algorithms as general as possible, and through ROS, were able to use several SubjuGator algorithms on PropaGator, our university’s entry into the RoboBoat competition. After RoboSub 2013, we made our repositories public to the greater ROS community in hopes that other projects would make use of them and are now in the process of documenting them to encourage external use.
Due to noise and unmodeled errors in the inertial sensors, the INS rapidly accumulates error. The Kalman filter estimates this error by comparing the output of the INS against the reference sensors, which are a magnetometer, depth sensor, and DVL. By correcting the INS using the errors estimated by the filter, the vehicle maintains an accurate estimate of its state. This architecture allows us to slow the computationally expensive EKF to 50 Hz, while still processing our inertial data in the INS at high speed. Additionally, by periodically correcting the INS and resetting the filter’s error estimates to zero, many small error approximations apply to the EKF, allowing for a better linearization than in a direct filter implementation. The filter is designed to use unprocessed DVL data consisting of up to four radial velocities from the DVL’s beams. This makes the filter more robust to DVL beam errors, as the filter incorporates knowledge of which beam failed and can also operate on two or even one beam solutions, though the error state is not completely observable during these conditions.
A. Thruster Mapper The thruster mapper is a ROS node responsible for translating a wrench onto an arbitrary set of thrusters using a box-constrained least squares solver. The solver uses knowledge of the thrusters’ asymmetrical saturation limits to minimize the error between the requested wrench and the actual wrench generated by the vehicle. The mapper also monitors the health of the thrusters and can adjust the mapping to handle thruster failures. In the case of SubjuGator 7, any one of the eight thrusters or some combinations of two can be lost while retaining full controllability. B. State Estimator The state estimator uses an inertial navigation system (INS) and an indirect (error-state) extended Kalman filter. The INS integrates inertial measurements from the IMU producing an orientation, velocity, and position. SubjuGator
C. Trajectory Generator and Controller The trajectory generator and controller work together to move the vehicle to its desired waypoint. The trajectory generator is based on a nonlinear filter that produces 3rd-order continuous trajectories given vehicle constraints on velocity, acceleration, and jerk [2]. The constraints can be adjusted on each vehicle DOF, potentially being asymmetric. We make use of asymmetric trajectories on SubjuGator 7 to take advantage
University of Florida
6
of our ability to generate greater thrust in the forward direction, while still maintaining an obtainable, lower speed when traveling in reverse. The generator can be issued any series of position and/or velocity waypoints, allowing greater flexibility of commanded inputs, while guaranteeing a continuous output and remaining within vehicle constraints. The trajectories can be tuned to meet the dynamic specifications of the vehicle, ensuring highperformance trajectory tracking is always obtainable by the controller. The controller is responsible for keeping the vehicle on the trajectory and correcting for disturbances such as drag and thruster variation. It is a trajectory tracking controller which implements a nonlinear robust integral of the sign of the error (RISE) feedback control structure [3]. This controller was developed by a member of our team and outperforms most tracking control designs available in literature. All feedback is provided via the state estimator component, finishing with a wrench being output to the thruster mapper. D. Mission Planner The vehicle’s mission planner is responsible for high level autonomy and completing the competition tasks. It is implemented using a Python coroutine library and custom ROS client library (txROS) to enable writing simple procedural code that can asynchronously run tasks with timeouts, wait for messages, send goals, etc., enabling a hierarchical mission structure that can concisely describe high level behaviors, such as commanding waypoints and performing visual feedback. E. Vision Processing SubjuGator 7 uses a novel approach for finding robustly finding objects in varying lighting and water conditions using a particle filter. Each particle in the filter represents a guess of where the object might be in three dimensional space, as well as what orientation the object might have. The filter then produces a template image of that guess by taking a model of the object and rendering it as it would be seen by the camera. The template is compared to the actual image received by the camera and given a score. Then, high scoring particles are reproduced while low scoring particles are removed, and when all the particles become close together, the filter has an accurate estimate of where the object is located. We use this approach because it is blind to environmental influences on color, requires no thresholding, and gives a three-dimensional pose of the object. The filter can converge even if a diver or cable is obscuring part SubjuGator
Figure 17: Example vision processing algorithm result for buoy and pipe tasks.
of the object, because although the obstruction reduces the score of the template, as long as the object is still partially visible the actual object is still the highest scoring pose, causing particles to accumulate there. It is also useful for competition elements that change colors unpredictably, because again while the score changes, the actual object remains the maximum and continues to accumulate particles. Along with the particle filter, more traditional techniques, namely image segmentation via adaptive thresholding followed by contour analysis, are used to find many of the competition elements. When using these techniques, the three-dimensional pose of the object is estimated by using a priori knowledge of either the distance to or the size of the object. In addition to persistently tracking targets of interest, two-dimensional visual servoing techniques allow for vehicle navigation with respect to the target (e.g, docking, object avoidance, surveying maneuvers). The Euclidean position and orientation information obtained by the vision system (most notably, normal distance to the target) can be used as additional feedback in visual servoing. Internal camera calibration and distortion parameters are obtained using [4].
F. Simulation The simulator combines a graphics and physics engine with a virtual submarine, creating a closed loop with sensor data flowing to our software stack and actuator data returning to create responses in the simulation. To do this, the simulator works at a low level, emulating the protocols of the various hardware devices and feeding that data through created virtual serial ports and network endpoints. This allows testing of nearly the entire software stack, including device drivers. Furthermore, the simulator contains accurate models of the objects present in the course and renders 3D images from the vehicle’s cameras’ perspectives, allowing limited testing of machine vision algorithms and complete missions.
University of Florida
7
Figure 18: Left: Pool testing, Right: Gulf of Mexico.
Figure 19: Left: Everitt Middle School, Right: Robotics summer camp.
IV. V EHICLE T ESTING This competition year SubjuGator 7 has seen nearly 100 hours of in-water testing since January, 2014. While the primary testing facility for SubjuGator 7 is one of two swimming pools at the University of Florida, the vehicle has also accrued 20 hours of sea testing in the Gulf of Mexico off the coast of Panama City, FL in support of vehicle control tests, Figure 18. Stringent calibration procedures have been streamlined and are now executable within a 30 minute time-frame should the systems need to be recalibrated (e.g., magnetometer calibrations, alignments, buoyancy, etc). The AUV is fully capable of sustaining autonomous operation with minimal operator supervision and has a run time of approximately 4 hours on half-battery power and 8 hours on full-battery power. V. C OMMUNITY O UTREACH The SubjuGator team and the Machine Intelligence Laboratory are proud to partner with several organizations in Northwest and Central Florida to provide insightful outreach programs to our community. The SubjuGator team presents the SubjuGator family of vehicles to grade school students and community members at local museums, UF’s Engineering and Science Fair, and UF’s Robotics Fair. Notably, for the past three years SubjuGator members have taken several weeks out of their summer to instruct robotics summer camps for elementary and middle school students (ages 5-12), Figure 19. Students at this camp are taught principals of robotics, controls, and autonomy using Lego Mindstorms. The team’s hope is to generate excitement for science and engineering in all ages. VI. C ONCLUSIONS
VII. ACKNOWLEDGMENTS The University of Florida SubjuGator team would like to thank everyone who has supported us throughout the year including the University of Florida’s Electrical and Mechanical Engineering departments. We would like to extend an appreciative thank you to our advisor, Dr. Eric Schwartz, without whom this project would not be possible, and to Dr. Anthony Arroyo and the Machine Intelligence Laboratory at UF. We would also like to thank each of our corporate sponsors for graciously assisting with both monetary and product donations: • Diamond Sponsors: UF Dept. of Electrical and Computer Engineering • Gold Sponsors: UF Dept. of Mechanical and Aerospace Engineering, Lockheed Martin, Harris Corporation 2 • Silver Sponsors: JD , IEEE, Altera, UR Pro, Anodize Inc., Advanced Circuits, Digikey, Theida Technologies, Rockwell Collins The latest SubjuGator developments can be found at our web page www.subjugator.org or by following us on Twitter: @SubjuGatorUF. R EFERENCES [1] P. Miller, J. Farrell, Y. Zhao, and V. Djapic, “Autonomous underwater vehicle navigation,” IEEE Journal of Oceanic Engineering, vol. 35, no. 3, pp. 663–678, July 2010. [2] L. Biagiotti and C. Melchiorri, Trajectory Planning for Automatic Machines and Robots. Springer, 2008. [3] N. Fischer, S. Bhasin, and W. Dixon, “Nonlinear control of an autonomous underwater vehicle: A RISE-based approach,” in IEEE Proc American Control Conference, 2011, to appear. [4] Z. Zhang, “Flexible camera calibration by viewing a plane from unknown orientations,” in IEEE Proc. International Conference on Computer Vision, vol. 1, 1999, pp. 666–673.
SubjuGator 7 is a hybrid, modular AUV design suitable for many research tasks at the University of Florida. This relatively low cost AUV is easily maintained and deployed by two people. Future work includes further development of the software and control architecture, deployment of the software to multiple vehicles, and underwater multi-agent cooperation. SubjuGator
University of Florida
8