top of page

Ball Balancing Robot

AKA

Autonomous Dual Axis Segway (ADAS)

Project Overview

2018

This robot began as an idea for an in class project but turned into much more than that. At first we wanted to create a type of robot that had not yet been seen in our school and is not among the popular robot chassis configurations. 

​

We were looking into Segways and their self balancing abilities and thought it would be an interesting concept to have a robot balance on a ball. We also saw some projects where this was done as well.We took inspiration from a Youtube channel known as XRobots run by James Bruton who has built many interesting robot projects. Using what he did in his 1st rendition of the BB8 replica we planned our design. From there we ran calculations for the geometry and physics of the robot and how to achieve the effect we wanted. We researched existing similar projects and found that most were fairly expensive so we attempted to make ours a low cost version. 

​

Parts & Electronics: 

Part selection was mainly based off of the available materials we had in school and so we opted to 3D-print the majority of the chassis parts because they were going to custom designed. We ordered a few specific componenets such as the clear acrylic dome and the 4 Omni-Wheels.

​

The electronics selection was also heavily based on the available parts we had at hand. The motors were geared motors that we calculated to have enough torque to move the weight of the robot plus a little extra as we knew there would be some changes made over time. The Gyro & Accelerometer that we chose was one of the more precise IMUs we had so we went with that one and then proceeded to focus on the control portion. We ordered 2 H-bridge motor controllers (again trying to keep on the low cost side of things). The brain was chosen as an Arduino Mega and once our parts were printed and everything was wired up properly began the real challenge, programming it!

​

Programming:

This was the most difficult part of the entire project because we had to learn many new things and there was a steep learning curve. after about 2 weeks of research we realized the Code would be much more complicated than we had anticipated. The robot would need PID loops to keep itself constantly sampling and calculating the speed and direction it would need to adjust to in order to recenter itself. We also learned about filters and how they can be applied to a computed PID value to smooth out the movements of the robot. We went through a lot of testing and tuning for the PID loop and finally got it to start functioning the way it was supposed to. In the end by the time we got it ready for the BNY Competition we had only gotten it tuned so that it stayed on the ball for about 5 seconds before the PID loop failed.   

​

​

​

Parts list: 

​

  • Arduino Mega

​

  • 2 motor controllers (L298N)

​

  • 4 Motors

​

  • 1 6 DOF IMU Combo board (ITG3200/ADXL345)

​

  • 4 VEX IQ 63mm Omni Wheels

​​

  • Battery 

​

  • ​

​

  • ​

 

Version 2 Redesign:

​

Version 2 was done to achieve a lighter body and a better distribution of mass on the robots body. After testing and seeing some of the flaws in the 1st design we realized the 3D-printed top section was way too heavy so we did away with it, replacing it with a lighter aluminum plate cut on the waterjet. Another major change made was that we changed the 2 cheap batteries we had in series to one single battery and also changed its position allowing the battery to be lower on the body and therefore closer to the bots center of gravity and allowing for less jerky motions. After making these changes the robot was able to keep itself on the ball for about 30 seconds. Currently I'm the only one still working on it in spare time but I'm fairly certain that the main issue for the time constraint is some sort of overflow in the calculations the Arduino is doing. The code needs to be properly refined and that requires  little more knowledge in feedback control. 

​

​

​

​

 

© 2023 by Chad Boodoo, Mechanical Engineering. Proudly created with Wix.com

  • Instagram
  • White LinkedIn Icon
bottom of page