Vous êtes sur la page 1sur 143

.

Cours de

Modélisation des Systèmes Robotiques


Ph. Bidaud - Philippe.Bidaud@upmc

Université Pierre et Marie Curie

Master Sciences de l’Ingénieur


Spécialités ”‘Systèmes Avancés et Robotiques”’ ”Systèmes Intelligents et Robotiques”
Objectifs du cours
Ce cours vise à fournir des méthodes de modélisation des systèmes robotiques pour leur
commande ainsi que pour l’analyse de leurs performances. On s’intéresse dans ce cours à
plusieurs types de systèmes : des bras de manipulation, des robots mobiles mais aussi à
des systèmes présentant des architectures particulières comme les plates-formes de sim-
ulation, les robots humanoides, les mains articulées, etc ...

Plan du cours

1. Introduction à la robotique - Principes, structure des systèmes et applications.

2. Paramétrage et mécanismes - Rotations, transformations, liaisons, équations de


contrainte, mobilité, topologie.

3. Modèle géométrique - Paramétrage de D.H. des transformations, paramétrage des


systèmes, modèle direct des systèmes séries, avec cycles cinématiques, et parallèles.

4. Résolution du problème géométrique inverse - systèmes analytiques, systèmes non-


analytiques, systèmes parallèles.

5. Transmission cinématique - Vitesse du solide, composition des vitesses, torseurs,


systèmes de torseurs, modèle cinématique direct des systèmes séries, relations
cinématiques dans les cycles, modèle cinématique inverse des systèmes parallèles.

6. Transmission des efforts - Equilibre des systèmes, Principes des travaux virtuels et
applications.

7. Analyse de la transmission cinématique - Singularités dans les chaı̂nes séries, sin-


gularités dans les chaı̂nes fermées.

8. Résolution des modèles inverses - Cinématique inverse des chaı̂nes séries, algo-
rithmes de commande en position.

9. Analyse de la transmission des efforts - Systèmes isostatiques, systèmes hypersta-


tiques.

10. Dynamique des systèmes : Modèle dynamique inverse des systèmes séries en mou-
vement libre, Modèle dynamique cartésien, Modèle dynamique des systèmes con-
traints.

11. Commande en position et génération de trajectoires : Trajectoires articulaires,


trajectoires cartésiennes, commandes articulaires et commandes cartésiennes.

2
Contents
1 Introduction 6
1.1 Les Systèmes Mécaniques Robotisés . . . . . . . . . . . . . . . . . . . . . 6
1.2 Composants fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Structure d’un SM commandé . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Technologie des constituants . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Exemples de problèmes considérés dans le cours . . . . . . . . . . . . . . 8

2 Elements de mathématique 10
2.1 Algèbre des matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Vecteurs, torseurs et fonctions vectorielles . . . . . . . . . . . . . . . . . 15
2.3 Systèmes d’équations linéaires . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4 Notions de groupe et d’algèbre des groupes . . . . . . . . . . . . . . . . 21

3 Repérage et Mécanismes 24
3.1 Repérage d’un corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Les liaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Paramétrage d’un système . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4 Représentation topologique d’un système mécanique Σ . . . . . . . . . . 42
3.5 Mobilité des mécanismes . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4 Modèle géométrique des systèmes 46


4.1 Paramétrage de la transformation entre 2 corps adjacents . . . . . . . . . 46
4.2 Paramétrage d’un système à l’aide des DH modifiés . . . . . . . . . . . . 47
4.3 Modéle géométrique direct des systèmes séries . . . . . . . . . . . . . . . 48
4.4 Modéle géométrique direct des systèmes présentant une chaı̂ne fermée simple 51
4.5 Modéle géométrique direct des systèmes parallèles . . . . . . . . . . . . . 52

5 Résolution du PGI 55
5.1 Systèmes séries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2 Systèmes parallèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.3 Identification des paramètres géométriques . . . . . . . . . . . . . . . . . 64
5.3.1 Etalonnage des robots séries . . . . . . . . . . . . . . . . . . . . . 64
5.3.2 Etalonnage des robots parallèles . . . . . . . . . . . . . . . . . . . 66

6 Modèle cinématique 67
6.1 Mouvement d’un point . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.2 Vitesse d’un solide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.3 Composition de mouvements relatifs . . . . . . . . . . . . . . . . . . . . 70
6.4 Système de torseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.5 Modèle cinématique direct . . . . . . . . . . . . . . . . . . . . . . . . . . 72

7 Transmission des efforts 80


7.1 Etude de l’équilibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

3
8 Analyse de la transmission cinématique 86
8.1 Singularités dans les chaı̂nes séries . . . . . . . . . . . . . . . . . . . . . . 86
8.2 Singularités dans les chaı̂nes fermées . . . . . . . . . . . . . . . . . . . . 87
8.3 Singularités dans les chaı̂nes parallèles . . . . . . . . . . . . . . . . . . . 89

9 Résolution des modèles inverses 90


9.1 Cinématique inverse des chaı̂nes séries (n = d) . . . . . . . . . . . . . . . 90
9.2 Systèmes séries redondants (n > m = d) . . . . . . . . . . . . . . . . . . 92
9.3 Algorithmes de commande en position . . . . . . . . . . . . . . . . . . . 94

10 Analyse de la transmission des efforts 95


10.1 PSI pour un système isostatique . . . . . . . . . . . . . . . . . . . . . . 95
10.2 PSI pour un système hyperstatique . . . . . . . . . . . . . . . . . . . . . 95

11 Dynamique des systèmes 97


11.1 Accélération du point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
11.2 Accélération du solide . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
11.3 Composition des accélérations . . . . . . . . . . . . . . . . . . . . . . . . 98
11.4 Géométrie des masses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
11.5 Cinétique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

12 Modèle dynamique 102


12.1 Equation du mouvement pour un corps seul . . . . . . . . . . . . . . . . 102
12.2 Obtention des équations du mouvement relatives aux paramètres q pour
un système arborescent . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
12.3 Equations du mouvement par application du PTV en dynamique . . . . . 105
12.4 Modèle dynamique inverse des systèmes séries . . . . . . . . . . . . . . . 107
12.5 Modèle dynamique inverse . . . . . . . . . . . . . . . . . . . . . . . . . . 108
12.6 Modèle dynamique cartésien . . . . . . . . . . . . . . . . . . . . . . . . . 109
12.7 Modèle dynamique des systèmes contraints . . . . . . . . . . . . . . . . . 109

13 Génération de mouvement 113


13.1 Trajectoires articulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
13.2 Trajectoires cartésiennes . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

14 Commande des mouvements 119


14.1 Commande articulaire en position . . . . . . . . . . . . . . . . . . . . . . 119
14.2 Commande par découplage non-linéaire . . . . . . . . . . . . . . . . . . . 120
14.3 Commandes cartésiennes . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

15 Cinématique des systèmes redondants 122


15.1 Générateur du mouvement, noyau et leurs compléments orthogonaux et
réciproques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
15.2 Définition de la redondance cinématique . . . . . . . . . . . . . . . . . . 123
15.3 Analyse du problème de la redondance cinématique . . . . . . . . . . . . 124
15.4 Définition d’un modèle géomètrique inverse . . . . . . . . . . . . . . . . . 125

4
15.4.1 Solution par la Jacobienne transposée . . . . . . . . . . . . . . . . 126
15.4.2 Solution par la pseudo-inverse de Moore Penrose . . . . . . . . . . 128
15.5 Homogénéı̈sation de J pour le calcul de la pseudo-inverse . . . . . . . . . 131
15.6 Méthodes de détermination des mouvements internes . . . . . . . . . . . 132
15.6.1 Vecteurs du noyau de J . . . . . . . . . . . . . . . . . . . . . . . 132
15.6.2 Tâche secondaire dans l’espace articulaire . . . . . . . . . . . . . 133
15.6.3 Tâche secondaire dans l’espace cartésien . . . . . . . . . . . . . . 134
15.6.4 Autre formulation de la tâche secondaire . . . . . . . . . . . . . . 137
15.7 Augmentation de l’espace opérationnel . . . . . . . . . . . . . . . . . . . 138
15.8 Utilisation de méthodes d’optimisation . . . . . . . . . . . . . . . . . . . 140
15.8.1 Multiplicateurs de Lagrange . . . . . . . . . . . . . . . . . . . . . 140
15.8.2 Programmation linéaire . . . . . . . . . . . . . . . . . . . . . . . 140
15.9 Détermination des configurations singulières dans les manipulateurs re-
dondants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
15.10Passage des singularités . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

5
1 Introduction
1.1 Les Systèmes Mécaniques Robotisés
Les systèmes robotiques intéressent de très nombreux domaines civils et militaires. Les
grands champs d’application de la robotique sont :
1. La production manufacturière (usinage, assemblage, soudure, polissage, formage,
etc . . .)
2. Les interventions en milieux hostiles (sous-marin, nucléaire, exploration planétaire,
etc . . .)
3. Les systèmes de transport des biens et des personnes (véhicules intelligents, robots
mobiles, etc . . .)
4. L’aide et l’assistance aux personnes (robots personnels, aides techniques, etc . . .)
5. Les nombreux domaines de la santé (chirurgie, ré-éducation, etc . . .)
6. Le ludique (robots jouets )
Ils prennent des formes très diverses du point de vue de leur structure mécanique et de
leur commande. Plusieurs types de robots ”‘génériques”’ sont illustrés sur les figures qui
suivent.

Figure 1: Robot humanoide - Robot série de type SCARA - Robot série anthropomorphe

Figure 2: Fauteuil équipé d’un bras - Robot chirurgical - Déambulateur/Verticalisateur

6
Figure 3: Main articulée - Robot chien - Robot hexapode

1.2 Composants fonctionnels


Les composants fonctionnels qui constituent la base d’un système robotisé sont :

• Mécanismes: Système de corps articulés disposant d’une haute mobilité

• Actionneurs: Générateurs d’actions mécaniques pour mettre le mécanisme en mou-


vement

• Capteurs: Mesure de l’état du système mécanique et extraction d’informations


relatives à la tâche et l’environnement dans lequel elle est réalisée

• Système de contrôle: Ensemble électronique pour la commande des actions à partir


d’informations capteurs

• Interface de programmation: Système de communication entre l’opérateur et la


machine ou entre les machines (Interface graphique, interface de téléopération,
language structuré, etc . . . )

1.3 Structure d’un SM commandé


Ces différents composants sont mis en ouvre dans une architecture générale dont la forme
générale est décrite sur la figure ci-dessous.

1.4 Technologie des constituants


Les éléments technologiques sur la base desquels les systèmes robotiques sont élaborés
peuvent être classés plusieurs grandes catégories :

• Mécanismes: Corps rigides articulés par des liaisons mécaniques selon différentes
topologies.

• Actionneurs: Convertisseur d’énergie primaire en énergie mécanique (actionneurs


électriques, pneumatiques, hydrauliques, piézo-électriques, AFM, électro-statiques).

• Capteurs: Capteurs d’état (position, vitesse, accélération), capteurs extéroceptifs


(force, vision, télémétrie, tactile, sonores, . . . ),

7
Figure 4: Architecture générale d’un système robotique

• Contrôleurs: Régulateurs d’énergie primaire, calculateurs temps-réel + OS, in-


terfaces capteurs (traitement du signal et numérisation), bus de communication
(VME, CAN, Internet),

• IHM: Langage symbolique, langage structuré, COA robotique, contrôle d’exécution


et d’aide à la décision, interfaces de téléopération.

La figure ?? donne un exemple de l’architecture de commande pour un robot industriel.

1.5 Exemples de problèmes considérés dans le cours


1. Description géométrique des systèmes et de leur environnement

2. Modèle géométrique direct

3. Problème géométrique inverse

4. Modèle cinématique

5. Problème cinématique inverse

6. Commande en position et en effort

7. Commande dynamique

8. Génération de trajectoires

8
Figure 5: Architecture de commande d’un robot industriel

9
.

2 Elements de mathématique
2.1 Algèbre des matrices
• Matrices
Une matrice à m lignes et n colonnes (m × n) est un tableau rectangulaire de m lignes
et n colonnes regroupant les coefficients d’une application linéaire. Une matrice A peut
être écrite sous la forme :
a11 a12 . . . a1n
 
a a22 . . . a2n 
21
A = (aij ) =  
 ... ... ...
 

am1 am2 . . . amn
• Transposée d’une matrice
La transposée d’une matrice A (m × n) est une matice notée At (n × m) et telle que:

a11 a21 . . . am1


 
a a22 . . . am2 
12
At =  
 ... ... ...
 

a1n a2n . . . amn
Propriétés : (At )t = A, (A + B)t = At + B t , (BA)t = At B t

• Trace d’une matrice


La trace d’une matrice carrée A = (aij ) est la somme des coefficients de la diagonale de
P
A. On écrit tr(A) = i=1,n aii où n est l’ordre de A.
Propriétés :
tr(A + B) = tr(A) + tr(B),
tr(λA) = (A).
tr(AB) = tr(BA).
On définit la trace tr(f ) d’un endomorphisme f d’un espace vectoriel E de dimension
finie, comme la trace d’une matrice de f par rapport à une base de E. On la note tr(f ).
Le résultat ne dépend pas de la base de E choisie car, entre deux matrices A et B
représentant f , il existe une relation du type B = P AP −1 avec P inversible et, d’après
la propriété précédente, on a : tr(A) = tr(P AP −1 ) = tr(B).
Ainsi, la trace d’un endomorphisme est, comme son déterminant, un nombre qui ne
dépend pas de la matrice représentant l’endomorphisme.
Exemple :
Une rotation d’angle θ du plan euclidien a pour matrice :
!
cos θ − sin θ
R=
sin θ cos θ
Sa trace est 2 cos θ. Par conséquent, si une rotation d’angle θ inconnue a pour matrice
R par rapport à 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 identité (Id ) est une matrice diagonale avec comme éléments non-nuls 1.
• Matrices symétriques
Une matrice est symétrique si elle est égale à sa transposée:

A = At

aij = aji ∀i, j


• Matrices anti-symétriques
Une matrice est anti-symétrique si elle est égale à l’opposée de sa transposée.

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 AA−1 = Id A−1 = A−1

Propriétés: det(A) = ±1, les valeurs propres sont λ1 = 1, λ2,3 = e±iθ , le vecteur propre
associé à λ1 = 1 est l’axe 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 ) (z1 0   yp 
.y )
    
 p  1 0 1 0
Zp (x1 .z0 ) (y1 .z0 ) (z1 .z0 ) zp

P =Ap
Les vecteurs-colonnes de A sont orthogonaux et unitaires.
• Déterminant d’une matrice
Le déterminant d’une matrice n × n est le scalaire défini par :

a11 a12 . . . ann

... ... . . . . . .
|A| =

... ... . . . . . .


a an2 . . . ann
n1

aij (−1)i+j Mij


X X
|A| = aij Cij =
j=1,n j=1,n

11
- Cij : est le cofacteur de l’élément aij ≡ mineur d’ordre (n − 1) obtenu en supprimant
la ligne i et la colonne j dans | A |.
• Norme d’une matrice
La norme la plus usuelle pour les matrices est la norme de Frobénius définie comme :
s X X
kAk = a2ij
i=1,m j=1,n

• Inversion d’une matrice


Si la matrice carrée A est régulière (i.e. ses vecteurs-colonnes sont linéairement indépendants),
il existe une matrice inverse A−1 unique telle que :

AA−1 = A−1 A = Id

A−1 est définie comme :


Ct
A−1 =
|A|
Numériquement, ce mode de calcul est peu efficace et donc pas utilisé. Ct est la matrice
adjointe de A (transposée des cofacteurs Cij de A).
t −1
Propriétés : (A−1 ) = (At ) ; (AB)−1 = B −1 A−1

• Inverse généralisée (pseudo-inverse de Moore-Penrose)


La notion d’inverse généraliséé (ou pseudo-inverse) généralise celle dinverse dune appli-
cation linéaire ou dune matrice aux cas non inversibles. En général, il ny a pas unicité
de cette inverse généralisée. Pour une matrice à coefficients réels ou complexes non
nécessairement carrée, il existe une unique pseudo-inverse satisfaisant certaines condi-
tions supplémentaires appelée pseudo-inverse de Moore-Penrose. Elle peut être calculée
de différentes manières. Lorsque la marice A n’est plus carrée:
si A est une matrice (m × n), n > m et si rg(A) = m:
t −1
A+ t
g = A (AA )

A+
g A = Id ∈ R
n×n

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


−1 t
A+ t
d = (A A) A

AA+
d = Id ∈ R
m×m

La pseudo-inverse donne une solution approchée à un système linéaire au sens des moin-
dres carrés :
Les solutions à un système d’équations linéaires :

Ax=b

obtenues par la pseudo-inverse seront donc telles que :


2
- si m > n, la solution approchée 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 propriété 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 d’une matrice
La diagonalisation d’une matrice régulière (n × n) A :

A = SDS −1

AS = SD ; S −1 AS = D
Exemple :
2 1
 
A= λ1 = 1 λ2 = 3
1 2
1 1 1 0 1/2 −1/2
   
A=
−1 1 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

Si A est symétrique, S −1 = S t
• Décomposition LU
La décomposition LU est une méthode de décomposition d’une matrice en une matrice
triangulaire inférieure L et une matrice triangulaire supérieure U. Cette décomposition
est utilisée pour l’inversion de matrices.
Si A une matrice inversible, la matrice A peut être décomposée comme :

A = LU
1
 
 l21 1 
L =  .. ..
 
 . ... 
. 
ln1 ln2 ··· 1
et

u11 u12 ··· u1n


 
 u22 ··· u2n 
U =
 ..


 . un−1,n 
unn
• Factorisation de Cholesky
La factorisation de Cholesky consiste pour une matrice symétrique définie positive A, à
déterminer une matrice triangulaire inférieure L telle que

A = LLt T

13
La matrice L est en quelque sorte une racine carrée de A. Cette décomposition permet
notamment de calculer la matrice inverse A−1 .

• Décomposition en Valeurs Singulières (SVD)


Considérons la matrice A ∈ Rm×n , le nombre σ est une valeur singulière pour A s’il
existe un vecteur u ∈ Rm et un vecteur v ∈ Rn tels que :

A v = σu et At u = σv

u et v étant désignés respectivement vecteurs singuliers à gauche et à droite.


La matrice A ∈ Rm×n de rang r être factorisée sous la forme :

A = U ΣV t
t
A = Um×m Σm×n Vn×n
Σ1r×r 0 V1t |r × n
  
A = [U1 , U2 ]
0 0 V2t |r × (n − r)
σi ui vit
X
A=
i=1,r

- U ∈ Rm×m et V ∈ Rn×n 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ù p = min(m, n)
- σii ≡ σi sont les racines carrées des valeurs propres de AAt

σi = At A
- U et V sont constituées des vecteurs propres respectivement de AAt et At A
Les colonnes de V correspondantes aux valeurs singulières nulles engendrent le noyau
de la matrice A, les autres colonnes correspondantes aux valeurs singulières non-nulles
engendrent l’espace image de A.

R(A) = (u1 , ...., ur )

N (A) = (vr+1 , ..., vn )


Les valeurs singulères contiennent l’information ”métrique” sur la transformation. L’image
du cercle unité par A est un ellipsoide dont la longueur des demi-axes principaux corre-
spondent aux valeurs singulières maximale et minimale :

kAuk kAuk
σmax = max σmin = min
u6=0 kuk u6=0 kuk

La pseudo-inverse de Moore-Penrose est donnée par :

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

14
avec :
Σ−1
" #
+ 1 r×r 0
Σ =
0 0
• Exponentielle d’une matrice
L’exponentielle d’une matrice carrée est définie comme :
n=∞
X An A2 An
exp(A) = =1+A+ + ... +
n=0 n! 2! n!

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


exp(0) = Id

• Méthodes itératives d’inversion


Lorsque le problème est mal conditionné, les solutions itératives successives limitent la
propagation des erreurs et pour des problèmes à nombre important de variables elles se
substituent avantageusement aux autres Par contre, la question de la vitesse de conver-
gence consitute un problème central. Parmi ces méthodes :
- La méthode de Jacobi qui peut sappliquer si les éléments diagonaux de la matrice
A sont non nuls,
- la méthode alternative de Gauss-Siedel dont la convergence est plus rapide,
- les méthodes de sur-relaxation,
- generalized minimum residuals (GMRES) pour des matrices non symétriques de
très grande dimension,
- etc.

• Différentiation d’une matrice A.


Soit A une matrice (n×m) dont les composantes sont des fonctions de q = (q1 (t), . . . , qk (t)).
La dérivée par rapport au temps de A est :
dA ∂A d q1 ∂A d qk X ∂ A d qi
Ȧ = = + ... + =
dt ∂ q1 dt ∂ qk dt i=1,k ∂qi dt

∂A d q
Ȧ = ≡ matrice(m × n × k)
∂ q dt

2.2 Vecteurs, torseurs et fonctions vectorielles


• Vecteurs
Un vecteur à n-dimensions est un ensemble de scalaires (ici souvent des réels):

x = (x1 , x2 , . . . , xn )t

Les xi sont les composantes du vecteur dans une base.


→ Un vecteur (vecteur libre) est un élément d’un espace vectoriel (V).

15
→ Un vecteur lié est un couple formé par un point P ∈ E et un vecteur (libre) u ∈ V.
→ Un vecteur glissant (P, u) est l’ensemble des vecteurs liés (Q, u) définis par P Q =
λu, λ ∈ R. C’est une classe d’équivalence de vecteurs liés.
• Un système de vecteurs est dit linéairement indépendant si:
X
λi ui = 0 λi ∈ R entraı̂ne λi = 0 ∀i
i=1,n

• Un système de vecteurs liés est un ensemble fini de vecteurs liés (P1 , u1 ), (P2 , u2 ), . . . (Pn , un ).
Cet ensemble de vecteurs défini un champ de vecteurs liés.
• Moment d’un vecteur
Le moment d’un vecteur lié (P, u) est le champ vectoriel défini par:

Q −→ MQ = QP ∧ u

Le moment ne change pas si l’on remplace (P, u) par un autre vecteur lié appartenant
au même vecteur glissant par exemple (P 0 , u) :

MQ (P 0 , u) = (QP + P P 0 ) ∧ u = MQ (P, u)

Si l’on considère un point Q0 , on trouve :

MQ0 (P, u) = (Q0 Q + QP ) ∧ u = Q0 Q ∧ u + MQ (P, u)

Cette relation définit un champ vectoriel particulier qui est dit champ de moments
• Résultante et Moment résultant
On appelle résultante d’un système de vecteurs liés le vecteur libre :
X
R= ui
i=1,n

On appelle moment résultant d’une famille de vecteurs liés le champ :


X
Q −→ MQ = QPi ∧ ui
i=1,n

Le point Q est le centre de réduction 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 quantité scalaire définie par :
b1
 
 b 
a.b = at b = ( a1 , a2 , . . . an )  2  = a1 b1 + . . . + an bn
 
...
bn
• Norme Euclidienne
La norme Euclidienne d’un vecteur est le réel:

