Yet Another Balancing Robot


Just finished my balancing robot project. Started with this thread: Do these parts look ok for a balancing robot

The updated parts list can be found here:

Here is the video:

I used the sample Kalman filter code from Tom Pycke, ars.c 17/10/2007. The IR sensors mounted up front are not used for this project. The SVP-1284 is a very nice platform!



Thanks for sharing! The pool table seems like a fairly good environment for this scale of robot. Can it intentionally move around, or is it just trying to stay balanced at this point? Are you using the encoders?

- Jan


It “unintentionally” moves around. I am not using the encoders yet but plan to once I have it traveling. Yes the pool table is nice since it acts as a fenced in area and keeps the bot from testing the accelerometer further :wink:

It took a while to get the constants tuned. Once I added the menu it allowed me to change the values quickly and made the tuning simpler.


YalBalBot now can drive forward and turn. I am using the Pololu Carrier with Sharp GP2Y0D810Z0F Digital Distance Sensor 10cm and also using the wheel encoders which are included in the 42x19mm Wheel and Encode Set.

To drive forward, an offset is added to the accelerometer and gyro sensor values and the encoders and a PID are used to regulate the offset in order to keep a somewhat constant speed. When an obstacle is encountered, the appropriate wheel motor value is scaled back to cause a turn. The scaling value is a function of what combination of sensors are tripped (left side, right side, left and center, etc.).

Here is the video:


Very impressive. I like the progress.
I have something similar on the cards for when I finally get some time to spend on it. It’s good to see a good working robot like this with similar electronics that I will be using. Keep it up.