Sunteți pe pagina 1din 6

2010 11th Int. Conf.

Control, Automation, Robotics and Vision


Singapore, 7-10th December 2010

Centrifugal Force Compensation of a Two-Wheeled


Balancing Robot
Mishari Alarfaj

George Kantor

Department of ECE
Carnegie Mellon University
Pittsburgh, Pennsylvania, USA
malarfaj@andrew.cmu.edu

The Robotics Institute


Carnegie Mellon University
Pittsburgh, Pennsylvania, USA
kantor@ri.cmu.edu

Fig. 1.

The robot in simulation

AbstractDynamically balancing, two-wheeled robots with


high centers of gravity have been researched over the past few
years in order to tackle the restrictions of robots in human
environments. These robots are designed to have the same
dimensions as humans and be able to actively maintain stability.
However these systems are only able to compensate in the foreaft directions and are limited to slow motions when turning in
order to prevent tipping due to centrifugal forces. In this paper we
present a two-wheeled balancing robot whose body is an actuated
four-bar linkage that can be used to lean. This allows it to control
the position of its center of mass in the sideways direction. An
overview of the robot concept is presented, and controllers are
designed to balance, turn, and lean. Results are presented in
dynamic simulation.
Index TermsRobotics, Inverted Pendulum, Control

I. I NTRODUCTION
Dynamically stable robots have been a growing topic of
robotics research in the previous years. Unlike traditional
statically stable robots which require large footprints and a low
center of mass, dynamically stable robots are often designed

978-1-4244-7815-6/10/$26.00 2010 IEEE

to be tall, have a small footprint, and a high center of gravity.


These qualities are ideal for operating in human environments,
as they allow for a design that matches the dimensions of a
human. Furthermore, robots that are capable of dynamically
stabilizing are able to tolerate larger external forces that would
normally destabilize traditional robots. In particular, various
two-wheeled robots capable of forward/backward movement
and rotation have been developed successfully that show the
performance described.
These advantages come at a cost however, as such robots
require careful control design and thorough knowledge of
the system and environment. Unlike statically stable robots,
dynamically stable robots are required to constantly expend
energy in order to stay in a stable configuration. This requires
a more complex design procedure, as well as precision sensors
and actuators. Maneuverability is also often a concern as the
priorities of stability often restricts the potential performance
of such robots.
One common problem in particular is the restriction placed
on the ability of a robot to turn while moving forward.
Among many two-wheeled robots, stability can be maintained
through forward and backward movement, as well as in-place
rotations. However, stability is often degraded when attempting
both. This paper addresses these issues by introducing a twowheeled robot with an additional degree of freedom which
allows it to lean in the lateral direction to facilitate tighter
turns at higher speeds.
II. BACKGROUND
Several two-wheeled robots have been designed and developed in the past that take advantage of dynamic stability.
Among them are nBot [4], and JOE [2], a two-wheeled
robot which uses two decoupled motors in order to allow for
turning as well as dynamic stability. Two-wheeled robots with
manipulators have also been developed [3] which allow the
manipulators to assist in stability. However these robots are
only able to regain stability in the fore/aft directions, and are
statically stable in the lateral directions. For this reason, they
are restricted in turning while moving at high speeds, as the
centrifugal forces can cause instability and tipping.
Ballbot [1], was designed to solve this problem by using a
single spherical wheel which can move in all planar directions.

2333

ICARCV 2010

For sensors, the robot is assumed to be using encoders to


