Professional Documents
Culture Documents
discussions, stats, and author profiles for this publication at: http://www.researchgate.net/publication/4039520
CITATIONS
DOWNLOADS
VIEWS
52
1,015
261
4 AUTHORS, INCLUDING:
Jim Zhu
Ohio University
104 PUBLICATIONS 769 CITATIONS
SEE PROFILE
1. Introduction
Omni-directional mobile robot is a kind of
holonomic robot. Compared with more common car
like (nonholonomical) mobile robot, omni-directional
mobile robot has the ability to move simultaneously
and independently in translation and rotation.[5] The
maneuverability of the omni-directional mobile robot
makes it widely studied in the dynamic environmental
applications. The annual international Robocup
competition in which the team of autonomous robots
compete in soccer like game, is an example where the
omni-directional mobile robot can be used.
The Ohio University (OU) Robocup Team's entry
Robocat is a cross-disciplinary research project
(including ME, EE, CS students and faculties) for
Robocup small-size league competition. The current
OU Robocup team members are Phase V omnidirectional mobile robot, as shown in Figure 1-1. The
Phase V Robocat is an omini-directional robot with
three orthogonal wheels, arranged "#! apart Each
wheel is driven by a DC motors installed with shaft
optical encoder. The robot is operated by an PC104
computer with 486 processer running linux operating
system. A roof camera over the play field can sense the
position and the azimuth angle of robots.
From the robot testing and competition at the
Robocup games, it is realized that a precise trajectory
control for the robot is one of the key areas to improve
the team's performance. The trajectory control of the
omni-directional mobile robot can be divided into two
tasks, trajectory planning and trajectory following.
Trajectory planning is to build a feasible and optimal
N (r )
y B (Y , v)
yB
xB
f 2 (v2 )
f 3 (v3 )
xB ( X , u )
xE
f1 (v1 )
? <@
\
@ <? L ] ,
(2-2-1)
< !
R
where
"
7 ! ! \
0"
"
!
!
]
L
F 0#
7
0$
"
! ! M R
^
and
P
P
From geometry of mobile robot we have
=
?
V 7"
=7# ,
@ F X "
(2-2-2)
8
<
=7$
The dynamics of each DC motor can be described
using the following equations
.3+
V+ 3+ 5$ =7 ?
.>
V0
N! =7 ,! =7
5# 3+
8
where ? is the applied armature voltage, 3+ is the
armature current, P+ is the armature inductance, V+ is
the armature resistance, 5$ is the emf constant, 5# is
motor torque constant, N! is the combined moment of
inertial of the motor, gear train and wheel referred to
the motor shaft, ,! is the vicious-friction coefficient of
the combination of the motor, gear and wheel.
Because the electrical time constant of the motor
is very small comparing to the mechanical time
constant, we can neglect dynamics of the motor
electric circuit, which leads to
.3+
"
!
3+
? 5$ =7 .
.>
V+
With this assumption, and using the vector notation,
the dynamics of the three identical motors can be
written as
= 7"
=7" V 0"
0#
N! =7# ,! =7#
= 7#
=7$ 8 0$
?" 5 5 =7"
5#
?# V# +$ =7# 2-2-3
V+
?$
=7$
P+
? <@
?
5# 5$
8#
X
K @ <? LFF V+ ,! V# @
< !
<
?"
5# 8
?#
(2-2-4)
LF VV
+
?$
#
where K M LFF X 8VN#!
2.3 Robot Kinematics
The coordinate transform from body frame to the
world frame is given by
B
?
=7"
C E @ EG =7#
(2-2-5)
G
<
=7$
where
-9=G =38G !
-9=G
!
E =38G
!
!
"
The equations of motion (2-2-4) and (2-2-5) describe
the simplified robot behavior. In this model the
friction constant ,! and gear coefficient can be
measured experimentally. The unmodeled slip
dynamics is further studied in [2].
Inverse
Kinematics
x
= y
_ +
_
u nom
v
nom
rnom
PI
ControllerI
Inverse
Dynamics
u1nom
u 2 nom
u3 nom
Robot Kinematics
u1
u
2
u 3
u com
v com
rcom
+
PI ControllerII
Robot
Dynamics
x
y
Robot
Kinetics
B>
?
@ E" C>
(3-1-1)
<
G>
=38G ! B>
-9=G
!
!
" G>
Define
/B B B
/C C C
/G G G
$ ? ?-97 ?
$ @ @-97 @
$ < <-97 <
Linearizing (2-2-5) along the nominal trajectories
B> C> G>T and ?> @> <>T yields the
error dynamics
/ B
/B
$?
/C E" /C F" $ @
/ G
/G
$<
(3-1-2)
where
!
E" !
!
!
!
!
=38G? -9=G@
-9=G? =38G@ ,
-9=G =38G !
F" =38G
-9=G
!
!
!
"
Now stabilizing the tracking error with the
proportional-integral (PI) feed back control law
'
$?
/B
/B >.>
$ @ O:" /C OM" ' /C >.>
$<
/G
' / >.>
G
(3-1-3)
Define the augmented outer loop tracking error vector
by
'
#" /B >.>
' /C >.>
##
'
#$
/
G >.>
#%
/B
#&
/C
#'
/G
Then the closed loop tracking error state equation can
be written as
# E"- #
where
S$
M$
E"-
F" OM" E" F" OT "
where S$ denotes the $ $ zero matrix, and M$
denotes the $ $ identity matrix. Now select OM" and
OT " to achieve the desired closed-loop tracking error
dynamics
E"-
(3-1-4)
Now the tracking command to the inner loop is
given by
?-97 ? $ ?
@-97 = @ + $ @ .
<-97 < $ <
3.2 Inner Loop Controller
From (2-2-4) the nominal motor control input voltages
? " > ? # > ? $ >T for the desired body rate
?> @> <>T are given by
?
?"
+
?# LF" VV
5# 8 K @
?$
<
<@
+
<?
LF" VV
5# 8
!
?
F X V5#+V8 5V#5+ $ ,! @
<
Defining
/? ? ?-97
/@ @ @-97
/< < <-97
$ ?" ? " ? "
$ ?# ? # ? #
$ ?$ ? $ ? $
and linearizing (2-2-%) along the nominal trajectories
? " > ? # > ? $ >T and ?> @> <>T yield the
linearized inner loop tracking error dynamics
/ ?
/?
$ ?"
/@ E# /@ F# $ ?#
(3-1-6)
/ <
/<
$ ?$
where
@
?
!
5# 5$
8#
K" LFF X
,! #
V+
V
5# 8
"
F# K LF
V V+
Design the PI feed back control law by
'
$ ?"
/?
/? >.>
S$
M$
$ ?# O:# /@ OM# ' /@ >.>
diagc +
+"#" +"$" d diagc +""# +"## +"$# d
"""
$ ?$
/<
' / >.>
<
where +"4" / !, +"4# / !, 4 " # $, are the
(3-1-7)
coefficients of the desired closed-loop characteristic
and
define
the
augmented
inner
loop
tracking
error
polynomial
of
each
channel
given
by
vector by
-# + - + . It is easy to verify that
"4#
"4"
db
! <
< !
E# K
! !
"
'
(" /? >.>
(# ' /@ >.>
'
($ /< >.>
(%
/
?
(&
/@
('
/<
diagc +#"#
M$
+###
X (m)
0.04
0.02
Xd
X
0
0
+#$# d
0.08
0.06
0.04
0.02
Yd
Y
0
0
Psi (rad)
0.8
0.6
0.4
Psi d
Psi
0.2
0
0
3
Time (second)
X (m)
4. Simulation
2
1
0
Xd
X
0
3
Yd and Y
Y (m)
Yd and Y
Y (m)
diagc +#""
S$
+##"
0.06
2
1
0
Yd
Y
0
3
P s i d and P s i
0.4
Psi (rad)
Xd and X
0.08
0.3
0.2
Ps i d
Ps i
0.1
0
3
Tim e (s ec ond)
x 10
-3
References
[1]
[2]
[3]
Tracking Error of X
dX (m)
2
0
-2
-4
4
0
-3
x 10
10
15
Tracking Error of Y
20
25
30
0
-3
x 10
10
15
Tracking Erro of Psi
20
25
30
[4]
dY (m)
2
0
[5]
-2
-4
[6]
0
-5
10
15
Time (second)
20
25
30
[7]
0.6
0.4
0.2
[8]
0
y
dPsi (rad)
10
-0.2
-0.4
-0.6
Command
Robot
-0.8
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0.2
[9]
Trajectory
Linearization-A
Singular
Perturbational Approach, Proceedings, AIAA
Guidance, Navigation and Control Conference,
Denver, CO, to appear, August, 2000
[10] Mickle, M.C. and Zhu, J. Jim, Bank-To-Turn
Roll-Yaw-Pitch
Autopilot Design
Using
Dynamic Nonlinear Inversion and PDeigenvalue assignment, Proc., 2000 American
Control Conference, Chicago, IL, to appear,
June 2000
[11] Keigo Watanabe, Control of Ominidirectional
Mobile Robot, 1998 2nd Int. Conf. on
Knowledge-Based
Intellegent
Electronic
Systems, 21-23 April 1998, Adelaide, Australia