Floater
This floatation device was our team’s submission for the MATE Floats task of the 2024 MATE ROV Competition. It performs fully automated vertical profiles consisting of sensor temperature, depth, and pressure data collection, and subsequent transmission upon profile completion. The data received on deck is automatically written to a csv file and plotted in the float device’s controls GUI.
During the 2024 MATE ROV Competition, we successfully completed the Floater Task with our device at 15’ depth. I was the lead software developer for the device (in addition to being the Software Team Lead) and wrote the embedded software in C++ based Arduino for the Arduino Nano microcontroller and the Python based controls on the command station laptop. The laptop relayed commands to the device via Bluetooth; the floater would conduct its vertical profiles, while collecting temperature, depth, and pressure sensor data, and upon completion transmit all collected data to the command station via Bluetooth. The data would automatically write to a csv file and plot in a mutli-y-axis graph on the GUI.
Implementation Details
The device emitted unique LED color patterns to convey internal state changes as it performed the vertical profile, as it loses Bluetooth connection once submerged in water. The internal state machine consists of pumping water into the floater bladder on a timed interval, just until it begins to sink, then it automatically shuts off the pump and freefalls. It registers when it has reached the bottom, sits there for an additional timed interval, and then begins pumping water out to return to the surface and automatically shuts the pump off when emptied. Throught this profile, it is displaying different colors indicating these internal changes, as well as collecting temperature, depth, and pressure data.
It transmits all of the collected data via Bluetooth to the command station laptop, which then gets written to a csv file and plotted on the GUI automatically.
Results
Our team was one of the few teams in the competition to collect all of the Float Task points. It is a category in the MATE ROV Competition that is notoriously difficult due to the 15’ depth and the stringent requirements at the more difficult competition level.
Features
- Automated vertical profile
- Embedded State Machine
- Bluetooth control and data transmission
- Automated data saving and plotting
Technologies Used
- PyQt
- Arduino Nano
- Arduino Bluetooth Module
- RTC Clock
- Bluerobotics sensor
Languages
- C++
- Python
State Machine Diagram
GUI
Our team name was “The Vikings”; the pixelart graphic assets for the GUI were created using generative AI.