You are on page 1of 11

Mechatronics 22 (2012) 95105

Contents lists available at SciVerse ScienceDirect

Mechatronics
journal homepage: www.elsevier.com/locate/mechatronics

Balancing and navigation control of a mobile inverted pendulum robot


using sensor fusion of low cost sensors
Hyungjik Lee, Seul Jung
Intelligent Systems and Emotional Engineering Lab., Department of Mechatronics Engineering, Chungnam National University, Daejeon, Republic of Korea

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).

mercial product, Segway [5] has inuenced on the possibility of


applying the inverted pendulum system to the real world problems
such as a human carrier device [6]. Currently, the research of using
the Segway as an astronaut in the space has been introduced [7]. A
small MIPS called JOE has been implemented and successful results have been presented [8]. The state feedback control algorithm
has been applied to the MIPS to control velocity and position [9].
To overcome nonlinear behaviors, various control methods have
been applied [1013].
An intelligent control technique has been embedded and applied to tracking control of the desired trajectory of MIPS [14]. In
[14], the pendulum of the MIPS was a simple rod and navigation
of the system has not been considered. Later, a radial basis function
neural network controller has been implemented and position
tracking tasks for navigation have been successfully demonstrated
by using an expensive commercial gyro sensor [15].
In the framework of balancing control of the MIPS, in other aspect, sensor ltering becomes quite an important task before
applying control algorithms. Accurate sensing data should be available a priori to apply control algorithms for satisfying control specications [4]. The position and the orientation of the MIPS can be
obtained from encoder sensors through mobile robot kinematics,
which is known as dead-reckoning. Since the body of the MIPS rotates about the wheel axis, locating the encoder sensor is difcult
for the balancing angle measurement. Instead, rate gyro and tilt
sensors are used mostly to measure the inclined angle. Due to
the nature of rate gyro sensors that measure angular velocities instead of angle values, an integral procedure is required to obtain
the corresponding angle values. This additional process leads to
the suffering from the drift of accumulative errors with respect
to time [16].

0957-4158/$ - see front matter Crown Copyright 2011 Published by Elsevier Ltd. All rights reserved.
doi:10.1016/j.mechatronics.2011.11.011

96

H. Lee, S. Jung / Mechatronics 22 (2012) 95105

One approach to solve the drift problem is to model the gyro


sensor drift to compensate for inaccurate measurement [17,18].
The rate gyro sensors are known to have the fast response. Tilt sensors do not have the drift problem, but show a slow response time.
The cost of sensors detecting inclined angles varies depending
upon how well they are to handle drift and noisy problems, how
accurately they are measured, and how fast they can respond.
Improvement of the sensing accuracy of rate gyro sensors requires
auxiliary circuitries around the rate gyro sensor that implement
complicated and sophisticated ltering or fusing algorithms. Those
circuitries determine the digital accuracy for a continuous to digital conversion process, and the packaging size.
Although commercial rate gyro sensors are implemented with
ltering algorithms, they are occasionally unreliable for measuring
the angle of mobile robots when utilized for a long time [19,20].
Furthermore, the sampling time of sensing data is limited to a certain frequency so that the faster sampling time for control action
than that of the sensor is not allowed [15]. Satisfactory accuracy
and reliability are available at expensive cost as listed in Table 1
[2123]. Table 1 shows the relative cost among commercial gyro
sensors in the local market. Although the prices are exible, the
number of factors shows that approximated relative cost. Cost of
the sensor is dependent upon accuracy and the number of axis to
measure. Surely, we can expect better performance at more expensive cost. Thus, sensor compensation methods of fusing two or
more sensors with low cost are feasible and efforts have been made
to detect inclined angles accurately [24,25].
In this article, therefore, low cost sensors are used and their ltering algorithms are presented to detect an inclined angle for the
newly designed MIPS called BalBOT. Real-time control is achieved
by embedding the control and ltering algorithm onto the DSP
board. Movements of the MIPS are controlled by the joystick remotely through the wireless communication and tested for experiments of balancing under impacts and navigating on the oor
while balancing.
2. The mobile pendulum system

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

