Balibot by Bill Sherman

Balibot, An Inverted Pendulum Robot

Balibot is the prototype of a two-wheeled robot that has its center of gravity above the wheels. 
Without an active control system, the robot would just fall over.  If the robot could sense its
direction as it is falling, the wheels could move toward the fall and upright itself.

Tilt Sensor:  To measure the tilt of the robot, a Motorola MMA2260 low G Accelerometer was used. 
The device consists of a micromachined structure formed from polysilcon materials. It can be
described as two stationary plates with a movable plate in-between. The center plate moves as the
device is subjected to tilt.  The output is an analog voltage that is further amplified and
conditioned by circuitry on the controller board.

Controller:  A 16F876 PIC microcontroller from Microchipİ was selected for the controller.  The PIC
has onboard a multichannel analog to digital converter suitable to measure the tilt sensor and
digital I/O lines to control the two servos modified for continuous rotation.  Power is supplied by
four "AA" batteries and regulated by a low dropout regulator.  Unregulated 6 volts is delivered to
the servos with a 3300 microfarad capacitor across the power to prevent the microcontroller from
resetting when power is drawn from the servos.  The electronics was constructed on a Radio Shack RS
276-150 project board and mounted above the servos on an aluminum chassis.  The batteries are near
the top and act as an inverted pendulum weight.

Problems:  The program written in Basic using PIC Basic Proİ, continuously samples the tilt angle
and drives the servos using PWM.  Control is proportional; the speed to catch the fall is greater
the further the robot is off-balanced; less force is applied when the robot is balanced. The robot
encountered many problems to maintain balance with such a simple control.  Some of these problems
are overshoot causing the robot to oscillate, vibration transmission to the sensor and mismatched
wheel speed.  Issues such as response time, damping ratio and settling time need to be clearly
identified. The addition of wheel encoders and a better algorithm to control the servos are
currently under development to make this robot balance successfully.



Return to The Robot Menu