A robot designed to identify and collect trash autonomously, with a focus on water-bottle retrieval.
Raspberry Pi CVArduino control9V quad H-bridge
Overview
Built for CMU's Build18 competition, our team developed an autonomous trash-collection robot that identifies and retrieves discarded items, specifically water bottles. The system combines a Raspberry Pi running machine-learning computer vision with an Arduino Uno for motor control and physical manipulation.
As the lead for electronics and power systems, I focused on hardware reliability, power delivery, and hardware-firmware integration across the robot's subsystems.
Collection robot chassis
System Overview
The robot continuously scans its environment with a camera feed processed by a machine-learning model on the Raspberry Pi. When a bottle is localized, the Pi calculates the trajectory and sends movement commands to the Arduino, which drives the robot and actuates a motorized robotic arm to pick it up.
This split architecture kept the heavy vision processing separate from the real-time hardware control needed for navigation and pickup.
Power Systems
I engineered a custom 9V quad-motor H-bridge drive system for the robot's mobility. The power distribution network had to provide stable current to the motors and H-bridges while preventing brownouts on the logic boards during high-torque movements and arm actuation.
Firmware
I designed a bidirectional UART serial protocol between the Raspberry Pi and Arduino. The Pi streamed direction commands from the ML model's bounding boxes, while the Arduino acknowledged commands and reported execution status. Frames used a start byte, a command, an argument, and a checksum.
Pi → Arduino command frame
Start
Command
Argument
Checksum
Meaning
AA
01
0E
A5
BRG +14° (bearing offset)
AA
02
0C
A0
FWD 12in (distance)
AA
03
01
A8
ARM CLOSE (grab)
AA
00
00
AA
STOP
The simulator below reconstructs that sensing-to-actuation loop end to end: place a bottle, watch the CV confidence lock on, and follow the live command frames as the robot turns, drives, and grabs.
Click the scene or the button to place a bottle
Results
On the competition course, the vision stack held about a 90% bottle detection rate, enough for the UART bridge to keep issuing bearing, drive, and grab frames while the custom power path kept motors and logic boards stable through high-torque moves and arm actuation.