(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 formé
par les vecteurs a, b et défini par :
 
i j k
c = a ∧ b =  a1 a2 a3  = (a2 b3 − a3 b2 )i + (a3 b1 − a1 b3 )j + (a1 b2 − a2 b1 )k
 

b1 b2 b3
Il peut être aussi représenté par :
  
0 −a3 a2 b1
a ∧ b = ( a2 b3 − a3 b2 a3 b1 − a1 b3 a1 b2 − a2 b1 ) =  a3

0 −a1   b2  = âb
 

−a2 a1 0 b3
â est une matrice antisymétrique :
ât = −â
Notons que si a et b sont linéairement dépendant a ∧ b = âb = 0
Le double produit vectoriel s’écrit :

a ∧ (b ∧ c) = (a.c)b − (a.b)c

• Produit mixte
Le produit mixte entre 3 vecteurs est le scalaire défini comme :

(a, b, c) = a.(b ∧ c)

Il se calcule simplement par le déterminant :



a a2 a3
1
(a, b, c) = b1 b2 b3


c1 c2 c3
Par permutation circulaire des colonnes du déterminant on a :

(a, b, c) = (c, a, b) = (b, c, a)

La condition pour que 3 vecteurs soient linéairement dépendants est que :

(a, b, c) 6= 0

• Torseurs
Un torseur T de l’espace physique de dimension 3 est formé par un couple (R, MP )
(vecteur; champ vectoriel antisymétrique).
MP répond à la loi :
∀P, Q ∈ E 3 MP = MQ + P Q ∧ R
∃ un point H tel que : R ∧ MH = 0
R ∧ MO
OH = + kR k ∈ kR
R2

17
→ droite axe central du torseur.
→ pour k = 0, OH0 = R∧M R2
O

- Interpretation pour un torseur de vitesse


∃ un axe tel que le mouvement de S se réduit à 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 représentant un vecteur glissant (l’invariant
scalaire est nul)
G(R, MQ ) R = u; MQ = QP ∧ u
si (kP, u) est un vecteur lié.
→ Un couple est un torseur de résultante nulle

C(0, M )

Un couple peut être représenté par deux vecteurs liés (P1 , R1 ) (P2 , −R1 )

M = MQ = QP1 ∧ R1 + QP2 ∧ −R1 = P1 P2 ∧ R1

• Décomposition d’un torseur


Un torseur, sans restriction sur R et MQ se décompose 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
• Egalité de deux torseurs
Deux torseurs T1 et T2 sont égaux 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 réciproque
Le produit réciproque (comoment) de 2 torseurs est le scalaire (indépendant du point où
on le calcule):
T1 • T2 = R1 .M2A + R2 .M1A
• Dérivation vectorielle
La dérivée du vecteur OM (t) fixe dans Bi est le vecteur :

d(i) OM (t) d xi (t) d yi (t) d zi (t)


= xi + yi + zi = ẋi (t)xi + ẏi (t)yi + żi (t)zi
dt dt dt dt

18
La dérivée de la fonction vectorielle u(t) par rapport à Bi , Bj étant mobile par rapport
à Bi .
d(i) u(t) d(j) u(t) (i)
= + ωj ∧ u(t)
dt dt
• Différentiation d’une fonction scalaire
La dérivée de la fonction y = f (x) est :

f (x) − f (x0 )
f 0 (x0 ) = limx→x0
x − x0
La différentielle de la fonction f (x) est :

df (x) = f 0 (x)dx

Règle de calcul des différentielles :

d(f g) = (f g)0 dx = f 0 gdx + f g 0 dx = gdf + f dg

Si on considère une fonction f de plusieurs variables réelles (x, y), la différentielle de la


fonction est :
∂f ∂f
df = dx + dy
∂x ∂y
Le gradient de la fonction scalaire f qui dépend d’un ensemble de variables q = (q1 , . . . , qn )
en un point q̄ est le vecteur :  ∂f
(q̄)

∂q1

∇f (q̄) =  .. 
. 


∂f
∂qn
(q̄)
Pour une fonction qui dépend d’un ensemble de variables q et du temps :(q1 , . . . , qn , t),

f = f (q1 , . . . , qn , t)

ò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  d q2 
∂f ∂f ∂f
= ( ∂q ∂q2
... ∂qn )  dt 
 
dt 1  ... 
d qn
dt
df ∂f d q
=
dt ∂q dt
Si l’on considère plusieurs fonctions du même type que la précédente:

f1 = f1 (q1 , . . . , qn )

19
f2 = f2 (q1 , . . . , qn )
... = ....................
fm = fm (q1 , . . . , qn )
t
Si on note F = (f1 , f2 , . . . , fm ) , par différentiation de F par rapport à t on a:
dF ∂Fdq
=
dt ∂q dt
où:  ∂f1 ∂f1 ∂f1 
∂q1 ∂q2
... ∂qn
 ∂f ∂f2 ∂f2
∂F

 2 ... 
=  ∂q1 ∂q2 ∂qn 
∂q  ... ... ... ...
 

∂fm ∂fm ∂fm
∂q1 ∂q2
... ∂qn

2.3 Systèmes d’équations linéaires


• Applications linéaires
Une application f (i.e. une transformation) entre deux espaces vectoriels E et F est dite
linéaire si et seulement si :
f (λu + µv) = λf (u) + µf (v) ∀u, v ∈ E etλ, µ ∈ K
• Pour des bases BU et BV choisies, l’application linéaire f peut être représentée par la
matrice A (m × n) :
f : x → y /y = f (x)
[y]BV = A[x]BU
Le produit Ax peut
 êtrevu comme
 une combinaison des vecteurs-colonnes de A.
2 3 1
Exemple, si A = x= :
4 1 2
1 2 4
     
A = x1 + x2
2 4 1
• Générateur et noyau
Le noyau N (A) est le sous-espace vectoriel:
N (A) = {x/x ∈ Rn ; Ax = 0}
Le générateur d’une application est le sous-espace vectoriel:
R(A) = {y/y ∈ Rm ; Ax = y; x ∈ Rn }
• Rang d’une application linéaire et d’une matrice
La dimension de f = dim(Im f ) est le rang de l’application linéaire. Si A est la matrice
associée à f , on a:
dim(Im f ) = dim(R(A)) = rg(A)
Le rang de A est égal au nombre maximum de vecteurs-colonnes linéairement indépendants.
• Si f est une application linéaire d’un 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 d’algèbre des groupes
• Définition d’un groupe
Un groupe est un ensemble G muni d’une opération interne (◦), c’est à dire une opération
linéaire de G × G → G telle que l’image de deux de ces éléments (g1 , g2 ) est (g1 ◦ g2 ).
Cette opération doit présenter les propriétés suivantes :
1. associativité : ∀g1 , g2 , g3 : (g1 ◦ g2 ) ◦ g3 = g1 ◦ (g2 ◦ g3 )

2. existence d’un élément neutre eg : ∀g, g ◦ eg = eg ◦ g = g

3. existence d’inverses : ∀g ∃g −1 tel que g ◦ g −1 = eg


Un exemple simple de groupe est celui de l’ensemble des entiers relatifs Z muni de
l’addition usuelle qui forme ) le groupe noté (Z, +).

• Groupes de Lie

La notion de groupe de Lie réalise la synthèse des structures de groupe et de variété


différentielle. Elle permet l’usage conjoint d’opérations de l’algèbre et du calcul différentiel.
Un groupe de Lie de dimension n est donc une variété différentiable munie d’une struc-
ture de groupe. La dimension d’un groupe de Lie est, par définition, sa dimension en tant
que variété. Une variété est un ensemble qui a les propriétés d’une surface en géométrie
classique. Les exemples de groupes de Lie sont nombreux. Il a été montré en partic-
ulier que le groupe des isométries directes qui représente transformations finies des corps
rigides possède une structure de groupe de Lie de dimension 6.

• Algèbres de Lie - Espace tangent comme algèbre de Lie


Une algèbre de Lie G est un espace vectoriel muni d’une application (loi de composition
interne appelée crochet de Lie) de G × G dans G et qui à x, y ∈ G associe [x, y] et qui
vérifie les trois propriétés suivantes:
1. [., .] est bilinéraire,

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èbres de Lie sont naturellement associées aux groupes de Lie. Si G est un groupe
de Lie et eg son élément neutre, alors l’espace tangent en eg à G est une algèbre de Lie
G. Réciproquement, on peut sous certaines conditions reconstruire un groupe de Lie en
partant de son algèbre de Lie.
On montre que l’algèbre de Lie des générateurs de transformations infinitésimales
peut être associé aux transformations finies des solides. Ainsi des sous-groupes de
déplacements peuvent être à partir de la fonction exponentielle des algèbres de Lie des
torseurs.
Les relations établies à travers un ensemble de théorèmes entre un groupe de Lie et
son algèbre constitue un point essentiel. Elles permettent des déductions qui, partant
de propriété des groupes ou de sous-groupes, permettent d’aboutir à des propriétés de
son algèbre ou des sous-algèbres à travers le calcul différentiel. A l’inverse, il est beau-
coup plus difficile de d’établir par intégration des propriétés (globales) sur les groupes
en remontant à partir de l’algèbre (de propriétés locales).

• Représentation adjointe
Un outil important pour létude des algèbres de Lie est la notion de représentation par la
donnée d’un espace vectoriel et d’un morphisme de groupe. Tout groupe de Lie connexe G
admet une représentation naturelle, appelée représentation adjointe dont l’introduction
est liée à la définition de son algèbre de Lie Le goupe de Lie G a ainsi sa représentation
dans son propre algèbre qui est définie par l’application :
AdG (h) = [g, h] = G h G−1
L’action adjointe de SO(3) sur son propre algèbre so(3) se calcule comme 1 :
ω̂ 0 = Rω̂Rt
avec :  
0 −ωz ωy
ω̂ =  ωz 0 ωx 
 

−ωy ωx 0
Si la matrice de rotation R est prise sous la forme :
 t
r1
 t
R=  r2 
r3t
On peut alors calculer facilement :
Rω̂Rt = R ( ω ∧ r1 | ω ∧ r2 | ω ∧ r3 ) = Rω
L’action adjointe de SE(3) sur son propre algèbre se(3) est définie à partir de
l’opérateur tangent à la trajectoire comme :
0
ω̂ v R d ω̂ v Rt −Rt d Rω̂Rt R v − Rω̂Rt d
      
= =
0 0 0 1 0 0 0 1 0 0
1
SO(3) et so(3) sont comme SE(3) et se(3) sont définis plus loin

22
On peut également définir cette action sur les composantes du torseur associé :
0
ω ω R 0 ω
     
= Ad(T ) = ˆ
v v dR R v

• Représentation coadjointe
De la représentation adjointe Ad on déduit naturellement une représentation de G dans
l’espace dual g ∗ . Par définition, cette représentation coadjointe de G dans g ∗ est une
application linéaire définie par :

Ad∗G (h∗ ) = G−1 h∗ G

L’action coadjointe de SE(3) sur le dual de l’algèbre de Lie se(3) (noté se(3)∗ ) est définie
à l’aide de l’opérateur Ad∗G sur les composantes d’un torseur :
0
w ω Rt dˆ Rt ω
     
= Ad∗G (T ) = t
v v 0 R v

• Application exponentielle d’un groupe de Lie.


L’application exponentielle d’un groupe de Lie établit une relation entre les éléments
du groupe et les éléments de son algèbre de Lie. L’exponentielle permet de reconstituer
sous la forme de développement limité le groupe au voisinage de l’élément neutre et par
translation au voisinage de n’importe quel autre élément.
L’exponentielle du groupe des rotations SO(3) est étroitement lié à la description d’une
rotation par son axe et son angle. Elle est introduite à partir de cette représentation au
chapitre suivant.

23
3 Repérage et Mécanismes
3.1 Repérage d’un corps
Pour introduire le repérage d’un corps, on lui attache un repère RS .
→ un repère R∫ est formé par une origine Os et une base B(xs , ys , zs ).

Figure 6: Repérage d’un corps dans l’espace

→ un paramétrage peut être introduit sous par un vecteur position O0 OS et une représentation
de l’orientation de la base ( soit au total 6 paramètres indépendants, 3 dans le plan)
→ Les coordonnées dans R0 d’un point P = (xP , yP , zP )t de S sont:
   
XP xP
 YP  = R  yP  + O0 OS
   

ZP zP
       
XP x0 .xS x0 .yS x0 .zS xP x0 .O0 OS
 YP  =  y0 .xS y0 .yS y0 .zS   yP  +  y0 .O0 OS 
       

ZP z0 .xS z0 .yS 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 également que :

RRt R = Id R = RId ⇒ RRt = Rt R = Id


• Rotation plane
On appelle groupe orthogonal de degré n du corps K le groupe des matrices orthogonales
n × n à coefficients dans K, muni de la multiplication matricielle. Il est noté O(n, K).
Cest un sous-groupe du groupe général linéaire GL(n, K). Rappelons que toute matrice
orthogonale a un déterminant égal à 1 ou −1. Les matrices orthogonales n × n de
déterminant 1 forment un sous-groupe invariant de O(n, K) appelé le groupe ”‘Special
Orthogonal”’ et noté SO(n, K). SO(n, R) définit l’espace des matrices de rotation Rn×n
n o
SO(n, R) = SO(n) = R ∈ Rn×n : RRt = Rt R = Id, detR = +1

24
SO(n) est un groupe algébrique. SO(3) est le groupe des rotations dans R3 .
- L’élément neutre est la matrice identité Id ∈ R3×3 .
- L’inverse R−1 = Rt
- L’opération de multiplication dans ce groupe est asociative : (R1 R2 )R3 = R1 (R2 R3 )

La configuration angulaire d’un corps en mouvement libre dans l’espace peut être
définie par une unique matrice de rotation R ∈ SO(3). Sa trajectoire en rotation sur
l’intervalle [0, T ] est une courbe R(t) ∈ SO(3) pour t = [0, T ]

La matrice de rotation R sert également à représenter la transformation subit par un


point dans un déplacement de rotation. Nous introduirons plus loin différents paramétrages
pour cette transformation.
Cette tranformation est une transformation rigide. Elle préserve l’invariance de la dis-
tance entre deux points. Si p,q et P,Q sont les vecteurs des cooordonnées de 2 points
d’un espace Euclidien E 3 après :

kRq − Rpk = (Rq − Rp)t (Rq − Rp) = (q − p)t Rt R(q − p) = kq − pk ∀P, Q ∈ E 3

Elle préserve également l’orientation :

R(u ∧ v) = Ru ∧ Rv ∀u, v ∈ R3

SO(2) est le groupe des rotations planes. Il est isomorphe au cercle S1, formé des
nombres complexes de module 1, muni de la multiplication. Cet isomorphisme lie le
nombre complexe ei·φ = cos(φ) + i · sin(φ) à la matrice orthogonale

cos(φ) − sin(φ)
 
Rφ =
sin(φ) cos(φ)
Un vecteur V de composantes [x; y] a pour transformé le vecteur V 0 de composantes
(x0 ; y 0 ) que l’on peut calculer avec :
 0
x cos φ − sin φ x
  
=
y0 sin φ cos φ y
On a :
x0 = x cos φ − y sin φ
y 0 = x sin φ + y cos φ
Ce changement de coordonnées peut être écrit avec des nombres complexes :

x0 + i y 0 = (cos φ + i sin φ)(x + i y)

ou encore :
x0 + i y 0 = e iφ
(x + i y) = e iφ
·c
• Représentation de la rotation dans l’espace
→ Rotation simple
Pour une rotation d’angle α autour de z (Rz0 ,α ):

25
Figure 7: Rotation simple
 
x1 .x0 y1 .x0 z1 .x0
on peut construire : R01 = [x01 |y01 |z01 ] =  x1 .y0 y1 .y0 z1 .y0 
 

x1 .z0 y1 .z0 z1 .z0


D’une manière générale, les coordonnées d’un point P sont transformées par la rotation
:
P0 = R01 P1
Dans l’espace 3D, la matrice de rotation R01 associée à cette transformation est :
   
r11 r12 r13 cosα −sinα 0
R01 = [x01 |y01 |z01 ] = 
 r21 r22 r23  =  sinα cosα 0 
  

r31 r32 r33 0 0 1

Les composantes des vecteurs-colonnes x01 , y01 et z01 vérifient 6 relations scalaires:

Figure 8: Rotation simple

2 2 2
r1j + r2j + r3j = 1 j = 1, 2, 3

xt01 y01 = y01


t t
z01 = z01 x01

26
Aussi, la dimension de SO(3) est 3.
t
Inversement : P1 = R01 P0
On vérifie que :
Rz,φ+θ = Rz,φ Rz,θ
Rz,0 = Id
→ Composition de rotations finies dans l’espace
Si on fait subir au vecteur OP (noté Pi dans le repère Ri ) deux rotations successives à
partir des repères courants, on a :

P1 = R12 P2

P0 = R01 P1 = R02 P2 = R01 R12 P2


Les rotations finies ne peuvent pas être représentées par des vecteurs car non-commutatives
(voir figure ci-dessous).

Figure 9: Composition de rotations autour d’axes de repères mobiles

→ La composition des rotations exprimée à partir d’axes mobiles dans le repère de


référence s’effectue par une post-multiplication des matrices de rotation.

R0n = R01 R12 R23 . . . R(n−1)n


→ Une trajectoire de rotation peut être vue comme une séquence continue de rotations
:
R(t) : t → SO(3)
Pour différents instants, la loi de composition du groupe des rotations conduit à :

R(t0 , t2 ) = R(t0 , t1 )R(t1 , t2 ) ∀t0 < t1 < t2

→ Angles d’Euler
3 rotations consécutives autour de 3 axes mobiles qui coincident au départ avec R1 .
- une rotation d’angle φ autour de z1 ≡ z2 (Rz1 ,φ ). La matrice de passage du repère R1

27
Figure 10: Composition de rotations autour d’axes de repères mobiles

au repère R2 est :  
Cφ −Sφ 0
R12  Sφ
= Cφ 0 
0 0 1
- une rotation d’angle θ autour de l’axe x2 ≡ x3 (Rx2 ,φ ). La matrice de passage du repère
R2 au repère R3 est :  
1 0 0
R23 =  0 Cθ −Sθ 
 

0 Sθ Cθ
- une rotation d’angle ψ autour de z3 ≡ z4 (Rz3 ,φ ). La matrice de passage du repère R3
au repère R4 est :  
Cψ −Sψ 0
R34 =  Sψ Cψ 0 
 

0 0 1
La matrice de rotation qui définie le passage de la configuration angulaire de S après ces
3 rotations % par rapport à R1 est :
 
(CφCψ − SφCθSψ) (−CφSψ − SφCθCψ) (SφSθ)
R14 = Rz1 ,φ Rx2 ,φ Rz3 ,φ = R12 R23 R34 =  (SφCψ + CφCθSψ) (−SφSψ + CφCθCψ) (−CφSθ) 
 

SθSψ SθCψ Cθ

On notera que la résolution inverse est indéterminée quand θ = 0 ou π


En dehors de cette singularité, les angles φ, θ, ψ peuvent être obtenus en fonction des
composantes de la matrice de rotation à l’aide de la fonction atan2(u, v). Cette fonction
utilise les signes de ses arguments u, v pour déterminer le quadrant de la solution :

tan−1 (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 d’Euler. Cependant il s’agit de
rotations autour d’axes fixes.
→ Rotations autour d’axes fixes
Un autre paramétrage possible de la rotation d’un corps conduit à introduire 3 rotations
autour des axes d’un repère fixe. Pour composer les rotations on effectue alors une pré-
multiplication des matrices de rotation. Si on considère l’exemple de la figure ci-dessous
où on fait subir au vecteur OP (noté Pi dans le repère Ri ) deux rotations successives φ
et θpar rapport aux axes y0 et z0 du repère 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 fig-
ure), conduit à :

Figure 11: Composition de rotations définies par les angles de Roulis-Tangage-Lacet

P0 = Rz0 ,φ Ry0 ,θ Rx0 ,ψ P3


→ Paramètres de Rodrigues
Une rotation peut être également introduite sous la forme d’un axe L de vecteur directeur
s autour duquel se ferait une rotation d’un angle φ. On peut alors écrire la matrice R
directement en fonction de s et φ.
Si on considère la rotation autour de la droite L (de vecteur directeur s) qui transforme
le point P en P 0 après la rotation φ comme montré sur la figure. Le vecteur directeur de
l’axe de rotation peut être déterminé en considérant les coordonnées X des points laissés
invariants par la rotation qui sont tels que :
RX = X
En posant le problème comme un problème aux valeurs propres, les valeurs propres λ de
R sont telles que :
RX = λX

29
Figure 12: Représentation d’une rotation par un axe+angle

et les solutions autres que X = 0 sont données par :

det(RX − λX) = 0

En développant, on trouve comme polynôme caractéristique :

(λ − 1)(λ2 − λ(tr(R) − 1) + 1) = 0

Ce polynôme admet comme racines :

λ1 = 1 λ2 = cosφ + jsinφ λ3 = cosφ − jsinφ

On note e le vecteur propre associé à la valeur propre λ1 = 1, les points de l’axe L sont
tels que :
L=ke k∈R
Les deux autres vecteurs propres forment le plan π perpendiculaire à l’axe de rotation.
L’angle de rotation φ est :
1
φ = (arcos(tr(R) − 1))
2
→ Formule de Cayley:
La formule de Cayley permet de définir les composantes du vecteur e.

e = ( e1 , e2 , e3 )t

Les ei sont les paramètres de Rodrigues. Elle peuvent être mis sous forme d’une matrice
anti-symétrique E = ê.

30
La formule de Caley est obtenue en considérant 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ère, 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ère:

E(R + 1) = (R − 1)

ER+E−R+1=0
(1 + E) = (1 − E)R
R = (1 − E)−1 (1 + E)
On vérifie que le vecteur e est un vecteur de l’axe de rotation en considérant que les
points de coordonnées 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êX = 0
Les vecteurs e et x doivent pour cela être colinéaires ou parallèles. En développant R en
fonction des paramètres de Rodriques à l’aide de la formule de Cayley, on obtient :
(1 + e21 − e22 − e23 )
 
2(e1 e2 − e3 ) 2(e1 e3 + e2 )
1  2 2 2
R =  2(e1 e2 + e3 ) (1 − e1 + e2 − e3 ) 2(e2 e3 − e1 ) 


2(e1 e3 − e2 ) 2(e2 e3 + e1 ) (1 − e21 − e22 + e23 )

avec ∆ = (1 + e21 + e22 + e23 )


On peut également montrer que :
φ
kek = tg
2
La formule de d’Olinde-Rodrigues permet de définir une rotation vectorielle autour
d’un axe quelconque. Soit OP un vecteur subissant une rotation d’angle θ autour d’un
axe de vecteur unitaire s comme montré sur la figure avant. Le vecteur OP 0 obtenu après
cette rotation de OP peut être déduit d’un raisonnement géométrique. Si on note :

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 + sinφS]p, p0 = R(s, φ) p


ici S est l’opérateur : x → s ∧ x :
 
0 −sz sy
S =  sz 0 −sx 
 

