Robotics / Embedded
Robomaster Self-Balancing Ball-Throwing Robot
This project was built for the Robomaster HKUST internal competition by a 14-person team over a one-month development cycle. Our team finished 3rd overall.
My Role
- Worked on the self-balancing robot subsystem.
- Participated in PID tuning for balancing stability.
- Integrated MPU6500 sensing, motor control, and encoder processing.
- Used STM32F103C8T6 and FreeRTOS for multi-task operation.
- Contributed to sensor task, motor task, vision task, and OpenCV color detection.
System Overview
The robot needed to keep balance, stop at specified positions, and throw a ball using a servo mechanism. The project connected embedded software, sensing, motor control, vision, and mechanical execution.
Technical Stack
- STM32F103C8T6
- FreeRTOS
- MPU6500
- JGA DC motor
- Encoder processing
- OpenCV color detection
Result
The team completed a working demo that could keep balance, stop at a target position, and perform the throwing action. The project won 3rd place in the competition.
Future Improvements
- Add clearer control logs and PID tuning records.
- Document task frequencies and communication between FreeRTOS tasks.
- Add photos, videos, and a GitHub repository link when available.