Back to Projects

Ball Balancing Robot

MechanicalDesignControls

A vision-based robotic platform that actively balances a ball on a tilting plate using closed-loop control and real-time perception.

Control Systems PythonComputer VisionSolidworks

Project Overview

This project is a self-directed ball balancing robot designed and built entirely in my free time as a personal engineering challenge. The system uses a camera-based vision pipeline and closed-loop control to dynamically tilt a plate and keep a ball balanced at a desired position.

Approach & Solution

The robot uses computer vision to track the ball’s position in real time and converts positional error into plate tilt commands through inverse kinematics and PID control. Three motors arranged at 120-degree intervals actuate the plate, requiring careful coordinate mapping, proportional motor stepping, and constraint handling to ensure stable and responsive motion.

Outcome & Results

The final system successfully balances the ball under static and dynamic conditions, demonstrating stable closed-loop behavior and precise motor coordination. Through iterative tuning and debugging, the project provided hands-on experience in real-time control, kinematic mapping, and the practical challenges of translating theory into a working robotic system.

Project Details

Timeline

Winter 2025

Role

Designer

Resources

Project Gallery

BBR CAD
Computer Vision
Ball Balancing Robot Rolling
Ball Balancing Robot Inside
Ball Balancing Robot Closed
Ball Balancing Robot

Interested in working together?

If you're interested in learning more about this project or discussing potential collaborations, I'd love to hear from you.