
Buoyancy-Regulating Robot
Summary
This robot was created as part of my master’s thesis, which centered around locating liquid-liquid interfaces. The robot changes its own volume to adjust its buoyancy, achieving upward and downward thrust depending on its current size.
Here is a demo of the robot in action:
Aside from the novel form of locomotion, we also used the pressure difference between two probes to determine the density of the liquid the robot was submerged in. This density was then used, along with an absolute pressure reading, to determine the robot’s current depth in that liquid. This is even possible to do for many distinct liquid phases, given that the topmost phase can submerge the entire differential pressure sensor assembly.
This project posed many challenges in physics, 3D modeling, waterproofing, and algorithms. These challenges taught me a lot about the importance of foundational physics and how its laws can be leveraged to improve designs, as well as how difficult underwater mechanics really are.
Design
The design of the robot might seem complex, but it is actually quite simple. The robot is fairly compact because of our choice to use an existing syringe for the main body and gaskets, which meant that space was at a premium. Below is an exploded view of the robot divided into its main components.

The top cap, main housing, bottom cap, and the two gaskets are the components used to enclose the internal parts. The linear actuator drives the expansion and compression by moving the gaskets in relation to each other. The two caps block the gaskets from extending too far and letting water inside. We used a Raspberry Pi Pico W for control and reading sensors, along with wireless communication.
This makes up a watertight robot with a volume of 808 ml and a minimum weight of 528 g. It can increase its total volume by up to 102.64 ml, thereby manipulating its own density to a minimum of 0.5798 kg/L, with variable maximums based on additional ballast.
The robot has a variety of sensors:
- An absolute pressure sensor to measure the hydrostatic pressure outside the robot.
- A differential pressure sensor for reading the density of the outside liquid.
- A linear potentiometer to measure the extension of the linear actuator.
Extras
Here is an early experiment where we test the waterproofing with no internals inside aside from the linear actuator and ballast:
If you are interested, you can read our thesis here. However, it was not really meant for a general audience when written, so keep that in mind if you decide to read it.