Vous êtes sur la page 1sur 143

.

Cours de
Mod
elisation des Syst`
emes Robotiques
Ph. Bidaud - Philippe.Bidaud@upmc
Universite Pierre et Marie Curie

Master Sciences de lIngenieur


Specialites Syst`emes Avances et Robotiques Syst`emes Intelligents et Robotiques

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

7 Transmission des efforts


7.1 Etude de lequilibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80
80

. . . . .
. . . . .
relatifs
. . . . .
. . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

8 Analyse de la transmission cin


ematique
8.1 Singularites dans les chanes series . . . . . . . . . . . . . . . . . . . . . .
8.2 Singularites dans les chanes fermees . . . . . . . . . . . . . . . . . . . .
8.3 Singularites dans les chanes parall`eles . . . . . . . . . . . . . . . . . . .

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

10 Analyse de la transmission des efforts


10.1 PSI pour un syst`eme isostatique . . . . . . . . . . . . . . . . . . . . . .
10.2 PSI pour un syst`eme hyperstatique . . . . . . . . . . . . . . . . . . . . .

95
95
95

11 Dynamique des syst`


emes
11.1 Acceleration du point . . . . .
11.2 Acceleration du solide . . . .
11.3 Composition des accelerations
11.4 Geometrie des masses . . . . .
11.5 Cinetique . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

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

15.4.1 Solution par la Jacobienne transposee . . . . . . . . . . . . . . . .


15.4.2 Solution par la pseudo-inverse de Moore Penrose . . . . . . . . . .
15.5 Homogenesation de J pour le calcul de la pseudo-inverse . . . . . . . . .
15.6 Methodes de determination des mouvements internes . . . . . . . . . . .
15.6.1 Vecteurs du noyau de J . . . . . . . . . . . . . . . . . . . . . . .
15.6.2 Tache secondaire dans lespace articulaire . . . . . . . . . . . . .
15.6.3 Tache secondaire dans lespace cartesien . . . . . . . . . . . . . .
15.6.4 Autre formulation de la tache secondaire . . . . . . . . . . . . . .
15.7 Augmentation de lespace operationnel . . . . . . . . . . . . . . . . . . .
15.8 Utilisation de methodes doptimisation . . . . . . . . . . . . . . . . . . .
15.8.1 Multiplicateurs de Lagrange . . . . . . . . . . . . . . . . . . . . .
15.8.2 Programmation lineaire . . . . . . . . . . . . . . . . . . . . . . .
15.9 Determination des configurations singuli`eres dans les manipulateurs redondants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.10Passage des singularites . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Figure 2: Fauteuil equipe dun bras - Robot chirurgical - Deambulateur/Verticalisateur

Figure 3: Main articulee - Robot chien - Robot hexapode

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

Structure dun SM command


e

Ces differents composants sont mis en ouvre dans une architecture generale dont la forme
generale est decrite sur la figure ci-dessous.

1.4

Technologie des constituants

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

Figure 4: Architecture generale dun syst`eme robotique


Controleurs: Regulateurs denergie primaire, calculateurs temps-reel + OS, interfaces capteurs (traitement du signal et numerisation), bus de communication
(VME, CAN, Internet),
IHM: Langage symbolique, langage structure, COA robotique, controle dexecution
et daide a` la decision, interfaces de teleoperation.
La figure ?? donne un exemple de larchitecture de commande pour un robot industriel.

1.5

Exemples de probl`
emes consid
er
es dans le cours

1. Description geometrique des syst`emes et de leur environnement


2. Mod`ele geometrique direct
3. Probl`eme geometrique inverse
4. Mod`ele cinematique
5. Probl`eme cinematique inverse
6. Commande en position et en effort
7. Commande dynamique
8. Generation de trajectoires
.

Figure 5: Architecture de commande dun robot industriel

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

Transposee dune matrice


La transposee dune matrice A (m n) est une matice notee At (n m) et telle que:
a11
a
12
At =

...
a1n

Proprietes : (At )t = A,

a21
a22
...
a2n

(A + B)t = At + B t ,

. . . am1
. . . am2

...
. . . amn

(BA)t = At B t

Trace dune matrice


La trace dune matrice carree A = (aij ) est la somme des coefficients de la diagonale de
P
u n est lordre de A.
A. On ecrit tr(A) = i=1,n aii o`
Proprietes :
tr(A + B) = tr(A) + tr(B),
tr(A) = (A).
tr(AB) = tr(BA).
On definit la trace tr(f ) dun endomorphisme f dun espace vectoriel E de dimension
finie, comme la trace dune matrice de f par rapport `a une base de E. On la note tr(f ).
Le resultat ne depend pas de la base de E choisie car, entre deux matrices A et B
representant f , il existe une relation du type B = P AP 1 avec P inversible et, dapr`es
la propriete precedente, on a : tr(A) = tr(P AP 1 ) = tr(B).
Ainsi, la trace dun endomorphisme est, comme son determinant, un nombre qui ne
depend pas de la matrice representant lendomorphisme.
Exemple :
Une rotation dangle du plan euclidien a pour matrice :
R=

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

- Cij : est le cofacteur de lelement aij mineur dordre (n 1) obtenu en supprimant


la ligne i et la colonne j dans | A |.
Norme dune matrice
La norme la plus usuelle pour les matrices est la norme de Frobenius definie comme :
kAk =

s X

a2ij

i=1,m j=1,n

Inversion dune matrice


Si la matrice carree A est reguli`ere (i.e. ses vecteurs-colonnes sont lineairement independants),
il existe une matrice inverse A1 unique telle que :
AA1 = A1 A = Id
A1 est definie comme :
A1 =

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

si A est une matrice (m n), m > n et si rg(A) = n:


t
1 t
A+
d = (A A) A
mm
AA+
d = 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

- si n > m, la solution x = A+ b est telle que min kxk2


La pseudo-inverse a la propriete qui est que pour un vecteur z arbitraire:
A(1d A+ A)z = 0
(1d A+ A) projette un vecteur arbitraire z Rn arbitraire dans le noyau de A N (A)
Diagonalisation dune matrice
La diagonalisation dune matrice reguli`ere (n n) A :
A = SDS 1
AS = SD

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

Si on divise S par 2 (et multiplie S 1 par 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

u et v etant designes respectivement vecteurs singuliers a` gauche et `a droite.


La matrice A Rmn de rang r etre factorisee sous la forme :
A = U V t
t
A = Umm mn Vnn

1rr
A = [U1 , U2 ]
0

0
0

A=



V1t
V2t

|r n
|r (n r)

i ui vit

i=1,r

- U Rmm et V Rnn sont des matrices orthogonales.


0
La matrice = [ 1
] avec 1 = diag[ij ] telle que ij = 0 pour tout i 6= j et
0 0
11 22 33 ......rr > r+1r+1 = pp = 0 o`
u p = min(m, n)
- ii i sont les racines carrees des valeurs propres de AAt

i =

At A

- U et V sont constituees des vecteurs propres respectivement de AAt et At A


Les colonnes de V correspondantes aux valeurs singuli`eres nulles engendrent le noyau
de la matrice A, les autres colonnes correspondantes aux valeurs singuli`eres non-nulles
engendrent lespace image de A.
R(A) = (u1 , ...., ur )
N (A) = (vr+1 , ..., vn )
Les valeurs singul`eres contiennent linformation metrique sur la transformation. Limage
du cercle unite par A est un ellipsoide dont la longueur des demi-axes principaux correspondent aux valeurs singuli`eres maximale et minimale :
max = max
u6=0

kAuk
kuk

min = min
u6=0

La pseudo-inverse de Moore-Penrose est donnee par :


A+ = V + U t = V1 + U1t
14

kAuk
kuk

avec :

"
+

1
1 rr 0
0
0

Exponentielle dune matrice


Lexponentielle dune matrice carree est definie comme :
exp(A) =

n=
X
n=0

An
A2
An
=1+A+
+ ... +
n!
2!
n!

exp(A) est toujours une matrice inversible. On a en effet la relation exp(A)exp(A) =


exp(0) = Id

Methodes iteratives dinversion


Lorsque le probl`eme est mal conditionne, les solutions iteratives successives limitent la
propagation des erreurs et pour des probl`emes a` nombre important de variables elles se
substituent avantageusement aux autres Par contre, la question de la vitesse de convergence consitute un probl`eme central. Parmi ces methodes :
- La methode de Jacobi qui peut sappliquer si les elements diagonaux de la matrice
A sont non nuls,
- la methode alternative de Gauss-Siedel dont la convergence est plus rapide,
- les methodes de sur-relaxation,
- generalized minimum residuals (GMRES) pour des matrices non symetriques de
tr`es grande dimension,
- etc.

Differentiation dune matrice A.


Soit A une matrice (nm) dont les composantes sont des fonctions de q = (q1 (t), . . . , qk (t)).
La derivee par rapport au temps de A est :
X A d qi
A d q1
A d qk
dA
=
+ ... +
=
A =
dt
q1 dt
qk dt
i=1,k qi dt

A d q
A =
matrice(m n k)
q dt

2.2

Vecteurs, torseurs et fonctions vectorielles

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

Un vecteur lie est un couple forme par un point P E et un vecteur (libre) u V.


Un vecteur glissant (P, u) est lensemble des vecteurs lies (Q, u) definis par P Q =
u, R. Cest une classe dequivalence de vecteurs lies.
Un syst`eme de vecteurs est dit lineairement independant si:
X

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

On appelle moment resultant dune famille de vecteurs lies le champ :


Q MQ =

QPi ui

i=1,n

Le point Q est le centre de reduction et MQ la valeur du champ en Q.


Produit scalaire
Le produit scalaire de 2 vecteurs de dimension n a = (a1 , a2 , . . . , an )t et b = (b1 , b2 , . . . , bn )t
est la quantite scalaire definie par :
b1
b

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

a3 = (a2 b3 a3 b2 )i + (a3 b1 a1 b3 )j + (a1 b2 a2 b1 )k


b3

Il peut etre aussi represente par :

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

Par permutation circulaire des colonnes du determinant on a :


(a, b, c) = (c, a, b) = (b, c, a)
La condition pour que 3 vecteurs soient lineairement dependants est que :
(a, b, c) 6= 0
Torseurs
Un torseur T de lespace physique de dimension 3 est forme par un couple (R, MP )
(vecteur; champ vectoriel antisymetrique).
MP repond a` la loi :
P, Q E 3 MP = MQ + P Q R
un point H tel que : R MH = 0
OH =

R MO
+ kR k kR
R2
17

droite axe central du torseur.


O
pour k = 0, OH0 = RM
R2
- Interpretation pour un torseur de vitesse
un axe tel que le mouvement de S se reduit a` un vissage (vH = 0; vH = )
vo = v k + v = v + OH
- Interpretation pour un torseur de force
mo = mk + m = f + OH f
Torseurs particuliers:
Un glisseur est un torseur qui admet comme representant un vecteur glissant (linvariant
scalaire est nul)
G(R, MQ ) R = u; MQ = QP u
si (kP, u) est un vecteur lie.
Un couple est un torseur de resultante nulle
C(0, M )
Un couple peut etre represente par deux vecteurs lies (P1 , R1 ) (P2 , R1 )
M = MQ = QP1 R1 + QP2 R1 = P1 P2 R1
Decomposition dun torseur
Un torseur, sans restriction sur R et MQ se decompose en un point P arbitraire en un
couple + un glisseur.
T = GP (R, O) + C(0, MP )
Le moment en un autre point Q est MQ = MP + QP R
Egalite de deux torseurs
Deux torseurs T1 et T2 sont egaux si :
R1 = R2 ;

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

La differentielle de la fonction f (x) est :


df (x) = f 0 (x)dx
R`egle de calcul des differentielles :
d(f g) = (f g)0 dx = f 0 gdx + f g 0 dx = gdf + f dg
Si on consid`ere une fonction f de plusieurs variables reelles (x, y), la differentielle de la
fonction est :
f
f
df =
dx +
dy
x
y
Le gradient de la fonction scalaire f qui depend dun ensemble de variables q = (q1 , . . . , qn )
en un point q est le vecteur :

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

Si on note F = (f1 , f2 , . . . , fm ) , par differentiation de F par rapport a` t on a:


dF
Fdq
=
dt
q dt
o`
u:
F
=
q

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

Notions de groupe et dalg`


ebre des groupes

Definition dun groupe


Un groupe est un ensemble G muni dune operation interne (), cest `a dire une operation
lineaire de G G G telle que limage de deux de ces elements (g1 , g2 ) est (g1 g2 ).
Cette operation doit presenter les proprietes suivantes :
1. associativite : g1 , g2 , g3 : (g1 g2 ) g3 = g1 (g2 g3 )
2. existence dun element neutre eg : g, g eg = eg g = g
3. existence dinverses : g g 1 tel que g g 1 = eg
Un exemple simple de groupe est celui de lensemble des entiers relatifs Z muni de
laddition usuelle qui forme ) le groupe note (Z, +).
Groupes de Lie

