Robotics / Control
Self-Balancing Ball-Throwing Robot
Built for the RoboMaster HKUST internal competition by a 14-person team over one month. Our team placed 3rd. The robot had to maintain balance, navigate to target positions, and launch a ball via a servo mechanism.
My role
- Self-balancing subsystem — PID tuning for stability on two wheels.
- MPU6500 IMU integration and motor control with encoder feedback.
- FreeRTOS task design: sensor, motor, and vision tasks running concurrently.
- OpenCV color detection for target identification.
Stack
| Layer | Technology |
|---|---|
| MCU | STM32F103C8T6 |
| RTOS | FreeRTOS |
| Sensing | MPU6500 IMU, wheel encoders |
| Actuation | JGA DC motors, servo launcher |
| Vision | OpenCV color detection |
Result
Working demo: the robot balanced on two wheels, stopped at designated positions, and executed the ball-throwing action. 3rd place in the competition.