This is Balance1, my balancing robot, I built balance1 to demonstrate that a digital controller I had designed in MatLab actually worked in the real world.
The controller i ended up using for Balance1 is a digital LQR controller to balance and also stay in the same position. The LQR controller works really well because it uses a weigthing matrix to let you make balancing more important than staying in the same position. This means that if Balance1 is going to fall over then it doesn’t worry much about its position it just consentrates on balancing, then when its more balanced it tries to get back to its starting position.
Balancing Robot – [Link]
Using the Arduino, and a couple LEGO motors and sensors, build your own self balancing segway-like robot. We recently saw a similar balancing robot using a far more simple design. There aren’t too many details posted about the build yet, but you can read more about the project and watch the demonstration video. [via hacknmod.com]
Mini Segway Using Arduino - [Link]
This isn’t exactly a robot, but it is a neat little adaptive feedback system developed by the Real Time Systems Laboratory at the Sant’Anna School of Advanced Studies in Pisa, Italy that takes all of those silly little tilty-ball games that you can get for your iPhone and brings them into the physical world:
A touchscreen senses the position of the ball and sends signals to x and y axis servos to keep the ball in the center of the screen. I have no idea what (software-wise) is doing the number crunching, but it’s quick enough to adapt to some fairly aggressive motions. Whether or not it (in of itself) is useful is debatable, but it sure is neat.
Ball Balancing Touchscreen - [Link]
David P. Anderson writes:
The basic idea for a two-wheeled dynamically balancing robot is pretty simple: drive the wheels in the direction that the upper part of the robot is falling. If the wheels can be driven in such a way as to stay under the robot’s center of gravity, the robot remains balanced. In practice this requires two feedback sensors: a tilt or angle sensor to measure the tilt of the robot with respect to gravity, and wheel encoders to measure the position of the base of the robot. Four terms are sufficient to define the motion and position of this “inverted pendulum” and thereby balance the robot. These are 1) the tilt angle and 2) its first derivative, the angle velocity, and 3) the platform position and 4) its first derivative, the platform velocity. These four measurements are summed and fed back to the platform as a motor voltage, which is proportional to torque, to balance and drive the robot. Here is a diagram of the algoithm with some code and implementation notes.
nBot Balancing Robot - [Link]