Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Mechatronics
journal homepage: www.elsevier.com/locate/mechatronics
a r t i c l e
i n f o
Article history:
Received 7 September 2009
Accepted 30 November 2011
Available online 9 January 2012
Keywords:
Mobile inverted pendulum system
Sensor fusion
Kalman lter
Control hardware
a b s t r a c t
This article presents balancing and navigation control of the balancing robot called MIPS. MIPS is a mobile
inverted pendulum system whose structure is a combination of a wheeled mobile robot and an inverted
pendulum system. MIPS can navigate on the horizontal plane while balancing the pendulum body. Control performance relies upon the accuracy of sensors to measure a tilted angle. Low cost gyro and tilt sensors are used and fused to detect a balancing angle. Digital lters are selectively designed for sensors to
measure an inclined angle accurately with respect to different frequencies. Performances of balancing
and navigation of the MIPS are tested by experimental studies through remote control.
Crown Copyright 2011 Published by Elsevier Ltd. All rights reserved.
1. Introduction
Balancing systems are quite attractive to educators and
researchers in the educational purposes as well as research purposes. Our body can be modeled as a balancing system whose balance is controlled to keep from falling while walking. When a
human is walking, he/she is simply considered as an inverted pendulum system. Thus, balancing control has become an important
subject in the control and robotics communities.
The inverted pendulum system has been considered as a well
known prototype system of representing nonlinear systems for
testing control algorithms [14]. A single input to the inverted pendulum system has to control both the pendulum angle and the cart
position simultaneously. The typical characteristic of the inverted
pendulum system has attracted researcher as well as educators
to demonstrate control performances by the advanced control
algorithms. PID controllers can balance the pendulum by selecting
suitable gains. However, simultaneous control of both angle and
position by PID controllers has been known to be very difcult
since the inverted pendulum system is nonlinear.
As an extension of the inverted pendulum system, the mobile
inverted pendulum system (MIPS) is a more challenging system
whose dynamics is more nonlinear and complicated [515]. The
MIPS can navigate on the horizontal plane by differing wheel
velocities while balancing the pendulum.
There has been active research on controlling the mobile inverted pendulum systems. Successful demonstration by the com Corresponding author.
E-mail address: jungs@cnu.ac.kr (S. Jung).
URL: http://isee.cnu.ac.kr (S. Jung).
0957-4158/$ - see front matter Crown Copyright 2011 Published by Elsevier Ltd. All rights reserved.
doi:10.1016/j.mechatronics.2011.11.011
96
v
x
"
r
2
r
L
r
2
Lr
2 3 2r
cos /
x_
2
6 _ 7 6 r sin /
4y542
r
/_
r
2
r
2
#
2
3
cos / " #
h_ R
sin / 7
5
h_ L
Lr
2.2. Dynamics
The MIPS is a non-holonomic system whose kinematic equations are constrained. The motion equation of the wheeled drive
mobile robot with kinematics constraints is described as
Cq; q
_ Gq Ps NT k
Mqq
_ is the
where q = [x, y, /, h, hR, hL] , M(q) is the inertia matrix, Cq; q
Coriolis and centrifugal force vector, G(q) is the gravity force, N is
the constraint matrix, P is the input transform matrix, s is the input
torque vector, and k is the Lagrangian multiplier.
_ h
_ T where h is the
A new velocity vector t is dened as t v ; /;
pendulum pitch angle. Then the Jacobian relationship yields
q_ Sqt
5
T
_ h;
_ h_ R ; h_ L . To satisfy the relationship
_ y;
_ /;
where the vector q_ x;
ST NT k 0, S(q) is given as
cos /
6 sin /
6
6
6 0
Sq 6
6 0
6
6 1
4 r
2.1. Kinematics
3
2 3 2
cos / 0
x_
7 v
6_7 6
4 y 5 4 sin / 0 5
x
0
1
/_
h_ R
h_ L
1
r
#"
07
7
7
07
7
17
7
7
05
1
0
L
2r
2rL
sin /
6
Nq 4 cos /
cos /
cos /
sin /
L
2
0 r
sin /
2L
0
0
0 7
5
r
S_ t St_
q
Considering the gravity term and substituting (8) into (4) yields
the dynamics equation.
MSt_ MS_ t C G Ps NT k
ST MSt_ ST MS_ t ST C G ST Ps
10
Table 1
List of commercial gyro sensors.
Model
Company
Axis
ENC-03R
LPR5150AL
NT-ARS V1
R1050K
XA3300
3DM-GX3-25
Murata
STmicro Electronics
Entirex
Microinnity
Microinnity
Microstrain
1
2
2
1
3
3
1
10
13
30
110
300
3. Control schemes
3.1. Linear control
One PD controller and two PID controllers are used for the pendulum angle, the orientation, and the cart position as shown in
Fig. 2. Although the MIPS is a nonlinear system, PID controllers
97
can stabilize the system by balancing itself. The PD controller output for the balancing angle control is given by
uh k1 eh t k2 e_ h t
11
u/ k3 e/ t k4
e/ tdt k5 e_ / t
12
up k6 ep t k7
ep tdt k8 e_ p t
13
98
_ k3 / / k4 xd x k5
sR k1 hd h k2 h_ d h
d
xd xdt k6 pd p k7 v d v k8
Gyro Data
pd
pdt
50
14
30
_ k3 / / k4 xd x k5
sL k1 hd h k2 h_ d h
d
0
xd xdt k6 pd p k7 v d v k8
pdt
20
pd
15
where k1, k2, k3, k4, k5, k6, k7, k8 are controller gains.
Angle [dgree]
Gyro
Encoder
40
10
0
-10
-20
-30
-40
-50
Measuring a tilted angle of the MIPS is quite important for control application. A gyro sensor is used mostly to measure the angle
since the sensor has a fast response, but suffers from a drift problem with respect to time. Commercial gyro sensors are available in
the market, but cost is quite expensive. A tilt sensor is less expensive, but has a slow time response. Therefore, two sensors can be
used and fused together to obtain the tilted angle of the MIPS. Digital lters have to be designed to satisfy different frequency characteristics of two sensors.
The complementary lter is composed of the lowpass lter for
the tilt sensor and the highpass lter for the gyro sensor since
the gyro sensor has the good high frequency response and the tilt
10
12
14
16
18
20
Time [sec]
Fig. 7. Gyro sensor response.
sensor has the good low frequency response. Each ltered output is
added together to form a single value as shown in Fig. 5. When the
sensor transfer functions are given as for the tilt Ht(s) and for the
gyro sensor Hg(s), the complementary lter satises the following
relationship.
Ht sF t s Hg sF g s 1
16
99
15
Tilt Data
50
Encoder Angle
Gyro Angle
Tilt
Encoder
40
10
Angle (dgree)
30
Angle [dgree]
20
10
0
-10
-5
-20
-10
-30
-40
-50
0
-15
0
10
12
14
16
18
20
10
12
14
16
18
20
Time (s)
Time [sec]
Fig. 11. Gyro angle (0.1 Hz).
Fig. 8. Tilt sensor response.
15
Encoder Angle
Filtered Angle
Filtered Data
50
Kalman
Encoder
40
10
Angle (dgree)
30
Angle [dgree]
20
10
0
-10
-20
-5
-10
-30
-40
-50
0
-15
0
10
12
14
16
18
10
12
14
16
18
20
10
Time (s)
20
Time [sec]
40
30
15
Tilt Angle
Encoder Angle
20
Angle [Deg]
10
Angle (dgree)
10
0
-10
-5
-20
-10
-15
0
-30
Time [s]
2
10
12
14
16
18
20
Time (s)
Fig. 10. Tilt angle (0.1 Hz).
where Ft(s) and Fg(s) are lters for tilt and gyro lters, respectively.
If the sensor characteristics are unknown, which is true for most
cases, let Ht(s) = 1 and Hg(s) = 1 for simplicity. Then, each lter of
Ft(s) and Fg(s) can be designed as a rst order lter.
F t s
as 1
17
100
0.2
15
Direction [rad]
Encoder Angle
Gyro Angle
Angle [Deg]
10
Real HeadingAngle
Desired HeadingAngle
0.15
0.1
0.05
0
0
10
15
20
25
30
Time [sec]
0.15
Distance [m]
-5
-10
-15
0
Real Position
Desired Position
0.1
0.05
0
-0.05
0
10
10
15
20
25
30
20
25
30
Time [sec]
Time [s]
15
Encoder Angle
Filtered Angle
x 10-3
10
Angle [rad]
Angle [Deg]
-5
-10
-5
-10
-15
-15
0
10
-20
0
Time [s]
10
15
time [sec]
Fig. 15. Filtered angle (2.0 Hz).
Fig. 18. Balancing angle response.
0.02
7
Desired Direction
Real Direction
0.01
6
5
-0.01
Direction [rad]
Angle [rad]
-0.02
-0.03
-0.04
-0.05
4
3
2
10
15
20
25
30
time [sec]
0
10
15
20
25
30
time [sec]
F g s
as
as 1
18
where Ft(s) is a low pass lter for the tilt sensor, Fg(s) is a high pass
lter for the gyro sensor. Thus, designing a time constant a appropriately becomes an important factor for the performance. Although
101
Pendulum Angle
6
4
Dgrees
2
0
-2
-4
Fig. 20. Circular trajectory tracking result.
-6
-8
0
10
12
14
16
18
20
Time [sec]
Fig. 23. Angle of the pendulum.
Pendulum Distance
0.35
Distance
Reference
0.3
Distance [m]
0.25
0.2
0.15
0.1
0.05
0
-0.05
0
10
12
14
16
18
20
bk1 bk wb
Time [sec]
hk1 hk xk bk T wh
19
where T is a sampling time and wh, wb are noises. The states are dened as a gyro angle and a bias, and the state equation can be modeled as
xk1
1 T
0
xk
yk 1 0 xk 1k
T
0
xk wk
20
21
hk
, and wk and fk are process noise and measurement
where xk
bk
wh
.
noise, respectively and wk
wb
102
Pendulum Direction
Pendulum Direction
Dgrees
Dgrees
0
-1
0
-1
-2
-2
-3
-3
-4
-4
-5
0
10
12
14
16
18
-5
20
Time [sec]
10
12
14
16
18
20
Time [sec]
Fig. 28. Orientation angle of the mobile pendulum robot for the sinusoidal tracking
task.
Pendulum Angle
Angle Result
0.04
0.03
0.5
0.01
Angle [rad]
Dgrees
0.02
-0.5
0
-0.01
-0.02
-0.03
-1
-0.04
-1.5
-0.05
10
12
14
16
18
20
-0.06
Time [sec]
10
15
20
25
30
Time [sec]
Fig. 26. Angle of the pendulum for the sinusoidal tracking task.
Fig. 29. Balancing angle.
Pendulum Distance
0.25
Distance
Reference
0.2
0.6
0.15
0.4
Distance [m]
0.1
0.05
0
-0.05
-0.1
-0.15
-0.2
-0.25
0.2
0
-0.2
-0.4
-0.6
10
12
14
16
18
20
Time [sec]
-0.8
0
10
15
20
Time [sec]
Fig. 27. Position tracking result of the mobile pendulum robot for the sinusoidal
trajectory.
25
30
103
Pk I K k hPk
26
Position Result
0.7
where h 1 0 and
R are
the covariance matrix of measurement
noise such that R E 1k 1Tk . The reference signal zk is the output angle of the complementary ler. Therefore, the Kalman lter is designed to help the estimation of gyro angle more accurately.
Real Positon
Desired Position
0.6
Position [m]
0.5
0.4
0.3
0.2
0.1
0
-0.1
0
10
15
20
25
30
Time [sec]
Fig. 31. Position tracking result.
22
Pk AP k1 AT Q
23
1 T
T
where A
,B
and Q is the covariance matrix of pro0 1
0
cess noise such that Q E wk wTk .
Measurement update:
T
24
25
104
nals are shown in Fig. 15. Similarly, noise and drift problems are
solved.
5. Simulation
5.1. Step command tracking task
Control performance of the MIPS is tested by simulation studies.
The MIPS is required to move 0.1 m in xy plane with 0.1 radian
heading angle. Fig. 16 shows the balancing angle and Fig. 17 shows
the position and heading angle tracking results. Movements are
settled down after 7 s.
6. Experimental studies
105
The authors would like to thank all the reviewers for their valuable comments.
This research has been partially supported by Korea Research
Fund through the basic research program and the center for autonomous intelligent manipulation (AIM) for service robots of the
MKE (The Ministry of Knowledge Economy), Korea, under the Human Resources Development Program for Convergence Robot Specialists support program supervised by the NIPA (National IT
Industry Promotion Agency) (NIPA-2011-C7000-1001-0003).
References
[1] Spong MW, Corke P, Lozano R. Nonlinear control of the inertia wheel
pendulum. Automatica 2001;37:184551.
[2] Spong MW. The swing up control problem for the acrobat. IEEE Control Syst
Mag 1995;15:729.
[3] White W, Fales R. Control of double inverted pendulum with hydraulic
actuation: a case study. Proc Am Control Conf 1999:4959.
[4] Jung S, Cho HT, Hsia TC. Neural network control for position tracking of a twoaxis inverted pendulum system: Experimental studies. IEEE Trans Neural
Networks 2007;18(4):10428.
[5] Segway. <http://www.segway.com>.
[6] Tirmant H, Baloh M, Vermeiren L, Guerra TM, Parent M. B2, an alternative two
wheeled vehicle for an automated urban transportation system. IEEE Intell
Vehicle Syst 2002:594603.
[7] Ambrose RO, Savely RT, Goza SM, Strawser P, Diftler MA, Spain I, et al. Mobile
manipulation using NASAs robonaut. IEEE ICRA 2004:21049.
[8] Grasser F, Darrigo A, Colombi S, Rufer A. JOE: a mobile, inverted pendulum.
IEEE Trans Ind Electron 2002;49(1):10714.
[9] Pathak K, Franch J, Agrawal S. Velocity and position control of a wheeled
inverted pendulum by partial feedback linearization. IEEE Trans Robot
2005;21:50513.
[10] Boskovich SM. A two wheeled robot control system. IEEE WESCON 1995.
[11] Jeong SH, Takayuki T. Wheeled inverted pendulum type assistant robot: design
concept and mobile control. IEEE IROS 2007:19327.
[12] Sasaki K, Murakami T. Pushing operation by two-wheel inverted mobile
manipulator. IEEE Workshop Adv Motion Control 2008:337.
[13] Abeygunawardhana PK, Toshiyuki M. Environmental interaction of two
wheeled mobile manipulator by using reaction torque observer. IEEE
Workshop Adv Motion Control 2008:34853.
[14] Kim SS, Jung S. Control experiment of a wheel-driven mobile inverted
pendulum using neural network. IEEE Trans Control Syst Technol
2008;16(2):297303.
[15] Noh JS, Lee GH, Jung S. Position control of a mobile inverted pendulum system
using radial basis function network. Int J Control Automat Syst
2010;8(1):15762.
[16] Murata. <http://www.murta.com>.
[17] Chen XY. Modeling random gyro drift by time series neural networks and
by traditional method. IEEE Int Conf Neural Networks Signal Process 2003:
8103.
[18] Cheng JH, Wang XZ, Wu L, Chen ST, Liu XB. Method of accurate gyro drift
measurement for inertial navigation system. IEEE Conf Mech Automat
2008:6604.
[19] Borenstein J, Feng L. Gyrodometry: a new method for combining data from
gyros and odometry in mobile robots. IEEE Conf Robot Automat 1996:
4238.
[20] Chung HK, Ojeda L, Borenstein J. Sensor fusion for mobile robot deadreckoning with a precision-calibrated ber optic gyroscope. IEEE Conf Robot
Automat 2001:358893.
[21] Microinnity. <http://microco.en.ec21.com>.
[22] Microstrain. <http://www.microstrain.com>.
[23] Crossbow. <http://bullseye.xbow.com>.
[24] Imamura R, Takei T, Yuta S. Sensor drift compensation and control of a
wheeled inverted pendulum mobile robot. IEEE Workshop Adv Motion Control
2008:13742.
[25] Baerveldt A-J, Klang R. A low-cost and low-weight attitude estimation system
for an autonomous helicopter. IEEE Int Conf Intell Eng Syst 1997:3915.
[26] Jung S, Kim SS. Hardware implementation of a real-time neural network
controller with a DSP and an FPGA for nonlinear systems. IEEE Trans Ind
Electron 2007;54(1):26571.