Ball Balancing Bot

A 3-DOF ball-balancing platform with advanced PID control for precise tilt stabilization and rapid settling time.

Ball Balancing Bot

<About This Project>

The Ball Balancing Bot project demonstrates advanced control systems and mechatronics integration. This 3-DOF (degrees of freedom) ball-balancing platform uses nonlinear kinematics and dynamics calculations to maintain precise balance of a ball on a movable platform.

The control system uses a discrete PID controller carefully tuned with parameters Kp=12, Ki=1.5, and Kd=0.8 to achieve exceptional performance. The system maintains a steady-state tilt error of less than 2 degrees with a settling time under 0.8 seconds, demonstrating responsive and accurate control.

The control loop was implemented in Python and runs at 100 Hz, providing real-time feedback and adjustment. The mechanical design was created with tolerance-constrained CAD optimized for 3D printing, ensuring precise part dimensions critical for the control system's performance.

This project combines theoretical control systems knowledge with practical implementation, including sensor integration, real-time computation, and precision mechanical design. It showcases the complete engineering process from mathematical modeling through physical implementation.

<Key Highlights>

  • Sub-2° steady-state tilt error with advanced PID tuning
  • Less than 0.8s settling time for rapid stabilization
  • 100 Hz control loop for real-time performance
  • Calculated nonlinear 2D/3D kinematics and dynamics
  • Tolerance-constrained CAD design for 3D printing

<Technologies Used>

PythonPID ControlSolidWorks3D PrintingKinematicsDynamicsReal-time Systems