GoPro ROUV
Overview
For my capstone project, I led the systems design and software development on a remote-controlled underwater drone. It uses an externally mounted GoPro to record high-quality underwater video at depths of up to 30ft (extended to 200ft with GoPro case). The system is driven by two Raspberry Pi 4B's. Data is sent using TCP/IP between the floating buoy and the drone through a shielded Ethernet cable. The system is operated using Linux/Python.
Note: This page is focused more on the hardware aspects of the project. For a detailed look at the software (socket programming, Bluetooth controller setup, PWM signals, and safety features), please visit the GoPro ROUV GitHub Repository.
Role
Systems Design/ Software Lead
Team
5 Mechanical Engineers
Course
Capstone 1 & 2
Duration
Jan. - Apr. 2023
Problem
Commercially available underwater drones are purpose-built machines for a range of people from marine investigators to kids at a pool party. Currently, there is not a viable product which provides high quality underwater video while remaining accessible to amateur users. The GoPro Remotely-Operated Under Vehicle (ROUV) aims to address the varying needs of amateur videographers by focusing on accessibility, maneuverability, and delivering smooth underwater video.
There are several key considerations to building an underwater drone:
Keeping water out of the electronics enclosure
Seems obvious, but not to be underestimated.
Buoyancy
Calculating the immersed weight of the ROUV is crucial to maneuvering it underwater.
Signal Transmission
Wireless signals like Bluetooth and WiFi only go for centimeters underwater. Wired signals can suffer from signal deterioration.
Brainstorming
We only had enough time to build one prototype, so we spent much time brainstorming solutions that would provide stable footage. After initial research into various wireless underwater signal transmission methods, we decided to have a floating buoy that relayed data through a cable to the drone.
Credits: iBubble
Credits: BlueRobotics
We took inspiration from commercially available underwater drones such as Chasing Dory, iBubble, Chasing M2, and BlueROV2 to create our own designs.
Credits: Chasing
This triangle design's radial symmetry sought to increase the drone's maneuverability.
This vertical design sought to utilize the principle of self-righting moments to ensure stability of the drone.
Dubbed the "Inverted Landspeeder", this design focused on moving forward through the water.
Solution
Our final design consists of two acetal plates fastened together with stainless steel standoffs. It features a 5-thruster configuration. There are two offset thrusters mounted at 30 degrees to facilitate turns and rolls while providing lift.
An FPV camera provides live video feed for the pilot. The electronics are contained within an aluminum watertight enclosure. The thrusters are mounted to 3D-printed pieces which are fastened to the acetal plates.
We decided to mount the GoPro externally in order to make it easier to attach and remove. It is attached to a gimbal on the underside of the drone.
GoPro ROUV with electronics layout
Systems Diagram
Electronics Diagram
Thruster Configuration
The two offset thrusters serve to aid in rolls and turns while providing lift. The thrusters on the left side of the drone are fitted with CCW propellers to counteract torque and prevent the drone from rolling unintentionally.
Turns are performed by running one of the two thrusters in reverse. This cancels out the vertical components of the thrust while combining the horizontal components, resulting in a turn without adjusting the pitch or roll angle of the drone.
Horizontal components of thrust add while the vertical components cancel out, resulting in a right turn.
Changes in depth are performed by running the rear vertical thruster and the two offset thrusters in unison. In order to maintain a 0 degree pitch angle, the equation for thrust needed is y=x/(2*sin(60)), where x is the thrust produced by the rear vertical thruster and y is the thrust required from each of the offset thrusters.
However, in attempting to reduce the number of thrusters needed to control the drone, we inadvertently coupled some of the axes of movement, which decreased maneuverability. A 6-thruster configuration as seen on the iBubble would have made the drone much more stable and easy to operate.
Thruster Mount FEA Analysis
We performed FEA analysis to ensure the 3D-printed thruster mounts (100% infill geometry) would not deform under the water pressure and load from the thrusters. The mounts are fixed where they would be mounted to the plates, and a force of 10lbf (thruster maximum output) distributed among the fastener connection points is applied normal to the connection points.
Buoy Design
In order to prevent the controller and live video feed from disconnecting mid-session, the RPi and the VTX transmitter within the buoy needed to remain above water. The buoy also needed to be easily dragged along by the drone while maintaining all transmitters above water.
Proposed buoy electronics layout
Hydrodynamics simulation: buoy being dragged as drone moves forward
Weight distribution within buoy to achieve self-righting moment
Buoy design with ring to maintain stability
Velocity & Buoyancy Analysis
To get a conservative estimate for the forward velocity of the GoPro ROUV, we approximated the frontal geometry of the drone as a flat plate.
Our buoyancy analysis showed that the drone had an immersed weight of 13.559N. The buoy had an immersed weight of -24.61N, meaning the buoy is able to support the weight of the drone in the event of the GoPro ROUV turning off unexpectedly. The drone can then be recovered from the surface.
Build Gallery
Putting the various cables through the penetrators
Wiring up the RPi
Internal electronics placement
Putting the various cables through the penetrators
Testing
Waterproofing
Rather than attempting to create a large watertight container on our own under the tight time limitations, Prof. Whalen suggested that we get a professionally made waterproof container. The aluminum enclosure we got from McMaster-Carr featured a gasketed cover with a D-ring. It took much trial and error to develop a procedure to reliably ensure the enclosure was fully waterproof each time.
Software Tests
The software was developed in stages, making sure each individual component worked before I integrated them together.
Thruster Speed Control Test
Testing multiple thrusters/lights simulatenously
Systems Test
Strange error (aka rave mode)
Water Test
We took the GoPro ROUV to the Charles for a test drive. For safety purposes we only used the small battery, which altered the weight distribution of the drone and caused it to pitch upward.
Thermal Test
I ran a thermal test to better understand how the enclosure heats up throughout usage. Unfortunately, the test damaged some PWM pins on the RPi.
FAQ
-
Is the GoPro ROUV saltwater-capable?
While not intended for saltwater, the GoPro ROUV will operate normally in saltwater. Wiping off saltwater from the drone will go a long way in preventing corrosion. A sacrificial anode is also recommended. Attach a piece of zinc to the outside of the enclosure and go explore the high seas!
​​
-
What is the battery life of the GoPro ROUV?
The GoPro ROUV is driven by a 14.8V 22,000mAh, 4 cell LiPo battery. The power is distributed by a power distribution board (PDB), capable of 60A continuous per pad and 100A burst. Under regular usage, the estimated upper-limit current load is 27.3A. Thus, the battery should comfortably last at least 0.8h on a full charge.​
​
-
How deep can the GoPro ROUV go?
By using TCP/IP to transmit signals, the GoPro ROUV can be piloted at a depth of up to 328ft. However, the externally-mounted GoPro is only rated for 33ft without a case. Adding a case increases the GoPro ROUV's operational depth to 200ft.
​
-
What happens in the unlikely event of a _______?