You are on page 1of 6

Modeling and Position Control of Mobile Robot

P K Padhy, Takeshi Sasaki , Sousuke Nakamura and Hideki Hashimoto


Institute of Industrial Science, The University of Tokyo
4-6-1 Komaba, Meguro-ku, Tokyo, Japan, 153-8505


Abstract-This paper presents a new approach for stable
tracking of non-holonomic wheeled mobile robot using PID
controller. The major objective of the paper is to propose a
control rule to find out reasonable target linear and rotational
velocities of the mobile robot. The method requires the
information about the position (Cartesian space and orientation)
of the mobile robot which can be obtained by any kind of
positioning system. In the approach, the mobile robot, including
the actuator dynamics is identified by a linear model using
recursive least square method. The identified model is then used
to design the PID controller to set the target linear and rotational
velocities. Simulation and experimental studies are presented to
validate the theoretical findings.
I. INTRODUCTION
Despite the advanced controllers, PI/PID controllers are still
used for the path-tracking problem, which is concerned with
the ability to drive a mobile robot autonomously as close as
possible to a planed path. The controller should generate
commands to guide the robot to follow a desired path
accurately. Tracking errors of mobile robots cause collisions
with obstacles due to deviations from the planned path and also
cause the robot to fail to achieve the target successfully.
Tracking error can be reduced through feedback control. Many
control strategies has been proposed for the path tracking
problem based on kinematic model or dynamic model or the
integration of both [1-7]. Kanayama [8] presented the
decomposition of error between the reference and current
posture by PID filtering. Lingli Yu et al.[9] also proposed a
fuzzy immune based PID controller for non-holonomic mobile
robot. They focused on the error convergence and system
stability. But, the motion smoothness can be improved because
of robust controller design. Guerra et al. [10] proposed a
method for the linear modeling of the robot measuring linear
displacement and orientation of the robot. However, the
measurement of displacement may cause error.
In this work a linearized model for mobile robots is
identified from the knowledge of Cartesian coordinates and
orientation of mobile robot. The gains of the PID controller are
then tuned based on the identified model. Recursive least
square method [11] is used for the identification of the linear
model which will avoid the non-linearity, commonly adopted
for non-holonomic mobile robots.

This paper is organized as follows. Section II describes
about the position control used for mobile robot. The proposed
modeling of the considered robot and the control system design
are given in section III and IV, respectively. The method is
illustrated by simulation and experimental results in Section V.
Finally, conclusion is given in section VI.

II. POSITION CONTROL
The posture control loop tracks the flow of reference
postures from the path planner by generating the control
variables and v for the velocity control loop. The error
vector is computed from current posture (
c c c
y x and , ) and
the reference posture (
r r r
y x and , ) as shown in figure 1 by

