Documentos de Académico
Documentos de Profesional
Documentos de Cultura
JOINT SPACE
Rafael Kelly
Centro de Investigacion Cientfica y de Educacion Superior de Ensenada
Mexico
Vctor Santiban
ez
Instituto Tecnologico de la Laguna
Mexico
Antonio Lora
Centre National de la Recherche Scientifique
France
Springer Berlin Heidelberg New York Hong Kong London Milan Paris Tokyo
Part I
PRELIMINARIES
R. Kelly, V. Santiba
nez and A. Loria
Introduction
Introduction
R. Kelly, V. Santiba
nez and A. Loria
Introduction
Submarine robots
Aerial robots.
This book is exclusively devoted to robot manipulators.
R. Kelly, V. Santiba
nez and A. Loria
Introduction
Robotics
Term coined by the science fiction writer Isaac Asimov
Science devoted to the study of robots
Incorporates a variety of fields:
Electric engineering, mechanical engineering, industrial engineering,
computer science and applied mathematics
Automatic control of robot manipulators (spine of robotics).
R. Kelly, V. Santiba
nez and A. Loria
Introduction
R. Kelly, V. Santiba
nez and A. Loria
Introduction
q1
q2
q3
Introduction
R. Kelly, V. Santiba
nez and A. Loria
Introduction
The joint positions of the robot are collected in the vector q, i.e.,
q1
q2
q :=
.. .
qn
The joint velocities are: q :=
d
dt q
1
2
R. Kelly, V. Santiba
nez and A. Loria
10
In this case, the output y may include the torques and forces f exerted
by the end tool over its environment.
R. Kelly, V. Santiba
nez and A. Loria
11
Image
Camera
R. Kelly, V. Santiba
nez and A. Loria
12
Image
Camera
R. Kelly, V. Santiba
nez and A. Loria
13
ROBOT
q
Figure 6: Input-output representation of a robot.
The input variables, are basically the torques and forces ,
The outputs are the joint positions and velocities:
q
f) =
y = y(q, q,
q
R. Kelly, V. Santiba
nez and A. Loria
14
The systems mathematical model is obtained typically via one of the two
following techniques.
Analytic. Physics laws of the systems motion.
Experimental. Experimental data collected from the system itself.
R. Kelly, V. Santiba
nez and A. Loria
15
16
Control specifications
R. Kelly, V. Santiba
nez and A. Loria
17
velocity q.
Regulation Position control in joint coordinates
Trajectory tracking Tracking control in joint coordinates
R. Kelly, V. Santiba
nez and A. Loria
18
19
20
Robot navigation problem consists in solving, in one single step, the following
subproblems.
Path planning. Determines a curve in the state space of the desired
posture
Trajectory generation. Parameterizes in time above curve
Control design. Solves the control problem
R. Kelly, V. Santiba
nez and A. Loria
21
Basic notation
Throughout the text we employ the following symbols.
for all
there exists
belong(s) to
=
implies
tends to
:= and =: is defined as and equals by definition to .
R. Kelly, V. Santiba
nez and A. Loria
22
Vectors
IRn denotes the real Euclidean space of dimension n
Vector x of dimension n
x1
x2
= [x1 x2 xn]T
x=
.
.
xn
Denoted by bold small letters, either Latin or Greek.
R. Kelly, V. Santiba
nez and A. Loria
23
Euclidean norm
The Euclidean norm kxk of a vector x IRn is defined as
v
u n
uX
2
t
xi = xTx
kxk :=
i=1
Matrices
IRnm denotes the set of real matrices A of dimension n m
R. Kelly, V. Santiba
nez and A. Loria
24
Eigenvalues
For each square matrix A IRnn there exist n eigenvalues (in general,
complex numbers)
denoted by 1{A}, 2{A}, , n{A}.
satisfy: det [i{A}I A] = 0,
for i = 1, 2, , n
R. Kelly, V. Santiba
nez and A. Loria
25
Spectral norm
R. Kelly, V. Santiba
nez and A. Loria
26
Fixed points
R. Kelly, V. Santiba
nez and A. Loria
27
n
f : IRn
IR
x
7 f (x, )
28
Lyapunov stability
x IRn, t IR+ ,
(1)
where
x corresponds to the state.
We will use x(t) to denote a solution to (1) in place of x(t, t, x(t)).
R. Kelly, V. Santiba
nez and A. Loria
29
30
t 0.
R. Kelly, V. Santiba
nez and A. Loria
31
x
62
x(0) = xe
x1
1
x(t)
............................................................................................
..........................................................................
.
.
.
.
.... .
..
. ....
.... ...
...
..
x
62
x(0) = xe
t
x1
Figure 9: Equilibrium
If the initial state x(t) IRn is an equilibrium (x(t) = xe IRn) then,
x(t) = xe
x(t)
=0
t t 0
t t 0.
R. Kelly, V. Santiba
nez and A. Loria
32
Example 2.2
Consider a pendulum whose dynamic model is
J q + mgl sin(q) = (t)
l
g
m
33
where
m is the mass of the pendulum
J is the total moment of inertia about the joint axis
l is the distance from its axis of rotation to the center of mass
q is the angular position.
In terms of the state [q q]
T , the dynamic model is given by
q
q
d
.
=
dt
q
J 1 [ (t) mgl sin(q)]
R. Kelly, V. Santiba
nez and A. Loria
34
If (t) = 0,
the equilibrium states are given by
[q q]
T = [n 0]T for n = , 2, 1, 0, 1, 2,
since mgl sin(n) = 0.
If (t) = such that | | > mgl,
there does not exist any equilibrium since there is no q IR such that
= mgl sin(q ).
R. Kelly, V. Santiba
nez and A. Loria
35
Definitions of stability
x(t )
x1
x2
1
................ .... ....
.... .... .... .... .... .... .... .... .... .... ....
.... ....
... .... .... ....6
.. .
.... ........ ........ ...... .... .... .... .... .
...
.
.
.
.
.
.
.
.
.
.
... .
..
.... ...............
.... .... ....
...
...
...
....
.....
....
....
. ... ..................
...................
..
.. ............................
..
.....
...x(t)
... ...
. ...
......... ... .......
. .... .........
...
.
.
..
.
.
.
.
.
...
.....
...
... ...
....
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ... x
.
.
......
..
.
..
.. ............ ..
e
... ....... ............
.. ..
...
...
...
..
..
.
. .............
.........
..
........ ..
... .
... ..
... ..
.. ..
... ..
....... ... ..
.
.
.
.
.
. ..
.... ....
.
.
t
.
.
.... ....
.
.
.
..
.. ...
.
.
.
.
...
. .
.
.
. .. ....
.
...
...
...
...
... ....
. . ...
.
..
...
.... . . .... . .......
.... . . .... .
...
...
... ...
... ...
...
...
....
....
.
.
.
.
.
.
.
.
....
.
.... ...................... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....... ........... .... ....
x(t )
x2
.... ....
@.... .... .... ....6
....
....
.... @
....
...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
R
... ...@
.. ........ .......
..
..... ...........
.
.
.
...
.
.
.
......
.
..
...
. .....
........
...
... ... ...................
.....
.
.
.
.....
...
.. ...
..
.....
... ..
.
.
.
.
.
......... ..
...
.
..
.
.
.
.
.
.
......
...... .
x1
.
.
.
.
...
.
.
.
.
....
....
..
........ .......
...
....
............
...
.... .... .... ....
...
...
....
..
.
.
....
.... .... .... .... ....
....
R. Kelly, V. Santiba
nez and A. Loria
t t 0 .
(2)
36
Example 2.3
..
.
...................
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
.
......
.
....
..... ............................ ........
... ..
. ..
..... ..... ........ ..... ......... ............. ............ ........... ....
. ... ..
... ...x
... .........e
............... .....
.....
........ .. .........
.......................
..
..
x2
x1
37
R. Kelly, V. Santiba
nez and A. Loria
38
x2
6
... .... .... ..
x(0)
x1
.. ...
....0.... .
. ..
1
..
.... .... .... .... .... .... .... .... .... ....
.... .... .... .... .... ............... .... .
....
... ....................... .... ........
.
...
.
.
.
..
..
....
.
....
..
... ... .... .... .... ..... ..
....
...
.
... ... ... .
... .
.
.
.
.
.
...
..............................
.
.. .. ...
......
.
.
.
.
.
...... ...... ................................... x(t)
...
.....
.. .. .. x
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .......
.
....
e
.. .....
..
..
... ..... .. ..
.......
.....................
.
.
.
.
.
... ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ....
... ..... . .. .....
. ...........
...
..
.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
...
.
t
..
... ..
..
. ...
...
..
.
... ....... .. ..
... ... ...
...
........... .
..
.
..
...
.... .... .... .... .... ...
....
..
...
.
..
....
...
... ....... .... ...... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ........ ...... ..... .... ...
.
.
.
.
.
.
.
.
.
.
.
.
.
....
....
....
....
.... ...
. .... .... ....
kx(t)k 0 as
t , t 0.
(3)
39
..
..
..................................................................... .............
.
.
.
.
.
.
.
.
. ..
.. .
.
................ .. ........................ .........
.
........... ........................ .... ............ ........
.. .. ...... ....... .................. ....
.. ..
.
.
.
..... ..... ..... ..... ..... ............... ..... ....... ..... .
........... ........... ..... ......................................... .... .... .... ..
... ... ..... ... ...............................
.
. ...
.... ...... ................................. ......... .... ...
.. .... .
.
...... .......
.................................................................................................
...........................................
.
..
..
x2
x1
40
R. Kelly, V. Santiba
nez and A. Loria
41
R. Kelly, V. Santiba
nez and A. Loria
x(t) IRn, t 0.
42
43
R. Kelly, V. Santiba
nez and A. Loria
t t 0,
x(t) IRn .
44
..
.........
.................................................................
.
.
.
.
........
.
.
.
.
.
......
....................
.
.
.
.
.
.
.....
.
.
.
.
............ ...................
.
.
.
.
......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....
...... .... ... .. ... 0
.
..... ..... ..... ...... ..... ...... ..... ....... ..... .......... ....... .... ..... ..... ..... ............ ..... .................. ..... ..... ..
... .... .. . ...... ..
.... ..................
... .......... ................. ...... ................................ ....
................. ......... ........
...
.
...
.. ........
.............. .......................
.............. ..
.
x2
x1
45
Lyapunov functions
Definition 2.10 Locally and globally positive definite function.
A continuous function W : IRn IR+ is said to be locally positive definite
if
1. W (0) = 0,
2. W (x) > 0
for small
kxk 6= 0.
x 6= 0 .
R. Kelly, V. Santiba
nez and A. Loria
46
R. Kelly, V. Santiba
nez and A. Loria
47
as
k x k .
t0
48
Example 2.7
49
.
...
..
... (x) ...
.
V
.
... 1
..
..
...
...
...
..
...
..
..
...
.
.
.
...
... ......... ... ......... ...
... .. ... . .. ... ..
... .. ... .. .. ... ..
.. .
. . .. . .
..... ..... .... ........ ....... .... .... ....... ..... ..... ........ ........ ..... ..... ...0
.
... .
... .
..
.
.....
.....
...
..
...V2.. (x) ..
.... ...
... .. ...
.
.
.
.
... .. ...
. ... ..
... . ... . ... . .. ..... ...
... .... ...... . ..... .. ..
... .. ... .. ... ... ...
... .. .... .. .. ... .
... . .. . ... ..
..... ...... .. ......
. ......
.... .... .... .... ..... ..... ..... ........ ..... ..... ..... ..... ..... ..... ....
..
..
x
0
..
..
..
........................... ... ...........................
... . .
... .. ..
... . ..
... ... ..
... .. ..
..... ..... .... .... .... .... .... ........ ..... ..... ..... ..... ..... ..... ...0
.
..
..
V3 (x)
x
0
x
0
50
V (t,x)
t
3.
V (t,x)
x
R. Kelly, V. Santiba
nez and A. Loria
51
V (t, x) V (t, x)
d
+
f (t, x).
V (t, x) := {V (t, x)} =
dt
t
x
R. Kelly, V. Santiba
nez and A. Loria
52
R. Kelly, V. Santiba
nez and A. Loria
53
t0
t0
locally
54
t 0 x IRn
t0
t t 0
x IRn (decrescent)
x IRn .
55
Example 2.11
Consider the dynamic model of an ideal pendulum without friction
J q + mgl sin(q) = 0
with
q(0), q(0)
IR
where x1 = q and x2 = q.
Autonomous nonlinear equation
R. Kelly, V. Santiba
nez and A. Loria
56
......
.....
......
.............................
.............................
.............................
.
.
.
.
.
.
.
.
.
.... ...
.... ...
.
.
.
.. .... .........
... ....
... ....
..
..
.. . ... ........... .......... ... ... ........... ......... ... ... ........... ..........
....... .. .. ..... .... ..... ........ ... ... ..... .... .... .......... ... ... .... .... .....
.. . ..
.. . .
... .... ....
. . ... .... .... .. ... .
.... ..... ...... .... ... .
.... ..... ..... .. ... ....... ....... ........ ... ... ...
.
... ... ... .. .. .. ... .. ... .. .. .. ... ... ... .. .. ..
............ ........... .. .. ........... ........... .. .. ........... ........... .. ..
... ...
... ...
... ...
.
... .... ........
... .... ........
... .... ........
.... .............. ....
.... ............. ....
.... ................
....... ......
....... ......
....... ......
....
...
...
x1
R. Kelly, V. Santiba
nez and A. Loria
57
R. Kelly, V. Santiba
nez and A. Loria
58
t 0 x IRn
t0
x IRn .
59
t t 0
x IRn .
If all the above conditions hold only for small kxk then we say that the
origin is an exponentially stable equilibrium.
R. Kelly, V. Santiba
nez and A. Loria
60
Theorem 2.6
Consider the differential equation
x = f (t, x),
x = f (x),
x IRn,
t IR+
x IRn.
61
x IRn.
o
n
Define the set = x IRn : V (x) = 0 . If
x(0) = 0 is the only initial state in , such that x(t) for all t 0,
then the origin x = 0 IRn is globally asymptotically stable.
R. Kelly, V. Santiba
nez and A. Loria
62
x IRn
z IRm .
= f z (x, z) ,
63
x
0
0
0
z
for all t IR+, x IRn, z IRm and h IR+, where Q(t) = Q(t)T > 0
for all t 0, then,
R. Kelly, V. Santiba
nez and A. Loria
64
kx(t)k dt < .
R. Kelly, V. Santiba
nez and A. Loria
65
z0
z2
link 2
joint 2
link 1
joint 1
q1
joint n
z3
q2
z1
zn
link n
qn
x1
x.2
x= .
.
xm
y0
x0
66
z1
z0
z2
q3
z4
q2
q1
q4
"x #
x=
y0
1
x2
x3
x0
67
q=
IR
.
..
qn
The position and orientation of the robots end-effector, are collected in the
vector x of operational positions .
x1
x2
x=
..
xm
where m n.
R. Kelly, V. Santiba
nez and A. Loria
68
R. Kelly, V. Santiba
nez and A. Loria
69
(4)
x, ) = 0 .
f C (x, x,
(5)
70
z0
z2
link 2
joint 2
link 1
joint 1
q1
joint n
z3
q2
z1
zn
link n
qn
x1
x.2
x= .
.
xm
y0
x0
71
is defined as
The Lagrangian L(q, q)
= K (q, q)
U(q) .
L (q, q)
(6)
where
is the kinetic energy function
K (q, q)
U(q) is the potential energy function (we assume only conservative
forces)
The total energy E of a robot manipulator of n DOF is
= K (q, q)
+ U(q)
E (q, q)
where q = [q1, , qn]T .
R. Kelly, V. Santiba
nez and A. Loria
72
d L(q, q)
L(q, q)
= ,
dt
q
q
or in the equivalent form by
d L(q, q)
L(q, q)
= i,
dt
qi
qi
i = 1, , n
(7)
where
i correspond to the external as well as to other non conservative forces
and torques at each joint.
R. Kelly, V. Santiba
nez and A. Loria
73
R. Kelly, V. Santiba
nez and A. Loria
74
Example 3.3
x
l1
q1
I1
m1
lc1
q2
lc2
m2
I2
75
where,
l1 is the length the first link
m1 and m2 are the masses of the links
lc1 and lc2 are the distances of the rotating axes to the centers of their
respective mass
I1 and I2 denote the moments of inertia of the links
q = [q1 q2]T defines the vector of joint positions
Notice that the center of mass of link 2 may be physically placed out of
the link itself! This is determined by the value of the constant angle
R. Kelly, V. Santiba
nez and A. Loria
76
may be decomposed by
The kinetic energy function K(q, q)
+ K2(q, q),
= K1(q, q)
K(q, q)
where
is the kinetic energy associated to the mass m1
K1(q, q)
is the kinetic energy associated to the mass m2
K2(q, q)
with
2 2
= 12 m1lc1
K1(q, q)
q1 + 12 I1q12
=
K2(q, q)
R. Kelly, V. Santiba
nez and A. Loria
m2 2 2
m2 2 2
l
q
+
2 1 1
2 lc2 q2
+ 12 I2q22 .
77
= K(q, q)
U(q) , takes the form
The Lagrangian L(q, q)
+ K2(q, q)
= K1(q, q)
L(q, q)
1
1
2
2 2
2 2
=
(m1lc1 + m2l1 )q1 + m2lc2
q2
2
2
+ m2l1lc2 cos(q1 q2 + )q1q2
1 2 1 2
+ I1q1 + I2q2 .
2
2
R. Kelly, V. Santiba
nez and A. Loria
78
1 =
d
dt
2
m1lc1
)
L(q ,q
qi
m2l12
)
L(q ,q
qi
= i,
i = 1, , n
+ I1 q1
+ m2l1lc2 cos(q1 q2 + )
q2
+ m2l1lc2 sin(q1 q2 + )q22
and,
q1
2 = m2l1lc2 cos(q1 q2 + )
2
+ [m2lc2
+ I2]
q2
79
80
1 RHS(8)
2 RHS(9)
where RHS(8) and RHS(9) denote the terms on the right hand side of (8)
and (9) respectively.
R. Kelly, V. Santiba
nez and A. Loria
81
Example 3.4
Consider the 3-DOF Cartesian robot manipulator shown in Figure 22.
z0
z0
q2
m3
m2
m1
q3
q1
q1
y0
x0
x0
q2
y0
q3
1
2
m1q32
+ [m1 +
m2]q22
+ [m1 + m2 +
m3]q12
82
U(q)
L(q, q)
= K(q, q)
1
2
2
2
m1q3 + [m1 + m2]q2 + [m1 + m2 + m3]q1
=
2
[m1 + m2 + m3]gq1 ,
R. Kelly, V. Santiba
nez and A. Loria
83
q1
q1
q2
q2
3
q3
=
.
1
dt
[
[m
+
m
+
m
]g]
1
1
2
3
q
1 m1 + m2 + m3
q2
m
+
m
1
2
1
q3
3
m1
R. Kelly, V. Santiba
nez and A. Loria
84
85
where
? M (q) = M (q)T > 0 for all q IRn is the n n inertia matrix.
U(q) denotes the potential energy
The Lagrangian results
1
= q TM (q)q U(q) .
L(q, q)
2
R. Kelly, V. Santiba
nez and A. Loria
86
L(q, q)
d L(q, q)
= ,
dt
q
q
may be written as
d 1 T
q M (q)q
dt q 2
1 T
U(q)
=.
q M (q)q +
q 2
q
R. Kelly, V. Santiba
nez and A. Loria
87
where
1 T
q = M (q)q
C(q, q)
q M (q)q
2 q
U(q)
.
g(q) =
q
q is a vector of dimension n called vector of centrifugal and
C(q, q)
Coriolis forces,
g(q) is a vector of dimension n of gravitational forces or torques and
is a vector of dimension n called the vector of external forces
R. Kelly, V. Santiba
nez and A. Loria
88
.
2
qi
qj
qk
is given by
Ckj (q, q),
The kjth element of the matrix C(q, q),
c1jk (q)
c2jk (q)
q .
=
Ckj (q, q)
..
cnjk (q)
R. Kelly, V. Santiba
nez and A. Loria
89
ROBOT
q
Figure 23: Input-output representation of a robot.
R. Kelly, V. Santiba
nez and A. Loria
90
Example 3.6
z
1
x
l1
q1
I1
m1
lc1
q2
lc2
m2
I2
R. Kelly, V. Santiba
nez and A. Loria
91
C11(q, q)
M11(q) M12(q)
C12(q, q)
q +
q
C22(q, q)
M21(q) M22(q)
C21(q, q)
{z
}
{z
}
|
|
M (q)
C(q, q)
= (t)
where
M11(q) =
2
m1lc1
m2l12
+ I1
92
C11(q, q)
= 0
C21(q, q)
= [m2l1lc2 cos()S21 m2l1lc2 sin()C21]q1
C22(q, q)
= 0
That is, the gravitational forces vector is zero.
R. Kelly, V. Santiba
nez and A. Loria
93
q
q
d
.
=
dt
q g(q)]
q
M (q)1 [ (t) C(q, q)
(10)
94
R. Kelly, V. Santiba
nez and A. Loria
95
v2
v1
q1
96
v2
q2
q1
v1
97
fm
1:r
Jmq + fmq +
KaKb
Ka
q + 2 =
v
Ra
r
rRa
where:
R. Kelly, V. Santiba
nez and A. Loria
98
99
We can obtain
+ B q + R = Kv
Jq
with
J = diag {Jmi }
KaKb
B = diag fmi +
Ra i
1
R = diag 2
ri
Ka 1
K = diag
Ra i ri
R. Kelly, V. Santiba
nez and A. Loria
100
ACTUATORS
ROBOT
q
R. Kelly, V. Santiba
nez and A. Loria
101
Example 3.8
Consider the pendulum depicted in Figure 29.
fL
lb
mb , J
Jm
v
fm
Ka , Kb , Ra
1:r
m
q
102
where
J : arms inertia without load (i.e., with m=0),
mb : arms mass (without load),
lb : distance from the rotating axis to the arms center of mass (without
load),
m : loads mass (assumed to be punctual),
l : distance from the rotating axis to the load m,
g : gravity acceleration,
: applied torque at the rotating axis,
fL : friction coefficient of the arm and its load.
R. Kelly, V. Santiba
nez and A. Loria
103
where
JL = J + ml2
kL = [mblb + ml]g .
R. Kelly, V. Santiba
nez and A. Loria
104
The complete dynamic model of the pendular device may be obtained as:
Jm +
JL
fL KaKb
Ka
kL
+
+
sin(q)
=
v,
q
+
f
q
+
m
2
2
2
r
r
Ra
r
rRa
where, we identify
M (q) = JL
1
R =
r2
KaKb
B = fm +
Ra
C(q, q)
= 0
R. Kelly, V. Santiba
nez and A. Loria
= Jm
Ka
K =
rRa
f (q)
= fLq
g(q) = kL sin(q) .
105
R. Kelly, V. Santiba
nez and A. Loria
106
we have
In terms of the state vector [q q]
q
q
d
.
=
dt
q g(q) f (q)
q
M 0(q)1 R1 Kv R1 B q C(q, q)
The problem of motion control is:
given q d, q d and q d,
determine v, to be applied to the motors,
in such a manner that q follow precisely q d .
R. Kelly, V. Santiba
nez and A. Loria
107
108
1.
q IRn
R. Kelly, V. Santiba
nez and A. Loria
109
For robots having only revolute joints there exists a constant > 0
such that
Max{M (q)} q IRn .
One way of computing is
2.
n max |Mij (q)|
i,j,q
where Mij (q) stands for the ijth element of the matrix M (q).
R. Kelly, V. Santiba
nez and A. Loria
110
R. Kelly, V. Santiba
nez and A. Loria
111
0
kyk
kM (x)yk kM
R. Kelly, V. Santiba
nez and A. Loria
112
1.
2.
R. Kelly, V. Santiba
nez and A. Loria
113
R. Kelly, V. Santiba
nez and A. Loria
114
xTC1(q)y
T
C(q, x)y =
x C2(q)y
..
xTCn(q)y
4.
where
for all
matrix
ofh the
1
2
qi
qj
q
R. Kelly, V. Santiba
nez and A. Loria
115
R. Kelly, V. Santiba
nez and A. Loria
116
R. Kelly, V. Santiba
nez and A. Loria
117
1
x=0
M (q) C(q, q)
2
x IRn
q, q,
is skewsymmetric. Equivalently,
and as a matter of fact, 12 M (q)C(q, q)
is antisymmetric, and it is also true that
the matrix M (q) 2C(q, q)
+ C(q, q)
T.
M (q) = C(q, q)
R. Kelly, V. Santiba
nez and A. Loria
118
is derived, it always
Independently of the way in which C(q, q)
satisfies
q
1
q = 0
M (q) C(q, q)
2
R. Kelly, V. Santiba
nez and A. Loria
q, q IRn .
119
g(q(t))Tq(t)
dt = U(q(T )) U(q(0))
R. Kelly, V. Santiba
nez and A. Loria
120
2.
g(q(t))Tq(t)
dt + U(q(0)) kU
0
R. Kelly, V. Santiba
nez and A. Loria
121
For robots having only revolute joints, the vector g(q) is Lipschitz, that
is, there exists a constant kg > 0 such that
kg(x) g(y)k kg kx yk
3.
for all x, y IRn. A simple way to compute kg is by evaluating its partial
derivative
gi(q)
.
kg n max
i,j,q
qj
R. Kelly, V. Santiba
nez and A. Loria
122
Furthermore, kg satisfies
g(q)
g(q)
.
kg
q
Max
q
R. Kelly, V. Santiba
nez and A. Loria
123
4.
R. Kelly, V. Santiba
nez and A. Loria
124
Residual dynamics
R. Kelly, V. Santiba
nez and A. Loria
125
tanh(x1)
..
tanh(x) :=
tanh(xn)
(12)
tanh(x)
1.0
0.5
0.0
0.5
1.0
.
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ....... ..... ..... ..... ........................................................................
.
....
.. ..........
.. ....
.. ......
.
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ................ ..... ..... ..... ..... ..... ..... ..... .... .... .... ..
... .
.. .
... ...
.
.
.
... .
.....
.
.
.
.
.
.
.
.
.
.
.................................................................. ..... ..... ..... ....... ..... ..... ..... ..... ..... ..... ..... ..... .... .... .... ..
.
4 3 2 1
3 x 4
126
R. Kelly, V. Santiba
nez and A. Loria
1
.
x
x
i
i
e e
127
ktanh(x)k 3 tanh(x)T x
2
128
R. Kelly, V. Santiba
nez and A. Loria
129
There exist constants kh1, kh2 0 such that the norm of the
residual dynamics satisfies
1.
q , q )
kh1kq k + kh2 ktanh(
q )k
h(
IRn, where tanh(
q ) is the vectorial tangent
for all q , q
hyperbolic function introduced in the latter Definition.
R. Kelly, V. Santiba
nez and A. Loria
130
where
s2
,
kh2
s2
tanh
s1
q d kM +
s1 = kg + kM k
and
2
kC2 kq dkM
0
s2 = 2 k0 + kM
k
q d kM +
R. Kelly, V. Santiba
nez and A. Loria
kC1 kq dk2M
.
131
132
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
133
Notation
Value
Units
Length of Link 1
l1
0.26
Length of Link 2
l2
0.26
lc1
0.0983
lc2
0.0229
Mass of Link 1
m1
6.5225
kg
Mass of Link 2
m2
2.0458
kg
I1
0.1213
kg m2
I2
0.0116
kg m2
Gravity acceleration
9.81
m/sec2
R. Kelly, V. Santiba
nez and A. Loria
134
135
Direct kinematics
R. Kelly, V. Santiba
nez and A. Loria
136
R. Kelly, V. Santiba
nez and A. Loria
137
=
J(q)
+ J(q)
,
y
q2
q2
dt
where we have defined
Pn (q)
d
J(q) :=
qi.
i =1 q
dt
i
R. Kelly, V. Santiba
nez and A. Loria
138
Inverse kinematics
q1
= 1(x, y), where 1 : IR2 and IR2.
q2
y
qd
1
qd
2
139
qd1
x
qd2
x
qd1
140
= 1(x, y).
q d2
xd
l2sin(qd2 )
tan1
qd1 = tan1
yd
l1 + l2cos(qd2 )
2
2
2
2
+
y
l
x
1
2
d
d
qd2 = cos1
.
2l1l2
141
qd1
qd2
where
= J
|
d
x
d
x d
1
1
J(q d) J (q d)
(q d)
+ J (q d)
yd
yd
dt
{z
}
d 1
J (q d)
dt
S12
C12
l
S
l
S
1
2
1
2
1
J (q d) =
l1S1 l2S12 l1C1 + l2C12 ,
l1l2S2
l1l2S2
and
142
qd2
x
qd1
R. Kelly, V. Santiba
nez and A. Loria
143
Dynamic model
Lagrangian equations
We start by writing the kinetic energy:
= K1(q, q)
+ K2(q, q)
K(q, q)
where
is the kinetic energy associated to the mass m1
K1(q, q)
is associated to the mass m2
K2(q, q)
R. Kelly, V. Santiba
nez and A. Loria
144
with
K1(q, q)
=
=
1
1 2
T
m1v 1 v 1 + I1q1
2
2
1
1 2
2 2
m1lc1q1 + I1q1 .
2
2
and
=
K2(q, q)
=
1
1
T
m2v 2 v 2 + I2(q1 + q2)2
2
2
m2 2 2 m2 2 2
2
l q +
l q + 2q1q2 + q2
2 1 1
2 c2 1
2
+ m2l1lc2 q1 + q1q2 cos(q2)
1
+ I2(q1 + q2)2.
2
R. Kelly, V. Santiba
nez and A. Loria
145
R. Kelly, V. Santiba
nez and A. Loria
146
The Lagrangian is
U(q)
L(q, q)
= K(q, q)
2
1
1
2
2 2
2
2
[m1lc1 + m2l1 ]q1 + m2lc2 q1 + 2q1q2 + q2
=
2
2
2
+ m2l1lc2 cos(q2) q1 + q1q2
+ [m1lc1 + m2l1]g cos(q1)
+ m2glc2 cos(q1 + q2)
1 2 1
+ I1q1 + I2[q1 + q2]2.
2
2
d
dt
L
qi
L
q
= i
i
i = 1, 2 we get
147
1 =
2
m1lc1
m2l12
2
m2lc2
2
+ m2lc2
+ m2l1lc2
+ 2m2l1lc2 cos(q2) + I1 + I2 q1
cos(q2) + I2 q2
2
m2lc2
2
+ m2l1lc2 cos(q2) + I2 q1 + [m2lc2
+ I2]
q2
R. Kelly, V. Santiba
nez and A. Loria
148
C12(q, q)
C11(q, q)
g (q)
M11(q) M12(q)
q +
q + 1
= ,
M21(q) M22(q)
C21(q, q)
g2(q)
C22(q, q)
{z
}
{z
}
|
|
| {z }
M (q)
C(q, q)
g(q)
R. Kelly, V. Santiba
nez and A. Loria
149
where
M11(q) =
2
m1lc1
m2 l12
2
M12(q) = m2 lc2
+ l1lc2
2
M21(q) = m2 lc2 + l1lc2
2
lc2
+ 2l1lc2 cos(q2) + I1 + I2
cos(q2) + I2
cos(q2) + I2
2
M22(q) = m2lc2
+ I2
C11(q, q)
= m2l1lc2 sin(q2)q2
C12(q, q)
= m2l1lc2 sin(q2) [q1 + q2]
= m2l1lc2 sin(q2)q1
C21(q, q)
C22(q, q)
= 0
g1(q) = [m1lc1 + m2l1] g sin(q1) + m2lc2g sin(q1 + q2)
g2(q) = m2lc2g sin(q1 + q2) .
R. Kelly, V. Santiba
nez and A. Loria
150
In terms of these state variables, the dynamic model of the robot may be
written as
q1
q1
q2 =
q2
dt
1
1
q g(q)]
M
(q)
[ (t) C(q, q)
q2
The formulas and numeric values of the constants Max{M }, kM , kC1 , kC2
and kg are summarized in Tables below
R. Kelly, V. Santiba
nez and A. Loria
151
Max {M }
max Mij (q)
i,j,q
kM
Mij (q)
max
i,j,k,q
qk
k C1
k C2
kg
R. Kelly, V. Santiba
nez and A. Loria
n2
max Ckij (q)
i,j,q
!
Ck (q)
ij
max
i,j,k,l,q
ql
n3
!
gi (q)
max
i,j,q qj
152
R. Kelly, V. Santiba
nez and A. Loria
Parameter
Value
Units
Max {M }
0.7193
kg m2
kM
0.0974
kg m2
k C1
0.0487
kg m2
k C2
0.0974
kg m2
kg
23.94
kg m2 /sec2
153
qd1
qd2
2.0 t3
b1[1 e
b2[1 e2.0
2.0 t3
] + c1[1 e
] + c2[1 e2.0
] sin(1t)
] sin(2t)
[rad]
(13)
where
b1 = /4 [rad], c1 = /9 [rad] and 1 = 4 [rad/sec], and
b2 = /3 [rad], c2 = /6 [rad] and 2 = 3 [rad/sec].
R. Kelly, V. Santiba
nez and A. Loria
154
The figure depicts the graphs of above reference trajectories against time.
2.0
[rad]
q
1.5
1.0
0.5
0.0
......
......
......
......d2
.. .....
.. ....
.. ....
... ....
.
.
.
qd1....... ...... ..... ... ........
.. .... ..... ....... ..... ....
.
.
.
.
.
.
.
.
.
.
... . .... .... ... . . .... . .. ... .... .. ..... .....
... ..... ... ... ..... ....... ....... ... .......... ...... ..... ..... ... ... ..... .......
.. ..... .. ... .. ... ..... .. ............... .... ............. ..... ... .......
......
......
.................... ........ ..... ........
.....
......
..
............ ..... .... .... .... .... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
155
....
.........
.. .....
.
.
.
.......
.. ...
...........
.. ...
.... ...
... .....
... .....
... .....
.... .....
......... ..
.........
... ..
... ..
..
... .
... ..
... ..
....
....... ...
... ..
... ..
. . .
... .
.....
.
... .....
....
..
..
...
.
.....
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
156
..
.. ...
.....
.....
.....
... .....
....... ... ..... .......
....... ... ..... .......
....... ... .....
.. ... .. .... .. ... .. ... .. .... .. ... .. ... .. ....
.. ....
... ..... ........... ..... ... .... ... ................ ..... ... .... ... ............... ..... ... ....
... .. ... ..
... .. ... ..
... .. ...
.. ... ...
... . ... .
... .. ... ..
... .. ...
.
... ..... ...
.
... . ... .
... . ... .
... . ... .
.
.
.. ... ..
.
.
.
.
... . .. .
... . .. .
... .. ... ..
.. .....
..... .....
..... .....
..... .....
. ..
. ..
. ..
... ......
..
..
10
t [sec]
qd1 = 6b1t e
2 2.0 t3
qd2 = 6b2t e
2 2.0 t3
+ 6c1t e
2 2.0 t3
+ 6c2t e
2.0 t3
in [ rad/sec ].
R. Kelly, V. Santiba
nez and A. Loria
2.0 t3
] cos (1t)1,
] cos (2t)2 .
(14)
157
||
qd (t)|| [ rad
sec ]
10
.....
8
6
4
2
0
.....
... .....
.
.... ....
.... ....
.... ....
. .. ..
....... ... ..... .... ... ..... ... ..... .... .... ... ..... ... ..... .... .... ... ..... ... ..
.. .... .. .... .. .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... ..
... ........ ... .... ..... ... ..... ... ..... ... ... ..... ... ..... ... ..... ... ... ..... ... ..... ...
..... ... ..
..... ... .. .....
..... ... .. .....
.. .....
.. ... ..
.. ... .. ..
.. ... .. ..
... .......
... .
... .
... .
..
.
.
.....
....
....
..
.....
.....
.....
..
.
..
..
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
158
Reference accelerations:
2.0 t3
qd1 = 12b1te
4 2.0 t3
36b1t e
4 2.0 t3
36c1t e
qd2 = 12b2te
4 2.0 t3
4 2.0 t3
[c2 c2e2.0
sen(1t)
2 2.0 t3
36b2t e
36c2t e
+ 12c1te
sen(1t) + 12c1t e
cos (1t)1
t3
2
2
]sen(1t)1
rad / sec ,
[c1 c1e2.0
2.0 t3
2.0 t3
2.0 t3
+ 12c2te
sin (2t)
2 2.0 t3
R. Kelly, V. Santiba
nez and A. Loria
159
k
q dkMax 9.52 [rad/sec] .
R. Kelly, V. Santiba
nez and A. Loria
160
Part II
SET-POINT CONTROL
R. Kelly, V. Santiba
nez and A. Loria
161
Introduction
Introduction
Motion controllers are clasified
Set-point controllers (q d(t) = q d, is a constant vector),
and tracking controllers (q d(t) is a time variant vector).
q +
Consider the dynamic model of a robot manipulator M (q)
q + C(q, q)
g(q) = , which can be written as:
q
q
d
=
dt
q g(q)]
q
M (q)1 [ (t) C(q, q)
R. Kelly, V. Santiba
nez and A. Loria
162
Introduction
where
M (q) IRnn is the inertia matrix,
q IRn is the vector of centrifugal and Coriolis forces,
C(q, q)
g(q) IRn is el vector of gravitational forces and torques and
IRn is a vector of external forces and torques applied at the joints.
q IRn denote the position, velocity and joint
The vectors q, q,
acceleration respectively.
R. Kelly, V. Santiba
nez and A. Loria
163
Introduction
164
Introduction
CONTROLLER
ROBOT
q
q
165
Introduction
qd
Figure 42:
Set-point
representation.
R. Kelly, V. Santiba
nez and A. Loria
CONTROLLER
+
ROBOT
control
closed-loop
q
q
system:
Input-output
166
Introduction
3. Study of the existence and possible unicity of the equilibrium for the
closed loop equation.
4. Proposition of a Lyapunov function candidate to study the stability
5. Alternatively to step 4), determine the qualitative behavior of the
solutions of the closed loop equation.
R. Kelly, V. Santiba
nez and A. Loria
167
Introduction
R. Kelly, V. Santiba
nez and A. Loria
168
Kp
ROBOT
q
q
Kv
169
Kv
q d
qd
ROBOT
q
q
Kp
R. Kelly, V. Santiba
nez and A. Loria
170
q
q
d
.
=
dt
q g(q)]
q
M (q)1 [Kpq Kv q C(q, q)
It may have multiple equilibria given by
T T T
= [sT 0T ]T where s IRn is solution of
? q q
Kps g(q d s) = 0 .
R. Kelly, V. Santiba
nez and A. Loria
171
q
q
d
=
dt
q]
q
M (q d q )1 [Kpq Kv q C(q d q , q)
It represents an autonomous differential equation (since q d is constant).
The origin q
T T
R. Kelly, V. Santiba
nez and A. Loria
V (
q , q)
=
T
q
K
1 p
2
0
q
0
M (q d q )
q
q
1 T
1 T
Kpq .
q M (q)q + q
2
2
R. Kelly, V. Santiba
nez and A. Loria
173
results
The total derivative of V (
q , q)
V (
q , q)
= q TKv q
T
0 0
q
q
0,
=
0 Kv
q
q
By Theorem 2.3 we conclude that the origin is stable and,
R. Kelly, V. Santiba
nez and A. Loria
174
T T
R. Kelly, V. Santiba
nez and A. Loria
175
q
q
d
.
=
dt
q g(q)]
q
M (q)1 [Kpq Kv q C(q, q)
(16)
The study of this section is limited to robots having only revolute joints.
It may have multiple equilibria given by
T T T
= [sT 0T ]T where s IRn is solution of
? q q
Kps g(q d s) = 0 .
R. Kelly, V. Santiba
nez and A. Loria
176
Example 6.1
Consider the model of an ideal pendulum
J q + mgl sin(q) = .
l
g
m
177
,
,
.
q
0
0
0
R. Kelly, V. Santiba
nez and A. Loria
178
kg
kx yk
min{Kp}
R. Kelly, V. Santiba
nez and A. Loria
179
180
yields
The time derivative of V (
q , q)
1
+ q T g(q) ,
V (
q , q)
= q TM (q)
q + q TM (q)q + q TKpq
2
Q
z}|{
T
= q Kv q
T
0 0
q
q
0.
=
0 Kv
q
q
Invoking Lemma 2.2, we conclude
? q(t)
and q (t) are bounded for all t, and
R
2
181
2V (
q (0), q(0))
k
q (t)k
min{Kp}
2
TM (q(0))q(0)
+ q (0) Kpq (0) + 2U(q(0)) 2kU
q(0)
=
min{Kp}
(17)
2V (
q (0), q(0))
kq(t)k
min{M (q)}
2
T
TM (q(0))q(0)
q(0)
+ q (0) Kpq (0) + 2U(q(0)) 2kU
=
min{M (q)}
(18)
R. Kelly, V. Santiba
nez and A. Loria
182
Example 6.2
Consider again the ideal pendulum from Example 6.1
J q + mgl sin(q) = ,
l
g
m
183
The potential energy function is U(q) = mgl(1 cos(q)) and the constant
kU is zero.
Consider next the numeric values
J =1
mgl = 1
kp = 0.25 kv = 0.50
qd = /2.
Assume that we apply the PD controller to drive it from the initial
conditions q(0) = 0 and q(0)
=0
R. Kelly, V. Santiba
nez and A. Loria
184
q(t)2 [rad2 ]
3
2
1
t0
.....
...
...
...
...
............
...... ................................................................................................................
...
.
.
.
.
....... ........
..
0
0
10
15
20
t [sec]
185
and
kp 2
q (0) = 0.61
q (t)
ml2
2
0.04
0.02
0.00
rad
sec
2
t0
2
q(t)
2 [( rad
sec ) ]
0.08
0.06
.....
... .....
.. ...
... .....
.. ....
... .....
.. ...
... ..... ........
... .. ...
..
... .. .... .............
...
........ .....................................................................................................
..
10
15
20
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
186
Is interesting to observe
lim
q(t)
1.25
=
q(t)
That is, the solutions tend to one of the three equilibria determined in
Example 6.1
R. Kelly, V. Santiba
nez and A. Loria
187
Example 6.3
Consider the 2-DOF prototype robot studied in Chapter 5,
y
g
Link 1
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
188
/10
/30
[rad].
189
30 0
,
0 30
Kv =
7 0
.
0 3
R. Kelly, V. Santiba
nez and A. Loria
190
0.4
0.3
0.2
0.1
0.0
[rad]
.....
... q
....1
....
......
..........
.......................................................................................................0.1309
.........................
..... q
...... 2
.................
0.0174
...
..... ..... ..... ..... .................................................................................................................................................................................................................................
0.1
0.0
0.5
1.0
1.5
2.0
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
191
ROBOT
q
q
Kv
q d
qd
Kp
192
q
q
d
=
dt
q]
q
M (q d q )1 [Kpq Kv q C(q d q , q)
The origin q
T T
R. Kelly, V. Santiba
nez and A. Loria
193
V (
q , q)
=
T
q
K
1 p
2
0
q
q
0
q
M (q d q )
1 T
1 T
q M (q)q + q Kpq
2
2
R. Kelly, V. Santiba
nez and A. Loria
194
V (
q , q)
= q TKv q
T
0 0
q
q
0
=
0 Kv
q
q
0 because Kv > 0
? V (
q , q)
Consequently, by Theorem 2.3 the origin is stable and all the solutions
(t) and q(t)
q
are bounded.
R. Kelly, V. Santiba
nez and A. Loria
195
T T
R. Kelly, V. Santiba
nez and A. Loria
196
Example 7.1
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
197
R. Kelly, V. Santiba
nez and A. Loria
198
0.3141
/10
q (0)
/30 0.1047
=
0 = 0 .
q(0)
0
0
R. Kelly, V. Santiba
nez and A. Loria
199
0.4
0.3
0.2
0.1
0.0
[rad]
.....
...
... q
.... 1
....
....
......
........
..... q
.................
...... 2
...................................................................................0.0620
..........................
..............
.............................................................................................................0.0144
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ................................................
0.1
0.0
0.5
1.0
1.5
2.0
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
200
0.5
1.0
..
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... .......................................................................
..
....
. ...........
.. ....
.. .....
. ..
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .............. ..... ..... ..... ..... ..... ..... ..... .... .... .... ..
.
..
... ...
.
.
.. .
.... ..
.
.
.
.
.
......
.................................................................... ..... ..... ..... ....... ..... ..... ..... ..... ..... ..... ..... ..... .... .... .... ..
.
4 3 2 1
ex ex
ex +ex
R. Kelly, V. Santiba
nez and A. Loria
.
201
n
kxk
IR
k tanh(x)k
n
x IRn
? tanh(x) = 0 if and only if x = 0.
? For a symmetric positive definite matrix A, it has
1 T
1
q min{A} k tanh(
q )k2
q A
2
2
IRn
q
q IRn .
202
(19)
where
? > 0 is a constant sufficiently small so as to satisfy simultaneously,
min{Kp}min{M }
2
>
2Max{M }
(20)
4min{Kp}min{Kv }
>.
(21)
2Max{Kv } + 4min{Kp}[ n kC1 + Max{M }]
? There always exists > 0 arbitrarily small satisfying (20) and (21).
> 0 because Kp > 0 and satisfies (20).
? V (
q , q)
R. Kelly, V. Santiba
nez and A. Loria
203
ktanh(
q )k
V (
q , q)
kqk
T
ktanh(
q )k
kqk
where
Q=
min{Kp}
12 Max{Kv }
R. Kelly, V. Santiba
nez and A. Loria
12
Max {Kv }
1
n kC1
min {Kv }
Max{M }
204
4min{Kp}min{Kv }
> .
2
Max{Kv } + 4min{Kp}[ nkC1 + Max{M }]
R. Kelly, V. Santiba
nez and A. Loria
205
Kv
q d
qd
ROBOT
q
q
Kp
206
q
q
d
=
dt
Kv q C(q, q)
q + g(q d) g(q)]
q
M (q)1 [Kpq
(22)
T T T
q q
= 0 IR2n is an equilibrium point.
There are as many equilibria as solutions in q , may have the equation
Kpq = g(q d q ) g(q d) .
If Kp > > 0 (sufficiently ), then q = 0 IRn is the unique solution.
R. Kelly, V. Santiba
nez and A. Loria
207
Example 8.1
Consider the model of an ideal pendulum
J q + mgl sin(q) =
l
g
m
208
,
,
.
q
0
0
0
R. Kelly, V. Santiba
nez and A. Loria
209
R. Kelly, V. Santiba
nez and A. Loria
210
In spite of this, q
remain bounded for all initial conditions.
R. Kelly, V. Santiba
nez and A. Loria
211
+ U(q) kU + q TKpq
V (
q , q)
= K(q, q)
2
1
T
212
? q(t)
and q (t) are bounded
? q(t),
is square integrable, that is,
Z
kq(t)k
dt < .
R. Kelly, V. Santiba
nez and A. Loria
213
k
q (t)k
q
2
q (0), q(0))
kg(q d)k + kg(q d)k + 2min{Kp}V (
min{Kp}
(23)
kq(t)k
2V (
q (0), q(0))
min{M (q)}
(24)
for all t 0.
R. Kelly, V. Santiba
nez and A. Loria
214
Example 8.2
Consider again the model of the ideal pendulum
J q + mgl sin(q) = ,
l
g
m
215
= 0.
It is easy to verify that
g(qd) = mgl sin(/2) = 1
1
1 2
kpq (0) + mgl
q (0) +
(mgl)2 = 3.87 .
V (
q (0), q(0))
=
2
2kp
R. Kelly, V. Santiba
nez and A. Loria
216
2
q
2
2
mgl
+
[mgl
+
k
q
(0)]
+
(mgl)
p
2
q2(t)
117.79 [ rad ]
kp
35
30
25
20
15
10
5
0
q(t)2 [rad2 ]
.
.......
... ....
.. .....
...........
... ...... ..........................................................................
...
.........
..
...
..
...
..
........ ...............
..............
10
20
30
t [sec]
217
and
q2(t)
2 kp 2
1
q (0) + mgl
q (0) +
(mgl)2 7.75
J 2
2kp
1
0
rad
sec
2
2
q(t)
2 [( rad
sec ) ]
3
2
.....
... ....
.. ....
... .....
.. ...
... .....
. ..
.......
.. .... .....
... ....
.
... .. ..
. ...... ......
... . ... ......
.......
...
... ....... ......................................................................................
10
20
30
t [sec]
218
q(t)
4.57
=
q(t)
The solutions tend precisely to one among the three equilibria which do
not correspond to the origin.
PD control with desired gravity compensation may fail to verify the
set-point control objective.
R. Kelly, V. Santiba
nez and A. Loria
219
Unicity of equilibrium
For robots having only revolute joints and considering the closed-loop
equation (22), we have.
T T
= q
T T
IR2n where
q , q d) .
? q IRn is solution of q = Kp1 [g(q d q ) g(q d)] = f (
For all vectors x, y IRn, we have that
kf (x, q d) f (y, q d)k
kg
kx yk ,
min{Kp}
220
1 T
) U(q d)
q M (q d q )q + U(q d q
2
1 T
T
+ q Kpq .
+ g(q d) q
2
221
results in V (
= q T Kv q 0
The time derivative of V (
q , q)
q , q)
By applying the La Salles Theorem 2.7, we have
The set is given by
o
n
=
x IR2n : V (x) = 0
q
=0
q , q)
=
x=
IR2n : V (
q
= {
q IRn, q = 0 IRn} .
T T
q (0) q(0)
= 0 IR2n is the unique initial condition in for
which x(t) for all t 0.
This is enough to guarantee global asymptotic stability of the origin
T T T
q q
= 0 IR2n.
T
R. Kelly, V. Santiba
nez and A. Loria
222
Example 8.3
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
223
= n
gi(q)
max i,j,q
qj
R. Kelly, V. Santiba
nez and A. Loria
224
R. Kelly, V. Santiba
nez and A. Loria
225
0.3141
/10
q (0)
/30 0.1047
[ rad ] .
=
=
0 0
q(0)
0
0
R. Kelly, V. Santiba
nez and A. Loria
226
[rad]
....
... q
... 1
...
...
...
....
..... q
....
....
2
.......... .............................................................................................................0.0359
..........................
..
..... ..... ..... ................................................................................................................................................................................................................................................
0.0138
0.1
0.0
0.5
1.0
1.5
2.0
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
227
=
V (
q , q)
R. Kelly, V. Santiba
nez and A. Loria
P
}|
z
T
{
0
2
1+ q M (q)
q
q
2 Kp
k k
1
2
1+ 0q M (q)
M (q)
q
q
k k
1 T
T
,
+ U(q) U(q d) + g(q d) q + q Kpq
1
{z
}
|
)
f (q
228
1 T
q M (q)q + U(q) U(q d) + g(q d)Tq
2
1
1
0
T
Kpq
+
q
+
q TM (q)q
1 2
1 + k
qk
21
>2
1 2
2min{Kp}
> 0 > 0 with ( Max{M (q)} ) .
2
R. Kelly, V. Santiba
nez and A. Loria
229
V (
q , q)
=
with =
1
2
1
[q +
q ]T M (q) [q +
q ] + q T
Kp 2M (q) q
2
2
2
1 T
T
Kpq ,
+ U(q) U(q d) + g(q d) q + q
1
{z
}
|
)
f (q
0
k.
1+kq
is positive
hV (
q , q)
i definite because M (q) > 0, and
22 Kp 2M (q) > 0 and min{Kp} > kg .
R. Kelly, V. Santiba
nez and A. Loria
230
The time derivative of the above Lyapunov function candidate takes the
form
q TKpq +
V (
q , q)
= q TKv q + q TM (q)q
q TKv q
q
q T [g(q d) g(q)]
q TM (q)q ,
q TC(q, q)
which is upperbounded by
V (
q , q)
k
qk
kqk
T z
}|
min{Kp} kg
12 Max{Kv }
12 Max{Kv }
1
20 min {Kv }
k
qk
kqk
1
2.
[min{Kv } 20(kC1 + 2)] kqk
{z
}
2|
R. Kelly, V. Santiba
nez and A. Loria
231
> 0 ,
R. Kelly, V. Santiba
nez and A. Loria
232
0
2
2
2,
V (
q , q)
kqk
min{Q} k
q k + kqk
1 + k
qk
2
k
q k2
2,
0min{Q}
kqk
1 + k
qk 2
which is a negative definite function.
R. Kelly, V. Santiba
nez and A. Loria
T T
= 0 IR2n is a globally
233
Kv
q d
qd
Kp
q
q
ROBOT
Rt
Ki
0
Rt
0
q () d, where
R. Kelly, V. Santiba
nez and A. Loria
234
The control law may be expressed via the two following equations,
= Kpq + Kv q + Ki
= q .
The closed loop equation is
=
q
dt
h
i
q g(q)
+ Ki C(q, q)
q d M (q)1 Kpq + Kv q
R. Kelly, V. Santiba
nez and A. Loria
235
Ki g(q d)
q =
IR3n .
0
q
0
This equilibrium may be translated to the origin (via change of variable)
z = Ki1g(q d) .
R. Kelly, V. Santiba
nez and A. Loria
236
z
q
d
.
q
q =
dt
q g(q)]
M (q)1 [Kpq Kv q + Kiz + g(q d) C(q, q)
q
(25)
Above equation is autonomous and its unique equilibrium is the origin
T T T T
z q q
= 0 IR3n.
R. Kelly, V. Santiba
nez and A. Loria
237
w
I
q = 0
q
0
R. Kelly, V. Santiba
nez and A. Loria
I
I
0
0
z
with > 0.
0q
I
q
238
d
q =
dt
q
q
q
q
M (q)
Kp
1
Ki
R. Kelly, V. Santiba
nez and A. Loria
q Kv q +
1
Ki w
q g(q)
+ g(q d) C(q, q)
(26)
239
T T
{K
}
k
Max {M }
min
p
g
and moreover
min{Kp} > kg ,
then, the set-point control objective is achieved locally.
R. Kelly, V. Santiba
nez and A. Loria
240
w) =
V (
q , q,
1
Ki
w
w
0
0
1
M (q) q
q 0
Kv
2
0
M (q)
M (q)
q
q
1
1 T
+ q Kp Ki q + U(q d q ) U(q d) + q T g(q d)
2
>
.
2
min{Kp} kg
Max {M }
R. Kelly, V. Santiba
nez and A. Loria
241
k
qk
w)
V (
q , q,
kqk
T
Q11
0
Q22(q)
k
qk
kqk
where
Q11 = [min{Kp} kg ] Max{Ki},
.
= min{Kv } [Max{M } + kC1 kqk]
Q22(q)
R. Kelly, V. Santiba
nez and A. Loria
242
w IRn
D := q , q,
:
q
<
q
w) is negative semidefinite.
on which V (
q , q,
Therefore, according with Theorem 2.2, the origin of the closed loop
equation (26), is a stable equilibrium.
R. Kelly, V. Santiba
nez and A. Loria
243
Asymptotic stability
We may use La Salles theorem (Theorem 2.7).
The set is given by
n
o
3n
=
x IR : V (x) = 0
w) = 0
q , q,
=
x = q IR3n : V (
q
= 0 IRn, q = 0 IRn} .
= {w IRn, q
T T
? w(0)
= 0 IR3n is the only initial condition in
q (0) q(0)
for which x(t) for all t 0.
? We conclude that the origin is locally asymptotically stable.
T
R. Kelly, V. Santiba
nez and A. Loria
244
Tuning procedure
The preceding stability analysis allows to extract a simple tuning procedure.
Max{Ki} min{Ki} > 0
Max{Kp} min{Kp} > kg
Max{Ki}
Max2{M }
.
Max{Kv } min{Kv } >
min{Kp} kg min{M }
It requires the knowledge of the structure of M (q) and g(q).
Nonetheless, it is sufficient to have upper bounds on Max{M (q)}
and kg , and a lower bound for min{M (q)}.
R. Kelly, V. Santiba
nez and A. Loria
245
Example 9.2
Consider the 2-DOF prototype robot showed in Figure 63.
y
g
Link 1
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
R. Kelly, V. Santiba
nez and A. Loria
246
2
m1lc1
m2 l12
2
M12(q) = m2 lc2
+ l1lc2
2
M21(q) = m2 lc2
+ l1lc2
2
lc2
+ 2l1lc2 cos(q2) + I1 + I2
cos(q2) + I2
cos(q2) + I2
2
M22(q) = m2lc2
+ I2 .
R. Kelly, V. Santiba
nez and A. Loria
247
248
R. Kelly, V. Santiba
nez and A. Loria
249
0.4
0.3
0.2
0.1
0.0
[rad]
...
...
...
...
...
... q
..........................
...................1
............
...
............q
....2...............................................................................................................................................................................
.
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .. ... .... . .... ...............................................................
0.1
0.0
12.5
25.0
37.5
50.0
t [sec]
250
0.4
0.3
0.2
0.1
0.0
[rad]
.....
...
... q
... 1
...
...
....
..
..... q
.....2 ...........
........
.....
..... ..... .............................................................................................................................................................................................................................
0.1
0.0
0.5
1.0
1.5
2.0
t [sec]
251
Part III
TRACKING CONTROL
R. Kelly, V. Santiba
nez and A. Loria
252
Introduction
Introduction
T T
gives
q
q
d
=
dt
q g(q)]
q
M (q)1 [ (t) C(q, q)
R. Kelly, V. Santiba
nez and A. Loria
253
Introduction
where
M (q) IRnn is the inertia matrix,
q IRn is the vector of centrifugal and Coriolis forces,
C(q, q)
g(q) IRn is el vector of gravitational forces and torques and
IRn is a vector of external forces and torques applied at the joints.
q IRn denote the position, velocity and joint
The vectors q, q,
acceleration respectively.
R. Kelly, V. Santiba
nez and A. Loria
254
Introduction
where
IRn stands for the joint position errors vector
q
q (t) := q d(t) q(t) ,
255
Introduction
CONTROLLER
ROBOT
q
q
R. Kelly, V. Santiba
nez and A. Loria
256
Introduction
Figure 67:
Tracking
representation.
R. Kelly, V. Santiba
nez and A. Loria
CONTROLLER
+
ROBOT
control
closed-loop
system:
Input-output
257
Introduction
R. Kelly, V. Santiba
nez and A. Loria
258
Introduction
R. Kelly, V. Santiba
nez and A. Loria
259
In this chapter we study two controllers that do not present explicitly the
linear PD term
Computedtorque control,
Computedtorque+ control.
R. Kelly, V. Santiba
nez and A. Loria
260
Computed-torque control
g(q)
q d
Kv
q d
M (q)
Kp
ROBOT
q
q
C(q, q)
qd
(27)
261
d + Kv q + Kpq .
M (q)
q = M (q) q
Above equation reduces to
q + Kv q + Kpq = 0
h
q
q
0
d
=
=
dt
q
Kpq Kv q
Kp
q
I
,
Kv
q
i
T T
as
(28)
262
R. Kelly, V. Santiba
nez and A. Loria
i
T T
= 0 IR2n.
263
Consider next
the globally positive definite Lyapunov function candidate
V (
q , q ) =
q
q
K + Kv I
1 p
2
I
I
q
q
i 1
iTh
1h
T
2
(29)
q + q Kp + Kv I q
q +
q q +
2
2
264
V (
q , q ) = q [Kv I] q
q TKpq
T
q
0
Kp
q
.
=
q
0
Kv I
q
(30)
? V (
q , q ) in (30) is globally negative definite.
R. Kelly, V. Santiba
nez and A. Loria
265
i
T T
= 0 IR2n is
lim q (t) = 0
lim q (t) = 0 .
R. Kelly, V. Santiba
nez and A. Loria
Kp
2
2
= diag 1 , , n
Kv
266
Example 10.2
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
267
[rad]
q
1.5
1.0
0.5
0.0
......d2
......
......
......
... .....
.. .....
.. .....
.. .....
.
.
.
qd1....... ..... ..... ... ........
.. ..... ..... ....... ..... .....
.
.
.
.
.
.
.
.
.
.
... ... . . .... . .. ... ... .. ..... .....
... . ...
... ..... ... ... ..... ........ ....... ... .......... ...... .... ..... ... ... ..... ......
.. ..... .. ... .. ... ..... .. ............... ..... ............ ..... ... ........
......
......
.................... ........ ..... ........
.....
......
..
............ ..... .... .... .... .... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..
10
t [sec]
268
qd1
qd2
2.0 t3
b1[1 e
b2[1 e2.0
2.0 t3
] + c1[1 e
] + c2[1 e2.0
] sin(1t)
] sin(2t)
[rad]
where
? b1 = /4 [rad], c1 = /9 [rad] and 1 = 4 [rad/sec], and
? b2 = /3 [rad], c2 = /6 [rad] and 2 = 3 [rad/sec].
q d(t) and q d(t), were analytically found, and they correspond to
Equations (14) and (15), respectively.
R. Kelly, V. Santiba
nez and A. Loria
269
R. Kelly, V. Santiba
nez and A. Loria
270
[rad]
0.02
0.01
0.00
0.01
q
...
.
........
.......
....1
................. ... ....................... .... .................................... . .................... .... ....................... ..... ......
............................................... ........ ..... ............ ...... ........ ..................................................... ............. .............. .... ..
..... .. ................ ................ ..... ....... ....... .. .............. ..
..........
............
............
..........
........
q2
0.02
0
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
271
Computed-torque+ control
g(q)
M (q)
q d
1
p+
ROBOT
q
q
C(q, q)
Kv
Kp
p
p+
q d
qd
272
d + Kv q + Kpq + C(q, q)
= M (q) q
(31)
where
Kv and Kp are symmetric positive definite design matrices,
IRn is obtained by filtering the errors of position q and velocity q ,
that is,
i
b h
bp
Kv q + Kpq ,
(32)
q
=
p+
p+
? p is the differential operator (i.e., p :=
? , b are positive design constants.
R. Kelly, V. Santiba
nez and A. Loria
d
dt )
273
I
0
1
Kp Kv
d 1
+
=
dt
2
2
0 I
q
0
I
q
1
= [ I I ] [ 0 I ]
2
q
(33)
(34)
R. Kelly, V. Santiba
nez and A. Loria
274
h
i
1
q M (q) C(q, q)
1 + 2 + q Kv q Kpq
d
,
=
dt
1 + Kpq + Kv q
2
2 q
h
the origin q
R. Kelly, V. Santiba
nez and A. Loria
T1
T2
iT
(35)
275
The study of global asymptotic stability of the origin of the closed loop
equation (35)
is actually an open problem.
Nevertheless, using Lemma 2.2 and Corollary A.2 we will show that
the functions q (t), q (t) and (t) are bounded, and
that the motion control objective is verified.
R. Kelly, V. Santiba
nez and A. Loria
276
R. Kelly, V. Santiba
nez and A. Loria
277
We conclude
? Ln Ln2
? and
2V ((0), q (0)) 2t
e
(t)T(t)
.
| {z }
2
k (t)k
This means that that (t) 0 exponentially.
R. Kelly, V. Santiba
nez and A. Loria
278
Example 10.3
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
279
[rad]
q
1.5
1.0
0.5
0.0
..... d2
......
......
......
... .....
.. .....
.. .....
.. .....
.
.
.
....... ..... ....... ..... .....
qd1........ ...... ...... ... .........
.
.
.
.
.
.
.
... .. . . .... . .. ... ... .. ...... ..... .
... . ...
... ..... ... ... ..... ....... ........ ... .......... ...... ..... ..... ... ... .... .......
.. ..... .. ... .. ... .... .. ........ ...... .... ........ ... ..... ... .....
....... ...
........
...... ..
..................... ......... ...... .........
......
...
........... ..... .... .... .... .... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..
10
t [sec]
280
281
[rad]
0.02
0.01
0.00
0.01
q. ... ......... ..
...... ...... ..........
.......... .......1
..... ...
. .. . .
.
.
.
.
.
.
..... ..... . .......... ........ ... .......... ................ ....................................... ....... ............ ....... ... ....
........................................... ....... ..... ............ .... ....... ..... ............ .................... ..... ...... ............... .... ..
.... . ............... .............. .... ....... ....... .. ............... ..
..........
............
...........
...........
........
q2
0.02
0
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
282
We present two controllers whose control laws are based on the dynamic
equations of the system but which also involve certain nonlinearities that
are evaluated along the desired trajectories.
PD control with compensation
PD+ control.
R. Kelly, V. Santiba
nez and A. Loria
283
M (q)
ROBOT
q
q
Kp
Kv
C(q, q)
q d
qd
(36)
284
i
T T
as
q
q
d
,
h
h
ii
=
dt
q +
M (q)1 Kpq Kv q C(q, q)
q q
q
It is non-autonomous and
iT
h
T
= 0 IR2n as an equilibrium point.
has the origin q T q
R. Kelly, V. Santiba
nez and A. Loria
285
R. Kelly, V. Santiba
nez and A. Loria
(37)
286
which is equivalent to
1
V (t, q , q ) =
2
q
q
T
|
I
0 I
Kp
0
0 M (q)
{z
B T AB
I 0
I
}
q
q
It is easy to see
i
h
1
T
2
qk
V (t, q , q ) Min{B AB} kq k + k
2
It is positive definite (because Kp > 0, Kv > 0 and hence B T AB > 0)
and radially unbounded.
R. Kelly, V. Santiba
nez and A. Loria
287
R. Kelly, V. Santiba
nez and A. Loria
288
V (t, q , q ) = q Kv q q TTKv
q
T T
Kv 0
q
q
.
=
0
Kv
q
q
R. Kelly, V. Santiba
nez and A. Loria
289
Example 11.1
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
290
[rad]
q
1.5
1.0
0.5
0.0
......d2
......
......
.....
... ....
.. ....
.. .....
.. .....
.
.
.
qd1......... ...... ...... .... .......... .......... ..... ......... ...... ......
. .
.
..
. .
.
.
..... .. ..... .... ... .. .. ...... .... ... ... .. ..... ....
... ..... ... ... ..... ........ ....... ... .......... ...... ..... ..... ... ... ..... ........
... ..... .. ... .. ....
.. .... .. ... .. ... ...... .. .............
...... ...
...... ..
....
.................... ...... .... ......
....
...
............ ..... .... .... .... .... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
291
qd1
qd2
2.0 t3
b1[1 e
b2[1 e2.0
2.0 t3
] + c1[1 e
] + c2[1 e2.0
] sin(1t)
] sin(2t)
[rad]
where
? b1 = /4 [rad], c1 = /9 [rad] and 1 = 4 [rad/sec], and
? b2 = /3 [rad], c2 = /6 [rad] and 2 = 3 [rad/sec].
q d(t) and q d(t), were analytically found, and they correspond to
Equations (14) and (15), respectively.
R. Kelly, V. Santiba
nez and A. Loria
292
R. Kelly, V. Santiba
nez and A. Loria
293
0.02
0.01
0.00
0.01
[rad]
q
1
........ ......
...
...
....
.....
....
.... ......... ..... ....
................... .... ............... ...... ..... .............. ......
...... ...
.... ... .. ... .... ... .. ....... .. .... ... .................... ... ........... ....... ... .....
.... ..... ......................... ........ ......... ..... ............... ..... ....... ........ ............ ............... ....... ..... ...................... .... ...
.... . ............ ..... ......... ..... ..............
............. ...... ............ .....
...........
...........
.......
..........
..........
q2
0.02
0
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
294
PD+ control
g(q)
q d
q d
qd
M (q)
C(q, q)
Kv
ROBOT
q
q
Kp
(38)
295
q
q
d
h
i.
=
dt
, q d q )q
M (q d q )1 Kpq Kv q C(q d q
q
Nonlinear nonautonomous differential equation
h
R. Kelly, V. Santiba
nez and A. Loria
i
T T
= 0 IR2n.
296
V (t, q , q ) =
z
T
K
q
1 p
2
0
q
P
}|
{
0
q
M (q d q )
q
1 T
1
q M (q)q + q TKpq ,
2
2
(39)
R. Kelly, V. Santiba
nez and A. Loria
297
Q
T z}|{
q Kv q
T
0
q
=
0
q
0
q
0
Kv
q
298
Example 11.3
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
299
[rad]
q
...
...
...
... d2
... ...
... ...
... ...
.... .....
... .....
... .....
... .....
.. ...
qd1...... ... ..... .. ......
.. ..... ... ...... ... .....
...... ... ........ ........ ..... ... ... .......... ...... ..... ..... ... ........ ........
.. ... .. .. ... ..... .... .. ...... .... ... ... .. .. ... .....
... ............. ..... ... ............... ... ............... ..... ............ ..... ... .......
......
.....
.....
.....
.....
..............
......
..
............ ..... .... .... .... .... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..
0
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
300
R. Kelly, V. Santiba
nez and A. Loria
301
0.02
0.01
0.00
0.01
[rad]
q
.
..... ..
.... ..
.... ...
.... .. .... .1
.... ..
.... ..
.
..................... ................ . ................... .................... ................... ................... ....................
....... ....... .. ................... .. . .... .................. .... ..................... .. .................... .. ....
.
.
. .
.
..
.... ..... ................................................. ..... ...................... ....... ....... ........... ................. ........................... ...... ............................ .... ......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....... . .............. ........... ..... ............. ............. . .............. ...
....................... ......... .. ...............
............. .......... .. .................... ... ...................
..... q
..... .
.....
...
.....
...
....
..
..
..
.
2 .
.
0.02
0
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
302
V (t, q , q ) =
T
Kp
q
1
0
2
q
k M (q)
1+kq
= W (t, q , q ) +
0
M
(q)
q
k
1+kq
M (q)
(40)
q
0
q T M (q)q
1 + k
qk
| {z }
(
q)
T
where W (t, q , q ) = 12 q M (q)q + 12 q TKpq is the Lyapunov function
(39).
R. Kelly, V. Santiba
nez and A. Loria
303
The
s positive constant 0 is chosen so as to satisfy simultaneously
min{Kp}
> 0 > 0
Max{M (q)}
min{Kv }
> 0 > 0
2 > 0 > 0
(Max{Kv } + kC1 kq dkMax)
This, implies that the matrix Kp 2M (q) > 0
The function (40) may be rewritten as
h
h
iT
i 1
1
T
2
+
V (t, q , q ) = q
q M (q) q +
q + q Kp M (q) q
2
2
which is positive definite since so is M (q) as well as Kp 2M (q).
R. Kelly, V. Santiba
nez and A. Loria
304
q k
1
k
V (t, q , q )
2
q
#T
0 Max{M }
Max{Kp}
0 Max{M }
Max{M }
"
q k
k
, (41)
q
The matrix on the right hand side of inequality (41) is positive definite
in view of the condition on 0,
s
Max{Kp}
> 0 > 0
Max{M (q)}
q IRn
305
T
T
T
q
V (
q , q ) = q Kv q + (
q )q M (q)q + (
q )q C(q, q)
{z
}
|
a(
q , q )
h
i
T
+ Kv q + (
(
q )
q Kpq
q )
q TM (q)q .
{z
}
|
)
b(
q, q
R. Kelly, V. Santiba
nez and A. Loria
306
k
qk
k
qk
V (t, q , q )
Q
q
q
|
{z
}
h(k
q k , kq k)
2
1
[min{Kv }20 (kC1 + 2Max{M })]
q
,
{z
}
2|
R. Kelly, V. Santiba
nez and A. Loria
307
Q=
min{Kp}
12
q
Thus, using Theorem 2.4 we conclude that the origin q
T
i
T T
=0
R. Kelly, V. Santiba
nez and A. Loria
308
309
Feedforward control
q d
M (q d )
C(q d , q d )
g(q d )
ROBOT
q
q
q d
qd
R. Kelly, V. Santiba
nez and A. Loria
(42)
310
q
q
d
,
=
dt
q d + Cdq d C q + g d g]
q
M 1 [(Md M )
where
Cd = C(q d, q d)
M = M (q), Md = M (q d), C = C(q, q),
g = g(q) and g d = g(q d).
h
i
T T
The origin q q
= 0 IR2n is an equilibrium point of the previous
equation but in general, it is not the only one.
T
R. Kelly, V. Santiba
nez and A. Loria
311
Example 12.3
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
312
[rad]
q
... d2
...
...
...
.... .....
... ...
... ...
... ...
.. ...
... .....
... .....
... .....
qd1....... ... ..... .. ......
.. ..... ... ...... ... .....
...... ... ........ ....... ..... ... ... .......... ...... ..... ..... ... ........ ....... .
.. .... .. .. ... ...... ..... .. ...... .... ..... ..... ... ... ..... ........
... ..... ... .. .. ...
... ............ ..... ... .............. ... ...............
...... ..
..... .
.....
.....
.....
...............
....
..
............ ..... .... .... .... .... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..
0
10
t [sec]
313
[rad]
2.0
1.5
1.0
0.5
0.0
0.5
.........
..........
..........
... .....
... ....
... ....
.. ...
...
...
...
...
.
..
... ...
... ...
.
...
... ...
.
.
.......... ...
... .
... .
...
... ..
.
.
.. .... ...
.......
.......
....
.......
.
.
..
..
....
......
.....
......
.....
.
.
.
.
.
.
.
.
.
.....q
.
.
.
.
.
.
.
.
1 ..
..... .......... ...... .... ... .... ... ..... ... .... ... .... ...
..... ..... ..... .... ..... ....... ..... ....... ..... ....... ............ ..... ...... ....... ..... .................. ..... ....... ....... ..... ..
......
......
.......
... .
......
....
q2..............
10
t [sec]
314
M (q d )
C(q d , q d )
g(q d )
Kv
ROBOT
q
q
Kp
q d
qd
315
q
d
h
i,
=
dt
q h(
M (q)1 Kpq Kv q C(q, q)
q , q )
(43)
316
q , 0) = 0 .
where q IRn is a solution of Kpq + h(
It always is satisfied by the trivial solution q = 0 IRn
317
q d kM +
kh(x, 0) h(y, 0)k kg + kM k
R. Kelly, V. Santiba
nez and A. Loria
2
kC2 kq dkM
kx yk .
318
We get that
i
h
1
2
kg + kM k
q dkM + kC2 kq dkM kx yk .
kk(x) k(y)k
min {Kp}
Invoking the contraction mapping theorem, we conclude that
2
R. Kelly, V. Santiba
nez and A. Loria
319
R. Kelly, V. Santiba
nez and A. Loria
"
[2 a + kh2]
+ kh2
4 [min{Kv } kh1 b]
320
so that
2 2
2 1 Max {M }
Max{Kp} min{Kp} >
min{M }
(44)
R. Kelly, V. Santiba
nez and A. Loria
321
(45)
tanh(x1)
..
tanh(x) =
tanh(xn)
with x IRn.
R. Kelly, V. Santiba
nez and A. Loria
322
q k
1
k
V (t, q , q )
2
q
#T
1 Max{M }
min{Kp}
1 Max{M }
min{M }
"
q k
k
q
R. Kelly, V. Santiba
nez and A. Loria
2
2 1
2Max{M }
.
min{M }
323
k
q k
1
V (t, q , q )
2
q
#T
Max{Kp}
1 Max{M }
1 Max{M }
Max{M }
"
k
q k
q
whose right hand side is positive definite and radially unbounded since
the condition
Max{Kp} > 212 Max{M },
is satisfied under hypothesis (44) on Kp.
This means that V (t, q , q ) is decrescent.
R. Kelly, V. Santiba
nez and A. Loria
324
Time derivative.
The time derivative of the Lyapunov function candidate yields
T
T
, q ) = q Kv q
q
Sech2(
V (t, q
q )T M (q)q tanh(
q )T Kpq
T q
tanh(
q )T Kv q + tanh(
q )T C(q, q)
T
q , q ) tanh(
q )T h(
q , q ) .
q h(
R. Kelly, V. Santiba
nez and A. Loria
325
kqk
a 1 k2h2
|
1 kh2
2
#
a
ktanh(
q )k
1
kqk
[min {Kv } kh1] b
{z
}
R()
? where
1
[Max{Kv } + kC1 kq dkM + kh1] ,
2
b = 4 Max{M } + 2 kC1 .
a =
326
Computation of k
q dkMax, kq dkMax from the specification of a given task
to the robot.
R. Kelly, V. Santiba
nez and A. Loria
327
q d kM +
s1 = kg + kM k
and
2
kC2 kq dkM
0
s2 = 2 k0 + kM
k
q d kM +
2
kC1 kq dkM
328
a =
where 2 =
n, 4 = 1.
R. Kelly, V. Santiba
nez and A. Loria
329
Select > 0 and determine the design matrices Kp and Kv so that their
smallest eigenvalues satisfy
? min{Kv } > kh1"+ b,
[2 a + kh2]
+ kh2 ,
4 [min{Kv } kh1 b]
2 2
2 1 Max {M }
,
? min{Kp} >
min{M }
? min{Kp} > 3
with 1 = 1, 3 = 1.
R. Kelly, V. Santiba
nez and A. Loria
330
Example 12.5
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
331
2
m1lc1
m2 l12
2
M12(q) = m2 lc2
+ l1lc2
2
M21(q) = m2 lc2
+ l1lc2
2
lc2
+ 2l1lc2 cos(q2) + I1 + I2
cos(q2) + I2
cos(q2) + I2
2
M22(q) = m2lc2
+ I2 .
R. Kelly, V. Santiba
nez and A. Loria
332
are given
The elements of the centrifugal and Coriolis forces matrix C(q, q)
by
C11(q, q)
= m2l1lc2 sin(q2)q2
C12(q, q)
= m2l1lc2 sin(q2) (q1 + q2)
= m2l1lc2 sin(q2)q1
C21(q, q)
C22(q, q)
= 0.
The elements of the vector of gravitational torques g(q) are
g1(q) = (m1lc1 + m2l1)g sin(q1) + m2lc2g sin(q1 + q2)
g2(q) = m2lc2g sin(q1 + q2) .
R. Kelly, V. Santiba
nez and A. Loria
333
Using the numeric values of the constants given in Table 5.1 as well as
the formulas on Table 4.1, we get
kM
kC1
kC2
kg
= 0.0974 kg m ,
2
= 0.0487 kg m ,
2
= 0.0974 kg m ,
2
2
= 23.94 kg m /sec ,
0
kM
[N m] , and
334
Using this information and the definitions of the constants from the
tuning procedure, we get that
s1 = 25.385 [N m] ,
s2 = 22.733 [N m] ,
2
kh1 = 0.114 kg m /sec ,
kh2 = 31.834 [N m] ,
2
a = 1.614 kg m /sec ,
2
b = 0.43 kg m .
335
= diag{3} [N m sec/rad] .
R. Kelly, V. Santiba
nez and A. Loria
336
0.02
0.01
0.00
0.01
[rad]
q...1
.
.... ..
... .
.... ..
.... .
.... ..
..
.
......................... ................... .. ..................... ..................... .................... ..................... .. .....................
.. .... . ........ ..... . . .. ............. ... ............... . . ....... ..... . .. ..
....... ..... ........................................ ........... ..... .................. ...... ........ ......... ............... ................ ...... ................................... .... .......
........ .. ........ ........ .......... ... .. ... ........ ........ .......... ... .. .. ........ ......... ...
.............. ................... ................... ..... ................ ................ ..... .................... ......
..........
..... .......... ... .. ....... ..
..... .... ....... ..... ...
....
...
.....
.....
....
.
....
..... q
2
..
.
.
.
.
.
0.02
0
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
337
Part IV
ADVANCED TOPICS
R. Kelly, V. Santiba
nez and A. Loria
338
Introduction to Part IV
Introduction to Part IV
339
R. Kelly, V. Santiba
nez and A. Loria
340
341
bip
= diag
q
p + ai
d
, ai and bi are arbitrary strictly positive real constants,
? where, p = dt
for i = 1, 2, , n.
342
In this chapter we present the study of the proposed modification for the
following controllers:
PD control with gravity compensation
PD control with desired gravity compensation.
the derivative part of both controllers is no longer proportional to the
derivative of the position error q
this motivates the quotes in D in the name of the controller.
R. Kelly, V. Santiba
nez and A. Loria
343
+ Kv [q d ] + g(q)
= Kpq
x = Ax ABq
= x + Bq
where
Kp, Kv IRnn are diagonal positive definite matrices,
A = diag{ai} and B = diag{bi} and ai and bi are arbitrary real strictly
positive constants for i = 1, 2, , n.
R. Kelly, V. Santiba
nez and A. Loria
344
g(q)
Kv
q d
ROBOT
B
Kp
(pI +A)1AB
qd
R. Kelly, V. Santiba
nez and A. Loria
bip
q + g(q).
p + ai
345
A + AB
q
q
q =
dt
, q)
q]
M (q d q )1 [Kpq Kv [ B
q ] C(q d q
q
? which is an autonomous differential equation
? = x + Bq d.
iT
h
? the origin T q T q T = 0 IR3n is the unique equilibrium.
R. Kelly, V. Santiba
nez and A. Loria
346
R. Kelly, V. Santiba
nez and A. Loria
347
TKpq
V (, q , q)
= q M (q)
q + q M (q)q + q
2
h
i
.
+ [ B
q ]T Kv B 1 B q
? Using the closed loop equation we obtain
V (, q , q)
= [ B
q ]T Kv B 1A [ B
q]
T
1
Kv B A Kv A 0
BKv A 0
= q Kv A
0
0
0
q
q
q
348
Example 13.1
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
349
R. Kelly, V. Santiba
nez and A. Loria
350
Initial conditions
q1(0) = 0, q2(0) = 0
q1(0) = 0, q2(0) = 0
x1(0) = 0, x2(0) = 0 .
R. Kelly, V. Santiba
nez and A. Loria
351
In terms of the state vector of the closed loop equation, the initial state
is
b1/10
9.423
(0) b2/30 7.329
/10 0.3141
0
0
q(0)
0
0
R. Kelly, V. Santiba
nez and A. Loria
352
[rad]
.....
... q
... 1
...
....
......
.
.... q ....................
...... 2
.............................................................................................0.0587
.........................
................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...............................................
0.0151
0.1
0.0
0.5
1.0
1.5
2.0
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
353
+ Kv [q d ] + g(q d)
= Kpq
x = Ax ABq
= x + Bq
where
Kp, Kv IRnn are diagonal positive definite matrices,
A = diag{ai} and B = diag{bi} with ai and bi arbitrary real strictly
positive constants for all i = 1, 2, , n.
R. Kelly, V. Santiba
nez and A. Loria
354
g(q d )
Kv
q d
qd
Kp
ROBOT
(pI +A)1AB
355
A + AB
q
q
q =
dt
qg(q
M (q)1 [Kpq Kv [B
q]+g(q d)C(q d
q , q)
q )]
q
d
? which is an autonomous differential equation.
? = x + Bq d.
iT
h
T
T
T
? the origin q q
= 0 IR3n is the unique equilibrium
R. Kelly, V. Santiba
nez and A. Loria
356
R. Kelly, V. Santiba
nez and A. Loria
357
= q M (q)
V (, q , q)
q + q M (q)q q g(q d q ) + g(q d)T q
2
h
i
.
q ]T Kv B 1 B q
+ q TKpq + [ B
? Using the closed loop equation we obtain
T
V (, q , q)
= ( B
q ) Kv B 1A ( B
q)
R. Kelly, V. Santiba
nez and A. Loria
358
Example 13.2
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
359
kg
= n max
gi(q)
i,j,q
qj
360
R. Kelly, V. Santiba
nez and A. Loria
361
Initial conditions
q1(0) = 0, q2(0) = 0
q1(0) = 0, q2(0) = 0
x1(0) = 0, x2(0) = 0 .
R. Kelly, V. Santiba
nez and A. Loria
362
In terms of the state vector of the closed loop equation, the initial state
is
b1/10
9.423
(0) b2/30 7.329
/10 0.3141
0
0
q(0)
0
0
R. Kelly, V. Santiba
nez and A. Loria
363
[rad]
....
... q
... 1
...
...
...
.
..... q2...........
..... .....................
.........................................................................................0.0368
........
..........................
..... ..... ........................................................................................................................................................................................................................................................
0.0145
0.1
0.0
0.5
1.0
1.5
2.0
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
364
365
R. Kelly, V. Santiba
nez and A. Loria
366
(46)
where
? IRm is the m vector of parameters
? m is some known constant
? , do not necessarily correspond to the physical parameters of the
robot
R. Kelly, V. Santiba
nez and A. Loria
367
Example 14.1
Consider the example of an ideal pendulum
Dynamic model
ml2q + mgl sin(q) =
where its mass m is concentrated at the tip,
at a distance l from its axis of rotation.
We identify:
2
q, and g(q, ) = mgl sin(q).
? M (q,) = ml
ml2
? =
(assuming that both parameters are unknown)
mgl
? it is a nonlinear vectorial function of the physical parameters.
R. Kelly, V. Santiba
nez and A. Loria
368
[
q
sin(q)]
ml
mgl
=: (q, q) .
? contains nonlinear terms of the state, and
? is the vector of dynamic parameters.
Property known as
parameterization.
R. Kelly, V. Santiba
nez and A. Loria
linearity
in
the
parameters
or
linear
369
2.
R. Kelly, V. Santiba
nez and A. Loria
370
where
the nominal model or nominal part of the model is,
(q, u, v, w) = M0(q)u + C0(q, w)v + g 0(q) .
R. Kelly, V. Santiba
nez and A. Loria
371
M (q, )u+C(q,
w, )v+g(q,
)M
0(q)uC0(q, w)vg 0(q).
A particular case is when u = v = w = 0 IRn. In this scenario
g(q, ) = (q, 0, 0, 0) + g 0(q) .
R. Kelly, V. Santiba
nez and A. Loria
372
Example 14.7
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
373
Dynamic model
C11(q, q)
g1(q)
M11(q) M12(q)
C12(q, q)
=
q+
q+
C22(q, q)
M21(q) M22(q)
C21(q, q)
g2(q)
{z
}
{z
}
|
|
| {z }
)
M (q )
g (q )
C(q ,q
where
M11(q) =
2
m1lc1
m2 l12
2
M12(q) = m2 lc2
+ l1lc2
2
M21(q) = m2 lc2 + l1lc2
2
lc2
+ 2l1lc2 cos(q2) + I1 + I2
cos(q2) + I2
cos(q2) + I2
2
M22(q) = m2lc2
+ I2
C11(q, q)
= m2l1lc2 sin(q2)q2
R. Kelly, V. Santiba
nez and A. Loria
374
C12(q, q)
= m2l1lc2 sin(q2) [q1 + q2]
= m2l1lc2 sin(q2)q1
C21(q, q)
C22(q, q)
= 0
g1(q) = [m1lc1 + m2l1] g sin(q1) + m2lc2g sin(q1 + q2)
g2(q) = m2lc2g sin(q1 + q2) .
We have selected as parameters of interest,
? m2, I2 and lc2
We define the vectors
u1
u=
,
u2
R. Kelly, V. Santiba
nez and A. Loria
v=
v1
v2
w=
w1
w2
.
375
376
m2
1
= 2 = m2lc2
2
3
m2lc2
+ I2
2
m1lc1 + I1 0
M0(q) =
0
0
0 0
C0(q, w) =
0 0
m1lc1g sin(q1)
.
g 0(q) =
0
depends exclusively on the parameters of interest m2, I2 and lc2.
R. Kelly, V. Santiba
nez and A. Loria
377
378
R. Kelly, V. Santiba
nez and A. Loria
379
1(q, q,
where
Kp is the gain matrix of position
Kv is the velocity (or derivative gain).
It does not depend explicitly on the dynamic model
? In the second term u, v, w IRn depend on q, q and on q d, q d and q d.
It depends explicitly on the dynamic model
R. Kelly, V. Santiba
nez and A. Loria
380
q d, q d, q d) + M (q, )u
= 1(q, q,
where
is the vector of adaptive parameters
?
R. Kelly, V. Santiba
nez and A. Loria
381
q , q d, q d, q d) ds + (0)
(s, q, q,
where
?
?
?
?
(0)
is an arbitrary vector
in practice, we choose it as the best approximation available on .
R. Kelly, V. Santiba
nez and A. Loria
382
qd
q d
q d
q d , q
d , )
(t, q, q,
ROBOT
qd
q
q
, q d , q d , q
d ) ds
(s, q, q,
0
q , q d, q d, q d) .
(t)
= (s, q, q,
It is desirable from a practical viewpoint,
that the control law as well as the adaptation law, do not depend explicitly
.
on q
R. Kelly, V. Santiba
nez and A. Loria
383
R. Kelly, V. Santiba
nez and A. Loria
q = f t, q, q,
q d, q d, q
d,
dt
385
(47)
386
= Kpq Kv q + g(q d, )
+ g (q ),
= Kpq Kv q + g (q d)
0 d
and
= g (q )T
(t)
d
Z t
0
0
q q
1 + k
qk
ds + (0),
387
Design parameters
? Only Kp and 0 must be chosen carefully.
To that end, we start by defining Max{M }, kC1 and kg as
? Max{M (q, )} Max{M }
q IRn, IRm
)k kC1 kqk
? kC(q, q,
q, q IRn, IRm
388
smin{Kp} > kg ,
2min{Kp}
> 0 ,
2Max{M }
2min{Kv }[min{Kp} kg ]
> 0 ,
2
Max{Kv }
min{Kv }
> 0
2 [kC1 + 2Max{M }]
389
=
.
We define the parametric errors vector as:
It is introduced only for analytical purposes (not used by the controller)
It may be verified that
= g (q )
+ g (q )
g (q d)
d
d
+ g(q , ) g (q ),
= g (q d)
d
0 d
The control law may be written as
+ g(q , ) .
= Kpq Kv q + g (q d)
d
Using above control law in the robot model, we obtain
+ g(q , ) g(q, ) .
)q = Kpq Kv q + g (q d)
M (q, )
q + C(q, q,
d
R. Kelly, V. Santiba
nez and A. Loria
390
= ,
we get that
As
= g (q )T
0
q q .
1 + k
qk
From all the above we have that the closed loop equation is formed by
q
q
n
o
M (q)1 K q K q+
(q
)
C(q,
q)
q+g(q
)
g(q)
p
v
g d
q =
d
dt
g (q d) 1+ 0q q q
k k
Autonomous differential equation (the origin is an equilibrium point).
R. Kelly, V. Santiba
nez and A. Loria
391
Stability analysis
=
)
V (t, q , q,
P
}|
z
T
q
0 M (q, )
2
K
k
2
1+kq
1
q
2
M (q, )
1+0q M (q, )
k k
0
0
{
q
1 T
+ U(q, ) U(q d, ) + g(q d, ) q + q Kpq
1
{z
}
|
f (
q)
T
R. Kelly, V. Santiba
nez and A. Loria
392
? Equivalent form
=
, q,
)
V (t, q
1 T
q M (q, )q + U(q, ) U(q d, ) + g(q d, )Tq
2
1
1
0
T
+
+
q TM (q, )q
q Kpq
1 2
1 + k
qk
1 T 1
+ ,
2
R. Kelly, V. Santiba
nez and A. Loria
393
(48)
21
2 =
1 2
(49)
2min{Kp}
> 0 > 0 .
2Max{M }
(50)
394
Define as
= (k
q k) :=
0
.
1 + k
qk
R. Kelly, V. Santiba
nez and A. Loria
0
1 + k
qk
2
2
M (q, ) = Kp 2M (q, ) > 0
2
395
=
)
V (t, q , q,
1
+ U(q, ) U(q d, ) + g(q d, )Tq + q TKpq ,
1
{z
}
|
)
f (q
which is obviously a positive definite function since
M (q, ) > 0, 22 Kp 2M (q, ) > 0, > 0, and
f (
q ) is also a positive definite function (since min{Kp} > kg )
R. Kelly, V. Santiba
nez and A. Loria
396
, q,
)
V (t, q
k
qk
kqk
T z
Q
}|
min{Kp} kg
12 Max{Kv }
12 Max{Kv }
1
20 min {Kv }
1
2.
[min{Kv } 20(kC1 + 2Max{M })] kqk
{z
}
2|
R. Kelly, V. Santiba
nez and A. Loria
397
k
qk
kqk
Q is positive definite if
min{Kp} > kg
2min{Kv }(min{Kp} kg )
2Max{Kv }
> 0
R. Kelly, V. Santiba
nez and A. Loria
398
0
2
2
2
, q,
)
kqk
min{Q} k
q k + kqk
V (t, q
1 + k
qk
2
2
k
qk
2.
kqk
0min{Q}
1 + k
qk 2
It is a globally negative semidefinite function.
> 0 (globally)
)
Since moreover V (t, q , q,
the origin of the closed loop equation is stable, and
Lm .
its solutions are bounded, that is: q , q Ln and
R. Kelly, V. Santiba
nez and A. Loria
399
Because:
2
d
k
q
(t)k
(t), q(t),
V (t, q
(t))
0min{Q}
,
dt
1 + k
q (t)k
we have
V0
k
q (t)k
dt ,
1 + k
q (t)k
0min{Q}
0
R. Kelly, V. Santiba
nez and A. Loria
400
Example 15.2
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
401
Dynamic model:
C12(q, q)
M11(q) M12(q)
C11(q, q)
g (q)
=
q +
q + 1
M21(q) M22(q)
C21(q, q)
g2(q)
C22(q, q)
{z
}
{z
}
|
|
| {z }
)
M (q )
g (q )
C(q ,q
where
M11(q) =
2
m1lc1
m2 l12
2
M12(q) = m2 lc2
+ l1lc2
2
M21(q) = m2 lc2 + l1lc2
2
lc2
+ 2l1lc2 cos(q2) + I1 + I2
cos(q2) + I2
cos(q2) + I2
2
M22(q) = m2lc2
+ I2
C11(q, q)
= m2l1lc2 sin(q2)q2
R. Kelly, V. Santiba
nez and A. Loria
402
C12(q, q)
= m2l1lc2 sin(q2) [q1 + q2]
= m2l1lc2 sin(q2)q1
C21(q, q)
C22(q, q)
= 0
g1(q) = [m1lc1 + m2l1] g sin(q1) + m2lc2g sin(q1 + q2)
g2(q) = m2lc2g sin(q1 + q2) .
We consider parametric uncertainty in m2, I2 and lc2;
the numeric values of these constants are not known exactly.
Nevertheless, we assume to know their upper-bounds:
m2, I2 and lc2, that is,
m2 m2;
I2 I2 ;
lc2 lc2 .
403
m2
1
= 2 = m2lc2 .
2
3
m2lc2
+ I2
PD control with adaptive desired gravity compensation.
+ g (q )
= Kpq Kv q + g (q d)
0 d
Z t
(t)
= g (q d)T
q q ds + (0)
1 + k
qk
0
404
Vector g 0(q d)
g 0(q d) =
m1lc1g sin(qd1)
0
Matrix g (q d)
g (q d) = (q d, 0, 0, 0)
l1g sin(qd1) g sin(qd1 + qd2) 0
.
=
0
g sin(qd1 + qd2) 0
We first need to determine the numeric values of
Max{M (q, )} Max{M }
q IRn,
)k kC1 kqk
kC(q, q,
q, q IRn,
405
x1
2
x2 IR3 : |x1| m2; |x2| m2lc2; |x3| m2lc2 + I2 .
x3
Expressions for Max{M }, kC1 and kg for the case of parametric
uncertainty are:
Max{M }
2
m1lc1
m2 l12
+ 2lc2 + 3lc1lc2 + I1 + I2
kC1 n2m2l1lc2
kg n m1lc1 + m2l1 + m2lc2 g .
R. Kelly, V. Santiba
nez and A. Loria
406
[kg]
2
kg m
[m],
R. Kelly, V. Santiba
nez and A. Loria
= 28.99
2
kg m
2
kg m
2
2
kg m /sec .
407
408
2min{Kp}
2Max{M }
= 0.561
2min{Kv }[min{Kp} kg ]
2Max{Kv }
= 0.124
min{Kv }
2 [kC1 + 2Max{M }]
= 1.448
409
to be: (0)
= 0.
In summary, the control law may be written as
1 = kpq1 kv q1 + l1g sin(qd1)1 + g sin(qd1 + qd2)2
+ m1lc1g sin(qd1)
2 = kpq2 kv q2 + g sin(qd1 + qd2)2 .
Notice that the control law does not depend on 3.
R. Kelly, V. Santiba
nez and A. Loria
410
Consequently, the adaptation law only has the following two components:
Z t
0
q1 q1 ds + 1(0)
1(t) = l1g sin(qd1)
1 + k
qk
0
Z t
0
411
[rad] .
In terms of the state vector of the closed loop equation, the initial state
is
0.3141
/10
q (0)
/30 0.1047
[rad] .
=
=
0 0
q(0)
0
0
R. Kelly, V. Santiba
nez and A. Loria
412
0.4
[rad]
0.3
.....
.... q1
.....
......
......
....
2 .................
.........q
.
............
.................. ...............................
.............................................................................................
..... ..... ..... ..... ..... ..... ..... ..... ..... .....
..........................
........................................
0.2
0.1
0.0
0.1
0.0
12.5
25.0
37.5
50.0
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
413
1
3.2902
......................................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
........
................................................................................................................................................................0.1648
............................
.
.
.
.
.
.
.
.
2 ........
...
.....
.
.
.
.
....
...
0.0
12.5
25.0
37.5
50.0
t [sec]
(t)
3.2902
m2
2.0458
lim 1
=
1 =
=
.
0.1648
0.047
t 2(t)
2
m2lc2
In general, the parameters do not converge to their true values (persistency
of excitation is not verified)
R. Kelly, V. Santiba
nez and A. Loria
414
If instead of limiting the value of 0 we use the same gains as for the
latter controllers, the performance is improved.
0.4
0.3
0.2
0.1
0.0
[rad]
....
... q
... 1
...
....
.....
..
... q .........
..........2
.......... ................
.....
......
..... ..... ..... ..... .........................................................................................................................................................................
0.1
0.0
0.5
1.0
1.5
2.0
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
415
Kv
30
0
7
0
500
0
0
30
0
3
10
10
[Nm / rad] ,
R. Kelly, V. Santiba
nez and A. Loria
416
10.0
7.5
5.0
2.5
0.0
2.5
5.0
7.5
10.0
.....
........
.. ....
.
....................................................0.1942
..........................
........................................................................................2
... ..
.....
.
0.0
0.5
1.0
1.5
2.0
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
417
418
R. Kelly, V. Santiba
nez and A. Loria
419
IRm, we obtain
For any vector
h
i
=
q + q + C(q, q,
[q +
)
q ] + g(q, )
M (q, )
d
d
h
i
+ M0(q) q + q
q , q)
(q, q d + q , q d +
d
[q d +
q ] + g 0(q) .
+C0(q, q)
(51)
where we defined
u = q d + q
q
v = q d +
w = q .
.
d + q , q d +
q , q)
In the sequel we use the abbreviation: = (q, q
R. Kelly, V. Santiba
nez and A. Loria
420
+g(q, )
(52)
+ M0(q) q
[q d +
d + q + C0(q, q)
q]
= Kpq + Kv q +
(53)
+g 0(q),
and
=
(t)
T q +
q
ds + (0),
421
=
.
We define the parametric errors vector as:
Introduced only with analytic purposes (it is not used by the controller).
is unknown since it is a function of .
It may be verified that
=
+
h
i
+ M (q, ) q + q + C(q, q,
) [q d +
=
q ] + g(q, )
d
h
i
[q d +
q ] g 0(q)
M0(q) q d + q C0(q, q)
R. Kelly, V. Santiba
nez and A. Loria
422
= Kpq + Kv q +
i
h
) [q d +
q ] + g(q, ) .
+M (q, ) q d + q + C(q, q,
Now the robot model can be expressed as:
h
i
h
i
.
) q +
M (q, ) q + q + C(q, q,
q = Kpq Kv q
Considering these facts we have that
h
i
T
= q +
q .
R. Kelly, V. Santiba
nez and A. Loria
423
q
q
h
h
ii
d
1
) q +
Kpq Kv q C(q, q,
q q
q = M (q, )
dt
h
i
q
T q +
R. Kelly, V. Santiba
nez and A. Loria
424
Stability analysis
V (t, q , q , ) = q
M (q, )
M (q, )
0
0
q
0
0
q .
Kpq + .
V (t, q , q , ) = q +
q M (q, ) q +
q +q
2
2
R. Kelly, V. Santiba
nez and A. Loria
425
h
h
iT
i
iT
i 1h
+
q +
q M (q, ) q + q + q +
q
q M (q, ) q
2
T 1
T
.
+ 2
q Kpq +
=
V (t, q , q , )
It may be reduced to
= q TKv q q TTKv
V (t, q , q , )
q
426
R. Kelly, V. Santiba
nez and A. Loria
427
Because
d
V0
T
min{ Kv }
k
q (t)k dt
R. Kelly, V. Santiba
nez and A. Loria
428
Example 16.3
l1
lc1
x
I1 m1
Link 2
m2
I2
q1
q2
lc2
l2
429
Dynamic model:
M11(q) M12(q)
C11(q, q)
g (q)
C12(q, q)
=
q +
q + 1
C22(q, q)
M21(q) M22(q)
C21(q, q)
g2(q)
{z
}
{z
}
|
|
| {z }
)
M (q )
g (q )
C(q ,q
where
M11(q) =
2
m1lc1
m2 l12
2
M12(q) = m2 lc2
+ l1lc2
2
M21(q) = m2 lc2 + l1lc2
2
lc2
+ 2l1lc2 cos(q2) + I1 + I2
cos(q2) + I2
cos(q2) + I2
2
M22(q) = m2lc2
+ I2
R. Kelly, V. Santiba
nez and A. Loria
430
C11(q, q)
= m2l1lc2 sin(q2)q2
C12(q, q)
= m2l1lc2 sin(q2) [q1 + q2]
= m2l1lc2 sin(q2)q1
C21(q, q)
C22(q, q)
= 0
g1(q) = [m1lc1 + m2l1] g sin(q1) + m2lc2g sin(q1 + q2)
g2(q) = m2lc2g sin(q1 + q2) .
431
432
21 = 0
22 = l1 cos(q2)u1 + l1 sin(q2)w1v1 + g sin(q1 + q2)
23 = u1 + u2
m2
2.0458
1
= 2 = m2lc2 = 0.047
2
0.0126
3
m2lc2
+ I2
2
m1lc1 + I1 0
M0(q) =
0
0
0 0
C0(q, w) =
0 0
m1lc1g sin(q1)
.
g 0(q) =
0
R. Kelly, V. Santiba
nez and A. Loria
433
Particularly:
i
) [q d +
q ] + g(q, ) =
M (q, ) q d + q + C(q, q,
h
i
d + q + g 0(q),
+ M0(q) q
where
u1
q + 11q1 + 12q2
u = q d + q =
= d1
u2
qd2 + 21q 1 + 22q 2
v1
qd1 + 11q1 + 12q2
q=
v = q d +
=
v2
qd2 + 21q1 + 22q2
q
w1
= 1 .
w = q =
w2
q2
R. Kelly, V. Santiba
nez and A. Loria
434
11
+
= Kpq + Kv q
21
+
2
(m1lc1
12
22
1
13
2
23
3
+ I1)u1
m1lc1g sin(q1)
,
+
0
0
11[v1 q1]
Z t
1(t)
[v
]
+
[v
]
=
ds
+
12
1
1
22
2
2
2(t)
0
13[v1 q1] + 23[v2 q2]
3(t)
R. Kelly, V. Santiba
nez and A. Loria
1(0)
.
2(0)
3(0)
435
Where,
Kp = diag{200, 150} [N m / rad] ,
= diag{3} [N m sec / rad] ,
2
2
2
2
2
= diag{1.6 kg sec /m , 0.004 kg sec , 0.004 kg m sec },
11 12
:= Kv1Kp = diag{66.6, 50} [1/[sec]].
and therefore, =
21 22
Kv
R. Kelly, V. Santiba
nez and A. Loria
436
0.02
0.01
0.00
0.01
[rad]
......... .... q
... ..... ... ..... 1
. ... . . .
........ ............ ................... .......... ....................... .................... ........................ ..........
.
... .... .. ... .... .. ....... .. .... .... .... ....... .. ... .... .... .. ....
.... ..... ....... ................. ....... .... ........ .... ..... ...... ....... ............ ............... ..... ..... ...... ............ ..... ....
........... ... ...... ..... .... .... ... ........ ........ ... ..... ... ........ .......
... .......... ... ..... .........
......... ........... ......... ................
q2
..
..
0.02
0
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
437
3.0
2.5
2.0
1.5
1.0
0.5
0.0
1
.
.
......
.......
.......
..
.......
.....
... ..... ... ..... .... ..... ... ..... ... ..... ...
.... ..
.... ..
.... ..
.... ..
.. ....... ...
....
....
.....
.....
..
...
..
..
...
...
.. ..
.
.. .. ... ... .............................................
.
.
....2
..............................................................................
............. .... ..... ....
3
0
2
4
6
8
10
t [sec]
R. Kelly, V. Santiba
nez and A. Loria
438
R. Kelly, V. Santiba
nez and A. Loria
439
http://www.springer.com/978-1-85233-994-4