Thursday, February 16, 2012

Ball Bot Video Guide

Here is the finished Ball-Bot. This video was shot during our senior design project final presentation at Southern Polytechnic State University. I would like to thank Dr. Chan Ham for being our mentor and guiding us every step of the way. Ball-bots are also frequently made with Mindstorms NXT Robots from Lego. It is the easiest way to build your own Ball-bot without spending too much time doing your own custom fabrication and calculations. The research for the Lego ball-bots is publicly available allowing anyone to replicate the Lego ball-bot. All the kinematics are derived, and it is modeled as an inverted, spherical pendulum.

You can find more details in the blogs at the bottom of this page.

Here is the wheel base assembly. We're testing the response of the motors to the motion of the inertial measurement unit (IMU).

The IMU is comprised of the ADXL345 accelerometer and the IDG500 gyroscope, and they are connected to the Arduino Mega 2560. Therefore, the Ball-Bot is able to measure angular velocity, from its tilt angle, as well as acceleration in the X, Y, and Z directions. The Z direction shooting up from the center of the basketball out through the top of the vertical aluminum structure.

Here is a video that shows how the ADXL345 accelerometer is used with the Arduino Mega 2560.

Of course, I can't leave out the IDG500 gyroscope.

By testing out each of the two individually, we were able to breakdown a big challenge into smaller challenges. This mindset and strategy is what helped our undergraduate group complete such an ambitious task in only one semester. One big problem is just a series of smaller, more manageable problems. When you complete small goals along the way, it also helps keep you motivated and less overwhelmed.

After we got the ADXL345 and IDG500 working individually, we made the IMU prototype board as seen here:

I will divulge more of our secrets soon. Please leave comments below with any questions or suggestions. Thanks for reading my blog, and good luck with your projects! Beginners, don't forget to check out Lego Mindstorms NXT Robots for the easiest way to get started building a ball-bot of your own.

Tuesday, February 14, 2012

Ball-Bot Research Access (FREE)

I have found a decent way for everyone to be able to access my research. Please go to and use this to log in:

password:           bloggergoodies

I have uploaded the .pdf copy of our final research paper. I am in the process of getting all of our additional research together for you hard working engineering students (and everyone else who cares) to utilize. I hope to upload all of our Arduino source code as soon as I get it off of the Ball-Bot, and I'm trying to get a hold of our SolidWorks files.
In the 'External Contributions' folder, you (or anyone) is free to upload anything relevant to any of my blogs for others to use. I would greatly appreciate it if you share any useful information, and please be respectful to and my fellow bloggers!

If you want to read my Arduino blogs, I have started to compile some tutorials for you here:

Also, don't forget to check out my videos on YouTube! Here is the Ball-Bot final presentation video:

I also made individual videos on the accelerometer and gyro that were used in the Ball-Bot, and can be seen here (as well as at my Arduino blogs):

ADXL345 (accelerometer):
IDG500 (gyroscope):    

They are what the IMU (inertial measurement unit) is comprised of for autonomous balance control. In the Arduino code, this IMU board is also used as a PID (proportional-plus-integral-plus-derivative) controller for added stability, robustness, and smooth kinematics.
Control systems theory enthusiasts can appreciate the steady-state error correction facilitated by a PID controller. Wiki the PID controller!

I'm listed in Technology

Monday, February 13, 2012

Ball-Bot Research Paper

Hey guys!
I appreciate all of your feedback in my inbox. I messed up somehow and lost some of your emails. Those of you who requested the copy of the research paper, please email me again so I can send it to you! Those of you who got it, I appreciate you reading my blog.

I hope to be able to figure out a way for people to just download the .pdf of the research paper straight from the blog. Does anyone know if I can do this?

I hope to have some more info posted about the Ball-Bot here as well.

I'm listed in Technology

Friday, February 10, 2012

Senior Design Project Ideas

As a robotics engineering student at Southern Polytechnic State University, I know the stress and challenges presented when the time has come to do your senior design (or Capstone) project. I felt the necessity to share my senior design project with fellow engineering students across the world looking for inspiration or ideas for their project. The Ball-Bot project, which will be explained in detail, was quite an ambitious project for a group of undergraduate engineering students, but the pride and positive feedback certainly paid off.

First of all, one should click here to see a YouTube video of our Ball-Bot. This will immediately give you an idea of what it is and all the multidisciplinary engineering challenges that it presents for engineering students. As seen in the video, a Ball-Bot is a robot (fully autonomous) that balances on a ball. In our case, it was a vertical aluminum structure approximately 3' tall and balanced on a basketball. Our system used four motors independently controlling four omni-directional wheels that rolled the ball in the direction of the tilt angle. The tilt angle refers to the angle of the superstructure (aluminum frame) that sits atop the basketball. We used an Arduino MEGA 2560 and an on-board MicroITX computer for the brains of the whole system. An IDG500 gyroscope and ADXL345 accelerometer were used to take inertial measurements and determine the three-dimensional orientation of the robot in real time. An inverted spherical pendulum best describes the kinematics of the system. If you decide to build a Ball-Bot, make sure that you understand the difficulties and investments associated with a project of this scale.

To give credit where credit is due, I would like to introduce our group that completed the Ball-Bot project for our mechatronics engineering senior design project at Southern Polytechnic State University. Brian Kosoris was the group leader, Yuriy Psarev was the mechanical engineer, Bahati Gitego was the control systems engineer, and myself, Jeroen Waning, was the electrical engineer and programmer. In reality we all worked very hard together and each worked on all aspects of the build.

I will be more than happy to share the final paper and all of our research freely. I am working on getting a website online, but in the meantime I will provide it to anyone via email requests:

Thanks for reading!

Also, please check out my other YouTube videos. Thanks!Jeroen Waning - Find me on