La notion de groupe de Lie realise la synth`ese des structures de groupe et de variete


differentielle. Elle permet lusage conjoint doperations de lalg`ebre et du calcul differentiel.
Un groupe de Lie de dimension n est donc une variete differentiable munie dune structure de groupe. La dimension dun groupe de Lie est, par definition, sa dimension en tant
que variete. Une variete est un ensemble qui a les proprietes dune surface en geometrie
classique. Les exemples de groupes de Lie sont nombreux. Il a ete montre en particulier que le groupe des isometries directes qui represente transformations finies des corps
rigides poss`ede une structure de groupe de Lie de dimension 6.
Alg`ebres de Lie - Espace tangent comme alg`ebre de Lie
Une alg`ebre de Lie G est un espace vectoriel muni dune application (loi de composition
interne appelee crochet de Lie) de G G dans G et qui a` x, y G associe [x, y] et qui
verifie les trois proprietes suivantes:
1. [., .] est bilineraire,
2. [x, y] = [y, x] pour tout x, y
3. x, [y, z]] + [y, [z, x]] + [z, [x, y]] = 0 x, y, z
21

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

Si la matrice de rotation R est prise sous la forme :


R=

t
r1
t
r2

r3t

On peut alors calculer facilement :


R
Rt = R ( r1 | r2 | r3 ) = R
Laction adjointe de SE(3) sur son propre alg`ebre se(3) est definie `a partir de
loperateur tangent a` la trajectoire comme :


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

Application exponentielle dun groupe de Lie.


Lapplication exponentielle dun groupe de Lie etablit une relation entre les elements
du groupe et les elements de son alg`ebre de Lie. Lexponentielle permet de reconstituer
sous la forme de developpement limite le groupe au voisinage de lelement neutre et par
translation au voisinage de nimporte quel autre element.
Lexponentielle du groupe des rotations SO(3) est etroitement lie `a la description dune
rotation par son axe et son angle. Elle est introduite `a partir de cette representation au
chapitre suivant.

23

3
3.1

Rep
erage et M
ecanismes
Rep
erage dun corps

Pour introduire le reperage dun corps, on lui attache un rep`ere RS .


un rep`ere R est forme par une origine Os et une base B(xs , ys , zs ).

Figure 6: Reperage dun corps dans lespace


un parametrage peut etre introduit sous par un vecteur position O0 OS et une representation
de lorientation de la base ( soit au total 6 param`etres independants, 3 dans le plan)
Les coordonnees dans R0 dun point P = (xP , yP , zP )t de S sont:

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

On montre egalement que :


RRt R = Id R = RId RRt = Rt R = Id
Rotation plane
On appelle groupe orthogonal de degre n du corps K le groupe des matrices orthogonales
n n a` coefficients dans K, muni de la multiplication matricielle. Il est note O(n, K).
Cest un sous-groupe du groupe general lineaire GL(n, K). Rappelons que toute matrice
orthogonale a un determinant egal a` 1 ou 1. Les matrices orthogonales n n de
determinant 1 forment un sous-groupe invariant de O(n, K) appele le groupe Special
Orthogonal et note SO(n, K). SO(n, R) definit lespace des matrices de rotation Rnn
n

SO(n, R) = SO(n) = R Rnn : RRt = Rt R = Id, detR = +1


24

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

Un vecteur V de composantes [x; y] a pour transforme le vecteur V 0 de composantes


(x0 ; y 0 ) que lon peut calculer avec :
 0
x

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

Representation de la rotation dans lespace


Rotation simple
Pour une rotation dangle autour de z (Rz0 , ):
25

Figure 7: Rotation simple

x1 .x0

on peut construire : R01 = [x01 |y01 |z01 ] = x1 .y0


x1 .z0
Dune mani`ere generale, les coordonnees dun point
:
P0 = R01 P1

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

r23 = sin cos 0


0
0
1
r33

Les composantes des vecteurs-colonnes x01 , y01 et z01 verifient 6 relations scalaires:

Figure 8: Rotation simple


2
2
2
r1j
+ r2j
+ r3j
= 1 j = 1, 2, 3
t
t
xt01 y01 = y01
z01 = z01
x01

26

Aussi, la dimension de SO(3) est 3.


t
Inversement : P1 = R01
P0
On verifie que :
Rz,+ = Rz, Rz,
Rz,0 = Id
Composition de rotations finies dans lespace
Si on fait subir au vecteur OP (note Pi dans le rep`ere Ri ) deux rotations successives a`
partir des rep`eres courants, on a :
P1 = R12 P2
P0 = R01 P1 = R02 P2 = R01 R12 P2
Les rotations finies ne peuvent pas etre representees par des vecteurs car non-commutatives
(voir figure ci-dessous).

Figure 9: Composition de rotations autour daxes de rep`eres mobiles


La composition des rotations exprimee a` partir daxes mobiles dans le rep`ere de
reference seffectue par une post-multiplication des matrices de rotation.
R0n = R01 R12 R23 . . . R(n1)n
Une trajectoire de rotation peut etre vue comme une sequence continue de rotations
:
R(t) : t SO(3)
Pour differents instants, la loi de composition du groupe des rotations conduit a` :
R(t0 , t2 ) = R(t0 , t1 )R(t1 , t2 ) t0 < t1 < t2
Angles dEuler
3 rotations consecutives autour de 3 axes mobiles qui coincident au depart avec R1 .
- une rotation dangle autour de z1 z2 (Rz1 , ). La matrice de passage du rep`ere R1
27

Figure 10: Composition de rotations autour daxes de rep`eres mobiles


au rep`ere R2 est :

R12

C S 0
C 0
=
S

0
0
1

- une rotation dangle autour de laxe x2 x3 (Rx2 , ). La matrice de passage du rep`ere


R2 au rep`ere R3 est :

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 :

R14 = Rz1 , Rx2 , Rz3 , = R12 R23 R34

(CC SCS) (CS SCC) (SS)

= (SC + CCS) (SS + CCC) (CS)


SS
SC
C

On notera que la resolution inverse est indeterminee quand = 0 ou


En dehors de cette singularite, les angles , , peuvent etre obtenus en fonction des
composantes de la matrice de rotation a` laide de la fonction atan2(u, v). Cette fonction
utilise les signes de ses arguments u, v pour determiner le quadrant de la solution :
tan1 (u/v)
si v > 0
1
x = atan2(u, v) = tan (u/v) + sign(u) si v < 0

/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` :

Figure 11: Composition de rotations definies par les angles de Roulis-Tangage-Lacet


P0 = Rz0 , Ry0 , Rx0 , P3
Param`etres de Rodrigues
Une rotation peut etre egalement introduite sous la forme dun axe L de vecteur directeur
s autour duquel se ferait une rotation dun angle . On peut alors ecrire la matrice R
directement en fonction de s et .
Si on consid`ere la rotation autour de la droite L (de vecteur directeur s) qui transforme
le point P en P 0 apr`es la rotation comme montre sur la figure. Le vecteur directeur de
laxe de rotation peut etre determine en considerant les coordonnees X des points laisses
invariants par la rotation qui sont tels que :
RX = X
En posant le probl`eme comme un probl`eme aux valeurs propres, les valeurs propres de
R sont telles que :
RX = X
29

Figure 12: Representation dune rotation par un axe+angle


et les solutions autres que X = 0 sont donnees par :
det(RX X) = 0
En developpant, on trouve comme polynome caracteristique :
( 1)(2 (tr(R) 1) + 1) = 0
Ce polynome admet comme racines :
1 = 1 2 = cos + jsin 3 = cos jsin
On note e le vecteur propre associe a` la valeur propre 1 = 1, les points de laxe L sont
tels que :
L=ke kR
Les deux autres vecteurs propres forment le plan perpendiculaire a` laxe de rotation.
Langle de rotation est :
1
= (arcos(tr(R) 1))
2
Formule de Cayley:
La formule de Cayley permet de definir les composantes du vecteur e.
e = ( e1 , e2 , e3 )t
Les ei sont les param`etres de Rodrigues. Elle peuvent etre mis sous forme dune matrice
anti-symetrique E = e.

30

La formule de Caley est obtenue en considerant la conservation des distances dans la


transformation de P en P 0 , on a :
P 0 P = RP P = (R 1)P
P 0 + P = RP + P = (R + 1)P
Si (R + 1) est non-singuli`ere, alors :
P = (R + 1)1 (P 0 + P )
(P 0 P ) = (R 1)(R + 1)1 (P 0 + P ) = E(P 0 + P )
E transforme un vecteur u en un vecteur orthogonal.
E = (R 1)(R + 1)1
Inversement si (1 E) non-singuli`ere:
E(R + 1) = (R 1)
ER+ER+1=0
(1 + E) = (1 E)R
R = (1 E)1 (1 + E)
On verifie que le vecteur e est un vecteur de laxe de rotation en considerant que les
points de coordonnees X qui restent invariants dans la rotation :
RX = (1 E)1 (1 + E)X = X
(1 E)(1 E)1 (1 + E)X = (1 E)X
(1 + E)X (1 E)X = 2E X = 2
eX = 0
Les vecteurs e et x doivent pour cela etre colineaires ou parall`eles. En developpant R en
fonction des param`etres de Rodriques a` laide de la formule de Cayley, on obtient :
(1 + e21 e22 e23 )
2(e1 e2 e3 )
2(e1 e3 + e2 )
1

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 )

avec = (1 + e21 + e22 + e23 )


On peut egalement montrer que :

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

ici S est loperateur : x s x :

S = sz
sy

sz
0
sx

sy

sx
0

A partir de cette representation dune rotation, on introduit les quaternions de norme 1


qui constituent une forme compacte de param`etrage des rotations. Cette representation
est particuli`erement bien adaptee a` linterpolation en rotation par sa simplicite (on manipule des vecteurs de dimension 4) et par le fait que, contrairement a` linterpolation sur
les representations par des syst`emes dangles, les proprietes de R sont conservees (pas
besoin de refaire la normalisation et lorthogonalisation des matrices !).
Un quaternion de rotation est sous la forme dun element de R4 q = (q1 , q2 , q3 , q4 )t et
est tel que kqk = 1 (3 param`etres independants) avec :
q0
(cos(/2)
q
s sin(/2)

q = 1 = x

q2
sy sin(/2)
q3
sz sin(/2)

On lecrit egalement sous la forme dun couple forme du reel a et du vecteur ~v de R3


dont les coordonnees sont (b, c, d).
q = (a , ~v )
Cette notation permet de definir la somme et le produit (non commutatif) de la facon
suivante :
q1 + q2 = (a1 , ~v1 ) + (a2 , ~v2 ) = (a1 + a2 , ~v1 + ~v2 )
q1 q2 = (a1 a2 ~v1 ~v2 , a1 v2 + a2 v1 + ~v1 ~v2 )
Elle permet aussi de definir les 3 notions suivantes : le conjugue dun quaternion : q = (a , ~v ),
le produit scalaire de deux quaternions : q1 q2 = (a1 , ~v1 )(a2 , ~v2 ) = a1 a2 +~v1 ~v2
la norme dun quaternion : kqk =
1
(a2 + k~v k2 ) 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) =

q12 + q22 + q32

q1

2
2
2
s = 1/ q1 + q2 + q3 q2
q3
q

Coordonnees exponentielles dune rotation :


Pour une rotation autour de laxe de vecteur unitaire s, on a :

=
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

La serie infinie se reduit `a un polynone dordre 2 en


et :
R(s, ) = e[s] = Id + sin
s + (1 cos )(
s)2
On verifie que e[s] est bien une matrice de rotation ([es]1 = [es ]t ) et det[es ] = +1.

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

Figure 13: Representation dun deplacement de solide rigide




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


Son action sur un point p de Rn est donnee par :


g = (R, d) p Rn g(p) = R p + d
34

la dimension de lespace des configurations d = 3, 6 dimension du groupe des


deplacements SE(2), SE(3).
Composition de 2 deplacements

Figure 14: Composition de 2 transformations


La composition de 2 deplacements est un deplacement :

P0
1

R01
0

d01
1



R12
0

T02 = T01 T12





d12
P2
R01 R12
=
1
1
0

1 0
lelement neutre est : Te =
0 
1
 t
t
R
R
d
linverse est : T 1 =
0
1


3.2

R01 d12 + d01


1



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

les liaisons dependantes du temps (rheonomes) (h/t 6= 0) : h(q, q,


t) = 0
Leventuelle dependance par rapport au temps dune liaison vient necessairement
dobstacles mobiles dont la position connue a priori depend explicitement du temps
.
les liaisons independantes du temps (scleronomes) ((h/t = 0) : h(q, q)
=0
les liaisons holonomes : h(q, t) = 0
Les liaisons sont dites holonomes (ou geometriques) lorsque les solides ne sont
astreints comme nous verrons juste apr`es qu`a des conditions geometiques.
les liaisons non-holonomes : h(q, q,
t) = 0
Lorsquen plus des conditions geometriques sajoutent des conditions cinematiques
(`a travers les vitesses generalisees), les liaisons sont dites non-holonomes.
Liaisons holonomes
A titre dexemple de liaison holonome, nous considerons le cas des liaisons de rotation
et de translation dans le plan.
- Liaison de rotation (dans le plan):

Figure 15: Contraintes relatives aux liaisons de rotation et translation planes


Les points geometriques des deux solides restant en coincidence, on a :
(Pi )R0 = (Pj )R0
Oi + R0i Pi Oj R0j Pj = 0
ou encore sous une forme matricielle :


Oix
Oiy

Ci
Si

Si
Ci



Pix
Piy

Oj x
Oj y

Cj
Sj

Sj
Cj

On a ici 2 relations scalaires (h1 et h2 ) de contrainte.


- Liaison de translation (dans le plan):
Dans ce cas, les 2 relations de contraintes sexpriment :
h1 : i j c = 0
h2 : (Pi Pj )tR0 (Pi Qi )R0 = 0
36



Pj x
Pj y

0
0

 

avec : (Pi Pj )R0 = (Oi + R0i Pi Oj R0j Pj )


