[James] designed a digital controller in MatLab, but he really wanted to see if it would work in a real-world application. To test out his linear quadratic regulator design, he decided to build a self-balancing robot. His goal was to built a robot that can keep its balance even when external forces are applied, all while staying in the same place.
Balancing on a pair of wheels is not all that simple, so his LQR controller allows him to weight the bot’s priorities towards keeping balance, focusing on returning to its starting position once equilibrium has been achieved. The results are pretty impressive as you can see in the videos below. The robot is easily able to attain its balance once powered on, and it has no problem remaining stable even when pushed or when objects are placed on top of it.
[James] has plans for several enhancements in the near future, including remote control via Xbee modules as well as autonomous navigation utilizing sonar or possibly a camera. We’d totally love to see it sporting a Kinect sensor in a future revision, but that’s just us!
Keep reading for a couple of demo videos he put together.