A ball balancing robot is a kind of dynamical stable robot, which is designed to balance on a ball by itself, while the ball can move in any direction under the control of the robot. Actuation is realized by using DC motors to drive three omnidirectional wheels rotating, making the robot body reach its equilibrium point. An inertial measurement unit is used to detect the change in attitude angles. Based on kinematic analysis, Proportional-Integral-Derivative controllers are implemented to stabilize and control the robot.
video: https://youtu.be/On0e1YCgcag
https://www.bilibili.com/video/BV1TJ411x7tR?p=3
The code needs Keil uvison5 IDE to open.
--->dynamical control code\USER\Minibalance.uvprojx