This project borrows heavily from https://hackaday.io/project/20458-osug-open-source-underwater-glider and that project was used as a starting point for the build you will see below.

Gliders are an indispensable tool to oceanographers because they can help them collect important data such as temperature, salinity, pressure and oxygen among other things right from the surface down to hundreds of meters. The ability to collect data to such depths paired with the distances the gliders can travel and their capacity to operate in any season or weather gives oceanographers invaluable insight into the current conditions in our oceans

We wanted to build an undersea glider because the design lends itself to being very energy efficient. Ballast engines do not require a constant source of energy, they only need to pump water in at the surface and pump it out at depth to rise again. The act of sinking and floating combined with wings  propels the glider through the water. Currently gliders on the market are capable of month long missions and communicate over satellite networks. These commercial gliders cost hundreds of thousands so it is our goal to create a much more affordable solution so as to potentially harness the power of citizen scientists in order to have better oceanographic models with wider coverage.

To start the project we began constructing the OSUG. Our hopes were to build the glider, add cellular communications and more batteries along with a few sensors such as temperature, pressure, salinity and possibly oxygen later in the build. If we could accomplish the above the glider could be used both as a outreach/demonstration piece and as a tool for oceanographers.

While constructing the OSUG the first hurdle was making it wireless. The original OSUG was designed to use a BlueROV tether combined with their pixhawk for controlling it. We decided to utilize an Arduino mega due to the large number of available pins and its ability to relatively easily interface with most actuators and sensors. Since the glider needed to be completely sealed and the more times a glider is opened and close the bigger the chance for a leak to happen we opted to also include a raspberry pi in order to wirelessly reprogram the Arduino. These two changes meant we had to redesign the circuit rack from the OSUG. The roll-motor also proved us with a challenge, 3d printing difficulties lead us to eventually abandon the stepper motor paired with a planetary gear setup. The stepper and planetary gear were both replaced by a high torque servo, this reduced the number of wires required, simplified the code and removed the need for limit switches. The pitch-motor assembly went smoothly, we successfully built it following the OSUG plans and the only change made was printing two of the battery holders and doubling the original OSUG's 18650cell capacity. The ballast engine is where we ran into our biggest hurdle, after constructing the syringe design of the OSUG we discovered that it simply couldn't handle the pressure at the depths we wanted to reach as well as it would seize even after lubrication if it was left to sit for an extended period of time (~a day). We decided to overhaul the design and copy what the commercial gliders use, a pump and ballast system. Finding an adequate pump proved challenging and we settled for a small diaphragm pump rated to 3bar of pressure, not ideal but suitable for a proof of concept.

The state of the project as it stands right now is a glider capable of diving, surfacing, turning left or right and collecting and logging temperature and pressure data. It requires a new command on every surfacing through a long range radio with a theoretical range of 2-5km. It currently has enough battery capacity to run for a full day continuously, maybe a touch more, with all actuators moving and sensors running, however on an actual mission it would not be continuously pumping water or operating solenoids, steppers and servos so depending on the depth its sent to and the frequency of dives it could easily operate for a much longer time-frame. The wiring is a bit of a mess and will be sorted out once we have printed the designed PCB and soldered on some proper connectors. The STL files are equally a bit of a mess with trying to incorporate all of the design changes and making them work with some of the existing OSUG parts. It is our goal to possibly replace a number of the printed sections with the pre-built Blue ROV circuit rack as it already fits nicely into the enclosures being used. If someone were to try to reproduce the glider in its current state a substantial amount of remodelling will need to be done and the changes we intend to implement can be found in the to-do list log.

The design is very modular with four main components, the brains, the roll engine, the pitch engine and the ballast engine.

The glider runs off of an Arduino Mega which can be programmed wirelessly without opening the glider using a raspberry pi. There is a custom PCB that supports all of the actuators and sensors. These sensors include a temperature, pressure and humidity sensor to detect conditions inside the glider, an external temperature and pressure probe, an external altimeter for detecting the ocean floor, a GPS and a 9-DOF accelerometer, gyroscope and compass for navigation. More sensors will be added including a salinity sensor however we first need to find a dependable connection for having a probe breach a bulkhead without leaking.

The roll engine is a metal gear servo used to rotate the battery package left or right in order to create an offset in weight and roll the glider.

The pitch-engine is controlled by a nema-17 stepper motor and with a threaded rod it shifts the battery package forward or backward inside the glider in order for the glider to reach an optimal diving angle or surfacing angle.

The ballast engine is the most important part of the glider. It operates off of a high pressure diaphragm pump, two solenoid valves and a strong water bladder. The entire inner tube of the glider is held under vacuum, this has two purposes; it holds the bulkheads on and it increases the efficiency of the ballast engine. Because of the vacuum the glider can simply open the valve and the pressure difference will force water into the bladder, sinking the glider. When the bladder is full the first valve can be closed. Once the glider needs to resurface either for an altimeter ping or hitting a maximum depth it can open the second valve and turn on the pump in order to evacuate the water from the bladder, increasing the buoyancy of the glider and surfacing it. The motion of sinking and surfacing in combination with hydrofoils is the method at which the glider can traverse a body of water while using minimal power.