where r is the radius of a wheel, L is the distance between two


wheels. h_ R is the angular velocity of the right wheel and h_ L is the
angular velocity of the left wheel. Combining (1) and (2) yields
the Jacobian relationship between velocities in two domains. In
our system, wheels are located in the center of the body.

1
r

The kinematics of the MIPS is the same as the wheeled drive


mobile robot as shown in Fig. 1.
Under the assumption that the center of gravity is located on
the center of wheel axis such that d = 0, the Cartesian velocities
have the relationship with a linear velocity v and an angular velocity x of the robot as

#"

07
7
7
07
7
17
7
7
05

1
0
L
2r

 2rL

where the constraint N(q) matrix is given by kinematic constraint


equations.

sin /

6
Nq 4 cos /
cos /

 cos /

sin /

L
2

0 r

sin /

 2L

0
0

0 7
5
r

Differentiating (5) yields the acceleration

where / is the heading angle. The Cartesian velocities and joint


velocities have the relationship as

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

Multiplying S to both sides of (9) to eliminate the Lagrangian


multiplier since ST N T k 0 yields

ST MSt_ ST MS_ t ST C G ST Ps

10

Table 1
List of commercial gyro sensors.
Model

Company

Axis

Approximated cost factor

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

H. Lee, S. Jung / Mechatronics 22 (2012) 95105

Fig. 1. Mobile inverted pendulum system.

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

where the pendulum angle error is dened as eh = hd  h, where hd is


the desired angle of the pendulum and h is the actual angle of the
pendulum, k1, k2 are PD gains for the pendulum control.
The PID controller output for the orientation angle control is

u/ k3 e/ t k4

e/ tdt k5 e_ / t

12

where the mobile pendulum orientation error is dened by


e/ = /d  /, where /d is the desired orientation and / is the actual
orientation of the cart, k3, k4, k5 are PID gains for the orientation
control.
The PID controller output for the position control is

up k6 ep t k7

ep tdt k8 e_ p t

13

where the mobile pendulum position error is dened by ep = pd  p,


where pd is the desired cart position and p is the actual position of
the cart, k6, k7, k8 are PID gains for the cart position control.
Thus, control of the MIPS is dependent upon a combination of
one PD controller and two PID controllers. Since controller gains
are quite sensitive to the performance of the system, careful selection of gains is required. In this paper, controller gains are selected
through experimental works by trial and error procedures. There
are many cases of different angle position and different cart position for the PID controllers to satisfy the specication. Each controller ghts each other to satisfy the requirements of the angle
and the cart, but not enough to control both control actions.

Fig. 2. PID control structure.

3.2. Control variables


The purpose of the mobile inverted pendulum robot is to navigate in its terrain while balancing the pendulum. To satisfy those
specications, several variables should be available from sensors
and controlled. The balance angle h, the position p, and the orientation angle / of the MIPS should be measured and controlled to
satisfy desired specications. Fig. 3 shows the block diagram of
how to obtain those variables from sensors. The pitch angle of MIPS
can be obtained by fusing gyro and tilt sensors. Encoder sensors are
used to measure the orientation angle and position of MIPS
through kinematics in (3). Encoder pulses captured by a quadrature encoder pulse (QEP) module are converted into radian scale
to represent rotation.
The desired pendulum angle hd and the desired angular velocity
h_ d are set to 0. The robot is required to follow the desired position
command pd while balancing. A control input to the system is separately designed for the right wheel and the left wheel. Fig. 4
shows the control block diagram. The left and right torque inputs
have the different sign of orientation control, but a same sign of position and angle control. A PD controller is used in the balancing
angle control and PID controllers in position tracking and heading
angle control.

