Balance Robot — self-balancing, vision-guided rover

Balance robot assembled on desk
Balance control cascade diagram
Balance robot software architecture

Project information

Two-wheeled self-balancing robot with autonomous navigation. Built layered control: inner-loop PID tilt control on an MPU6050, outer-loop speed PID on steppers, plus movement primitives for forward/back and turns. Vision pipeline on Raspberry Pi (OpenCV HSV masking + YOLO experiments) to detect and follow targets, streamed via Flask to a web UI for manual overrides and telemetry.

ESP32 firmware (C++/PlatformIO) communicates over WiFi with the Pi server for commands and video. Included UI exposes battery monitoring, PID tuning, and live feed; power subsystem monitors voltage to protect cells. Team of six; documented tuning, test scripts, and supporting utilities.