Inspiration

Drowning claims over 236,000 lives each year—many within view of help, but too far for a fast rescue. We wanted to build something that could bridge the critical seconds between detection and action. Our goal was to create a system that uses AI and engineering to autonomously detect and respond to drowning, especially in areas without constant lifeguard presence.

What it does

TurretGuard is an AI-powered, autonomous rescue turret that detects signs of drowning and launches an inflatable buoy with pinpoint accuracy using projectile motion and PID Control. A live camera feed is analyzed in real time with a custom-trained deep learning model to identify drowning behavior. Once detected, the turret uses a PID Controller to align and physics modeling to aim and fire a buoy that expands on water contact, providing immediate flotation support.

How we built it

We used:

  • A monocular camera for real-time vision
  • A custom-trained YOLOv8 model on drowning behavior
  • Tuned PID Controller for constant horizontal adjustment
  • Depth estimation via AI-based monocular methods
  • A physics engine to compute launch parameters
  • A Raspberry Pi + Arduino-based turret with motor control and dual flywheels
  • A pringle can-sized inflatable buoy that expands in seconds upon hitting water

Challenges we ran into

We encountered a variety of hardware and software challenges throughout development. We had to use 6000RPM 12V motors which each required about 6A of current. For an arduino/raspberry pi project, this is a LOT of current. Connecting the power supply to a breadboard or through jumper wires wasn't possible because it would fry the cables and breadboard, so we ultimately had to quickly find 18 AWG wire to make things possible. When one of our motor drivers fried, we had to redesign the circuit to run both motors in parallel using a single driver. Stabilizing the flywheel assembly without a fully CAD-planned structure proved difficult, as we lacked spacers and bearings, leading to frequent adjustments and compromises. On the software side, we had to make heavy use of the integral term of our PID Controller, as the integral term had to be strong enough to push for when there's small changes in error that could escalate, crucial for tracking a person in water. Ensuring reliable communication between the camera, Raspberry Pi, and Arduino was also tricky. We settled on serial messaging and had to precisely time transmissions to avoid message loss without making communication too short.

Accomplishments that we're proud of

  • Successfully detecting drowning behavior in real time
  • Precisely launching buoys based on depth and physics
  • Building a working prototype turret from scratch
  • Creating a low-cost, scalable safety solution that could save lives
  • Managing a circuit with several currents and voltages needed for different sensors but still working
  • Always being able to improvise when we don't have the exact parts we need.

What we learned

  • How to optimize deep learning for life-critical use cases
  • Applying physics in real-world targeting systems
  • The value of rapid iteration across mechanical, electrical, and software domains
  • Importance of user-centered design in emergency response tech
  • To always account for the electronics being used and the power they need.

What's next for TurretGuard

  • Expand dataset and improve detection accuracy in varied conditions
  • Test and deploy in real aquatic environments (e.g. beach mockups)
  • Add thermal or sonar sensing for low-visibility scenarios
  • Explore partnerships with public safety agencies
  • Eventually deploy TurretGuard in real-world locations like lakes, marinas, and unsupervised beaches
  • Create a gearbox for motors to allow for an even faster spin and further launch
+ 1 more
Share this project:

Updates