Fig. 3. System variables for control.

98

H. Lee, S. Jung / Mechatronics 22 (2012) 95105

Fig. 4. Control block diagram.


Fig. 6. Sensor test setup.

_ 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

4. Sensor ltering and fusion

-40

4.1. Complementary lter

-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

Fig. 5. Sensor ltering scheme.

16

99

H. Lee, S. Jung / Mechatronics 22 (2012) 95105

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]

Fig. 12. Filtered angle (0.1 Hz).

Fig. 9. Filtered sensor data.

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

Fig. 13. Tilt angle (2.0 Hz).

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

H. Lee, S. Jung / Mechatronics 22 (2012) 95105

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]

Fig. 17. Position tracking.

Fig. 14. Gyro angle (2.0 Hz).

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

Fig. 16. Angle tracking.

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

Fig. 19. Orientation response.

sensors are manufactured by the same company, sensors have


slightly different frequency responses. The corresponding proper
cutoff frequency can be found by investigating the characteristics

101

H. Lee, S. Jung / Mechatronics 22 (2012) 95105

Fig. 22. Controller and sensor.

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

Fig. 21. Mobile inverted pendulum robot system.

of those sensors experimentally. In our system, a = 0.5 is found by


extensive trial and error experiments.

-0.05
0

10

12

14

16

18

20

Fig. 24. Position of the mobile pendulum robot.

Although the complementary lter is designed based on the


sensor characteristics, a better estimation of the gyro angle can
be obtained by the Kalman lter. The gyro angle equation is given
as

bk1 bk wb

Time [sec]

4.2. Kalman lter

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

H. Lee, S. Jung / Mechatronics 22 (2012) 95105

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. 25. Orientation angle of the mobile pendulum robot.

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

Heading Angle Result

Distance
Reference

0.2

0.6

0.15

Real Heading Angle


Desired Heading Angle

0.4

Heading Angle [rad]

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.

Fig. 30. Heading angle tracking result.

25

30

H. Lee, S. Jung / Mechatronics 22 (2012) 95105

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

4.3. Sensor fusion

0.3

The complementary and the Kalman lter block diagram are


shown in Fig. 5. The sum of ltered signals is fed to the Kalman lter. Offset values for the gyro and the tilt sensors are obtained by
taking an average of 1000 sampled data through experiments. A
value of offset 1 for the gyro sensor is 1.193 V and offset 2 for
the tilt sensor is 1.49 V. These values are differently selected for
each sensor to be used since same manufactured sensors have
slightly different responses. The scaling factor values, kg and kt
are selected based on sensor specication data as 0.0644 and
0.0407, respectively.

0.2
0.1
0
-0.1
0

10

15

20

25

30

Time [sec]
Fig. 31. Position tracking result.

4.4. Sensor test

The update equations for the Kalman lter are given as


Time update:

^xk A^xk1 Bxk1

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

K k Pk h hP k1 h R1

24

^xk ^xk K k zk  h^xk

25

4.4.1. Experimental setup


To nd the frequency characteristics of sensors, sensor characteristics are tested by using the sensor test system shown in
Fig. 6. The sensor test system can move at certain frequencies so
that frequency responses can be detected. Angle information from
the gyro and tilt sensors is obtained and compared with that of an
encoder which is assumed to be more accurate as a reference. The
resolution of the encoder sensor is 2000 pulses/rotation.
4.4.2. Random movement
Figs. 7 and 8 show the sensor data from the gyro sensor and the
tilt sensor, respectively. In Fig. 7, we see the error become larger as
time goes. This phenomenon is called the drift of the gyro sensor

Fig. 32. Straight forward and backward movement.

104

H. Lee, S. Jung / Mechatronics 22 (2012) 95105

Fig. 33. 360 Rotational movement.

and caused by the integration with respect to time. This drift