et :(Pi Qi )R0 = R0i (Pi Qi )
Ces relations scalaires refl`etent les contraintes mecaniques imposees sur le deplacement
relatif des 2 corps lies par la liaison.
Pour une liaison dindice i, le nombre de ces contraintes (satisfaites par les efforts
dinteraction entre les corps) est note ui . ui represente donc egalement la dimension du
torseur des efforts dinteraction entre par exemple les corps k et l (ui = dim(Ts (Sk /Sl )).
De plus, si la liaison est parfaite (non-dissipative), le mouvement relatif entre les
corps k et l peut etre defini par un torseur complementaire reciproque Tc (Sk /Sl ) a` ce
dernier et donc tel que :
Ts (Sk /Sl ) Tc (Sk /Sl ) = 0
ki = dim(Tc (Sk /Sl )) designe le degre de la liaison. (i.e. nombre de degres de liberte).

Dune mani`ere generale les liaisons holonomes introduisent u relations de contrainte


du type hj (q,t) j = 1, u; q = (q1 , q2 , . . . , qn )
h(q, t) 0
Ces equations de liaison traduisent la dependance des param`etres de configuration. Si
celles-ci sont independantes et reguli`eres (lapplication q h(q) est de rang plein, alors
le parametrage est strict. Dans ce cas particulier, un parametrage surabondant introduisant n param`etres pourra etre reduit `a p param`etres independants (n > p).
Representation des liaisons simples et complexes par leur groupe de deplacement.
Il existe de nombreux types de liaisons geometiques. Les liaisons sont generalement
classees en liaisons simples et liaisons complexes. Parmi les liaisons simples, on distingue
les liaisons de rotation (R), les liaisons de translation (ou prismatiques P), les liaions
cylindriques (C), plan (E), et spheriques (S). Notons que les 3 derni`eres peuvent etre
obtenues par combinaison des 2 premi`eres qui sont dites liaisons elementaires. Ceci se
verifie directement en utilisant la loi de composition du groupe des deplacements (non
contraints) SE(n). La figure 16 illustre 2 decompositions equivalentes dune liaison
spherique.
Les mouvements entre deux solides contraints par lune ou lautre de ces liaisions forment

Figure 16: Decomposition dune liaison spherique

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

La dimension de ce generateur sera au plus egal a` :


dim(Bii+j ) =

i+j1
X

dim(Gk ) dim(G1 G2 . . . Gi+j1 )

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

Figure 17: Mecanismes parall`eles equivalents cinematiquement

Figure 18: Roulement sans glissement dune roue sur un plan

39

conditions cinenatiques, on parle alors de lexistence de liaisons non-holonomes. Elles


sont de la forme :
f (q, q,
t) = 0
Une liaison non-holonome necessite une liaison holonome traduisant le contact. Un
exemple typique de liaison non-holonome est celui dune roue qui roule sans glisser sur
un plan. La vitesse de glissement dans R0 du point IS1 dans le mouvement relatif de S2
par rapport a` S1 est:
U = It It
U plan tangent
S1

S2

Si on introduit comme param`etres du syst`eme lensemble q = (x, y, ), si le glissement


lateral de la roue est empeche, on introduit pour traduire cette contrainte une relation
entre les derivees par rapport au temps des param`etres qui est :
f1 = sin x cos y = 0

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

Figure 19: Representation de lespace des configurations

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

m est le nombre de degres de liberte du syst`eme.


La mobilite dun syst`eme holonome est egale a` la dimension de lespace des configurations du syst`eme. m, le param`etre de mobilite generale dun tel syst`eme represente le
nombre de param`etres a priori independants necessaires pour definir la configuration de
41

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

Figure 20: Schema cinematique et graphe associe de lhexarobot


Terminologie des graphes
- le degre dun sommet est le nombre daretes qui lui sont incidentes
- un chemin constitue une suite de corps (sommets) adjacents (relies pas un arc).
- un cycle (un circuit) est un chemin dont tous les sommets sont distincts qui debute et
se termine sur le meme corps.
- un cycle est dit elementaire ssi il est minimal, `a savoir si on ne peut deduire un autre
cycle par suppression darcs et si il ne comporte pas dautres cycles.
- la dimension de la base de cycles est donnee par = (n b + 1)
- un graphe est connexe si chaque paire de sommets est reliee par une chane.
- Les composantes connexes dun graphe sont constituees des classes dequivalence de

42

sommets induits par la relation est accessible a` partir de.


Notons que la connectivite des corps se represente tr`es directement par une matrice
dadjacence dont les composantes non-nulles peuvent egalement servir `a differentier les
types de liaison.
Topologies particuli`eres :
Un tr`es grand nombre de syst`emes robotiques, les syst`emes de manipulation robotises
notamment, forment des structures acycliques (arborescentes) que nous designerons par
syst`emes series.
Dautres structures particuli`eres prennent la formes de chemins disposes en parall`eles
(pouvant comporter des cycles internes) entre deux sommets particuliers (deux poles).
Nous les designerons par syst`emes parall`eles.

Figure 21: Robot a` topologie serie - Robot a` topologie parall`ele

3.5

Mobilit
e des m
ecanismes

La notion de mobilite peut-etre etendue `a tout mecanisme constitue de (b 1) corps


mobiles et n liaisons binaires. Lindice de mobilite dun mecanisme se determine de la
facon suivante :
m = d(b 1)

ui

i=1,n

- d: dimension de lespace dans lequel le mecanisme evolue (d = 3, 6)


- ui : nombre de contraintes sur les mouvements relatifs dans la i`eme liaison ui = (d ki )
- ki : classe cinematique de la i`eme liaison.
m = d(b 1)

(d ki ) = d(n b + 1) +

i=1,n

m=

ki

i=1,n

ki d = Ic Ec

i=1,n

- Ic : nombre dinconnues cinematiques dans les liaisons du mecanisme


- Ec : nombre dequations scalaires de contraintes (qui forme le syst`eme homog`ene

43

A(q)q = 0 resultant de la presence de cycles cinematiques).


Interpretation
- m, lindice de mobilite est un entier relatif. Il ne refl`ete que la topologie du syst`eme
et represente le nombre de param`etres a` priori necessaires pour fixer la configuration de
tous les corps du mecanisme relativement les uns les autres. Celle mobilite peut etre
repartie comme lillustre lexemple de la figure 22.

Figure 22: Mecanisme a` mobilite repartie


- m > 0 le mecanisme presente une mobilite. Le nombre de param`etres de configuration est m.
- m = 0 le mecanisme est bloque structure.
- m < 0 le mecanisme est bloque et hyperstatique.
- m = mu + mi : la mobilite totale dun mecanisme peut par lanalyse parfois faire
apparatre une mobilite interne. La theorie des mecanismes seule ne permet pas de faire
cette distinction.
Hyperstatisme
h = d(b 1) +

ui = Es + Is

i=1,n

- Es : nombre dequations scalaires traduisant lequilibre statique (dynamique) de (b 1)


corps.
- Is : nombre dinconnues statiques (dynamiques) de liaison.
Les indices de mobilite et dhyperstatisme verifient la relation :
m+h=0
m et h ne refl`etent que la topologie du mecanisme. Une etude des syst`emes dequations
associes permet de mettre en evidence la mobilite reelle des mecanismes et leur degre
dhyperstaticite. La mobilite reelle dun mecanisme est :
mr = Ic rg(Ec )
La mobilite dun mecanisme peut etre augmentee (dun ou de plusieurs degres) du fait de
particularites geometriques entre les axes geometriques des liaisons. Cette modification
44

peut etre permanente ou locale.


La mobilite reelle du mecanisme represente sur la figure ?? est par exemple gale a` 3
alors que sa mobilite generale est nulle. Les particularites geometiques entre les axes des
laisions (les axes des liaisons de chaque chemin sont prall`eles) lib`erent des contraintes.

Figure 23: Manipulateur parall`ele 3CRR


Pour un mecanisme presentant une ou plusieurs chanes fermees, sa mobilite peut
aussi etre determinee par :
mr = dim(N (A(q))
Pour lexemple de la figure 24, dim(N (A(q)) = 1
On notera que la mobilite (au sens de cet indice) dun syst`eme serie nest jamais modifiee.

Figure 24: Mobilite dun syst`eme bielle/manivelle


On interpr`ete les singularites comme des points stationnaires dans la transmission des
mouvements articulaires.
De facon analogue, lhyperstaticite reelle dun mecanisme est :
hr = Is rg(Es )
On demontre par ailleurs que :
m = mr hr

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 :

Figure 25: Definition des param`etres de DH modifies


laxe zi du rep`ere Ri est colineaire a` i
laxe xi est la commune a` zi et zi+1
si zi et zi+1 sont k ou colineaires, le choix de xi nest pas unique
les intersections de xi , zi et xi+1 , zi+1 sont les points Oi et Oiint
on rep`ete sur tous les corps
Transformation Ri1 Ri
Ri1 Rint
i1 Ri
D(di , i )

D(ri , i )

Ti1,i = Ti1,int Tint,i


1
0
0 C

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 :

Figure 26: Definition des param`etres de DH originaux


Ci
C S
i1
i
=

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

- Le rep`ere R0 est pris comme confondu avec R1 quand 1 = r1 = 0


- La definition de xn est libre car zn+1 nexiste pas. On le prend comme colineaire a` xn1
47

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 :

Figure 27: Exemple de syst`eme avec ses rep`eres de DH modifies


di
0
a
a

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

Le probl`eme dit geometrique direct consiste a` determiner t la configuration du rep`ere


lie `a leffecteur (que nous noterons Rh (h pour hand)) par rapport a` un rep`ere fixe par
exemple R0 a` partir des mesures des positions articulaires qi .
Pour cela, on etablit lequation de structure du syst`eme qui est :
T0h = T01 T12 T23 . . . T(n1)n Tnh
T0h (, , , XOh , YOh , ZOh ) = T01 (q1 ) T12 (q2 ) T23 (q3 ) . . . T(n1)n (qn )Tnh (ctes)
T0h = T01 T12 T23 . . . T(n1)n Tnh
T0h (, , , XOh , YOh , ZOh ) = T01 (q1 ) T12 (q2 ) T23 (q3 ) . . . T(n1)n (qn )Tnh (ctes)
Resolution du probl`eme geometrique direct:
(, , , XOh , YOh , ZOh )t = F (q1 , . . . , qn )
48

Figure 28: Composition des transformations elementaires


on identifie les composantes des matrices des membres de droite et de gauche de
lequation de structure.
r11
r

= 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

Utilisation du MGD dans la commande de manipulateurs.

Figure 29: Exemple dutilisation du MGD a` la commande


Application au 3R plan
Tableau des param`etres de DH
di
0
a1
a2

i
1
2
3
49

ri
0
0
0

i
0
0
0

Figure 30: Rep`eres de DH associes au 3R Plan


Mod`ele geometrique direct
T0h (XP , YP , ) = T01 (1 )T12 (2 )T23 (3 )T3h (a3 )
C123
S
123
=

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

Application au robot PUMA

Figure 31: Representation du robot PUMA


Tableau des param`etres de DH (modifies)
50

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

Tableau des param`etres de DH (non-modifies)


ai1
i1
di
i

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

Les syst`emes de transmission de mouvement utilisent souvent des mecanismes en chane


fermee. Cest notamment le cas sur les syst`emes de la figure 32. On a alors `a obtenir les

Figure 32: Exemple de mecanisme presentant une chane fermee


relations de contrainte entre les param`etres geometriques pour proceder a` une reduction
du parametrage notamment.
Principe : On proc`ede a` une coupure virtuelle sur lun des corps du mecanisme.
Equation de structure:
Y

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

Figure 33: Exemple du mecanisme bielle-manivelle

Figure 34: Modes dassemblage pour x donne


C123
S
123

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

Si x est la variable de commande, les relations de contrainte donnent :


C2 =

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

Equations de structure des syst`emes parall`eles


Sur lexemple dun manipulateur parall`ele a` 6 ddl
Pour le chemin j entre S0 et SP , on peut etablir lequation de structure suivante :
j
j
j
j
j
j
j
j
T0h
= Tf 0 T01
T12
T23
T34
T45
T56
T6h

52

Figure 35: Exemple de la plate-forme de Gough-Stewart


R6h 06 Oh
=
Ici
0
1
Pour chaque cycle du mecanisme :
j
T6h

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

Figure 36: Mecanisme parall`ele plan 3*3R


les axes des liaisons passant par les points 0i ) etant donnee, les points Ai sont fixes. On
peut considerer le mecanisme 4-barres A1B1B2A2 . La barre B1 B2 decrit une trajectoire
de couplage qui est decrite par un polynome de degre 16. On montre que lintersection
de cette courbe avec le cercle que peut decrire la barre A3 B3 a 6 solutions.
53

La resolution du probl`eme geometrique direct des manipulateurs parall`eles est generalement


appropriee au syst`eme considere. Nous donnons lexemple du 3RPR plan 37. Pour ce

Figure 37: Mecanisme parall`ele plan 3RPR


manipulateur, le mod`ele geometrique direct peut etre etabli `a partir des equations de
structure (en position)suivantes :
21 = x2 + y 2
22 = (x + l2 C A2x )2 + (y + l2 S A2y )2
23 = (x + l3 C( + ) A3x )2 + (y + l3 S( + ) A3y )2
En placant le point A2 tel que A2y et en retranchant lequation (1) aux equations (2) et
(3), on obtient le syst`eme de deux equations suivant :
Rx + Sy + Q = 0
Ux + V y + W = 0
avec :
R
S
Q
U
V
W

=
=
=
=
=
=

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

desquelles on peut determiner :


SW V Q
RV SU
RW U Q
y =
RV SU

x =

54

En substituant ces expressions pour x et y dans la premi`ere equation (21 = x2 + y 2 ),


et en remplacant les fonctions sin et cos par leur expression en fonction de la tangente
de t = tan(/2), on obtient un polynome de degre 6 en t. Si RV SU est nonnul, en reportant dans les expressions de x et y, on resoud compl`etement le probl`eme
geometrique direct pour ce syst`eme plan. Si RV SU = 0, dans ce cas le manipulateur
est dit degenere. Il faut alors adapter la methode de resolution.
Pour des plates-formes de Gough-Stewart (voir figure 35), une methode pour resoudre
le probl`eme geometrique direct est consiste a` utiliser des techniques delimination algebrique
comme lelimination dyalitique dont les principes sont exposes dans la section suivante.
Un exemple dapplication de cette methode a` ce probl`eme est developpees dans : Forward kinematics of the general 6-6 Stewart platform using algebraic elimination, T-Y.
Lee, J-K. Shim, Mechanism and Machine Theory, Vol 36 (2001)
Lensemble des 40 solutions au probl`eme peuvent etre alors determinees.
Lorsquil nexiste pas de probl`eme de convergence, des algorithmes doptimisation
comme lalgorithme de Newton-Raphson peuvent etre utiliser `a partir de la fonction
co
ut :
i2
X h
F (q) =
kbi OP + R0P tk2 2i )
i=1,6

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

