Physics of a Ballbot

Hi All!

I’ve been working on some ideas I had for a ballbot, a robot that uses a ball as its single wheel. The idea was to have it balance on top of the ball (thinking like a basketball or something) and to have the wheels/motors on the outside of the ball.

Currently, my design is to have 4 omniwheels to control the robot either at the midline or below the midline around the ball, and I have wanted to make it so it can move around (controlled by joystick or gamepad or whatever) and balance still.

I have been trying to figure out the physics behind this design though. I’ve talked to some instructors and looked around on the internet but haven’t found any good explanations of the motion. The goal is to find out the amount of torque the motors will require to keep the robot on top of the ball.

I am assuming like I said, a basketball (9.5 inches in diameter), 4 inch Omni wheels, and a weight of the top of the robot (part moving around on the ball) to be 1lb.

Thanks for the help! I appreciate it! Let me know if any more information is needed!

I thought about a BB-8 for a good bit after the movie. I never actually did anything with it outside of mental modeling, but I seem to recall that my last design involved three mutually perpendicular omni wheels, all “above the equator” of the ball. If you get a regular die (chance cube), and imagine one wheel centered on the 1 face, oriented towards the 2 face, another centered on the 2 face oriented towards the 3 face, and the third centered on the 3 face, oriented towards the 1 face, then all rotated so that the corner common to the 1, 2, and 3 faces points up, you should get the idea.

Accelerometers in three mutually perpendicular dimensions are obviously essential. My thinking was that I would orient them with the same axes as the wheels, but I did not think it through very far before moving on to something else.

Cool idea!

Your ballbot is like the classic “inverted pendulum” problem, with the pendulum allowed to fall in any direction.

Two general thoughts on stabilizing the inverted pendulum:

1. correcting torque required increases as the pendulum leans further from vertical

2. stabilizing is easier if the pendulum is taller and heavier; this is so because height increases the moment of inertia, so that the pendulum leans away from vertical more slowly

So, to determine the torque needed, you must first decide how tall and heavy robot will be, and how far from vertical it will be able to lean without falling.

If you want a mathematical reference for an inverted pendulum design, here’s a manual from my controls lab in college:

https://engineering.purdue.edu/AAECourses/aae364L/2015/Spring/lab3/lab-pinv

Thanks for all the guidance!
I’ll try my best to use the information in your document Michael!

Two general thoughts on stabilizing the inverted pendulum:

1. correcting torque required increases as the pendulum leans further from vertical

2. stabilizing is easier if the pendulum is taller and heavier; this is so because height increases the moment of inertia, so that the pendulum leans away from vertical more slowly

So, to determine the torque needed, you must first decide how tall and heavy robot will be, and how far from vertical it will be able to lean without falling.

So, it would be more beneficial to increase the weight of the top of the robot? I have been thinking about trying to make it as light as possible, so the motors didn’t have to move too much mass.
In regards to the height, I am expecting to use a basketball as the base of the robot, so the height comes out to about 9.5 inches from the ground, or 4.75 inches from the center of the ball. I am expecting the weight of the robot on top of the ball to be 1-2lbs. It shouldn’t be much more than that. As for the max angle, it should be between 15 and 30 degrees.

With this information, I was told many different ways to approach the problem. Some I asked said to consider Kinetic Energy and Potential Energy. Another said to consider angular momentum. Most told me not to really think about this problem in terms of torque. Do you have some suggestions for what my next step should be? Like how to approach it?

Thank you all sooooo much for the help!

Increasing the mass of the inverted pendulum will require greater high-end torque from your motors, but it will give you more time ro make corrections. Always a trade-off.