=
=
+ =
) (
sin ) ( cos ) (
sin ) ( cos ) (
c r
c r c r y
c r c r x
e
x x y y e
y y x x e


(1)
This transformation generates the distances that vehicle
should travel in the forward, lateral and angular directions,
respectively. The control input to the mobile robot can be
represented as translational velocity ( v ) and rotational velocity
( ) that can be obtained by using PID controller as
x
x
dx x Ix x px
v
dt
de
k dt e k e k v = + + =

(2)

+ = + + +
+ + =

v v
dt
de
k dt e k e k
dt
de
k dt e k e k
y d I p
y
dy y Iy y py
(3)
In this case, it is assumed that mobile robot has three control
inputs

v v v
y x
and , and can be represented by
(
(
(

=
(

v
v
v
v
y
x
1 1 0
0 0 1
(4)

III. MODELS FOR DIFFERENTIAL DRIVE MOBILE ROBOT
The model of open-loop system in order to design a controller
is key factor to achieve a satisfactory closed loop performance.
The robot has, driven by two electric motors and the wheels are
placed at each side of the robot, in such a position that their
rotation axis is synchronized. The robot configuration is
represented by the position of the center of the axis between
the two wheels in the Cartesian space (x and y) and by its
orientation, .
The 11th IEEE International Workshop on
Advanced Motion Control
March 21-24, 2010, Nagaoka, Japan
978-1-4244-6669-6/10/$26.00 2010 IEEE 100














Figure 1: Coordinate system of the mobile robot

The kinematic model relates the derivatives of robot position
(x and y) and orientation ( ) with the robot linear and angular
speeds, and v , without taking its movement into
consideration:

(

(
(
(

=
(
(
(

v
y
x
.
1 0
0 sin
0 cos
&
&
&
(5)

Using [12], the dynamic model of the mobile robot that
includes the actuator dynamics (electric and mechanical
characteristics of the motors), friction and robot dynamics
(movement equations) can be expressed as

BU AV V + =
&
(6)

where R M A
1
= , K M B
1
= and [ ]
T
v V = .
[ ]
r l
e e U = contains the input signals applied to the left
and right motors, K is the matrix which transforms the
electrical signals U into forces to be generated by the robot
wheels, M is the inertia matrix and R is the damping matrix.
The complete robot model, obtained from the union of (5) and
(6), can be represented by the following state equation:

(

(
(
(

+
(
(
(
(
(
(

(
(
(
(
(
(
(
(

=
(
(
(
(
(
(

r
L
e
e
y
x
v
y
x
v
0
B
0
0 A
.....

.
1 0
0 sin
0 cos
.... .......... ..........
&
&
&
&
&
(7)
(
(
(
(
(
(

(
(
(

=
(
(
(

y
x
v
y
x
y
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
(8)
The armature tension to the mobile robot depends on the
velocity command given. Hence, one can assume

)
`

r r
l l
v e
v e
(9)
where
r l
v v and are the velocities given to left and right
wheels, respectively. For a non-holonomic mobile robot, it
gives
d
v v v v
v
r L r L

=
+
= and
2
where d is the
distance between the wheels and rearranged as

(

=
(

v
d
d
v
v
r
L
2 / 1
2 / 1
(10)

Use of (4), (9) and (10) gives

(
(
(


=
(

v
v
v
d d
d d
e
e
y
x
r
L
2 / 2 / 1
2 / 2 / 1
(11)
Substituting (11) in (7), the state equation can be represented
as
(
(
(

(
(
(

+
(
(
(
(
(
(

(
(
(
(
(
(
(
(

=
(
(
(
(
(
(

v
v
v
y
x
v
y
x
v
y
x
0
B
0
0 A
.....
~
.
1 0
0 sin
0 cos
.... .......... ..........
&
&
&
&
&
(12)

Equations (8) and (12) give the state space model of the mobile
robot. It is clear from (12) that, the model is non-linear in
nature because of sin and cosine terms. However, for small arc,
the non-linear terms can be approximated as
= sin and 1 cos . Therefore, the model (8) and (12)
became linear with outputs , , y x and inputs

v v v
y x
, , as
shown in figure 2. The choice velocities as inputs helps to
retune the controller parameters online when required. Three
decentralizes controller can be designed based on the model
identified.

reference path
current position
reference position
x
e y
e

e
c
x
r
x
r
y
c
y
r
X
r
Y
X
Y
101













Fig.2 System block diagram

For estimation, the state space model can be converted to linear
transfer function model. The continuous transfer matrix of the
model can be found as

(
(
(

(
(
(

=
(
(
(

) (
) (
) (
) ( ) ( ) (
) ( ) ( ) (
) ( ) ( ) (
) (
) (
) (
33 32 31
23 22 21
13 12 11
s V
s V
s V
s G s G s G
s G s G s G
s G s G s G
s
s Y
s X
y
x

(13)

The above model is a three input three output system and can
be identified the equivalent diagonal transfer matrix to design
three decentralized controller for three loops. The model
structure is
(
(
(

(
(
(

=
(
(
(

) (
) (
) (
) ( 0 0
0 ) ( 0
0 0 ) (
) (
) (
) (
3
2
1
s V
s V
s V
s G
s G
s G
s
s Y
s X
y
x

(14)
where
) ( ) (
) (
) (
i i
s
p
i
i
i
b s a s
e K
s U
s O
s G
i
+
= =

3 , 2 , 1 = i (15)
At first, three discrete transfer functions for three loops are
identified using least square recursive algorithm [11]. The form
of the transfer function is assumed as
) )( 1 ( ) (
) (
) (
i i
i i
i
i
i
l z k z
e z d
z U
z O
z G
+
+
= = (16)
Thereafter, the discrete transfer function is converted to
continuous form as given in (15) to design three PID
controllers for three loops using internal model based PID
controller.

IV. CONTROLLER DESIGN
The IMC principle relies on the internal model principle
where the control scheme is developed based on the exact
model of the process. However, process model mismatch is
common in practice due to unknown disturbance and
measurement noise. The structure of IMC scheme is shown in
figure 3.












The closed loop transfer function for IMC structure is

( )
( )
)] ( ) ( ) ( [
) ( ) ( ) ( 1
) ( 1
) (
) ( ) ( ) ( 1
) (
) (
2 1
s d s d s G
s G s G s G
s G G
s R
s G s G s G
s G G
s Y
IMC
IMC
IMC
IMC
+
+

+
+
=
(18)
Therefore, perfect set-point tracking and disturbance
rejection can be achieved if ) ( ) ( s G s G = . However, the
robustness can be improved if the effect of model mismatch is
minimized. Since the discrepancies between the process and
the model behavior usually occur at the high frequency, a low
pass filter is used along with IMC controller to reduce the
effect of process-model mismatch. So, the IMC controller is
designed as
) ( ) ( ) (
1
s G s f s G
IMC

= (19)
where, ) 1 /( 1 ) ( + = s s f is a low pass filter that reduces
the effect of process-model mismatch with proper design of
. Using first order Tylor series for the approximation of
delay and [13], the identified process model given in (15) can
be written as
) )( (
) 1 (
) (
b as s
s K
s G
i p
+ +
+
=

(20)
where, is very small. In this work, 01 . 0 = is chosen. As
per the principle of IMC controller design, the process model is
represented by invertible and non-invertible components
) )( (
) (
b as s
K
s G
p
I
+ +
=

(21)
1 + = s G
i NI
(22)
where, the non-invertible component
NI
G contains the
terms (positive zeros and time delays) which if inverted, will
lead to instability and realisable problem. Then the IMC
controller is
) 1 (
) )( (
) ( ) ( ) (
1
+
+ +
= =

s K
b as s
s G s f s G
p
I IMC

(23)
Mobile
robot
Cx
Cy
C
X
Y


-
-
-
v


e
x
e
y
e

v
x
v
y
v

Xr


Yr



r
+
Fig. 3 Structure for IMC scheme
) (s G
+
+
r

+
-
e
u
) (s G
y
+
-
2
d
) (s G
IMC
+
+
1
d
102
Now the IMC controller structure (figure 3) is redrawn in
figure 4 to design a PID controller. The form of the PID
controller is assumed as

|
|

\
|
+
+
+ =
|
|

\
|
+
+
+ =
s
K
s T
s K
K
s T s T
s T
K C
I
f
d
c
I f
d
c PID
1
1
1
1 (24)













Where s T T
d f
1 . 0 = is the derivative filter constant and
neglected during analysis. Referring to Fig. 4, the IMC
controller is transform to PID controller
[ ] ) 1 ( ) 1 (
) )( (
) ( 1
) (
+ +
+ +
=

=
s s K
b as s
s G G G
s G
C
i p NI I IMC
IMC
PID


Rearranging, it gives
|
|

\
|
+
+
+
+
+
+
=
s K
b
s
K
a
K
b a
s C
i p i p i p
PID
) ( ) ( ) (
) (
) (

(25)
Comparison of (24) and (25) gives
) ( ) ( ) (
) (
i p
I
i p
d
i p
c
K
b
K
K
a
K
K
b a
K

+
=
+
=
+
+
= (26)
The only unknown in the last equation is the filter constant,
. The optimal value of is chosen based on the system
response.

V. RESULTS
The results presented in this section were obtained using the
mobile robot (Black Ship) with two wheels driven by two
independent DC motors in the experimental room. The inputs
signals

v v v
y x
and , are the velocities given to mobile robot.
The system output
T
c c c
y x y ] [ = is measured by dead
reckoning technique. The Recursive Least Squares method [11]
is utilized for the estimation of the parameters of the models
given in (16) and then converted into continuous transfer
function models. Three transfer function models are identified
for three loops (x, y and -loop). Table 1 shows the identified
models and the corresponding PID controller for 1 = .
Table1: Model and controller parameters

) (
1
s G



) 22 . 0 53 . 0 (
) 1 02 . 0 ( 451 . 1
+
+
s s
s


s s
s 0015 . 0
035 . 0 1
35 . 0
152 . 0 +
+
+

) (
2
s G



) 192 . 0 68 . 0 (
) 1 023 . 0 ( 551 . 1
+
+
s s
s


s s
s 0012 . 0
042 . 0 1
42 . 0
125 . 0 +
+
+


) (
3
s G



) 3052 . 0 44 . 0 (
) 1 021 . 0 ( 52 . 1
+
+
s s
s


s s
s 002 . 0
028 . 0 1
28 . 0
199 . 0 +
+
+


The true and estimated parameters and estimation errors of
model identification for x-loop, y-loop and -loop are shown
in figures 5, 6 and 7, respectively.



Fig 5(a): True and estimated parameters for x-loop


Fig 5(b): Error curve for x-loop

0 10 20 30 40 50 60
10
-4
10
-3
10
-2
10
-1
10
0
Error curvex
Samples
E
r
r
o
r

v
a
l
u
e
5 10 15 20 25 30 35 40 45 50 55 60
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
System outputx
Samples
T
r
u
e

a
n
d

e
s
t
i
m
a
t
e
d

o
u
t
p
u
t
y
) (s G
r
+
-
e u
) (s G
IMC

d
+
+ +
+
) (s G G
NI I
C
PID
(s)
Fig. 4 IMC-PID structure
103


Fig 6(a): True and estimated parameters for y-loop


Fig 6(b): Error curve for y-loop



Fig 7(a): True and estimated parameters for -loop


Fig 7(b): Error curve for -loop
0 10 20 30 40 50 60 70 80
-1
-0.5
0
0.5
1
1.5
2
Time in seconds
E
r
r
o
r
s
xerror
yerror
therror

Fig 8(a): path errors of the mobile robot
-0.5 0 0.5 1 1.5 2 2.5 3 3.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x-coordinate
y
-
c
o
o
r
d
in
a
t
e
measured
reerencef

Fig 8(b): Mobile robot tracking

It is observed from figures 5(b), 6(b) and 7(b) that the
model estimation errors for each loop are in acceptable range
indicating the accuracy of the identification. The proposed
algorithm is applied to an elliptical path. In the beginning, the
reference and current position of mobile robot are
( 2 / 0 0 ) and ( 0 0 0 ), respectively. The experimental
results of the mobile robot are shown in figure 8. It is
0 10 20 30 40 50 60 70 80
10
-3
10
-2
10
-1
10
0
Error curver
Samples
E
r
r
o
r

v
a
l
u
e
20 30 40 50 60 70 80
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
System outputr
Samples
T
r
u
e

a
n
d

e
s
t
i
m
a
t
e
d

o
u
t
p
u
t
0 10 20 30 40 50 60
10
-4
10
-3
10
-2
10
-1
10
0
Error curvey
Samples
E
r
r
o
r

v
a
l
u
e
5 10 15 20 25 30 35 40 45 50 55 60
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
System outputy
Samples
T
r
u
e

a
n
d

e
s
t
i
m
a
t
e
d

o
u
t
p
u
t
104
observed that the robot starts with offset from the desired
path. However, the errors are converging to zero quickly.
VI. CONCLUSIONS
A new approach for the path tracking of a non-holonomic
mobile robot is proposed. The linear modeling of the mobile
robot considering

v v v
y x
and , as inputs helps to adjust the
PID controller gains in a simple way. The controller gains can
also be adjusted adaptively during the path tracking of the
mobile robot. So, the algorithm can improve the controller
quality by eliminating the error using only the Cartesian space
and orientation of mobile robot. The proposed approach has
been verified using the mobile robot (Black Ship).
REFERENCES
[1] J. E.Normey-Rico, I. Alcal!a, J. G!omez-Ortega and E. F. Camacho,
Mobile robot path tracking using a robust PID controller Control
Engineering Practice,vol.9, pp. 1209-1214, 2001.
[2] W. Weiguo, C. Huitang; W Yuejuan; Back stepping design for path
tracking of mobile robots, Proc. of IEEE/RSJ International Conference
on Intelligent Robots and Systems, vol 3, pp: 1822 1827, Oct. 1999.
[3] J. P. Hwang and E. Kim, Robot tracking control of an electrically
Driven robot: Adaptive fuzzy logic approach, IEEE transaction on fuzzy
system, vol.14,No.2, pp232-247, Apr. 2006.
[4] C. Hua, X. Guan, and P. Shi, robot output feedback tracking control for
time-delay nonlinear systems using neural network, IEEE transactions
on neural networks, vol.18, no.2, pp. 495-505, March, 2007.
[5] C. Lin, Q. G Wang, and T. H. Lee, Output tracking control for nonlinear
systems via T-S Fuzzy model approach, IEEE transaction on system,
man and cybernetics-part B: Cybernetics vol. 36, No.2, pp. 450-457,
April 2006.
[6] R. Fierro, F. L. Lewis, Control of a Nonholonomic mobile Robot Using
Neural Networks, IEEE transactions on neutral network, vol. .9, no.4,
pp. 589-590, July, 1998.
[7] T. Fukao, H Nakagawa, N. Adachi, adaptive tracking control of
nonholonomic mobile robot, IEEE transitions on robotics and
automation, vol. 16, no.5, pp. 609-615, Oct.2000.
[8] Y. Kanayama, A locomotion control method for autonomous vehicles,
Proc. IEEE Intl. Conf. on Robotics and Automation, pp. 1315-1317,
1988.
[9] L. Yu, Z. Cai, Z. Jiang and Q. Hu, An Advanced Fuzzy Immune PID-
type Tracking Controller of a Nonholonomic Mobile Robot,
Proceedings of the IEEE International Conference on Automation and
Logistics, pp 18 - 21, 2007.
[10] P N. Guerra, P. J. Alsina, A. A. D. Medeiros, and A. P. Araujo. Linear
modelling and identification of a mobile robot with differential drive,
International Conference on Informatics in Control, Automation and
Robotics, 2004.
[11] R Johansson, System Modeling and Identification, Prentice Hall, Inc.,
Englewood Cliffs, NJ,1993.
[12] M. M. Yamamoto, D. P. F. Pedrosa, and A. A. D. Medeiros, Um
simulador dinamico para mini robos moveis com modelagem de colises,
SBAI -Simposio Brasileiro de Automacao Inteligente, Brazil, 2003.
[13] M. Shamsuzzoha, and M. Lee. PID controller design for integrating
processes with time delay, Korean J. Chem. Eng., vol. 25, no. 4, pp.
637-645, 2008.


105

You might also like