a` partir de ces 12 equations, on resoud les qi , i = 1, n.


Seules 6 equations parmi les 12 sont independantes
Discussion sur les solutions
En notant m le nombre de param`etres de configuration imposes a` leffecteur
- m > n, le syst`eme est contraint par rapport `a la tache (solution approchee)
- m < n, le syst`eme est redondant par rapport a` la tache (infinite de solutions)
- m = n, le nombre de solutions au PGI est fini.
Illustration des solutions au PGI du PUMA

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

T01 (1 )T12 (2 )T23 (3 )T3h

(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

Resolution des equations typiques


Dans la resolution des variables articualires qi , on aboutit generalement pour des syst`emes
analytiques `a des equations du type de celles ci-dessous :
Equation du type (1)
xSi + yCi = z
Si z = 0
i = atan2(y, x) et i0 = atan2(y, x)
Si z 6= 0
yCi = z xSi
y 2 (1 S 2 i ) = z 2 2zxSi + x2 S 2 i
S 2 i (x2 + y 2 ) Si (2xz) + (z 2 y 2 ) = 0

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

On peut alors entreprendre la resolution comme celle dun syst`eme de 2 equations a` 2


inconnues
Application au robot PUMA

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

Resolution de 1 , 2 , 3 pour la mise en position.


04x
0
0
0
4y

= T01 T12 T23 T34


04z
0
1
1

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

= T12 T23 T34


T01
0
04z
1
1

Par identification de la seconde composante on trouve :


S1 04x + C104y = 0
10 = atan2(04y , 04x )

1 = atan2(04y , 04x )
Resolution de 2 et 3 .

0
04x
0
0

4y
1

= T23 T34
T02
0
04z
1
1

en utilisant les 2 premi`eres equations :


C2((C1 04x + S1 04y ) + S2 04z ) = RL4S3 + D3
S2((C1 04x + S1 04y ) + C2 04z ) = RL4 C3
cela revient `a une equation du type (2).
On derive 3 de ces memes equations.
3 = atan2(S3, C3)
S3 = [04z S2 (C1 04x + S1 04y )C2 + D3 ]/RL4
C3 = [S2(C1 04x + S1 04y ) + C2 04z )]/RL4
Resolution de 4 , 5 , 6 pour lorientation. On utilise :

06
R03 R36 = R

sx

R30 sy
sz

nx
ny
nz

Fx
ax

ay = F y
az
Fz

Gx
Gy
Gz

En identifiant les termes de :


t
R34
(F G H) = R46

a` partir de lelement (2, 3), on obtient :


C4Hz S4Hx = 0
ce qui conduit a` :
4 = atan2(Hz , Hx )

40 = 4 + 180

a` partir des lelements (1, 3) et (3, 3), on obtient:


S5 = C4Hx S4 Hz
60

C5 = Hy

Hx

Hy
Hz

Figure 38: Singularites du robot PUMA


a` partir des lelements (2, 1) et (2, 2), on obtient:
S6 = C4Fz S4Fx

C6 = C4Gz S4Gx

Lanalyse de ces expressions permet didentifier des configurations singuli`eres.


Methode numerique de resolution du PGI des manipulateurs
Des methodes numeriques iteratives, comme la methode de Newton-Raphson peuvent
etre utilisees pour determiner 1 solution au probl`eme geometrique inverse
Principe :
La methode de Newton permet de resoudre un syst`eme de n equations (non lineaires) en
cherchant les zeros de fonctions contin
ument derivables. Dans le principe, lalgorithme
de Newton-Raphson est une generalisation de la methode de Newton utilisee pour la
recherche des racines dune fonction dune variable reelle a` valeurs reelles.
Lalgorithme de Newton consiste `a lineariser une fonction f en un point et de prendre
le point dannulation de cette linearisation comme approximation du zero recherche.
Si nous considerons une equation non-lineaire de la forme g(x) = 0. Pour determiner
le point x? ou la courbe coupe laxe des x (o`
u la fonction sannule), si lapproximation
courante est xk , par linearisation de g(x) on a:
dg(xk ) k+1
(x
xk )
g(x ) g(x ) +
dx
k+1
Si on consid`ere que g(x ) = 0, alors :
k+1

g 0 (xk )(xk+1 xk ) = g(xk )


xk+1 est le point de la tangente qui coupe laxe de x tel que :
xk+1 = xk

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

geometriques de position et dorientation de leffecteur. Il sagit donc de resoudre un


syst`eme dequations suivant :

f1 (q) + x1 = 0
...
... ...

f6 (q) + x6 = 0

(1)

Si X ? est la configuration absolue a` atteindre et q ? la configuration articulaire recherchee


telle que X ? = F (q ? )
Lapplication de la methode de Newton-Raphson au syst`eme dequations non-lineaires
X = F (q)
q k+1 = J 1 (q k )(X ? X k )
J 1 est ici une inverse de J.
Autres methodes
Beaucoup dautres methodes iteratives sont applicables a` la resolution de syst`emes
dequations non-lineaires. Elles presentent parfois des probl`emes de convergence (en
pratique tr`es sensibles a` linitialisation). Ces difficultes am`enent a` utiliser des methodes
dhomotopie ou de continuation.
La methode delimination symbolique, basee sur le schema de lelimination dialytique
est une methode qui peut etre mise en oeuvre en temps-reel. Cette methode comporte
plusieurs etapes qui sont les suivantes : techniques algebriques delimination de variables
1. Choisir les produits des puissances qui constituent les inconnues. Par exemple les
produits des puissances dans xz 2 + 6xy + 3yz + 4z + 1 = 0 sont xz 2 , xy, yz, z, 1
2. Introduire une inconnue dans les coefficients du polynome qui devient la variable
3. Ajouter une equation pour former un syst`eme homog`ene
4. Former un polynone en la variable a` partir en annulant le determinant du syst`eme
dequation.
5. Resoudre les racines du polynome.
6. Remplacer la variable trouvee dans le syst`eme initial et reiterer avec une autre
variable
Exemple :
e11 x21 + e12 x22 + e13 x1 x2 + e14 x1 + e15 x2 + e16 = 0
e21 x21 + e22 x22 + e23 x1 x2 + e24 x1 + e25 x2 + e26 = 0
les eij etant des coefficients constants.
En considerant que les puissances de x2 font partie des coefficients, le syst`eme dequations
precedent se reecrit :
Ax21 + Bx1 + C = 0
A0 x21 + B 0 x1 + C 0 = 0
62

avec : A = e11 , B = e13 x1 + e14 et C = e12 x22 + e15 x2 + e16


et A0 = e21 , B 0 = e23 x1 + e24 et C = e22 x22 + e25 x2 + e26
Les produits des puissances sont x21 , x1 et 1 et les equations initiales sexpriment sous la
forme dun syst`eme lineaire de ces produits. On genere des equations supplementaires
pour rendre ce syst`eme carre en multipliant par exemple les equations par x1 . Ainsi on
aboutit au syst`eme :

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

On etablit ensuite un syst`eme de 14 equations scalaires en utilisant les composantes des


vecteurs colonnes 3 et 4 des matrices au memebre de droite et au membre de gauche de
lequationde structure utilisee.

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

Pour traiter du cas des plates-formes de Stewart-Gough, la formulation la plus frequemment


utilisee pour obtenir la forme analytique de la solution exploite les equations de contrainte
en position de chacun des chemins entre S0 et SP produitent par un chemin cinematique.
Sur lexemple de la figure ??, Pour j = 1, ..., 6, on a lequation de structure en position

Figure 39: Plate-forme de Stewart


:

0
0
0
0
Y

j
j
Tfj0
T(i1)i
T6h
= Tf h
0
0
i=1,6
1
1

ce qui conduit a` lequation vectorielle :


j
df h = 0
Ofj 0 + dj06 + O6h

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

Identification des param`


etres g
eom
etriques
Etalonnage des robots s
eries

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

On formule generalement le probl`eme de letalonnage sous la forme suivante :


f (q, X, r ) = 0
o`
u:
- X represente le vecteur des param`etres definissant position et orientation de leffecteur,
- q est le vecteur des param`etres generalises du syst`eme,
- r le vecteur des param`etres geometriques reels (`a determiner) qui minimise lerreur
sur le mod`ele.
Lobjet de letalonnage est de determiner la valeur des param`etres geometriques
qui minimise lerreur sur le mod`ele. Il sagit dun probl`eme doptimisation non-lineaire
qui peut etre aborde par exemple a` laide dune methode des moindres-carres.
La linearisation par un developpement de Taylor au premier ordre en du mod`ele
precedent conduit a` :
y(q, X, ) = (q, )
avec :
- y, lerreur observee sur la configuration de leffecteur,
- , le vecteur des valeurs nominales de param`etres geometriques,
- = r le vecteur des erreurs des param`etres geometriques,
- est la matrice Jacobienne derivee de la fonction f par rapport aux param`etres
geometriques .
Pour estimer , on place le manipulateur dans un certain nombre de configurations
1 2 k
q , q , q ceci pour former un syst`eme dequations surdetermine.
Y = W (Q, )
(q 1 , )
y 1
(q 2 , )
y 2

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

Ces vecteurs forment les colonnes de la matrice W .

Les deformations des elements de structure introduisent egalement des erreurs de


positionnement. Sous lhypoth`ese des petites deformations, on peut `a laide de la loi de
Hooke determiner les deformations induites par les contraintes (de torsion et de flexion
en particulier) ceci en considerant chaque corps encastre au niveau de sa liaison avec le
corps amont. De la meme mani`ere que pour lidentification des param`etres geometriques,
on peut mettre les expressions analytiques des combinaisons des petites deformations de
structures (voire egalement articulaires) sous une forme matricielle.
5.3.2

Etalonnage des robots parall`


eles

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

Mouvement dun point

Le mouvement dun point sequence continue de positions occupees au cours du temps


decrivant une trajectoire. A chaque instant t correspond une position M (t) et une valeur
de s(t) larc Mg
0M .
Lapplication t s(t) est la loi horaire du mouvement du point M .
La vitesse de M a` linstant t dans R est definie par le vecteur:
vM = lim

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 )

La vitesse dun point peut resulter de la combinaison de plusieurs mouvements relatifs.


Considerons que dans R0 , on observe le mouvement fixe et dans R1 , on observe le mouvement relatif.
O0 M (t) = O0 O1 (t) + O1 M (t)
M (t) = 01 (t) + m(t)
d
(mx x1 + my y1 + mz z1 )
dt
d
d
d
d
d
d
= v01 + mx (x1 ) + my (y1 ) + mz (z1 ) + (mx )x1 + (my )y1 + (mz )z1
dt
dt
dt
dt
dt
dt
vM = v01 +

vM

67

Si les derivees par rapport a` R0 des vecteurs x1 , y1 , z1 sont representees dans R1 :


d(0)
x1 = ax1 + by1 + cz1
dt
d(0)
z1 = gx1 + hy1 + iz1
dt

a d
d
d
d

mx (x1 ) + my (y1 ) + mz (z1 ) = b e


dt
dt
dt
c f

g
mx

h my
i
mz

Puisque la base est orthonormee, on a:


a=e=i=0

b+d=f +h=g+c=0

de sorte que la matrice precedente devient :

0
b

0
b
g f

= 01

0
=
r
q

f
0
r
0
p

+q
p

01 = vect(01 ) = px1 + qy1 + rz1


01 : vecteur taux de rotation instantanee
On verifie que :
d(0)
x1 = ry1 qz1 = 01 x1 ;
dt

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

Vitesse dun solide

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)

Pour un mouvement de rotation pure


t
P0 = R 01 R01
P0

t est une matrice anti-symetrique.


RR
RRt = 1
t + RR t = 0
RR
(R t ) Rt .
t = RR t = (RR
t )t
RR
t=
soit en notant RR

=
t

pour une rotation simple

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

Pour un mouvement general


Si lon consid`ere maintenant:


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

01 et v00 definissent le champs des vitesses de R1 .


Les composantes vectorielles (01 , v00 ) sont les elements de reduction du torseur des
vitesses.
La vitesse en chaque point P est obtenue par :

vP x

v

01
Py

=
vP z
0
0

6.3

Px


v00
Py

Pz
0
1

Composition de mouvements relatifs

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 :

(vP ) = vPR1 + vPR2


Composition des vitesses angulaires :
t
t

02 = R 01 R01
+ R01 R 12 R12

02 =
01 +
12

02 = 01 + 12

Extension `a un nombre n de rep`eres:


(0)

vP Rn =

X
n

(vP Ri )(i1)

0n =

sous forme dun bivecteur:


(, vP )(0)
Rn =

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

$1 .$2 = s1 .sO2 + s2 .sO1 = (s1 .sO2 + s2 .sO1 ) + (1 + 2 )s1 .s2

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

Un syst`eme de torseurs est une combinaison lineaire de torseurs geometriques de


lespace des torseurs .
On peut se donner comme base canonique de lespace des torseurs, celle constituee par
les torseurs:
Bc = ((x, 0), (y, 0), (z, 0), (0, x), (0, y), (0, z))
71

lensemble des torseurs reciproques a` un sous-ensemble T 0 de T , note T R est defini


comme:
T R = {$R T R ; $ T 0 ; $R .$ = 0}
Relation sur les dimensions:
dim(T R ) = dim(T 0 ) dim(T )

6.5

Mod`
ele cin
ematique direct

Le mod`ele cinematique direct permet dobtenir la vitesse absolue de leffecteur (par


exemple) resultant de la combinaison des mouvements relatifs des liaisons.

Notations du mouvement relatif


Les liaisons motorisees ont 1 ddl. Si zi est colineaire a` laxe de la liaison :
rotation
TC (Si /Si1 ) = i (zi , P Oi zi )
TC (Si /Si1 ) =

zi
P Oi zi

translation
TC (Si /Si1 ) = i i (0, zi ) = vi (0, zi )


TC (Si /Si1 ) = ri

0
zi

Mod`ele cinematique des chanes ouvertes


Formulation torsorielle
TC (Sn /S0 ) =

TC (Si /Si1 )

i=1,n

q1

q2

q3

TC (Sn /S0 ) = q1 $1 + q2 $2 + . . . + qn $n = [$1 , $2 , . . . , $n ]


.


.
qn
72

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

Derivation de lequation de structure


Rappelons que lequation de structure dune chane serie secrit comme :
T0n =

Ti1,i

i=1,n

On obtient la position dun point P dans R0 par :


P0 = (

Ti1,i )Pn

i=1,n

La vitesse de P par rapport au referentiel R0 est :


P0 =

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

(, , , x, y, z)t = (f1 (q1 , q2 , . . . , qn ), f2 (q), . . . , fm (q))t


(x1 , x2 , . . . , xm )t = (f1 (q1 , q2 , . . . , qn ), f2 (q), . . . , fm (q))t
X = F (q(t))
La derivation par rapport au temps donne :
d x1
f1
f1
f1
=
q1 +
q2 + . . . +
qn
dt
q1
q2
qn
73

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

( qfj1 , qfj2 , . . . , qfjm )t

- $j =
En notation vectorielle :

Fdq
dX
=
dt
q dt
X = J q

avec

Jij =

fi
qj

Le changement de point et de base dans le calcul de J se fait directement par utilisation


dune matrice adjointe.
Dans le cas particulier dun manipulateur decouplant position et orientation de leffecteur,
la matrice J ecrite au point particulier de decouplage prend la forme suivante :
J=

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

Figure 40: Coupure virtuelle transformant le mecanisme en chane ouverte


par la loi de composition des vitesses:
Principe : on ajoute aux n corps en mouvement un n + 1 `eme corps qui lon met en
concidence avec S0 .
X

TC (Sn+1 /S0 ) = 0 =

TC (Si /Si1 ) =

i=1,n+1

TC (Si /Si1 ) + TC (S0 /Sn )

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

H = (l1 S1 + r3 S12 ) r3 S12


l1 C1 + r3 C12
r3 C12

0
C12
S12

0
0

Partitionnement des variables:


Dans le cas dun syst`eme contraint si m > 0; (Ec = d < Ic );
En partitionnant q = (qdt , qit )t ; H peut secrire comme:

(nc < n) :

H(nc n) q = Hd(nc nc ) qd + Hi(nc (nnc )) qi


Si Hd est non-singuli`ere:
qd = Hd1 Hi qi


q =

Hd1 Hi
qi
1


Loi entree/sortie (premi`ere methode):


