Selfbalancing robot (Arduino)

In the video you can see that the robot stays at roughly the same spot on the floor and handles a lighter push without any problem. To achieve this I have two cascade PID controllers and low pass filter on both wheel speed and the robot's angle.

Source code, component list and more info

[Update 2012-07-27]

I programmed a simple moving average filter. This will remove the rapid changes and make the robot calmer and with less overshoots. It also handles pushes much better than before. Video here.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Nice work, Sebastian. The code is understandable and makes a good starting point for an equal self-balancing robot using an Arduino. Collected!

Thank you for bringing the built-in EEPROM back into my mind. Forgot about it... but is useful.

I also like this project of you. Keep up the good work.

And welcome to LMR.

Thank you! :)