−sy sx 0
A partir de cette représentation d’une rotation, on introduit les quaternions de norme 1
qui constituent une forme compacte de paramètrage des rotations. Cette représentation
est particulièrement bien adaptée à l’interpolation en rotation par sa simplicité (on ma-
nipule des vecteurs de dimension 4) et par le fait que, contrairement à l’interpolation sur
les représentations par des systèmes d’angles, les propriétés de R sont conservées (pas
besoin de refaire la normalisation et l’orthogonalisation des matrices !).
Un quaternion de rotation est sous la forme d’un élément de R4 q = (q1 , q2 , q3 , q4 )t et
est tel que kqk = 1 (3 paramètres indépendants) avec :
q0 (cos(φ/2)
   
q   s sin(φ/2) 
q =  1 =  x
   
 q2   sy sin(φ/2) 

q3 sz sin(φ/2)
On l’écrit également sous la forme d’un couple formé du réel a et du vecteur ~v de R3
dont les coordonnées sont (b, c, d).

q = (a , ~v )

Cette notation permet de définir la somme et le produit (non commutatif) de la façon


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 définir les 3 notions suivantes : -
• le conjugué d’un quaternion : q̄ = (a , −~v ),

• le produit scalaire de deux quaternions : q1 •q2 = (a1 , ~v1 )•(a2 , ~v2 ) = a1 ·a2 +~v1 ·~v2

√ √ 1 1
• la norme d’un quaternion : kqk = q•q = q.q̄ = (q.q̄) 2 = (a2 + ~v · ~v ) 2 =
1
(a2 + k~v k2 ) 2

32
La tranformation d’un vecteur ~u en ~u0 par une rotation définie par le quaternion q s’écrit
:
~u0 = q · ~u · q̄
La matrice de rotation correspondant à ce quaternion q = (q0 , q1 , q2 , q3 ) est :
(q0 q0 + q1 q1 − q2 q2 − q3 q3 ) 2(q1 q2 − q0 q3 ) 2(q1 q3 + q0 q2 )
 

R= 2(q2 q1 + q0 q3 ) (q0 q0 − q1 q1 + q2 q2 − q3 q3 ) 2(q2 q3 − q0 q1 ) 


2(q3 q1 − q0 q2 ) 2(q3 q2 + q0 q1 ) (q0 q0 − q1 q1 − q2 q2 + q3 q3 )

La composition de deux rotations correspond au produit des quaternions associés. In-


versement, on détermine l’axe et l’angle à partir du quaternion par :
q
cos(φ/2) = q0 sin(φ/2) = q12 + q22 + q32
 
q q1
2 2 2
s = 1/ q1 + q2 + q3  q2 

q3
→ Coordonnées exponentielles d’une rotation :
Pour une rotation θ autour de l’axe de vecteur unitaire s, on a :

ω̂ = θŝ

La matrice de rotation R peut s’écrire comme :


k=∞
ŝθ 1
(ŝθ)k
X
R=e =
k=0 k!

Les puissances de ω̂ étant périodiques :

ω̂ 2k = (−)k+1 ω̂ 2 ω̂ 2k+1 = (−)k ω̂

La série infinie se réduit à un polynône d’ordre 2 en ω̂ et :

R(s, θ) = e[θŝ] = Id + sin θŝ + (1 − cos θ)(ŝ)2

On vérifie que e[θŝ] est bien une matrice de rotation ([eθŝ ]−1 = [eθŝ ]t ) et det[eθŝ ] = +1.

33
• Transformations homogènes:
Un déplacement n’est pas une transformation linéaire (ce n’est pas une fonction additive).
Par exemple:
D(x + y) = x + y + d 6= D(x) + D(y)
→ 6 ∃ une matrice associée à D.
Un point P peut être représenté par ses coordonnées homogènes écrites usuellement
comme (x, y, z, w) (un vecteur de dimension n + 1 pour pour un point de E 3 ). Ces
coordonnées homogènes peuvent être utilisées pour appliquer des transformations à un
point 3D telles que les changements de déplacements, les rotations, les translations, les
homothéties, les projections. Ces transformations sont alors représentées sous la forme
d’une matrice 4×4. Si w = 1, les coordonnées du point P notées (XP , YP , ZP , 1) après un
déplacement D dans Rn+1 seront liées aux coordonnées (xp , yp , zp , 1) de ce même point
avant déplacment par la relation :

XP xp
   
Y R3×3 d3×1  yp 
   
 P
=

 ZP 0 1  zp 
   

1 1

Figure 13: Représentation d’un déplacement de solide rigide

P R d p P p
        
= =T
1 0 1 1 1 1
Les déplacements dans Rn forment un groupe, appelé groupe des déplacements Euclidiens
(noté SE(n) : Special Euclidan Group). Un élément T de SE(n) est défini par une
rotation R ∈ SO(n) et une translation d ∈ Rn .

Rn×n dn×1
  
SE(n) = T = ; R ∈ SO(n) ; p ∈ Rn
0 1

Son action sur un point p de Rn est donnée par :

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

34
→ la dimension de l’espace des configurations d = 3, 6 ≡ dimension du groupe des
déplacements SE(2), SE(3).

• Composition de 2 déplacements

Figure 14: Composition de 2 transformations

La composition de 2 déplacements est un déplacement :

T02 = T01 T12


P0 R01 d01 R12 d12 P2 R01 R12 R01 d12 + d01 P2
        
= =
1 0 1 0 1 1 0 1 1
1 0
 
• l’élément neutre est : Te =
 t
0  1
t
R −R d
• l’inverse est : T −1 =
0 1

3.2 Les liaisons


Les liaisons imposent des contraintes sur les mouvements relatifs des solides. Ces con-
traintes s’expriment par des équations algébriques entre les paramètres de configuration
des corps incidents et traduisent les conditions géométriques du contact. D’une manière
générale, une liaison se traduit par des égalités ou des inégalités entre les paramètres du
système, les vitesses généralisées 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ù k est le degré de la liaison.
Les liaisons peuvent être classées de plusieurs manières. On distingue généralement :
• les liaisons bilatérales : h(q, q̇, t) = 0
Une liaisons entre 2 solides est bilatérale si le contact existe dans toutes les positions
possibles du système.
• les liaisons unilatérales : h(q, q̇, t) ≥ 0.
Si la liaisons entre les solides n’existe que dans certaines positions, la liaison est
dite unilatérale.

35
• les liaisons dépendantes du temps (rhéonomes) (∂h/∂t 6= 0) : h(q, q̇, t) = 0
L’éventuelle dépendance par rapport au temps d’une liaison vient nécessairement
d’obstacles mobiles dont la position connue a priori dépend explicitement du temps
.

• les liaisons indépendantes du temps (scléronomes) ((∂h/∂t = 0) : h(q, q̇) = 0

• les liaisons holonomes : h(q, t) = 0


Les liaisons sont dites holonomes (ou géométriques) lorsque les solides ne sont
astreints comme nous verrons juste après qu’à des conditions géométiques.

• les liaisons non-holonomes : h(q, q̇, t) = 0


Lorsqu’en plus des conditions géométriques s’ajoutent des conditions cinématiques
(à travers les vitesses généralisées), les liaisons sont dites non-holonomes.

• Liaisons holonomes
A titre d’exemple de liaison holonome, nous considérons 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 géométriques 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 Cθi −Sθi Pix Oj x Cθj −Sθj Pj x 0
           
+ − + =
Oiy Sθi Cθi Piy Oj y Sθj Cθj Pj y 0

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 s’expriment :

h1 : θi − θj − c = 0

h2 : (Pi − Pj )tR0 (Pi − Qi )R0 = 0

36
avec : (Pi − Pj )R0 = (Oi + R0i Pi − Oj − R0j Pj )
et :(Pi − Qi )R0 = R0i (Pi − Qi )

Ces relations scalaires reflètent les contraintes mécaniques imposées sur le déplacement
relatif des 2 corps liés par la liaison.
Pour une liaison d’indice i, le nombre de ces contraintes (satisfaites par les efforts
d’interaction entre les corps) est noté ui . ui représente donc également la dimension du
torseur des efforts d’interaction 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 être défini par un torseur complémentaire réciproque Tc (Sk /Sl ) à ce
dernier et donc tel que :
Ts (Sk /Sl ) • Tc (Sk /Sl ) = 0
ki = dim(Tc (Sk /Sl )) désigne le degré de la liaison. (i.e. nombre de degrés de liberté).

D’une manière générale les liaisons holônomes introduisent u relations de contrainte


du type hj (q,t) j = 1, u; q = (q1 , q2 , . . . , qn )

h(q, t) ≥ 0

Ces équations de liaison traduisent la dépendance des paramètres de configuration. Si


celles-ci sont indépendantes et régulières (l’application q → h(q) est de rang plein, alors
le paramétrage est strict. Dans ce cas particulier, un paramétrage surabondant intro-
duisant n paramètres pourra être réduit à p paramètres indépendants (n > p).

• Représentation des liaisons simples et complexes par leur groupe de déplacement.


Il existe de nombreux types de liaisons géométiques. Les liaisons sont généralement
classées 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 sphériques (S). Notons que les 3 dernières peuvent être
obtenues par combinaison des 2 premières qui sont dites liaisons élémentaires. Ceci se
vérifie directement en utilisant la loi de composition du groupe des déplacements (non
contraints) SE(n). La figure 16 illustre 2 décompositions équivalentes d’une liaison
sphérique.
Les mouvements entre deux solides contraints par l’une ou l’autre de ces liaisions forment

Figure 16: Décomposition d’une liaison sphérique

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 indiquée comme :

E identité
D(u) Translation de vecteur u
R(A, u ) Rotation autour de l’axe u passant par A
H(A, u , p) Vissage d’axe u passant par A
T (P l) Translation parallèle au plan P l
C(A,u) Mouvement cylindrique suivant u passant par A
T Translation dans l’espace
S(A) Rotation sphérique autour du point A
D Déplacement général dans l’espace

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 chaı̂ne cinématique série dans laquelle les solides i, i + 1, i + 2, . . . , i + j sont
reliés par les liaisons k = i, i + 1, i + 2, . . . , i + j − 1, en considérant le mouvement relatif
de la liaisons k décrit par le sous-groupe Gk , le déplacement relatif des solides i et i+j est
décrit par le sous-groupe Bii+j ( généré par la liaison équivalente ) obtenu par le produit
des déplacements relatifs introduits par les laisions.
i+j−1
Bii+j =
Y
Gk
i

La dimension de ce générateur sera au plus égal à :


i+j−1
dim(Bii+j ) =
X
dim(Gk ) − dim(G1 ∩ G2 ∩ . . . ∩ Gi+j−1 )
i

Pour des mécanismes parallèles comme ceux représentés sur la figure 17, la dimension
du générateur du mouvement relatif de la plate-forme mobile (SP ) par rapport au corps
fixe (S0 ) qui sont reliées par N chemins séries est:

dim(B0P ) = dim[(B0P )1 ∩ (B0P )2 ∩ . . . ∩ (B0P )N ]

• Liaisons non-holonomes
Lorsqu’en plus des conditions géométriques de contact les solides sont astreints à k

38
Figure 17: Mécanismes parallèles équivalents cinématiquement

Figure 18: Roulement sans glissement d’une roue sur un plan

39
conditions cinénatiques, on parle alors de l’existence de liaisons non-holonomes. Elles
sont de la forme :
f (q, q̇, t) = 0
Une liaison non-holonome nécessite une liaison holonome traduisant le contact. Un
exemple typique de liaison non-holonome est celui d’une 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 à S1 est:
U̇ = I˙t − I˙t
S1 U̇ ∈ plan tangent
S2

Si on introduit comme paramètres du système l’ensemble q = (x, y, θ), si le glissement


latéral de la roue est empêché, on introduit pour traduire cette contrainte une relation
entre les dérivées par rapport au temps des paramètres qui est :
f1 = sin θẋ − cos θẏ = 0
 

(sin θ , − cos θ , 0)  ẏ  = 0
 

θ̇
Les k relations de contraintes peuvent alors être mises sous la forme d’un système
d’équations différentielles ordinaires :
A(q)q̇ = 0
Un tel système est dit pfaffien puisqu’il est constitué dun ensemble fini de formes dérivées
(différentielles) de degré 1.
Les mouvements compatibles avec les contraintes sont tels que :
A N (A) = 0
ici :  
cos θ 0
N (A) =  sin θ

0
0 1
Les dérivées par rapport au temps des paramètres de configuration q de la roue peuvent
s’exprimer en fonction des pseudo-vitesses indépendantes :
   
q̇1 cos θ 0  
 u1
 q̇2  =  sin θ 0 u1 , u2 ∈ R
  
u2
q̇3 0 1
Ces contraintes peuvent être représentées dans l’espace des configurations de la roue (voir
figure 19).
Une liaison est dite non-holonomes si les k contraintes cinématiques ne sont pas
intégrables (transformables en contraintes géométriques). L’intégrabilité des contraintes
se traduit par le fait qu’il existe des fonctions scalaires fi telles que :
d fi (q(t)) X ∂fi (q(t)) ∂fi (q)
= q̇j = q̇ = A(q(t))q̇ = 0
dt j=1,k ∂qj ∂q

40
Figure 19: Représentation de l’espace des configurations

3.3 Paramétrage d’un système


Paramétrer un système robotique, c’est choisir une famille de nombres réels appelés
paramètres pour définir sa poisition dans son espace d’évolution. D’une manière plus
générale, c’est choisir un atlas (une carte pour des mouvements locaux) de son espace
de configuration. Les systèmes considérés ici sont constitués de corps rigides. Aussi, une
position de référence étant choisie, l’ensemble des positions du système est en bijection
avec le groupe de déplacement de l’ensemble du système.

Pour un solide unique, l’ensemble des positions se déduit par une isométrie, c’est à dire
par un déplacement. Dans l’espace physique de dimension 3, le groupe des déplacements
(SE(3)) est de dimension 6 (respectivement 2 pour SE(2). L’ensemble des positions est
en bijection avec ce groupe.
• Paramètres d’un système Σ = S1 , S2 , . . . , Sb :
Paramétrer Σ, c’est associer à toutes ses configurations une famille de paramètres q. La
dimension de l’espace des configurations est pour un système de b − 1 solides en mouve-
ments libres (1 solide est souvent considéré comme fixe sauf dans le cas particulier des
systèmes humanoı̈des par exemple) dans :
- l’espace (SE(3)) → dim(q) = 6(b − 1)
- le plan (SE(2)) → dim(q) = 3(b − 1)
Pour un système de b solides à n liaisons holônomes indépendantes, la dimension du
sous-espace des configurations est dans :
- l’espace (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


P

La dimension de l’espace des configurations d’un système holonome est égal à sa mobilité:
X
m = d ∗ (b − 1) − ui
i=1,n

m est le nombre de degrés de liberté du système.


La mobilité d’un système holonome est égale à la dimension de l’espace des configura-
tions du système. m, le paramètre de mobilité générale d’un tel système représente le
nombre de paramètres a priori indépendants nécessaires pour définir la configuration de

41
l’ensenble des corps du système par rapport à n’importe quel corps du système (pas un
corps particulier !!).

La dimension de l’espace de configuration d’un système comportant des liaisons non-


holonomes est égale est définie par celle des liaisons holonomes. Sa mobilité est égale à
la dimension de l’espace des configurations du système moins le nombre de contraintes
cinématiques. La mobilité représente alors les capacités de mouvement instantané du
système.
→ un paramétrage strict (i.e. minimum) du système utilise p = m paramètres.
→ un paramétrage surabondant utilise p > m paramètres.
L’usage d’un type ou l’autre de paramétrage dépend du problème posé.

3.4 Représentation topologique d’un système mécanique Σ


Une représentation symbolique de l’arrangement des corps et des liaisons d’un mécanisme
est donnée par le graphe non-orienté (graphe de connexion) associé au système.
Par convention dans un tel graphe :
- les noeuds représentent les corps,
- les arcs représentent les liaisons.

• Exemple de l’Hexarobot

Figure 20: Schéma cinématique et graphe associé de l’hexarobot

• Terminologie des graphes


- le degré d’un sommet est le nombre d’arêtes qui lui sont incidentes
- un chemin constitue une suite de corps (sommets) adjacents (reliés pas un arc).
- un cycle (un circuit) est un chemin dont tous les sommets sont distincts qui débute et
se termine sur le même corps.
- un cycle est dit élémentaire ssi il est minimal, à savoir si on ne peut déduire un autre
cycle par suppression d’arcs et si il ne comporte pas d’autres cycles.
- la dimension de la base de cycles est donnée par ν = (n − b + 1)
- un graphe est connexe si chaque paire de sommets est reliée par une chaı̂ne.
- Les composantes connexes d’un graphe sont constituées des classes d’équivalence de

42
sommets induits par la relation “est accessible à partir de”.

Notons que la connectivité des corps se représente très directement par une matrice
d’adjacence dont les composantes non-nulles peuvent également servir à différentier les
types de liaison.

• Topologies particulières :
Un très grand nombre de systèmes robotiques, les systèmes de manipulation robotisés
notamment, forment des structures acycliques (arborescentes) que nous désignerons par
systèmes séries.
D’autres structures particulières prennent la formes de chemins disposés en parallèles
(pouvant comporter des cycles internes) entre deux sommets particuliers (deux pôles).
Nous les désignerons par systèmes parallèles.

Figure 21: Robot à topologie série - Robot à topologie parallèle

3.5 Mobilité des mécanismes


• La notion de mobilité peut-être étendue à tout mécanisme constitué de (b − 1) corps
mobiles et n liaisons binaires. L’indice de mobilité d’un mécanisme se détermine de la
façon suivante :
X
m = d(b − 1) − ui
i=1,n

- d: dimension de l’espace dans lequel le mécanisme évolue (d = 3, 6)


- ui : nombre de contraintes sur les mouvements relatifs dans la ième liaison ui = (d − ki )
- ki : classe cinématique de la ième liaison.
X X
m = d(b − 1) − (d − ki ) = −d(n − b + 1) + ki
i=1,n i=1,n
X
m= ki − dν = Ic − Ec
i=1,n

- Ic : nombre d’inconnues cinématiques dans les liaisons du mécanisme


- Ec : nombre d’équations scalaires de contraintes (qui forme le système homogène

43
A(q)q̇ = 0 résultant de la présence de cycles cinématiques).

• Interprétation
- m, l’indice de mobilité est un entier relatif. Il ne reflète que la topologie du système
et représente le nombre de paramètres à priori nécessaires pour fixer la configuration de
tous les corps du mécanisme relativement les uns les autres. Celle mobilité peut être
répartie comme l’illustre l’exemple de la figure 22.

Figure 22: Mécanisme à mobilité répartie

- m > 0 le mécanisme présente une mobilité. Le nombre de paramètres de configura-


tion est m.
- m = 0 le mécanisme est bloqué ≡ structure.
- m < 0 le mécanisme est bloqué et hyperstatique.
- m = mu + mi : la mobilité totale d’un mécanisme peut par l’analyse parfois faire
apparaı̂tre une mobilité interne. La théorie des mécanismes seule ne permet pas de faire
cette distinction.

• Hyperstatisme
X
h = −d(b − 1) + ui = −Es + Is
i=1,n

- Es : nombre d’équations scalaires traduisant l’équilibre statique (dynamique) de (b − 1)


corps.
- Is : nombre d’inconnues statiques (dynamiques) de liaison.
• Les indices de mobilité et d’hyperstatisme vérifient la relation :

m+h=0

• m et h ne reflètent que la topologie du mécanisme. Une étude des systèmes d’équations


associés permet de mettre en évidence la mobilité réelle des mécanismes et leur degré
d’hyperstaticité. La mobilité réelle d’un mécanisme est :

mr = Ic − rg(Ec )

La mobilité d’un mécanisme peut être augmentée (d’un ou de plusieurs degrés) du fait de
particularités géométriques entre les axes géométriques des liaisons. Cette modification

44
peut être permanente ou ”‘locale”’.
La mobilité réelle du mécanisme représenté sur la figure ?? est par exemple gale à 3
alors que sa mobilité générale est nulle. Les particularités géométiques entre les axes des
laisions (les axes des liaisons de chaque chemin sont prallèles) libèrent des contraintes.

Figure 23: Manipulateur parallèle 3CRR

Pour un mécanisme présentant une ou plusieurs chaı̂nes fermées, sa mobilité peut


aussi être déterminée par :
mr = dim(N (A(q))
Pour l’exemple de la figure 24, dim(N (A(q)) = 1
On notera que la mobilité (au sens de cet indice) d’un système série n’est jamais modifiée.

Figure 24: Mobilité d’un système bielle/manivelle

On interprète les singularités comme des points stationnaires dans la transmission des
mouvements articulaires.
De façon analogue, l’hyperstaticité réelle d’un mécanisme est :

hr = Is − rg(Es )

On démontre par ailleurs que :


m = mr − hr

45
4 Modèle géométrique des systèmes
4.1 Paramétrage de la transformation entre 2 corps adjacents
Plusieurs types de paramétrage peuvent être utilisés pour décrire la géométrie des systèmes
séries. Le paramétrage selon la convention introduite par Denavit et Hartenberg est le
plus répandu. Il existe des variantes de ce paramétrage. Celle que nous suivrons est dite
convention de Denavit Hartenberg (DH) modifiée.
• Convention de DH modifiée
→ Les liaisons de Si définissent 2 axes dans Ri (∆i , ∆i+1 )
Le repère Ri associé au solide Si est défini de la manière suivante :

Figure 25: Définition des paramètres de DH modifiés

→ l’axe zi du repère Ri est colinéaire à ∆i


→ l’axe xi est la ⊥ commune à zi et zi+1
si zi et zi+1 sont k ou colinéaires, le choix de xi n’est pas unique
→ les intersections de xi , zi et xi+1 , zi+1 sont les points Oi et Oiint
→ on répète sur tous les corps
• Transformation Ri−1 → Ri

Ri−1 → Rint
i−1 → Ri

D(di , αi ) D(ri , θi )
Ti−1,i = Ti−1,int Tint,i
1 0 0 di Cθi −Sθi 0 0
   
 0 Cα
i −Sαi 0  Sθ Cθi 0 0
Ti−1,int = Tint,i = i
   
 0 Sαi Cαi 0  0 0 1 ri 
 

0 0 0 1 0 0 0 1
Cθi −Sθi 0 di
 
 Cα Sθ
i i Cαi Cθi −Sαi −ri Sαi 
Ti−1,i =
 
 Sαi Sθi Sαi Cθi Cαi ri Cαi 

0 0 0 1

46
→ Récapitulatif:
- Ri est lié à Si
- zi est colinéaire à ∆i
- xi−1 est la ⊥ commune à zi−1 et zi
- yi−1 = zi−1 ∧ xi−1
- αi : angle mesuré autour de xi−1 entre zi−1 et zi
- di distance mesurée selon xi−1 entre zi−1 et zi
- θi : angle mesuré autour de zi entre xi−1 et xi
- ri : distance mesurée selon zi entre xi−1 et xi

• Convention de DH originaux
De la même manière que pour la définition des DH modifiés, le repère Ri est associé au
solide Si . L’axe zi est placé selon l’axe géométrique ∆i de la liaison i et xi est la perpen-
diculaire à zi et zi+1 selon laquelle on mesure la distance entre les 2 axes des liaisons di .
L’angle αi formé entre les 2 axes est mesuré autour de xi . θi est l’angle mesuré autour
de zi entre xi−1 et xi et ri est la distance mesurée selon zi entre xi−1 et xi
Notons que le paramètre di est dans cette convention le paramètre ri de la convention
précédente et que ai−1 est le paramètre di des DH modifiés. L’angle αi−1 remplace l’angle
αi .
La transformation Ri−1 → Ri est alors définie par la matrice :

Figure 26: Définition des paramètres de DH originaux

Cθi −Sθi 0 ai−1


 
 Cα Sθ
i−1 i Cαi−1 Cθi −Sαi−1 −di Sαi−1 
Ti−1,i = 
 Sαi−1 Sθi Sαi−1 Cθi Cαi−1 di Cαi−1 
 

0 0 0 1

4.2 Paramétrage d’un système à l’aide des DH modifiés


- Le repère R0 est pris comme confondu avec R1 quand θ1 = r1 = 0
- La définition de xn est libre car zn+1 n’existe pas. On le prend comme colinéaire à xn−1

47
quand θn = rn = 0
- On prend comme référence des paramètres variables (θi , ri ) telle que θi = ri = 0 puis
on fait un changement de variable pour revenir sur la référence matérielle:

(qa )i = (qof f set )i + qi

→ Sur l’exemple :

Figure 27: Exemple de système avec ses repères de DH modifiés

di θi ri αi
0 θ1 0 0
a θ2 r2 -90
a θ3 0 90

4.3 Modéle géométrique direct des systèmes séries


• Le problème dit géométrique direct consiste à déterminer ∀t la configuration du repère
lié à l’effecteur (que nous noterons Rh (h pour ”hand”)) par rapport à un repère fixe par
exemple R0 à partir des mesures des positions articulaires qi .
Pour cela, on établit l’équation de structure du système qui est :

T0h = T01 T12 T23 . . . T(n−1)n Tnh

T0h (φ, θ, ψ, XOh , YOh , ZOh ) = T01 (q1 ) T12 (q2 ) T23 (q3 ) . . . T(n−1)n (qn )Tnh (ctes)

T0h = T01 T12 T23 . . . T(n−1)n Tnh


T0h (φ, θ, ψ, XOh , YOh , ZOh ) = T01 (q1 ) T12 (q2 ) T23 (q3 ) . . . T(n−1)n (qn )Tnh (ctes)
• Résolution du problème géométrique direct:

(φ, θ, ψ, XOh , YOh , ZOh )t = F (q1 , . . . , qn )

48
Figure 28: Composition des transformations élémentaires

→ on identifie les composantes des matrices des membres de droite et de gauche de


l’équation de structure.
r11 r12 r13 XO h t11 t12 t13 t14
   
r r22 r23 YOh  t t22 t23 t24 
=  21
 21
T0h ≡
  
 r31 r32 r33 ZOh   t31 t32 t33 t34 

0 0 0 1 0 0 0 1
• Utilisation du MGD dans la commande de manipulateurs.

Figure 29: Exemple d’utilisation du MGD à la commande

• Application au 3R plan
→ Tableau des paramètres de DH
di θi ri αi
0 θ1 0 0
a1 θ2 0 0
a2 θ3 0 0

49
Figure 30: Repères de DH associés au 3R Plan

→ Modèle géométrique direct

T0h (XP , YP , Φ) = T01 (θ1 )T12 (θ2 )T23 (θ3 )T3h (a3 )

C123 −S123 0 a1 C1 + a2 C12 + a3 C123


 
S C123 0 a1 S1 + a2 S12 + a3 S123 
123
T0h = 
 0 0 1 0
 

0 0 0 1
• Application au robot PUMA

Figure 31: Représentation du robot PUMA

Tableau des paramètres de DH (modifiés)

50
di 0 0 d3 = D 3 d4 = 0 0 0
αi 0 -90 0 -90 90 -90
ri 0 0 r3 r4 = RL4 0 0
θi θ1 θ2 θ3 θ4 θ5 θ6

Tableau des paramètres de DH (non-modifiés)

ai−1 0 0 a2 a3 = 0 0 0
αi−1 0 -90 0 -90 90 -90
di 0 0 d3 d4 0 0
θi θ1 θ2 θ3 θ4 θ5 θ6

4.4 Modéle géométrique direct des systèmes présentant une


chaı̂ne fermée simple
Les systèmes de transmission de mouvement utilisent souvent des mécanismes en chaı̂ne
fermée. C’est notamment le cas sur les systèmes de la figure 32. On a alors à obtenir les

Figure 32: Exemple de mécanisme présentant une chaı̂ne fermée

relations de contrainte entre les paramètres géométriques pour procéder à une réduction
du paramétrage notamment.
• Principe : On procède à une coupure virtuelle sur l’un des corps du mécanisme.
• Equation de structure:
Y
T(i−1),i = T0,(n+1)
i=1,(n+1)

• Exemple

0 0 1 0
 
 −1 0 0 0
T01 (q1 ) T12 (q2 ) T23 (q3 ) T34 (q4 ) = T04 (ctes) = 
 
 0 −1 0 0

0 0 0 1

51
Figure 33: Exemple du mécanisme bielle-manivelle

Figure 34: Modes d’assemblage pour x donné

C123 −S123 0 l1 C1 + l2 C12 1 0 0 a 0 0 1 0


    
S
 123 C123 0 l1 S1 + l2 S12   0 0 1 0   −1 0 0
    0
=

 0 0 1 0   0 −1 0 −x   0 −1 0 0
  

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

x2 + a2 − l12 − l22 q
C2 = S2 = ± 1 − C22 ⇒ θ2 = atan2(S2 , C2 )
2 l1 l2
(l1 + l2 C2 )x + l2 S2 a (l1 + l2 C2 )a − l2 S2 x
C1 = 2 2
S1 = ⇒ θ1 = atan2(S1 , C1 )
x +a x 2 + a2
→ Plusieurs configurations possibles (i.e modes d’assemblage)

4.5 Modéle géométrique direct des systèmes parallèles


→ Equations de structure des systèmes parallèles
Sur l’exemple d’un manipulateur parallèle à 6 ddl

Pour le chemin j entre S0 et SP , on peut établir l’équation 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
 
j
IciT6h=
0 1
Pour chaque cycle du mécanisme :
j j j
= Tfk0 k k
Y Y
T0h T(i−1),i T6h T(i−1),i T6h
i=1,6 i=1,6

→ Les mécanismes en chaı̂ne parallèle avec liaisons passives n’ont pas de modèle géométrique
direct analytique. De plus les solutions sont généralement multiples
→ Justification sur le 3 × 3R plan. Si la position des acticulations actives (supposées sur

Figure 36: Mécanisme parallèle plan 3*3R

les axes des liaisons passant par les points 0i ) étant donnée, les points Ai sont fixes. On
peut considérer le mécanisme 4-barres A1B1B2A2 . La barre B1 B2 décrit une trajectoire
de couplage qui est décrite par un polynome de degré 16. On montre que l’intersection
de cette courbe avec le cercle que peut décrire la barre A3 B3 a 6 solutions.

53
La résolution du problème géométrique direct des manipulateurs parallèles est généralement
appropriée au système considéré. Nous donnons l’exemple du 3RPR plan 37. Pour ce

Figure 37: Mécanisme parallèle plan 3RPR

manipulateur, le modèle géométrique direct peut être établi à partir des équations 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 l’équation (1) aux équations (2) et
(3), on obtient le système de deux équations suivant :

Rx + Sy + Q = 0
Ux + V y + W = 0

avec :

R = 2l2 Cφ − 2A2x
S = 2l2 Sφ
Q = −2A2x l2 Cφ + l22 + A22x − ρ22 + ρ21
U = 2l3 C(φ + β) − 2A3x
V = 2l3 S(φ + β) − 2A3y
W = −2A3y l3 S(φ + β) − 2A3x l3 C(φ + β) + l32 + A23x − ρ23 + ρ21 + A23y

desquelles on peut déterminer :


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

54
En substituant ces expressions pour x et y dans la première équation (ρ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 polynôme de degré 6 en t. Si RV − SU est non-
nul, en reportant dans les expressions de x et y, on résoud complètement le problème
géométrique direct pour ce système plan. Si RV − SU = 0, dans ce cas le manipulateur
est dit dégénéré. Il faut alors adapter la méthode de résolution.
Pour des plates-formes de Gough-Stewart (voir figure 35), une méthode pour résoudre
le problème géométrique direct est consiste à utiliser des techniques d’élimination algébrique
comme l’élimination dyalitique dont les principes sont exposés dans la section suivante.
Un exemple d’application de cette méthode à ce problème est développées dans : For-
ward kinematics of the general 6-6 Stewart platform using algebraic elimination, T-Y.
Lee, J-K. Shim, Mechanism and Machine Theory, Vol 36 (2001)
L’ensemble des 40 solutions au problème peuvent être alors déterminées.
Lorsqu’il n’existe pas de problème de convergence, des algorithmes d’optimisation
comme l’algorithme de Newton-Raphson peuvent être utiliser à partir de la fonction
coût : X h i2
F (q) = kbi − OP + R0P tk2 − ρ2i )
i=1,6

La solution la plus proche de la configuration courante peut ainsi être obtenue en temps-
réel.

5 Résolution du PGI
• Problème à résoudre : déterminer les valeurs des paramètres articulaires (qi ) pour
obtenir une configuration absolue donnée de l’effecteur T̄0h .
• Principe : ce problème est abordé avec les équations de structure du mécanisme.

R̄0h d¯0h
Y  
T(i−1),i Tnh = T̄0h =
i=1,n
0 1

55
à partir de ces 12 équations, on résoud les qi , i = 1, n.
→ Seules 6 équations parmi les 12 sont indépendantes

• Discussion sur les solutions


En notant m le nombre de paramètres de configuration imposés à l’effecteur
- m > n, le système est contraint par rapport à la tâche (solution approchée)
- m < n, le système est redondant par rapport à la tâche (infinité de solutions)
- m = n, le nombre de solutions au PGI est fini.
• Illustration des solutions au PGI du PUMA

5.1 Systèmes séries


Pour qu’une solution analytique existe, la géométrie du système d’axes doit être partic-
ulière. Elle doit comporter :
- 3 articulations prismatiques,
- 3 articulations rotoı̈des concourantes,
- 1 articulation rotoı̈de et une articulation prismatique co-axiales,
- 2 paires de liaisons rotoı̈des concourantes.

• Exemple de résolution sur le 3R plan

T01 (θ1 )T12 (θ2 )T23 (θ3 )T3h = T0h


C123 −S123 0 (l1 C1 + l2 C12 ) 1 0 0 d Cφ −Sφ 0 XP
    
S C123 0 (l1 S1 + l2 S12 )   0 1 0
  0  Sφ Cφ 0 YP 
 123
=
  
 0 0 1 0 0 0 1 0  0 0 1 0 
  

0 0 0 1 0 0 0 1 0 0 0 1
C123 −S123 0 (l1 C1 + l2 C12 ) Cφ −Sφ 0 XP 1 0 0 −d
    
S C123 0 (l1 S1 + l2 S12 )   Sφ Cφ 0 YP   0 1
    0 0 
 123
=

 0 0 1 0  0 0 1 0 0 0 1 0 
  

0 0 0 1 0 0 0 1 0 0 0 1

X03 = l1 C1 + l2 C12
Y03 = l1 S1 + l2 S12
Cφ = C123

56
X 2 +Y 2 −(l2 +l2 )
→ Résolution de θ2 C2 = 03 2l031 l2 1 2
Pour qu’une solution existe X023 + Y023 ≤ (l1 + l2 )2

S2 = ±(1 − C22 )1/2

θ2 = atan2(S2 , C2 )
→ Résolution 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 )


→ Résolution de θ3

θ3 = φ − θ2 − θ1
→ Autre méthode de résolution :
1−tg(θ/2)2 2t
On utilise les identitées cosθ = 1+tg 2 (θ/2) et sinθ = 1+tg 2 (θ/2) dans les équations: Exemple

pour θ1 :
2Y03 ± (4Y023 − 4X023 + A2 )1/2
θ1 = 2atan
2(X03 + A)
• Remarques à partir de l’exemple
- pour résoudre le problème d’ensemble, on décompose en sous-problèmes
- il peut exister plusieurs solutions (modes d’assemblage) au PGI,
- la configuration demandée doit être à l’intérieur du domaine accessible,
- le nombre de modes d’assemblage maxi pour un 6R est de 16.

• Méthode de Pieper
Pour un manipulateur ”analytique” à 6 liaisons (pour simplification R6 ≡ Rh ), on
exploite plusieurs formes de 6= formes de l’équation de structure pour isoler, au mieux,
les différentes variables.

T01 T12 T23 T34 T45 T56 = T0h


−1
T16 = T01 T0h (∗)
−1 −1
T26 = T12 T01 T0h
−1
T36 = T03 T0h
−1
T46 = T04 T0h
−1
T56 = T05 T0h

Par exemple, le membre de gauche de (*) ne fait intervenir que q1 . On peut chercher à
déterminer l’expression de q1 en identifiant l’une 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 résolution, variable après variable, en utilisant l’équation de
structure appropriés.

57
• Résolution des équations typiques
Dans la résolution des variables articualires qi , on aboutit généralement pour des systèmes
analytiques à des équations du type de celles ci-dessous :
Equation du type (1)
xSθi + yCθi = z
Si z = 0 θi = atan2(−y, x) et θi0 = atan2(y, −x)
Si z 6= 0

yCθi = z − xSθi
y 2 (1 − S 2 θi ) = z 2 − 2zxSθi + x2 S 2 θi
S 2 θi (x2 + y 2 ) − Sθi (2xz) + (z 2 − y 2 ) = 0

xz±y x2 +y 2 −z 2
On résoud l’équation du second degré en Sθi : Sθi = x2 +y 2
Idem pour Cθi

θi = atan2(Sθi , Cθi )
Equations du type (2)

wSθj = xCθi + ySθi + z1


wCθj = xSθi − yCθi + z2

En élevant ces équations au carré puis en faisant la somme on obtient :

2(xz2 + yz1 )Sθi + 2(xz1 − yz2 )Cθi = (w2 − x2 − y 2 − z12 − z22 )

équation dont la résolution peut être faite comme pour la précédente


Equation du type (3)

xCθi + yCθij = z1
xSθi + ySθij = z2

En élevant ces équations au carré et en faisant la somme, on obtient :

2xy(Cθi Cθij + Sθi Sθij ) = 2xyCθj (z12 + z22 − x2 − y 2 )

(z12 + z22 − x2 − y 2 )
Cθj =
2xy
Sθj = ±(1 − C 2 θj )1/2
θj est donné par :
θj = atan2(Sθj , Cθj )
La résolution de θi peut se faire en développant les fonctions sin et cos. On obtient :

xCθi + yCθi Cθj − ySθi Sθj = z1


xSθi + ySθi Cθj + ySθj Cθi = z2

58
On peut alors entreprendre la résolution comme celle d’un système de 2 équations à 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ères transformations. Dans R4 ,
04 à pour coordonnées homogènes :

04 = (0, 0, 0, 1)t

C1 −S1 0 0 C2 −S2 0 0
   
 S1 C1 0 0   0 0 −1 0 
T01 = 
T12 = 
 0 0 1 0  S2 C2 0 0
   

0 0 0 1 0 0 0 1
C3 −S3 0 D3 C4 −S4 0 0
   
 S3 C3 0 0   0 0 1 RL4 
T23 = 
T34 =
 
 0 0 1 0   −S4 −C4 0 0 
  

0 0 0 1 0 0 0 1
C5 −S5 0 0 C6 −S6 0 0
   
 0 0 −1 0   0 0 1 0
T45 = T56 =
   
 S5 C5 0 0  −S6 −C6 0 0
 

0 0 0 1 0 0 0 1
→ Résolution de θ1 , θ2 , θ3 pour la mise en position.
04x 0
   
0  0
 4y 
 = T01 T12 T23 T34  
 
 04z  0

1 1

59
→ Résolution de θ1 :
04x 0
   
0  0
−1  4y 
T01  = T12 T23 T34  
 
 04z  0

1 1
Par identification de la seconde composante on trouve :

−S1 04x + C104y = 0

θ1 = atan2(04y , 04x ) θ10 = atan2(−04y , −04x )


→ Résolution de θ2 et θ3 .
04x 0
   
0  0
−1 4y
T02  = T23 T34  
   
 04z  0

1 1
en utilisant les 2 premières équations :

C2((C1 04x + S1 04y ) + S2 04z ) = −RL4S3 + D3

−S2((C1 04x + S1 04y ) + C2 04z ) = RL4 C3


cela revient à une équation du type (2).
On dérive θ3 de ces mêmes équations.

θ3 = atan2(S3, C3)

S3 = [−04z S2 − (C1 04x + S1 04y )C2 + D3 ]/RL4


C3 = [−S2(C1 04x + S1 04y ) + C2 04z )]/RL4
→ Résolution de θ4 , θ5 , θ6 pour l’orientation. On utilise :
   
sx nx ax Fx Gx Hx
R03 R36 = R̄06 ⇒ R30  sy ny ay  =  F y Gy Hy 
   

sz nz az Fz Gz Hz

En identifiant les termes de :


t
R34 (F G H) = R46
à partir de l’élément (2, 3), on obtient :

−C4Hz − S4Hx = 0

ce qui conduit à :
θ4 = atan2(Hz , −Hx ) θ40 = θ4 + 180
à partir des l’éléments (1, 3) et (3, 3), on obtient:

−S5 = C4Hx − S4 Hz C5 = Hy

60
Figure 38: Singularités du robot PUMA

à partir des l’éléments (2, 1) et (2, 2), on obtient:

S6 = −C4Fz − S4Fx C6 = −C4Gz − S4Gx

→ L’analyse de ces expressions permet d’identifier des configurations singulières.


• Méthode numérique de résolution du PGI des manipulateurs
Des méthodes numériques itératives, comme la méthode de Newton-Raphson peuvent
être utilisées pour déterminer 1 solution au problème géométrique inverse
→ Principe :
La méthode de Newton permet de résoudre un système de n équations (non linéaires) en
cherchant les zéros de fonctions continûment dérivables. Dans le principe, l’algorithme
de Newton-Raphson est une généralisation de la méthode de Newton utilisée pour la
recherche des racines d’une fonction d’une variable réelle à valeurs réelles.
L’algorithme de Newton consiste à linéariser une fonction f en un point et de prendre
le point d’annulation de cette linéarisation comme approximation du zéro recherché.
Si nous considérons une équation non-linéaire de la forme g(x) = 0. Pour déterminer
le point x? ou la courbe coupe l’axe des x (où la fonction s’annule), si l’approximation
courante est xk , par linéarisation de g(x) on a:

k+1 dg(xk ) k+1


k
g(x ) ≈ g(x ) + (x − xk )
dx
k+1
Si on considère que g(x ) = 0, alors :

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

xk+1 est le point de la tangente qui coupe l’axe de x tel que :

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

→ Application au PGI :
La formulation multidimensionnelle de la méthode de Newton pour résoudre le PGI
est la suivante. On cherche la configuration definie par q qui vérifie les contraintes

61
géométriques de position et d’orientation de l’effecteur. Il s’agit donc de résoudre un
système d’équations suivant :


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


f6 (q) + x6 = 0

Si X ? est la configuration absolue à atteindre et q ? la configuration articulaire recherchée


telle que X ? = F (q ? )
L’application de la méthode de Newton-Raphson au système d’équations non-linéaires
X = F (q)
δq k+1 = J −1 (q k )(X ? − X k )
J −1 est ici une inverse de J.
• Autres méthodes
Beaucoup d’autres méthodes itératives sont applicables à la résolution de systèmes
d’équations non-linéaires. Elles présentent parfois des problèmes de convergence (en
pratique très sensibles à l’initialisation). Ces difficultés amènent à utiliser des méthodes
d’homotopie ou de continuation.
La méthode d’élimination symbolique, basée sur le schéma de l’élimination dialytique
est une méthode qui peut être mise en oeuvre en temps-réel. Cette méthode comporte
plusieurs étapes qui sont les suivantes : techniques algébriques délimination 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 polynôme qui devient la variable

3. Ajouter une équation pour former un système homogène

4. Former un polynône en la variable à partir en annulant le déterminant du système


d’équation.

5. Résoudre les racines du polynôme.

6. Remplacer la variable trouvée dans le système initial et réitérer 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 étant des coefficients constants.
En considérant que les puissances de x2 font partie des coefficients, le système d’équations
précédent se réécrit :
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 équations initiales s’expriment sous la
forme d’un système linéaire de ces produits. On génére des équations supplémentaires
pour rendre ce système carré en multipliant par exemple les équations par x1 . Ainsi on
aboutit au système :  3
0 A B C x1

 0 A0 B 0 C 0   x2 
 1
=0

A B C 0   x1 
 

A0 B 0 C 0 0 1
Ce système d’équations peut se mettre sous la forme matricielle suivante :

AY = 0

Puisque l’une des inconnues est l’unité, ce système n’adamet pas la solution banale
(x = 0). Pour que ce système homogène ait des solutions, il faut que detA = 0. Cette
condition conduit ici à un polynome en x du 4ème degré dont les racines sont les solutions
de l’équation. L’application de cette méthode au problème géométrique inverse des
robots manipulateurs de geométrie générale et particulière est détaillée dans l’article 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 d’exemple, on développe ici la procédure pour un manipulateur 6R général.
On s’appuie pour cela sur l’équation de structure écrité sous la forme suivante :
−1 −1 −1
T23 T34 T45 = T12 T01 T0h T56

On établit ensuite un système de 14 équations scalaires en utilisant les composantes des


vecteurs colonnes 3 et 4 des matrices au memebre de droite et au membre de gauche de
l’équationde structure utilisée.

5.2 Systèmes parallèles


Les systèmes parallèles ont un MGD qui est bien plus difficile à établir que pour des
systèmes séries. Si nous considérons par exemple la plate-forme de la figure ??, pour
chaque cycle du mécanisme on peut écrire :

Tfj0 j j
Y
T(i−1)i T6h = Tf h
i=1,6

j j j
Y
T(i−1),i = T0,f Tf,h Th,6
i=1,6

Une résolution identique à celle des systèmes séries seraient envisageables si toutes les
articulations (actives et passives) étaient munies de capteurs de position. Cependant en
général pour des raisons évidentes ce n’est pas le cas.
La résolution du problème géométrique direct d’un manipulateur parallèle peut être
envisagée sous une forme analytique ou numérique. Généralement la méthode est appro-
priée au système considéré. Il n’existe pas de méthode générale.

63
Pour traiter du cas des plates-formes de Stewart-Gough, la formulation la plus fréquemment
utilisée pour obtenir la forme analytique de la solution exploite les équations de contrainte
en position de chacun des chemins entre S0 et SP produitent par un chemin cinématique.
Sur l’exemple de la figure ??, Pour j = 1, ..., 6, on a l’équation de structure en position

Figure 39: Plate-forme de Stewart

:
0 0
   
0 0
Tfj0 j j  
Y
T(i−1)i T6h   = Tf h  
 
0 0
i=1,6
1 1
ce qui conduit à l’équation vectorielle :

Ofj 0 + dj06 + O6h


j
− df h = 0

qui élevée au carré permet de déterminer les qi des actionneurs linéaires de ce type de
plate-forme : q
qi = ± (Ofj 0 + O6hj
− df h )2

5.3 Identification des paramètres géométriques


5.3.1 Etalonnage des robots séries
Les méthodes d’étalonnage des paramètres géométriques des robots séries sont généralement
fondées sur l’utilisation du modèle géométrique direct du système et d’un moyen de
mesure de la configuration absolue de l’effecteur, de ses déplacements ou de contraintes
géométriques imposées (point invariant par exemple ou toute autre liaison entre l’effecteur
et l’environnement).

64
On formule généralement le problème de l’étalonnage sous la forme suivante :
f (q, X, ηr ) = 0
où :
- X représente le vecteur des paramètres définissant position et orientation de l’effecteur,
- q est le vecteur des paramètres généralisés du système,
- ηr le vecteur des paramètres géométriques réels (à déterminer) qui minimise l’erreur
sur le modèle.
L’objet de l’étalonnage est de déterminer la valeur des paramètres géométriques η
qui minimise l’erreur sur le modèle. Il s’agit d’un problème d’optimisation non-linéaire
qui peut être abordé par exemple à l’aide d’une méthode des moindres-carrés.
La linéarisation par un développement de Taylor au premier ordre en η du modèle
précédent conduit à :
∆y(q, X, η) = Φ(q, η)∆η
avec :
- ∆y, l’erreur observée sur la configuration de l’effecteur,
- η, le vecteur des valeurs nominales de paramètres géométriques,
- ∆η = ηr − η le vecteur des erreurs des paramètres géométriques,
- Φ est la matrice Jacobienne dérivée de la fonction f par rapport aux paramètres
géométriques η.
Pour estimer ∆η, on place le manipulateur dans un certain nombre de configurations
1 2 k
q , q , q ceci pour former un système d’équations surdéterminé.
∆Y = W (Q, η)∆η
∆y 1 Φ(q 1 , η)
   
 ∆y 2   Φ(q 2 , η) 
avec : ∆Y =   W =  , W est dite matrice d’observation du système.
   
 ...   ... 
∆y k Φ(q k , η)
Son rang doit être supérieur au nombre de paramètres géométriques à identifier.
La résolution de ce système d’équations conduit à :
∆η = W + (Q, η)∆Y
On procède à plusieurs itérations successives jusqu’à ce que l’erreur ∆η devienne suffisam-
ment faible. Pour chaque itération on procède à une mise à jour des valeurs paramètres
géométriques.
Notons que le conditionnement de W renseigne sur l’observabilité des paramètres
du système lors de l’identification. Un conditionnement proche de 1 conduit à de bons
résultats. Lorsque le conditionnement est trop élévé (ex > 1000), le modèle linéarisé ne
converge plus et il faut utiliser des métodes d’optimisation non-linéaire.
Si on considère la description géométrique du robot faite à l’aide des paramètres de
Denavit-Hartenberg modifiés, les petits déplacements produits sur l’effecteur relatifs à
chacun des paramètres sont :
xi−1 0 zi 0
       
φαi = φdi = φθi = φdi =
−xi−1 ∧ POi−1 xi−1 −zi ∧ POi zi

65
La prise en compte d’une erreur due à une rotation autour de l’axe yi−1 de paramètre βi
de valeur nominale 0 est parfois introduite lorsque l’axe de l’articulation i est parallèle
à celui de l’axe i − 1. Le vecteur déplacement correspondant est :

yi−1
 
φαi =
−yi−1 ∧ Oi−1 P

Ces vecteurs forment les colonnes de la matrice W .

Les déformations des éléments de structure introduisent également des erreurs de


positionnement. Sous l’hypothèse des petites déformations, on peut à l’aide de la loi de
Hooke déterminer les déformations induites par les contraintes (de torsion et de flexion
en particulier) ceci en considérant chaque corps encastré au niveau de sa liaison avec le
corps amont. De la même manière que pour l’identification des paramètres géométriques,
on peut mettre les expressions analytiques des combinaisons des petites déformations de
structures (voire également articulaires) sous une forme matricielle.

5.3.2 Etalonnage des robots parallèles


Les paramètres géométriques qui influent majoritairement sur les erreurs de position et
d’orientation de l’effecteur d’un système parallèle sont les positions et directions relatives
des premières articulations de chacun des chemins qui sont attachées à la base fixe.

66
6 Modèle cinématique
6.1 Mouvement d’un point
Le mouvement d’un point ≡ séquence continue de positions occupées au cours du temps
décrivant une trajectoire. A chaque instant t correspond une position M (t) et une valeur
de s(t) l’arc Mg0M .
L’application t → s(t) est la loi horaire du mouvement du point M .
La vitesse de M à l’instant t dans R est définie par le vecteur:

M (t + δt) − M (t) d M (t) d d


vM = lim = Ṁ (t) = = (OM ) (s) = ṡτ
δt→0 δt dt ds dt
Ce vecteur vitesse est réprésentée par ses composantes dans une base, par exemple celle
associée au repère R.
d
vM = M = ẋM x + ẏM y + żM z = (ẋM , ẏM , żM )t
dt
La vitesse de M peut être regardée comme un vecteur lié (dépendant du point d’application)
Quand on a plusieurs repères en mouvement, on précise par rapport à quel repère se fait
(0)
le calcul de la dérivée (ex : ddt M )

La vitesse d’un point peut résulter de la combinaison de plusieurs mouvements relat-


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

67
Si les dérivées par rapport à R0 des vecteurs x1 , y1 , z1 sont représentées dans R1 :

d(0)
x1 = ax1 + by1 + cz1
dt
d(0)
z1 = gx1 + hy1 + iz1
dt
  
a d g mx
d d d
mx (x1 ) + my (y1 ) + mz (z1 ) =  b e h   my 
  
dt dt dt
c f i mz
Puisque la base est orthonormée, on a:

a=e=i=0 b+d=f +h=g+c=0

de sorte que la matrice précédente devient :


 
0 b −g
 −b 0 f 
 

g −f 0
 
0 −r +q
ω̂ = Ω01 =
 r 0 −p 

−q p 0
ω01 = vect(Ω01 ) = px1 + qy1 + rz1
ω01 : vecteur taux de rotation instantanée
On vérifie que :

d(0) d(0) d(0)


x1 = ry1 −qz1 = ω01 ∧x1 ; y1 = ω01 ∧y1 = −rx1 +pz1 ; z1 = qx1 −py1 = ω01 ∧z1
dt dt dt
vM = v01 + ω01 ∧ m + vm
vM = vM t∈R1 + vm
vM t∈R1 : vitesse du point M lié à R1 qui se trouve en coı̈ncidence avec M à l’instant t.

6.2 Vitesse d’un solide


Le mouvement d’un solide S peut être vu comme une séquence continue de déplacements:

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 :
Ṗ0 (t) = Ṫ01 (q, t) P1 (t)

68
−1
Ṗ0 (t) = Ṫ01 (q, t) T01 P0 (t)
• Pour un mouvement de rotation pure

t
Ṗ0 = Ṙ01 R01 P0
→ ṘRt est une matrice anti-symétrique.

RRt = 1

ṘRt + RṘt = 0 (Ṙt ) ≡ Rt .̇


ṘRt = −RṘt = −(ṘRt )t
soit en notant ṘRt = ω̂ ω̂ = −ω̂ t

→ ω̂ pour une rotation simple


 
cosθ −sinθ 0
R =  sinθ

cosθ 0
0 0 1

 
−sinθ −cosθ 0
dR ∂ Rd θ
= = θ̇  cosθ

−sinθ 0
dt ∂θ dt

0 0 0
 
0 −1 0
t
ṘR = θ̇  1 0 0 
 

0 0 0
D’une manière générale, si la vitesse de rotation ω = (ωx , ωy , ωz )t :
 
0 −ωz ωy
t
ṘR = ω̂ =  ωz 0 −ωx 
 

−ωy ωx 0

• Pour un mouvement général


Si l’on considère maintenant:
P0 P1
   
= T01 = R01 P1 + d01
1 1
−1
Ṗ0 = Ṫ01 T01 P0 vitesse vue dans R0
Ṗ0 = Ṙ01 P1 + d˙01
t
Ṗ0 = Ṙ01 R01 (PO − d01 ) + d˙01 = ω̂01 (PO − d01 ) + d˙01
→ Traduction vectorielle :

(vP )R0 = (ω01 ∧ P1 )R0 + (v01 )R0 = vP t∈R1

69
−1
La matrice 4 × 4 Ṫ01 T01 représente l’opérateur tangent à la trajectoire et constitue
l’algèbre de Lie se(3) associé à SE(3).

0 −ωz ωy v00 x
 
t
Ṙ01 R01 d˙01 − Ṙ01 R01
t
d01 ω̂01 ˙
d01 − ω01 d01  ω 0 −ωx v00 y  ω̂ v
      
−1
Ṫ01 T01 = = = z =

0 0 0 0  −ωy ωx 0 v00 z  0 0
0 0 0 0
(0)
d˙01 − ω01 d01 représente la vitesse du point 00 lié à R1 (v00 ∈Rt )
1
ω̂01 et v00 définissent le champs des vitesses de R1 .
Les composantes vectorielles (ω01 , v00 ) sont les éléments de réduction du torseur des
vitesses.
La vitesse en chaque point P est obtenue par :
vP x Px
   
v  ω̂01 v00  Py 
  
 Py 
=
 vP z  0 0  Pz 
  

0 1

6.3 Composition de mouvements relatifs


Pour étudier le mouvement de S par rapport à R0 , il est parfois nécessaire de passer par
un repère intermédiaire.

Ṗ0 = Ṫ02 P2 = (Ṫ01 T12 + T01 Ṫ12 )P2


−1 −1
Ṗ0 = Ṫ01 T01 P0 + T01 Ṫ12 T12 P1
R01 d01 ωˆ12 (−ω̂12 d12 + d˙12 ) P1
   
−1
T01 Ṫ12 T12 P1 =
0 1 0 0 1
-R01 ω̂12 (P1 − d12 ) + d˙12 ≡ (vP∈R
t )(1)
2
• Composition des vitesses linéaires :
t t
(vP ) = vP∈R1 + vP∈R2
• Composition des vitesses angulaires :

t t
ω̂02 = Ṙ01 R01 + R01 Ṙ12 R12
ω̂02 = ω̂01 + ω̂12 ≡ ω02 = ω01 + ω12
• Extension à un nombre n de repères:
(0)
(vP ∈Ri )(i−1)
X X
vP ∈Rn = ω0n = ωi−1,i
n n

→ sous forme d’un bivecteur:

(ω, vP )(0) (ω, vP )(i−1)


X
Rn = Ri
n

70
• Transformation de coordonnées
Considérons comme donné l’opérateur tangent à la trajectoire du point P ∈ R1 dans
le mouvement de R1 par rapport à R0 . L’action adjointe de T23 sur l’élément de se(3)
ŵ12 vO2
 
est :
0 0
t t t t
R23 d23 ŵ12 vO2 R23 R23 d23 R23 ŵ12 R23 −R23 ŵ12 R23 d23 + R23 vO2
     
=
0 1 0 0 0 1 0 0
t
- R23 ŵ12 R23 = ŵ13 est la matrice du pré-produit vectoriel de w12 dans la base B3 .
• Torseur géométrique
Un torseur S peut être exprimé en fonction d’un torseur géométrique $

SP = (S, λS + P O ∧ S)

SP = kSk(s, λs + P O ∧ s)
SP = kSk(s, λs + sP ) = kSk(s, s∗P ) = kSk$ = kSk(u, v, w, l∗ , m∗ , n∗ )t
→ glisseur : SP = kSk(s, sP ), s, sP sont les coordonnées vectorielles d’une droite, soit 4
composantes scalaires indépendantes.
- u2 + v 2 + w2 = 1
- u.l + v.m + w.n = 0
→ couple : SP = kλSk(0, s)
• Produit réciproque (ou le comoment) de 2 torseurs:
Le produit réciproque de 2 torseurs est le nombre défini par :

∀O ∈ E 3 $1 .$2 = s1 .s∗O2 + s2 .s∗O1 = (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 sinα12 + (λ1 + λ2 )cosα12

Remarques :
- $1 .$2 = 0 si d12 = 0 et cosα12 = 0 ou si λ1 = −λ2 et sinα12 = 0
- le produit réciproque est invariant dans une transformation Euclidienne
- la forme quadratique peut être négative, ce n’est donc pas un produit scalaire
- si $1 est un distributeur de vitesse et $2 un torseur de force le produit est homogène à
une puissance.

6.4 Système de torseurs


• Un système de torseurs est une combinaison linéaire de torseurs géométriques de
l’espace des torseurs τ .
• On peut se donner comme base canonique de l’espace des torseurs, celle constituée par
les torseurs:
Bc = ((x, 0), (y, 0), (z, 0), (0, x), (0, y), (0, z))

71
• l’ensemble des torseurs réciproques à un sous-ensemble T 0 de T , noté T R est défini
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èle cinématique direct


Le modèle cinématique direct permet d’obtenir la vitesse absolue de l’effecteur (par
exemple) résultant de la combinaison des mouvements relatifs des liaisons.

• Notations du mouvement relatif


Les liaisons motorisées ont 1 ddl. Si zi est colinéaire à l’axe de la liaison :
→ rotation
TC (Si /Si−1 ) = ωi (zi , P Oi ∧ zi )
zi
 
TC (Si /Si−1 ) = θ̇
P Oi ∧ zi
→ translation
TC (Si /Si−1 ) = λi ωi (0, zi ) = vi (0, zi )
0
 
TC (Si /Si−1 ) = ṙi
zi
• Modèle cinématique des chaı̂nes ouvertes
→ Formulation torsorielle
X
TC (Sn /S0 ) = TC (Si /Si−1 )
i=1,n

 
q̇1
 q̇2 
 
 q̇3 
 
TC (Sn /S0 ) = q̇1 $1 + q̇2 $2 + . . . + q̇n $n = [$1 , $2 , . . . , $n ] 
 . 

 
 . 
 

q̇n

72
→ Formulation algébrique
En notant TC (Sn /S0 ) = (ωx , ωy , ωz , vx , vy , vz )t
   
ωx u1 u2 . . . un
 ωy   v1 v2 . . . vn   q̇1
    

 ωz 
 =  w1 w2 . . . wn  q̇2 
   

  
v   l∗ l2∗ . . . ln∗ 

. . .

 x  1   
 ∗
 vy   m1 m∗2 ∗ 
. . . mn  q̇n
 

vz n∗1 n∗2 . . . n∗n

Ẋ = J6×n (q)q̇

 
Ẋ = q̇
Jv
→ Dérivation de l’équation de structure
Rappelons que l’équation de structure d’une chaı̂ne série s’écrit comme :
Y
T0n = Ti−1,i
i=1,n

On obtient la position d’un point P dans R0 par :


Y
P0 = ( Ti−1,i )Pn
i=1,n

La vitesse de P par rapport au référentiel R0 est :


X ∂Ti−1,i −1
Ṗ0 = q̇i T0,i−1 Ti,n T0,n P0
i=1,n ∂qi

X ∂Ti−1,i −1 −1
Ṗ0 = q̇i T0,i−1 T T P0
i=1,n ∂qi i−1,i 0,i−1
(i−1) (i−1)
!
ω̂i vOi−1
q̇i ∂T∂q
i−1,i −1
Ti−1,i
= représente l’opérateur tangent à la trajectoire dans le
i 0 0
mouvement relatif de Si par rapport à Si−1 .
−1
La prémultiplication par T0,i−1 et la post-multiplication par T0,i−1 permet d’exprimer la
vitesse angulaire relative de Ri par rapport à Ri−1 dans la base B0 ainsi que la vitesse
du point coincident O0 ∈ Rn par rapport à R0
→ Dérivation du modèle géométrique

(φ, θ, ψ, 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 dérivation par rapport au temps donne :
d x1 ∂ f1 ∂ f1 ∂ f1
= q̇1 + q̇2 + . . . + q̇n
dt ∂q1 ∂q2 ∂qn

73
d x2 ∂ f2 ∂ f2 ∂ f2
= q̇1 + q̇2 + . . . + q̇n
dt ∂q1 ∂q2 ∂qn
... = ...
d xm ∂ fm ∂ fm ∂ fm
= q̇1 + q̇2 + . . . + q̇n
dt ∂q1 ∂q2 ∂qn
 ∂ f1 ∂ f1 ∂ f1  

ẋ1

... q̇1
 ∂∂qf12 ∂q2 ∂qn
 ẋ  ∂ f2 ∂ f2   q̇2 
 
 2   ...
= ∂q1 ∂q2 ∂qn  . 
...   .. 

 ... ... ... ... 
  
∂ fm ∂ fm ∂ fm
ẋm ∂q ∂q2
... ∂qn q̇n
1

- $j = ( ∂∂qfj1 , ∂∂qfj2 , . . . , ∂∂qfjm )t


En notation vectorielle :
dX ∂Fdq
=
dt ∂q dt
∂ fi
Ẋ = J q̇ avec Jij =
∂qj
• Le changement de point et de base dans le calcul de J se fait directement par utilisation
d’une matrice adjointe.
• Dans le cas particulier d’un manipulateur découplant position et orientation de l’effecteur,
la matrice J écrite au point particulier de découplage prend la forme suivante :
!
J11 J12
J=
J21 0

• Accélération absolue
L’accélération de l’effecteur par exemple peut être obtenue comme :
˙ q̇
Ẍ = J(q) q̈ + J(q)

Pour un manipulteur avec des liaisons rotoı̈des :

Jv z1 z2 ... zn
   
J= =
Jω z1 ∧ a1 z2 ∧ a2 . . . z n ∧ an

avec ai = 0i P
• Modèle variationel
→ on considère un petit déplacement δq (du premier ordre par rapport aux dimensions
du système) autour d’une configuration q0 = 0 licite avec les liaisons
→ on cherche à déterminer le déplacement δX qui lui correspond.
→ linéarisation de X = F (q) autour de la configuration q = q0

∂F
F̃ (q) = F (q0 ) + δq + . . .
∂q
∂F
δq = δX
∂q

74
Jδq = δX
- δX : champ de déplacement relatif à la variation δq
- rapporté à la variation de temps δt → δX
δt
= J δq
δt
≡ Ẋ = J q̇
• Modèle cinématique des chaı̂nes fermées:
→ par dérivation de l’équation de contraintes

Figure 40: Coupure virtuelle transformant le mécanisme en chaı̂ne ouverte

→ par la loi de composition des vitesses:


Principe : on ajoute aux n corps en mouvement un n + 1 ème corps qui l’on met en
coı̈ncidence avec S0 .
X X
TC (Sn+1 /S0 ) = 0 = TC (Si /Si−1 ) = TC (Si /Si−1 ) + TC (S0 /Sn )
i=1,n+1 i=1,n

θ̇1 $1 + θ̇2 $2 + ṙ3 $3 − θ̇4 $4 = 0


H(nc ×n) q̇ = 0
-H : matrice Jacobienne des contraintes.
Pour l’exemple de la figure 40, la matrice H s’écrit en O4 et dans B0 :
 
1 1 0 −1
H =  −(l1 S1 + r3 S12 ) −r3 S12 C12 0 
 

l1 C1 + r3 C12 r3 C12 S12 0

→ Partitionnement des variables:


Dans le cas d’un système contraint si m > 0; (Ec = dν < Ic ); (nc < n) :
En partitionnant q̇ = (q̇dt , q̇it )t ; H peut s’écrire comme:

H(nc ×n) q̇ = Hd(nc ×nc ) q̇d + Hi(nc ×(n−nc )) q̇i


Si Hd est non-singulière:
q̇d = −Hd−1 Hi q̇i
−Hd−1 Hi
 
q̇ = q̇i
1
→ Loi entrée/sortie (première méthode):
On peut établir la relation entre une variable d’entrée du mécanisme (ex. θ1 ) et une

75
variable de sortie (ex. θ4 ) en utilisant une méthode de réduction des variables passives.
En dissociant variables d’entrée, passives et de sortie, l’équation cinématique de fermeture
se ré-écrit comme :
Hs(nc ×ns ) q̇s + Hp (nc ×(n−ns )) q̇p + He(nc ×(n−nc )) q̇e = 0
En utilisant une matrice Od telle que :
Opt Hp = 0
La matrice Op constitue le complément orthogonal à Hp . Elle peut être déterminée
en utilisant une orthogonalisation de Gramm-Schmidt par exemple. En multipliant
l’équation cinématique de fermeture par la matrice Opt on a la relation entrée/sortie
:
Opt Hs(nc ×ns ) q̇s + Opt He(nc ×(n−nc )) q̇e = 0
→ Loi entrée/sortie (seconde méthode):
On peut aussi utiliser une méthode d’élimination fondée sur l’utilisation d’un torseur
réciproque :
θ̇1 $1 + θ̇2 $2 + ṙ3 $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 géométrique peut être assimilé à une
force passant par O2 et orthogonal à la direction de l’axe de la liaison de translation.
• Modèle cinématique des systèmes parallèles
La méthode de détermination du modèle cinématique des robots parallèles développée
dans ce qui suit utilise le principe des torseurs réciproques proposé ci-dessus.
→ Modèle cinématique direct du chemin 0 j 0 :

qij $ji = Ω$
X

i=1,m

76
j
→ Si $ji sont linéairement indépendants, on détermine $R i :
j
$R i .$jk = 0, k 6= i pour k = 1, ..., 6 (a)

→ En mutlipliant ce torseur à droite et à gauche:


j j
q̇ij ($ji .$R i ) = Ω$.$R i

On répète pour toutes les liaisons actives pour obtenir le modèle cinématique sous la
forme canonique:
˜
B q̇ = DẊ
˜ = (v , v , v , ω , ω , ω )t
Ẋ x y z x y z
j
- B est une matrice diagonale regroupant les termes $R i .$ji .
 R1 1
$ 1 .$1 0 0 0 0 0

R1 1
 0 $ 2 .$1 0 0 0 0
 
B=

 
 . . . . . . 
RN N
0 0 0 0 0 $ g .$g

- D, est de dimension (N g ∗ m), les coefficients sont N g torseurs réciproques :


 t
1 t 1 N
D = ($R
1 ) ($R
2 )
t
. . ($R
g )
t

Exemple : Le système 3RPR de la figure 41 présente une mobilité de 3. On utilisera

Figure 41: Schéma cinématique d’un système parallèle plan à 3 chemins RPR

comme variables actives les actionneurs linéaires de chaque chemin. Pour chaque chemin
j on a l’équation de chaı̂ne ouverte suivante :

θ̇1j $j1 + ṙ2j $j2 + θ̇3j $j3 = Ω$ ∀j = 1, 2, 3

77
En notant les composantes des vecteurs OP Bj et Bj Aj dans RP
   
aj Uj
OP Bj =  bj 
 
etBj Aj =  Vj 


0 0
j
Pour éliminer les variables, on utilisera le torseur réciproque $R 2 tel que :
j
$R 2 .$jk = 0, pour k = 1, 3

et qui est :
j
$R 2 = ( Cθ1j , Sθ1j , aj Cθ1j )t
Ce torseur peut être interprété physiquement comme l’action transmise par le chemin j
sur SP par l’actionneur de la liaison active considérée.
Le système étant symétrique, on obtient donc directement le modèle cinématique qui
prend la forme suivante :

ṙ21 Cθ11 Sθ11 a1 Cθ11


     
1 0 0 ωz
 0 1 0   ṙ22  =  Cθ12 Sθ12 2
a2 Cθ1   vx 
    

0 0 1 ṙ23 Cθ13 Sθ13 a3 Cθ13 vy


| {z } | {z } | {z } | {z }
B q̇ D ˜

Les lignes de la matrice D sont les actions transmises par les actionneurs sur SP pour
commander son mouvement.
Pour le système plan pris comme exemple, le mouvement de SP sera complètement com-
mandable si les 3 actions (les 3 forces) soient linéairement indépendantes.

→ Ce même modèle aurait pu être établi en considérant que la vitesse de chaque


point Bj s’écrit vectoriellement :

vBj = vOP + Bj OP ∧ ω

vBj = vOP + Bd
j OP ω

vBj = (Id , Bd ˜
j OP )Ẋ = Ej Ẋ

On peut éliminer les variables passives dans le cas où les actionneurs linéaires sont reliés
à SP et SO par des liaisons de rotation d’axes concourants en Aj et Bj en consédérant
que la vitesse du point Bj par rapport à RO s’écrit :

vBj = ṙ2j z2j + ωS j /S0 ∧ r2j z2j


3

On obtient donc l’égalité :

ṙ2j z2j + ωS j /S0 ∧ r2j z2j = vOP + Bj OP ∧ ω


3

78
En projetant cette équation sur l’axe z2j , on a :

vOP
 
ṙ2j = (z2j , OP Bj ∧ z2j )
ω

On retrouve le même résultat que précédemment. L’une et l’autre des 2 méthodes sont
utilisables pour obtenir les modèles cinématiques des plate-formes de Gouth-Stewart.

→ Dans le cas particulier où la liaison en Bj est une liaison de type rotule (ou
équivalente comme pour l’exemple du préhenseur articulé de la figure 42. Seule la vitesse
linéaire produite par le chemin j est alors transmise sur SP , on a :

Figure 42: Schéma cinématique d’un mécanisme de préhension articulée

vBj = Jvj q̇ j

q̇ j étant le vecteur regroupant les autres variables cinématiques du chemin j. Le modèle


cinématique de l’ensemble peut donc s’écrire sous la forme suivante (toujours en con-
sidérant l’exemple ci-dessus):

q̇ 1
    
Jv1 0 0 E1
 2  ˜
 0 Jv2 0   q̇  =  E2  Ẋ
 

0 0 Jv3 q̇ 3 E3

79
7 Transmission des efforts
• Problème : On a souvent à établir les relations entre les différents efforts extérieurs
s’exercant sur Σ. Ces relations servent en particulier à déterminer les commandes à
appliquer dans les articulations d’un système pour compenser les effets de gravité ou les
actions à appliquer par l’effecteur sur l’environnement. Pour ce faire nous utiliserons le
principe des travaux virtuels.

Classification des actions:


→ Efforts intérieurs : efforts d’interaction - efforts de liaion - et efforts qui s’opposent
aux déformations
→ Efforts extérieurs : efforts de contact entre SP /Ext à Σ, efforts actionneurs, effets à
distance.

7.1 Etude de l’équilibre


La transmission des efforts peut s’analyser à partir du principe des travaux virtuels
• Enoncé: ∃ un reprère galiléen dans lequel, ∀t, pour tout déplacement δq virtuel de
Σ, la somme des travaux virtuels de toutes les actions est nulle.

δW = δWi + δWe + δWj = 0

- δWi travail des actions intérieures


- δWe travail des actions extérieures
- δWj travail des actions d’inertie
• Déplacement virtuel :
Un déplacement virtuel est un déplacement infinitésimal imaginaire imposé à Σ (à t =
cte). Ce déplacement peut être compatible (licite) ou incompatible avec les liaisons.
→ Pour un point:
Le mouvement virtuel d’un corps est défini à t en associant à toute valeur de u une
position de chaque point (à u = 0 correspond la position réelle de Σ à t).
→ Si M ∈ Σ est paramétré par q:
1 ∂M dq ∂M
δM = lim (M (q(u), t) − M (q(0), t)) = (q(0), t0 ) (0) = δq
u→0 u ∂q du ∂q

80
∂M ∂M ∂M X ∂ M
δM = δq1 + δq2 + . . . + δqn = δqi
∂q1 ∂q2 ∂qn i=1,n ∂qi

→ Déplacement virtuel d’un solide:


Le champ des déplacements virtuels (T̃C (Si ) = (δΦi , δOi )) de Si vérifie la relation :

δPi = δOi + Pi Oi ∧ δΦi

Pour un solide dans le plan:


∂Ri ∂Ri t
δPi = δOi + δ(Ri pi ) = δOi + pi δθi = δOi + R (Pi − Oi )δθi
∂θi ∂θi i
ou sous forme vectorielle : δPi = δOi + Pi Oi ∧ δθi

→ Pour un système Σ le déplacement virtuel compatible avec les liaisons d’un solide
de configuration X(q).
dX ∂ Xdq
=
dt ∂q dt
∂X
dX = dq
∂q
Si δq ≡ dq :
∂X
δX = δq = Jδq
∂q
→ Exemple du 2R plan :
   
δΦ 1 1
 δθ1 δθ1
   
δX =  δPx0  =  −l1 Sθ1 − l2 Sθ12 −l2 Sθ12  =J
  
δθ2 δθ2
δPy0 l1 Cθ1 + l2 Cθ12 l2 Cθ12

• Travail d’une force extérieure sur Si


Le travail virtuel d’une force appliquée en Pi s’écrit :

δWe,i = Fi .δPi = Fit δPi


δWe,i = Fi .δOi + Fi .(Pi Oi ∧ δΦi )
δWe,i = Fi .δOi + Mi(Oi ) .δΦi = T̃C (Si ).TS (Si )
avec : T̃C (Si ) = (δΦi , δOi ) et TS (Si ) = (Fi , Mi(Oi ) )
→ Pour un corps dans le plan :

δWe,i = T̃C (Si ).TS (Si ) = (δθ, δPx0 , δPy0 ).(Fx0 , Fy0 , Mz0 ) = Mz0 δθ + Fx0 δPx0 + Fy0 δPy0

• Travail d’une force et d’un couple sur Si

δWe,i = Fi .δOi + (Ci + Mi(Oi ) ).δΦi = T̃C (Si ).TS (Si )

81
• Travail d’un système de forces extérieures
Le travail d’une famille de forces (Pj , Fj ) appliquée à Si s’écrit :
δWe , i = F1,i .δP1,i + F2,i .δP2,i + . . . + Fnf ,i .δPnf ,i
X X X
δWe , i = Fj,i .δPj,i = Fj,i .δOi + Fj,i .(Pj,i Oi ∧ δΦi ) = R.δOi + M(Oi ) .δΦi
j=1,nf j=1,nf j=1,nf

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


→ Le travail virtuel d’un champ de forces ne dépend que du torseur résultant TS(Si ) .
→ Notion de forces généralisées pour un solide:
Forces provoquant une variation découplée des paramètres 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 généralisée associée au paramètre de position
- Qm : force généralisée associée au paramètre de rotation

→ Travail des forces généralisées pour Σ paramétré 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 généralisées extérieures au système permettent d’établir les relations entre les
forces articulaires, les forces de gravité et les forces s’appliquant sur l’effecteur.

δWe , Σ = δWe , 1 + δWe , 2 = C1 .δθ1 + P1 .δG1 + C2 .δθ2 + P2 .δG2 + F.δP ∀δθ


En considérant alternativement δθ1 6= 0 et δθ2 6= 0 on obtient les 2 relations scalaires
suivantes :
l1 l2
C1 + P1y0 ( Cθ1 ) + P2y0 (l1 Cθ1 + Cθ12 ) + Fx0 (−l1 Sθ1 − l2 Sθ12 ) + Fy0 (l1 Cθ1 + l2 Cθ12 ) = 0
2 2

82
Figure 43: Travail des interefforts de liaison

l2
C2 + P2y0 ( Cθ12 ) + Fx0 (−l2 Sθ12 ) + Fy0 (l2 Cθ12 ) = 0
2
Sous forme matricelle :
 l1
C1 ( Cθ 1) (l1 Cθ1 + l22 Cθ12 ) P1y0 (−l1 Sθ1 − l2 Sθ12 ) (l1 Cθ1 + l2 Cθ12 ) Fx0
      
=− 2 +
C2 0 ( l22 Cθ12 ) P2y0 (−l2 Sθ12 ) (l2 Cθ12 ) F y0

C = −[N + Jvt Fext ]


• Travail des actions intérieures
Les actions intérieures à Σ se décomposent en forces qui s’opposent aux déformations et
en forces de contact.

δWi , Σ = δWd , 1 + δWd , 2 + δWl , 1/2 + δWl , 2/1


pour un déplacement virtuel rigide T̃C (1/2), on a :
δWl , 1/2 + δWl , 2/1 = TS (1/2).T̃C (1/2) + TS (2/1).T̃C (1/2) = 0
[TS (1/2) + TS (2/1)].T̃C (1/2) = 0 ⇒ TS (1/2) = −TS (2/1)
R1/2 R2/1
   
=−
M1/2 M2/1
En introduisant le paramétrage q pour définir la position de S1 /S2 , on peut écire la
puissance virtuelle des forces de liaison en fonction des forces généralisées de liaison Lj :
X
δWi , Σ = δWl , Σ = Lj δqj
j=1,6

→ Application à une liaison rotoı̈de parfaite

δWi , Σ = δWl , 1/2 = (Fx , Fy , Fz , Mx , My , Mz )(δΦx , δΦy , δΦz , δO0 x , δO0 y , δO0 z )t
Dans un mouvement réel (ou virtuel licite avec les contraites) δWl , Σ = 0 ∀δq

δWl1/2 = Mz .δΦz = 0
• Equilibre d’un solide
→ Pour un solide isolé (Σ = Si ) :
δW, i = δWe , i + δWl , i = δWe , i = 0

83
Figure 44: Equilibre d’une prise

Figure 45: Equilibre d’une prise plane bidigitale

En considérant un déplacement virtuel de Si dans SE(3), on obtient un système de 6


équations scalaires : X
Fj,i = 0
j=1,nf
X X
(OPj ∧ Fj,i ) + Cj,i = 0
j=1,nf j=1,nc

→ Equations d’équilibre de S (unique, δWj = 0)


Exemple d’application aux équations d’équilibre d’une prise. Dans ce cadre, on considère
l’objet S saisi par les doigts qui développent des forces de contact Fj,S comme le montre
la figure 7.1.
Exemple d’une prise plane bidigitale :

F1/S + F2/S = −P

OP P1 ∧ F1/S + OP P2 ∧ F2/S = 0
 f
 
−1 0  1 
  
1 0 0
  f2 
0 1 0 1  = P 
  
 f3 
0 −r 0 r 0
f4

84
G f = −Fext
→ δWl 6= 0 dans un δq non-licite.

→ Pour un système de solides :


X X
δW, Σ = (δWl , i + δWe , i) = δWe , i = 0
i=1,(b−1) i=1,(b−1)

Un système de solides Σ = (S1 , . . . , S(b−1) ) est en équilibre si les forces extérieures sont
équilibrées. X X
δWe , Σ = Fj .δPj + Cj .δΦj
j=1,nf j=1,nc

Si Pj et Φj sont exprimées en terme de variables généralisées (Pj (q); Φj (q)) :

∂Pj ∂Φj
δPj = δq ; δΦj = δq
∂q ∂q
∂Pj ∂Φj
Fjt Cjt
X X
δWe , Σ = [ + ]δq
j=1,nf ∂q j=1,nc ∂q

δWe , Σ = Qte δq = 0
Le PTV est vrai ∀δqi ce qui entraı̂ne :

Qi δqi = 0 ∀δqi = 1, n

Si les qi sont indépendants, le système d’équations de la statique ainsi dérivé a m


équations.
→ Exemple du 2R plan
Si on néglige P1 et P2 :

C1 −l1Sθ1 − l2 Sθ12 −l2 Sθ12 F x0


    
=−
C2 l1Cθ1 + l2 Cθ12 l2 Cθ12 F y0

C = −Jvt Fext
→ Application au système bielle-manivelle (Sans masse - Commande C1 - Sortie F )

C1 δθ1 − F δO3 = 0
C1 δθ1 − F (−l1 Sθ1 δθ1 − l2 Sθ12 δθ2 ) = 0
C1 = F (−l1 Sθ1 + l2 tgθ12 Cθ1 )

85
Figure 46: Transmission des efforts dans un mécanisme en chaı̂ne fermée

8 Analyse de la transmission cinématique


8.1 Singularités dans les chaı̂nes séries
Pour aborder l’analyse et l’interprétation des singularités dans les mécanismes séries nous
allons considérer le système 2R plan placé dans la configuration θ2 = 0

Figure 47: Manipulateur 2R placé dans une singularité

Ẋ = Jv q̇
vx0 −Sθ(l12 ) −Sθ(l2 ) θ̇1
     
= θ̇1 $1 + θ̇2 $2 =
vy0 Cθ(l12 ) Cθ(l2 ) R0 θ̇2
vx2 0 0 θ̇1
     
=
vy2 l12 l2 R2 θ̇2
vx0
= −tan(θ)
vy0

86
→ Les 2 composantes de la vitesse dans R0 sont liées, une composante dans R2 est
nulle.
→ La matrice Jv n’est plus régulière. Les vecteurs-colonnes ne sont pas linéairement
indépendantes: rg(Jv ) = 1
6 ∃ de solution à q̇ pour Ẋ 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
Détermination : $R = (u, v)t
−Sθl12 u + Cθl12 v = 0
−Sθl2 u + Cθl2 v = 0
u = Cθ v = Sθ
→ A partir de la loi de transmission des forces : τ = −J t Fext

τ1 −Sθ(l12 ) Cθ(l12 ) fx0


     
=
τ2 −Sθ(l2 ) Cθ(l2 ) R0 fy0
τ1 0 Cθ(l12 ) fx2
     
=
τ2 0 Cθ(−l2 ) R2 fy2
fx2 n’est pas commandé par les τi

• Interprétation (pour des systèmes ou m = d)


→ Lorsque J (J t ) est singulière, la mobilité du mécanisme diminue.
mc = rg(J)
-mc : mobilité réelle
→ Réciproquement un effort compatible avec les liaisons apparaı̂t.
→ si J est vue comme la matrice d’une application linéraire de E(q̇) vers E(Ẋ)
dim(R(J)) + dim(N (J)) = n
∃ un mouvement interne qui n’influence pas la sortie. Le mouvement interne est solution
à:
JR2 θ̇h = 0
 l2 
θ̇h = k l12 = kN (J)
1

8.2 Singularités dans les chaı̂nes fermées


• Pour le mécanisme bielle-manivelle
 θ̇
 
1 0  1
  
1 1 0
  θ̇2 
Cq q̇ =  0 −l2 Sθ12 0 −1    =  0 
  
 θ̇3 
x l2 Cθ12 0 0 0

87
Figure 48: Exemple de chaı̂ne fermée simple

Les déterminants de rang 3 de Cq sont :

∆123 = l2 xSθ12 ∆234 = −l2 Cθ12 ∆134 = −x ∆124 = −x + l2 Cθ12

Ils s’annulent simultanément lorsque :

x = 0 et θ12 = π/2 + kπ

Dans cette configuration, le rang des équations cinématiques de contrainte rg(Cq ) est
diminué rg(Cq ) = 2, (mc = Ic − rg(Cq )). Ici, la mobilité du mécanisme est augmentée
d’une unité. La matrice Cq devient :
 
1 1 1 0
Cq = 
 0 −l2 Sθ12 0 −1 

0 0 0 0

et le torseur réciproque $R à ce système est : $R = (0, 1, 0). On parle d’une configuration


incertaine.
En considérant toujours l’exemple précédent, on peut dire que pour le système pris sous
la forme :  
θ̇1
[$1 $2 $3 ]  θ̇2  = $4 ( ẋ )
 

θ̇3
    
1 1 1 θ̇1 0
 0 −l2 Sθ12 0   θ̇2  =  1  ( ẋ )
    

x l2 Cθ12 0 θ̇3 0
→ (n−p) torseurs deviennent linéairement dépendants, les p torseurs étant indépendants.
Les amplitudes des p torseurs deviennent nulles. Apparaı̂ssent alors les configurations
stationnaires.
Pour déterminer l’ensemble des configurations stationnaires, il convient de considérer les
cas suivants :

1. rg([$1 $2 $3 ]) < 3 alors ẋ = 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 mobilité du système à proprement parler n’est pas modifiée. Dans le mouvement,


l’un des paramètres prend une valeur nulle.

8.3 Singularités dans les chaı̂nes parallèles


→ Pour aborder cette question on considère à nouveau le mécanisme bielle-manivelle
dans lequel seule la variable θ1 est active, à partir de la relation :

θ̇1 $1 + θ̇2 $2 + θ̇3 $3 − ẋ = 0


       
1 1 1 0
θ̇1  0  + θ̇2 +  −l2 Sθ12  + θ̇3  0  = ẋ  1 
       

x l2 Cθ12 0 0
en multipliant par $R t
1 = (Cθ12 , Sθ12 , 0) , on obtient :

xSθ12 θ̇1 = Cθ12 ẋ

Si on considère l’entrée comme θ̇1 et la sortie ẋ, on a alors :


- des configurations stationnaires : x = 0 et θ12 = 0 + kπ
- des configurations incertaines : θ12 = π/2 + kπ

→ D’une manière générale, à partir du modèle :


˜
B q̇ = DẊ

On peut montrer que le système présente :

1. configurations stationnaires lorsque B est singulière. Lorsque B devient


j
singulière, l’une des compsantes de la diagonale (du type $R i .$ji et qui représente
la puissance normée développée par l’actionneur de la liaison active considérée
j
dans le mouvement induit sur SP ) devient nulle. $R i est donc réciproque à tous les
torseurs des liaisons actives et passives du chemin j. On a à faire à une configuration
stationnaire.

2. configurations incertaines lorsque D est singulière. Lorsque D devient sin-


gulière, les actions développées par les actionneurs sur SP ne sont pas linéairement
indépendantes. SP n’est pas complétement commandé.
Le mouvement incontrôlé peut être défini en déteminant le système de torseurs
j
réciproques T R aux torseurs $R i de D.

89
Figure 49: Manipulateur 3 × 3R placé dans une configuration stationnaire et une config-
uration incertaine

9 Résolution des modèles inverses

9.1 Cinématique inverse des chaı̂nes séries (n = d)


• Objet :
Déterminer les vitesses articulaires (q̇) (ou les déplacements) pour commander le
mouvement absolu de l’effecteur.
• Démarche :
Inverser le système d’équations linéaires ”Modèle cinématique direct” (ou le modèle
différentiel).
Ẋ = J q̇ (δX = Jδθ)
• Résolution numérique
Si le système est de Cramer (m équations à n inconnues), J −1 existe : q̇ = J −1 Ẋ
1 X
q̇j = Aij ẋi
detJ i=1,m

→ q̇j est obtenu par le quotient du déterminant obtenu en remplacant dans J la


jième colonne par Ẋ et le déterminant de J.
→ Exemple du 2R plan
vx0 −l2 Sθ12 −(l1 Sθ1 + l2 Sθ12 ) vx0


v l2 Cθ12 (l Cθ + l Cθ ) vy0
y0 1 1 2 12
θ̇1 = θ̇2 =
l1 l2 Sθ2 l1 l2 Sθ2
→ Si le système n’est pas de Cramer, une solution exacte existe si le vecteur Ẋ
appartient à l’espace vectoriel des rg(J) = r vecteurs colonnes Ji de J, cad si :

rg(Ẋ, J1 , J2 , , . . . , Jr ) = r

→ Exemple du 2R plan dans une singularité:

−l12 Sθ −l2 Sθ θ̇1 −tgθvy


    
=
l12 Cθ l2 Cθ θ̇2 vy

90
• Par utilisation d’une élimination de Gauss (LU decomposation) :

Ẋ = J θ̇ = L U θ̇
En posant :
y = U θ̇
On calcule par substitution y à partir de :

Ẋ = L y

puis θ̇
• Autre forme de résolution (m = d)
X
q̇i $i = Ω$
i=1,6

→ Si les $i sont linéairement indépendants, on détermine $R i :

$R i .$k = 0, k 6= i pour k = 1, ..., 6

En multipliant ce torseur à droite et à gauche:


$.$R i
q̇i = Ω
$i .$R i
On répète pour toutes les articulations.

B q̇ = D˜Ẋ
- B est une matrice diagonale regroupant les termes $R i .$i .
 R
$ 1 .$1 0 0 0 0 0

 0 $R 2 .$2 0 0 0 0 
B=  
. . . . . . 
 

0 0 0 0 0 $R 6 .$6
- D, est de dimension (6 × 6), ses coefficients sont 6 torseurs réciproques:
t t
D = ( ($R
1)
t
($R
2)
t
. . ($R
6) )

La figure ?? donne une représentation géométrique des torseurs de D dans le cas


du système 3 × 3R plan, considérant que seules les premières liaisons sont actives.
• Modèle cinématique inverse sous la forme: J −1 = B −1 D

• Les composantes scalaires (x, y, z, x0 , y0 , z0 ) de $R i se calculent en résolvant :

$k .$R i = 0 k = 1, .., 6 k 6= i; x2 + y 2 + z 2 = 1

• $⊥ i est tel que:


$⊥ i = $1 ∧ $2 ∧ ..... ∧ $n−1

91
(a) Si $⊥ i 6= 0: ($⊥ i ) = (−1)i+1 ∆i
(b) Si 2 des torseurs sont linéairement dépendants, $⊥ i = 0.
Dans (x, y, z, x, y, z), $⊥
1 orthogonal à ($2 , $3 , $4 , $5 , $6 , ) :

x y z x y z

u2 v2 w2 l2 m2 n2

u3 v3 w1 l3 m3 n3

$⊥
1 =

u
4 v4 w4 l4 m4 n4
u5 v5 w5 l5 m5 n5


u v6 w6 l6 m6 n6
6

9.2 Systèmes séries redondants (n > m = d)


Pour des systèmes cinématiquement redondants, le problème cinématique inverse
est sous-déterminé (infinité de solutions)
→ Partitionnement des variables :
Si rg(J) = m, on peut partitionner J ∈ Rm×n :

q̇p
 
J = ( Jp m×m Js(m)×(n−m) ) q̇ =
q̇s

→ Les q̇s sont des variables secondaires fixées arbitrairement: q̇p = Jp−1 (Ẋ − Js q̇s )
→ Exemple du 3R plan en ne considérant que la vitesse linéaire de P :

−(l1 Sθ1 + l2 Sθ12 + l3 Sθ123 ) −(l2 Sθ12 + l3 Sθ123 ) θ̇1 vx0 −l3 Sθ123
      
= −θ̇3
(l1 Cθ1 + l2 Cθ12 + l3 Cθ123 ) (l2 Cθ12 + l3 Cθ123 ) θ̇2 vy0 l3 Cθ123

• La solution générale est déterminée comme la somme d’une solution particulière


et d’une solution homogène :
q̇g = q̇p + q̇h
- q̇p : solution particulière
- q̇h : solution à J q̇h = 0

q̇h = N (J)λ dim(N (J)) = (n − m)

→ Solution homogène ≡ mouvement interne


→ Exemple du 3P plan:
 

1 0 1  1 0
   
 ṙ2  =
0 1 0 0
ṙ3 h
 
−1
q̇h = λ1  0 
 

92
Figure 50: Manipulateur 3P

→ Une solution particulière de norme Euclidienne de q̇ minimum est donnée par :

q̇p = J t (JJ t )−1 Ẋ = J + Ẋ

→ Exemple du 3P plan :
   
ṙ1 1/2 0 
 vx0

 ṙ2  =  0 1
  
vy0
ṙ3 p 1/2 0

→ pseudo-inverse à droite qui se calcule directement si rg(J) = m


→ si rg(J) < m on utilise pour le calcul la décomposition en valeurs singulières
(SVD):
+ + t
JSV D = VΣ U Σ+ = diag(1/σ1 , 1/σ2 , . . . 1/σr )
+
σi−1 vi uti
X
JSV D =
i=1,r

→ On peut aussi utiliser la méthode de Levenberg-Marquardt pour déterminer une


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

+ σi
vi uti
X
JSV D = 2 2
i=1,r σi +λ

On note que pour des valeurs de σi >> λ :


σi
≈ 1/σi
σi2 + λ2

→ Une solution homogène peut être déterminée en utilisant la projection orthog-


onale sur le noyau de J donnée par : (Id − J + J)

q̇h = (Id − J + J)z z ∈ Rn

93
Elle peut être utilisée pour optimiser un objectif secondaire.
→ Le vecteur z peut être calculé comme le gradient d’une fonction coût g(q) (définie
positive et dépendante de q):   ∂g
∂q1
 . 
 .. 
z = α 
∂g
∂qn

→ Exemples de fonction g(q):


- pour optimiser la distance aux butées articulaires
!2
X (qi − qi moy )
g(q) =
i=1,n ∆qi

- pour optimiser la manipulabilité


q
g(q) = det(JJ t )

9.3 Algorithmes de commande en position


Si q(0) est connue, la position de consigne à t peut être obtenue par :
Z t
q(t) = q̇(t)dt + q(0)
0

→ par utilisation de la méthode d’intégration d’Euler, pour ∆t, la position à


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) ))Ẋ(q(t(k) ))∆t

L’intégration numérique introduit une erreur en position et orientation de l’effecteur:

e = Xd − X = Xd − F (q)

→ Correction de l’erreur par utilisation de la méthode de Newton:


L’utilisation de :
q̇ = J −1 (q)(Ẋd + diagK e)
conduit à :
ė + diagK e = 0
qui si diagK est définie positive est un système asymptotiquement stable.

94
10 Analyse de la transmission des efforts

10.1 PSI pour un système isostatique


→ Commander les efforts pour obtenir l’équilibre.
→ Pour un corps isolé (Σ = Si )

G f = −Fext
→ Résolution numérique:
Si le système est de Cramer (m équations à n inconnues) G−1 existe:

f = G−1 (−Fext )
1 X
fj = − Aij Fexti
detG i=1,m=n=d
→ Résolution analytique:
X
fi $̄i = −Fext $̄
i=1,6

$̄.$̄R
i
fi = −Fext
$̄i .$̄R
i
→ Pour un système de corps:

τ = −J t Fext

10.2 PSI pour un système hyperstatique


→ Pour un corps isolé (Σ = Si )

Fext = −G f
La solution générale est déterminée comme:

fg = fp + fh

- fp : solution particulière
- fh : solution homogène, solution à Gfh = 0
→ Exemple:

f
 
0 −1 0  1 
 
1
f 
0 1 0 1 2 = 0

 f3 

−r 0 r 0
f4

95
Figure 51: Exemple d’une prise plane par 2 contacts ponctuels avec frottement

f1 1
   
f  0
 2
  = k 
 
 f3  1
f4 h 0
→ Une solution particulière de norme Euclidienne de f minimun est donnée par :

f1 1/2 0 0
   
 
0
f 
 2
 0 1/2 −1/2r   

  = P 

 f3   −1/2 0 0 
0
f4 p 0 1/2 1/2r
fp = Gt (GGt )−1 (−Fext )
→ Une solution homogène peut être ajoutée en utilisant la projection orthogonale
(Id − G+ G)
Remarque : Autre méthode de calcul de fh .

fh = (Id − G+ G)z

1/2 0 1/2 0 z1
  
 0 0 0 0   z2 
 
fh = 

 1/2 0 1/2 0   z3 
 

0 0 0 0 z4

96
11 Dynamique des systèmes

11.1 Accélération du point


Le vecteur accélération du point P (t) par rapport à R0 est :

(0) d(0)
γM = vM = M̈ (t) = ẍM x0 + ÿM y0 + z̈M z0
dt

11.2 Accélération du solide


→ Champ des accélérations des points d’un solide

d(0)
P̈0 = [ω̂01 (P0 − d01 ) + d˙01 ]
dt

P̈0 = ω̂˙ 01 (P0 − d01 ) + ω̂01 (Ṗ0 − d˙01 ) + d¨01


P̈0 = ω̂˙ 01 (P0 − d01 ) + ω̂01
2
(P0 − d01 ) + d¨01 = d¨01 + (ω̂˙ 01 + ω̂01
2
)(P0 − d01 )
sous forme vectorielle :
(0)
(P̈0 )R0 = (Ö1 )R0 + (ω̇01 ∧ P1 )R0 + (ω01 ∧ (ω01 ∧ P1 ))R0 = γP ∈R1

→ Accélération angulaire :
d(0)
ω̂˙ 01 = t
(Ṙ01 R01 )
dt
 
0 −1 0
→ Mouvement de rotation plan : ω̂˙ 01 = θ̈  1 0 0  → ω̇01 = θ̈z0
 

0 0 0
→ Mouvement de rotation paramétré par les angles d’Euler:

ω0S = φ̇z1 + θ̇x2 + ψ̇z3 = H Φ̇


ω̇0S = H Φ̈ + Ḣ Φ̇
 
−φ̇θ̇Sφ + ψ̇(φ̇CφSθ + θ̇SφCθ)
avec Ḣ Φ̇ =  φ̇θ̇Cφ + ψ̇(φ̇SφSθ − θ̇CφCθ) 
 

−θ̇ψ̇Sθ
On montre également que le champ des accélérations d’un solide peut s’exprimer à
partir de la dérivation du torseur cinématique représenté géométriquement à l’aide
d’un torseur unitaire.

97
11.3 Composition des accélérations
Si le point P est un mobile dans R1

Ṗ0 = ω̂01 (P0 − d01 ) + d˙01 + R01 Ṗ1


P̈0 = d¨01 + ω̂˙ 01 (P0 − d01 ) + ω̂01 (Ṗ0 − d˙01 ) + Ṙ01 Ṗ1 + R01 P̈1
P̈0 = d¨01 + ω̂˙ 01 (R01 P1 ) + ω̂01 (ω̂01 P1 + R01 Ṗ1 ) + Ṙ01 Ṗ1 + R01 P̈1
P̈0 = d¨01 + (ω̂˙ 01 + ω̂01
2
)(R01 P1 ) + 2ω̂01 (R01 P1 ) + R01 P̈1
Traduit en vecteurs :

(P̈0 )R0 = (Ö1 )R0 + (ω̇01 ∧ P1 )R0 + (ω01 ∧ (ω01 ∧ P1 ))R0 + (2ω01 ∧ Ṗ1 )R0 + (P̈1 )R0
(0) (0) (1)
γP ∈R2 = γP ∈R1 + γc + γP ∈R2

11.4 Géométrie des masses


• Propriétés de la masse
→ La masse (m) est une fonction d’ensemble définie 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 d’un solide homogène
La masse de S est un champ scalaire défini comme :
Z Z
P ∈ P = S : m(S) = ρ(P )dv = dm
P ∈v P ∈v

- ρ(P ) est la fonction densité de masse


- dv un volume élémentaire
- dm est la masse d’un ”petit” élément de volume centré en P .
• Centre de gravité (centre d’inertie)
→ Solide S
1 Z Z
OG = OP dm; m(S) = dm
m(S) P ∈S P ∈S

→ S = P1 ∪ P2 avec P1 ∩ P2 =6 ◦
Z Z
m(P1 )OG1 = OP dm m(P2 )OG2 = OP dm
P ∈P1 P ∈P2

1
OG = (m(P1 )OG1 + m(P2 OG2 )
m(P1 ) + m(P2 )
• Intégration selon la loi de masse
L’intégration par rapport à la loi de masse de certains champs vectoriels servent à

98
définir des grandeurs cinétiques:
→ Soit le champ vectoriel u donné sur S, l’intégrale % la masse est J :
Z Z
J (u, ρ, S) = u(P )ρ(P )dP = u(P )dm
P ∈S P ∈S

→ Torseurs par rapport à la loi de masse :


Z Z
(Résultante) R(u, ρ, S) = u(P )ρ(P ) dP = u(P ) dm
P ∈S P ∈S
Z
(Moment) M (u, ρ, S) = OP ∧ u(P ) dm
P ∈S

→ Si u ≡ vitesse de S: torseur cinétique


→ Si u ≡ accélération de S: torseur dynamique
• Tenseur d’inertie de S dans un repère lié à S
Le tenseur d’inertie de S (de loi de masse ρ) en Q est :
Z Z
JQ : u → JQ (u) = QP ∧ (u ∧ QP )dm = −QP ∧ (QP ∧ u)dm
P ∈S P ∈S

Un tenseur peut être représenté par ses composantes dans une base. Si QP =
(x, y, z)t et u = (ux , uy , uz )t dans RS :
   
0 −z y 0 −z y ux
QP ∧ (QP ∧ u) =  z 0 −x   z 0 −x   uy 
   

−y x 0 −y x 0 uz

−(z 2 + y 2 )
  
xy xz ux
2 2
= xy −(z + x ) yz   uy 
  

xz yz −(x2 + y 2 ) uz
• Matrice IQ associée au tenseur d’inertie JQ (matrice d’inertie):
2
+ y 2 )dm R P ∈S −xydm
R 
−xzdm
R R
PR∈S (z R P ∈S
2 2
IQ =  RP ∈S −xy dm (z + x ) dm −yz dm 
 
∈S
PR R P ∈S 2 2
P ∈S −xz dm P ∈S −yz dm P ∈S (x + y ) dm
 
Ixx Ixy Ixz
=  Ixy Iyy Iyz 
 

Ixz Iyz Izz


• Relation de Huygens
La relation de Huygens permet de relier les composantes de l’opérateur d’inertie,
dans une même base, entre le point Q et le point G
L’opérateur JQ est défini par :
Z Z
JQ (u) = QP ∧ (u ∧ QP ) dm = (QG + GP )(u ∧ (QG + GP )) dm
P ∈S 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 d’inertie 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 )

IQ = IG + IQG IQG = m(S) (k QG k2 Id − QG QGt )

11.5 Cinétique
• Torseur cinétique
→ Définition:
Le torseur cinétique de S dans son mouvement par rapport à R0 en Q est :
Z Z
(0) (0) (0) (0) (0)
CS = [QS = vP dm, σQ = (QP ∧ vP ) dm]
P ∈S P ∈S

→ Expression de la résultante:
Z
m(S) OG = OP dm
P ∈S

(0) d(0) d(0) Z


QS = (m(S) OG) = ( OP dm)
dt dt P ∈S
Z
(0)
QS = m(S) vG = vP dm
P ∈S

sous forme matricielle:


ω0S ω0S
   
(0) t
(QS ) = ( 0 m(S) Id ) = ( m(S) ∆(BG) m(S) Id )
vG vB

→ Expression du moment :
Si Q est un point de l’espace, G le centre d’inertie de S et B un point lié à S.
Z Z
(0) (0)
σQ = (QP ∧ vP dm) = (QP ∧ (vB + ω0S ∧ BP )) dm
P ∈S P ∈S

(0) (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 )
ω0S
 
(0)
sous forme matricielle : (σB ) = ( IB m(S) ∆(BG) )
vB

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 à R0 en Q est :
Z Z
(0) (0) (0) (0) (0)
DS = [AS = γP dm ; δQ = (QP ∧ γP ) dm]
P ∈S P ∈S

→ Expression de la résultante:

(0)d(0) d(0) Z (0)


Z
(0)
AS = (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 :

d(0) (0) (0) (0) (0)


(σQ ) + m(S) vQ ∧ vG
δQ =
dt
soit en remplacant par le moment cinétique :

(0) d(0) (0) (0) (0)


δQ = [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 cinétique
→ L’énergie cinétique de S dans son mouvement par rapport à R0 est le scalaire:
(0) 1Z (0)
TS = kv k2 dm
2 P ∈S P
Calculée au point B ∈ S :
Z Z
(0) (0) (0) (0) (0) (0)
2TS = vB∈S . vP dm + ω0S . BP ∧ vP dm = TC S .CS
P ∈S P ∈S

sous forme matricielle :


IB m(S) ∆(BG) ω0S
  
(0)
2TS = ( ω0S , vB )
m(S) ∆(BG)t m(S) Id vB
(0)
2TS = Ẋit Mi Ẋi
Mi : matrice de masse de S
→ Expressions particulières :

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

I 0 ω0S
  
(0)
2TS = ( ω0S , vG ) G
0 m(S) Id vG
(0)
si B ∈ R0 : 2TS = ω0S .IB ω0S
→ Energie cinétique pour Σ
X 1 X t
T = Ti = Ẋ Mi Ẋi
i=1,n 2 i=1,n i

Ẋi : coordonnées du torseur des vitesses en Gi de Si par rapport à R0 .


• Calcul pratique : Ẋi peut être déterminé en réduisant la jacobienne Ji à ses i
premières colonnes et en utilisant Gi comme point de référence:

ω0i
 
= Ẋi = Ji q̇; Ji = [$1 , $2 , ....., $i , 0, ..., 0] $k = 0 k > i, n
vGi

→ Energie cinétique de Si :
1
Ti = q̇ t Jit Mi Ji q̇
2
→ Energie cinétique du système :
1
Ti ≡ q̇ t M (q)q̇
X
T =
i=1,n 2

avec M (q) = i=1,n Jit Mi Ji


P
M (q) : matrice de masse généralisée (symétrique,
définie positive).

12 Modèle dynamique
• Objet : Relier les grandeurs caractérisant le mouvement des corps doués d’une
répartition de masse aux efforts s’exercant sur les corps pour déterminer les équations
du mouvement.

12.1 Equation du mouvement pour un corps seul


Enoncé du principe fondamental de la dynamique : Il existe un repère Galiléen
(R0 ) tel que pour Σ, le torseur dynamique de Σ dans son mouvement par rapport
à R0 est égal au torseur des actions extérieures ce qui se taduit par la relation
torsorielle :
(0)
DB = TS ext/Σ

102
Cette relation conduit à 2 relatons vectorielle :
→ Equation de résultante: Théorème de la résultante dynamique (équation de
Newton):
(0) d(0) (0)
m(S) γG = (m(S) vG ) = Rext/Σ
dt
→ Equation de moment : Théorème du moment dynamique (équation d’Euler):
d(0) (0)
(0)
(σ ) = MB ext/Σ
δB =
dt B
Les projections dans une base de ces équations vectorielles (équations différentielles
du second ordre) constituent les équations du mouvement du solide Si évoluant dans
un espace de dimension d = 3, 6.
En développant les équations de Newton-Euler pour le corps Si , on trouve :
m(Si ) γGi = R(ext/Si )
d(0) d(0)
(IGi ω0i ) = (R0i IGi i R0i
t
ω0i ) = IG0 i ω̇0i + Ṙ0i IGi i R0i t
ω0i + R0i IGi i Ṙ0i
t
ω0i
dt dt
= IG0 i ω̇0i + ω̂0i IGi i ω0i + IGi i ω̂0i
t
ω0i = IG0 i ω̇0i + ω̂0i IG0 i ω0i = MGi (ext/Si )
Ces équations peuvent être mises sous la forme matricielle:
!
m(S) Id 0 γGi 0 vGi R(ext/Si )
     
+ =
0 IG0 i ω˙0i ω̂0i IGi i ω0i MGi (ext/Si )
MSi Ẍi + CSi (Xi , Ẋi ) + NSi (Xi ) = F(ext/Si )
NSi (Xi ) représentant les forces extérieures de gravité et F(ext/Si ) regroupant les
autres forces extérieures.
→ Exemple d’application au robot Segway :

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


m(S2 ) γG2y0 − fy0 (1/2) + P2 = 0
I2z ω02 − C2 − l Cθ2 fy0 (1/2) + l Sθ2 fx0 (1/2) = 0

103
(0) (0) (1)
(γG2 )R0 = (γO1 )R0 + (γG2 )R0
−θ¨2
 
0 0
d
ω̂˙ 02 t  ¨
= (Ṙ02 R02 ) =  θ2 0 0

dt
0 0 0
vG2x0 1 (l Sθ2 ) ṙ1
    
vG2 = =
vG2y0 0 (−l Cθ2 ) θ̇2
γG2x0 r̈1 − (l Cθ2 θ̇22 + l Sθ2 θ¨2 )
   
γG2 = =
γG2y0 (−l Sθ2 θ̇22 + l Cθ2 θ¨2 )
En substituant dans les équations du mouvement:

m(S2 ) [r̈1 − θ¨2 l Sθ2 − θ̇22 l Cθ2 ] = fx0 (1/2) (2)


m(S2 ) [θ¨2 l Cθ2 − θ̇22 l Sθ2 ] = fy0 (1/2) − m(S2) g
I2z θ¨2 = C2 + l Cθ2 fy0 (1/2) − l Sθ2 fx0 (1/2)

Ce système forme les équations du mouvement du système Σ. Il s’agit d’un système


de d×k (d = 3, 6) équations différentielles du second ordre traduisant les théorèmes
généraux sur les k corps isolés. Ces équations peuvent être réduites aux équations
du mouvement relatives aux paramètres de configuration q après résolution des
inter-efforts de liaison.

12.2 Obtention des équations du mouvement relatives aux


paramètres q pour un système arborescent
On peut obtenir les équations plus directement les équations du mouvement rela-
tives aux paramètres qk pour une chaı̂ne série en utilisant la projection du moment
dynamique (si la liaison relative au paramètre qk est une rotation) ou par projec-
tion de la résultante dynamique du sous-système Σ = Sk , Sk+1 , . . . Sn constitué des
corps situés en amont de la liaison k (voir figure 12.2.

104
Pour une liaison de rotation, on a l’équation du mouvement relative à qk :
X h (0) i
τi = δOk (Si ).zi − Ok Gi ∧ mi g.zi
i=k,n
h i
τi = MOi k − MOg k .zi

Pour une liaison de translation :


X
fi = A (Si ).zi − mi g.zi
i=k,n

fi = (Rki − Rkg ).zi

Un résultat équivalent peut être obtenu par l’application du principe des travaux
virtuels.
Un exemple typique d’utilisation des TG en robotique est donné par la détermination
des conditions de non-pivotement d’un robot humanoı̈de. On cherche en effet à
faire que le moment au point de contact pied/sol selon l’axe t perpendiculaire à la
normale soit tel que : h i
MCi (Σ) − MCg (Σ) .t = 0

12.3 Equations du mouvement par application du PTV en


dynamique
Nous avons déjà introduit les notions de travail virtuel pour des forces extérieures.
Nous compléterons ici en exprimant le travail virtuel des forces d’inertie.
→ Pour le corps Si
Le travail virtuel des forces d’inertie s’exercant sur Si est :
(0) (0)
δWj , i = T̃C(Si ) .D(Si ) = m(Si )γGi .δGi + δA .δΦi

105
• Pour un système de k solides paramétré par n paramètres qi .
Le travail virtuel des forces d’inertie s’exercant sur Σ est :
X X (0) ∂ Gi X (0) ∂ Φi
δWj , Σ = Wj , i = ( [m(Si ) γGi . δq] + [δA . δq])
i=1,k i=1,k ∂q i=1,k ∂q

δWj , Σ = J1 δq1 + J2 δq2 + . . . + Jn δqn


Ji désigne ici la force généralisée d’inertie relative au paramètre qi .
Les équations du mouvement de Σ peuvent être dérivée à partir du PTV en con-
sidérant l’ensemble des travaux virtuels des forces extérieures, de liaison et d’inertie:

δWe , Σ + δWl , Σ + δWj , Σ = 0

Pour un système rigide parfait, on a :


X X
δWj , i + δWe , i = 0
i=1,k i=1,k

∀δq (Qi + Ji ) . δqi = 0


Qi + Ji = 0 (i = 1, n)

→ Application au 2R plan
En ne considérant que les effets de la gravité dans les actions extérieures, on a :

δWe , Σ = Q1 δθ1 + Q2 δθ2

δWj , Σ = J1 δθ1 + J2 δθ2

• A l’aide des formules de Lagrange, si les qi sont indépendants


d ∂L ∂L
Ji = −( ( )− )
dt ∂ q̇i ∂qi
où L = T − U est le Lagrangien du système
d ∂T ∂T ∂U
( )− + = Qi
dt ∂ q̇i ∂qi ∂qi

106
• Pour un solide S, T = 12 Ẋ t M Ẋ:

∂T d ∂T
= M Ẋ ( ) = M Ẍ + Ṁ Ẋ
∂ Ẋ dt ∂ Ẋ

∂T 1 ∂M Ẋ t
= ( ) Ẋ
∂X 2 ∂X
L’équation du mouvement du solide S est donc :

1 ∂M Ẋ t ∂U
M Ẍ + Ṁ Ẋ − ( ) Ẋ + =Q
2 ∂X ∂X

12.4 Modèle dynamique inverse des systèmes séries

• Energie potentielle:
mi g t GO
X X
U= Ui = i
i=1,n i=1,n

Le vecteur position de Gi dans R0 se détermine directement par :


G0i Gii
   
= T0i
1 1
et g désigne l’accélération de la pesanteur.
• L’énergie cinétique:
X 1 X t 1 X X
T = Ti = Ẋi Mi Ẋi = Mij (q1 , ..., qn )q̇i q̇j
i=1,n 2 i=1,n 2 i=1,n j=1,n

• Obtention des équations du mouvement, pour i = 1, n:


d ∂T d X
( )= ( Mij (q1 , ..., qn )q̇j )
dt ∂ q̇i dt j=1,n

d ∂T X X
( )= Mij q̈j + Ṁij q̇j
dt ∂ q̇i j=1,n j=1,n

107
∂T ∂ 1 X X 1 X X ∂Mjk
= ( Mjk q̇j q̇k ) = q̇j q̇k
∂qi ∂qi 2 j=1,n k=1,n 2 j=1,n k=1,n ∂qi
• Equations du mouvement de Σ:
X X X ∂Mij 1 ∂Mjk ∂U
τi = Mij q̈j + ( q̇j q̇k − q̇j q̇k ) +
j=1,n j=1,n k=1,n ∂qk 2 ∂qi ∂qi

X X X ∂U
τi = Mij q̈j + Hijk q̇j q̇k +
j=1,n j=1,n k=1,n ∂qi
∂M
où : Hijk = 12 ( ∂M ij
∂qk
+ ∂M ik
∂qj
− ∂qjk
i
)
• Système d’équations différentielles du second ordre composé des forces d’inertie,
des forces de Coriolis et centrifuge et les forces dérivant d’un potentiel.
• Equations du mouvement sous une forme vectorielle:

τ = M (q)q̈ + C(q, q̇) + N (q)

- M (q) est la matrice des masses généralisées,


- C(q, q̇) : vecteur des effets de Coriolis et effets centrifuges,
- N (q): vecteur des efforts généralisés de pesanteur et de frottement visqueux.

12.5 Modèle dynamique inverse


La configuration q(t) d’un manipulateur se détermine en résolvant les q̈(t) à partir
de :
M (q)q̈(t) = τ − [C(q, q̇) − N (q)] = τ̄
On peut alors utiliser la factorisation de Cholesky pour déterminer q̈(t):

Lt Lq̈(t) = τ̄

Lt x = τ̄ Lq̈(t) = x
| {z }
q(t) se calcule par intégration numérique :
Z t+h
qit+h = qit + q̇i dt
t
Z t+h
q̇it+h = q̇it + q̈i dt
t
On remplace ensuite les intégrales par des formules dı́ntégration comme les formules
dÁdams-Moulton ou d’autres comme la formule de Newmark.

108
12.6 Modèle dynamique cartésien
On peut procéder à un changement de variables pour écrire les relation entre forces
généralisées et forces cartésiennes. On peut ainsi voir la dynamique de l’ensemble
du système comme rapportée à un objet ”‘virtuel”’ qui aurait instantanément les
mêmes propriétés de masse que celles de l’ensemble du système.
t
τ = J t Fc → Fc = (J −1 ) τ

F = J −t (M (q)q̈ + C(q, q̇) + N (q))


En dérivant la relation :
Ẋ = J q̇
on a :
Ẍ = J q̈ + J˙q̇
L’énergie cinétique peut alors s’écrire en fonction de X comme :
1 t
T = Ẋ t (J −1 ) M (J −1 )Ẋ = Ẋ t Mx Ẋ
2

• Equations du mouvement dans X.

Mx Ẍ + Cx + Nx = Fc
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ème augmenté de SP . Il devient alors très


simple d’ajouter un solide qui serait par exemple manipulé par le système. Les
équations du mouvement du système augmenté sont obtenues par :

(Mx + MS )Ẍ + (Cx + CS ) + (Nx + NS ) = Fc

12.7 Modèle dynamique des systèmes contraints


Lorsqu’il existe une interaction entre l’effecteur et l’environnement et que ce dernier
est contraint par k < n contraintes holonômes indépendantes (voir illustration
figure 52), le paramètrage initial (hors contraites) du système devient surabondant.
Les paramètres initiaux ne sont plus indépendants. Ils faut alors compléter les
équations du mouvement pour tenir compte des relations de contrainte entre les
paramètres. Les relations relatives aux contraintes holonomes s’écrivent sous la
forme :
hi (q) = 0 i = 1, k

109
Figure 52: Robot réalisant une tâche en interaction avec l’environnement

et les relations de contrainte entre les vitesses généralisées sont :


X ∂hi
q̇j = 0 i = 1, k
j=1,n ∂qj
X
Aij (q, t)q̇j = 0 i = 1, k
j=1,n
A(q)q̇ = 0
A(q) ∈ Rk×n
Le complément orthogonal à A (noté S(q)) définit, dans l’espace des variables
généralisées, la base des mouvements indépendants du système.
Les équations du mouvement du système contraint s’écrit en variables non-indépendantes
:
d ∂L ∂L X
τi = ( )−( )− λj Aij i = 1, n
dt ∂ q̇i ∂qi j=1,k
A(q)q̇ = 0
où les λj sont les multiplicateurs de Lagrange, .

• Interprétation des λj :
Les λj peuvent s’interpréter comme les amplitudes relatives des forces de contrainte
selon les directions dans lesquelles le système ne peut se déplacer (i.e les forces
appliquées par le système pour qu’il reste en contact avec la surface de contrainte)
τic =
X
λj Aij i = 1, n
j=1,k

Le modèle dynamique du système contraint par l’interaction avec l’environnement


s’écrit donc :
d ∂L ∂L
τ = ( ) − ( ) − At λ (3)
dt ∂ q̇ ∂q

110
d ∂L ∂L
τ= ( ) − ( ) − Jct fc (4)
dt ∂ q̇ ∂q
d ∂L ∂L
τ + τc = ( ) − ( ) (5)
dt ∂ q̇ ∂q
Jc est ici la Jacobienne des contacts.

• Détermination numérique des λj .


Les forces d’interaction peuvent être déterminées par le calcul à partir de :

Aq̈ + Ȧq̇ = 0

En reportant q̈ dans le modèle dynamique :

AM −1 (τ − C − N ) + AM −1 At λ + Ȧq̇ = 0

si les contraintes sont indépendantes (c’est à dire si la matrice A est de rang plein):

λ = (AM −1 At )−1 (AM −1 (τ − C − N ) + Ȧq̇)

• Réduction du modèle dynamique en quasi-variables


Le modèle dynamique peut être établi en fonction de variables indépendantes en
projetant les équations du mouvement sur la base des mouvements indépendants
S(q). Le vecteur q̇ des vitesses généralisées est relié aux vitesses généralisées
indépendantes par la relation :
q̇ = S(q)u
où S(q) ∈ Rn×m est le complément orthogonal à A(q) :

A(q)S(q) = 0

u représente le vecteur des variables de contrôle qui ne sont pas forcément des
entrées du système, raison pour laquelle on parle de quasi-vitesses ou encore de
pseudo-vitesses. On peut réduire le modèle dynamique pour l’exprimer 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̇ + Ṡ(q)u
En reportant dans l’équation précédente, on a :

S(q)t τ = S(q)t M (q)S(q)u̇ + S(q)t M (q)Ṡ(q)u + S(q)t C(q, u) + S(q)t N (q)

• Méthode de stabilisation de Baumgarte.


Lorsque lon applique les schémas numériques dintégration temporelle en présence

111
de contraintes cinématiques, ces dernières entrainent des instabilités numériques
pouvant amener à la divergence de la solution. Il existe des techniques pour éviter
ces instabilités lors de la résolution. Elles consistent principalement à transformer
le système déquations différentielles algébriques (EDA) en un système déquations
différentielles ordinaires (EDO). Pour assurer la stabilité asymptoptique des con-
traintes, la méthode de Baumgarte propose de remplacer les contraintes géométriques
par une expression équivalente fonction des accélérations. Cette technique, que lon
appelle régularisation des contraintes, sappuie sur la vérification exacte des con-
traintes cinématiques. Elle conduit à une nouvelle expression pour représenter les
contraintes cinématiques dans le système déquations de la dynamique initial qui
est alors transformé sous la forme qui ne fait intervenir que les accélérations.

112
13 Génération de mouvement
Le problème de la génération de mouvement dans la commande d’un robot dépend
du type d’application considéré. Dans un certain nombre de cas, la trajectoire à
suivre peut être définie a priori et n’est pas modifiée lors de son exécution. Dans
d’autres cas, on utilise un capteur pour définir de façon continue la trajectoire à
partir de mesures faites sur l’environnement de travail.
Dans le premier cas, la génération de mouvement détermine donc à partir d’une
configuration initiale comment se rendre à une configuration finale en passant par
des configurations intermédiaires comme illustré sur la figure 53. Elle fournit donc
à chaque période d’échantillonage de la commande les consignes en position soit
dans l’espace opérationnel, soit dans l’espace articulaire.
L’avantage de la première méthode est qu’elle autorise un contrôle de la trajectoire
d e l’effecteur directement dans l’espace géométrique. Elle est mieux adaptée à la
mise en oeuvre de capteurs pour l’adaptation de la trajectoire. La seconde planifie
le mouvement dans l’espace des variables de contrôle. Aussi les contraintes relatives
aux vitesses, accélérations, couples peuvent être directement prises en compte.

Figure 53: Illustration de la génération de mouvement

Dans ce qui suit, on considère que le système est asservi en position comme montré
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: Schéma de principe d’un asservissement en position

- r(t) : fonction d’interpolation telle que r(0) = 0 et r(tf ) = 1


→ Interpolation linéaire du temps (à vitesse constante):

(qf − qi ) t
q(t) = q̇ t + qi = + qi
tf
Cette loi introduit des discontinuités de vitesse.
→ Interpolation polynomiale
Pour satisfaire les contraintes :

q(0) = qi q(tf ) = qf

q̇(0) = qi = 0 q̇(tf ) = 0
on peut utiliser un polynôme cubique :

q(t) = a0 + a1 t + a2 t2 + a3 t3

Vitesse et accélération sont :

q̇(t) = a1 + 2a2 t + 3a3 t2

q̈(t) = 2a2 + 6a3 t


à partir des contraintes, on déduit que :
3 −2
a0 = q0 ; a1 = 0; a2 = 2
(qf − q0 ) a3 = 3 (qf − q0 )
tf tf

→ Interpolation polynomiale avec configurations intermédiaires. Entre 2 configu-


rations consécutitives :
q(0) = q0 q(tf ) = qf
q̇(0) = q̇0 q̇(tf ) = q̇f
Les coefficients du polynôme sont alors :

a0 = q 0

114
a1 = q̇0
3 2 1
a2 = 2
(qf − q0 ) − q̇0 − q̇f
tf tf tf
−2 1
a3 = 3
(qf − q0 ) + 2 (qf + q̇0 )
tf tf
→ Pour satisfaire une continuité C2 (en accélération), la courbe à choisir est une
courbe polynomiale de degré 5.

→ La faiblesse de linterpolation polynômiale, est que lerreur dinterpolation croit


avec le nombre de points à interpoler. Cela se traduit expérimentalement par
de grandes oscillations du polynôme dinterpolation, même si la fonction est très
simple. Doù lidée dinterpoler par des fonctions polynômiales par morceaux (des
splines), dont le degré naugmente pas avec le nombre de points dinterpolation.

→ Interpolation avec profil de vitesse trapézoı̈dal.

Avec q̈(t) = cte, le point qm est tel que : qm = (qf − qi )/2 et tm = tf /2


Par ailleurs :
qm − qc 1
q̈c tc = qc = qi + q̈c t2
tm − tc 2
On a alors :
q̈c t2c − q̈c tc tf + (qf − qi ) = 0
On peut déterminer tc pour tf , qf , qi donnés :
v
1 u t2 q̈c − 4(qf − qi )
u
tf
tc = − t f
2 2 q̈c

L’accélération est contrainte par :


4
kq̈c k ≥ t2f
kqf − qi k

13.2 Trajectoires cartésiennes


• Problème : Définition de la trajectoire à suivre pour se rendre d’une configuration
i f
initiale T0h à une configuration finale T0h dans l’espace cartésien.
• Suivi d’une trajectoire en position La position d’un P peut être décrite sur la
trajectoire Γ à partir de la représentation paramètrique :

0P = f (s)

115
Figure 55: Définition de trajectoires cartésiennes

- s : abscisse curviligne de Γ. s(t) = P0ˆP (t) représente la longueur du parcours.


Sur cette trajectoire, on peut définir un repère mobile de Frenet tel que (en notant
P le vecteur OP ):

dP d2 OP
1
t= n = d2 OP b=t∧n
ds k ds2 k ds2

On peut ainsi définir la rotation du repère de Frenet par la matrice R:

R = [t; n; b]

On définit courbure (K = 1/ρ) et torsion (T ) de la courbe comme :

dt
k k = K = 1/ρ
ds
db
T =k k
ds
Relations de Serret-Frenet :
    
dt/ds 0 K 0 t
 dn/ds  =  −K 0 T n
    

db/ds 0 −T 0 b
Si la loi de temps s(t) est donnée, on a :

d OP d s
vP = Ṗ = = ṡt
ds dt
dt 1
γP = P̈ = s̈t + = s̈t + ṡ2 n
dt ρ

116
Une trajectoire rectiligne entre Pi et Pf est décrite paramètriquement par :
(Pf − Pi )
P (t) = Pi + s(t) (0 ≤ t ≤ tf )
kPf − Pi k
La vitesse et l’accélération sont :

Ṗ = ṡt = (Pf − Pi )
kPf − Pi k

P̈ = s̈t = (Pf − Pi )
kPf − Pi k
Les dérivées par rapport au temps des vecteurs du repère de Frenet sont :
dt dt
= ṡ = ṡK n
dt ds
dn dn
= ṡ = −ṡK t + ṡT b
dt ds
db db
= ṡ = −ṡT n
dt ds
On détermine la vitesse angulaire du repère de Frenet en considérant que :
dt dn db
≡ ω ∧ t = −∆(t)ω ≡ ω ∧ n = −∆(n)ω ≡ ω ∧ t = −∆(b)ω
dt dt dt
et on montre que :
 
ṡK n
1
ω = [∆(t) ∆(n) ∆(b)]  −ṡK t + ṡT b 
 
2
−ṡT n
La vitesse angulaire peut aussi s’écrire en fonction du vecteur de Darboux :

ω = ṡ(T t + K b) = ṡδ

• Suivi du mouvement sphérique Le mouvement de rotation à générer doit perme-


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

d’où :
i t f
Rif (φ, s) = (R0h ) R0h
Pour Rif on peut déterminer l’angle et l’axe 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 être interpolé à l’aide de la fonction r(t) par :
t i
R0h = R0h Rif (r(t)φ, s)
t f
R0h = R0h Rif (−(1 − r(t))φ, s)

Le mouvement de rotation à réaliser peut aussi être obtenu à partir d’une interpo-
lation sur les quaternions qui représentent les différentes configurations angulaires.

On utilise généralement deux trajets distincts, l’un en position, l’autre en orienta-


tion pour tenir compte de l’inhomogenéı̈té physique entre position et orientation
(absence de métrique dans SE(3)). Ces deux trajets sont ensuite reliés par une
fonction de synchronisation donnant la longueur du trajet en orientation en fonc-
tion de la longueur du trajet en position.

118
14 Commande des mouvements

14.1 Commande articulaire en position


Le principe général de commande d’une articulation de manipulateur robotisé est
donné sur la figure 56 Si on considère l’articulation j commandée par un moto-

Figure 56: Principe de commande d’une articulation

réducteur à courant continu dont :


- le rapport de réduction 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 q̈j + τj avec Iaj = Nj2 Jj

La commande articulaire pour l’ensemble du manipulateur peut s’écrire matricielle-


ment :
N Ka Kc u = ((M (q) + N 2 J)q̈ + C(q, q̇) + N (q)
• Commande avec régulateurs simples:
La solution la plus simple pour commander les articulations en position consiste à
utiliser des régulateurs PID locaux. Le schéma de principe d’un tel asservissement
est donné sur la figure 57: La loi de commande est alors :

Figure 57: Shéma de principe d’un PID

119
Z
τc = Kp (qd − q) + Kv (q̇d − q̇) + Ki (qd − q)dt
0,t

et le calcul des gains est fait en considérant le modèle simplifié :


τj = Mjj max q̈j
Mjj max désigne la valeur maximale de la composante Mjj de la matrice d’inertie
(intégrant l’inertie du moto-réducteur). Pour un contrôleur PD avec compensation
de gravité, la commande prend la forme :
Z
τc = N (q) + Kp (qd − q) + Kv (q̇d − q̇) + Ki (qd − q)dt
0,t

A l’équilibre (q̇ = 0; q̈ = 0), on a :


Z
M (q)q̈ + C(q, q̇) + N (q) = N (q) + Kp (qd − q) + Kv (q̇d − q̇) + Ki (qd − q)dt
0,t

La dynamique du système commandé est :


M (q)q̈ + C(q, q̇) + N (q) = q̈ + C(q, q̇) + N (q)
à l’équilibre, on a : Kp (qd − q) = 0
Le systéme est globalement asymptotiquement stable.

14.2 Commande par découplage non-linéaire


(dynamique inverse) pour le suivi de trajectoire.
La dynamique de σ peut être mise sous la forme :
M (q)q̈ + H(q, q̇) = τ
Si positions et vitesses sont mesurables, si on choisit une commande telle que :
τc = M̃ (q)y + H̃(q, q̇)
M̃ , H̃ étant des estimées.
Le système commandé est régi par :
q̇ = y
Si on calcule y comme :
y = q̈d + Kp (qd − q) +Kv (q̇d − q̇)
| {z } | {z }
 ˙

alors la réponse du système commandé est :


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

120
14.3 Commandes cartésiennes
La correction de la position ou du mouvement est faite dans l’espace opérationnel
• Commande en position par un correcteur PD avec compensation de gravité :

τc = J t (q)Kp (Xd − X) − J t (q)Kd Ẋ + N (q)

• Commande par la dynamique inverse :

y = J −1 (q)(Ẋd + Kp (Xd − X) + Kd (Ẋd − Ẋ) − J˙q̇)

121
15 Cinématique des systèmes redondants
Les systèmes robotiques présentent généralement un degré de complexité qui impose
de reconsidérer les techniques de modélisation et de commande de leur comportement.
L’une des dimensions particulières dans la complexité des systèmes est liée au nombre
de leur degré de liberté qui peut induire une redondance/abondance vis-à-vis des tâches
à réaliser.
L’exploitation de la redondance cinématique est le premier des points que nous ex-
aminerons. Cette redondance peut notamment servir à optimiser par la commande le
comportement du système du point de vue de certaines de ses performances. Ce problème
peut être abordé d’un point de vue cinématique ou dynamique selon le type contrôle bas-
niveau mis en oeuvre sur le système. Dans ce qui suit nous considérerons des commandes
de type cinématique.

15.1 Générateur du mouvement, noyau et leurs compléments


orthogonaux et réciproques
La relation entre l’espace des vitesses généralisées et des vitesses opérationnelles est une
application linéaire dont J est la matrice associée. Le produit J q̇ peut être vu comme
une combinaison linéaire des vecteur-colonnes de J. Aussi, on peut définir :
1. Le générateur de l’application définit l’ensemble des vitesses transmissibles par le
système. n o
R(J) = Ẋ ∈ Rm /∃q̇ ∈ Rn Ẋ = J q̇

2. Le complément orthogonal à R(J) constitue l’ensemble des vitesses non-transmissibles.


n o
R(J)⊥ = Ẋ ∈ Rm /∃Ẋ 0 ∈ R(J) Ẋ t Ẋ 0 = 0

3. Le complément réciproque à R(J) définit les actions naturellement transmissibles


n o
R(J)R = Ḟ ∈ Rm /∃Ẋ ∈ R(J) F t Ẋ = 0

4. Le noyau de l’application constitue l’ensemble des articulaires internes.

N (J) = {q̇ ∈ Rn /J q̇ = 0}

5. Le complément orthogonal est l’ensemble des vitesses articulaires qui engendre un


mouvement de l’effecteur.
n o
N (J)⊥ = q̇ ∈ Rn /∃q̇ 0 ∈ N (J) q̇ t q̇ 0 = 0

6. Le complément réciproque au noyau est l’ensemble des couples articulaires qui


produisent une puissance nulle dans le mouvement interne.
n o
N (J)R = τ ∈ Rn /∃q̇ 0 ∈ N (J) τ t q̇ 0 = 0

122
On montre également que :
R(J)⊥ = N (J t )
N (J)⊥ = R(J t )
Cette dualité entre la vitesses et efforts est illustrée sur la figure 58.

Figure 58: Illustration de la dualité vitesse/effort

15.2 Définition de la redondance cinématique


La redondance d’un système mécanique peut être définie du point de vue cinématique.
Lorsque m la dimension de l’espace des déplacements du système, ou si tous les déplacements
ne sont pas imposés par la tâche le nombre de contraintes imposées sur le mouvements
du corps ”‘manipulé”’ est égal à la mobilité cinématique du système, alors la matrice ja-
cobienne J du système est, hors singulatités, une matrice carrée. la solution au problème
cinématique inverse Ẋ = J q̇ (ou différentiel inverse dX = Jdq ) est donnée par :

q̇ = J −1 Ẋ

Pour simplifier les choses, on considérera que la mobilité du mécanisme est directement n
le nombre de liaisons et que le nombre de contraintes est directement égal à la dimension
du groupe des déplacements dans lequel le système évolue (noté d).
Dès lors où le manipulateur est redondant devant la tâche (n > d ou plus généralement
rg(J) > d) alors le problème est sous-déterminé. Il existe une infinité de solutions au
problème cinématique inverse. Le degré de redondance cinématique du système devant
la tâche est :
r = n − dim(R(J)) = dim(N (J))

123
15.3 Analyse du problème de la redondance cinématique
Pour le manipulateur de 3P de la figure 59, si seule la trajectoire du point P est imposée,
le degré de redondance est 1. La Jacobienne de ce manipulateur est :

Figure 59: Manipulateur redondant 3P

1 0 1
 
Jv =
0 1 0

Une base de R(J) est :


1 0
 
R(J) =
0 1
Une base de N (J) est :  
−1
N (J) =  0 


1
dim(N (J)) 6= 0 traduit le fait qu’il existe une possibilité de mouvement interne comme
l’illustre la figure 60. Le complément orthogonal au (N (J))⊥ constitue le sous-espace

Figure 60: Illustration du mouvement interne

des mouvements articulaires réalisant le mouvement δX avec le minimum d’amplitude


δq. Plusieurs méthodes sont envisageables pour résoudre la redondance. Les méthodes
utilisant le modèle cinématique sont les plus générales.

124
15.4 Définition d’un modèle géomètrique inverse
Si on considère que le système est sous asservissement articulaire, l’une des solutions pour
aborder la commande des mouvements est d’utiliser le modèle géométrique inverse afin
de définir les consignes articulaires à partir de la définition de la trajectoire en position
et orientation de l’objet manipulé. Cependant, dans le cas où le système est redondant,
le problème géométrique inverse est dans ce cas sous-déterminé. Il existe par conséquent
une infinité de configurations articulaires pour atteindre une tâche donnée.
Pour traiter la redondance, une solution consiste à introduire des relations supplémentaires
pour traduire un objectif secondaire qui est par exemple d’optimiser une performance
locale. La performance en question peut être représentée par une fonction scalaire con-
tinue notée W (q) en fonction des paramètres généralisés q. On peut alors considérer la
résolution du problème géométrique inverse à partir d’une part du modèle géomètrique
direct X = f (q) et d’autre part par r équations algébriques traduisant un optimum de
la fonction.
La recherche d’un optimum pour W (q) peut être vu comme un problème d’optimisation
sous les contraintes F (q) = (f (q) − X). Ce type de problème peut être abordé à
l’aide des multiplicateurs de Lagrange. Le problème équivaut à minimiser le Lagrangien
L(q) = W (q) + λt F (q), λ ∈ Rm=d étant le vecteur des multiplicateurs de Lagrange.
Ainsi, la solution vérifie à la fois la solution au modèle géométrique et minimise W (q).
Les points stationnaires sont tels que la différentielle de L(q) soit nulle :
!t
∂ L(q) ∂ W (q) ∂ F (q)
= + λ=0
∂q ∂q ∂q
∂ F (q)
- ∂q
∈ Rm×n est la matrice Jacobienne.
∂ W (q)
- ∂q
= ∇W (q) = h ∈ Rn est le vecteur gradient de la fonction W (q)
L’équation précédente peut être ré-écrite :

J tλ + h = 0

ou en partitionnant les m premières lignes et les n − m suivantes :


t
Jm hm
  
λ= (6)
Jn−m hn−m
On peut à partir de ce système de n équations auquel serait joint les m équations issues
du modèle géomtrique direct déterminer l’ensemble des incunnues (les m multiplicateurs
de Lagrange et les n variables articulaires).
On peut également, en s’aidant des m premières équations du système (6), résoudre
les m multiplicateurs de Lagrange.
−1
λ = Jm hm

En substituant dans les n − m équations, on a :


−1
Jn−m Jm hm − hn−m = 0

125
Ces r équations peuvent se mettre sous la forme matricielle :
−1
( Jn−m Jm , In−m ) h = 0
−1
où encore en notant Z = ( Jn−m Jm , In−m )

Zh = 0

Le problème géomètrique inverse pour un système redondant consiste alors à résoudre le


système :

F (q) = 0
Zh = 0 (7)

Ces dernières équations permettent de détemininer complètement les variables articu-


laires.
Pour illustrer cette méthode nous utiliserons l’exemple de la figure 61. Le point P de
ce système de type PR doit se déplacer selon un axe vertical situé à x de l’origine tout
en évitant un obstacle situé à d du 2nd segment.
Le modèle géométrique direct se réduit à :

x = r1 + aCθ2 (8)

La Jacobienne transposée est J t = ( 1 , −aSθ2 ). La redondance du système r = 1.


La distance à l’obstacle est (x − r1 )Sθ2 = dSθ2 . Le problèmme géométrique inverse peut
être posé comme :

−Sθ2 1
   
+λ = 0
dCθ2 aSθ2
r1 + aCθ2 − x = 0 (9)

où encore, à l’aide de la matrice Z :

−Sθ2
 
( −aSθ2 ,1) = 0
dCθ2
r1 + aCθ2 − x = 0 (10)

15.4.1 Solution par la Jacobienne transposée


La commande cinématique d’un système (ici considéré comme arborescent) peut être
réalisée en utilisant directement la jacobienne inverse. Le problème de la redondance est
alors résolu en considérant qu’un torseur de force FExt est appliqué à l’effecteur, cette
dernière cherchant à l’amener sur la position désirée Xd (voir illustration figure 62)
Si cette action extérieure est considérée comme réalisée à travers une raideur :

FExt = K(Xd − X) = K e

126
Figure 61: Illustration du traitement de la redondance par une méthode géométrique

Figure 62: Illustration du principe de commande par Jacobienne inverse

avec K une matrice positive et symétrique d’ élasticité, on peut déterminer la solution q̇


par :
q̇ = J t Ke
Cette méthode présente l’intérêt de traiter directement du problème de la redondance et
des singularités. La solution obtenue est non-exacte mais stable. En effet, le potentiel
élastique du système Φ(e) est tel que Φ(e) > 0∀e 6= 0 et Φ(0) = 0:
1
Φ(e) = et Ke
2
En différentiant par rapport au temps Φ(e) on trouve :
1 1
Φ̇(e) = e˙t Ke + et K ė = et K ė
2 2
et K(Ẋd − Ẋ) = et K Ẋd − et KJ q̇

127
Le choix de q̇ = J t Ke conduit à :

et K Ẋd − et KJJ t Ke

qui pour Xd = cte vérifie :


Φ̇(e) = −et KJJ t Ke < 0
ce qui montre que la convergence vers zéro de la solution est assurée.

15.4.2 Solution par la pseudo-inverse de Moore Penrose


On peut imposer une contrainte supplémentaire pour obtenir une solution au problème
cinématique inverse des systèmes polyarticulés. Pour un système contraint, qui n’a pas
de solution exacte au problème cinématique inverse (système dit incompatible), on peut
par exemple chercher une solution approchée q˙a au sens de la norme Euclidienne et donc
telle qu’elle minimise l’écart :
2 2
J q˙a

− Ẋ = minq̇∈Rn J q̇ − Ẋ

Cette solution, dite aux moindres carrés, est donnée si J est de rang plein en lignes par :

q̇a = (J t J)−1 J t Ẋ
2
La démonstration est simple. Si ρ = J q̇ − Ẋ , alors :

(J q̇ − Ẋ)t (J q̇ − Ẋ) = q̇ t J t J q̇ − 2q̇ t J t Ẋ + Ẋ t Ẋ

Le vecteur q̇ ∗ minimise ρ si et seulement si q̇ ∗ annule ∂ρ / ∂ q̇ = 0. Or :


!t
∂ρ
= 2J t J q̇ − 2J t Ẋ = 0
∂ q̇

. Ce qui conduit à la solution approchée q̇a .


On désigne par l’inverse de Moore Penrose (Fonction pinv() de Matlab ) l’unique solution
(ce qui n’est pas le cas de toutes les inverses généralisées) donnée par J + = (J t J)−1 J t

q˙a = J + Ẋ

J + est aussi dite pseudo-inverse de J dans la mesure où il s’agit pas d’une véritable
inverse. En effet, J + J = In mais JJ + 6= Im .
Pour un système compatible (cela signifie qu’une solution existe). Une solution minimale
pour kq̇k2 (aux moindres carrés) pour Ẋ désiré est obtenue à l’aide 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 l’exemple du manipulateur PPP, la pseudo-inverse de Jv est :
 
1/2 0
Jv+ =  0 1 
 

1/2 0

D’une manière plus générale, si J ∈ Rm×n est de rang r, alors il existe une décomposition
de rang maximal de J sous la forme du produit de 2 matrices F ∈ Rm×r et G ∈ Rr×n .

J =F G

Cette factorisation peut être obtenue par une forme de Smith. Alors,

F + = Gt (F t AGt )−1 F t

En pratique, la factorisation la plus générale et la plus utilisée (car plus robuste d’un
point de vue numérique) est la Décomposition en Valeurs Singulières (que l’on désigne
souvent par son acronyme anglo-saxon ”SVD”, pour ”Singular Value Decomposition”).
Une telle décomposition en valeurs singulières est produite par la fonction svd() de
Matlab. Cette décomposition est absolument générale. Elle est valide si r = inf (m, n)
(c’est à dire, si J est de rang plein) mais également si r < m < n. Dans ce dernier cas,
on utilise une forme dite réduite de la SVD.
D’une manière générale, J pourra être décomposée sous la forme (voir cours NSR 12):

J = U ΣV t = σi ui vit
X

i=1,r

Pour l’exemple du manipulateur PPP, on a :


 
0.7071 0 −0.7071
1 0 1.4142 0 0 
  
Jv = 0 1.0000 0

0 1 0 1.0000 0
 
0.7071 0 0.7071

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


1
J + = V Σ+ U t = vi uti
X

i=1,r σi

avec :
1 1
Σ+ = diag( , . . . , , 0, . . . 0)
σ1 σr
où σ1 , . . . σr sont les valeurs singulières 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
Indifférement des conditions sur le rang de J, cette pseudo-inverse satisfait les 4 pro-
priétés suivantes :
JJ + J = J
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
t +
(J + ) = J t (JJ t )
Par ailleurs :
- si rg(J) = m = n, alors : A+ = A−1
- 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 Décomposition en Valeurs Singulières peut s’interpréter géométriquement de diverses
façons. En considérant J comme la matrice d’une application d Rn dans Rm , si nous
considérons l’ensemble des vecteurs de longueur unité, leurs extrémités forment la sphère
unité (voir illustration ci-dessous 63) de dimension n. On montre que les transformées
de ces vecteurs par J forment un ellipsoı̈de de dimension r dont les directions des axes
principaux sont données par les colonnes de U (et leurs antécédents par les colonnes de
V ). Les longueurs des demi-axes principaux sont les valeurs singulières non nulles de J

Figure 63: Illustration de l’interprétation géométrique de la SVD

• Remarque : La quantité qui est optimisée dans une solution purement cinématique
est :
C = q̇ t q̇
Cette quantité n’a pas forcément de sens physique. Aussi, la pseudo-inverse peut être
pondérée pour optimiser par exemple l’énergie cinétique développée dans le mouvement.
Cette dernière s’écrit :
1
T = q̇ t M (q)q̇
2
M (q) est symétrique et inversible.
Le problème de la minimisation de T dans le mouvement Ẋ = J q̇ peut être posé comme
un problème d’optimisation sous contraintes.
1
min T = q̇ t M (q)q̇
2

130
tel que : Ẋ = J q̇
Une solution classique à ce type de problème peut être déterminée à l’aide des multipli-
cateurs de Lagrange λ, la contrainte étant alors intégrée à la fonction à minimiser sous
la forme :
1
T 0 = q̇ t M (q)q̇ + λt (Ẋ − J q̇)
2
Les multiplicateurs λ peuvent ici être interprétés physiquement comme les quantités de
mouvement à appliquer pour satisfaire Ẋ − J q̇ = 0.
Les paramètres de Lagrange peuvent être déterminés en cherchant les solutions à :
∂T 0
=0
∂ q̇
Ceci conduit au système de n équations suivant:

q̇ t M − λt J = 0 (∗)

En post-multipliant par M −1 J t , ce système se transforme en :

q̇ t J t = λt (JM −1 J t )

Les multiplicateurs λ sont donc tels que :

λt = Ẋ t (JM −1 J t )−1

En reportant dans (∗), on trouve :

q̇ = M −1 J t (JM −1 J t )−1 Ẋ
+
q̇ = JM Ẋ
+
JM est la pseudo-inverse de J pondérée par la matrice d’énergie cinétique du système.

15.5 Homogénéı̈sation de J pour le calcul de la pseudo-inverse


Les termes de JJ t peuvent ne pas être homogènes en dimension. Considérons par exemple
le robot plan PPR dont la Jacobienne serait :
 
0 0 1
J =  1 0 −dSθ3 
 

0 1 dCθ3

Les composantes de JJ t sont :


 
1 −dSθ3 dCθ3
t 2 2 2
JJ =  −dSθ3 (1 + d S θ3 ) −d Sθ3 Cθ3 
 

dCθ3 −d2 Sθ3 Cθ3 (1 + dSθ3 dCθ3 )


Ces composantes sont inhomogènes en dimension.
D’une manière générale, si un système comporte de liaisons de rotation et de translation,

131
Figure 64: Manipulateur PRR pour illustration des problèmes d’inhomogoneı̈té
2
kq̇k2 = q̇ t q̇ conduira à une somme de termes inhomogènes. De même le calcul de Ẋ =

Ẋ t Ẋ est le résultat du produit orthogonal entre torseurs et dépendra du point ou la


vitesse est exprimée et des unités des longueurs.
A titre d’exemple, en considérant le robot de la figure 64, Pour palier ce problème, une
solution consiste à normer les vecteurs Ẋ et q̇ en utilisant par exemple une longueur
caractéristique.
ẊN orm = diag[1, 1, 1, 1/L1 , 1/L1 , 1/L1 ]Ẋ = Nv Ẋ
q̇N orm = diag[a11 , . . . , ann ]q̇ = Nq q̇
avec aii = 1 pour les liaisons rotoı̈des et aii = 1/L2 . La pseudo inverse pondérée de J
est alors égale à :
JN+orm = [Nv JNq−1 ]+

15.6 Méthodes de détermination des mouvements internes


15.6.1 Vecteurs du noyau de J
On peut déterminer un ensemble de vecteurs orthogonaux qui forment une base du noyau
de J(q). Cette base est de dimension n − r. Elle peut être constituée des vecteurs vi
i = r, n issus d’une décomposition en valeurs singulières de J(q) et tel que :
J(q)vi = 0 i = r, n
On vérifie bien pour l’exemple du manipulateur 3P que :
 
−1
1 0 1  0
   
 0 =

0 1 0 0
1
Ainsi, la solution homogène q̇h peut s’exprimer :
X
q̇h = N (J)ẋN = x˙N i vi
i=1,n−r

132
- N (J) ∈ R(n×n−r) est la matrice de regroupant les vecteurs du noyau,
- ẋN ∈ Rn−r est le vecteur des amplitudes des vitesses compatibles avec le mouvement
interne (pseudo-vitesses). On peut exprimer le mouvement interne ẋN comme :

ẋN = V + q̇ = JN q̇

Pour l’exemple du système 3P on a :

JN = ( −1/2 0 1/2 )

15.6.2 Tâche secondaire dans l’espace articulaire


Une méthode consiste à projeter une tâche secondaire sur le noyau de la Jacobienne en
utilisant le projecteur orthogonal (Id − J + J)

q̇h = (Id − J + J) q̇op


| {z }
PN (J)

De manière plus générale, en algèbre linéaire, une projection orthogonale est un pro-
jecteur tel que les deux sous-espaces sont orthogonaux. Le projecteur a pour effet de
supprimer la composante qui influence δX. On a donc :

J q̇h = 0

Le vecteur q̇op ∈ Rn , qui est a priori quelconque, peut servir à optimiser une performance
locale. Il peut être alors déterminer comme :
 ∂φ 
∂q1
 . 
q̇op = α∇φ = α
 
.

 
∂φ
∂qn

- α > 0 conduit à une croissance de φ


- α < 0 conduit à une décroissance de φ
Un exemple de fonction φ pour l’éloignement aux butées est :
X qi − qi moy 2
φ(q) = ( )
i=1,n ∆qi

avec ∆qi = (qimax − qimin )


Un autre exemple de fonction φ est celui qui reflète le conditionnement de la matrice
Jacobienne (voir chapitre quantification des performances).
q
φ(q) = det(JJ t )

On peut aussi construire une fonction φ pour générer un champ de forces (attractives et
répulsives) sur le système.

φirep (q)
X
φ(q) = φatt (q) +
i=1,n

133
ici en considérant un seul potentiel attractif pontuel et un ensemble de n potentiels
répulsifs. Le potentiel attractif peut être :
1 1
φatt (q) = kd2 = k(q(t) − qd )2
2 2
La force qui serait ainsi créée pour ”‘attirer”’ les système vers qd est :

Fatt = −k∇φ(q) = k(q(t) − qd )

Un exemple de champ attractif pour un système 2R est donné sur la figure 65 Un potentiel

Figure 65: Illustration d’un champ attractif

réplusif borné à la distance d0 est le suivant :


1 i 1 1
φirep (q) = krep ( i − )2 si di (q) ≤ d0 ; φirep (q) = 0 si di (q) > d0
2 d (q) d0
Un exemple est donné sur la figure 66
On illustre l’effet du projecteur orthogonal à partir de l’exemple représenté sur la
figure 67 qui considère le problème suivant :
δq1
 
( δx ) = ( −l1 Sθ1 − l2 Sθ12 ; −l2 Sθ12 )
δq2
Le système est une fois redondant vis-à-vis de la tâche. Il est clair que la tâche secondaire
n’est réalisée que partiellement. Par ailleurs, on montre que ce mouvement interne
sans action dissipative peut conduire à un mouvement oscillatoire. Aussi, un terme
d’amortissement peut être introduit pour stabiliser le mouvement.

15.6.3 Tâche secondaire dans l’espace cartésien


Si on introduit une tache primaire :

Ẋ1 = J1 q̇ (1)

134
Figure 66: Illustration d’un champ attractif

Figure 67: Illustration de la partition de l’espace des solutions

135
et une tâche secondaire :
Ẋ2 = J2 q̇ (2)
comme pour un évitement d’obstacle (voir illustration 68)
De (1) on tire :

Figure 68: Illustration de l’évitement d’un obstacle

q̇ = J1+ Ẋ1 + (Id − J1+ J1 )Z1


où Z1 est un vecteur quelconque de Rn .
en substituant dans (2) :

Ẋ2 = J2 J1+ Ẋ1 + J2 (Id − J1+ J1 ) Z1


| {z }
Je2

On détermine alors Z1 comme :

Z1 = Je2+ (Ẋ2 − J2 J1+ Ẋ1 ) − (Id − Je2+ Je2 )Z2

d’où : h i
q̇ = J1+ Ẋ1 + (Id − J1+ J1 ) Je2+ (Ẋ2 − J2 J1+ Ẋ1 ) − (Id − Je2+ Je2 )Z2
Si on ne cherche pas à utiliser les mouvements internes (Z2 = 0):
h i
q̇ = J1+ Ẋ1 + (Id − J1+ J1 ) Je2+ (Ẋ2 − J2 J1+ Ẋ1 )

Compte-tenu des propriétés de la pseudo-inverse, le terme :

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

se réduit à :
(J2 (Id − J1+ J1 ))+ = Je2+
d’où la solution pour q̇ :

q̇ = J1+ Ẋ1 + Je2+ (Ẋ2 − J2 J1+ Ẋ1 )

136
La formulation générale de la solution est :

q̇ = J1+ Ẋ1 + Je2+ (Ẋ2 − J2 J1+ Ẋ1 ) + (Id − J2+ J2 )Z2

Le mouvement défini par Z2 peut alors être réalisé sans interférence avec les 2 premières
tâches. L’interprétation de cette solution est donnée sur la figure 69.

Figure 69: Illustration de la formulation dans l’espace cartésien

Cette méthode permet de réaliser les différentes tâches lorsque celles-ci sont compat-
ibles. Elle conduit a une singulatité algorithmique lorsque les noyaux sont voisins. Le
point d’intersection est alors tel qu’il induit de très grandes vitesses articulaires (voir
figure 70)

15.6.4 Autre formulation de la tâche secondaire


Pour éviter les singularités algorithmiques une formulation alternative conduit à déterminer
la solution pour la tâche secondaire puis à la projeter sur le noyau de J1 . La solution est
alors déterminée par :
q̇ = J1+ Ẋ1 + PN (J1 ) (J2+ Ẋ2 )
Pour des systèmes hautement redondant, on peut imaginer que les tâches soient en
cascade et la soultion déterminée par :

q̇ = J1+ Ẋ1 + PN (J1 ) (J2+ Ẋ2 + P(N (J1 )∩N (J2 )) Z2 )

Le vecteur Z2 est ici projeté sur l’intersection des noyaux de J1 et de J2 pour ne perturber
aucune des deux tâches. L’illsutration de la méthode est donnée sur la figure 71

137
Figure 70: Illustration d’une singularité algorithmique

15.7 Augmentation de l’espace opérationnel


Une autre solution consiste à étendre l’espace opérationnel en ajoutant un objectif
complémentaire à celui de la tâche principal Ẋ qui introduirait rg(J) = n − m con-
traites sur le mouvement. Ces contraintes supplémentaires peuvent être choisies pour
former un système A(q)q̇ = 0. Sur l’exemple de la figure 72 on peut choisir de faire que
le centre de masse généralisée reste sur l’axe de y.
Le vecteur opérationnel se trouve ainsi augmenté d’un certain nombre de contraintes.

X
 
Xe =
Xc

la matrice Jacobienne correspondante devient elle aussi étendue :

J(q)
 
Je (q) =
A(q)

Si le rang de Je (q) est r = m = n, alors on résoud le problème cinématique inverse


comme :
q̇ = Je−1 (q)Ẋe
Une matrice Jacobienne pour le nombre de contraintes ninimum est donné par :

J(q)
 
Je (q) =
JN (q)

Pour éviter d’avoir à fixer le nombre de contraintes requis pour former un système carré
(on peut aussi envisager de former un système sur-déterminé), une alternative qui peut
être préférée consiste à exprimer un objectif secondaire qui serait d’annuler le gradient

138
Figure 71: Illustration de l’utilisation d’une tâche secondaire cartésienne

Figure 72: Augmentation de la Jacobienne pour la coordination posture/tâche

d’une fonction scalaire g(q) et à le projeter sur le N (J). Le vecteur opérationnel est ainsi
: !
X
Xe =
∇gN = N (J)t ∂g∂q
= N (J)t ∇g
La matrice N (J) constituant les vecteurs du noyau de J se détermine notamment à l’aide
d’un SVD :  t
t VR
J = U ΣV = U [ΣR , 0]
VNt
N (J)t = VNt = (n1 , n2 , . . . , nn−m )t
En notant ∇gNi = nti ∇g les composantes augmentées de Xe , on a :

Xe = Je q̇

139
 
X J
 
 ∂
 ∇g  ∂q ∇gN1 
 
 N1   

 . =

 .  q̇

.
 
 .  



∂g
∇gNn−m ∂q
∇gNn−m
La partie augmentée des colonnes de Je pour obtenir une matrice carrée est formée par
deux termes :
∂ ∂ ∂ni t ∂
∇gNi = (nti ∇g) = ∇g + nti ∇g
∂qj ∂qj ∂qj ∂qj
Si l’objectif est d’obtenir un gradient de g nul, on aura donc comme précédemment :

 
q̇ = Je−1 (q)
0
On peut aussi imposer seulement une descente du gradient et on aura alors :

 
q̇ = Je−1 (q)
−α∇gN

On pourra alors omettre le terme ∂qj
∇g dans Je .

15.8 Utilisation de méthodes d’optimisation


La résolution du problème cinématique inverse peut être réalisée à l’aide de méthode
d’optimisation.

15.8.1 Multiplicateurs de Lagrange


Le méthode des multiplicateurs de Lagrange peut être également exploitée. Le problème
sera alors posé sous la forme :
W (q) J q̇ 0
    
=
Jt 0 λ Ẋ
La résolution de ce système d’équation linéaire se fait en particulier à l’aide d’une
décomposition LU .

15.8.2 Programmation linéaire


Dès lors où l’on veut prendre en compte dans la résolution des contraintes d’inégalité
(comme les bornes sur les vitesses articulaires). On peut, lors de la programmation
linéaire, chercher à minimiser la fonction objectif :

L(δ) = K t δ

sous les contraintes linéaires :

δX = Jδq

140
−δ < δq < δ
δ > 0 (11)

Le vecteur K peut être vu comme le vecteur des raideurs articulaires.

l’algorithme du simplexe (Fonction matlab simplex2p ) est pratiquement toujours


plus performant pour résoudre un LP. Les méthodes de point intérieur sont qui perme-
ttent d’évoluer à l’intérieur du polytope des contraintes sont également des méthodes
performantes.

15.9 Détermination des configurations singulières dans les ma-


nipulateurs redondants
Un manipulateur série non-redondant se trouve dans une configuration singulière lorsque
rg(J) < d (dimension de l’espace de tâche). On détermine les configurations singulières
algébriquement en considérant les conditions sur q conduisant à :

det(J) = 0

Pour un manipulateur redondant, le système se trouvera dans une configuration singulière


lorsque le rang de JJ t est modifié. Cependant, une approche algébrique peut être rendue
délicate (voire impossible) du fait de la complexité des termes de JJ t . On peut utiliser
la méthode ”‘géométrique”’ suivante.
On cherche à déterminer le torseur réciproque $R tel que :

$R .$i = 0 ∀i = 1, n

Pour cela, on commence par rechercher les conditions sur $R pour qu’il soit réciproque
à un sous-système :
n o
τcsub = $i ∈ τc , i ∈ {1, . . . , n} ,
X
i=d

Après avoir placé le système dans cette configuration singulière, on cherche ensuite à
identifier les conditions supplémentaires pour que le $R soit également réciproque aux
torseurs cinématiques ”‘redondants”’ à partir des équations :

$R .$j = 0 ∀j = 1, n et j 6= i

On montre dans ce qui suit comment cette technique s’applique à un système PRRR
plan (voir figure 15.9)
La jacobienne écrite en O4 de ce système est :

0 z2 z3 z4
 
J = [$1 , $2 , $3 , $4 ] =
z1 04 02 ∧ z2 04 03 ∧ z3 0

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

141
En reportant dans J Sub on a :
 
1 1 1
J Sub =  −l12 Sθ2

−l2 Sθ2 0
l12 Cθ2 l2 Cθ2 0
Sub
$R = (Cθ2 , Sθ2 , 0)
Sub
$R est aussi réciproque à $1 si :
Sub
$R .$1 = 0
La condition supplémentaire est θ2 = π/2 + kπ

15.10 Passage des singularités


Dans une configuration singulière J(q) n’est plus de rang plein. Sa pseudo-inverse J +
n’st pas définie dans une telle configuration. Aussi, on utilise la pseudo-inverse pondérée
qui est définie de la manière suivante.
Plutôt que de chercher la solution à Ẋ = J q̇ telle que min kq̇k, on détermine q̇ qui
minimise : 2
2
J q̇ − Ẋ + λ2 kq̇k

où λ est une constante non-nulle.


Cette quantité est équivalent à :
J Ẋ 2
   
I λ q̇

d 0
La solution aux moindres carrés est donnée par :
t  t 
J J J Ẋ
   
q̇ =
Id λ Id λ a Id λ 0
que nous pouvons ré-écrire comme :
(J t J + λ2 Id )q̇a = J t Ẋ
On montre que (J t J + λ2 Id ) est non-singulière. En effet, J ∈ Rm×n et λ2 Id ∈ Rn×n et
J
 
son rang est n. Aussi, le rang de = n. La solution aux moindres carrés amortie
Id λ
(Damped Least Square - DLS dans laquelle λ est le facteur d’amortissement) est :
q̇a = (J t J + λ2 Id )−1 J t Ẋ

142
(J t J + λ2 Id )−1 J t = J t (JJ t + λ2 Id )
La solution se ré-écrit :
q̇a = J t (JJ t + λ2 Id )Ẋ
Cette solution est celle donnée par la méthode de Levenberg-Marquardt qui peut être
vue comme une interpolation entre une méthode de Gauss et de descente de gradient.
La valeur du facteur λ peut varier en fonction du résidus.
Une décompostion en valeurs singulières permet de comprendre comment agit la DLS
par rapport à 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

E ∈ Rm×n est une matrice diagonale :


σi
E = diag(eii ) avec eii =
σi2 + λ2

La pseudo-inverse pondérée se calcule de la manière suivante :


σi
J+ = vi ut
X
2
i=1,k σi + λ2 i

Détermination de λ : σ2σ+λi
2 → 0 quand σi → 0 λ doit donc être pris très grand pour
i
maintenir les vitesses angulaires près de la singularité.
Inversement, loin des singularités λ doit rester tel que σi >> λ alors les composantes
σi
σ 2 +λ2
≈ σ1i
i

143