On peut etablir la relation entre une variable dentree du mecanisme (ex. 1 ) et une
75

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

Si $ji sont lineairement independants, on determine $R i :


j

$R i .$jk = 0, k 6= i pour k = 1, ..., 6 (a)


En mutlipliant ce torseur a` droite et `a gauche:
j

qij ($ji .$R i ) = $.$R i

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 est une matrice diagonale regroupant les termes $R i .$ji .

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

- D, est de dimension (N g m), les coefficients sont N g torseurs reciproques :




1 t
D = ($R
1 )

t
($R
2 )

t
. . ($R
g )

t

Exemple : Le syst`eme 3RPR de la figure 41 presente une mobilite de 3. On utilisera

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

En notant les composantes des vecteurs OP Bj et Bj Aj dans RP

aj

OP Bj = bj
0

Uj

etBj Aj = Vj

0
j

Pour eliminer les variables, on utilisera le torseur reciproque $R 2 tel que :


j

$R 2 .$jk = 0, pour k = 1, 3
et qui est :
j

$R 2 = ( C1j , S1j , aj C1j )t


Ce torseur peut etre interprete physiquement comme laction transmise par le chemin j
sur SP par lactionneur de la liaison active consideree.
Le syst`eme etant symetrique, on obtient donc directement le mod`ele cinematique qui
prend la forme suivante :
1 0 0
r21
C11

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

On obtient donc legalite :


r2j z2j + S j /S0 r2j z2j = vOP + Bj OP
3

78

En projetant cette equation sur laxe z2j , on a :


r2j

(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 :

Figure 42: Schema cinematique dun mecanisme de prehension articulee


vBj = Jvj qj
qj etant le vecteur regroupant les autres variables cinematiques du chemin j. Le mod`ele
cinematique de lensemble peut donc secrire sous la forme suivante (toujours en considerant lexemple ci-dessus):

Jv1

0
0

0
Jv2
0

E1
0
q1


2
0 q = E2 X
q3
E3
Jv3

79

Transmission des efforts

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.

Classification des actions:


Efforts interieurs : efforts dinteraction - efforts de liaion - et efforts qui sopposent
aux deformations
Efforts exterieurs : efforts de contact entre SP /Ext a` , efforts actionneurs, effets a`
distance.

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

Deplacement virtuel dun solide:


Le champ des deplacements virtuels (TC (Si ) = (i , Oi )) de Si verifie la relation :
Pi = Oi + Pi Oi i
Pour un solide dans le plan:
Pi = Oi + (Ri pi ) = Oi +
ou sous forme vectorielle :

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

Travail dune force exterieure sur Si


Le travail virtuel dune force appliquee en Pi secrit :
We,i = Fi .Pi = Fit Pi
We,i

We,i = Fi .Oi + Fi .(Pi Oi i )


= Fi .Oi + Mi(O ) .i = TC (Si ).TS (Si )
i

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

Travail dun syst`eme de forces exterieures


Le travail dune famille de forces (Pj , Fj ) appliquee a` Si secrit :
We , i = F1,i .P1,i + F2,i .P2,i + . . . + Fnf ,i .Pnf ,i
We , i =

Fj,i .Pj,i =

j=1,nf

X
j=1,nf

Fj,i .Oi +

Fj,i .(Pj,i Oi i ) = R.Oi + M(Oi ) .i

j=1,nf

- T(Si ) = (R, M(0i ) ) sont la resultante et le moment en Oi du champ de forces.


Le travail virtuel dun champ de forces ne depend que du torseur resultant TS(Si ) .
Notion de forces generalisees pour un solide:
Forces provoquant une variation decouplee des param`etres de configuration (Oi , i ):
We , i = Fi .Pi + Ci .i = Fi .(Oi + Pi Oi i ) + Ci .i
We , i = Fi .Oi + (Ci .i + Fi .(Pi Oi i ))
We , i = Fi .Oi + (Ci + (Fi Pi Oi )).i ) = Qtf Oi + Qtm i
- Qf : force generalisee associee au param`etre de position
- Qm : force generalisee associee au param`etre de rotation
Travail des forces generalisees pour parametre par q, avec q = (q1 , . . . , qn )t
We , = Q1 q1 + Q2 q2 + . . . + Qn qn = Qt q
ici Q = (Q1 , Q2 , . . . , Qn )t
Application au 2R plan:
Les forces generalisees exterieures au syst`eme permettent detablir les relations entre les
forces articulaires, les forces de gravite et les forces sappliquant sur leffecteur.

We , = We , 1 + We , 2 = C1 .1 + P1 .G1 + C2 .2 + P2 .G2 + F.P

En considerant alternativement 1 6= 0 et 2 6= 0 on obtient les 2 relations scalaires


suivantes :
l1
l2
C1 + P1y0 ( C1 ) + P2y0 (l1 C1 + C12 ) + Fx0 (l1 S1 l2 S12 ) + Fy0 (l1 C1 + l2 C12 ) = 0
2
2
82

Figure 43: Travail des interefforts de liaison


l2
C2 + P2y0 ( C12 ) + Fx0 (l2 S12 ) + Fy0 (l2 C12 ) = 0
2
Sous forme matricelle :


C1
C2

 l1
( C

1)

(l1 C1 + l22 C12 )


( l22 C12 )



P1y0
P2y0

(l1 S1 l2 S12 ) (l1 C1 + l2 C12 )


(l2 S12 )
(l2 C12 )

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


En introduisant le parametrage q pour definir la position de S1 /S2 , on peut ecire la


puissance virtuelle des forces de liaison en fonction des forces generalisees de liaison Lj :
Wi , = Wl , =

Lj qj

j=1,6

Application `a une liaison rotode parfaite


Wi , = Wl , 1/2 = (Fx , Fy , Fz , Mx , My , Mz )(x , y , z , O0 x , O0 y , O0 z )t
Dans un mouvement reel (ou virtuel licite avec les contraites)
Wl1/2 = Mz .z = 0
Equilibre dun solide
Pour un solide isole ( = Si ) :
W, i = We , i + Wl , i = We , i = 0
83

Wl , = 0 q



Fx0
F y0



Figure 44: Equilibre dune prise

Figure 45: Equilibre dune prise plane bidigitale


En considerant un deplacement virtuel de Si dans SE(3), on obtient un syst`eme de 6
equations scalaires :
X
Fj,i = 0
j=1,nf

(OPj Fj,i ) +

j=1,nf

Cj,i = 0

j=1,nc

Equations dequilibre de S (unique, Wj = 0)


Exemple dapplication aux equations dequilibre dune prise. Dans ce cadre, on consid`ere
lobjet S saisi par les doigts qui developpent des forces de contact Fj,S comme le montre
la figure 7.1.
Exemple dune prise plane bidigitale :
F1/S + F2/S = P
OP P1 F1/S + OP P2 F2/S = 0

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

Si Pj et j sont exprimees en terme de variables generalisees (Pj (q); j (q)) :


Pj =
We , = [

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

Figure 46: Transmission des efforts dans un mecanisme en chane fermee

8
8.1

Analyse de la transmission cin


ematique
Singularit
es dans les chanes s
eries

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

Figure 47: Manipulateur 2R place dans une singularite


X = Jv q


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

A partir de la loi de transmission des forces :




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

fx2 nest pas commande par les i


Interpretation (pour des syst`emes ou m = d)
Lorsque J (J t ) est singuli`ere, la mobilite du mecanisme diminue.
mc = rg(J)
-mc : mobilite reelle
Reciproquement un effort compatible avec les liaisons apparat.

si J est vue comme la matrice dune application lineraire de E(q)


vers E(X)
dim(R(J)) + dim(N (J)) = n
un mouvement interne qui ninfluence pas la sortie. Le mouvement interne est solution
a`:
JR2 h = 0
h = k

8.2

 l2 
l12

= kN (J)

Singularit
es dans les chanes ferm
ees

Pour le mecanisme bielle-manivelle

1
1

Cq q = 0 l2 S12
x l2 C12




1 0 1
0
2

0 1 = 0
3
0 0
0
x

87

Figure 48: Exemple de chane fermee simple


Les determinants de rang 3 de Cq sont :
123 = l2 xS12

234 = l2 C12

134 = x

124 = x + l2 C12

Ils sannulent simultanement lorsque :


x = 0 et 12 = /2 + k
Dans cette configuration, le rang des equations cinematiques de contrainte rg(Cq ) est
diminue rg(Cq ) = 2, (mc = Ic rg(Cq )). Ici, la mobilite du mecanisme est augmentee
dune unite. La matrice Cq devient :

1
1
Cq =
0
l

2 S12
0
0

1 0
0 1

0 0

et le torseur reciproque $R a` ce syst`eme est : $R = (0, 1, 0). On parle dune configuration


incertaine.
En considerant toujours lexemple precedent, on peut dire que pour le syst`eme pris sous
la forme :

1

[$1 $2 $3 ] 2 = $4 ( x )
3



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

3. rg([$1 $3 $3 ]) < 3 alors 2 = 0 x = 0


4. rg([$2 $3 $4 ]) < 3 alors 1 = 0 12 = /2 + k
La mobilite du syst`eme a` proprement parler nest pas modifiee. Dans le mouvement,
lun des param`etres prend une valeur nulle.

8.3

