Saturday, April 11, 2009

Two-Wheeled Balancing Robot Project 3

nBot Balancing Robot
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.


Gyrobot - a balancing robotic platform

To balance a platform one needs to know the forces acting
upon it. The force is related to the angle of tilt. The base
counteracts that force by applying torque to the wheels.
Basically, one multiplies the angle of tilt by a factor and
uses that to drive the wheels. With appropriate factors the
base will balance, sort of.

UBC Self Balancing Robot
The UBC Two-Wheeled Robot (TW Robot) is a device
capable of balancing itself on two wheels only. This Robot
is specifically designed for a controls course, enabling
students to implement custom controller algorithm in real
world applications. The TW Robot was designed and
constructed as a senior Mechatronics design project in
a team of four: Ramin Sahebjavaher, Daria Aminshahidi,
Mohammadreza Izadpanah and Sunil Kumar Gulabani.
The project was supervised by Dr. Xiaodong Lu.
The budget was set at 2500 CAN$.


T.O.B.B. has no wheel encoders yet. The controll loop is
a simple P-loop. The mechanical system shows a strong
lowpass behaviour (the batteries are on top yielding a high
rotational inertial moment). That's probably why it works.
The next thing is to improve the drive mechanism. There is
a lot of play in the gears (nBot style motor configuration).
The next version will have belts which should work better
(My mechanical skills are close to 0. Building something
with enough precision needed to match two gears is
probably beyond my capabilities

Relate Posts