Balancing Robot

Got a short, badly done video of my latest bot up on youtube:

This is probably the coolest thing I’ve ever built. It’s a two-wheeled balancing robot with a custom remote control that lets the user drive it around like a toy RC car.

Most parts are from Pololu. They include a Baby Orangutan driving two 100:1 micrometal motors; the Orangutan runs the PID control necessary to maintain balance, feeding in data from separate gyro and accelerometer boards through a crappy software kalman filter. Remote control consists of a pair of Wixels: one reading from a pair of potentiometers and sending their state to the other, which produces pulse-width-modulated digital outputs for the baby-o to read.

Yes, that’s three microprocessors for something that probably doesn’t even need one, but I’m a software guy by trade so I can’t resist. :slight_smile:

Nice project! Thanks for sharing it. --David

Love the gothic music… lol
Great robot. At what frequency you read the sensors to keep it from falling?

Thanks. The background music is my son’s piano practice. :slight_smile:

If I recall correctly, the robot’s main loop–poll the sensors, do the PID calculations, drive the motors–runs about once every 3 milliseconds.

Since you have done such a wonderful job on this, can you read my post Help with MiniIMU9 and Arduino - Stabilized P/T platform I am trying simply to make a stabilized platform (not R/C controlled) for stabilizing a Pan/Tilt with a dual axis analog accelerometer.

I have plenty of small code snippets. but I’m falling short.

I could use one Arduino uno for the joystick control and another for either accel or accel w/ gyro to send offset data to the first to correct the servos. Any help appreciated. I’m an EE, not a programmer.