Singularit
es dans les chanes parall`
eles

Pour aborder cette question on consid`ere a` nouveau le mecanisme bielle-manivelle


dans lequel seule la variable 1 est active, `a partir de la relation :
1 $1 + 2 $2 + 3 $3 x = 0

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

qj est obtenu par le quotient du determinant obtenu en remplacant dans J la


ji`eme colonne par X et le determinant de J.
Exemple du 2R plan

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

Si le syst`eme nest pas de Cramer, une solution exacte existe si le vecteur X


appartient a` lespace vectoriel des rg(J) = r vecteurs colonnes Ji de J, cad si :
J1 , J2 , , . . . , Jr ) = r
rg(X,
Exemple du 2R plan dans une singularite:


l12 S
l12 C

l2 S
l2 C



90




1
tgvy
=
2
vy

Par utilisation dune elimination de Gauss (LU decomposation) :


X = J = L U
En posant :
y = U
On calcule par substitution y a` partir de :
X = L y
puis
Autre forme de resolution (m = d)
X

qi $i = $

i=1,6

Si les $i sont lineairement independants, on determine $R i :


$R i .$k = 0, k 6= i pour k = 1, ..., 6
En multipliant ce torseur a` droite et a` gauche:
qi =

$.$R i
$i .$R i

On rep`ete pour toutes les articulations.


B q = DX
- B est une matrice diagonale regroupant les termes $R i .$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

- D, est de dimension (6 6), ses coefficients sont 6 torseurs reciproques:


t
D = ( ($R
1)

t
($R
2)

t t
. . ($R
6) )

La figure ?? donne une representation geometrique des torseurs de D dans le cas


du syst`eme 3 3R plan, considerant que seules les premi`eres liaisons sont actives.
Mod`ele cinematique inverse sous la forme: J 1 = B 1 D
Les composantes scalaires (x, y, z, x0 , y0 , z0 ) de $R i se calculent en resolvant :
$k .$R i = 0

k = 1, .., 6 k 6= i;

x2 + y 2 + z 2 = 1

$ i est tel que:


$ i = $1 $2 ..... $n1
91

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

Pour des syst`emes cinematiquement redondants, le probl`eme cinematique inverse


est sous-determine (infinite de solutions)
Partitionnement des variables :
Si rg(J) = m, on peut partitionner J Rmn :


J = ( Jp mm

Js(m)(nm) )

q =

qp
qs

Les qs sont des variables secondaires fixees arbitrairement: qp = Jp1 (X Js qs )


Exemple du 3R plan en ne considerant que la vitesse lineaire de P :


(l1 S1 + l2 S12 + l3 S123 ) (l2 S12 + l3 S123 )


(l1 C1 + l2 C12 + l3 C123 ) (l2 C12 + l3 C123 )








vx0
1
3 l3 S123
=

2
vy0
l3 C123

La solution generale est determinee comme la somme dune solution particuli`ere


et dune solution homog`ene :
qg = qp + qh
- qp : solution particuli`ere
- qh : solution `a J qh = 0
qh = N (J)

dim(N (J)) = (n m)

Solution homog`ene mouvement interne


Exemple du 3P plan:

 
r
1 0 1 1
0
r2 =
0 1 0
0
r3 h


qh = 1 0
1

92

Figure 50: Manipulateur 3P


Une solution particuli`ere de norme Euclidienne de q minimum est donnee par :
qp = J t (JJ t )1 X = J + X
Exemple du 3P plan :


r1
1/2 0 

vx0

1
r2 = 0
vy0
r3 p
1/2 0

pseudo-inverse a` droite qui se calcule directement si rg(J) = m


si rg(J) < m on utilise pour le calcul la decomposition en valeurs singuli`eres
(SVD):
+
+ t
JSV
+ = diag(1/1 , 1/2 , . . . 1/r )
D = V U
+
JSV
D =

i1 vi uti

i=1,r

On peut aussi utiliser la methode de Levenberg-Marquardt pour determiner une


pseudo-inverse :
+
JLM
= J t (JJ t 1d )1
> 0 R+
La SDV de J t (JJ t 1d )1 est :
+
JSV
D =

X
2
i=1,r i

i
vi uti
2
+

On note que pour des valeurs de i >> :


i2

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

Elle peut etre utilisee pour optimiser un objectif secondaire.


Le vecteur z peut etre calcule comme le gradient dune fonction co
ut g(q) (definie
positive et dependante de q):

g
q1

z =
..
g
qn

Exemples de fonction g(q):


- pour optimiser la distance aux butees articulaires
g(q) =

X
i=1,n

(qi qi moy )
qi

!2

- pour optimiser la manipulabilite


g(q) =

9.3

det(JJ t )

Algorithmes de commande en position

Si q(0) est connue, la position de consigne `a t peut etre obtenue par :


q(t) =

Z t

q(t)dt

+ q(0)

par utilisation de la methode dintegration dEuler, pour t, la position `a


t(k+1) = t(k) + t est :

q(t(k+1) ) = q(t(k) ) + q(t


(k) )t = q(t(k) ) + J 1 (q(t(k) ))X(q(t
(k) ))t
Lintegration numerique introduit une erreur en position et orientation de leffecteur:
e = Xd X = Xd F (q)
Correction de lerreur par utilisation de la methode de Newton:
Lutilisation de :
q = J 1 (q)(X d + diagK e)
conduit `a :
e + diagK e = 0
qui si diagK est definie positive est un syst`eme asymptotiquement stable.

94

10
10.1

Analyse de la transmission des efforts


