Ball balancer as Sandify device


I just had this come in on my Instructables feed:

Ball Balancer

Seeing the ball roll around the glass surface got me to thinking: could you get a ball in a glass box, mounted on a mechanism like this, with a layer of baking soda, describe some of the same patterns that you get with a ZenXY?

No magnet; gravity drives the ball. How much tilt would be needed to overcome the inertia and drag of the baking soda? How would you take the XY coordinates and turn them into driving three servos and get straight lines? and other questions ad nauseam.

Just another rabbit hole to think about.

Mike B.


The kinematics for this ball balancer are sort of simple. The force applied to the ball is in the direction of the gradient of the plane. The magnitude of the force is based on how much the plane is tipped. The ball will respond to the force by accelerating. The impressive parts of this build are: 1) Controlling a ball in 2D using acceleration is hard. Especially if you have any error or latency in your measurements. 2) There are a lot of subtle forces in the real world, like static friction or backlash. Estimating these errors with a good control loop is a big task (and requires a lot of tuning). This person seems to be controlling the position of the ball pretty well. The speed the ball is moving is super important, because you have to slow the ball down with that force/acceleration. You can’t just force it to travel any path at any speed.

If you added something like baking soda, the two new big things are:

  1. The ball will have huge static friction. Predicting when the ball will move vs. Stay put is really hard. Probably impossible (I say impossible because sometimes the force will be so low, and other times it will be so high, it will be impossible to apply a large enough force to make it always move, without applying so much force it will sometimes just take off). To make it harder, once the ball starts moving, it may move fast or slow due to the waves of substrate it has to plow through.

  2. You don’t want to move the substrate. If you just had a plate tipped 15 degrees, with an even layer of baking soda and one steel ball, what is going to cause the ball to move and not the BS? The force pulling the baking soda off the plate has to be less than its static friction, and also the force pulling on the ball needs to be higher than its friction (maybe not static friction per se, since it is rolling, but the force to push to BS away). I don’t know how much room there is between those two forces. I would not be surprised if the ball sometimes got stuck and you. Couldn’t move it without dumping the whole BS.

To make things worse, if you wanted to change the force, you need to change the angle of the plate. If the ball is in the middle, you need to change that angle by rotating about the center. The BS near the ball wouldn’t move much. But the ends of the plate will be flapping around like a see saw. You need to make sure they aren’t moving fast enough to disturb the BS. That limit will probably mean you can’t change the angle very fast. So any closed loop control you were hoping for is doomed.

It seems super duper hard to me. So hard, I bet it is easy to create some experiments to show some standard limits to prove it is impossible. Things like how fast can you tip the plate, and how much the force needed to drive the ball changes based on the shape of the tracks.

Definitely an interesting thought experiment. Several people at RMRRF asked about tipping the plate. It would be neat.

1 Like