Cours Robotique 2014 PDF
Cours Robotique 2014 PDF
Cours Robotique 2014 PDF
Cours de
Mod
elisation des Syst`
emes Robotiques
Ph. Bidaud - Philippe.Bidaud@upmc
Universite Pierre et Marie Curie
Objectifs du cours
Ce cours vise a` fournir des methodes de modelisation des syst`emes robotiques pour leur
commande ainsi que pour lanalyse de leurs performances. On sinteresse dans ce cours a`
plusieurs types de syst`emes : des bras de manipulation, des robots mobiles mais aussi a`
des syst`emes presentant des architectures particuli`eres comme les plates-formes de simulation, les robots humanoides, les mains articulees, etc ...
Plan du cours
1. Introduction a` la robotique - Principes, structure des syst`emes et applications.
2. Parametrage et mecanismes - Rotations, transformations, liaisons, equations de
contrainte, mobilite, topologie.
3. Mod`ele geometrique - Parametrage de D.H. des transformations, parametrage des
syst`emes, mod`ele direct des syst`emes series, avec cycles cinematiques, et parall`eles.
4. Resolution du probl`eme geometrique inverse - syst`emes analytiques, syst`emes nonanalytiques, syst`emes parall`eles.
5. Transmission cinematique - Vitesse du solide, composition des vitesses, torseurs,
syst`emes de torseurs, mod`ele cinematique direct des syst`emes series, relations
cinematiques dans les cycles, mod`ele cinematique inverse des syst`emes parall`eles.
6. Transmission des efforts - Equilibre des syst`emes, Principes des travaux virtuels et
applications.
7. Analyse de la transmission cinematique - Singularites dans les chanes series, singularites dans les chanes fermees.
8. Resolution des mod`eles inverses - Cinematique inverse des chanes series, algorithmes de commande en position.
9. Analyse de la transmission des efforts - Syst`emes isostatiques, syst`emes hyperstatiques.
10. Dynamique des syst`emes : Mod`ele dynamique inverse des syst`emes series en mouvement libre, Mod`ele dynamique cartesien, Mod`ele dynamique des syst`emes contraints.
11. Commande en position et generation de trajectoires : Trajectoires articulaires,
trajectoires cartesiennes, commandes articulaires et commandes cartesiennes.
Contents
1 Introduction
1.1 Les Syst`emes Mecaniques Robotises . .
1.2 Composants fonctionnels . . . . . . . .
1.3 Structure dun SM commande . . . . .
1.4 Technologie des constituants . . . . . .
1.5 Exemples de probl`emes consideres dans
. . . . .
. . . . .
. . . . .
. . . . .
le cours
.
.
.
.
.
2 Elements de math
ematique
2.1 Alg`ebre des matrices . . . . . . . . . . . . . . . .
2.2 Vecteurs, torseurs et fonctions vectorielles . . . .
2.3 Syst`emes dequations lineaires . . . . . . . . . . .
2.4 Notions de groupe et dalg`ebre des groupes . . .
3 Rep
erage et M
ecanismes
3.1 Reperage dun corps . . . . . .
3.2 Les liaisons . . . . . . . . . . .
3.3 Parametrage dun syst`eme . . .
3.4 Representation topologique dun
3.5 Mobilite des mecanismes . . . .
.
.
.
.
.
.
.
.
.
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
syst`eme mecanique
. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
7
7
7
8
.
.
.
.
10
10
15
20
21
.
.
.
.
.
24
24
35
41
42
43
4 Mod`
ele g
eom
etrique des syst`
emes
4.1 Parametrage de la transformation entre 2 corps adjacents . . . . . . . . .
4.2 Parametrage dun syst`eme `a laide des DH modifies . . . . . . . . . . . .
4.3 Modele geometrique direct des syst`emes series . . . . . . . . . . . . . . .
4.4 Modele geometrique direct des syst`emes presentant une chane fermee simple
4.5 Modele geometrique direct des syst`emes parall`eles . . . . . . . . . . . . .
46
46
47
48
51
52
5 R
esolution du PGI
5.1 Syst`emes series . . . . . . . . . . . . . . .
5.2 Syst`emes parall`eles . . . . . . . . . . . . .
5.3 Identification des param`etres geometriques
5.3.1 Etalonnage des robots series . . . .
5.3.2 Etalonnage des robots parall`eles . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
55
56
63
64
64
66
6 Mod`
ele cin
ematique
6.1 Mouvement dun point . . .
6.2 Vitesse dun solide . . . . .
6.3 Composition de mouvements
6.4 Syst`eme de torseurs . . . . .
6.5 Mod`ele cinematique direct .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
67
67
68
70
71
72
80
80
. . . . .
. . . . .
relatifs
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
86
86
87
89
9 R
esolution des mod`
eles inverses
9.1 Cinematique inverse des chanes series (n = d) . . . . . . . . . . . . . . .
9.2 Syst`emes series redondants (n > m = d) . . . . . . . . . . . . . . . . . .
9.3 Algorithmes de commande en position . . . . . . . . . . . . . . . . . . .
90
90
92
94
95
95
95
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12 Mod`
ele dynamique
12.1 Equation du mouvement pour un corps seul . . . . . . . . . . . . . . . .
12.2 Obtention des equations du mouvement relatives aux param`etres q pour
un syst`eme arborescent . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.3 Equations du mouvement par application du PTV en dynamique . . . . .
12.4 Mod`ele dynamique inverse des syst`emes series . . . . . . . . . . . . . . .
12.5 Mod`ele dynamique inverse . . . . . . . . . . . . . . . . . . . . . . . . . .
12.6 Mod`ele dynamique cartesien . . . . . . . . . . . . . . . . . . . . . . . . .
12.7 Mod`ele dynamique des syst`emes contraints . . . . . . . . . . . . . . . . .
97
97
97
98
98
100
102
102
104
105
107
108
109
109
13 G
en
eration de mouvement
113
13.1 Trajectoires articulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
13.2 Trajectoires cartesiennes . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
14 Commande des mouvements
119
14.1 Commande articulaire en position . . . . . . . . . . . . . . . . . . . . . . 119
14.2 Commande par decouplage non-lineaire . . . . . . . . . . . . . . . . . . . 120
14.3 Commandes cartesiennes . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
15 Cin
ematique des syst`
emes redondants
15.1 Generateur du mouvement, noyau et leurs complements orthogonaux
reciproques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2 Definition de la redondance cinematique . . . . . . . . . . . . . . . .
15.3 Analyse du probl`eme de la redondance cinematique . . . . . . . . . .
15.4 Definition dun mod`ele geom`etrique inverse . . . . . . . . . . . . . . .
4
122
et
. .
. .
. .
. .
122
123
124
125
126
128
131
132
132
133
134
137
138
140
140
140
141
142
Introduction
1.1
Les Syst`
emes M
ecaniques Robotis
es
Les syst`emes robotiques interessent de tr`es nombreux domaines civils et militaires. Les
grands champs dapplication de la robotique sont :
1. La production manufacturi`ere (usinage, assemblage, soudure, polissage, formage,
etc . . .)
2. Les interventions en milieux hostiles (sous-marin, nucleaire, exploration planetaire,
etc . . .)
3. Les syst`emes de transport des biens et des personnes (vehicules intelligents, robots
mobiles, etc . . .)
4. Laide et lassistance aux personnes (robots personnels, aides techniques, etc . . .)
5. Les nombreux domaines de la sante (chirurgie, re-education, etc . . .)
6. Le ludique (robots jouets )
Ils prennent des formes tr`es diverses du point de vue de leur structure mecanique et de
leur commande. Plusieurs types de robots generiques sont illustres sur les figures qui
suivent.
Figure 1: Robot humanoide - Robot serie de type SCARA - Robot serie anthropomorphe
1.2
Composants fonctionnels
Les composants fonctionnels qui constituent la base dun syst`eme robotise sont :
Mecanismes: Syst`eme de corps articules disposant dune haute mobilite
Actionneurs: Generateurs dactions mecaniques pour mettre le mecanisme en mouvement
Capteurs: Mesure de letat du syst`eme mecanique et extraction dinformations
relatives a` la tache et lenvironnement dans lequel elle est realisee
Syst`eme de controle: Ensemble electronique pour la commande des actions a` partir
dinformations capteurs
Interface de programmation: Syst`eme de communication entre loperateur et la
machine ou entre les machines (Interface graphique, interface de teleoperation,
language structure, etc . . . )
1.3
Ces differents composants sont mis en ouvre dans une architecture generale dont la forme
generale est decrite sur la figure ci-dessous.
1.4
Les elements technologiques sur la base desquels les syst`emes robotiques sont elabores
peuvent etre classes plusieurs grandes categories :
Mecanismes: Corps rigides articules par des liaisons mecaniques selon differentes
topologies.
Actionneurs: Convertisseur denergie primaire en energie mecanique (actionneurs
electriques, pneumatiques, hydrauliques, piezo-electriques, AFM, electro-statiques).
Capteurs: Capteurs detat (position, vitesse, acceleration), capteurs exteroceptifs
(force, vision, telemetrie, tactile, sonores, . . . ),
7
1.5
Exemples de probl`
emes consid
er
es dans le cours
2
2.1
Elements de math
ematique
Alg`
ebre des matrices
Matrices
Une matrice a` m lignes et n colonnes (m n) est un tableau rectangulaire de m lignes
et n colonnes regroupant les coefficients dune application lineaire. Une matrice A peut
etre ecrite sous la forme :
a11
a
21
A = (aij ) =
...
am1
a12
a22
...
am2
. . . a1n
. . . a2n
...
. . . amn
...
a1n
Proprietes : (At )t = A,
a21
a22
...
a2n
(A + B)t = At + B t ,
. . . am1
. . . am2
...
. . . amn
(BA)t = At B t
cos sin
sin cos
Sa trace est 2 cos . Par consequent, si une rotation dangle inconnue a pour matrice
R par rapport a` une base, on a 2 cos = (R).
10
Matrices diagonales
Une matrice A telle que ses aij = 0 si i 6= j est une matrice diagonale. On note une telle
matrice :
A = diag ( a11 a22 , . . . )
Une matrice identite (Id ) est une matrice diagonale avec comme elements non-nuls 1.
Matrices symetriques
Une matrice est symetrique si elle est egale `a sa transposee:
A = At
i, j
aij = aji
Matrices anti-symetriques
Une matrice est anti-symetrique si elle est egale a` lopposee de sa transposee.
A = At
aij = aji aii = 0
i, j
Matrices orthogonales
Une matrice A (n n) est dite orthogonale si:
AAt = At A = Id
alors: At = At AA1 = Id A1 = A1
Proprietes: det(A) = 1, les valeurs propres sont 1 = 1, 2,3 = ei , le vecteur propre
associe a` 1 = 1 est laxe de rotation.
Les matrices de changement de base sont un exemple de matrices orthogonales.
Si p = xp x1 + yp y1 + zp z1 et P = Xp x0 + Yp y0 + Zp z0
Xp
(x1 .x0 ) (y1 .x0 ) (z1 .x0 )
xp
Y
=
(x
.y
)
(y
.y
)
(z
.y
)
p
1 0
1 0
1 0 yp
Zp
(x1 .z0 ) (y1 .z0 ) (z1 .z0 )
zp
P =Ap
Les vecteurs-colonnes de A sont orthogonaux et unitaires.
Determinant dune matrice
Le determinant dune matrice n n est le scalaire defini par :
|A| =
a11
...
...
a
n1
|A| =
X
j=1,n
a12
...
...
an2
X
aij Cij =
j=1,n
11
. . . ann
. . . . . .
. . . . . .
. . . ann
aij (1)i+j Mij
s X
a2ij
i=1,m j=1,n
Ct
|A|
Numeriquement, ce mode de calcul est peu efficace et donc pas utilise. Ct est la matrice
adjointe de A (transposee des cofacteurs Cij de A).
t
1
Proprietes : (A1 ) = (At ) ; (AB)1 = B 1 A1
Inverse generalisee (pseudo-inverse de Moore-Penrose)
La notion dinverse generalisee (ou pseudo-inverse) generalise celle dinverse dune application lineaire ou dune matrice aux cas non inversibles. En general, il ny a pas unicite
de cette inverse generalisee. Pour une matrice a` coefficients reels ou complexes non
necessairement carree, il existe une unique pseudo-inverse satisfaisant certaines conditions supplementaires appelee pseudo-inverse de Moore-Penrose. Elle peut etre calculee
de differentes mani`eres. Lorsque la marice A nest plus carree:
si A est une matrice (m n), n > m et si rg(A) = m:
t
t 1
A+
g = A (AA )
nn
A+
g A = Id R
La pseudo-inverse donne une solution approchee a` un syst`eme lineaire au sens des moindres carres :
Les solutions a` un syst`eme dequations lineaires :
Ax=b
obtenues par la pseudo-inverse seront donc telles que :
2
- si m > n, la solution approchee x = A+ b est telle que min kx A+ bk
12
S 1 AS = D
Exemple :
A=
2 1
1 2
1 = 1 2 = 3
1 0
1/2 1/2
0 3
1/2 1/2
1/ 2 1/2
1 0
2/2 2/2
A=
1/ 2 1/ 2
0 3
2/2
2/2
A=
1 1
1 1
Si A est symetrique, S 1 = S t
Decomposition LU
La decomposition LU est une methode de decomposition dune matrice en une matrice
triangulaire inferieure L et une matrice triangulaire superieure U. Cette decomposition
est utilisee pour linversion de matrices.
Si A une matrice inversible, la matrice A peut etre decomposee comme :
A = LU
1
l21
L = ..
.
ln1
1
..
.
...
ln2
et
U =
u11
u12
u22
..
.
u1n
u2n
un1,n
unn
Factorisation de Cholesky
La factorisation de Cholesky consiste pour une matrice symetrique definie positive A, `a
determiner une matrice triangulaire inferieure L telle que
A = LLt T
13
La matrice L est en quelque sorte une racine carree de A. Cette decomposition permet
notamment de calculer la matrice inverse A1 .
Decomposition en Valeurs Singuli`eres (SVD)
Considerons la matrice A Rmn , le nombre est une valeur singuli`ere pour A sil
existe un vecteur u Rm et un vecteur v Rn tels que :
At u = v
A v = u et
1rr
A = [U1 , U2 ]
0
0
0
A=
V1t
V2t
|r n
|r (n r)
i ui vit
i=1,r
i =
At A
kAuk
kuk
min = min
u6=0
kAuk
kuk
avec :
"
+
1
1 rr 0
0
0
n=
X
n=0
An
A2
An
=1+A+
+ ... +
n!
2!
n!
A d q
A =
matrice(m n k)
q dt
2.2
Vecteurs
Un vecteur `a n-dimensions est un ensemble de scalaires (ici souvent des reels):
x = (x1 , x2 , . . . , xn )t
Les xi sont les composantes du vecteur dans une base.
Un vecteur (vecteur libre) est un element dun espace vectoriel (V).
15
i ui = 0
i R
entrane i = 0 i
i=1,n
Un syst`eme de vecteurs lies est un ensemble fini de vecteurs lies (P1 , u1 ), (P2 , u2 ), . . . (Pn , un ).
Cet ensemble de vecteurs defini un champ de vecteurs lies.
Moment dun vecteur
Le moment dun vecteur lie (P, u) est le champ vectoriel defini par:
Q MQ = QP u
Le moment ne change pas si lon remplace (P, u) par un autre vecteur lie appartenant
au meme vecteur glissant par exemple (P 0 , u) :
MQ (P 0 , u) = (QP + P P 0 ) u = MQ (P, u)
Si lon consid`ere un point Q0 , on trouve :
MQ0 (P, u) = (Q0 Q + QP ) u = Q0 Q u + MQ (P, u)
Cette relation definit un champ vectoriel particulier qui est dit champ de moments
Resultante et Moment resultant
On appelle resultante dun syst`eme de vecteurs lies le vecteur libre :
X
R=
ui
i=1,n
QPi ui
i=1,n
a.b = at b = ( a1 , a2 , . . . an ) 2 = a1 b1 + . . . + an bn
...
bn
Norme Euclidienne
La norme Euclidienne dun vecteur est le reel:
(a.a)1/2 = (at a)1/2 = (a1 .a1 + a2 .a2 + . . . + an .an )1/2
16
Produit vectoriel
Le produit vectoriel de 2 vecteurs de dimension 3 dont les composantes dans la base
(i, j, k) sont : a = (a1 , a2 , a3 )t b = (b1 , b2 , b3 )t est un vecteur c orthogonal au plan forme
par les vecteurs a, b et defini par :
c = a b = a1
b1
j
a2
b2
a b = ( a2 b3 a3 b2 a3 b1 a1 b3 a1 b2 a2 b1 ) = a3
a2
a3
0
a1
a2
b1
a1 b2 = a
b
0
b3
a
est une matrice antisymetrique :
a
t =
a
Notons que si a et b sont lineairement dependant a b = a
b = 0
Le double produit vectoriel secrit :
a (b c) = (a.c)b (a.b)c
Produit mixte
Le produit mixte entre 3 vecteurs est le scalaire defini comme :
(a, b, c) = a.(b c)
Il se calcule simplement par le determinant :
(a, b, c) =
a
1
b1
c1
a2
b2
c2
a3
b3
c3
R MO
+ kR k kR
R2
17
A E 3 M1A = M2A
Somme
La somme de 2 torseurs est un torseur :
T12 = T1 + T2 = (R1 + R2 ; M1A + M2A )
Produit reciproque
Le produit reciproque (comoment) de 2 torseurs est le scalaire (independant du point o`
u
on le calcule):
T1 T2 = R1 .M2A + R2 .M1A
Derivation vectorielle
La derivee du vecteur OM (t) fixe dans Bi est le vecteur :
d xi (t)
d yi (t)
d zi (t)
d(i) OM (t)
=
xi +
yi +
zi = x i (t)xi + y i (t)yi + zi (t)zi
dt
dt
dt
dt
18
La derivee de la fonction vectorielle u(t) par rapport `a Bi , Bj etant mobile par rapport
a` Bi .
d(j) u(t)
d(i) u(t)
(i)
=
+ j u(t)
dt
dt
Differentiation dune fonction scalaire
La derivee de la fonction y = f (x) est :
f 0 (x0 ) = limxx0
f (x) f (x0 )
x x0
f
(
q)
q1
..
f (
q) =
.
f
(
q)
qn
Pour une fonction qui depend dun ensemble de variables q et du temps :(q1 , . . . , qn , t),
f = f (q1 , . . . , qn , t)
o`u les qi sont des fonctions du temps t.
df
f d q1
f d q2
f d qn f
=
+
+ ... +
+
dt
q1 dt
q2 dt
qn dt
t
d q1
dt
df
f
= ( q
1
dt
f
q2
...
f
qn
d q2
) dt
...
d qn
dt
df
f d q
=
dt
q dt
Si lon consid`ere plusieurs fonctions du meme type que la precedente:
f1 = f1 (q1 , . . . , qn )
19
f2 = f2 (q1 , . . . , qn )
... = ....................
fm = fm (q1 , . . . , qn )
t
f1
q1
f
2
q1
...
f1
q2
f2
q2
...
fm
q1
2.3
...
...
...
...
fm
q2
f1
qn
f2
qn
...
fm
qn
Syst`
emes d
equations lin
eaires
Applications lineaires
Une application f (i.e. une transformation) entre deux espaces vectoriels E et F est dite
lineaire si et seulement si :
f (u + v) = f (u) + f (v)
u, v E et, K
Pour des bases BU et BV choisies, lapplication lineaire f peut etre representee par la
matrice A (m n) :
f : x y /y = f (x)
[y]BV = A[x]BU
Le produit Ax peut
etrevu comme
une combinaison des vecteurs-colonnes de A.
2 3
1
Exemple, si A =
x=
:
4 1
2
1
2
2
4
= x1
4
1
+ x2
Generateur et noyau
Le noyau N (A) est le sous-espace vectoriel:
N (A) = {x/x Rn ; Ax = 0}
Le generateur dune application est le sous-espace vectoriel:
R(A) = {y/y Rm ; Ax = y; x Rn }
Rang dune application lineaire et dune matrice
La dimension de f = dim(Im f ) est le rang de lapplication lineaire. Si A est la matrice
associee a` f , on a:
dim(Im f ) = dim(R(A)) = rg(A)
Le rang de A est egal au nombre maximum de vecteurs-colonnes lineairement independants.
Si f est une application lineaire dun espace vectoriel E vers un autre E 0 , on a la relation
suivante :
dim(E) = dim(R(A)) + dim(N (A))
20
2.4
Les alg`ebres de Lie sont naturellement associees aux groupes de Lie. Si G est un groupe
de Lie et eg son element neutre, alors lespace tangent en eg a` G est une alg`ebre de Lie
G. Reciproquement, on peut sous certaines conditions reconstruire un groupe de Lie en
partant de son alg`ebre de Lie.
On montre que lalg`ebre de Lie des generateurs de transformations infinitesimales
peut etre associe aux transformations finies des solides. Ainsi des sous-groupes de
deplacements peuvent etre a` partir de la fonction exponentielle des alg`ebres de Lie des
torseurs.
Les relations etablies a` travers un ensemble de theor`emes entre un groupe de Lie et
son alg`ebre constitue un point essentiel. Elles permettent des deductions qui, partant
de propriete des groupes ou de sous-groupes, permettent daboutir a` des proprietes de
son alg`ebre ou des sous-alg`ebres a` travers le calcul differentiel. A linverse, il est beaucoup plus difficile de detablir par integration des proprietes (globales) sur les groupes
en remontant a` partir de lalg`ebre (de proprietes locales).
Representation adjointe
Un outil important pour letude des alg`ebres de Lie est la notion de representation par la
donnee dun espace vectoriel et dun morphisme de groupe. Tout groupe de Lie connexe G
admet une representation naturelle, appelee representation adjointe dont lintroduction
est liee a` la definition de son alg`ebre de Lie Le goupe de Lie G a ainsi sa representation
dans son propre alg`ebre qui est definie par lapplication :
AdG (h) = [g, h] = G h G1
Laction adjointe de SO(3) sur son propre alg`ebre so(3) se calcule comme 1 :
0 = R
Rt
avec :
= z
y
z
0
x
x
0
t
r1
t
r2
r3t
v
0
0
R d
0 1
v
0
Rt
0
Rt d
1
R
Rt
0
SO(3) et so(3) sont comme SE(3) et se(3) sont definis plus loin
22
R v R
Rt d
0
On peut egalement definir cette action sur les composantes du torseur associe :
0
= Ad(T )
v
R 0
dR R
Representation coadjointe
De la representation adjointe Ad on deduit naturellement une representation de G dans
lespace dual g . Par definition, cette representation coadjointe de G dans g est une
application lineaire definie par :
AdG (h ) = G1 h G
Laction coadjointe de SE(3) sur le dual de lalg`ebre de Lie se(3) (note se(3) ) est definie
a` laide de loperateur AdG sur les composantes dun torseur :
w
v
0
AdG (T )
Rt
0
d Rt
t
R
v
23
3
3.1
Rep
erage et M
ecanismes
Rep
erage dun corps
XP
xP
YP = R yP + O0 OS
ZP
zP
XP
x0 .xS
YP = y0 .xS
ZP
z0 .xS
x0 .yS
y0 .yS
z0 .yS
x0 .zS
xP
x0 .O0 OS
y0 .zS yP + y0 .O0 OS
z0 .zS
zP
z0 .O0 OS
P =Rp + d
Pour deux points P, Q S : k P Q k=k p q k
k P Q k= [(P Q)t (P Q)]1/2 = [((R p + d) (R q + d))t ((R p + d) (R q + d))]1/2
[(R (p q))t (R (p q))]1/2 =k p q k
RRt = Id
SO(n) est un groupe algebrique. SO(3) est le groupe des rotations dans R3 .
- Lelement neutre est la matrice identite Id R33 .
- Linverse R1 = Rt
- Loperation de multiplication dans ce groupe est asociative : (R1 R2 )R3 = R1 (R2 R3 )
La configuration angulaire dun corps en mouvement libre dans lespace peut etre
definie par une unique matrice de rotation R SO(3). Sa trajectoire en rotation sur
lintervalle [0, T ] est une courbe R(t) SO(3) pour t = [0, T ]
La matrice de rotation R sert egalement a` representer la transformation subit par un
point dans un deplacement de rotation. Nous introduirons plus loin differents parametrages
pour cette transformation.
Cette tranformation est une transformation rigide. Elle preserve linvariance de la distance entre deux points. Si p,q et P,Q sont les vecteurs des cooordonnees de 2 points
dun espace Euclidien E 3 apr`es :
kRq Rpk = (Rq Rp)t (Rq Rp) = (q p)t Rt R(q p) = kq pk P, Q E 3
Elle preserve egalement lorientation :
R(u v) = Ru Rv u, v R3
SO(2) est le groupe des rotations planes. Il est isomorphe au cercle S1, forme des
nombres complexes de module 1, muni de la multiplication. Cet isomorphisme lie le
nombre complexe ei = cos() + i sin() `a la matrice orthogonale
R =
cos() sin()
sin() cos()
y0
cos sin
sin cos
x
y
On a :
x0 = x cos y sin
y 0 = x sin + y cos
Ce changement de coordonnees peut etre ecrit avec des nombres complexes :
x0 + i y 0 = (cos + i sin )(x + i y)
ou encore :
x0 + i y 0 = e
(x + i y) = e
x1 .x0
y1 .x0 z1 .x0
y1 .y0 z1 .y0
y1 .z0 z1 .z0
P sont transformees par la rotation
Dans lespace 3D, la matrice de rotation R01 associee a` cette transformation est :
R01
r11
= [x01 |y01 |z01 ] =
r21
r31
r12
r22
r32
cos sin 0
r13
Les composantes des vecteurs-colonnes x01 , y01 et z01 verifient 6 relations scalaires:
26
R12
C S 0
C 0
=
S
0
0
1
1 0
0
R23 = 0 C S
0 S C
- une rotation dangle autour de z3 z4 (Rz3 , ). La matrice de passage du rep`ere R3
au rep`ere R4 est :
C S 0
R34 = S C 0
0
0
1
La matrice de rotation qui definie le passage de la configuration angulaire de S apr`es ces
3 rotations % par rapport a` R1 est :
/2sign(v)
si v = 0
Ainsi, si 6= 0 et 6= on a :
q
2
2
= atan2( r31
, r32
, r33 )
= atan2(r31 , r32 )
= atan2(r13 , r23 )
28
Si = 0 ou si = , alors :
( + ) = atan2(r11 , r21 )
Les angles de Bryant sont une variante des angles dEuler. Cependant il sagit de
rotations autour daxes fixes.
Rotations autour daxes fixes
Un autre parametrage possible de la rotation dun corps conduit a` introduire 3 rotations
autour des axes dun rep`ere fixe. Pour composer les rotations on effectue alors une premultiplication des matrices de rotation. Si on consid`ere lexemple de la figure ci-dessous
o`
u on fait subir au vecteur OP (note Pi dans le rep`ere Ri ) deux rotations successives
et par rapport aux axes y0 et z0 du rep`ere R0 , on a :
P0 = Ry0 , P1 = R01 P1
P1 = Ry0 , Rz0 , Ry0 , P2
Alors :
P0 = Ry0 , [Ry0 , Rz0 , Ry0 , ]P2 = R12 R01 P2
Ainsi, la composition des rotation de Roulis-Tangage-Lacet (Roll-Pitch-Yaw sur la figure), conduit a` :
30
2
2
2
(1 e1 + e2 e3 )
2(e2 e3 e1 )
R = 2(e1 e2 + e3 )
2(e1 e3 e2 )
2(e2 e3 + e1 )
(1 e21 e22 + e23 )
2
La formule de dOlinde-Rodrigues permet de definir une rotation vectorielle autour
dun axe quelconque. Soit OP un vecteur subissant une rotation dangle autour dun
axe de vecteur unitaire s comme montre sur la figure avant. Le vecteur OP 0 obtenu apr`es
cette rotation de OP peut etre deduit dun raisonnement geometrique. Si on note :
kek = tg
OP 0 = OQ + QP 0
31
avec :
- OQ = (p.s) s
- QP 0 = cos QP + sin QP 00
- QP 00 = s (QO + OP ) = s p = S p
- QP = s QP 00 = s (s p) = S 2 p
p0 = [Id + (1 cos)S 2 + sinS]p,
p0 = R(s, ) p
S = sz
sy
sz
0
sx
sy
sx
0
q = 1 = x
q2
sy sin(/2)
q3
sz sin(/2)
qq =
32
q.
q = (q.
q ) 2 = (a2 + ~v ~v ) 2 =
La tranformation dun vecteur ~u en ~u0 par une rotation definie par le quaternion q secrit
:
~u0 = q ~u q
La matrice de rotation correspondant `a ce quaternion q = (q0 , q1 , q2 , q3 ) est :
(q0 q0 + q1 q1 q2 q2 q3 q3 )
2(q2 q1 + q0 q3 )
R=
2(q3 q1 q0 q2 )
2(q1 q2 q0 q3 )
(q0 q0 q1 q1 + q2 q2 q3 q3 )
2(q3 q2 + q0 q1 )
2(q1 q3 + q0 q2 )
2(q2 q3 q0 q1 )
(q0 q0 q1 q1 q2 q2 + q3 q3 )
La composition de deux rotations correspond au produit des quaternions associes. Inversement, on determine laxe et langle a` partir du quaternion par :
cos(/2) = q0
sin(/2) =
q1
2
2
2
s = 1/ q1 + q2 + q3 q2
q3
q
=
s
La matrice de rotation R peut secrire comme :
s
R=e =
k=
X
k=0
1
(
s)k
k!
Les puissances de
etant periodiques :
2k = ()k+1
2
2k+1 = ()k
33
Transformations homog`enes:
Un deplacement nest pas une transformation lineaire (ce nest pas une fonction additive).
Par exemple:
D(x + y) = x + y + d 6= D(x) + D(y)
6 une matrice associee `a D.
Un point P peut etre represente par ses coordonnees homog`enes ecrites usuellement
comme (x, y, z, w) (un vecteur de dimension n + 1 pour pour un point de E 3 ). Ces
coordonnees homog`enes peuvent etre utilisees pour appliquer des transformations `a un
point 3D telles que les changements de deplacements, les rotations, les translations, les
homotheties, les projections. Ces transformations sont alors representees sous la forme
dune matrice 44. Si w = 1, les coordonnees du point P notees (XP , YP , ZP , 1) apr`es un
deplacement D dans Rn+1 seront liees aux coordonnees (xp , yp , zp , 1) de ce meme point
avant deplacment par la relation :
XP
Y
P
ZP
1
xp
d31
yp
zp
1
1
R33
0
P
1
R d
0 1
p
1
P
1
p
1
=T
Les deplacements dans Rn forment un groupe, appele groupe des deplacements Euclidiens
(note SE(n) : Special Euclidan Group). Un element T de SE(n) est defini par une
rotation R SO(n) et une translation d Rn .
SE(n) = T =
Rnn
0
dn1
; R SO(n) ; p Rn
1
P0
1
R01
0
d01
1
R12
0
1 0
lelement neutre est : Te =
0
1
t
t
R
R
d
linverse est : T 1 =
0
1
3.2
P2
1
Les liaisons
Les liaisons imposent des contraintes sur les mouvements relatifs des solides. Ces contraintes sexpriment par des equations algebriques entre les param`etres de configuration
des corps incidents et traduisent les conditions geometriques du contact. Dune mani`ere
generale, une liaison se traduit par des egalites ou des inegalites entre les param`etres du
syst`eme, les vitesses generalisees et dans certains cas le temps. Symboliquement, on note
ces relations :
hj (q, q,
t) = 0 ou hj (q, q,
t) 0 j = 1, k
o`
u k est le degre de la liaison.
Les liaisons peuvent etre classees de plusieurs mani`eres. On distingue generalement :
les liaisons bilaterales : h(q, q,
t) = 0
Une liaisons entre 2 solides est bilaterale si le contact existe dans toutes les positions
possibles du syst`eme.
les liaisons unilaterales : h(q, q,
t) 0.
Si la liaisons entre les solides nexiste que dans certaines positions, la liaison est
dite unilaterale.
35
Oix
Oiy
Ci
Si
Si
Ci
Pix
Piy
Oj x
Oj y
Cj
Sj
Sj
Cj
Pj x
Pj y
0
0
37
un sous-groupe de SE(n). Une liste de ces sous-groupes figure dans le tableau ci-dessous.
Si le sous-groupe G1 est contenu dans le sous-groupe G2 , la relation est indiquee comme :
E
identite
D(u)
Translation de vecteur u
R(A, u )
Rotation autour de laxe u passant par A
H(A, u , p)
Vissage daxe u passant par A
Translation parall`ele au plan P l
T (P l)
Mouvement cylindrique suivant u passant par A
C(A,u)
T
Translation dans lespace
Rotation spherique autour du point A
S(A)
D
Deplacement general dans lespace
G1 G2
Ainsi on a notamment par exemple :
R(A, e) C(A, e)
R(A, e) S(A)
H(A, e, p) C(A, e)
Pour une chane cinematique serie dans laquelle les solides i, i + 1, i + 2, . . . , i + j sont
relies par les liaisons k = i, i + 1, i + 2, . . . , i + j 1, en considerant le mouvement relatif
de la liaisons k decrit par le sous-groupe Gk , le deplacement relatif des solides i et i+j est
decrit par le sous-groupe Bii+j ( genere par la liaison equivalente ) obtenu par le produit
des deplacements relatifs introduits par les laisions.
Bii+j =
i+j1
Y
Gk
i+j1
X
Pour des mecanismes parall`eles comme ceux representes sur la figure 17, la dimension
du generateur du mouvement relatif de la plate-forme mobile (SP ) par rapport au corps
fixe (S0 ) qui sont reliees par N chemins series est:
dim(B0P ) = dim[(B0P )1 (B0P )2 . . . (B0P )N ]
Liaisons non-holonomes
Lorsquen plus des conditions geometriques de contact les solides sont astreints a` k
38
39
S2
x
(sin , cos , 0) y = 0
Les k relations de contraintes peuvent alors etre mises sous la forme dun syst`eme
dequations differentielles ordinaires :
A(q)q = 0
Un tel syst`eme est dit pfaffien puisquil est constitue dun ensemble fini de formes derivees
(differentielles) de degre 1.
Les mouvements compatibles avec les contraintes sont tels que :
A N (A) = 0
ici :
cos
N (A) = sin
0
0
0
Les derivees par rapport au temps des param`etres de configuration q de la roue peuvent
sexprimer en fonction des pseudo-vitesses independantes :
q1
cos
q2 = sin
q3
0
0
u1
0
u2
1
u1 , u2 R
Ces contraintes peuvent etre representees dans lespace des configurations de la roue (voir
figure 19).
Une liaison est dite non-holonomes si les k contraintes cinematiques ne sont pas
integrables (transformables en contraintes geometriques). Lintegrabilite des contraintes
se traduit par le fait quil existe des fonctions scalaires fi telles que :
X fi (q(t))
fi (q)
d fi (q(t))
=
qj =
q = A(q(t))q = 0
dt
qj
q
j=1,k
40
3.3
Param
etrage dun syst`
eme
Parametrer un syst`eme robotique, cest choisir une famille de nombres reels appeles
param`etres pour definir sa poisition dans son espace devolution. Dune mani`ere plus
generale, cest choisir un atlas (une carte pour des mouvements locaux) de son espace
de configuration. Les syst`emes consideres ici sont constitues de corps rigides. Aussi, une
position de reference etant choisie, lensemble des positions du syst`eme est en bijection
avec le groupe de deplacement de lensemble du syst`eme.
Pour un solide unique, lensemble des positions se deduit par une isometrie, cest `a dire
par un deplacement. Dans lespace physique de dimension 3, le groupe des deplacements
(SE(3)) est de dimension 6 (respectivement 2 pour SE(2). Lensemble des positions est
en bijection avec ce groupe.
Param`etres dun syst`eme = S1 , S2 , . . . , Sb :
Parametrer , cest associer `a toutes ses configurations une famille de param`etres q. La
dimension de lespace des configurations est pour un syst`eme de b 1 solides en mouvements libres (1 solide est souvent considere comme fixe sauf dans le cas particulier des
syst`emes humanodes par exemple) dans :
- lespace (SE(3)) dim(q) = 6(b 1)
- le plan (SE(2)) dim(q) = 3(b 1)
Pour un syst`eme de b solides `a n liaisons holonomes independantes, la dimension du
sous-espace des configurations est dans :
P
- lespace (SE(3)) dim(q) = 6(b 1) i=1,n ui
P
- le plan (SE(2)) dim(q) = 3(b 1) i=1,n ui
La dimension de lespace des configurations dun syst`eme holonome est egal `a sa mobilite:
m = d (b 1)
ui
i=1,n
lensenble des corps du syst`eme par rapport a` nimporte quel corps du syst`eme (pas un
corps particulier !!).
La dimension de lespace de configuration dun syst`eme comportant des liaisons nonholonomes est egale est definie par celle des liaisons holonomes. Sa mobilite est egale `a
la dimension de lespace des configurations du syst`eme moins le nombre de contraintes
cinematiques. La mobilite represente alors les capacites de mouvement instantane du
syst`eme.
un parametrage strict (i.e. minimum) du syst`eme utilise p = m param`etres.
un parametrage surabondant utilise p > m param`etres.
Lusage dun type ou lautre de parametrage depend du probl`eme pose.
3.4
Repr
esentation topologique dun syst`
eme m
ecanique
Une representation symbolique de larrangement des corps et des liaisons dun mecanisme
est donnee par le graphe non-oriente (graphe de connexion) associe au syst`eme.
Par convention dans un tel graphe :
- les noeuds representent les corps,
- les arcs representent les liaisons.
Exemple de lHexarobot
42
3.5
Mobilit
e des m
ecanismes
ui
i=1,n
(d ki ) = d(n b + 1) +
i=1,n
m=
ki
i=1,n
ki d = Ic Ec
i=1,n
43
ui = Es + Is
i=1,n
45
4
4.1
Mod`
ele g
eom
etrique des syst`
emes
Param
etrage de la transformation entre 2 corps adjacents
Plusieurs types de parametrage peuvent etre utilises pour decrire la geometrie des syst`emes
series. Le parametrage selon la convention introduite par Denavit et Hartenberg est le
plus repandu. Il existe des variantes de ce parametrage. Celle que nous suivrons est dite
convention de Denavit Hartenberg (DH) modifiee.
Convention de DH modifiee
Les liaisons de Si definissent 2 axes dans Ri (i , i+1 )
Le rep`ere Ri associe au solide Si est defini de la mani`ere suivante :
D(ri , i )
i
=
0 Si
0
0
Ti1,int
Ci
C S
i
i
=
Si Si
0
Ti1,i
0
Si
Ci
0
di
0
0
1
Si
Ci Ci
Si Ci
0
46
Ci
S
= i
0
0
Tint,i
0
Si
Ci
0
Si
Ci
0
0
di
ri Si
ri Ci
1
0 0
0 0
1 ri
0 1
Recapitulatif:
- Ri est lie `a Si
- zi est colineaire a` i
- xi1 est la commune a` zi1 et zi
- yi1 = zi1 xi1
- i : angle mesure autour de xi1 entre zi1 et zi
- di distance mesuree selon xi1 entre zi1 et zi
- i : angle mesure autour de zi entre xi1 et xi
- ri : distance mesuree selon zi entre xi1 et xi
Convention de DH originaux
De la meme mani`ere que pour la definition des DH modifies, le rep`ere Ri est associe au
solide Si . Laxe zi est place selon laxe geometrique i de la liaison i et xi est la perpendiculaire a` zi et zi+1 selon laquelle on mesure la distance entre les 2 axes des liaisons di .
Langle i forme entre les 2 axes est mesure autour de xi . i est langle mesure autour
de zi entre xi1 et xi et ri est la distance mesuree selon zi entre xi1 et xi
Notons que le param`etre di est dans cette convention le param`etre ri de la convention
precedente et que ai1 est le param`etre di des DH modifies. Langle i1 remplace langle
i .
La transformation Ri1 Ri est alors definie par la matrice :
Si1 Si
0
Ti1,i
4.2
Si
Ci1 Ci
Si1 Ci
0
0
Si1
Ci1
0
ai1
di Si1
di Ci1
1
Param
etrage dun syst`
eme `
a laide des DH modifi
es
quand n = rn = 0
- On prend comme reference des param`etres variables (i , ri ) telle que i = ri = 0 puis
on fait un changement de variable pour revenir sur la reference materielle:
(qa )i = (qof f set )i + qi
Sur lexemple :
4.3
i
1
2
3
ri
0
r2
0
i
0
-90
90
Mod
ele g
eom
etrique direct des syst`
emes s
eries
= 21
r31
0
T0h
r12
r22
r32
0
r13
r23
r33
0
XO h
t11
t
YOh
21
ZOh t31
1
0
t12
t22
t32
0
t13
t23
t33
0
t14
t24
t34
1
i
1
2
3
49
ri
0
0
0
i
0
0
0
0
0
T0h
S123
C123
0
0
0 a1 C1 + a2 C12 + a3 C123
0 a1 S1 + a2 S12 + a3 S123
1
0
0
1
di
i
ri
i
0
0
0
1
0 d3 = D 3
-90
0
0
r3
2
3
d4 = 0
-90
r4 = RL4
4
0
0
90 -90
0
0
5 6
4.4
0
0
0
1
0 a2
-90 0
0 d3
2 3
a3 = 0 0
0
-90
90 -90
d4
0
0
4
5 6
Mod
ele g
eom
etrique direct des syst`
emes pr
esentant une
chane ferm
ee simple
T(i1),i = T0,(n+1)
i=1,(n+1)
Exemple
0
0 1
1
0 0
T01 (q1 ) T12 (q2 ) T23 (q3 ) T34 (q4 ) = T04 (ctes) =
0
1 0
0
0 0
51
0
0
0
1
0
0
S123
C123
0
0
0 l1 C1 + l2 C12
1 0 0 a
0
0 1
0 l1 S1 + l2 S12 0 0 1 0 1 0 0
=
0 1 0 x
0
1
0
1 0
0
1
0 0 0 1
0
0 0
0
0
0
1
x2 + a2 l12 l22
2 l1 l2
S2 = 1 C22
2 = atan2(S2 , C2 )
(l1 + l2 C2 )x + l2 S2 a
(l1 + l2 C2 )a l2 S2 x
S1 =
1 = atan2(S1 , C1 )
2
2
x +a
x 2 + a2
Plusieurs configurations possibles (i.e modes dassemblage)
C1 =
4.5
Mod
ele g
eom
etrique direct des syst`
emes parall`
eles
52
j
T0h
j
j
= Tfk0
T(i1),i
T6h
k
k
T(i1),i
T6h
i=1,6
i=1,6
Les mecanismes en chane parall`ele avec liaisons passives nont pas de mod`ele geometrique
direct analytique. De plus les solutions sont generalement multiples
Justification sur le 3 3R plan. Si la position des acticulations actives (supposees sur
=
=
=
=
=
=
2l2 C 2A2x
2l2 S
2A2x l2 C + l22 + A22x 22 + 21
2l3 C( + ) 2A3x
2l3 S( + ) 2A3y
2A3y l3 S( + ) 2A3x l3 C( + ) + l32 + A23x 23 + 21 + A23y
x =
54
La solution la plus proche de la configuration courante peut ainsi etre obtenue en tempsreel.
R
esolution du PGI
Probl`eme a` resoudre : determiner les valeurs des param`etres articulaires (qi ) pour
obtenir une configuration absolue donnee de leffecteur T0h .
Principe : ce probl`eme est aborde avec les equations de structure du mecanisme.
T(i1),i Tnh
= T0h =
i=1,n
55
0h
R
0
d0h
1
5.1
Syst`
emes s
eries
Pour quune solution analytique existe, la geometrie du syst`eme daxes doit etre particuli`ere. Elle doit comporter :
- 3 articulations prismatiques,
- 3 articulations rotodes concourantes,
- 1 articulation rotode et une articulation prismatique co-axiales,
- 2 paires de liaisons rotodes concourantes.
Exemple de resolution sur le 3R plan
C123
S
123
0
C123
S
123
0
0
S123
C123
0
0
S123
C123
0
0
0
0
1
0
(l1 C1 + l2 C12 )
1 0 0
(l1 S1 + l2 S12 ) 0 1 0
0 0 1
0
1
0 0 0
= T0h
d
C S 0 XP
S
0
C 0 YP
0 0
0
1 0
1
0
0
0 1
0 (l1 C1 + l2 C12 )
C S 0 XP
1 0
0 (l1 S1 + l2 S12 ) S C 0 YP 0 1
=
0
1
0
0
1 0 0 0
0
1
0
0
0 1
0 0
X03 = l1 C1 + l2 C12
Y03 = l1 S1 + l2 S12
C = C123
56
0 d
0 0
1 0
0 1
X 2 +Y 2 (l2 +l2 )
Resolution de 2 C2 = 03 2l031 l2 1 2
Pour quune solution existe X023 + Y023 (l1 + l2 )2
S2 = (1 C22 )1/2
2 = atan2(S2 , C2 )
Resolution de 1
X03 = l1 C1 + l2 C1 C2 l2 S1 S2 = k1 C1 k2 S1
Y03 = l1 S1 + l2 S1 C2 + l2 C1 S2 = k1 S1 + k2 C1
1 = atan2(Y03 , X03 ) atan2(k2 , k1 )
Resolution de 3
3 = 2 1
Autre methode de resolution :
1tg(/2)2
2t
On utilise les identitees cos = 1+tg
equations: Exemple
2 (/2) et sin = 1+tg 2 (/2) dans les
pour 1 :
2Y03 (4Y023 4X023 + A2 )1/2
1 = 2atan
2(X03 + A)
Remarques `a partir de lexemple
- pour resoudre le probl`eme densemble, on decompose en sous-probl`emes
- il peut exister plusieurs solutions (modes dassemblage) au PGI,
- la configuration demandee doit etre `a linterieur du domaine accessible,
- le nombre de modes dassemblage maxi pour un 6R est de 16.
Methode de Pieper
Pour un manipulateur analytique a` 6 liaisons (pour simplification R6 Rh ), on
exploite plusieurs formes de 6= formes de lequation de structure pour isoler, au mieux,
les differentes variables.
T01 T12 T23 T34 T45 T56
T16
T26
T36
T46
T56
=
=
=
=
=
=
T0h
1
T01
T0h
1 1
T12 T01 T0h
1
T03
T0h
1
T04 T0h
1
T05
T0h
()
Par exemple, le membre de gauche de (*) ne fait intervenir que q1 . On peut chercher a`
determiner lexpression de q1 en identifiant lune des composantes de la matrice figurant
au membre de gauche avec un terme constant de la matrice du memebre de droite. On
progresse ensuite dans la resolution, variable apr`es variable, en utilisant lequation de
structure appropries.
57
xzy x2 +y 2 z 2
On resoud lequation du second degre en Si : Si =
x2 +y 2
Idem pour Ci
i = atan2(Si , Ci )
Equations du type (2)
wSj = xCi + ySi + z1
wCj = xSi yCi + z2
En elevant ces equations au carre puis en faisant la somme on obtient :
2(xz2 + yz1 )Si + 2(xz1 yz2 )Ci = (w2 x2 y 2 z12 z22 )
equation dont la resolution peut etre faite comme pour la precedente
Equation du type (3)
xCi + yCij = z1
xSi + ySij = z2
En elevant ces equations au carre et en faisant la somme, on obtient :
2xy(Ci Cij + Si Sij ) = 2xyCj (z12 + z22 x2 y 2 )
Cj =
(z12 + z22 x2 y 2 )
2xy
Sj = (1 C 2 j )1/2
j est donne par :
j = atan2(Sj , Cj )
La resolution de i peut se faire en developpant les fonctions sin et cos. On obtient :
xCi + yCi Cj ySi Sj = z1
xSi + ySi Cj + ySj Ci = z2
58
Equation de structure
T0h (, , , X0h , Y0h , Z0h ) = T06 (1 , . . . , 6 ) T6h (ctes)
Ici, la position du point 04 est invariante dans les 3 derni`eres transformations. Dans R4 ,
04 a` pour coordonnees homog`enes :
04 = (0, 0, 0, 1)t
C1 S1 0 0
S1
C1 0 0
0
0
1 0
0
0
0 1
T01
C3 S3 0 D3
S3
C3 0 0
0
0
1 0
0
0
0 1
T23
T45
T12
T34
C6 S6 0
0
0
1
=
S6 C6 0
0
0
0
T56
59
C4 S4 0
0
0
0
1 RL4
S4 C4 0
0
0
0
0
1
C5 S5 0 0
0
0
1 0
S5
C5
0 0
0
0
0 1
C2 S2 0 0
0
0
1 0
S2
C2
0 0
0
0
0 1
0
0
0
1
Resolution de 1 :
0
04x
0
0
1 4y
1 = atan2(04y , 04x )
Resolution de 2 et 3 .
0
04x
0
0
4y
1
= T23 T34
T02
0
04z
1
1
06
R03 R36 = R
sx
R30 sy
sz
nx
ny
nz
Fx
ax
ay = F y
az
Fz
Gx
Gy
Gz
40 = 4 + 180
C5 = Hy
Hx
Hy
Hz
C6 = C4Gz S4Gx
g(xk )
g 0 (xk )
Application au PGI :
La formulation multidimensionnelle de la methode de Newton pour resoudre le PGI
est la suivante. On cherche la configuration definie par q qui verifie les contraintes
61
f1 (q) + x1 = 0
...
... ...
f6 (q) + x6 = 0
(1)
3
x1
0 A B C
0 A0 B 0 C 0 x2
1
=0
A B
C 0 x1
1
A0 B 0 C 0 0
Ce syst`eme dequations peut se mettre sous la forme matricielle suivante :
AY = 0
Puisque lune des inconnues est lunite, ce syst`eme nadamet pas la solution banale
(x = 0). Pour que ce syst`eme homog`ene ait des solutions, il faut que detA = 0. Cette
condition conduit ici `a un polynome en x du 4`eme degre dont les racines sont les solutions
de lequation. Lapplication de cette methode au probl`eme geometrique inverse des
robots manipulateurs de geometrie generale et particuli`ere est detaillee dans larticle en
annexe : Inverse kinematics of six degree of freedom general and special manipulators
using symbolic computation, C. Mavroidis, F.B. Ouezdou, Ph. Bidaud, Robotica, vol 12,
1994. A titre dexemple, on developpe ici la procedure pour un manipulateur 6R general.
On sappuie pour cela sur lequation de structure ecrite sous la forme suivante :
1 1
1
T23 T34 T45 = T12
T01 T0h T56
5.2
Syst`
emes parall`
eles
Les syst`emes parall`eles ont un MGD qui est bien plus difficile a` etablir que pour des
syst`emes series. Si nous considerons par exemple la plate-forme de la figure ??, pour
chaque cycle du mecanisme on peut ecrire :
Tfj0
j
j
T6h
= Tf h
T(i1)i
i=1,6
j
j
j
= T0,f
Tf,h Th,6
T(i1),i
i=1,6
Une resolution identique a` celle des syst`emes series seraient envisageables si toutes les
articulations (actives et passives) etaient munies de capteurs de position. Cependant en
general pour des raisons evidentes ce nest pas le cas.
La resolution du probl`eme geometrique direct dun manipulateur parall`ele peut etre
envisagee sous une forme analytique ou numerique. Generalement la methode est appropriee au syst`eme considere. Il nexiste pas de methode generale.
63
0
0
0
0
Y
j
j
Tfj0
T(i1)i
T6h
= Tf h
0
0
i=1,6
1
1
qui elevee au carre permet de determiner les qi des actionneurs lineaires de ce type de
plate-forme :
q
j
qi = (Ofj 0 + O6h
df h )2
5.3
5.3.1
Les methodes detalonnage des param`etres geometriques des robots series sont generalement
fondees sur lutilisation du mod`ele geometrique direct du syst`eme et dun moyen de
mesure de la configuration absolue de leffecteur, de ses deplacements ou de contraintes
geometriques imposees (point invariant par exemple ou toute autre liaison entre leffecteur
et lenvironnement).
64
W =
avec : Y =
, W est dite matrice dobservation du syst`
eme.
...
...
y k
(q k , )
Son rang doit etre superieur au nombre de param`etres geometriques a` identifier.
La resolution de ce syst`eme dequations conduit `a :
= W + (Q, )Y
On proc`ede a` plusieurs iterations successives jusqu`a ce que lerreur devienne suffisamment faible. Pour chaque iteration on proc`ede a` une mise a` jour des valeurs param`etres
geometriques.
Notons que le conditionnement de W renseigne sur lobservabilite des param`etres
du syst`eme lors de lidentification. Un conditionnement proche de 1 conduit `a de bons
resultats. Lorsque le conditionnement est trop eleve (ex > 1000), le mod`ele linearise ne
converge plus et il faut utiliser des metodes doptimisation non-lineaire.
Si on consid`ere la description geometrique du robot faite `a laide des param`etres de
Denavit-Hartenberg modifies, les petits deplacements produits sur leffecteur relatifs a`
chacun des param`etres sont :
i =
xi1
xi1 POi1
di =
0
xi1
65
i =
zi
zi POi
di =
0
zi
La prise en compte dune erreur due a` une rotation autour de laxe yi1 de param`etre i
de valeur nominale 0 est parfois introduite lorsque laxe de larticulation i est parall`ele
a` celui de laxe i 1. Le vecteur deplacement correspondant est :
i =
yi1
yi1 Oi1 P
Les param`etres geometriques qui influent majoritairement sur les erreurs de position et
dorientation de leffecteur dun syst`eme parall`ele sont les positions et directions relatives
des premi`eres articulations de chacun des chemins qui sont attachees a` la base fixe.
66
Mod`
ele cin
ematique
6.1
t0
d M (t)
d
d
M (t + t) M (t)
= M (t) =
= (OM ) (s) = s
t
dt
ds
dt
Ce vecteur vitesse est representee par ses composantes dans une base, par exemple celle
associee au rep`ere R.
vM =
d
M = x M x + y M y + zM z = (x M , y M , zM )t
dt
La vitesse de M peut etre regardee comme un vecteur lie (dependant du point dapplication)
Quand on a plusieurs rep`eres en mouvement, on precise par rapport a` quel rep`ere se fait
(0)
le calcul de la derivee (ex : ddt M )
vM
67
a d
d
d
d
g
mx
h my
i
mz
b+d=f +h=g+c=0
0
b
0
b
g f
= 01
0
=
r
q
f
0
r
0
p
+q
p
d(0)
y1 = 01 y1 = rx1 +pz1 ;
dt
d(0)
z1 = qx1 py1 = 01 z1
dt
vM = v01 + 01 m + vm
vM = vM tR1 + vm
vM tR1 : vitesse du point M lie a` R1 qui se trouve en concidence avec M a` linstant t.
6.2
Le mouvement dun solide S peut etre vu comme une sequence continue de deplacements:
D : R0 R1
la configuration de R1 variant en fonction du temps t.
La position de P R1 dans R0 est :
P0 (t) = T01 (q, t) P1 (t)
La vitesse du point P est :
P0 (t) = T01 (q, t) P1 (t)
68
1
P0 (t) = T01 (q, t) T01
P0 (t)
=
t
sin
cos
0
cos
R = sin
0
sin
Rd
dR
=
= cos
dt
dt
0
0
0
cos
sin
0
0
0
0 1 0
RR = 1 0 0
0 0 0
Dune mani`ere generale, si la vitesse de rotation = (x , y , z )t :
RR =
= z
y
z
0
x
x
0
P0
1
= T01
P1
1
= R01 P1 + d01
1
P0 = T01 T01
P0
vitesse vue dans R0
P0 = R 01 P1 + d01
t
P0 = R 01 R01
(PO d01 ) + d01 =
01 (PO d01 ) + d01
Traduction vectorielle :
(vP )R0 = (01 P1 )R0 + (v01 )R0 = vP tR1
69
1
La matrice 4 4 T01 T01
represente loperateur tangent a` la trajectoire et constitue
lalg`ebre de Lie se(3) associe `a SE(3).
0
d01 01 d01
= z
y
0
0
1
=
T01 T01
t
R 01 R01
0
t
d01
01
d01 R 01 R01
=
0
0
z
0
x
0
y
x
0
0
v00 x
v00 y
0
v00 z
0
(0)
d01 01 d01 represente la vitesse du point 00 lie a` R1 (v00 Rt )
1
vP x
v
01
Py
=
vP z
0
0
6.3
Px
v00
Py
Pz
0
1
Pour etudier le mouvement de S par rapport `a R0 , il est parfois necessaire de passer par
un rep`ere intermediaire.
P0 = T02 P2 = (T01 T12 + T01 T12 )P2
1
1
P0 = T01 T01
P0 + T01 T12 T12
P1
1
T01 T12 T12
P1 =
R01
0
d01
1
12
0
(
12 d12 + d12 )
P1
0
1
t
-R01
12 (P1 d12 ) + d12 (vPR
)(1)
2
Composition des vitesses lineaires :
02 = R 01 R01
+ R01 R 12 R12
02 =
01 +
12
02 = 01 + 12
vP Rn =
X
n
(vP Ri )(i1)
0n =
X
n
70
(, vP )(i1)
Ri
i1,i
v
0
Transformation de coordonnees
Considerons comme donne loperateur tangent a` la trajectoire du point P R1 dans
le
mouvement
de R1 par rapport `a R0 . Laction adjointe de T23 sur lelement de se(3)
w12 vO2
est :
0
0
R23
0
d23
1
w12
0
vO2
0
t
R23
0
t
R23
d23
1
t
R23 w12 R23
0
t
R23 w12 R23
d23 + R23 vO2
0
t
- R23 w12 R23
= w13 est la matrice du pre-produit vectoriel de w12 dans la base B3 .
Torseur geometrique
Un torseur S peut etre exprime en fonction dun torseur geometrique $
SP = (S, S + P O S)
SP = kSk(s, s + P O s)
SP = kSk(s, s + sP ) = kSk(s, sP ) = kSk$ = kSk(u, v, w, l , m , n )t
glisseur : SP = kSk(s, sP ), s, sP sont les coordonnees vectorielles dune droite, soit 4
composantes scalaires independantes.
- u2 + v 2 + w2 = 1
- u.l + v.m + w.n = 0
couple : SP = kSk(0, s)
Produit reciproque (ou le comoment) de 2 torseurs:
Le produit reciproque de 2 torseurs est le nombre defini par :
O E 3
En notant :
- 12 angle entre les 2 axes,
- d12 distance entre les 2 axes.
$1 .$2 = d12 sin12 + (1 + 2 )cos12
Remarques :
- $1 .$2 = 0 si d12 = 0 et cos12 = 0 ou si 1 = 2 et sin12 = 0
- le produit reciproque est invariant dans une transformation Euclidienne
- la forme quadratique peut etre negative, ce nest donc pas un produit scalaire
- si $1 est un distributeur de vitesse et $2 un torseur de force le produit est homog`ene a`
une puissance.
6.4
Syst`
eme de torseurs
6.5
Mod`
ele cin
ematique direct
zi
P Oi zi
translation
TC (Si /Si1 ) = i i (0, zi ) = vi (0, zi )
TC (Si /Si1 ) = ri
0
zi
TC (Si /Si1 )
i=1,n
q1
q2
q3
Formulation algebrique
En notant TC (Sn /S0 ) = (x , y , z , vx , vy , vz )t
u1
x
v1
y
z
= w1
v
l
1
x
m1
vy
n1
vz
u2
v2
w2
l2
m2
n2
. . . un
. . . vn
q1
q2
. . . wn
.
.
.
. . . ln
. . . mn qn
. . . nn
X = J6n (q)q
X =
J
Jv
Ti1,i
i=1,n
Ti1,i )Pn
i=1,n
qi T0,i1
i=1,n
P0 =
X
i=1,n
(i1)
(i1)
Ti1,i 1 1
T
T
P0
qi i1,i 0,i1
vOi1
=
represente loperateur tangent a` la trajectoire dans le
0
0
mouvement relatif de Si par rapport a` Si1 .
1
La premultiplication par T0,i1 et la post-multiplication par T0,i1
permet dexprimer la
vitesse angulaire relative de Ri par rapport a` Ri1 dans la base B0 ainsi que la vitesse
du point coincident O0 Rn par rapport a` R0
Derivation du mod`ele geometrique
1
i1,i
Ti1,i
qi Tq
i
qi T0,i1
Ti1,i
1
Ti,n T0,n
P0
qi
d x2
f2
f2
f2
=
q1 +
q2 + . . . +
qn
dt
q1
q2
qn
... = ...
d xm
fm
fm
fm
=
q1 +
q2 + . . . +
qn
dt
q1
q2
qn
f1
x 1
qf12
x
2
q1
...
...
fm
x m
q
f1
q2
f2
q2
...
fm
q2
f1
qn
f2
qn
...
...
...
...
q1
q2
.
...
..
fm
qn
qn
- $j =
En notation vectorielle :
Fdq
dX
=
dt
q dt
X = J q
avec
Jij =
fi
qj
J11 J12
J21 0
Acceleration absolue
Lacceleration de leffecteur par exemple peut etre obtenue comme :
= J(q) q + J(q)
q
X
Pour un manipulteur avec des liaisons rotodes :
J=
Jv
J
z1
z1 a1
z2
z2 a2
...
zn
. . . z n an
avec ai = 0i P
Mod`ele variationel
on consid`ere un petit deplacement q (du premier ordre par rapport aux dimensions
du syst`eme) autour dune configuration q0 = 0 licite avec les liaisons
on cherche `a determiner le deplacement X qui lui correspond.
linearisation de X = F (q) autour de la configuration q = q0
F
q + . . .
F (q) = F (q0 ) +
q
F
q = X
q
74
Jq = X
- X : champ de deplacement relatif `a la variation q
= J q
X = J q
- rapporte `a la variation de temps t X
t
t
Mod`ele cinematique des chanes fermees:
par derivation de lequation de contraintes
TC (Sn+1 /S0 ) = 0 =
TC (Si /Si1 ) =
i=1,n+1
i=1,n
1 $1 + 2 $2 + r3 $3 4 $4 = 0
H(nc n) q = 0
-H : matrice Jacobienne des contraintes.
Pour lexemple de la figure 40, la matrice H secrit en O4 et dans B0 :
1
1
0
C12
S12
0
0
(nc < n) :
q =
Hd1 Hi
qi
1
variable de sortie (ex. 4 ) en utilisant une methode de reduction des variables passives.
En dissociant variables dentree, passives et de sortie, lequation cinematique de fermeture
se re-ecrit comme :
Hs(nc ns ) qs + Hp (nc (nns )) qp + He(nc (nnc )) qe = 0
En utilisant une matrice Od telle que :
Opt Hp = 0
La matrice Op constitue le complement orthogonal a` Hp . Elle peut etre determinee
en utilisant une orthogonalisation de Gramm-Schmidt par exemple. En multipliant
lequation cinematique de fermeture par la matrice Opt on a la relation entree/sortie
:
Opt Hs(nc ns ) qs + Opt He(nc (nnc )) qe = 0
Loi entree/sortie (seconde methode):
On peut aussi utiliser une methode delimination fondee sur lutilisation dun torseur
reciproque :
1 $1 + 2 $2 + r3 $3 = 4 $4
On cherche pour cela un torseur $R 1 tel que :
$R 1 .$2 = 0
$R 1 .$3 = 0
On trouve que $R 1 = (S12 , C12 , r3 ). Ce torseur geometrique peut etre assimile a` une
force passant par O2 et orthogonal a` la direction de laxe de la liaison de translation.
Mod`ele cinematique des syst`emes parall`eles
La methode de determination du mod`ele cinematique des robots parall`eles developpee
dans ce qui suit utilise le principe des torseurs reciproques propose ci-dessus.
Mod`ele cinematique direct du chemin 0 j 0 :
qij $ji = $
i=1,m
76
On rep`ete pour toutes les liaisons actives pour obtenir le mod`ele cinematique sous la
forme canonique:
B q = DX
= (v , v , v , , , )t
X
x
B=
R1 1
$ 1 .$1
0
R1 1
$ 2 .$1
.
0
0 0 0
0
0 0 0
0
. . .
.
RN N
0 0 0 $ g .$g
1 t
D = ($R
1 )
t
($R
2 )
t
. . ($R
g )
t
Figure 41: Schema cinematique dun syst`eme parall`ele plan `a 3 chemins RPR
comme variables actives les actionneurs lineaires de chaque chemin. Pour chaque chemin
j on a lequation de chane ouverte suivante :
1j $j1 + r2j $j2 + 3j $j3 = $
77
j = 1, 2, 3
aj
OP Bj = bj
0
Uj
etBj Aj = Vj
0
j
$R 2 .$jk = 0, pour k = 1, 3
et qui est :
j
0 1 0 r22 = C12
0 0 1
C13
r23
{z
B
} | {z }
q
S11
S12
S13
a1 C11
z
2
a2 C1 vx
a3 C13
vy
{z
} | {z }
Les lignes de la matrice D sont les actions transmises par les actionneurs sur SP pour
commander son mouvement.
Pour le syst`eme plan pris comme exemple, le mouvement de SP sera compl`etement commandable si les 3 actions (les 3 forces) soient lineairement independantes.
Ce meme mod`ele aurait pu etre etabli en considerant que la vitesse de chaque
point Bj secrit vectoriellement :
vBj = vOP + Bj OP
vBj = vOP + Bd
j OP
vBj = (Id , Bd
j OP )X = Ej X
On peut eliminer les variables passives dans le cas o`
u les actionneurs lineaires sont relies
a` SP et SO par des liaisons de rotation daxes concourants en Aj et Bj en consederant
que la vitesse du point Bj par rapport a` RO secrit :
vBj = r2j z2j + S j /S0 r2j z2j
3
78
(z2j , OP Bj
z2j )
vOP
On retrouve le meme resultat que precedemment. Lune et lautre des 2 methodes sont
utilisables pour obtenir les mod`eles cinematiques des plate-formes de Gouth-Stewart.
Dans le cas particulier o`
u la liaison en Bj est une liaison de type rotule (ou
equivalente comme pour lexemple du prehenseur articule de la figure 42. Seule la vitesse
lineaire produite par le chemin j est alors transmise sur SP , on a :
Jv1
0
0
0
Jv2
0
E1
0
q1
2
0 q = E2 X
q3
E3
Jv3
79
Probl`eme : On a souvent a` etablir les relations entre les differents efforts exterieurs
sexercant sur . Ces relations servent en particulier a` determiner les commandes a`
appliquer dans les articulations dun syst`eme pour compenser les effets de gravite ou les
actions `a appliquer par leffecteur sur lenvironnement. Pour ce faire nous utiliserons le
principe des travaux virtuels.
7.1
Etude de l
equilibre
La transmission des efforts peut sanalyser a` partir du principe des travaux virtuels
Enonce: un repr`ere galileen dans lequel, t, pour tout deplacement q virtuel de
, la somme des travaux virtuels de toutes les actions est nulle.
W = Wi + We + Wj = 0
- Wi travail des actions interieures
- We travail des actions exterieures
- Wj travail des actions dinertie
Deplacement virtuel :
Un deplacement virtuel est un deplacement infinitesimal imaginaire impose a` (`a t =
cte). Ce deplacement peut etre compatible (licite) ou incompatible avec les liaisons.
Pour un point:
Le mouvement virtuel dun corps est defini a` t en associant `a toute valeur de u une
position de chaque point (`a u = 0 correspond la position reelle de a` t).
Si M est parametre par q:
M
dq
M
1
(q(0), t0 )
(0) =
q
M = lim (M (q(u), t) M (q(0), t)) =
u0 u
q
du
q
80
M =
X M
M
M
M
q1 +
q2 + . . . +
qn =
qi
q1
q2
qn
i=1,n qi
Ri t
Ri
pi i = Oi +
R (Pi Oi )i
i
i i
Pi = Oi + Pi Oi i
Pour un syst`eme le deplacement virtuel compatible avec les liaisons dun solide
de configuration X(q).
dX
Xdq
=
dt
q dt
X
dX =
dq
q
Si q dq :
X =
X
q = Jq
q
Exemple du 2R plan :
X = Px0 = l1 S1 l2 S12
Py0
l1 C1 + l2 C12
1
1
1
l2 S12
=J
2
2
l2 C12
avec :
TC (Si ) = (i , Oi ) et TS (Si ) = (Fi , Mi(Oi ) )
Pour un corps dans le plan :
We,i = TC (Si ).TS (Si ) = (, Px0 , Py0 ).(Fx0 , Fy0 , Mz0 ) = Mz0 + Fx0 Px0 + Fy0 Py0
Travail dune force et dun couple sur Si
We,i = Fi .Oi + (Ci + Mi(Oi ) ).i = TC (Si ).TS (Si )
81
Fj,i .Pj,i =
j=1,nf
X
j=1,nf
Fj,i .Oi +
j=1,nf
C1
C2
l1
( C
1)
P1y0
P2y0
C = [N + Jvt Fext ]
Travail des actions interieures
Les actions interieures `a se decomposent en forces qui sopposent aux deformations et
en forces de contact.
Wi , = Wd , 1 + Wd , 2 + Wl , 1/2 + Wl , 2/1
pour un deplacement virtuel rigide TC (1/2), on a :
Wl , 1/2 + Wl , 2/1 = TS (1/2).TC (1/2) + TS (2/1).TC (1/2) = 0
[TS (1/2) + TS (2/1)].TC (1/2) = 0 TS (1/2) = TS (2/1)
R1/2
M1/2
R2/1
=
M2/1
Lj qj
j=1,6
Wl , = 0 q
Fx0
F y0
(OPj Fj,i ) +
j=1,nf
Cj,i = 0
j=1,nc
1 0
1
0
0 r
f
1 0 1
0
f2
0 1 = P
f3
0 r
0
f4
84
G f = Fext
Wl 6= 0 dans un q non-licite.
Pour un syst`eme de solides :
W, =
(Wl , i + We , i) =
i=1,(b1)
We , i = 0
i=1,(b1)
Un syst`eme de solides = (S1 , . . . , S(b1) ) est en equilibre si les forces exterieures sont
equilibrees.
X
X
We , =
Fj .Pj +
Cj .j
j=1,nf
j=1,nc
Pj
q ;
q
X
j=1,nf
Fjt
j =
j
q
q
X
Pj
j
+
Cjt
]q
q
q
j=1,nc
We , = Qte q = 0
Le PTV est vrai qi ce qui entrane :
Qi qi = 0 qi = 1, n
Si les qi sont independants, le syst`eme dequations de la statique ainsi derive a m
equations.
Exemple du 2R plan
Si on neglige P1 et P2 :
C1
C2
l1S1 l2 S12
=
l1C1 + l2 C12
l2 S12
l2 C12
F x0
F y0
C = Jvt Fext
Application au syst`eme bielle-manivelle (Sans masse - Commande C1 - Sortie F )
C1 1 F O3 = 0
C1 1 F (l1 S1 1 l2 S12 2 ) = 0
C1 = F (l1 S1 + l2 tg12 C1 )
85
8
8.1
Pour aborder lanalyse et linterpretation des singularites dans les mecanismes series nous
allons considerer le syst`eme 2R plan place dans la configuration 2 = 0
vx0
vy0
S(l12 ) S(l2 )
C(l12 )
C(l2 )
vx2
0 0
1
=
vy2
l12 l2 R2 2
= 1 $1 + 2 $2 =
vx0
= tan()
vy0
86
R0
1
2
Les 2 composantes de la vitesse dans R0 sont liees, une composante dans R2 est
nulle.
La matrice Jv nest plus reguli`ere. Les vecteurs-colonnes ne sont pas lineairement
independantes: rg(Jv ) = 1
6 de solution a` q pour X arbitraire
1 $1 + 2 $2 = 0 avec 1 , 2 non tous nuls.
Si T = {$1 , $2 }, T R = {$R T R /$ T ; $.$R = 0}, dim(T R ) = 1
un torseur statique $R qui ne fait pas travailler les liaisons
Determination : $R = (u, v)t
Sl12 u + Cl12 v = 0
Sl2 u + Cl2 v = 0
u = C
v = S
1
2
=
1
2
= J t Fext
S(l12 ) C(l12 )
S(l2 ) C(l2 )
0 C(l12 )
0 C(l2 )
R0
R2
fx2
fy2
fx0
fy0
8.2
l2
l12
= kN (J)
Singularit
es dans les chanes ferm
ees
1
1
Cq q = 0 l2 S12
x l2 C12
1 0 1
0
2
0 1 = 0
3
0 0
0
x
87
234 = l2 C12
134 = x
124 = x + l2 C12
1
1
Cq =
0
l
2 S12
0
0
1 0
0 1
0 0
1
1
1
1
0
0 l2 S12 0 2 = 1 ( x )
x l2 C12 0
3
0
(np) torseurs deviennent lineairement dependants, les p torseurs etant independants.
Les amplitudes des p torseurs deviennent nulles. Apparassent alors les configurations
stationnaires.
Pour determiner lensemble des configurations stationnaires, il convient de considerer les
cas suivants :
1. rg([$1 $2 $3 ]) < 3 alors x = 0 x = 0 et 12 = /2 + k
2. rg([$1 $2 $4 ]) < 3 alors 3 = 0 idem
88
8.3
Singularit
es dans les chanes parall`
eles
1
1
0
1
0 + 2 + l2 S12 + 3 0 = x 1
l2 C12
0
0
x
t
en multipliant par $R
1 = (C12 , S12 , 0) , on obtient :
xS12 1 = C12 x
Si on consid`ere lentree comme 1 et la sortie x,
on a alors :
- des configurations stationnaires : x = 0 et 12 = 0 + k
- des configurations incertaines : 12 = /2 + k
Dune mani`ere generale, a` partir du mod`ele :
B q = DX
On peut montrer que le syst`eme presente :
1. configurations stationnaires lorsque B est singuli`
ere. Lorsque B devient
j
singuli`ere, lune des compsantes de la diagonale (du type $R i .$ji et qui represente
la puissance normee developpee par lactionneur de la liaison active consideree
j
dans le mouvement induit sur SP ) devient nulle. $R i est donc reciproque a` tous les
torseurs des liaisons actives et passives du chemin j. On a a` faire `a une configuration
stationnaire.
2. configurations incertaines lorsque D est singuli`
ere. Lorsque D devient singuli`ere, les actions developpees par les actionneurs sur SP ne sont pas lineairement
independantes. SP nest pas completement commande.
Le mouvement incontrole peut etre defini en deteminant le syst`eme de torseurs
j
reciproques T R aux torseurs $R i de D.
89
Figure 49: Manipulateur 3 3R place dans une configuration stationnaire et une configuration incertaine
9
9.1
R
esolution des mod`
eles inverses
Cin
ematique inverse des chanes s
eries (n = d)
Objet :
Determiner les vitesses articulaires (q)
(ou les deplacements) pour commander le
mouvement absolu de leffecteur.
Demarche :
Inverser le syst`eme dequations lineaires Mod`ele cinematique direct (ou le mod`ele
differentiel).
X = J q
(X = J)
Resolution numerique
Si le syst`eme est de Cramer (m equations a` n inconnues), J 1 existe : q = J 1 X
qj =
1 X
Aij x i
detJ i=1,m
1 =
l2 S12
l2 C12
y0
l1 l2 S2
vx0
v
2 =
(l1 S1 + l2 S12 )
(l C + l C )
1
12
vx0
vy0
l1 l2 S2
l12 S
l12 C
l2 S
l2 C
90
1
tgvy
=
2
vy
qi $i = $
i=1,6
$.$R i
$i .$R i
B=
R
$ 1 .$1
0
0
$R 2 .$2
.
0
0 0 0
0
0 0 0
0
. . .
.
0 0 0 $R 6 .$6
t
($R
2)
t t
. . ($R
6) )
k = 1, .., 6 k 6= i;
x2 + y 2 + z 2 = 1
(a) Si $ i 6= 0: ($ i ) = (1)i+1 i
(b) Si 2 des torseurs sont lineairement dependants, $ i = 0.
Dans (x, y, z, x, y, z), $
a ($2 , $3 , $4 , $5 , $6 , ) :
1 orthogonal `
$
1 =
x
u2
u3
u
4
u5
u
6
9.2
y
v2
v3
v4
v5
v6
z
w2
w1
w4
w5
w6
x
l2
l3
l4
l5
l6
y
m2
m3
m4
m5
m6
z
n2
n3
n4
n5
n6
Syst`
emes s
eries redondants (n > m = d)
J = ( Jp mm
Js(m)(nm) )
q =
qp
qs
vx0
1
3 l3 S123
=
2
vy0
l3 C123
dim(N (J)) = (n m)
r
1 0 1 1
0
r2 =
0 1 0
0
r3 h
qh = 1 0
1
92
r1
1/2 0
vx0
1
r2 = 0
vy0
r3 p
1/2 0
i1 vi uti
i=1,r
X
2
i=1,r i
i
vi uti
2
+
i
1/i
+ 2
Une solution homog`ene peut etre determinee en utilisant la projection orthogonale sur le noyau de J donnee par : (Id J + J)
qh = (Id J + J)z
93
z Rn
g
q1
z =
..
g
qn
X
i=1,n
(qi qi moy )
qi
!2
9.3
det(JJ t )
Z t
q(t)dt
+ q(0)
94
10
10.1
X
1
Aij Fexti
detG i=1,m=n=d
Resolution analytique:
X
fi $i = Fext $
i=1,6
$.$R
fi = Fext iR
$i .$i
Pour un syst`eme de corps:
= J t Fext
10.2
1
0
r
f
0 1 0 1
f
1 0 1 2 = 0
f3
0 r 0
f4
95
Figure 51: Exemple dune prise plane par 2 contacts ponctuels avec frottement
1
f1
0
f
2
= k
1
f3
0
f4 h
f
1/2 1/2r
2
P
=
1/2
f3
0
0
0
0
1/2 1/2r
f4 p
fp = Gt (GGt )1 (Fext )
Une solution homog`ene peut etre ajoutee en utilisant la projection orthogonale
(Id G+ G)
Remarque : Autre methode de calcul de fh .
fh = (Id G+ G)z
1/2
0
fh =
1/2
0
0 1/2 0
z1
0 0 0
z2
0 1/2 0 z3
0 0 0
z4
96
11
11.1
M =
11.2
d(0)
(t) = xM x0 + yM y0 + zM z0
vM = M
dt
Acc
el
eration du solide
01 =
dt
0 1
0
0 01 = z
0
dEuler:
1 + x
2 + z
3 = H
0S = z
+ H
0S = H
+ (
CS
S
+ SC)
SS
avec H = C
+ (
CC)
On montre egalement que le champ des accelerations dun solide peut sexprimer `a
partir de la derivation du torseur cinematique represente geometriquement a` laide
dun torseur unitaire.
97
11.3
Traduit en vecteurs :
1 )R0 + ( 01 P1 )R0 + (01 (01 P1 ))R0 + (201 P1 )R0 + (P1 )R0
(P0 )R0 = (O
(0)
(0)
(1)
P R2 = P R1 + c + P R2
11.4
G
eom
etrie des masses
Proprietes de la masse
La masse (m) est une fonction densemble definie sur les parties P de S:
m(P) : P R+
La masse est une grandeur additive:
Si P1 P2 =6 m(P1 ) + m(P2 ) = m(P1 P2 )
Masse dun solide homog`ene
La masse de S est un champ scalaire defini comme :
P P = S : m(S) =
(P )dv =
P v
dm
P v
OP dm
P P1
m(P2 )OG2 =
OP dm
P P2
1
(m(P1 )OG1 + m(P2 OG2 )
m(P1 ) + m(P2 )
P S
u(P )dm
P S
R(u, , S) =
u(P )(P ) dP =
P S
(Moment)
M (u, , S) =
u(P ) dm
P S
OP u(P ) dm
P S
QP (u QP )dm =
P S
QP (QP u)dm
P S
Un tenseur peut etre represente par ses composantes dans une base. Si QP =
(x, y, z)t et u = (ux , uy , uz )t dans RS :
QP (QP u) = z
y
z
0
x
y
0
x z
0
y
z
0
x
y
ux
x uy
0
uz
ux
(z 2 + y 2 )
xy
xz
2
2
=
xy
(z + x )
yz
uy
uz
xz
yz
(x2 + y 2 )
2
2
IQ = RP S xy dm
(z
+
x
)
dm
yz
dm
PR
S
R P S 2
2
P S xz dm
P S yz dm
P S (x + y ) dm
R
PRS (z
Ixx
= Ixy
Ixz
Ixy
Iyy
Iyz
Ixz
Iyz
Izz
Relation de Huygens
La relation de Huygens permet de relier les composantes de loperateur dinertie,
dans une meme base, entre le point Q et le point G
Loperateur JQ est defini par :
JQ (u) =
QP (u QP ) dm =
P S
P S
2
2
IQ =
Ixy m(S) ab
Iyy + m(S) (c + a )
Iyz m(S) bc
Ixz m(S) ac
Iyz m(S) bc
I0z + m(S) (a2 + b2 )
IQ = IG + IQG
11.5
Cin
etique
Torseur cinetique
Definition:
Le torseur cinetique de S dans son mouvement par rapport `a R0 en Q est :
(0)
CS
(0)
[QS
Z
P S
(0)
vP
(0)
dm, Q
(0)
P S
(QP vP ) dm]
Expression de la resultante:
Z
m(S) OG =
(0)
QS
OP dm
P S
d(0)
d(0) Z
=
OP dm)
(m(S) OG) =
(
dt
dt P S
(0)
QS
= m(S) vG =
Z
P S
vP dm
0S
= ( 0 m(S) Id )
vG
= ( m(S) (BG)
0S
m(S) Id )
vB
Expression du moment :
Si Q est un point de lespace, G le centre dinertie de S et B un point lie `a S.
(0)
Q =
Z
P S
(0)
(QP vP dm) =
(0)
Z
P S
(QP (vB + 0S BP )) dm
(0)
(0)
(B )
0S
m(S) (BG) )
vB
= ( IB
100
(0)
si Q = B = G S : G = JG (0S )
(0)
sous forme matricielle : (G ) = ( IG ) ( 0S )
(0)
si A R0 : A = JA (0S )
Torseur dynamique
Le torseur dynamique de S dans son mouvement par rapport `a R0 en Q est :
(0)
(0)
DS = [AS =
(0)
P S
(0)
P dm ; Q =
Z
P S
(0)
(QP P ) dm]
Expression de la resultante:
Z
d(0) Z
d(0)
(0)
(0)
(m(S) vG ) =
(
vP dm) = (m(S) G ) =
P dm
dt
dt P S
P S
sous forme matricielle : (AS ) = ( m(S) Id ) ( G )
Expression du moment :
(0)
AS =
d(0) (0)
(0)
(0)
(Q ) + m(S) vQ vG
dt
soit en remplacant par le moment cinetique :
(0)
Q =
(0)
Q =
d(0)
(0)
(0)
(0)
[QG m(S) vB + QB (0S m(S) BG) + JB (0S )] + m(S) vQ vG
dt
Simplifications :
(0)
(0)
(0)
(0)
(0)
si Q = B S : B = ddt [BG m(S)vB + JB (0S )] + m(S)vB vG
(0)
(0)
si Q = B = G :
G = ddt [JG (0S )]
sous forme matricielle : (G ) = ( IG ) ( 0S ) + ( (0S ) ) ( IG ) ( 0S )
(0)
(0)
si A R0 :
A = ddt [JA (0S )]
Energie cinetique
Lenergie cinetique de S dans son mouvement par rapport `a R0 est le scalaire:
(0)
TS =
1Z
(0)
kv k2 dm
2 P S P
Calculee au point B S :
(0)
2TS
(0)
vBS .
Z
P S
(0)
vP
dm + 0S .
Z
P S
(0)
(0)
IB
, vB )
m(S) (BG)t
= ( 0S
(0)
2TS = X it Mi X i
Mi : matrice de masse de S
Expressions particuli`eres :
101
(0)
BP vP dm = TC S .CS
m(S) (BG)
m(S) Id
0S
vB
(0)
I
, vG ) G
0
= ( 0S
m(S) Id
0S
vG
(0)
si B R0 : 2TS = 0S .IB 0S
Energie cinetique pour
T =
Ti =
i=1,n
1 X t
X Mi X i
2 i=1,n i
0i
vGi
= X i = Ji q;
Energie cinetique de Si :
1
Ti = qt Jit Mi Ji q
2
Energie cinetique du syst`eme :
T =
avec M (q) = i=1,n Jit Mi Ji
definie positive).
P
12
1
Ti qt M (q)q
2
i=1,n
X
Mod`
ele dynamique
Objet : Relier les grandeurs caracterisant le mouvement des corps doues dune
repartition de masse aux efforts sexercant sur les corps pour determiner les equations
du mouvement.
12.1
102
B =
m(Si ) Gi = R(ext/Si )
d(0)
d(0)
t
t
t
(IGi 0i ) =
(R0i IGi i R0i
0i ) = IG0 i 0i + R 0i IGi i R0i
0i + R0i IGi i R 0i
0i
dt
dt
t
= IG0 i 0i +
0i IGi i 0i + IGi i
0i
0i = IG0 i 0i +
0i IG0 i 0i = MGi (ext/Si )
Ces equations peuvent etre mises sous la forme matricielle:
m(S) Id
0
0
IG0 i
Gi
0i
0i IGi i
vGi
0i
R(ext/Si )
MGi (ext/Si )
(0)
(0)
(1)
02
0
d
t
= (R02 R02 ) = 2
dt
0
G2
0
0
1 (l S2 )
r1
0 (l C2 )
2
G2x0
r1 (l C2 22 + l S2 2 )
=
=
G2y0
(l S2 22 + l C2 2 )
vG2 =
vG2x0
vG2y0
2
0
0
(2)
(1/2)
104
X h (0)
i=k,n
i =
i=k,n
(Rki
Rkg ).zi
Un resultat equivalent peut etre obtenu par lapplication du principe des travaux
virtuels.
Un exemple typique dutilisation des TG en robotique est donne par la determination
des conditions de non-pivotement dun robot humanode. On cherche en effet `a
faire que le moment au point de contact pied/sol selon laxe t perpendiculaire `a la
normale soit tel que :
h
i
MCi () MCg () .t = 0
105
Wj , i = (
i=1,k
(0)
[m(Si ) Gi .
i=1,k
X (0) i
Gi
q] +
[A .
q])
q
q
i=1,k
Wj , = J1 q1 + J2 q2 + . . . + Jn qn
Ji designe ici la force generalisee dinertie relative au param`etre qi .
Les equations du mouvement de peuvent etre derivee `a partir du PTV en considerant lensemble des travaux virtuels des forces exterieures, de liaison et dinertie:
We , + Wl , + Wj , = 0
Pour un syst`eme rigide parfait, on a :
X
Wj , i +
i=1,k
We , i = 0
i=1,k
(Qi + Ji ) . qi = 0
Qi + Ji = 0 (i = 1, n)
Application au 2R plan
En ne considerant que les effets de la gravite dans les actions exterieures, on a :
We , = Q1 1 + Q2 2
Wj , = J1 1 + J2 2
A laide des formules de Lagrange, si les qi sont independants
Ji = (
d L
L
( )
)
dt qi
qi
o`
u L = T U est le Lagrangien du syst`eme
d T
T
U
( )
+
= Qi
dt qi
qi qi
106
Pour un solide S, T = 12 X t M X:
d T
+ M X
(
) = MX
dt X
T
= M X
X
T
1 M X t
= (
)X
X
2 X
Lequation du mouvement du solide S est donc :
+ M X 1 ( M X )t X + U = Q
MX
2 X
X
12.4
Mod`
ele dynamique inverse des syst`
emes s
eries
Energie potentielle:
X
U=
mi g t GO
i
Ui =
i=1,n
i=1,n
G0i
1
= T0i
Gii
1
X
i=1,n
Ti =
1 X t
1 X X
Xi Mi X i =
Mij (q1 , ..., qn )qi qj
2 i=1,n
2 i=1,n j=1,n
107
T
1 X X
1 X X Mjk
=
(
Mjk qj qk ) =
qj qk
qi
qi 2 j=1,n k=1,n
2 j=1,n k=1,n qi
Equations du mouvement de :
i =
Mij qj +
j=1,n
i =
j=1,n k=1,n
Mij qj +
j=1,n
1 Mjk
U
Mij
qj qk
qj qk ) +
qk
2 qi
qi
Hijk qj qk +
j=1,n k=1,n
U
qi
ij
ik
o`
u : Hijk = 12 ( M
+ M
qjk
)
qk
qj
i
Syst`eme dequations differentielles du second ordre compose des forces dinertie,
des forces de Coriolis et centrifuge et les forces derivant dun potentiel.
Equations du mouvement sous une forme vectorielle:
= M (q)
q + C(q, q)
+ N (q)
- M (q) est la matrice des masses generalisees,
- C(q, q)
: vecteur des effets de Coriolis et effets centrifuges,
- N (q): vecteur des efforts generalises de pesanteur et de frottement visqueux.
12.5
Mod`
ele dynamique inverse
qit
Z t+h
t
Z t+h
t
qi dt
qi dt
On remplace ensuite les integrales par des formules dntegration comme les formules
dAdams-Moulton
ou dautres comme la formule de Newmark.
108
12.6
Mod`
ele dynamique cart
esien
On peut proceder `a un changement de variables pour ecrire les relation entre forces
generalisees et forces cartesiennes. On peut ainsi voir la dynamique de lensemble
du syst`eme comme rapportee `a un objet virtuel qui aurait instantanement les
memes proprietes de masse que celles de lensemble du syst`eme.
t
= J t Fc Fc = (J 1 )
F = J t (M (q)
q + C(q, q)
+ N (q))
En derivant la relation :
X = J q
on a :
= J q + Jq
X
Lenergie cinetique peut alors secrire en fonction de X comme :
1
t
T = X t (J 1 ) M (J 1 )X = X t Mx X
2
Equations du mouvement dans X.
+ Cx + Nx = Fc
Mx X
t
- Mx = (J 1 ) M (q)(J 1 ),
t
q,
- Cx = (J 1 ) C(q, q)
Mx J(q)
1 t
- Nx = (J ) N (q).
Equations du mouvement du syst`eme augmente de SP . Il devient alors tr`es
simple dajouter un solide qui serait par exemple manipule par le syst`eme. Les
equations du mouvement du syst`eme augmente sont obtenues par :
+ (Cx + CS ) + (Nx + NS ) = Fc
(Mx + MS )X
12.7
Mod`
ele dynamique des syst`
emes contraints
109
hi
qj = 0
j=1,n qj
i = 1, k
i = 1, k
X
j=1,n
A(q)q = 0
A(q) Rkn
Le complement orthogonal a` A (note S(q)) definit, dans lespace des variables
generalisees, la base des mouvements independants du syst`eme.
Les equations du mouvement du syst`eme contraint secrit en variables non-independantes
:
X
L
d L
( )( )
j Aij
i = 1, n
i =
dt qi
qi
j=1,k
A(q)q = 0
o`
u les j sont les multiplicateurs de Lagrange, .
Interpretation des j :
Les j peuvent sinterpreter comme les amplitudes relatives des forces de contrainte
selon les directions dans lesquelles le syst`eme ne peut se deplacer (i.e les forces
appliquees par le syst`eme pour quil reste en contact avec la surface de contrainte)
ic =
j Aij
i = 1, n
j=1,k
d L
L
( ) ( ) Jct fc
dt q
q
d L
L
+ c = ( ) ( )
dt q
q
(4)
(5)
q = S(q)u + S(q)u
En reportant dans lequation precedente, on a :
112
13
G
en
eration de mouvement
13.1
Trajectoires articulaires
(qf qi ) t
+ qi
tf
q(tf ) = qf
q(0)
= qi = 0
q(t
f) = 0
3
2
(qf q0 ) a3 = 3 (qf q0 )
2
tf
tf
= q0
q(t
f ) = qf
a1 = q0
a2 =
3
2
1
(qf q0 ) q0 qf
2
tf
tf
tf
a3 =
2
1
(qf q0 ) + 2 (qf + q0 )
3
tf
tf
Pour satisfaire une continuite C2 (en acceleration), la courbe `a choisir est une
courbe polynomiale de degre 5.
La faiblesse de linterpolation polynomiale, est que lerreur dinterpolation croit
avec le nombre de points `a interpoler. Cela se traduit experimentalement par
de grandes oscillations du polynome dinterpolation, meme si la fonction est tr`es
simple. Do`
u lidee dinterpoler par des fonctions polynomiales par morceaux (des
splines), dont le degre naugmente pas avec le nombre de points dinterpolation.
Interpolation avec profil de vitesse trapezodal.
Avec q(t) = cte, le point qm est tel que : qm = (qf qi )/2 et tm = tf /2
Par ailleurs :
1
qm qc
qc = qi + qc t2
qc tc =
tm tc
2
On a alors :
qc t2c qc tc tf + (qf qi ) = 0
On peut determiner tc pour tf , qf , qi donnes :
v
u
1 u t2 qc 4(qf qi )
tf
t f
tc =
2
2
qc
Lacceleration est contrainte par :
k
qc k
13.2
4
t2f
kqf qi k
Trajectoires cart
esiennes
115
d2 OP
n = d2 OP
k ds2 k ds2
1
b=tn
dt
k = K = 1/
ds
T =k
db
k
ds
Relations de Serret-Frenet :
dt/ds
0
dn/ds = K
db/ds
0
K
0
T
ds dt
dt
1
P = P = st +
= st + s 2 n
dt
116
0
t
T n
0
b
(Pf Pi )
kPf Pi k
(0 t tf )
s
(Pf Pi )
kPf Pi k
P = st =
s
(Pf Pi )
kPf Pi k
Les derivees par rapport au temps des vecteurs du rep`ere de Frenet sont :
dt
dt
=
s = sK
n
dt
ds
dn
dn
=
s = sK
t + sT
b
dt
ds
db
db
=
s = sT
n
dt
ds
On determine la vitesse angulaire du rep`ere de Frenet en considerant que :
dt
t = (t)
dt
dn
n = (n)
dt
db
t = (b)
dt
et on montre que :
sK
n
1
do`
u:
i t f
) R0h
Rif (, s) = (R0h
r r23
1 32
s=
r13 r31
2sin
r21 r12
117
Le mouvement de rotation a` realiser peut aussi etre obtenu `a partir dune interpolation sur les quaternions qui representent les differentes configurations angulaires.
On utilise generalement deux trajets distincts, lun en position, lautre en orientation pour tenir compte de linhomogenete physique entre position et orientation
(absence de metrique dans SE(3)). Ces deux trajets sont ensuite relies par une
fonction de synchronisation donnant la longueur du trajet en orientation en fonction de la longueur du trajet en position.
118
14
14.1
119
c = Kp (qd q) + Kv (qd q)
+ Ki
Z
0,t
(qd q)dt
Z
0,t
(qd q)dt
A lequilibre (q = 0; q = 0), on a :
M (q)
q + C(q, q)
+ N (q) = N (q) + Kp (qd q) + Kv (qd q)
+ Ki
Z
0,t
(qd q)dt
14.2
Commande par d
ecouplage non-lin
eaire
,H
etant des estimees.
M
Le syst`eme commande est regi par :
q = y
Si on calcule y comme :
{z
{z
14.3
Commandes cart
esiennes
121
15
Cin
ematique des syst`
emes redondants
15.1
G
en
erateur du mouvement, noyau et leurs compl
ements
orthogonaux et r
eciproques
La relation entre lespace des vitesses generalisees et des vitesses operationnelles est une
application lineaire dont J est la matrice associee. Le produit J q peut etre vu comme
une combinaison lineaire des vecteur-colonnes de J. Aussi, on peut definir :
1. Le generateur de lapplication definit lensemble des vitesses transmissibles par le
syst`eme.
n
o
R(J) = X Rm /q Rn X = J q
2. Le complement orthogonal a` R(J) constitue lensemble des vitesses non-transmissibles.
n
R(J) = X Rm /X 0 R(J) X t X 0 = 0
R(J)R = F Rm /X R(J) F t X = 0
15.2
D
efinition de la redondance cin
ematique
La redondance dun syst`eme mecanique peut etre definie du point de vue cinematique.
Lorsque m la dimension de lespace des deplacements du syst`eme, ou si tous les deplacements
ne sont pas imposes par la tache le nombre de contraintes imposees sur le mouvements
du corps manipule est egal a` la mobilite cinematique du syst`eme, alors la matrice jacobienne J du syst`eme est, hors singulatites, une matrice carree. la solution au probl`eme
cinematique inverse X = J q (ou differentiel inverse dX = Jdq ) est donnee par :
q = J 1 X
Pour simplifier les choses, on considerera que la mobilite du mecanisme est directement n
le nombre de liaisons et que le nombre de contraintes est directement egal `a la dimension
du groupe des deplacements dans lequel le syst`eme evolue (note d).
D`es lors o`
u le manipulateur est redondant devant la tache (n > d ou plus generalement
rg(J) > d) alors le probl`eme est sous-determine. Il existe une infinite de solutions au
probl`eme cinematique inverse. Le degre de redondance cinematique du syst`eme devant
la tache est :
r = n dim(R(J)) = dim(N (J))
123
15.3
Analyse du probl`
eme de la redondance cin
ematique
Jv =
1 0 1
0 1 0
1 0
0 1
R(J) =
Une base de N (J) est :
N (J) = 0
1
dim(N (J)) 6= 0 traduit le fait quil existe une possibilite de mouvement interne comme
lillustre la figure 60. Le complement orthogonal au (N (J)) constitue le sous-espace
15.4
D
efinition dun mod`
ele g
eom`
etrique inverse
Si on consid`ere que le syst`eme est sous asservissement articulaire, lune des solutions pour
aborder la commande des mouvements est dutiliser le mod`ele geometrique inverse afin
de definir les consignes articulaires a` partir de la definition de la trajectoire en position
et orientation de lobjet manipule. Cependant, dans le cas o`
u le syst`eme est redondant,
le probl`eme geometrique inverse est dans ce cas sous-determine. Il existe par consequent
une infinite de configurations articulaires pour atteindre une tache donnee.
Pour traiter la redondance, une solution consiste a` introduire des relations supplementaires
pour traduire un objectif secondaire qui est par exemple doptimiser une performance
locale. La performance en question peut etre representee par une fonction scalaire continue notee W (q) en fonction des param`etres generalises q. On peut alors considerer la
resolution du probl`eme geometrique inverse `a partir dune part du mod`ele geom`etrique
direct X = f (q) et dautre part par r equations algebriques traduisant un optimum de
la fonction.
La recherche dun optimum pour W (q) peut etre vu comme un probl`eme doptimisation
sous les contraintes F (q) = (f (q) X). Ce type de probl`eme peut etre aborde a`
laide des multiplicateurs de Lagrange. Le probl`eme equivaut a` minimiser le Lagrangien
L(q) = W (q) + t F (q), Rm=d etant le vecteur des multiplicateurs de Lagrange.
Ainsi, la solution verifie a` la fois la solution au mod`ele geometrique et minimise W (q).
Les points stationnaires sont tels que la differentielle de L(q) soit nulle :
W (q)
F (q)
L(q)
=
+
q
q
q
-
F (q)
Rmn est la matrice Jacobienne.
q
W (q)
= W (q) = h Rn est le vecteur gradient
q
!t
=0
de la fonction W (q)
J t + h = 0
ou en partitionnant les m premi`eres lignes et les n m suivantes :
Jm
Jnm
t
hm
hnm
(6)
On peut `a partir de ce syst`eme de n equations auquel serait joint les m equations issues
du mod`ele geomtrique direct determiner lensemble des incunnues (les m multiplicateurs
de Lagrange et les n variables articulaires).
On peut egalement, en saidant des m premi`eres equations du syst`eme (6), resoudre
les m multiplicateurs de Lagrange.
1
= Jm
hm
125
, Inm ) h = 0
, Inm )
Zh = 0
(7)
(8)
S2
dC2
1
+
= 0
aS2
r1 + aC2 x = 0
(9)
S2
= 0
dC2
r1 + aC2 x = 0
(10)
o`
u encore, a` laide de la matrice Z :
( aS2
15.4.1
,1)
La commande cinematique dun syst`eme (ici considere comme arborescent) peut etre
realisee en utilisant directement la jacobienne inverse. Le probl`eme de la redondance est
alors resolu en considerant quun torseur de force FExt est applique `a leffecteur, cette
derni`ere cherchant `a lamener sur la position desiree Xd (voir illustration figure 62)
Si cette action exterieure est consideree comme realisee `a travers une raideur :
FExt = K(Xd X) = K e
126
(e)
= et Ke + et K e = et K e
2
2
= et K X d et KJ q
et K(X d X)
127
Le choix de q = J t Ke conduit `a :
et K X d et KJJ t Ke
qui pour Xd = cte verifie :
(e)
= et KJJ t Ke < 0
On peut imposer une contrainte supplementaire pour obtenir une solution au probl`eme
cinematique inverse des syst`emes polyarticules. Pour un syst`eme contraint, qui na pas
de solution exacte au probl`eme cinematique inverse (syst`eme dit incompatible), on peut
par exemple chercher une solution approchee qa au sens de la norme Euclidienne et donc
telle quelle minimise lecart :
J qa
2
2
n
J q
X
= minqR
X
Cette solution, dite aux moindres carres, est donnee si J est de rang plein en lignes par :
qa = (J t J)1 J t X
2
La demonstration est simple. Si =
J q X
, alors :
t (J q X)
= qt J t J q 2qt J t X + X t X
(J q X)
Le vecteur q minimise si et seulement si q annule / q = 0. Or :
!t
= 2J t J q 2J t X = 0
1/2 0
Jv+ = 0 1
1/2 0
Dune mani`ere plus generale, si J Rmn est de rang r, alors il existe une decomposition
de rang maximal de J sous la forme du produit de 2 matrices F Rmr et G Rrn .
J =F G
Cette factorisation peut etre obtenue par une forme de Smith. Alors,
F + = Gt (F t AGt )1 F t
En pratique, la factorisation la plus generale et la plus utilisee (car plus robuste dun
point de vue numerique) est la Decomposition en Valeurs Singuli`eres (que lon designe
souvent par son acronyme anglo-saxon SVD, pour Singular Value Decomposition).
Une telle decomposition en valeurs singuli`eres est produite par la fonction svd() de
Matlab. Cette decomposition est absolument generale. Elle est valide si r = inf (m, n)
(cest a` dire, si J est de rang plein) mais egalement si r < m < n. Dans ce dernier cas,
on utilise une forme dite reduite de la SVD.
Dune mani`ere generale, J pourra etre decomposee sous la forme (voir cours NSR 12):
J = U V t =
i ui vit
i=1,r
Jv =
1 0
0 1
0.7071
0
0.7071
1.4142
0
0
0
1.0000
0
0
1.0000 0
0.7071
0
0.7071
1
vi uti
i
i=1,r
X
avec :
1
1
, . . . , , 0, . . . 0)
1
r
o`
u 1 , . . . r sont les valeurs singuli`eres de J.
Si rg(J) = r = m < n (rang maximal) alors J + = J t (JJ t )1
Si rg(J) = r = m = n alors J + = J 1
Indifferement des conditions sur le rang de J, cette pseudo-inverse satisfait les 4 proprietes suivantes :
JJ + J = J
+ = diag(
J + JJ + = J +
129
(JJ + )t = (J + J)
(J + J)t = (JJ + )
Par ailleurs :
(J + ) = J
t
(J + ) = (J t )
(J + ) = (J t J) J t
+
(J + ) = J t (JJ t )
Par ailleurs :
- si rg(J) = m = n, alors : A+ = A1
- si rg(J) = m < n, alors : AA+ = Id (A+ A 6= Id )
- si rg(J) = n < m, alors : A+ A = Id (AA+ 6= Id )
La Decomposition en Valeurs Singuli`eres peut sinterpreter geometriquement de diverses
facons. En considerant J comme la matrice dune application d Rn dans Rm , si nous
considerons lensemble des vecteurs de longueur unite, leurs extremites forment la sph`ere
unite (voir illustration ci-dessous 63) de dimension n. On montre que les transformees
de ces vecteurs par J forment un ellipsode de dimension r dont les directions des axes
principaux sont donnees par les colonnes de U (et leurs antecedents par les colonnes de
V ). Les longueurs des demi-axes principaux sont les valeurs singuli`eres non nulles de J
tel que : X = J q
Une solution classique `a ce type de probl`eme peut etre determinee `a laide des multiplicateurs de Lagrange , la contrainte etant alors integree `a la fonction a` minimiser sous
la forme :
1
T 0 = qt M (q)q + t (X J q)
2
Les multiplicateurs peuvent ici etre interpretes physiquement comme les quantites de
mouvement a` appliquer pour satisfaire X J q = 0.
Les param`etres de Lagrange peuvent etre determines en cherchant les solutions a` :
T 0
=0
q
Ceci conduit au syst`eme de n equations suivant:
qt M t J = 0 ()
En post-multipliant par M 1 J t , ce syst`eme se transforme en :
qt J t = t (JM 1 J t )
Les multiplicateurs sont donc tels que :
t = X t (JM 1 J t )1
En reportant dans (), on trouve :
q = M 1 J t (JM 1 J t )1 X
+
q = JM
X
+
JM
est la pseudo-inverse de J ponderee par la matrice denergie cinetique du syst`eme.
15.5
Homog
en
esation de J pour le calcul de la pseudo-inverse
Les termes de JJ t peuvent ne pas etre homog`enes en dimension. Considerons par exemple
le robot plan PPR dont la Jacobienne serait :
0 0
1
J = 1 0 dS3
0 1 dC3
Les composantes de JJ t sont :
t
JJ = dS3
dC3
dS3
dC3
2 2
2
(1 + d S 3 )
d S3 C3
d2 S3 C3 (1 + dS3 dC3 )
15.6
M
ethodes de d
etermination des mouvements internes
15.6.1
Vecteurs du noyau de J
On peut determiner un ensemble de vecteurs orthogonaux qui forment une base du noyau
de J(q). Cette base est de dimension n r. Elle peut etre constituee des vecteurs vi
i = r, n issus dune decomposition en valeurs singuli`eres de J(q) et tel que :
J(q)vi = 0 i = r, n
On verifie bien pour lexemple du manipulateur 3P que :
1
1 0 1
0
0 =
0 1 0
0
1
X
i=1,nr
132
xN i vi
T
ache secondaire dans lespace articulaire
Une methode consiste a` projeter une tache secondaire sur le noyau de la Jacobienne en
utilisant le projecteur orthogonal (Id J + J)
qh = (Id J + J) qop
{z
PN (J)
De mani`ere plus generale, en alg`ebre lineaire, une projection orthogonale est un projecteur tel que les deux sous-espaces sont orthogonaux. Le projecteur a pour effet de
supprimer la composante qui influence X. On a donc :
J qh = 0
Le vecteur qop Rn , qui est a priori quelconque, peut servir a` optimiser une performance
locale. Il peut etre alors determiner comme :
q1
qop = =
.
.
qn
i=1,n
qi qi moy 2
)
qi
det(JJ t )
On peut aussi construire une fonction pour generer un champ de forces (attractives et
repulsives) sur le syst`eme.
(q) = att (q) +
X
i=1,n
133
irep (q)
Le syst`eme est une fois redondant vis-`a-vis de la tache. Il est clair que la tache secondaire
nest realisee que partiellement. Par ailleurs, on montre que ce mouvement interne
sans action dissipative peut conduire a` un mouvement oscillatoire. Aussi, un terme
damortissement peut etre introduit pour stabiliser le mouvement.
15.6.3
T
ache secondaire dans lespace cart
esien
135
Autre formulation de la t
ache secondaire
Pour eviter les singularites algorithmiques une formulation alternative conduit `a determiner
la solution pour la tache secondaire puis `a la projeter sur le noyau de J1 . La solution est
alors determinee par :
q = J1+ X 1 + PN (J1 ) (J2+ X 2 )
Pour des syst`emes hautement redondant, on peut imaginer que les taches soient en
cascade et la soultion determinee par :
q = J1+ X 1 + PN (J1 ) (J2+ X 2 + P(N (J1 )N (J2 )) Z2 )
Le vecteur Z2 est ici projete sur lintersection des noyaux de J1 et de J2 pour ne perturber
aucune des deux taches. Lillsutration de la methode est donnee sur la figure 71
137
15.7
Augmentation de lespace op
erationnel
Xe =
Je (q) =
J(q)
A(q)
Je (q) =
J(q)
JN (q)
Pour eviter davoir a` fixer le nombre de contraintes requis pour former un syst`eme carre
(on peut aussi envisager de former un syst`eme sur-determine), une alternative qui peut
etre preferee consiste `a exprimer un objectif secondaire qui serait dannuler le gradient
138
139
J
X
g
q gN1
N1
q
.
=
.
.
g
gNnm
gNnm
q
La partie augmentee des colonnes de Je pour obtenir une matrice carree est formee par
deux termes :
ni t
gNi =
(nti g) =
g + nti
g
qj
qj
qj
qj
Si lobjectif est dobtenir un gradient de g nul, on aura donc comme precedemment :
q = Je1 (q)
X
0
15.8
Je1 (q)
g
qj
X
gN
dans Je .
Utilisation de m
ethodes doptimisation
Multiplicateurs de Lagrange
W (q) J
Jt
0
0
X
Programmation lin
eaire
D`es lors o`
u lon veut prendre en compte dans la resolution des contraintes dinegalite
(comme les bornes sur les vitesses articulaires). On peut, lors de la programmation
lineaire, chercher `a minimiser la fonction objectif :
L() = K t
sous les contraintes lineaires :
X
=
140
Jq
< q <
> 0 (11)
Le vecteur K peut etre vu comme le vecteur des raideurs articulaires.
lalgorithme du simplexe (Fonction matlab simplex2p ) est pratiquement toujours
plus performant pour resoudre un LP. Les methodes de point interieur sont qui permettent devoluer `a linterieur du polytope des contraintes sont egalement des methodes
performantes.
15.9
D
etermination des configurations singuli`
eres dans les manipulateurs redondants
csub = $i c , i {1, . . . , n} ,
i=d
Apr`es avoir place le syst`eme dans cette configuration singuli`ere, on cherche ensuite a`
identifier les conditions supplementaires pour que le $R soit egalement reciproque aux
torseurs cinematiques redondants a` partir des equations :
$R .$j = 0 j = 1, n et j 6= i
On montre dans ce qui suit comment cette technique sapplique a` un syst`eme PRRR
plan (voir figure 15.9)
La jacobienne ecrite en O4 de ce syst`eme est :
J = [$1 , $2 , $3 , $4 ] =
0
z1
z2
04 02 z2
z3
04 03 z3
z4
0
J Sub
= l12 S2
l12 C2
$R
$R
Sub
Sub
1
l2 S2
l2 C2
1
0
= (C2 , S2 , 0)
Sub
.$1 = 0
15.10
Dans une configuration singuli`ere J(q) nest plus de rang plein. Sa pseudo-inverse J +
nst pas definie dans une telle configuration. Aussi, on utilise la pseudo-inverse ponderee
qui est definie de la mani`ere suivante.
Plutot que de chercher la solution `a X = J q telle que min kqk,
on determine q qui
minimise :
2 + 2 kqk
J q X
2
o`
u est une constante non-nulle.
Cette quantite est equivalent a` :
2
J
X
I q 0
d
J
Id
t
J
q =
Id a
J
Id
t
X
0
(J t J + 2 Id )1 J t = J t (JJ t + 2 Id )
La solution se re-ecrit :
qa = J t (JJ t + 2 Id )X
Cette solution est celle donnee par la methode de Levenberg-Marquardt qui peut etre
vue comme une interpolation entre une methode de Gauss et de descente de gradient.
La valeur du facteur peut varier en fonction du residus.
Une decompostion en valeurs singuli`eres permet de comprendre comment agit la DLS
par rapport a` la SVD.
(JJ t + 2 Id ) = (U V t )(V U t ) + 2 Id = U 2 U t + 2 Id = U (2 + 2 Id )U t
Aussi:
J t (JJ t + 2 Id ) = V (2 + 2 Id )1 U t = V EU t
{z
i2
i
+ 2
X
2
i=1,k i
i
vi ut
+ 2 i
i
0 quand i 0 doit donc etre pris tr`es grand pour
Determination de : 2+
2
i
maintenir les vitesses angulaires pr`es de la singularite.
Inversement, loin des singularites doit rester tel que i >> alors les composantes
i
1i
2 +2
i
143