PSI pour un syst`
eme isostatique

Commander les efforts pour obtenir lequilibre.


Pour un corps isole ( = Si )
G f = Fext
Resolution numerique:
Si le syst`eme est de Cramer (m equations a` n inconnues) G1 existe:
f = G1 (Fext )
fj =

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

PSI pour un syst`


eme hyperstatique

Pour un corps isole ( = Si )


Fext = G f
La solution generale est determinee comme:
fg = fp + fh
- fp : solution particuli`ere
- fh : solution homog`ene, solution `a Gfh = 0
Exemple:

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

Une solution particuli`ere de norme Euclidienne de f minimun est donnee par :



1/2
0
0
f1
0
0

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

Dynamique des syst`


emes
Acc
el
eration du point

Le vecteur acceleration du point P (t) par rapport `a R0 est :


(0)

M =

11.2

d(0)
(t) = xM x0 + yM y0 + zM z0
vM = M
dt

Acc
el
eration du solide

Champ des accelerations des points dun solide


d(0)
[
01 (P0 d01 ) + d01 ]
P0 =
dt
P0 =
01 (P0 d01 ) +
01 (P0 d01 ) + d01
2
2
P0 =
01 (P0 d01 ) +
01
(P0 d01 ) + d01 = d01 + (
01 +
01
)(P0 d01 )
sous forme vectorielle :
(0)

(P0 )R0 = (O1 )R0 + ( 01 P1 )R0 + (01 (01 P1 ))R0 = P R1


Acceleration angulaire :
d(0)
t
(R01 R01
)

01 =
dt

0 1

Mouvement de rotation plan :


01 = 1 0
0 0
Mouvement de rotation parametre par les angles

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

Composition des acc


el
erations

Si le point P est un mobile dans R1


P0 =
01 (P0 d01 ) + d01 + R01 P1
P0 = d01 +
01 (P0 d01 ) +
01 (P0 d01 ) + R 01 P1 + R01 P1
P0 = d01 +
01 (R01 P1 ) +
01 (
01 P1 + R01 P1 ) + R 01 P1 + R01 P1
2
P0 = d01 + (
01 +
01
)(R01 P1 ) + 2
01 (R01 P1 ) + R01 P1

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

- (P ) est la fonction densite de masse


- dv un volume elementaire
- dm est la masse dun petit element de volume centre en P .
Centre de gravite (centre dinertie)
Solide S
Z
1 Z
OG =
OP dm; m(S) =
dm
m(S) P S
P S
S = P1 P2 avec P1 P2 =6
m(P1 )OG1 =
OG =

OP dm

P P1

m(P2 )OG2 =

OP dm

P P2

1
(m(P1 )OG1 + m(P2 OG2 )
m(P1 ) + m(P2 )

Integration selon la loi de masse


Lintegration par rapport a` la loi de masse de certains champs vectoriels servent a`
98

definir des grandeurs cinetiques:


Soit le champ vectoriel u donne sur S, lintegrale % la masse est J :
J (u, , S) =

u(P )(P )dP =

P S

u(P )dm

P S

Torseurs par rapport `a la loi de masse :


(Resultante)

R(u, , S) =

u(P )(P ) dP =

P S

(Moment)

M (u, , S) =

u(P ) dm

P S

OP u(P ) dm

P S

Si u vitesse de S: torseur cinetique


Si u acceleration de S: torseur dynamique
Tenseur dinertie de S dans un rep`ere lie a` S
Le tenseur dinertie de S (de loi de masse ) en Q est :
JQ : u JQ (u) =

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 )

Matrice IQ associee au tenseur dinertie JQ (matrice dinertie):


+ y 2 )dm R P S xydm
xzdm
R P S

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

(QG + GP )(u (QG + GP )) dm

P S

JQ (u) = (QG (u QG))m(S) + JG (u)


99

Si QG = (a, b, c)t , et k QG k2 = d2 la matrice dinertie est :


Ixx + m(S) (b2 + c2 )
Ixy m(S) ab
Ixz m(S) ac

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 )

IQG = m(S) (k QG k2 Id QG QGt )

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

sous forme matricielle:


(0)
(QS )

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)

Q = QG m(S) vB + QB (0S m(S) BG) + JB (0S )


Simplifications :
(0)
(0)
si Q = B S : B = BG m(S) vB + JB (0S )
sous forme matricielle :

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

sous forme matricielle :


(0)
2TS

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)

si B = G : 2TS = m(S) kvG k2 + 0S .JG (0S )


(0)
2TS

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

X i : coordonnees du torseur des vitesses en Gi de Si par rapport a` R0 .


Calcul pratique : X i peut etre determine en reduisant la jacobienne Ji a` ses i
premi`eres colonnes et en utilisant Gi comme point de reference:


0i
vGi

= X i = Ji q;

Ji = [$1 , $2 , ....., $i , 0, ..., 0] $k = 0 k > i, n

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

M (q) : matrice de masse generalisee (symetrique,

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

Equation du mouvement pour un corps seul

Enonce du principe fondamental de la dynamique : Il existe un rep`ere Galileen


(R0 ) tel que pour , le torseur dynamique de dans son mouvement par rapport
a` R0 est egal au torseur des actions exterieures ce qui se taduit par la relation
torsorielle :
(0)
DB = TS ext/

102

Cette relation conduit a` 2 relatons vectorielle :


Equation de resultante: Theor`eme de la resultante dynamique (equation de
Newton):
d(0)
(0)
(0)
m(S) G =
(m(S) vG ) = Rext/
dt
Equation de moment : Theor`eme du moment dynamique (equation dEuler):
d(0) (0)
( ) = MB ext/
dt B
Les projections dans une base de ces equations vectorielles (equations differentielles
du second ordre) constituent les equations du mouvement du solide Si evoluant dans
un espace de dimension d = 3, 6.
En developpant les equations de Newton-Euler pour le corps Si , on trouve :
(0)

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 )

i + CS (Xi , X i ) + NS (Xi ) = F(ext/S )


MSi X
i
i
i
NSi (Xi ) representant les forces exterieures de gravite et F(ext/Si ) regroupant les
autres forces exterieures.
Exemple dapplication au robot Segway :

m(S2 ) G2x0 fx0 (1/2) = 0


m(S2 ) G2y0 fy0 (1/2) + P2 = 0
I2z 02 C2 l C2 fy0 (1/2) + l S2 fx0 (1/2) = 0
103

(0)

(0)

(1)

(G2 )R0 = (O1 )R0 + (G2 )R0

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



En substituant dans les equations du mouvement:


m(S2 ) [
r1 2 l S2 22 l C2 ] = fx0 (1/2)
m(S2 ) [2 l C2 22 l S2 ] = fy0 (1/2) m(S2) g
I2z 2 = C2 + l C2 fy0 (1/2) l S2 fx0

(2)

(1/2)

Ce syst`eme forme les equations du mouvement du syst`eme . Il sagit dun syst`eme


de dk (d = 3, 6) equations differentielles du second ordre traduisant les theor`emes
generaux sur les k corps isoles. Ces equations peuvent etre reduites aux equations
du mouvement relatives aux param`etres de configuration q apr`es resolution des
inter-efforts de liaison.

12.2 Obtention des


equations du mouvement relatives aux
param`
etres q pour un syst`
eme arborescent
On peut obtenir les equations plus directement les equations du mouvement relatives aux param`etres qk pour une chane serie en utilisant la projection du moment
dynamique (si la liaison relative au param`etre qk est une rotation) ou par projection de la resultante dynamique du sous-syst`eme = Sk , Sk+1 , . . . Sn constitue des
corps situes en amont de la liaison k (voir figure 12.2.

104

Pour une liaison de rotation, on a lequation du mouvement relative a` qk :


i =

X h (0)

Ok (Si ).zi Ok Gi mi g.zi

i=k,n

i =

MOi k MOg k .zi

Pour une liaison de translation :


fi =
fi =

A (Si ).zi mi g.zi

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

12.3 Equations du mouvement par application du PTV en


dynamique
Nous avons dej`a introduit les notions de travail virtuel pour des forces exterieures.
Nous completerons ici en exprimant le travail virtuel des forces dinertie.
Pour le corps Si
Le travail virtuel des forces dinertie sexercant sur Si est :
(0)
(0)
Wj , i = TC(Si ) .D(Si ) = m(Si )Gi .Gi + A .i

105

Pour un syst`eme de k solides parametre par n param`etres qi .


Le travail virtuel des forces dinertie sexercant sur est :
Wj , =

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

Le vecteur position de Gi dans R0 se determine directement par :




G0i
1

= T0i

Gii
1

et g designe lacceleration de la pesanteur.


Lenergie cinetique:
T =

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

Obtention des equations du mouvement, pour i = 1, n:


d T
d X
( )= (
Mij (q1 , ..., qn )qj )
dt qi
dt j=1,n
X
X
d T
( )=
Mij qj +
M ij qj
dt qi
j=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

La configuration q(t) dun manipulateur se determine en resolvant les q(t) `a partir


de :
M (q)
q (t) = [C(q, q)
N (q)] =
On peut alors utiliser la factorisation de Cholesky pour determiner q(t):
Lt L
q (t) =
Lt x = L
q (t) = x
{z

q(t) se calcule par integration numerique :


qit+h = qit +
qit+h

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

Lorsquil existe une interaction entre leffecteur et lenvironnement et que ce dernier


est contraint par k < n contraintes holonomes independantes (voir illustration
figure 52), le param`etrage initial (hors contraites) du syst`eme devient surabondant.
Les param`etres initiaux ne sont plus independants. Ils faut alors completer les
equations du mouvement pour tenir compte des relations de contrainte entre les
param`etres. Les relations relatives aux contraintes holonomes secrivent sous la
forme :
hi (q) = 0 i = 1, k

109

Figure 52: Robot realisant une tache en interaction avec lenvironnement


et les relations de contrainte entre les vitesses generalisees sont :
X

hi
qj = 0
j=1,n qj

i = 1, k

Aij (q, t)qj = 0

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

Le mod`ele dynamique du syst`eme contraint par linteraction avec lenvironnement


secrit donc :
d L
L
= ( ) ( ) At
(3)
dt q
q
110

d L
L
( ) ( ) Jct fc
dt q
q
d L
L
+ c = ( ) ( )
dt q
q

(4)
(5)

Jc est ici la Jacobienne des contacts.


Determination numerique des j .
Les forces dinteraction peuvent etre determinees par le calcul `a partir de :
A
q + A q = 0
En reportant q dans le mod`ele dynamique :
AM 1 ( C N ) + AM 1 At + A q = 0
si les contraintes sont independantes (cest `a dire si la matrice A est de rang plein):
= (AM 1 At )1 (AM 1 ( C N ) + A q)

Reduction du mod`ele dynamique en quasi-variables


Le mod`ele dynamique peut etre etabli en fonction de variables independantes en
projetant les equations du mouvement sur la base des mouvements independants
S(q). Le vecteur q des vitesses generalisees est relie aux vitesses generalisees
independantes par la relation :
q = S(q)u
o`
u S(q) Rnm est le complement orthogonal `a A(q) :
A(q)S(q) = 0
u represente le vecteur des variables de controle qui ne sont pas forcement des
entrees du syst`eme, raison pour laquelle on parle de quasi-vitesses ou encore de
pseudo-vitesses. On peut reduire le mod`ele dynamique pour lexprimer en fonction
des quasi-vitesses :
= M (q)
q + C(q, q)
+ N (q) At
En multipliant par S(q)t , on obtient la forme suivant :
S(q)t = S(q)t M (q)
q + S(q)t C(q, q)
+ S(q)t N (q)
Sachant que :

q = S(q)u + S(q)u
En reportant dans lequation precedente, on a :

S(q)t = S(q)t M (q)S(q)u + S(q)t M (q)S(q)u


+ S(q)t C(q, u) + S(q)t N (q)
Methode de stabilisation de Baumgarte.
Lorsque lon applique les schemas numeriques dintegration temporelle en presence
111

de contraintes cinematiques, ces derni`eres entrainent des instabilites numeriques


pouvant amener `a la divergence de la solution. Il existe des techniques pour eviter
ces instabilites lors de la resolution. Elles consistent principalement `a transformer
le syst`eme dequations differentielles algebriques (EDA) en un syst`eme dequations
differentielles ordinaires (EDO). Pour assurer la stabilite asymptoptique des contraintes, la methode de Baumgarte propose de remplacer les contraintes geometriques
par une expression equivalente fonction des accelerations. Cette technique, que lon
appelle regularisation des contraintes, sappuie sur la verification exacte des contraintes cinematiques. Elle conduit a` une nouvelle expression pour representer les
contraintes cinematiques dans le syst`eme dequations de la dynamique initial qui
est alors transforme sous la forme qui ne fait intervenir que les accelerations.

112

13

G
en
eration de mouvement

Le probl`eme de la generation de mouvement dans la commande dun robot depend


du type dapplication considere. Dans un certain nombre de cas, la trajectoire a`
suivre peut etre definie a priori et nest pas modifiee lors de son execution. Dans
dautres cas, on utilise un capteur pour definir de facon continue la trajectoire a`
partir de mesures faites sur lenvironnement de travail.
Dans le premier cas, la generation de mouvement determine donc `a partir dune
configuration initiale comment se rendre a` une configuration finale en passant par
des configurations intermediaires comme illustre sur la figure 53. Elle fournit donc
a` chaque periode dechantillonage de la commande les consignes en position soit
dans lespace operationnel, soit dans lespace articulaire.
Lavantage de la premi`ere methode est quelle autorise un controle de la trajectoire
d e leffecteur directement dans lespace geometrique. Elle est mieux adaptee `a la
mise en oeuvre de capteurs pour ladaptation de la trajectoire. La seconde planifie
le mouvement dans lespace des variables de controle. Aussi les contraintes relatives
aux vitesses, accelerations, couples peuvent etre directement prises en compte.

Figure 53: Illustration de la generation de mouvement


Dans ce qui suit, on consid`ere que le syst`eme est asservi en position comme montre
sur la figure 13.

13.1

Trajectoires articulaires

Si qi et qf sont les positions articulaires initiale et finale :


q(t) = qi + r(t)(qf qi )
q(t) = qf + [1 r(t)](qf qi )
113

Figure 54: Schema de principe dun asservissement en position


- r(t) : fonction dinterpolation telle que r(0) = 0 et r(tf ) = 1
Interpolation lineaire du temps (`a vitesse constante):
q(t) = q t + qi =

(qf qi ) t
+ qi
tf

Cette loi introduit des discontinuites de vitesse.


Interpolation polynomiale
Pour satisfaire les contraintes :
q(0) = qi

q(tf ) = qf

q(0)

= qi = 0

q(t
f) = 0

on peut utiliser un polynome cubique :


q(t) = a0 + a1 t + a2 t2 + a3 t3
Vitesse et acceleration sont :
q(t)
= a1 + 2a2 t + 3a3 t2
q(t) = 2a2 + 6a3 t
a` partir des contraintes, on deduit que :
a0 = q0 ; a1 = 0; a2 =

3
2
(qf q0 ) a3 = 3 (qf q0 )
2
tf
tf

Interpolation polynomiale avec configurations intermediaires. Entre 2 configurations consecutitives :


q(0) = q0
q(tf ) = qf
q(0)

= q0

q(t
f ) = qf

Les coefficients du polynome sont alors :


a0 = q 0
114

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

Probl`eme : Definition de la trajectoire `a suivre pour se rendre dune configuration


f
i
initiale T0h
a` une configuration finale T0h
dans lespace cartesien.
Suivi dune trajectoire en position La position dun P peut etre decrite sur la
trajectoire a` partir de la representation param`etrique :
0P = f (s)

115

Figure 55: Definition de trajectoires cartesiennes


- s : abscisse curviligne de . s(t) = P0P (t) represente la longueur du parcours.
Sur cette trajectoire, on peut definir un rep`ere mobile de Frenet tel que (en notant
P le vecteur OP ):
dP
t=
ds

d2 OP
n = d2 OP
k ds2 k ds2
1

b=tn

On peut ainsi definir la rotation du rep`ere de Frenet par la matrice R:


R = [t; n; b]
On definit courbure (K = 1/) et torsion (T ) de la courbe comme :
k

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

Si la loi de temps s(t) est donnee, on a :


d OP d s
vP = P =
= st

ds dt
dt
1
P = P = st +
= st + s 2 n
dt

116

0
t

T n
0
b

Une trajectoire rectiligne entre Pi et Pf est decrite param`etriquement par :


P (t) = Pi + s(t)

(Pf Pi )
kPf Pi k

(0 t tf )

La vitesse et lacceleration sont :


P = st
=

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

= [(t) (n) (b)] sK


t + sT
b
2
sT
n
La vitesse angulaire peut aussi secrire en fonction du vecteur de Darboux :
= s(T
t + K b) = s

Suivi du mouvement spherique Le mouvement de rotation a` generer doit permef


i
ttre le passage de R0h
a` R0h
: La rotation est telle que :
f
i
R0h
Rif (, s) = R0h

do`
u:
i t f
) R0h
Rif (, s) = (R0h

Pour Rif on peut determiner langle et laxe de la rotation sachant que :


1
1
= [arcos(trR 1)] = arcos(r11 + r22 + r33 1)
2
2

r r23
1 32

s=
r13 r31
2sin
r21 r12
117

Le mouvement de rotation peut etre interpole `a laide de la fonction r(t) par :


t
i
R0h
= R0h
Rif (r(t), s)
f
t
R0h
= R0h
Rif ((1 r(t)), s)

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

Commande des mouvements


Commande articulaire en position

Le principe general de commande dune articulation de manipulateur robotise est


donne sur la figure 56 Si on consid`ere larticulation j commandee par un moto-

Figure 56: Principe de commande dune articulation


reducteur a` courant continu dont :
- le rapport de reduction est Nj
- la constante de couple (en mN/A) est Kcj
- le gain statique du hacheur de commande est Kaj
- la tension de commande uj .
Nj Kaj Kcj uj = Iaj qj + j

avec Iaj = Nj2 Jj

La commande articulaire pour lensemble du manipulateur peut secrire matriciellement :


N Ka Kc u = ((M (q) + N 2 J)
q + C(q, q)
+ N (q)
Commande avec regulateurs simples:
La solution la plus simple pour commander les articulations en position consiste `a
utiliser des regulateurs PID locaux. Le schema de principe dun tel asservissement
est donne sur la figure 57: La loi de commande est alors :

Figure 57: Shema de principe dun PID

119

c = Kp (qd q) + Kv (qd q)
+ Ki

Z
0,t

(qd q)dt

et le calcul des gains est fait en considerant le mod`ele simplifie :


j = Mjj max qj
Mjj max designe la valeur maximale de la composante Mjj de la matrice dinertie
(integrant linertie du moto-reducteur). Pour un controleur PD avec compensation
de gravite, la commande prend la forme :
c = N (q) + Kp (qd q) + Kv (qd q)
+ Ki

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

La dynamique du syst`eme commande est :


M (q)
q + C(q, q)
+ N (q) = q + C(q, q)
+ N (q)
a` lequilibre, on a : Kp (qd q) = 0
Le systeme est globalement asymptotiquement stable.

14.2

Commande par d
ecouplage non-lin
eaire

(dynamique inverse) pour le suivi de trajectoire.


La dynamique de peut etre mise sous la forme :
M (q)
q + H(q, q)
=
Si positions et vitesses sont mesurables, si on choisit une commande telle que :
(q)y + H(q,
q)
c = M

,H
etant des estimees.
M
Le syst`eme commande est regi par :
q = y
Si on calcule y comme :

y = qd + Kp (qd q) +Kv (qd q)


|

{z


{z


alors la reponse du syst`eme commande est :


 + Kv  + Kp  = 0
En choisissant Kp et Kv correctement,  tend asymptotiquement vers 0.
120

14.3

Commandes cart
esiennes

La correction de la position ou du mouvement est faite dans lespace operationnel


Commande en position par un correcteur PD avec compensation de gravite :
c = J t (q)Kp (Xd X) J t (q)Kd X + N (q)

Commande par la dynamique inverse :


Jq)
y = J 1 (q)(X d + Kp (Xd X) + Kd (X d X)

121

15

Cin
ematique des syst`
emes redondants

Les syst`emes robotiques presentent generalement un degre de complexite qui impose


de reconsiderer les techniques de modelisation et de commande de leur comportement.
Lune des dimensions particuli`eres dans la complexite des syst`emes est liee au nombre
de leur degre de liberte qui peut induire une redondance/abondance vis-`a-vis des taches
a` realiser.
Lexploitation de la redondance cinematique est le premier des points que nous examinerons. Cette redondance peut notamment servir a` optimiser par la commande le
comportement du syst`eme du point de vue de certaines de ses performances. Ce probl`eme
peut etre aborde dun point de vue cinematique ou dynamique selon le type controle basniveau mis en oeuvre sur le syst`eme. Dans ce qui suit nous considererons des commandes
de type cinematique.

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

3. Le complement reciproque a` R(J) definit les actions naturellement transmissibles


n

R(J)R = F Rm /X R(J) F t X = 0

4. Le noyau de lapplication constitue lensemble des articulaires internes.


N (J) = {q Rn /J q = 0}
5. Le complement orthogonal est lensemble des vitesses articulaires qui engendre un
mouvement de leffecteur.
n

N (J) = q Rn /q0 N (J) qt q0 = 0

6. Le complement reciproque au noyau est lensemble des couples articulaires qui


produisent une puissance nulle dans le mouvement interne.
n

N (J)R = Rn /q0 N (J) t q0 = 0


122

On montre egalement que :


R(J) = N (J t )
N (J) = R(J t )
Cette dualite entre la vitesses et efforts est illustree sur la figure 58.

Figure 58: Illustration de la dualite vitesse/effort

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

Pour le manipulateur de 3P de la figure 59, si seule la trajectoire du point P est imposee,


le degre de redondance est 1. La Jacobienne de ce manipulateur est :

Figure 59: Manipulateur redondant 3P




Jv =

1 0 1
0 1 0

1 0
0 1

Une base de R(J) est :




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

Figure 60: Illustration du mouvement interne


des mouvements articulaires realisant le mouvement X avec le minimum damplitude
q. Plusieurs methodes sont envisageables pour resoudre la redondance. Les methodes
utilisant le mod`ele cinematique sont les plus generales.
124

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

Lequation precedente peut etre re-ecrite :

!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

En substituant dans les n m equations, on a :


1
Jnm Jm
hm hnm = 0

125

Ces r equations peuvent se mettre sous la forme matricielle :


1
( Jnm Jm
1
o`
u encore en notant Z = ( Jnm Jm

, Inm ) h = 0

, Inm )
Zh = 0

Le probl`eme geom`etrique inverse pour un syst`eme redondant consiste alors a` resoudre le


syst`eme :
F (q) = 0
Zh = 0

(7)

Ces derni`eres equations permettent de detemininer compl`etement les variables articulaires.


Pour illustrer cette methode nous utiliserons lexemple de la figure 61. Le point P de
ce syst`eme de type PR doit se deplacer selon un axe vertical situe a` x de lorigine tout
en evitant un obstacle situe a` d du 2nd segment.
Le mod`ele geometrique direct se reduit `a :
x = r1 + aC2

(8)

La Jacobienne transposee est J t = ( 1 , aS2 ). La redondance du syst`eme r = 1.


La distance `a lobstacle est (x r1 )S2 = dS2 . Le probl`emme geometrique inverse peut
etre pose comme :


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)

Solution par la Jacobienne transpos


ee

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

Figure 61: Illustration du traitement de la redondance par une methode geometrique

Figure 62: Illustration du principe de commande par Jacobienne inverse


avec K une matrice positive et symetrique d elasticite, on peut determiner la solution q
par :
q = J t Ke
Cette methode presente linteret de traiter directement du probl`eme de la redondance et
des singularites. La solution obtenue est non-exacte mais stable. En effet, le potentiel
elastique du syst`eme (e) est tel que (e) > 0e 6= 0 et (0) = 0:
1
(e) = et Ke
2
En differentiant par rapport au temps (e) on trouve :
1
1

(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

ce qui montre que la convergence vers zero de la solution est assuree.


15.4.2

Solution par la pseudo-inverse de Moore Penrose

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

. Ce qui conduit a` la solution approchee qa .


On designe par linverse de Moore Penrose (Fonction pinv() de Matlab ) lunique solution
(ce qui nest pas le cas de toutes les inverses generalisees) donnee par J + = (J t J)1 J t
qa = J + X
J + est aussi dite pseudo-inverse de J dans la mesure o`
u il sagit pas dune veritable
+
+
inverse. En effet, J J = In mais JJ 6= Im .
Pour un syst`eme compatible (cela signifie quune solution existe). Une solution minimale
pour kqk
2 (aux moindres carres) pour X desire est obtenue a` laide de la pseudo inverse.
Si J est de rang plein en lignes (rg(J) = m) :
J + = J t (J J t )1
Cette fois JJ + = Im mais J + J 6= In .
128

Pour lexemple du manipulateur PPP, la pseudo-inverse de Jv est :

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

Pour lexemple du manipulateur PPP, on a :

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


Alors, la pseudo-inverse de Moore-Penrose est :


J + = V + U t =

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

Figure 63: Illustration de linterpretation geometrique de la SVD


Remarque : La quantite qui est optimisee dans une solution purement cinematique
est :
C = qt q
Cette quantite na pas forcement de sens physique. Aussi, la pseudo-inverse peut etre
ponderee pour optimiser par exemple lenergie cinetique developpee dans le mouvement.
Cette derni`ere secrit :
1
T = qt M (q)q
2
M (q) est symetrique et inversible.
Le probl`eme de la minimisation de T dans le mouvement X = J q peut etre pose comme
un probl`eme doptimisation sous contraintes.
1
min T = qt M (q)q
2
130

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 )

Ces composantes sont inhomog`enes en dimension.


Dune mani`ere generale, si un syst`eme comporte de liaisons de rotation et de translation,
131

Figure 64: Manipulateur PRR pour illustration des probl`emes dinhomogonete


2
kqk
2 = qt q conduira `a une somme de termes inhomog`enes. De meme le calcul de X =
X t X est le resultat du produit orthogonal entre torseurs et dependra du point ou la
vitesse est exprimee et des unites des longueurs.
A titre dexemple, en considerant le robot de la figure 64, Pour palier ce probl`eme, une
solution consiste a` normer les vecteurs X et q en utilisant par exemple une longueur
caracteristique.

X N orm = diag[1, 1, 1, 1/L1 , 1/L1 , 1/L1 ]X = Nv X


qN orm = diag[a11 , . . . , ann ]q = Nq q
avec aii = 1 pour les liaisons rotodes et aii = 1/L2 . La pseudo inverse ponderee de J
est alors egale `a :
JN+orm = [Nv JNq1 ]+

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


Ainsi, la solution homog`ene qh peut sexprimer :


qh = N (J)x N =

X
i=1,nr

132

xN i vi

- N (J) R(nnr) est la matrice de regroupant les vecteurs du noyau,


- x N Rnr est le vecteur des amplitudes des vitesses compatibles avec le mouvement
interne (pseudo-vitesses). On peut exprimer le mouvement interne x N comme :
x N = V + q = JN q
Pour lexemple du syst`eme 3P on a :
JN = ( 1/2 0 1/2 )
15.6.2

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

- > 0 conduit a` une croissance de


- < 0 conduit a` une decroissance de
Un exemple de fonction pour leloignement aux butees est :
(q) =

i=1,n

qi qi moy 2
)
qi

avec qi = (qimax qimin )


Un autre exemple de fonction est celui qui refl`ete le conditionnement de la matrice
Jacobienne (voir chapitre quantification des performances).
(q) =

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)

ici en considerant un seul potentiel attractif pontuel et un ensemble de n potentiels


repulsifs. Le potentiel attractif peut etre :
1
1
att (q) = kd2 = k(q(t) qd )2
2
2
La force qui serait ainsi creee pour attirer les syst`eme vers qd est :
Fatt = k(q) = k(q(t) qd )
Un exemple de champ attractif pour un syst`eme 2R est donne sur la figure 65 Un potentiel

Figure 65: Illustration dun champ attractif


replusif borne a` la distance d0 est le suivant :
1
1
1 i
( i
)2 si di (q) d0 ; irep (q) = 0 si di (q) > d0
irep (q) = krep
2
d (q) d0
Un exemple est donne sur la figure 66
On illustre leffet du projecteur orthogonal a` partir de lexemple represente sur la
figure 67 qui consid`ere le probl`eme suivant :
q1
( x ) = ( l1 S1 l2 S12 ; l2 S12 )
q2


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

Si on introduit une tache primaire :


X 1 = J1 q (1)
134

Figure 66: Illustration dun champ attractif

Figure 67: Illustration de la partition de lespace des solutions

135

et une tache secondaire :


X 2 = J2 q (2)
comme pour un evitement dobstacle (voir illustration 68)
De (1) on tire :

Figure 68: Illustration de levitement dun obstacle


q = J1+ X 1 + (Id J1+ J1 )Z1
o`
u Z1 est un vecteur quelconque de Rn .
en substituant dans (2) :
X 2 = J2 J1+ X 1 + J2 (Id J1+ J1 ) Z1
{z
Je2

On determine alors Z1 comme :


Z1 = Je2+ (X 2 J2 J1+ X 1 ) (Id Je2+ Je2 )Z2
do`
u:
h

q = J1+ X 1 + (Id J1+ J1 ) Je2+ (X 2 J2 J1+ X 1 ) (Id Je2+ Je2 )Z2


Si on ne cherche pas `a utiliser les mouvements internes (Z2 = 0):
h

q = J1+ X 1 + (Id J1+ J1 ) Je2+ (X 2 J2 J1+ X 1 )


Compte-tenu des proprietes de la pseudo-inverse, le terme :

(Id J1+ J1 )Je2+ = (Id J1+ J1 )(J2 (Id J1+ J1 ))+


se reduit a` :
(J2 (Id J1+ J1 ))+ = Je2+
do`
u la solution pour q :
q = J1+ X 1 + Je2+ (X 2 J2 J1+ X 1 )
136

La formulation generale de la solution est :


q = J1+ X 1 + Je2+ (X 2 J2 J1+ X 1 ) + (Id J2+ J2 )Z2
Le mouvement defini par Z2 peut alors etre realise sans interference avec les 2 premi`eres
taches. Linterpretation de cette solution est donnee sur la figure 69.

Figure 69: Illustration de la formulation dans lespace cartesien


Cette methode permet de realiser les differentes taches lorsque celles-ci sont compatibles. Elle conduit a une singulatite algorithmique lorsque les noyaux sont voisins. Le
point dintersection est alors tel quil induit de tr`es grandes vitesses articulaires (voir
figure 70)
15.6.4

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

Figure 70: Illustration dune singularite algorithmique

15.7

Augmentation de lespace op
erationnel

Une autre solution consiste a` etendre lespace operationnel en ajoutant un objectif


complementaire `a celui de la tache principal X qui introduirait rg(J) = n m contraites sur le mouvement. Ces contraintes supplementaires peuvent etre choisies pour
former un syst`eme A(q)q = 0. Sur lexemple de la figure 72 on peut choisir de faire que
le centre de masse generalisee reste sur laxe de y.
Le vecteur operationnel se trouve ainsi augmente dun certain nombre de contraintes.
X
Xc

Xe =

la matrice Jacobienne correspondante devient elle aussi etendue :




Je (q) =

J(q)
A(q)

Si le rang de Je (q) est r = m = n, alors on resoud le probl`eme cinematique inverse


comme :
q = Je1 (q)X e
Une matrice Jacobienne pour le nombre de contraintes ninimum est donne par :


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

Figure 71: Illustration de lutilisation dune tache secondaire cartesienne

Figure 72: Augmentation de la Jacobienne pour la coordination posture/tache


dune fonction scalaire g(q) et a` le projeter sur le N (J). Le vecteur operationnel est ainsi
:
!
X
Xe =
gN = N (J)t g
= N (J)t g
q
La matrice N (J) constituant les vecteurs du noyau de J se determine notamment `a laide
dun SVD :
 t
VR
t
J = U V = U [R , 0]
VNt
N (J)t = VNt = (n1 , n2 , . . . , nnm )t
En notant gNi = nti g les composantes augmentees de Xe , on a :
Xe = Je q

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

On peut aussi imposer seulement une descente du gradient et on aura alors :


q =
On pourra alors omettre le terme

15.8

Je1 (q)

g
qj


X
gN

dans Je .

Utilisation de m
ethodes doptimisation

La resolution du probl`eme cinematique inverse peut etre realisee `a laide de methode


doptimisation.
15.8.1

Multiplicateurs de Lagrange

Le methode des multiplicateurs de Lagrange peut etre egalement exploitee. Le probl`eme


sera alors pose sous la forme :


W (q) J
Jt
0



0
X

La resolution de ce syst`eme dequation lineaire se fait en particulier `a laide dune


decomposition LU .
15.8.2

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

Un manipulateur serie non-redondant se trouve dans une configuration singuli`ere lorsque


rg(J) < d (dimension de lespace de tache). On determine les configurations singuli`eres
algebriquement en considerant les conditions sur q conduisant a` :
det(J) = 0
Pour un manipulateur redondant, le syst`eme se trouvera dans une configuration singuli`ere
lorsque le rang de JJ t est modifie. Cependant, une approche algebrique peut etre rendue
delicate (voire impossible) du fait de la complexite des termes de JJ t . On peut utiliser
la methode geometrique suivante.
On cherche `a determiner le torseur reciproque $R tel que :
$R .$i = 0 i = 1, n
Pour cela, on commence par rechercher les conditions sur $R pour quil soit reciproque
a` un sous-syst`eme :
n

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

det(J Sub ) = det($2 , $3 , $4 ) = 0 si 3 = 0


141

z4
0

En reportant dans J Sub on a :

J Sub

= l12 S2
l12 C2
$R

$R

Sub

Sub

1
l2 S2
l2 C2

1
0

= (C2 , S2 , 0)

est aussi reciproque `a $1 si :


$R

Sub

.$1 = 0

La condition supplementaire est 2 = /2 + k

15.10

Passage des singularit


es

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

La solution aux moindres carres est donnee par :




J
Id

t 

J
q =
Id a


J
Id

t 


X
0

que nous pouvons re-ecrire comme :


(J t J + 2 Id )qa = J t X
On montre que (J t J + 2 Id ) est non-singuli`
ere. En effet, J Rmn et 2 Id Rnn et


J
son rang est n. Aussi, le rang de
= n. La solution aux moindres carres amortie
Id
(Damped Least Square - DLS dans laquelle est le facteur damortissement) est :
qa = (J t J + 2 Id )1 J t X
142

(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

E Rmn est une matrice diagonale :


E = diag(eii ) avec eii =

i2

i
+ 2

La pseudo-inverse ponderee se calcule de la mani`ere suivante :


J+ =

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