This project focuses on designing, building, and testing a custom ball-bot—a robot that balances and moves on a spherical base. We used a Raspberry Pi 4, a Raspberry Pi Pico, an Inertial Measurement Unit (IMU), a battery, and three motor encoders arranged in a specific pattern to control five degrees of freedom. A PID controller, along with low-pass filters to reduce noise, was used to compute the motor torques needed to keep the ball-bot balanced. The goal was to create a system that can handle disturbances and maintain stability during different movements.
In our tests, we evaluated the ball-bot’s ability to stay stable under various conditions. Although we did not complete the steering control loop, our balance controller worked well and provided useful insights into the challenges of robotic control. This project has given us a strong foundation for future improvements in robotic stabilization and control, and it serves as an excellent introduction to the complexities of building advanced robotic systems.
More details included in the report below
Here is a slideshow picturing the different CAD models we created that we used for the ballbot. We have the base plate, then the plate that holds the Pico, then the middle plate, the top plate, and the tether mount that would allow us to attach a leash to the ballbot. Then we have our three different motor mount designs, which we ended up utilizing the last one.