measure the positions of both wheels as well as the lean angle
of the four-bar linkage, from which angles and angular rates
can be observed. An IMU unit is assumed to be housed on the
top deck to provide information on pitch angle, pitch rate, and
yaw rates.
The system dynamics can be modeled using the following
six states:
]
[
(1)
=

Fig. 2.

Robot leaning in simulation

This wheel allowed the robot to not only move in all directions,
but react to forces from any direction, including centrifugal
forces. However, the inverse mouse-ball drive used in the
system is heavily reliant on friction drives to actuate, which
can cause a lower amount of robustness in comparison to the
fixed drives used in two-wheel robots. Further, it is difficult to
see how the inverse mouse-ball drive can be adapted to operate
on typical outdoor terrains such as grass and broken pavement.
In this paper, a two-wheeled robot is presented which borrows elements from Ballbot in the form of a four-bar linkage as
an additional degree of freedom. This allows an inexpensive
design that is able to compensate for centrifugal forces and
maintain stability by leaning in the lateral direction. A similar
concept was used in EMIEW [5], developed by Hitachi, in
which a limited-motion rocking mechanism consisting of a
single joint was used to assist in smooth turning in indoor
environments. The paper will describe the details of the system,
followed by the control methods used, and performance results.
III. S YSTEM D ESCRIPTION
The robot in simulation can be shown in figure 1. The
robot is 1.8 meters in height, 0.5 meters in width, and weighs
roughly 35 kg. The structure consists of two vertical beams
that intersect two horizontal decks. The decks are connected
to the vertical beams with revolute joints, creating a fourbar linkage. The top deck holds a processing unit which is
intended to house sensors and a micro-controller. The robot
will be actuated using two wheels with radii of 34 cm, which
are roughly the same size of bicycle wheels allowing it to be
suitable for outdoor terrain. In addition, the four-bar linkage
is able to be actuated, allowing the robot to lean laterally as
shown in figure 2.

where represents pitch angle in radians, represents pitch


rate in radians/second, represents forward velocity in meters/second, represents yaw rate in radians/second, represents lean angle of the four-bar linkage in radians, and represents the lean rate of the four-bar linkage in radians/second.
The and that result from these dynamics can be fed into
a unicycle-like kinematics model to provide the position and
orientation of the vehicle on the plane.
The simulation of the system was achieved through the
use of the Open Dynamics Engine (ODE) library [6]. The
simulation runs at a rate of 10 kHz, with the discrete controller
running at 1 kHz.
The system was modeled incrementally using three phases.
The first involves stabilizing the forward-backward motion of
the system in which the scope is restricted to the pitch angle,
the pitch rate, and the forward velocity. The second phase
involves the addition of the yaw rate element, and controlling
yaw rate and forward velocity. The third integrates the lean
angle and lean rate of the system in order to compensate for
the centrifugal forces generated.
IV. C ONTROLS AND D ESIGN
The robot model used for control purposes was derived by
using a black-box modeling technique. The reasoning behind
this decision, as opposed to using equations of motion was
the increased complexity caused by the additional degree
of freedom. Furthermore, the technique can be re-applied
dynamically in order to increase robustness to changes in
mass and other environmental factors. Q-R decomposition was
used to determine a least squares model using a number of
samples. A standard discrete-time state-space representation
of the dynamics of a linear system is represented as follows:
+1 = +

(2)

By augmenting the and matrices, as well as the and


vectors, the equation can be modified as follows:
[ ]

+1 = []

(3)
() ()
+1 =
By concatenating states side-by-side as follows,

2334

= [0 1 ... ]

(4)

equation 3 can be modified such that () can then be


calculated in a least-squares fashion using Q-R decomposition.
()
+1 = ()

+1
() ()

+1 = +1
= ()

+1
()

(5)

()

Fig. 3.

()

in this case is the augmented matrix described in equation


()
3, with restricted to the three elements of pitch, pitch rate,
and forward velocity, as well as simultaneous wheel torque as
the input.
Matlab was used to find LQR gains for a manually tuned
cost function, resulting in the balancing gain matrix () .
Using these weights, and a desired pitch ( ) as a reference,
stability was verified by using a step input of -1 degree in
simulation.

Decoupler

()

()

Fig. 4.

()

Block diagram of inner system

A. Two-Wheeled Stability
The first stage of designing a controller for the system
involves designing a controller for forward-backward stability.
),
For simplification, only the first three states (, ,
and
forward torque ( ) are taken into consideration given this
scope. Using the black-box modeling method described above,
the following model was generated:

0
1.00000 0.00100
0
() = 0.01659 0.99927 0.00080 0.00028 (6)
0.01786 0.00108 1.00119 0.00041

()

+1
=

Using this technique, the and matrices of the system


can be found experimentally, and here we have used this
technique to obtain models from the ODE simulation. Note
that we assume that the full state is measured, so the C matrix
is identity. 1000 samples were used for the purpose of this
paper, however a smaller set could be used without sacrificing
significant amounts of performance.

Decoupler

Block digram with outer velocity and yaw rate control layer

0.99999
0.00100
0.01867 0.99096
=
0.03462 0.01349
0
0

0.00002
0
0.03592

=
0.05363

0
0
0.00036

0
0.00008
1.00013
0

0
1.00000

(7)

Using identity weights once again, LQR was used to generate a final, fully encapsulating controller, () which is able
to control both forward velocity and yaw rate simultaneously.
These weights are applied to the respective inputs to generate
the final block diagram shown in figure 4, where is the
desired turn rate, and is the desired forward velocity.
The resulting system is stable, and can be controlled given
a desired forward velocity, as well as a desired yaw rate. To
demonstrate this, figure ?? shows the systems response to a
step input of 1 m/s forward velocity and 1.0 rad/s yaw rate.
C. Four-bar linkage

B. Velocity and Turning Control


Once the system had been stabilized, the next step is to add
to the state and design a yaw rate and forward
yaw rate ()
velocity controller in order to allow the robot to be driven
around on a plane. The forward torque ( ) and turn torque
( ) are decoupled using the technique shown in [2], where
forward torque is added to both wheels, and turn torque is
added to one, and subtracted from the other. This turn torque
is also added to the modeling process as in input. A block
diagram of this system can be shown in figure 3, where is
the turn torque, is the forward torque, and are the
left and right wheel torques respectively, and is the desired
pitch input.
The black-box modeling technique was then applied to this
new, stable system producing the following model:

While the current system is sufficient for stability at low


speeds, it becomes unstable when turning at high speeds. This
is due to the centrifugal force that occurs when turning. The
equation for this is:
2
=
(8)

where is the centrifugal force, is the mass of the object


in kilograms, is the angular velocity in radians per second,
is the turning radius in meters and is the forward velocity in
meters per second. Small centrifugal force will not cause any
large concerns, however once it reaches a certain magnitude,
the robot will tip. This stability margin is breached when the
angle of the sum of centrifugal and gravity forces exceeds
the angle between the robot center of mass and the wheels
contact point with the ground. Figure 6 illustrates this, with

2335

Pitch (rad)

Threshold of Centrifugal Force, Fc=54.6

10

0.2
0

0.2

10

8
10
12
Pitch Rate (rad/s)

14

16

18

20
2

0.5
Radius of curvature (m)

10

0
0.5

8
10
12
Forward Velocity (m/s)

14

16

18

20

1
0
1

10

10

10

8
10
12
Yaw Rate (rad/s)

14

16

18

20

10

0
1

10

10

12

14

16

18

20

10

10

10

10

Forward velocity (m/s)

Fig. 5.

Step response of 1 m/s forward velocity reference


Fig. 7.

Figure of stable velocities and radii of curvature

system is dictated by the following:

>

(54.6) > (35.04)

1.558 >

Fig. 6.

The effect of centrifugal force on the system

and denoting the force of gravity and the centrifugal force


respectively. The dashed line represents the angle between the
center of mass and the axle track of the system, while the
dotted line represents the force vector.
The value of centrifugal force tolerable by the robot without
destabilizing and tipping over can be calculated as follows:
( , ) < (, )

(9)

where is the centrifugal force acting on the system, is the


force of gravity, is the width between the center of the robot
and the wheels contact point, and is the height of the robots
center of mass. The simulated robot has a mass of 35.04 kg,
a center of mass at a height of 1.511 meters, and its distance
between the center and wheel measured at 0.24 meters. When
calculated out, the maximum magnitude of centrifugal force
that the robot is able to handle without toppling is measured to
be 54.60 Newtons. Using equation (8), we find the maximum
forward velocity and yaw rate combination possible for the

(10)

Where represents the yaw rate in radians/second, and


represents forward velocity in meters/second. The graph in
figure 7 shows the values for which the robot can turn without
exceeding its stability margin.
In order to tests these calculations, we run the simulator at
two different turning speeds below and above this threshold of
54.6 Newtons. To demonstrate this, the robot is first started at
steady state, followed by a gradual ramping of the desired
forward velocity, followed by the yaw rate input. We first
simulate the robot turning at a speed of 2.0 m/s, with a
yaw velocity of 0.7 rad/s, producing a centrifugal force of
49.06 Newtons which is within the stated threshold. This is
characterized by the blue curves plotted in figure 8. We then
increase the yaw velocity to 0.8 rad/s with a speed of 2.0 m/s,
producing a centrifugal force of 56.06 Newtons. This breaks
the threshold of 54.6 Newtons as stated above, and the resulting
red curves plotted in figure 8 demonstrates this. The graph
shows unstable behavior, caused by the wheel breaking contact
with the ground.
Traditional two-wheeled robots are able to avoid this form
of tipping by either placing restrictions on forward velocity
and yaw rate, or increasing the width of the wheel track. Both
these solutions are non-ideal as the first places a restriction
on movement, while the second increases the robots footprint.
This paper explores the use of a four-bar linkage to compensate
for centrifugal forces at speeds that may otherwise topple
the robot. The four-bar linkage allows the robot to lean
sideways, displacing its center of mass. By doing so, the
summed force vector described above is shifted, which in turn
shifts the threshold values. This four-bar linkage is controlled
independently from the rest of the system by actuating motor
observed as states.
torque, with lean angle(), and lean rate ()

2336

0.8 rad/s

Forward velocity(m/s)
0

0
5

8
10
12
Yaw Rate (rad/s)

14

16

18

20

8
10
12
Yaw Rate (rad/s)

14

16

18

20

10
12
Roll (rad)

14

16

18

20

8
10
12
Roll Rate (rad/s)

14

16

18

20

14

16

18

20

10
12
Roll (rad)

14

16

18

20
0.5

0.5

0
0.5

With Lean

Without Lean

Forward velocity(m/s)

0.7 rad/s

0.5

8
10
12
Roll Rate (rad/s)

14

16

18

20
0.5

0.5
0

0
0.5

0.5

10

12

14

16

18

10

12

20

Fig. 10.

Fig. 8. Robot turning below and above the centrifugal threshold of 54.6
Newtons

Lean angle and lean rate in this case represent the angle and
angular rate of the four-bar linkage as measured by encoders.
The reason to decoupling the four-bar linkage system from the
rest of the system is largely due to the non-linear correlation
between the velocity and yaw rate of the two-wheel system and
the centrifugal force that effects the four-bar linkage system.
It should be noted that the four-bar linkage also allows the
sensors located on the top deck to remain parallel to the ground
regardless of its configuration in stable states.
The four-bar linkage is modeled using the same black-box
modeling technique above as a separate system, producing
(,) . This realization is then used to generate an LQR controller (,) , using lean rate as a reference signal. By applying
a second controller (,) around the former, lean angle can
be referenced, allowing the four-bar linkage to be sufficiently
controlled. The desired lean angle of the system can then
be calculated using an estimator of the force vector angle
generated when turning. This is derived by using equations
(8) and (9) to obtain:
)
(
( )

=
=

( )
(11)

=

Where denotes the desired lean angle of the four-bar


linkage and denotes the acceleration of Earths gravitational
are
field. Since both forward velocity ()
and yaw velocity ()
available as states, this computation is feasible in terms of both
availability and computability. The block diagram in figure 9
demonstrates the final design of the control system, where
is the torque applied to the four-bar linkage, is is desired
lean r, and is the desired lean angle.
Standard LQR proved insufficient for the outer controller
due to the inadequate means of determining LQR weights
with respect to the desired performance metrics. These metrics
include minimizing roll at a high level, as well as minimizing

Turning at 2.0 m/s and 0.8 rad/s with and without lean

the forces generated by the four-bar linkage and adequate


trajectory-following of the desired angle determined by estimating the force vector angle effected by centrifugal force. In
order to overcome this, the Nelder-Mead method implemented
in the GNU scientific library [7] was used to determine the
appropriate gains to be used by the controller. The cost function
optimized is defined by the sum of maximum roll and roll rate
magnitudes obtained over multiple simulations at various turn
values in order to obtain robustness. This resulted in weights
of 7.0 for lean angle and 11.0 for lean rate.
V. R ESULTS
The additional lean feature showed improved results for
turning at high speeds. The Nelder-Mead method generated
adequate weights that allowed for turn stability at higher values
than before. As shown in figure 10, the lean controller allowed
the robot to turn at 0.8 radians/second with a speed of 2.0
meters/second, which was previously unobtainable when not
utilizing the four-bar linkage.
Continuing to experiment with the controller, centrifugal
forces of up to 70 Newtons were achievable before the system
returned to an unstable state. This translates to an increase
of the threshold by over 28%. Figure 11 shows this in which
the robot was capable of turning at 0.9 radians/second while
maintaining a forward velocity of 2.2 meters/second. It can be
seen that the system at this limit maintains stability, however
begins to develop under-damped behavior. Scale should also
be taken into consideration when comparing figure 11 and 10.
VI. F UTURE W ORK
As of the completion of this paper, an actual implementation
of the robot has yet to be built. With this paper confirming the
advantages of leaning in a two-wheeled dynamically stable
robot, future work will involve the construction of the concept
for further research. Work is also planned for using IMU roll
readings, as well as various estimators to derive a filter capable
of isolating the three components of system roll, centrifugal
force, and four-bar linkage force in order to improve the

2337

()

()

Decoupler

()

(,)

Fig. 9.

(,)

0
5

10

15
Yaw Rate (rad/s)

20

25

30

10

15
Roll (rad)

20

25

30

10

15
Roll Rate (rad/s)

20

25

30

10

15

20

25

30

2
0
2
0.1
0
0.1
0.05
0
0.05

Fig. 11.

[2] F. Grasser, A. DArrigo, S. Colombi and A. C. Rufer, JOE: A Mobile,


Inverted Pendulum. IEEE Transactions on Industrial Electronics, vol. 49,
No. 1, February 2002
[3] P. Deegan, B. Thibodeau and R. Grupen, Designing a Self-Stabilizing
Robot For Dynamic Mobile Manipulation. Robotics: Science and Systems
- Workshop on Manipulation for Human Environments, 2006
[4] D.
Anderson,
nBot
balancing
robot,
2002.
http://www.geology.smu.edu/ dpa-www/robo/nbot/index.html
[5] M. Koga, Y. Hosoda, T. Moriya, Humanoid Robots. Hitachi Review, 2009
[6] R. Smith. Open Dynamics Engine. http://www.ode.org
[7] M. Galassi et al, GNU Scientific Library Reference Manual (3rd Ed.),
ISBN 0954612078.

Forward velocity(m/s)

(,)

Full System Diagram

Turning at 2.2 m/s and 0.9 rad/s ( = 69.4 )

above controller. By doing so, further research can be done in


developing more robust control methods which can potentially
increase the performance seen in this paper.
VII. C ONCLUSION
The results show that two-wheeled dynamically stable
robots can benefit by incorporating an extra degree of freedom
that enables them to lean. By using a four-bar linkage or
other mechanically similar devices, centrifugal forces which
normally limit a robots movement can be compensated for.
In the system described in the paper, improvements of over
28% were made possible using relatively simple control laws.
We hope that continued research will enable more robust
controllers to further push performance.
ACKNOWLEDGMENT
The authors would like to thank Dr. Sam Kherat for his
insights on control theory.
R EFERENCES
[1] T.B. Lauwers, G.A. Kantor and R.L. Hollis, A dynamically stable singlewheeled mobile robot with inverse mouse-ball drive. In Proc. Intl. Conf.
on Robotics and Automation, Orlando, FL, May 15-16 2006.

2338

S-ar putea să vă placă și