causes the ill control performance due to time-delayed inputs to
the controller. Fig. 8 shows tilt sensor data. Although there is no
drift, there are high frequency noises.
Fig. 9 shows the ltered sensor data by the complementary lter and the Kalman lter. We clearly see that drift and noise problems are solved.

4.4.3. Sinusoidal movement with the frequency of 0.1 Hz


Fig. 10 shows the measurement by the tilt sensor whose response is quite noisy. The gyro sensor shows a clean measurement,
but shows the drift after 9 s in Fig. 11. Then, after a ltering process, measurement data can be obtained as in Fig. 12. Noise and
drift problems are eliminated by sensor fusion.

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.

5.2. Circular trajectory tracking task


4.4.4. Sinusoidal movement with the frequency of 2.0 Hz
Next experiment is a sinusoidal movement with a relatively faster frequency of 2.0 Hz. The tilt sensor shows quite a noisy measurement as in Fig. 13 while the gyro sensor shows a clean
response, but it has a drift problem as shown in Fig. 14. Filtered sig-

Next simulation is for the MIPS to follow the circular trajectory


shown in Fig. 20. The diameter of the circle is 0.8 m. Fig. 18 shows
the balancing angle response that settles down in 5 s. The corresponding heading angle is shown in Fig. 19.

H. Lee, S. Jung / Mechatronics 22 (2012) 95105

6. Experimental studies

105

desired trajectories generated by the joystick through wireless


communication while balancing the pendulum.

6.1. Experimental setups


Acknowledgements
A real MIPS system is shown in Fig. 21. The MIPS is remotely
controlled by the joystick through wireless communication. A user
can control the movement of the balancing robot by a joystick controller through Bluetooth communication modules. The MIPS has
L = 0.33 m and r = 0.05 m. Geared DC motors with the ratio of 1/
17 are used as actuators.
Control hardware is shown in Fig. 22 [26]. Control oriented
hardware DSP2812 is used as a controller and the gyro sensor
and the tilt sensor are laid down. To drive motors, LM18200 motor
drivers are used. A multi-sampling method is used. The sampling
frequency for the sensor is 500 Hz and the control frequency is
100 Hz.
6.2. Balancing results
First, the balancing task of the MIPS is conducted. The MIPS is
required to move from 0 to 0.2 m. Experimental results are shown
in Figs. 2325. The pendulum angle settles down after 10 s and the
robot moves to the desired position 0.2 m. We see from Figs. 2325
that MIPS moves forward and backward to balance itself.
6.3. Position tracking results
Next experiment is a more challenging task for the MIPS to follow sinusoidal trajectories. Fig. 26 shows the balancing angle of the
robot and Fig. 27 shows the position tracking result. The robot successfully follows the desired sinusoidal trajectories.
Since the MIPS is required to move forward and backward, the
orientation angle shown in Fig. 28 maintains as zero.
6.4. Remote control task
Next experiment is to control MIPS remotely by a joystick
through wireless communication. Movements of MIPS on the oor
are controlled by the user. Figs. 2931 show tracking plots of the
MIPS to follow the command trajectory generated from the joystick operated by a user. Figs. 30 and 31 show the tracking error between desired and actual trajectories.
Fig. 32 shows image cuts of actual movements. The MIPS successfully moves forward and backward. Fig. 33 shows turning
movements of the MIPS.
(1) Straight forward and backward movement.
(2) Turning movement.
7. Conclusion
The mobile inverted pendulum system is implemented and controlled. To measure the balancing angle accurately with low cost
sensors, lters are designed. To solve problems of the drift of the
gyro sensor and the slow response of the tilt sensor, the complementary lter is designed experimentally. The ltered data are
used for the Kalman lter to estimate the angle more correctly.
The MIPS is controlled by simple PD and PID controllers to control
balancing angle and tracking of position and heading angle. Experimental results show that the MIPS is robust against external disturbances such as intentional hits. The MIPS tracks well the

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.

You might also like