Aka: “Finding Robot Red October“. For my senior design project in my final year at Georgia Tech, we were tasked with designing an unmanned underwater vehicle (UUV) that could host a variety of swarming algorithms. Robots are currently being used to perform tasks that humans aren’t able to do underwater. However, performing some of these tasks with a single robot are inefficient or even impossible. For example consider the challenge of simultaneous localization and mapping underwater terrains. A single robot doing this would take far longer than a coordinated swarm of smaller robots. For our senior design project, we created an AUV which acts as an extensible platform for autonomous testing of swarm technology, and other related applications. Our goal was to create an extensible, inexpensive, mechanically robust drone that can easily be reconfigured to achieve a variety of tasks and control strategies.

We met with different stakeholders to come up with a set of engineering requirements, which were driven by the need for an inexpensive, maneuverable, and robust platform. These were as follows:

  • Accommodates at least 6 sensor bays

  • 4 DOF (X, Y, Z, Yaw, at 1 ft/s)

  • <$300 cost per unit

  • 30 Minute Operating Time

  • 20 Foot Operating Depth

  • Watertight Strength > 13 psi

This in turn yielded a whole host of engineering challenges, roughly broken down as follows:

  • Waterproofing (which is extremely difficult as we found out way too many times.

    • Required Breaches (we need to intentionally breach the hull to feed the motor wires into the drone’s microcontroller

    • Identifying Leaks

    • Sealing Motors

  • Highly Limited Volume (which forced us to prioritize ‘bang-for-your-buck‘ style components, e.g. Raspberry Pi microcontroller, ESCs instead of better motor drivers.)

    • Number of Components

  • Battery Life

    • Low capacity relative to operation time (since heavier batteries impeded mobility)

    • Max draw 6 Amps from Raspberry Pi, 2x Motors

  • Ballast Configuration

    • Pressure Drop (to get the drone to rise and fall

The final drone is shown in CAD above. The main system is broken up into four subsystems: the Hull, Missile Insert, Thrusters, and Ballast.

The Hull subsystem is the main housing unit of the system. It is primarily made using PVC, with other parts used to assist in sealing, and sensing. It is the subsystem that the remaining subsystems connect to when completing the robot. This requires several access points, using threaded inserts, to properly attach the subsystems to the Hull. The rail holder, attached to the inside of the Hull, to allow easy insertion, and provide a secure fit, for the Missile Insert (detailed later). Lastly, the End Cap Assembly is composed of an endcap made of PVC, which has an acrylic dome attached to it in order to provide vision outside of the hull for necessary sensors. With end caps in the front and back of the Hull, 6 directions of view are enabled by the acrylic, the top and bottom, left and right, and front and back. A yoke ring is secured in between the acrylic dome and the main hull in order to properly distribute stresses over the entirety of the acrylic.

The missile insert (shown on the left) is the main hub of electronic storage. It is secured inside the hull through the use of aluminum rails, shown here, which slide in the previously mentioned rail holders to secure the insert in place. The insert contains the necessary electronics, including an Arduino UNO, a Battery, an ESC to control the motors, an RF T4 Receiver to easily start the circuit, and a Raspberry Pi to process sensor data. The insert also contains a solenoid valve, and air pump to control the bladder subsystem. Sensor brackets are also attached to each end which will be placed just inside the acrylic dome, and include space for sensors to see outside the enclosure. One of the main benefits of this subsystem is its ability to detach from the main assembly, to ease any adjustments that may need to be made to the electronics in testing scenarios.

The last two sub assemblies are the thruster and ballast assemblies (in CAD and diagram right). The thrusters consist of a motor and propeller attached to a main nozzle, which is secured through the threaded inserts on the side of the hull. The ballast assembly consists of a bladder resting above the hull, which is connected to two air pumps and a solenoid valve through a small tube. This system functions by the air pumps pumping air into the system, while the solenoid valve is closed. This overcomes the systems natural negative buoyancy, and propels the system upward. In order to release the air from the system and send the robot downward, the solenoid valve is opened, and the stored air releases from the bladder.

I was primarily responsible for developing the equations of motion and simulating the control of the UUV (aka being the math guy). The final equations of motion I developed are shown below, which assumed things like no drag in rotation and no external disturbances (for sheer simplicity). The corresponding FBDs are on the right.

Additionally, I performed the heat transfer analysis for the drone to ensure that it didn’t overheat (can’t have underwater fires). With a high number of electrical components fitting within an enclosed space, heat generation posed a threat to the internal electronics. To determine if further measures were needed, like an active cooling system, I modeled a heat transfer circuit (right) to simulate electrical heat generation and ensure that it stayed within spec. You’d think that the presence of water outside would help tremendously in dissipating heat, but that lack of a direct convection heat transfer with the water basically prevented this (and we didn’t want to risk breaching the hull more to get liquid cooling going.)

To identify if the drone would meet both the speed and power requirements, simulated a one-minute drive cycle of underwater motion, which instructed the drone to accelerate forward in X for fifteen seconds, maintain constant velocity for thirty seconds, and decelerate to rest during the last fifteen seconds. Simultaneously, the drone’s ballast is simulated to deflate for fifteen seconds, sinking the drone from its initial depth of zero meters, maintain zero ballast volume for thirty seconds, and finally inflate for fifteen seconds, causing the robot to rise. This approach used direct control of the motor and ballast pump current values.

In terms of diving and rising, the drone succeeded in diving to the desired depth of 20 ft and returning, albeit with a slow response in diving and a far faster rising time. This is due to the drone being naturally positively buoyant when the ballast is half-inflated, as if the drone were to experience internal catastrophic failure, the drone would rise to the top of its environment, allowing for easy retrieval. With respect to movement speed, the drone’s steady state velocity with an input of 1 Amp to each of its thruster motors was about 2 m/s, which is greater than the minimum requirement of 1 ft/s.

In terms of manufacturing the drone, the tight budget precluded getting fancy with shaping or making the drone. We got away with buying a lot of already hollow PVC pipe from Home Depot to act as the base for the hull, which was dirt-cheap and easily machinable. We used marine-grade epoxy to seal the breaches in the hulls, which took a few tries to get right (and a lot of hardware drowned in the acoustics research lab pool at Tech).

The missile insert was similarly constructed from a hollow rectangular PVC pipe, its rails were composed of aluminum, with the holders for the rails (on the hull) being 3D-printed. All the electrical equipment was hot glued and soldered on to the PVC.

Finally, we had the UUV ready to perform final testing:

This was a great project to work on, and, fittingly for a capstone project, really got me to pull all my knowledge and training from Tech to get the UUV to work. For more information, check out the full technical report here.

Previous
Previous

EKF Bayesian Analysis