Balancing Robots

"What I dream of is an art of balance."      Henri Matisse

           

Fred Kaufman

CMSC-391     Summer I 2004


    The command and control of robots with microcontrollers is an application that is used extensively for both fun and profit.  Robots are used in the auto-industry to build cars, they are used to battle each other in sporting arenas, they are even being used to explore the surface of Mars.

    An exciting use of microcontrollers is also in use in the unique and interesting subset of balancing robots.  A balancing robot; like the 'nBot' pictured above was developed by David Anderson of Southern Methodist University.  The nBot is a 2-wheel robot that uses its microcontroller to control balance and locomotion.

    The theory of balancing a 2-wheel robot is very simple, as the body of a robot begins to fall, drive the wheel such that they stay under its center of gravity.  The implementation of effectively balancing a robot smoothly is a bit more complicated.  It normally involves taking sensor readings from a gyroscope and absolute tilt meter, multiplying those values and their derivatives times a scalar value and then adding those values together to determine the amount and direction of torque that must be applied to the robot's wheels.  The system must be put into a feedback loop in order constantly readjust to its new values.

 

    This is David Anderson of SMU demonstrating the balancing abilities of his nBot.  Notice when David induces an acceleration to the top of the robot, the robot leans in the opposite direction to counteract this acceleration and stay balanced.

   Balancing robots are able to turn by inducing a positive offset into one wheel and a negative offset in the opposite wheel.  this effectively spin the robot on its axis making them quite maneuverable.

   The nBot uses a 16-bit Motorola HC11 robot controller for managing  sensor input from its gyroscope and accelerometer.

                < next page>