Cours de Mod elisation des Syst emes...

143
. Cours de Mod´ elisation des Syst` emes Robotiques Ph. Bidaud - Philippe.Bidaud@upmc Universit´ e Pierre et Marie Curie Master Sciences de l’Ing´ enieur Sp´ ecialit´ es ”‘Syst` emes Avanc´ es et Robotiques”’ ”Syst` emes Intelligents et Robotiques”

Transcript of Cours de Mod elisation des Syst emes...

Page 1: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

.

Cours de

Modelisation des Systemes Robotiques

Ph. Bidaud - Philippe.Bidaud@upmc

Universite Pierre et Marie Curie

Master Sciences de l’IngenieurSpecialites ”‘Systemes Avances et Robotiques”’ ”Systemes Intelligents et Robotiques”

Page 2: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Objectifs du coursCe cours vise a fournir des methodes de modelisation des systemes robotiques pour leurcommande ainsi que pour l’analyse de leurs performances. On s’interesse dans ce cours aplusieurs types de systemes : des bras de manipulation, des robots mobiles mais aussi ades systemes presentant des architectures particulieres comme les plates-formes de sim-ulation, les robots humanoides, les mains articulees, etc ...

Plan du cours

1. Introduction a la robotique - Principes, structure des systemes et applications.

2. Parametrage et mecanismes - Rotations, transformations, liaisons, equations decontrainte, mobilite, topologie.

3. Modele geometrique - Parametrage de D.H. des transformations, parametrage dessystemes, modele direct des systemes series, avec cycles cinematiques, et paralleles.

4. Resolution du probleme geometrique inverse - systemes analytiques, systemes non-analytiques, systemes paralleles.

5. Transmission cinematique - Vitesse du solide, composition des vitesses, torseurs,systemes de torseurs, modele cinematique direct des systemes series, relationscinematiques dans les cycles, modele cinematique inverse des systemes paralleles.

6. Transmission des efforts - Equilibre des systemes, Principes des travaux virtuels etapplications.

7. Analyse de la transmission cinematique - Singularites dans les chaınes series, sin-gularites dans les chaınes fermees.

8. Resolution des modeles inverses - Cinematique inverse des chaınes series, algo-rithmes de commande en position.

9. Analyse de la transmission des efforts - Systemes isostatiques, systemes hypersta-tiques.

10. Dynamique des systemes : Modele dynamique inverse des systemes series en mou-vement libre, Modele dynamique cartesien, Modele dynamique des systemes con-traints.

11. Commande en position et generation de trajectoires : Trajectoires articulaires,trajectoires cartesiennes, commandes articulaires et commandes cartesiennes.

2

Page 3: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Contents

1 Introduction 61.1 Les Systemes Mecaniques Robotises . . . . . . . . . . . . . . . . . . . . . 61.2 Composants fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Structure d’un SM commande . . . . . . . . . . . . . . . . . . . . . . . . 71.4 Technologie des constituants . . . . . . . . . . . . . . . . . . . . . . . . . 71.5 Exemples de problemes consideres dans le cours . . . . . . . . . . . . . . 8

2 Elements de mathematique 102.1 Algebre des matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2 Vecteurs, torseurs et fonctions vectorielles . . . . . . . . . . . . . . . . . 152.3 Systemes d’equations lineaires . . . . . . . . . . . . . . . . . . . . . . . . 202.4 Notions de groupe et d’algebre des groupes . . . . . . . . . . . . . . . . 21

3 Reperage et Mecanismes 243.1 Reperage d’un corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2 Les liaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3 Parametrage d’un systeme . . . . . . . . . . . . . . . . . . . . . . . . . . 413.4 Representation topologique d’un systeme mecanique Σ . . . . . . . . . . 423.5 Mobilite des mecanismes . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4 Modele geometrique des systemes 464.1 Parametrage de la transformation entre 2 corps adjacents . . . . . . . . . 464.2 Parametrage d’un systeme a l’aide des DH modifies . . . . . . . . . . . . 474.3 Modele geometrique direct des systemes series . . . . . . . . . . . . . . . 484.4 Modele geometrique direct des systemes presentant une chaıne fermee simple 514.5 Modele geometrique direct des systemes paralleles . . . . . . . . . . . . . 52

5 Resolution du PGI 555.1 Systemes series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.2 Systemes paralleles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.3 Identification des parametres geometriques . . . . . . . . . . . . . . . . . 64

5.3.1 Etalonnage des robots series . . . . . . . . . . . . . . . . . . . . . 645.3.2 Etalonnage des robots paralleles . . . . . . . . . . . . . . . . . . . 66

6 Modele cinematique 676.1 Mouvement d’un point . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676.2 Vitesse d’un solide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686.3 Composition de mouvements relatifs . . . . . . . . . . . . . . . . . . . . 706.4 Systeme de torseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716.5 Modele cinematique direct . . . . . . . . . . . . . . . . . . . . . . . . . . 72

7 Transmission des efforts 807.1 Etude de l’equilibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

3

Page 4: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

8 Analyse de la transmission cinematique 868.1 Singularites dans les chaınes series . . . . . . . . . . . . . . . . . . . . . . 868.2 Singularites dans les chaınes fermees . . . . . . . . . . . . . . . . . . . . 878.3 Singularites dans les chaınes paralleles . . . . . . . . . . . . . . . . . . . 89

9 Resolution des modeles inverses 909.1 Cinematique inverse des chaınes series (n = d) . . . . . . . . . . . . . . . 909.2 Systemes series redondants (n > m = d) . . . . . . . . . . . . . . . . . . 929.3 Algorithmes de commande en position . . . . . . . . . . . . . . . . . . . 94

10 Analyse de la transmission des efforts 9510.1 PSI pour un systeme isostatique . . . . . . . . . . . . . . . . . . . . . . 9510.2 PSI pour un systeme hyperstatique . . . . . . . . . . . . . . . . . . . . . 95

11 Dynamique des systemes 9711.1 Acceleration du point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9711.2 Acceleration du solide . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9711.3 Composition des accelerations . . . . . . . . . . . . . . . . . . . . . . . . 9811.4 Geometrie des masses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9811.5 Cinetique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

12 Modele dynamique 10212.1 Equation du mouvement pour un corps seul . . . . . . . . . . . . . . . . 10212.2 Obtention des equations du mouvement relatives aux parametres q pour

un systeme arborescent . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10412.3 Equations du mouvement par application du PTV en dynamique . . . . . 10512.4 Modele dynamique inverse des systemes series . . . . . . . . . . . . . . . 10712.5 Modele dynamique inverse . . . . . . . . . . . . . . . . . . . . . . . . . . 10812.6 Modele dynamique cartesien . . . . . . . . . . . . . . . . . . . . . . . . . 10912.7 Modele dynamique des systemes contraints . . . . . . . . . . . . . . . . . 109

13 Generation de mouvement 11313.1 Trajectoires articulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11313.2 Trajectoires cartesiennes . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

14 Commande des mouvements 11914.1 Commande articulaire en position . . . . . . . . . . . . . . . . . . . . . . 11914.2 Commande par decouplage non-lineaire . . . . . . . . . . . . . . . . . . . 12014.3 Commandes cartesiennes . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

15 Cinematique des systemes redondants 12215.1 Generateur du mouvement, noyau et leurs complements orthogonaux et

reciproques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12215.2 Definition de la redondance cinematique . . . . . . . . . . . . . . . . . . 12315.3 Analyse du probleme de la redondance cinematique . . . . . . . . . . . . 12415.4 Definition d’un modele geometrique inverse . . . . . . . . . . . . . . . . . 125

4

Page 5: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

15.4.1 Solution par la Jacobienne transposee . . . . . . . . . . . . . . . . 12615.4.2 Solution par la pseudo-inverse de Moore Penrose . . . . . . . . . . 128

15.5 Homogeneısation de J pour le calcul de la pseudo-inverse . . . . . . . . . 13115.6 Methodes de determination des mouvements internes . . . . . . . . . . . 132

15.6.1 Vecteurs du noyau de J . . . . . . . . . . . . . . . . . . . . . . . 13215.6.2 Tache secondaire dans l’espace articulaire . . . . . . . . . . . . . 13315.6.3 Tache secondaire dans l’espace cartesien . . . . . . . . . . . . . . 13415.6.4 Autre formulation de la tache secondaire . . . . . . . . . . . . . . 137

15.7 Augmentation de l’espace operationnel . . . . . . . . . . . . . . . . . . . 13815.8 Utilisation de methodes d’optimisation . . . . . . . . . . . . . . . . . . . 140

15.8.1 Multiplicateurs de Lagrange . . . . . . . . . . . . . . . . . . . . . 14015.8.2 Programmation lineaire . . . . . . . . . . . . . . . . . . . . . . . 140

15.9 Determination des configurations singulieres dans les manipulateurs re-dondants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

15.10Passage des singularites . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

5

Page 6: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

1 Introduction

1.1 Les Systemes Mecaniques Robotises

Les systemes robotiques interessent de tres nombreux domaines civils et militaires. Lesgrands champs d’application de la robotique sont :

1. La production manufacturiere (usinage, assemblage, soudure, polissage, formage,etc . . .)

2. Les interventions en milieux hostiles (sous-marin, nucleaire, exploration planetaire,etc . . .)

3. Les systemes de transport des biens et des personnes (vehicules intelligents, robotsmobiles, etc . . .)

4. L’aide et l’assistance aux personnes (robots personnels, aides techniques, etc . . .)

5. Les nombreux domaines de la sante (chirurgie, re-education, etc . . .)

6. Le ludique (robots jouets )

Ils prennent des formes tres diverses du point de vue de leur structure mecanique et deleur commande. Plusieurs types de robots ”‘generiques”’ sont illustres sur les figures quisuivent.

Figure 1: Robot humanoide - Robot serie de type SCARA - Robot serie anthropomorphe

Figure 2: Fauteuil equipe d’un bras - Robot chirurgical - Deambulateur/Verticalisateur

6

Page 7: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 3: Main articulee - Robot chien - Robot hexapode

1.2 Composants fonctionnels

Les composants fonctionnels qui constituent la base d’un systeme robotise sont :

• Mecanismes: Systeme de corps articules disposant d’une haute mobilite

• Actionneurs: Generateurs d’actions mecaniques pour mettre le mecanisme en mou-vement

• Capteurs: Mesure de l’etat du systeme mecanique et extraction d’informationsrelatives a la tache et l’environnement dans lequel elle est realisee

• Systeme de controle: Ensemble electronique pour la commande des actions a partird’informations capteurs

• Interface de programmation: Systeme de communication entre l’operateur et lamachine ou entre les machines (Interface graphique, interface de teleoperation,language structure, etc . . . )

1.3 Structure d’un SM commande

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

1.4 Technologie des constituants

Les elements technologiques sur la base desquels les systemes robotiques sont elaborespeuvent etre classes plusieurs grandes categories :

• Mecanismes: Corps rigides articules par des liaisons mecaniques selon differentestopologies.

• Actionneurs: Convertisseur d’energie primaire en energie mecanique (actionneurselectriques, pneumatiques, hydrauliques, piezo-electriques, AFM, electro-statiques).

• Capteurs: Capteurs d’etat (position, vitesse, acceleration), capteurs exteroceptifs(force, vision, telemetrie, tactile, sonores, . . . ),

7

Page 8: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 4: Architecture generale d’un systeme robotique

• Controleurs: Regulateurs d’energie primaire, calculateurs temps-reel + OS, in-terfaces capteurs (traitement du signal et numerisation), bus de communication(VME, CAN, Internet),

• IHM: Langage symbolique, langage structure, COA robotique, controle d’executionet d’aide a la decision, interfaces de teleoperation.

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

1.5 Exemples de problemes consideres dans le cours

1. Description geometrique des systemes et de leur environnement

2. Modele geometrique direct

3. Probleme geometrique inverse

4. Modele cinematique

5. Probleme cinematique inverse

6. Commande en position et en effort

7. Commande dynamique

8. Generation de trajectoires

.

8

Page 9: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 5: Architecture de commande d’un robot industriel

9

Page 10: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

.

2 Elements de mathematique

2.1 Algebre des matrices

• MatricesUne matrice a m lignes et n colonnes (m × n) est un tableau rectangulaire de m ligneset n colonnes regroupant les coefficients d’une application lineaire. Une matrice A peutetre ecrite sous la forme :

A = (aij) =

a11 a12 . . . a1n

a21 a22 . . . a2n

. . . . . . . . .am1 am2 . . . amn

• Transposee d’une matrice

La transposee d’une matrice A (m× n) est une matice notee At (n×m) et telle que:

At =

a11 a21 . . . am1

a12 a22 . . . am2

. . . . . . . . .a1n a2n . . . amn

Proprietes : (At)t = A, (A+B)t = At +Bt, (BA)t = AtBt

• Trace d’une matriceLa trace d’une matrice carree A = (aij) est la somme des coefficients de la diagonale deA. On ecrit tr(A) =

∑i=1,n aii ou n est l’ordre de A.

Proprietes :tr(A+B) = tr(A) + tr(B),

tr(λA) = (A).tr(AB) = tr(BA).On definit 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 a une base de E. On la note tr(f).Le resultat ne depend pas de la base de E choisie car, entre deux matrices A et Brepresentant f , il existe une relation du type B = PAP−1 avec P inversible et, d’apresla propriete precedente, on a : tr(A) = tr(PAP−1) = tr(B).

Ainsi, la trace d’un endomorphisme est, comme son determinant, un nombre qui nedepend pas de la matrice representant l’endomorphisme.

Exemple :Une rotation d’angle θ du plan euclidien a pour matrice :

R =

(cos θ − sin θsin θ cos θ

)

Sa trace est 2 cos θ. Par consequent, si une rotation d’angle θ inconnue a pour matriceR par rapport a une base, on a 2 cos θ = (R).

10

Page 11: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• Matrices diagonalesUne matrice A telle que ses aij = 0 si i 6= j est une matrice diagonale. On note une tellematrice :

A = diag ( a11 a22, . . . )

Une matrice identite (Id) est une matrice diagonale avec comme elements non-nuls 1.• Matrices symetriquesUne matrice est symetrique si elle est egale a sa transposee:

A = At

aij = aji ∀i, j

• Matrices anti-symetriquesUne matrice est anti-symetrique si elle est egale a l’opposee de sa transposee.

A = −At

aij = −aji ⇒ aii = 0 ∀i, j

• Matrices orthogonalesUne matrice A (n× n) est dite orthogonale si:

AAt = AtA = Id

alors: At = AtAA−1 = IdA−1 = A−1

Proprietes: det(A) = ±1, les valeurs propres sont λ1 = 1, λ2,3 = e±iθ, le vecteur propreassocie a λ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 z0Xp

YpZp

=

(x1.x0) (y1.x0) (z1.x0)(x1.y0) (y1.y0) (z1.y0)(x1.z0) (y1.z0) (z1.z0)

xpypzp

P = A p

Les vecteurs-colonnes de A sont orthogonaux et unitaires.• Determinant d’une matriceLe determinant d’une matrice n× n est le scalaire defini par :

|A | =

∣∣∣∣∣∣∣∣∣a11 a12 . . . ann. . . . . . . . . . . .. . . . . . . . . . . .an1 an2 . . . ann

∣∣∣∣∣∣∣∣∣|A | =

∑j=1,n

aijCij =∑j=1,n

aij(−1)i+jMij

11

Page 12: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

- Cij : est le cofacteur de l’element aij ≡ mineur d’ordre (n− 1) obtenu en supprimantla ligne i et la colonne j dans |A |.• Norme d’une matriceLa norme la plus usuelle pour les matrices est la norme de Frobenius definie comme :

‖A‖ =√ ∑i=1,m

∑j=1,n

a2ij

• Inversion d’une matriceSi la matrice carreeA est reguliere (i.e. ses vecteurs-colonnes sont lineairement independants),il existe une matrice inverse A−1 unique telle que :

AA−1 = A−1A = Id

A−1 est definie comme :

A−1 =Ct|A |

Numeriquement, ce mode de calcul est peu efficace et donc pas utilise. Ct est la matriceadjointe de A (transposee des cofacteurs Cij de A).

Proprietes : (A−1)t

= (At)−1

; (AB)−1 = B−1A−1

• Inverse generalisee (pseudo-inverse de Moore-Penrose)La notion d’inverse generalisee (ou pseudo-inverse) generalise celle dinverse dune appli-cation lineaire ou dune matrice aux cas non inversibles. En general, il ny a pas unicitede cette inverse generalisee. Pour une matrice a coefficients reels ou complexes nonnecessairement carree, il existe une unique pseudo-inverse satisfaisant certaines condi-tions supplementaires appelee pseudo-inverse de Moore-Penrose. Elle peut etre calculeede differentes manieres. Lorsque la marice A n’est plus carree:si A est une matrice (m× n), n > m et si rg(A) = m:

A+g = At(AAt)−1

A+g A = Id ∈ Rn×n

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

A+d = (AtA)−1At

AA+d = Id ∈ Rm×m

La pseudo-inverse donne une solution approchee a un systeme lineaire au sens des moin-dres carres :Les solutions a un systeme d’equations lineaires :

A x = b

obtenues par la pseudo-inverse seront donc telles que :- si m > n, la solution approchee x = A+b est telle que min ‖x− A+b‖2

12

Page 13: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

La pseudo-inverse a la propriete qui est que pour un vecteur z arbitraire:

A(1d − A+A)z = 0

(1d − A+A) projette un vecteur arbitraire z ∈ Rn arbitraire dans le noyau de A N(A)• Diagonalisation d’une matriceLa diagonalisation d’une matrice reguliere (n× n) A :

A = SDS−1

AS = SD ; S−1AS = D

Exemple :

A =(

2 11 2

)λ1 = 1 λ2 = 3

A =(

1 1−1 1

)(1 00 3

)(1/2 −1/21/2 1/2

)Si on divise S par

√2 (et multiplie S−1 par

√2) .

A =(

1/√

2 1/√

2−1/√

2 1/√

2

)(1 00 3

)(√2/2 −

√2/2√

2/2√

2/2

)Si A est symetrique, S−1 = St

• Decomposition LULa decomposition LU est une methode de decomposition d’une matrice en une matricetriangulaire inferieure L et une matrice triangulaire superieure U. Cette decompositionest utilisee pour l’inversion de matrices.Si A une matrice inversible, la matrice A peut etre decomposee comme :

A = LU

L =

1l21 1...

.... . .

ln1 ln2 · · · 1

et

U =

u11 u12 · · · u1n

u22 · · · u2n. . . un−1,n

unn

• Factorisation de CholeskyLa factorisation de Cholesky consiste pour une matrice symetrique definie positive A, adeterminer une matrice triangulaire inferieure L telle que

A = LLtT

13

Page 14: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

La matrice L est en quelque sorte une racine carree de A. Cette decomposition permetnotamment de calculer la matrice inverse A−1.

• Decomposition en Valeurs Singulieres (SVD)Considerons la matrice A ∈ Rm×n, le nombre σ est une valeur singuliere pour A s’ilexiste un vecteur u ∈ Rm et un vecteur v ∈ Rn tels que :

A v = σu et Atu = σv

u et v etant designes respectivement vecteurs singuliers a gauche et a droite.La matrice A ∈ Rm×n de rang r etre factorisee sous la forme :

A = UΣV t

A = Um×mΣm×nVtn×n

A = [U1, U2](

Σ1r×r 00 0

)(V t

1

V t2

) |r × n|r × (n− r)

A =∑i=1,r

σiuivti

- U ∈ Rm×m et V ∈ Rn×n sont des matrices orthogonales.

La matrice Σ = [Σ1 00 0

] avec Σ1 = diag[σij] telle que σij = 0 pour tout i 6= j et

σ11 ≥ σ22 ≥ σ33 ≥ ......σrr > σr+1r+1 = σpp = 0 ou p = min(m,n)- σii ≡ σi sont les racines carrees des valeurs propres de AAt

σi =√AtA

- U et V sont constituees des vecteurs propres respectivement de AAt et AtALes colonnes de V correspondantes aux valeurs singulieres nulles engendrent le noyaude la matrice A, les autres colonnes correspondantes aux valeurs singulieres non-nullesengendrent l’espace image de A.

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

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

Les valeurs singuleres contiennent l’information ”metrique” sur la transformation. L’imagedu cercle unite par A est un ellipsoide dont la longueur des demi-axes principaux corre-spondent aux valeurs singulieres maximale et minimale :

σmax = maxu6=0

‖Au‖‖u‖

σmin = minu6=0

‖Au‖‖u‖

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

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

14

Page 15: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

avec :

Σ+ =

[Σ−1

1 r×r 00 0

]• Exponentielle d’une matriceL’exponentielle d’une matrice carree est definie comme :

exp(A) =n=∞∑n=0

An

n!= 1 + A+

A2

2!+ . . .+

An

n!

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

• Methodes iteratives d’inversionLorsque le probleme est mal conditionne, les solutions iteratives successives limitent lapropagation des erreurs et pour des problemes a nombre important de variables elles sesubstituent avantageusement aux autres Par contre, la question de la vitesse de conver-gence consitute un probleme central. Parmi ces methodes :

- La methode de Jacobi qui peut sappliquer si les elements diagonaux de la matriceA sont non nuls,

- la methode alternative de Gauss-Siedel dont la convergence est plus rapide,- les methodes de sur-relaxation,- generalized minimum residuals (GMRES) pour des matrices non symetriques de

tres grande dimension,- etc.

• Differentiation d’une matrice A.SoitA une matrice (n×m) dont les composantes sont des fonctions de q = (q1(t), . . . , qk(t)).La derivee par rapport au temps de A est :

A =d A

dt=

∂A

∂ q1

d q1

dt+ . . .+

∂A

∂ qk

d qkdt

=∑i=1,k

∂ A

∂qi

d qidt

A =∂A

∂ q

d q

dt≡ matrice(m× n× k)

2.2 Vecteurs, torseurs et fonctions vectorielles

• VecteursUn vecteur a n-dimensions est un ensemble de scalaires (ici souvent des reels):

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

Les xi sont les composantes du vecteur dans une base.→ Un vecteur (vecteur libre) est un element d’un espace vectoriel (V).

15

Page 16: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

→ Un vecteur lie est un couple forme par un point P ∈ E et un vecteur (libre) u ∈ V .→ Un vecteur glissant (P, u) est l’ensemble des vecteurs lies (Q, u) definis par PQ =λu, λ ∈ R. C’est une classe d’equivalence de vecteurs lies.• Un systeme de vecteurs est dit lineairement independant si:∑

i=1,n

λiui = 0 λi ∈ R entraıne λi = 0 ∀i

•Un systeme de vecteurs lies est un ensemble fini de vecteurs lies (P1, u1), (P2, u2), . . . (Pn, un).Cet ensemble de vecteurs defini un champ de vecteurs lies.• Moment d’un vecteurLe moment d’un vecteur lie (P, u) est le champ vectoriel defini par:

Q −→MQ = QP ∧ u

Le moment ne change pas si l’on remplace (P, u) par un autre vecteur lie appartenantau meme vecteur glissant par exemple (P ′, u) :

MQ(P ′, u) = (QP + PP ′) ∧ u = MQ(P, u)

Si l’on considere un point Q′, on trouve :

MQ′(P, u) = (Q′Q+QP ) ∧ u = Q′Q ∧ u+MQ(P, u)

Cette relation definit un champ vectoriel particulier qui est dit champ de moments• Resultante et Moment resultantOn appelle resultante d’un systeme de vecteurs lies le vecteur libre :

R =∑i=1,n

ui

On appelle moment resultant d’une famille de vecteurs lies le champ :

Q −→MQ =∑i=1,n

QPi ∧ ui

Le point Q est le centre de reduction et MQ la valeur du champ en Q.• Produit scalaireLe produit scalaire de 2 vecteurs de dimension n a = (a1, a2, . . . , an)t et b = (b1, b2, . . . , bn)t

est la quantite scalaire definie par :

a.b = atb = ( a1, a2, . . . an )

b1

b2

. . .bn

= a1b1 + . . .+ anbn

• Norme EuclidienneLa norme Euclidienne d’un vecteur est le reel:

(a.a)1/2 = (ata)1/2 = (a1.a1 + a2.a2 + . . .+ an.an)1/2

16

Page 17: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• Produit vectorielLe 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 formepar les vecteurs a, b et defini par :

c = a ∧ b =

i j ka1 a2 a3

b1 b2 b3

= (a2b3 − a3b2)i+ (a3b1 − a1b3)j + (a1b2 − a2b1)k

Il peut etre aussi represente par :

a ∧ b = ( a2b3 − a3b2a3b1 − a1b3a1b2 − a2b1 ) =

0 −a3 a2

a3 0 −a1

−a2 a1 0

b1

b2

b3

= ab

a est une matrice antisymetrique :at = −a

Notons que si a et b sont lineairement dependant a ∧ b = ab = 0Le double produit vectoriel s’ecrit :

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

• Produit mixteLe produit mixte entre 3 vecteurs est le scalaire defini comme :

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

Il se calcule simplement par le determinant :

(a, b, c) =

∣∣∣∣∣∣∣a1 a2 a3

b1 b2 b3

c1 c2 c3

∣∣∣∣∣∣∣Par permutation circulaire des colonnes du determinant on a :

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

La condition pour que 3 vecteurs soient lineairement dependants est que :

(a, b, c) 6= 0

• TorseursUn torseur T de l’espace physique de dimension 3 est forme par un couple (R, MP )(vecteur; champ vectoriel antisymetrique).MP repond a la loi :

∀P,Q ∈ E3 MP = MQ + PQ ∧R∃ un point H tel que : R ∧MH = 0

OH =R ∧MO

R2+ kR k ∈ ‖R

17

Page 18: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

→ droite axe central du torseur.→ pour k = 0, OH0 = R∧MO

R2

- Interpretation pour un torseur de vitesse∃ un axe tel que le mouvement de S se reduit a un vissage (vH ∧ ω = 0; vH = λω)

vo = v‖ + v⊥ = λv +OH ∧ ω

- Interpretation pour un torseur de force

mo = m‖ +m⊥ = λf +OH ∧ f• Torseurs particuliers:→Un glisseur est un torseur qui admet comme representant un vecteur glissant (l’invariantscalaire est nul)

G(R,MQ) R = u; MQ = QP ∧ usi (kP, u) est un vecteur lie.→ Un couple est un torseur de resultante nulle

C(0,M)

Un couple peut etre represente par deux vecteurs lies (P1, R1) (P2,−R1)

M = MQ = QP1 ∧R1 +QP2 ∧ −R1 = P1P2 ∧R1

• Decomposition d’un torseurUn torseur, sans restriction sur R et MQ se decompose en un point P arbitraire en uncouple + un glisseur.

T = GP (R,O) + C(0,MP )

Le moment en un autre point Q est MQ = MP +QP ∧R• Egalite de deux torseursDeux torseurs T1 et T2 sont egaux si :

R1 = R2; ∀A ∈ E3 M1A = M2A

• SommeLa somme de 2 torseurs est un torseur :

T12 = T1 + T2 = (R1 +R2;M1A +M2A)

• Produit reciproqueLe produit reciproque (comoment) de 2 torseurs est le scalaire (independant du point ouon le calcule):

T1 • T2 = R1.M2A +R2.M1A

• Derivation vectorielleLa derivee du vecteur OM(t) fixe dans Bi est le vecteur :

d(i) OM(t)

dt=d xi(t)

dtxi +

d yi(t)

dtyi +

d zi(t)

dtzi = xi(t)xi + yi(t)yi + zi(t)zi

18

Page 19: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

La derivee de la fonction vectorielle u(t) par rapport a Bi, Bj etant mobile par rapporta Bi.

d(i) u(t)

dt=d(j) u(t)

dt+ ω

(i)j ∧ u(t)

• Differentiation d’une fonction scalaireLa derivee de la fonction y = f(x) est :

f ′(x0) = limx→x0f(x)− f(x0)

x− x0

La differentielle de la fonction f(x) est :

df(x) = f ′(x)dx

Regle de calcul des differentielles :

d(fg) = (fg)′dx = f ′gdx+ fg′dx = gdf + fdg

Si on considere une fonction f de plusieurs variables reelles (x, y), la differentielle de lafonction est :

df =∂f

∂xdx+

∂f

∂ydy

Le gradient de la fonction scalaire f qui depend d’un ensemble de variables q = (q1, . . . , qn)en un point q est le vecteur :

∇f(q) =

∂f∂q1

(q)...

∂f∂qn

(q)

Pour une fonction qui depend d’un ensemble de variables q et du temps :(q1, . . . , qn, t),

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

ou les qi sont des fonctions du temps t.

d f

dt=∂f

∂q1

d q1

dt+∂f

∂q2

d q2

dt+ . . .+

∂f

∂qn

d qndt

+∂f

∂t

d f

dt= ( ∂f

∂q1

∂f∂q2

. . . ∂f∂qn

)

d q1dtd q2dt

. . .d qndt

d f

dt=∂f

∂q

d q

dt

Si l’on considere plusieurs fonctions du meme type que la precedente:

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

19

Page 20: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

f2 = f2(q1, . . . , qn)

... = ....................

fm = fm(q1, . . . , qn)

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

d F

dt=∂ F

∂q

d q

dt

ou:

∂ F

∂q=

∂f1∂q1

∂f1∂q2

. . . ∂f1∂qn

∂f2∂q1

∂f2∂q2

. . . ∂f2∂qn

. . . . . . . . . . . .∂fm∂q1

∂fm∂q2

. . . ∂fm∂qn

2.3 Systemes d’equations lineaires

• Applications lineairesUne application f (i.e. une transformation) entre deux espaces vectoriels E et F est ditelineaire 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 lineaire f peut etre representee par lamatrice A (m× n) :

f : x→ y /y = f(x)

[y]BV = A[x]BU

Le produit Ax peut etre vu comme une combinaison des vecteurs-colonnes de A.

Exemple, si A =(

2 34 1

)x =

(12

):

A(

12

)= x1

(24

)+ x2

(41

)• Generateur et noyauLe noyau N(A) est le sous-espace vectoriel:

N(A) = x/x ∈ Rn;Ax = 0

Le generateur d’une application est le sous-espace vectoriel:

R(A) = y/y ∈ Rm;Ax = y;x ∈ Rn

• Rang d’une application lineaire et d’une matriceLa dimension de f = dim(Im f) est le rang de l’application lineaire. Si A est la matriceassociee a f , on a:

dim(Im f) = dim(R(A)) = rg(A)

Le rang deA est egal au nombre maximum de vecteurs-colonnes lineairement independants.• Si f est une application lineaire d’un espace vectoriel E vers un autre E ′, on a la relationsuivante :

dim(E) = dim(R(A)) + dim(N(A))

20

Page 21: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

2.4 Notions de groupe et d’algebre des groupes

• Definition d’un groupeUn groupe est un ensemble G muni d’une operation interne (), c’est a dire une operationlineaire de G × G → G telle que l’image de deux de ces elements (g1, g2) est (g1 g2).Cette operation doit presenter les proprietes suivantes :

1. associativite : ∀g1, g2, g3 : (g1 g2) g3 = g1 (g2 g3)

2. existence d’un element 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 del’addition usuelle qui forme ) le groupe note (Z,+).

• Groupes de Lie

La notion de groupe de Lie realise la synthese des structures de groupe et de varietedifferentielle. Elle permet l’usage conjoint d’operations de l’algebre et du calcul differentiel.Un groupe de Lie de dimension n est donc une variete differentiable munie d’une struc-ture de groupe. La dimension d’un groupe de Lie est, par definition, sa dimension en tantque variete. Une variete est un ensemble qui a les proprietes d’une surface en geometrieclassique. Les exemples de groupes de Lie sont nombreux. Il a ete montre en partic-ulier que le groupe des isometries directes qui represente transformations finies des corpsrigides possede une structure de groupe de Lie de dimension 6.

• Algebres de Lie - Espace tangent comme algebre de LieUne algebre de Lie G est un espace vectoriel muni d’une application (loi de compositioninterne appelee crochet de Lie) de G × G dans G et qui a x, y ∈ G associe [x, y] et quiverifie les trois proprietes suivantes:

1. [., .] est bilineraire,

2. [x, y] = −[y, x] pour tout ∀x, y

3. x, [y, z]] + [y, [z, x]] + [z, [x, y]] = 0 ∀x, y, z

21

Page 22: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Les algebres de Lie sont naturellement associees aux groupes de Lie. Si G est un groupede Lie et eg son element neutre, alors l’espace tangent en eg a G est une algebre de LieG. Reciproquement, on peut sous certaines conditions reconstruire un groupe de Lie enpartant de son algebre de Lie.

On montre que l’algebre de Lie des generateurs de transformations infinitesimalespeut etre associe aux transformations finies des solides. Ainsi des sous-groupes dedeplacements peuvent etre a partir de la fonction exponentielle des algebres de Lie destorseurs.Les relations etablies a travers un ensemble de theoremes entre un groupe de Lie etson algebre constitue un point essentiel. Elles permettent des deductions qui, partantde propriete des groupes ou de sous-groupes, permettent d’aboutir a des proprietes deson algebre ou des sous-algebres a travers le calcul differentiel. A l’inverse, il est beau-coup plus difficile de d’etablir par integration des proprietes (globales) sur les groupesen remontant a partir de l’algebre (de proprietes locales).

• Representation adjointeUn outil important pour letude des algebres de Lie est la notion de representation par ladonnee d’un espace vectoriel et d’un morphisme de groupe. Tout groupe de Lie connexe Gadmet une representation naturelle, appelee representation adjointe dont l’introductionest liee a la definition de son algebre de Lie Le goupe de Lie G a ainsi sa representationdans son propre algebre qui est definie par l’application :

AdG(h) = [g, h] = G h G−1

L’action adjointe de SO(3) sur son propre algebre so(3) se calcule comme 1:

ω′ = RωRt

avec :

ω =

0 −ωz ωyωz 0 ωx−ωy ωx 0

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

R =

rt1

rt2rt3

On peut alors calculer facilement :

RωRt = R (ω ∧ r1 | ω ∧ r2 | ω ∧ r3 ) = Rω

L’action adjointe de SE(3) sur son propre algebre se(3) est definie a partir del’operateur tangent a la trajectoire comme :(

ω v0 0

)′=(R d0 1

)(ω v0 0

)(Rt −Rt d0 1

)=(RωRt R v −RωRt d

0 0

)1SO(3) et so(3) sont comme SE(3) et se(3) sont definis plus loin

22

Page 23: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

On peut egalement definir cette action sur les composantes du torseur associe :(ωv

)′= Ad(T )

(ωv

)=(R 0d R R

)(ωv

)• Representation coadjointeDe la representation adjointe Ad on deduit naturellement une representation de G dansl’espace dual g∗. Par definition, cette representation coadjointe de G dans g∗ est uneapplication lineaire definie par :

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

L’action coadjointe de SE(3) sur le dual de l’algebre de Lie se(3) (note se(3)∗) est definiea l’aide de l’operateur Ad∗G sur les composantes d’un torseur :

(wv

)′= Ad∗G(T )

(ωv

)=(Rt d Rt

0 Rt

)(ωv

)• Application exponentielle d’un groupe de Lie.L’application exponentielle d’un groupe de Lie etablit une relation entre les elementsdu groupe et les elements de son algebre de Lie. L’exponentielle permet de reconstituersous la forme de developpement limite le groupe au voisinage de l’element neutre et partranslation au voisinage de n’importe quel autre element.L’exponentielle du groupe des rotations SO(3) est etroitement lie a la description d’unerotation par son axe et son angle. Elle est introduite a partir de cette representation auchapitre suivant.

23

Page 24: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

3 Reperage et Mecanismes

3.1 Reperage d’un corps

Pour introduire le reperage d’un corps, on lui attache un repere RS.→ un repere R∫ est forme par une origine Os et une base B(xs, ys, zs).

Figure 6: Reperage d’un corps dans l’espace

→ un parametrage peut etre introduit sous par un vecteur positionO0OS et une representationde l’orientation de la base ( soit au total 6 parametres independants, 3 dans le plan)→ Les coordonnees dans R0 d’un point P = (xP , yP , zP )t de S sont:XP

YPZP

= R

xPyPzP

+O0OS

XP

YPZP

=

x0.xS x0.yS x0.zSy0.xS y0.yS y0.zSz0.xS z0.yS z0.zS

xPyPzP

+

x0.O0OS

y0.O0OS

z0.O0OS

P = R p + d

→ Pour deux points P, Q ∈ S : ‖ P −Q ‖=‖ p− q ‖

‖ P −Q ‖= [(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 =‖ p− q ‖ ⇒ RRt = Id

On montre egalement que :

RRtR = IdR = RId ⇒ RRt = RtR = Id

• Rotation planeOn appelle groupe orthogonal de degre n du corps K le groupe des matrices orthogonalesn × n a coefficients dans K, muni de la multiplication matricielle. Il est note O(n,K).Cest un sous-groupe du groupe general lineaire GL(n,K). Rappelons que toute matriceorthogonale a un determinant egal a 1 ou −1. Les matrices orthogonales n × n dedeterminant 1 forment un sous-groupe invariant de O(n,K) appele le groupe ”‘SpecialOrthogonal”’ et note SO(n,K). SO(n,R) definit l’espace des matrices de rotation Rn×n

SO(n,R) = SO(n) =R ∈ Rn×n : RRt = RtR = Id, detR = +1

24

Page 25: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

SO(n) est un groupe algebrique. SO(3) est le groupe des rotations dans R3.- L’element neutre est la matrice identite Id ∈ R3×3.- L’inverse R−1 = Rt

- L’operation de multiplication dans ce groupe est asociative : (R1R2)R3 = R1(R2R3)

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

La matrice de rotation R sert egalement a representer la transformation subit par unpoint dans un deplacement de rotation. Nous introduirons plus loin differents parametragespour cette transformation.Cette tranformation est une transformation rigide. Elle preserve l’invariance de la dis-tance entre deux points. Si p,q et P,Q sont les vecteurs des cooordonnees de 2 pointsd’un espace Euclidien E3 apres :

‖Rq −Rp‖ = (Rq −Rp)t(Rq −Rp) = (q − p)tRtR(q − p) = ‖q − p‖ ∀P,Q ∈ E3

Elle preserve egalement l’orientation :

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

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

Rφ =(

cos(φ) − sin(φ)sin(φ) cos(φ)

)Un vecteur V de composantes [x; y] a pour transforme le vecteur V ′ de composantes(x′; y′) que l’on peut calculer avec :(

x′

y′

)=(

cosφ − sinφsinφ cosφ

)(xy

)On a :

x′ = x cosφ− y sinφ

y′ = x sinφ+ y cosφ

Ce changement de coordonnees peut etre ecrit avec des nombres complexes :

x′ + i y′ = (cosφ+ i sinφ)(x+ i y)

ou encore :x′ + i y′ = e iφ(x+ i y) = e iφ · c

• Representation de la rotation dans l’espace→ Rotation simplePour une rotation d’angle α autour de z (Rz0,α):

25

Page 26: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 7: Rotation simple

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

x1.x0 y1.x0 z1.x0

x1.y0 y1.y0 z1.y0

x1.z0 y1.z0 z1.z0

D’une maniere generale, les coordonnees d’un point P sont transformees par la rotation:

P0 = R01 P1

Dans l’espace 3D, la matrice de rotation R01 associee a cette transformation est :

R01 = [x01|y01|z01] =

r11 r12 r13

r21 r22 r23

r31 r32 r33

=

cosα −sinα 0sinα cosα 0

0 0 1

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

Figure 8: Rotation simple

r21j + r2

2j + r23j = 1 j = 1, 2, 3

xt01y01 = yt01z01 = zt01x01

26

Page 27: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Aussi, la dimension de SO(3) est 3.Inversement : P1 = Rt

01P0

On verifie que :Rz,φ+θ = Rz,φRz,θ

Rz,0 = Id

→ Composition de rotations finies dans l’espaceSi on fait subir au vecteur OP (note Pi dans le repere Ri) deux rotations successives apartir des reperes courants, on a :

P1 = R12P2

P0 = R01P1 = R02P2 = R01R12P2

Les rotations finies ne peuvent pas etre representees par des vecteurs car non-commutatives(voir figure ci-dessous).

Figure 9: Composition de rotations autour d’axes de reperes mobiles

→ La composition des rotations exprimee a partir d’axes mobiles dans le repere dereference s’effectue par une post-multiplication des matrices de rotation.

R0n = R01R12R23 . . . R(n−1)n

→ Une trajectoire de rotation peut etre vue comme une sequence continue de rotations:

R(t) : t→ SO(3)

Pour differents instants, la loi de composition du groupe des rotations conduit a :

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

→ Angles d’Euler3 rotations consecutives autour de 3 axes mobiles qui coincident au depart avec R1.- une rotation d’angle φ autour de z1 ≡ z2 (Rz1,φ). La matrice de passage du repere R1

27

Page 28: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 10: Composition de rotations autour d’axes de reperes mobiles

au repere R2 est :

R12 =

Cφ −Sφ 0Sφ Cφ 00 0 1

- une rotation d’angle θ autour de l’axe x2 ≡ x3 (Rx2,φ). La matrice de passage du repereR2 au repere R3 est :

R23 =

1 0 00 Cθ −Sθ0 Sθ Cθ

- une rotation d’angle ψ autour de z3 ≡ z4 (Rz3,φ). La matrice de passage du repere R3

au repere R4 est :

R34 =

Cψ −Sψ 0Sψ Cψ 00 0 1

La matrice de rotation qui definie le passage de la configuration angulaire de S apres ces3 rotations % par rapport a R1 est :

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

(CφCψ − SφCθSψ) (−CφSψ − SφCθCψ) (SφSθ)(SφCψ + CφCθSψ) (−SφSψ + CφCθCψ) (−CφSθ)

SθSψ SθCψ Cθ

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

En dehors de cette singularite, les angles φ, θ, ψ peuvent etre obtenus en fonction descomposantes de la matrice de rotation a l’aide de la fonction atan2(u, v). Cette fonctionutilise les signes de ses arguments u, v pour determiner le quadrant de la solution :

x = atan2(u, v) =

tan−1(u/v) si v > 0tan−1(u/v) + πsign(u) si v < 0π/2sign(v) si v = 0

Ainsi, si θ 6= 0 et θ 6= π on a :

θ = atan2(√r2

31, r232, r33)

ψ = atan2(r31, r32)

φ = atan2(r13, r23)

28

Page 29: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Si θ = 0 ou si θ = π, alors :

(ψ + φ) = atan2(r11, r21)

Les angles de Bryant sont une variante des angles d’Euler. Cependant il s’agit derotations autour d’axes fixes.→ Rotations autour d’axes fixesUn autre parametrage possible de la rotation d’un corps conduit a introduire 3 rotationsautour des axes d’un repere fixe. Pour composer les rotations on effectue alors une pre-multiplication des matrices de rotation. Si on considere l’exemple de la figure ci-dessousou on fait subir au vecteur OP (note Pi dans le repere Ri) deux rotations successives φet θpar rapport aux axes y0 et z0 du repere R0, on a :

P0 = Ry0,φP1 = R01P1

P1 = Ry0,−φRz0,θRy0,φP2

Alors :P0 = Ry0,φ[Ry0,−φRz0,θRy0,φ]P2 = R12R01P2

Ainsi, la composition des rotation de Roulis-Tangage-Lacet (Roll-Pitch-Yaw sur la fig-ure), conduit a :

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

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

→ Parametres de RodriguesUne rotation peut etre egalement introduite sous la forme d’un axe L de vecteur directeurs autour duquel se ferait une rotation d’un angle φ. On peut alors ecrire la matrice Rdirectement en fonction de s et φ.

Si on considere la rotation autour de la droite L (de vecteur directeur s) qui transformele point P en P ′ apres la rotation φ comme montre sur la figure. Le vecteur directeur del’axe de rotation peut etre determine en considerant les coordonnees X des points laissesinvariants par la rotation qui sont tels que :

RX = X

En posant le probleme comme un probleme aux valeurs propres, les valeurs propres λ deR sont telles que :

RX = λX

29

Page 30: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 12: Representation d’une rotation par un axe+angle

et les solutions autres que X = 0 sont donnees par :

det(RX − λX) = 0

En developpant, on trouve comme polynome caracteristique :

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

Ce polynome admet comme racines :

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

On note e le vecteur propre associe a la valeur propre λ1 = 1, les points de l’axe L sonttels que :

L = k e k ∈ R

Les deux autres vecteurs propres forment le plan π perpendiculaire a l’axe de rotation.L’angle de rotation φ est :

φ =1

2(arcos(tr(R)− 1))

→ Formule de Cayley:La formule de Cayley permet de definir les composantes du vecteur e.

e = ( e1, e2, e3 )t

Les ei sont les parametres de Rodrigues. Elle peuvent etre mis sous forme d’une matriceanti-symetrique E = e.

30

Page 31: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

La formule de Caley est obtenue en considerant la conservation des distances dans latransformation de P en P ′, on a :

P ′ − P = RP − P = (R− 1)P

P ′ + P = RP + P = (R + 1)P

Si (R + 1) est non-singuliere, alors :

P = (R + 1)−1(P ′ + P )

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

E transforme un vecteur u en un vecteur orthogonal.

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

Inversement si (1− E) non-singuliere:

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

E R + E −R + 1 = 0

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

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

On verifie que le vecteur e est un vecteur de l’axe de rotation en considerant que lespoints de coordonnees X qui restent invariants dans la rotation :

RX = (1− E)−1(1 + E)X = X

(1− E)(1− E)−1(1 + E)X = (1− E)X

(1 + E)X − (1− E)X = 2E X = 2eX = 0

Les vecteurs e et x doivent pour cela etre colineaires ou paralleles. En developpant R enfonction des parametres de Rodriques a l’aide de la formule de Cayley, on obtient :

R =1

(1 + e21 − e2

2 − e23) 2(e1e2 − e3) 2(e1e3 + e2)

2(e1e2 + e3) (1− e21 + e2

2 − e23) 2(e2e3 − e1)

2(e1e3 − e2) 2(e2e3 + e1) (1− e21 − e2

2 + e23)

avec ∆ = (1 + e2

1 + e22 + e2

3)On peut egalement montrer que :

‖e‖ = tgφ

2

La formule de d’Olinde-Rodrigues permet de definir une rotation vectorielle autourd’un axe quelconque. Soit OP un vecteur subissant une rotation d’angle θ autour d’unaxe de vecteur unitaire s comme montre sur la figure avant. Le vecteur OP ′ obtenu aprescette rotation de OP peut etre deduit d’un raisonnement geometrique. Si on note :

OP ′ = OQ+QP ′

31

Page 32: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

avec :- OQ = (p.s) s- QP ′ = cosφ QP + sinφ QP ′′

- QP ′′ = s ∧ (QO +OP ) = s ∧ p = S p- QP = −s ∧QP ′′ = −s ∧ (s ∧ p) = −S2p

p′ = [Id + (1− cosφ)S2 + sinφS]p, p′ = R(s, φ) p

ici S est l’operateur : x→ s ∧ x :

S =

0 −sz sysz 0 −sx−sy sx 0

A partir de cette representation d’une rotation, on introduit les quaternions de norme 1qui constituent une forme compacte de parametrage des rotations. Cette representationest particulierement bien adaptee a l’interpolation en rotation par sa simplicite (on ma-nipule des vecteurs de dimension 4) et par le fait que, contrairement a l’interpolation surles representations par des systemes d’angles, les proprietes de R sont conservees (pasbesoin de refaire la normalisation et l’orthogonalisation des matrices !).

Un quaternion de rotation est sous la forme d’un element de R4 q = (q1, q2, q3, q4)t etest tel que ‖q‖ = 1 (3 parametres independants) avec :

q =

q0

q1

q2

q3

=

(cos(φ/2)sxsin(φ/2)sysin(φ/2)szsin(φ/2)

On l’ecrit egalement sous la forme d’un couple forme du reel a et du vecteur ~v de R3

dont les coordonnees sont (b, c, d).

q = (a , ~v)

Cette notation permet de definir la somme et le produit (non commutatif) de la faconsuivante :

q1 + q2 = (a1 , ~v1) + (a2 , ~v2) = (a1 + a2 , ~v1 + ~v2)

q1 · q2 = (a1a2 − ~v1 • ~v2 , a1v2 + a2v1 + ~v1 ∧ ~v2)

Elle permet aussi de definir les 3 notions suivantes : -

• le conjugue d’un quaternion : q = (a , −~v),

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

• la norme d’un quaternion : ‖q‖ =√q • q =

√q.q = (q.q)

12 = (a2 + ~v · ~v)

12 =

(a2 + ‖~v‖2)12

32

Page 33: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

La tranformation d’un vecteur ~u en ~u′ par une rotation definie par le quaternion q s’ecrit:

~u′ = q · ~u · q

La matrice de rotation correspondant a ce quaternion q = (q0, q1, q2, q3) est :

R =

(q0q0 + q1q1 − q2q2 − q3q3) 2(q1q2 − q0q3) 2(q1q3 + q0q2)2(q2q1 + q0q3) (q0q0 − q1q1 + q2q2 − q3q3) 2(q2q3 − q0q1)2(q3q1 − q0q2) 2(q3q2 + q0q1) (q0q0 − q1q1 − q2q2 + q3q3)

La composition de deux rotations correspond au produit des quaternions associes. In-versement, on determine l’axe et l’angle a partir du quaternion par :

cos(φ/2) = q0 sin(φ/2) =√q2

1 + q22 + q2

3

s = 1/√q2

1 + q22 + q2

3

q1

q2

q3

→ Coordonnees exponentielles d’une rotation :Pour une rotation θ autour de l’axe de vecteur unitaire s, on a :

ω = θs

La matrice de rotation R peut s’ecrire comme :

R = esθ =k=∞∑k=0

1

k!(sθ)k

Les puissances de ω etant periodiques :

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

La serie infinie se reduit a un polynone d’ordre 2 en ω et :

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

On verifie que e[θs] est bien une matrice de rotation ([eθs]−1 = [eθs]t) et det[eθs] = +1.

33

Page 34: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• Transformations homogenes:Un deplacement n’est pas une transformation lineaire (ce n’est pas une fonction additive).Par exemple:

D(x+ y) = x+ y + d 6= D(x) +D(y)

→ 6 ∃ une matrice associee a D.Un point P peut etre represente par ses coordonnees homogenes ecrites usuellementcomme (x, y, z, w) (un vecteur de dimension n + 1 pour pour un point de E3). Cescoordonnees homogenes peuvent etre utilisees pour appliquer des transformations a unpoint 3D telles que les changements de deplacements, les rotations, les translations, leshomotheties, les projections. Ces transformations sont alors representees sous la formed’une matrice 4×4. Si w = 1, les coordonnees du point P notees (XP , YP , ZP , 1) apres undeplacement D dans Rn+1 seront liees aux coordonnees (xp, yp, zp, 1) de ce meme pointavant deplacment par la relation :

XP

YPZP1

=(R3×3 d3×1

0 1

)xpypzp1

Figure 13: Representation d’un deplacement de solide rigide

(P1

)=(R d0 1

)(p1

) (P1

)= T

(p1

)Les deplacements dans Rn forment un groupe, appele groupe des deplacements Euclidiens(note SE(n) : Special Euclidan Group). Un element T de SE(n) est defini par unerotation R ∈ SO(n) et une translation d ∈ Rn.

SE(n) = T =(

Rn×n dn×1

0 1

);R ∈ SO(n) ; p ∈ Rn

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

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

34

Page 35: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

• Composition de 2 deplacements

Figure 14: Composition de 2 transformations

La composition de 2 deplacements est un deplacement :

T02 = T01T12(P0

1

)=(R01 d01

0 1

)(R12 d12

0 1

)(P2

1

)=(R01R12 R01d12 + d01

0 1

)(P2

1

)

• l’element neutre est : Te =(

1 00 1

)• l’inverse est : T−1 =

(Rt −Rtd0 1

)

3.2 Les liaisons

Les liaisons imposent des contraintes sur les mouvements relatifs des solides. Ces con-traintes s’expriment par des equations algebriques entre les parametres de configurationdes corps incidents et traduisent les conditions geometriques du contact. D’une manieregenerale, une liaison se traduit par des egalites ou des inegalites entre les parametres dusysteme, les vitesses generalisees et dans certains cas le temps. Symboliquement, on noteces relations :

hj(q, q, t) = 0 ou hj(q, q, t) ≥ 0 j = 1, k

ou k est le degre de la liaison.Les liaisons peuvent etre classees de plusieurs manieres. On distingue generalement :

• les liaisons bilaterales : h(q, q, t) = 0Une liaisons entre 2 solides est bilaterale si le contact existe dans toutes les positionspossibles du systeme.

• les liaisons unilaterales : h(q, q, t) ≥ 0.Si la liaisons entre les solides n’existe que dans certaines positions, la liaison estdite unilaterale.

35

Page 36: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• les liaisons dependantes du temps (rheonomes) (∂h/∂t 6= 0) : h(q, q, t) = 0L’eventuelle dependance par rapport au temps d’une liaison vient necessairementd’obstacles mobiles dont la position connue a priori depend explicitement du temps.

• les liaisons independantes du temps (scleronomes) ((∂h/∂t = 0) : h(q, q) = 0

• les liaisons holonomes : h(q, t) = 0Les liaisons sont dites holonomes (ou geometriques) lorsque les solides ne sontastreints comme nous verrons juste apres qu’a des conditions geometiques.

• les liaisons non-holonomes : h(q, q, t) = 0Lorsqu’en plus des conditions geometriques s’ajoutent des conditions cinematiques(a travers les vitesses generalisees), les liaisons sont dites non-holonomes.

• Liaisons holonomesA titre d’exemple de liaison holonome, nous considerons le cas des liaisons de rotationet de translation dans le plan.- Liaison de rotation (dans le plan):

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

Les points geometriques des deux solides restant en coincidence, on a :

(Pi)R0 = (Pj)R0

Oi +R0iPi −Oj −R0jPj = 0

ou encore sous une forme matricielle :(Oix

Oiy

)+(Cθi −SθiSθi Cθi

)(PixPiy

)−(Ojx

Ojy

)+(Cθj −SθjSθj Cθj

)(PjxPjy

)=(

00

)

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

Page 37: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

avec : (Pi − Pj)R0 = (Oi +R0iPi −Oj −R0jPj)et :(Pi −Qi)R0 = R0i(Pi −Qi)

Ces relations scalaires refletent les contraintes mecaniques imposees sur le deplacementrelatif des 2 corps lies par la liaison.

Pour une liaison d’indice i, le nombre de ces contraintes (satisfaites par les effortsd’interaction entre les corps) est note ui. ui represente donc egalement la dimension dutorseur 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 lescorps k et l peut etre defini par un torseur complementaire reciproque Tc(Sk/Sl) a cedernier et donc tel que :

Ts(Sk/Sl) • Tc(Sk/Sl) = 0

ki = dim(Tc(Sk/Sl)) designe le degre de la liaison. (i.e. nombre de degres de liberte).

D’une maniere generale les liaisons holonomes introduisent u relations de contraintedu type hj(q,t) j = 1, u; q = (q1, q2, . . . , qn)

h(q, t) ≥ 0

Ces equations de liaison traduisent la dependance des parametres de configuration. Sicelles-ci sont independantes et regulieres (l’application q → h(q) est de rang plein, alorsle parametrage est strict. Dans ce cas particulier, un parametrage surabondant intro-duisant n parametres pourra etre reduit a p parametres independants (n > p).

• Representation des liaisons simples et complexes par leur groupe de deplacement.Il existe de nombreux types de liaisons geometiques. Les liaisons sont generalementclassees en liaisons simples et liaisons complexes. Parmi les liaisons simples, on distingueles liaisons de rotation (R), les liaisons de translation (ou prismatiques P), les liaionscylindriques (C), plan (E), et spheriques (S). Notons que les 3 dernieres peuvent etreobtenues par combinaison des 2 premieres qui sont dites liaisons elementaires. Ceci severifie directement en utilisant la loi de composition du groupe des deplacements (noncontraints) SE(n). La figure 16 illustre 2 decompositions equivalentes d’une liaisonspherique.Les mouvements entre deux solides contraints par l’une ou l’autre de ces liaisions forment

Figure 16: Decomposition d’une liaison spherique

37

Page 38: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

un sous-groupe de SE(n). Une liste de ces sous-groupes figure dans le tableau ci-dessous.Si le sous-groupe G1 est contenu dans le sous-groupe G2, la relation est indiquee comme :

E identiteD(u) Translation de vecteur uR(A, u ) Rotation autour de l’axe u passant par AH(A, u , p) Vissage d’axe u passant par AT (Pl) Translation parallele au plan PlC(A,u) Mouvement cylindrique suivant u passant par AT Translation dans l’espaceS(A) Rotation spherique autour du point AD Deplacement general 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 cinematique serie dans laquelle les solides i, i + 1, i + 2, . . . , i + j sontrelies par les liaisons k = i, i+ 1, i+ 2, . . . , i+ j− 1, en considerant le mouvement relatifde la liaisons k decrit par le sous-groupe Gk, le deplacement relatif des solides i et i+j estdecrit par le sous-groupe Bi+ji ( genere par la liaison equivalente ) obtenu par le produitdes deplacements relatifs introduits par les laisions.

Bi+ji =i+j−1∏i

Gk

La dimension de ce generateur sera au plus egal a :

dim(Bi+ji ) =i+j−1∑i

dim(Gk)− dim(G1 ∩ G2 ∩ . . . ∩ Gi+j−1)

Pour des mecanismes paralleles comme ceux representes sur la figure 17, la dimensiondu generateur du mouvement relatif de la plate-forme mobile (SP ) par rapport au corpsfixe (S0) qui sont reliees par N chemins series est:

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

• Liaisons non-holonomesLorsqu’en plus des conditions geometriques de contact les solides sont astreints a k

38

Page 39: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 17: Mecanismes paralleles equivalents cinematiquement

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

39

Page 40: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

conditions cinenatiques, on parle alors de l’existence de liaisons non-holonomes. Ellessont de la forme :

f(q, q, t) = 0

Une liaison non-holonome necessite une liaison holonome traduisant le contact. Unexemple typique de liaison non-holonome est celui d’une roue qui roule sans glisser surun plan. La vitesse de glissement dans R0 du point IS1 dans le mouvement relatif de S2

par rapport a S1 est:U = I tS1

− I tS2U ∈ plan tangent

Si on introduit comme parametres du systeme l’ensemble q = (x, y, θ), si le glissementlateral de la roue est empeche, on introduit pour traduire cette contrainte une relationentre les derivees par rapport au temps des parametres qui est :

f1 = sin θx− cos θy = 0

(sin θ ,− cos θ , 0)

xyθ

= 0

Les k relations de contraintes peuvent alors etre mises sous la forme d’un systemed’equations differentielles ordinaires :

A(q)q = 0

Un tel systeme est dit pfaffien puisqu’il est constitue dun ensemble fini de formes derivees(differentielles) de degre 1.Les mouvements compatibles avec les contraintes sont tels que :

AN(A) = 0

ici :

N(A) =

cos θ 0sin θ 0

0 1

Les derivees par rapport au temps des parametres de configuration q de la roue peuvents’exprimer en fonction des pseudo-vitesses independantes : q1

q2

q3

=

cos θ 0sin θ 0

0 1

(u1

u2

)u1, u2 ∈ R

Ces contraintes peuvent etre representees dans l’espace des configurations de la roue (voirfigure 19).

Une liaison est dite non-holonomes si les k contraintes cinematiques ne sont pasintegrables (transformables en contraintes geometriques). L’integrabilite des contraintesse traduit par le fait qu’il existe des fonctions scalaires fi telles que :

d fi(q(t))

dt=

∑j=1,k

∂fi(q(t))

∂qjqj =

∂fi(q)

∂qq = A(q(t))q = 0

40

Page 41: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 19: Representation de l’espace des configurations

3.3 Parametrage d’un systeme

Parametrer un systeme robotique, c’est choisir une famille de nombres reels appelesparametres pour definir sa poisition dans son espace d’evolution. D’une maniere plusgenerale, c’est choisir un atlas (une carte pour des mouvements locaux) de son espacede configuration. Les systemes consideres ici sont constitues de corps rigides. Aussi, uneposition de reference etant choisie, l’ensemble des positions du systeme est en bijectionavec le groupe de deplacement de l’ensemble du systeme.

Pour un solide unique, l’ensemble des positions se deduit par une isometrie, c’est a direpar un deplacement. Dans l’espace physique de dimension 3, le groupe des deplacements(SE(3)) est de dimension 6 (respectivement 2 pour SE(2). L’ensemble des positions esten bijection avec ce groupe.• Parametres d’un systeme Σ = S1, S2, . . . , Sb :Parametrer Σ, c’est associer a toutes ses configurations une famille de parametres q. Ladimension de l’espace des configurations est pour un systeme de b− 1 solides en mouve-ments libres (1 solide est souvent considere comme fixe sauf dans le cas particulier dessystemes 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 systeme de b solides a n liaisons holonomes independantes, la dimension dusous-espace des configurations est dans :- l’espace (SE(3)) → dim(q) = 6(b− 1)−∑i=1,n ui- le plan (SE(2)) → dim(q) = 3(b− 1)−∑i=1,n uiLa dimension de l’espace des configurations d’un systeme holonome est egal a sa mobilite:

m = d ∗ (b− 1)−∑i=1,n

ui

m est le nombre de degres de liberte du systeme.La mobilite d’un systeme holonome est egale a la dimension de l’espace des configura-tions du systeme. m, le parametre de mobilite generale d’un tel systeme represente lenombre de parametres a priori independants necessaires pour definir la configuration de

41

Page 42: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

l’ensenble des corps du systeme par rapport a n’importe quel corps du systeme (pas uncorps particulier !!).

La dimension de l’espace de configuration d’un systeme comportant des liaisons non-holonomes est egale est definie par celle des liaisons holonomes. Sa mobilite est egale ala dimension de l’espace des configurations du systeme moins le nombre de contraintescinematiques. La mobilite represente alors les capacites de mouvement instantane dusysteme.→ un parametrage strict (i.e. minimum) du systeme utilise p = m parametres.→ un parametrage surabondant utilise p > m parametres.L’usage d’un type ou l’autre de parametrage depend du probleme pose.

3.4 Representation topologique d’un systeme mecanique Σ

Une representation symbolique de l’arrangement des corps et des liaisons d’un mecanismeest donnee par le graphe non-oriente (graphe de connexion) associe au systeme.Par convention dans un tel graphe :- les noeuds representent les corps,- les arcs representent les liaisons.

• Exemple de l’Hexarobot

Figure 20: Schema cinematique et graphe associe de l’hexarobot

• Terminologie des graphes- le degre d’un sommet est le nombre d’aretes qui lui sont incidentes- un chemin constitue une suite de corps (sommets) adjacents (relies pas un arc).- un cycle (un circuit) est un chemin dont tous les sommets sont distincts qui debute etse termine sur le meme corps.- un cycle est dit elementaire ssi il est minimal, a savoir si on ne peut deduire un autrecycle par suppression d’arcs et si il ne comporte pas d’autres cycles.- la dimension de la base de cycles est donnee par ν = (n− b+ 1)- un graphe est connexe si chaque paire de sommets est reliee par une chaıne.- Les composantes connexes d’un graphe sont constituees des classes d’equivalence de

42

Page 43: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

Notons que la connectivite des corps se represente tres directement par une matriced’adjacence dont les composantes non-nulles peuvent egalement servir a differentier lestypes de liaison.

• Topologies particulieres :Un tres grand nombre de systemes robotiques, les systemes de manipulation robotisesnotamment, forment des structures acycliques (arborescentes) que nous designerons parsystemes series.D’autres structures particulieres prennent la formes de chemins disposes en paralleles(pouvant comporter des cycles internes) entre deux sommets particuliers (deux poles).Nous les designerons par systemes paralleles.

Figure 21: Robot a topologie serie - Robot a topologie parallele

3.5 Mobilite des mecanismes

• La notion de mobilite peut-etre etendue a tout mecanisme constitue de (b − 1) corpsmobiles et n liaisons binaires. L’indice de mobilite d’un mecanisme se determine de lafacon suivante :

m = d(b− 1)−∑i=1,n

ui

- d: dimension de l’espace dans lequel le mecanisme evolue (d = 3, 6)- ui: nombre de contraintes sur les mouvements relatifs dans la ieme liaison ui = (d−ki)- ki: classe cinematique de la ieme liaison.

m = d(b− 1)−∑i=1,n

(d− ki) = −d(n− b+ 1) +∑i=1,n

ki

m =∑i=1,n

ki − dν = Ic − Ec

- Ic : nombre d’inconnues cinematiques dans les liaisons du mecanisme- Ec : nombre d’equations scalaires de contraintes (qui forme le systeme homogene

43

Page 44: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

• Interpretation- m, l’indice de mobilite est un entier relatif. Il ne reflete que la topologie du systemeet represente le nombre de parametres a priori necessaires pour fixer la configuration detous les corps du mecanisme relativement les uns les autres. Celle mobilite peut etrerepartie comme l’illustre l’exemple de la figure 22.

Figure 22: Mecanisme a mobilite repartie

- m > 0 le mecanisme presente une mobilite. Le nombre de parametres de configura-tion est m.- m = 0 le mecanisme est bloque ≡ structure.- m < 0 le mecanisme est bloque et hyperstatique.- m = mu + mi : la mobilite totale d’un mecanisme peut par l’analyse parfois faireapparaıtre une mobilite interne. La theorie des mecanismes seule ne permet pas de fairecette distinction.

• Hyperstatisme

h = −d(b− 1) +∑i=1,n

ui = −Es + Is

- Es : nombre d’equations scalaires traduisant l’equilibre statique (dynamique) de (b−1)corps.- Is : nombre d’inconnues statiques (dynamiques) de liaison.• Les indices de mobilite et d’hyperstatisme verifient la relation :

m+ h = 0

• m et h ne refletent que la topologie du mecanisme. Une etude des systemes d’equationsassocies permet de mettre en evidence la mobilite reelle des mecanismes et leur degred’hyperstaticite. La mobilite reelle d’un mecanisme est :

mr = Ic − rg(Ec)

La mobilite d’un mecanisme peut etre augmentee (d’un ou de plusieurs degres) du fait departicularites geometriques entre les axes geometriques des liaisons. Cette modification

44

Page 45: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

peut etre permanente ou ”‘locale”’.La mobilite reelle du mecanisme represente sur la figure ?? est par exemple gale a 3alors que sa mobilite generale est nulle. Les particularites geometiques entre les axes deslaisions (les axes des liaisons de chaque chemin sont pralleles) liberent des contraintes.

Figure 23: Manipulateur parallele 3CRR

Pour un mecanisme presentant une ou plusieurs chaınes fermees, sa mobilite peutaussi etre determinee par :

mr = dim(N(A(q))

Pour l’exemple de la figure 24, dim(N(A(q)) = 1On notera que la mobilite (au sens de cet indice) d’un systeme serie n’est jamais modifiee.

Figure 24: Mobilite d’un systeme bielle/manivelle

On interprete les singularites comme des points stationnaires dans la transmission desmouvements articulaires.De facon analogue, l’hyperstaticite reelle d’un mecanisme est :

hr = Is − rg(Es)

On demontre par ailleurs que :m = mr − hr

45

Page 46: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

4 Modele geometrique des systemes

4.1 Parametrage de la transformation entre 2 corps adjacents

Plusieurs types de parametrage peuvent etre utilises pour decrire la geometrie des systemesseries. Le parametrage selon la convention introduite par Denavit et Hartenberg est leplus repandu. Il existe des variantes de ce parametrage. Celle que nous suivrons est diteconvention de Denavit Hartenberg (DH) modifiee.• Convention de DH modifiee→ Les liaisons de Si definissent 2 axes dans Ri (∆i,∆i+1)Le repere Ri associe au solide Si est defini de la maniere suivante :

Figure 25: Definition des parametres de DH modifies

→ l’axe zi du repere Ri est colineaire a ∆i

→ l’axe xi est la ⊥ commune a zi et zi+1

si zi et zi+1 sont ‖ ou colineaires, le choix de xi n’est pas unique→ les intersections de xi, zi et xi+1, zi+1 sont les points Oi et Oint

i

→ on repete sur tous les corps• Transformation Ri−1 → Ri

Ri−1 → Rinti−1 → Ri

D(di, αi) D(ri, θi)

Ti−1,i = Ti−1,intTint,i

Ti−1,int =

1 0 0 di0 Cαi −Sαi 00 Sαi Cαi 00 0 0 1

Tint,i =

Cθi −Sθi 0 0Sθi Cθi 0 00 0 1 ri0 0 0 1

Ti−1,i =

Cθi −Sθi 0 di

CαiSθi CαiCθi −Sαi −riSαiSαiSθi SαiCθi Cαi riCαi

0 0 0 1

46

Page 47: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

→ Recapitulatif:- Ri est lie a Si- zi est colineaire a ∆i

- xi−1 est la ⊥ commune a zi−1 et zi- yi−1 = zi−1 ∧ xi−1

- αi: angle mesure autour de xi−1 entre zi−1 et zi- di distance mesuree selon xi−1 entre zi−1 et zi- θi: angle mesure autour de zi entre xi−1 et xi- ri : distance mesuree selon zi entre xi−1 et xi

• Convention de DH originauxDe la meme maniere que pour la definition des DH modifies, le repere Ri est associe ausolide Si. L’axe zi est place selon l’axe geometrique ∆i de la liaison i et xi est la perpen-diculaire a zi et zi+1 selon laquelle on mesure la distance entre les 2 axes des liaisons di.L’angle αi forme entre les 2 axes est mesure autour de xi. θi est l’angle mesure autourde zi entre xi−1 et xi et ri est la distance mesuree selon zi entre xi−1 et xiNotons que le parametre di est dans cette convention le parametre ri de la conventionprecedente et que ai−1 est le parametre di des DH modifies. L’angle αi−1 remplace l’angleαi.La transformation Ri−1 → Ri est alors definie par la matrice :

Figure 26: Definition des parametres de DH originaux

Ti−1,i =

Cθi −Sθi 0 ai−1

Cαi−1Sθi Cαi−1Cθi −Sαi−1 −diSαi−1

Sαi−1Sθi Sαi−1Cθi Cαi−1 diCαi−1

0 0 0 1

4.2 Parametrage d’un systeme a l’aide des DH modifies

- Le repere R0 est pris comme confondu avec R1 quand θ1 = r1 = 0- La definition de xn est libre car zn+1 n’existe pas. On le prend comme colineaire a xn−1

47

Page 48: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

quand θn = rn = 0- On prend comme reference des parametres variables (θi, ri) telle que θi = ri = 0 puison fait un changement de variable pour revenir sur la reference materielle:

(qa)i = (qoffset)i + qi

→ Sur l’exemple :

Figure 27: Exemple de systeme avec ses reperes de DH modifies

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

4.3 Modele geometrique direct des systemes series

• Le probleme dit geometrique direct consiste a determiner ∀t la configuration du reperelie a l’effecteur (que nous noterons Rh (h pour ”hand”)) par rapport a un repere fixe parexemple R0 a partir des mesures des positions articulaires qi.Pour cela, on etablit l’equation de structure du systeme qui est :

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

T0h(φ, θ, ψ,XOh, YOh

, ZOh) = T01(q1) T12(q2) T23(q3) . . . T(n−1)n(qn)Tnh(ctes)

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

T0h(φ, θ, ψ,XOh, YOh

, ZOh) = T01(q1) T12(q2) T23(q3) . . . T(n−1)n(qn)Tnh(ctes)

• Resolution du probleme geometrique direct:

(φ, θ, ψ,XOh, YOh

, ZOh)t = F (q1, . . . , qn)

48

Page 49: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 28: Composition des transformations elementaires

→ on identifie les composantes des matrices des membres de droite et de gauche del’equation de structure.

T0h =

r11 r12 r13 XOh

r21 r22 r23 YOh

r31 r32 r33 ZOh

0 0 0 1

≡t11 t12 t13 t14

t21 t22 t23 t24

t31 t32 t33 t34

0 0 0 1

• Utilisation du MGD dans la commande de manipulateurs.

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

• Application au 3R plan→ Tableau des parametres de DH

di θi ri αi0 θ1 0 0a1 θ2 0 0a2 θ3 0 0

49

Page 50: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 30: Reperes de DH associes au 3R Plan

→ Modele geometrique direct

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

T0h =

C123 −S123 0 a1C1 + a2C12 + a3C123

S123 C123 0 a1S1 + a2S12 + a3S123

0 0 1 00 0 0 1

• Application au robot PUMA

Figure 31: Representation du robot PUMA

Tableau des parametres de DH (modifies)

50

Page 51: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

Tableau des parametres de DH (non-modifies)

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

4.4 Modele geometrique direct des systemes presentant unechaıne fermee simple

Les systemes de transmission de mouvement utilisent souvent des mecanismes en chaınefermee. C’est notamment le cas sur les systemes de la figure 32. On a alors a obtenir les

Figure 32: Exemple de mecanisme presentant une chaıne fermee

relations de contrainte entre les parametres geometriques pour proceder a une reductiondu parametrage notamment.• Principe : On procede a une coupure virtuelle sur l’un des corps du mecanisme.• Equation de structure:

∏i=1,(n+1)

T(i−1),i = T0,(n+1)

• Exemple

T01(q1) T12(q2) T23(q3) T34(q4) = T04(ctes) =

0 0 1 0−1 0 0 00 −1 0 00 0 0 1

51

Page 52: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 33: Exemple du mecanisme bielle-manivelle

Figure 34: Modes d’assemblage pour x donne

C123 −S123 0 l1C1 + l2C12

S123 C123 0 l1S1 + l2S12

0 0 1 00 0 0 1

1 0 0 a0 0 1 00 −1 0 −x0 0 0 1

=

0 0 1 0−1 0 0 00 −1 0 00 0 0 1

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

C2 =x2 + a2 − l21 − l22

2 l1 l2S2 = ±

√1− C2

2 ⇒ θ2 = atan2(S2, C2)

C1 =(l1 + l2C2)x+ l2S2a

x2 + a2S1 =

(l1 + l2C2)a− l2S2x

x2 + a2⇒ θ1 = atan2(S1, C1)

→ Plusieurs configurations possibles (i.e modes d’assemblage)

4.5 Modele geometrique direct des systemes paralleles

→ Equations de structure des systemes parallelesSur l’exemple d’un manipulateur parallele a 6 ddl

Pour le chemin j entre S0 et SP , on peut etablir l’equation de structure suivante :

T j0h = Tf0 Tj01 T

j12 T

j23 T

j34 T

j45 T

j56 T

j6h

52

Page 53: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

Ici T j6h =(R6h 06Oh

0 1

)Pour chaque cycle du mecanisme :

T j0h∏i=1,6

T j(i−1),iTj6h = T kf0

∏i=1,6

T k(i−1),iTk6h

→ Les mecanismes en chaıne parallele avec liaisons passives n’ont pas de modele geometriquedirect analytique. De plus les solutions sont generalement multiples→ Justification sur le 3×3R plan. Si la position des acticulations actives (supposees sur

Figure 36: Mecanisme parallele plan 3*3R

les axes des liaisons passant par les points 0i) etant donnee, les points Ai sont fixes. Onpeut considerer le mecanisme 4-barres A1B1B2A2. La barre B1B2 decrit une trajectoirede couplage qui est decrite par un polynome de degre 16. On montre que l’intersectionde cette courbe avec le cercle que peut decrire la barre A3B3 a 6 solutions.

53

Page 54: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

La resolution du probleme geometrique direct des manipulateurs paralleles est generalementappropriee au systeme considere. Nous donnons l’exemple du 3RPR plan 37. Pour ce

Figure 37: Mecanisme parallele plan 3RPR

manipulateur, le modele geometrique direct peut etre etabli a partir des equations destructure (en position)suivantes :

ρ21 = x2 + y2

ρ22 = (x+ l2Cφ− A2x)2 + (y + l2Sφ− A2y)2

ρ23 = (x+ l3C(φ+ β)− A3x)2 + (y + l3S(φ+ β)− A3y)2

En placant le point A2 tel que A2y et en retranchant l’equation (1) aux equations (2) et(3), on obtient le systeme de deux equations suivant :

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

avec :

R = 2l2Cφ− 2A2x

S = 2l2SφQ = −2A2xl2Cφ+ l22 + A2

2x − ρ22 + ρ2

1

U = 2l3C(φ+ β)− 2A3x

V = 2l3S(φ+ β)− 2A3y

W = −2A3y l3S(φ+ β)− 2A3xl3C(φ+ β) + l23 + A23x − ρ

23 + ρ2

1 + A23y

desquelles on peut determiner :

x =SW − V QRV − SU

y =RW − UQRV − SU

54

Page 55: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

En substituant ces expressions pour x et y dans la premiere equation (ρ21 = x2 + y2),

et en remplacant les fonctions sin et cos par leur expression en fonction de la tangentede t = tan(φ/2), on obtient un polynome de degre 6 en t. Si RV − SU est non-nul, en reportant dans les expressions de x et y, on resoud completement le problemegeometrique direct pour ce systeme plan. Si RV − SU = 0, dans ce cas le manipulateurest dit degenere. Il faut alors adapter la methode de resolution.

Pour des plates-formes de Gough-Stewart (voir figure 35), une methode pour resoudrele probleme geometrique direct est consiste a utiliser des techniques d’elimination algebriquecomme l’elimination dyalitique dont les principes sont exposes dans la section suivante.Un exemple d’application de cette methode a ce probleme est developpees 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 probleme peuvent etre alors determinees.

Lorsqu’il n’existe pas de probleme de convergence, des algorithmes d’optimisationcomme l’algorithme de Newton-Raphson peuvent etre utiliser a partir de la fonctioncout :

F (q) =∑i=1,6

[‖bi −OP +R0P t‖2 − ρ2

i )]2

La solution la plus proche de la configuration courante peut ainsi etre obtenue en temps-reel.

5 Resolution du PGI

• Probleme a resoudre : determiner les valeurs des parametres articulaires (qi) pourobtenir une configuration absolue donnee de l’effecteur T0h.• Principe : ce probleme est aborde avec les equations de structure du mecanisme.

∏i=1,n

T(i−1),iTnh = T0h =(R0h d0h

0 1

)

55

Page 56: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

a partir de ces 12 equations, on resoud les qi, i = 1, n.→ Seules 6 equations parmi les 12 sont independantes

• Discussion sur les solutionsEn notant m le nombre de parametres de configuration imposes a l’effecteur- m > n, le systeme est contraint par rapport a la tache (solution approchee)- m < n, le systeme est redondant par rapport a la tache (infinite de solutions)- m = n, le nombre de solutions au PGI est fini.• Illustration des solutions au PGI du PUMA

5.1 Systemes series

Pour qu’une solution analytique existe, la geometrie du systeme d’axes doit etre partic-uliere. 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 resolution sur le 3R plan

T01(θ1)T12(θ2)T23(θ3)T3h = T0hC123 −S123 0 (l1C1 + l2C12)S123 C123 0 (l1S1 + l2S12)

0 0 1 00 0 0 1

1 0 0 d0 1 0 00 0 1 00 0 0 1

=

Cφ −Sφ 0 XP

Sφ Cφ 0 YP0 0 1 00 0 0 1

C123 −S123 0 (l1C1 + l2C12)S123 C123 0 (l1S1 + l2S12)

0 0 1 00 0 0 1

=

Cφ −Sφ 0 XP

Sφ Cφ 0 YP0 0 1 00 0 0 1

1 0 0 −d0 1 0 00 0 1 00 0 0 1

X03 = l1C1 + l2C12

Y03 = l1S1 + l2S12

Cφ = C123

56

Page 57: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

→ Resolution de θ2 C2 =X2

03+Y 2

03−(l21+l22)

2l1l2

Pour qu’une solution existe X203

+ Y 203≤ (l1 + l2)2

S2 = ±(1− C22)1/2

θ2 = atan2(S2, C2)

→ Resolution de θ1

X03 = l1C1 + l2C1C2 − l2S1S2 = k1C1 − k2S1

Y03 = l1S1 + l2S1C2 + l2C1S2 = k1S1 + k2C1

θ1 = atan2(Y03 , X03)− atan2(k2, k1)

→ Resolution de θ3

θ3 = φ− θ2 − θ1

→ Autre methode de resolution :On utilise les identitees cosθ = 1−tg(θ/2)2

1+tg2(θ/2)et sinθ = 2t

1+tg2(θ/2)dans les equations: Exemple

pour θ1 :

θ1 = 2atan2Y03 ± (4Y 2

03− 4X2

03+ A2)1/2

2(X03 + A)

• Remarques a partir de l’exemple- pour resoudre le probleme d’ensemble, on decompose en sous-problemes- il peut exister plusieurs solutions (modes d’assemblage) au PGI,- la configuration demandee doit etre a l’interieur du domaine accessible,- le nombre de modes d’assemblage maxi pour un 6R est de 16.

• Methode de PieperPour un manipulateur ”analytique” a 6 liaisons (pour simplification R6 ≡ Rh), onexploite plusieurs formes de 6= formes de l’equation de structure pour isoler, au mieux,les differentes variables.

T01T12T23T34T45T56 = T0h

T16 = T−101 T0h (∗)

T26 = T−112 T

−101 T0h

T36 = T−103 T0h

T46 = T−104 T0h

T56 = T−105 T0h

Par exemple, le membre de gauche de (*) ne fait intervenir que q1. On peut chercher adeterminer l’expression de q1 en identifiant l’une des composantes de la matrice figurantau membre de gauche avec un terme constant de la matrice du memebre de droite. Onprogresse ensuite dans la resolution, variable apres variable, en utilisant l’equation destructure appropries.

57

Page 58: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• Resolution des equations typiquesDans la resolution des variables articualires qi, on aboutit generalement pour des systemesanalytiques a des equations du type de celles ci-dessous :Equation du type (1)xSθi + yCθi = zSi z = 0 θi = atan2(−y, x) et θ′i = atan2(y,−x)Si z 6= 0

yCθi = z − xSθiy2(1− S2θi) = z2 − 2zxSθi + x2S2θi

S2θi(x2 + y2)− Sθi(2xz) + (z2 − y2) = 0

On resoud l’equation du second degre en Sθi : Sθi =xz±y√x2+y2−z2

x2+y2

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 elevant ces equations au carre puis en faisant la somme on obtient :

2(xz2 + yz1)Sθi + 2(xz1 − yz2)Cθi = (w2 − x2 − y2 − z21 − z2

2)

equation dont la resolution peut etre faite comme pour la precedenteEquation du type (3)

xCθi + yCθij = z1

xSθi + ySθij = z2

En elevant ces equations au carre et en faisant la somme, on obtient :

2xy(CθiCθij + SθiSθij) = 2xyCθj(z21 + z2

2 − x2 − y2)

Cθj =(z2

1 + z22 − x2 − y2)

2xy

Sθj = ±(1− C2θj)1/2

θj est donne par :θj = atan2(Sθj, Cθj)

La resolution de θi peut se faire en developpant les fonctions sin et cos. On obtient :

xCθi + yCθiCθj − ySθiSθj = z1

xSθi + ySθiCθj + ySθjCθi = z2

58

Page 59: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

On peut alors entreprendre la resolution comme celle d’un systeme de 2 equations a 2inconnues

• 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 dernieres transformations. Dans R4,04 a pour coordonnees homogenes :

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

T01 =

C1 −S1 0 0S1 C1 0 00 0 1 00 0 0 1

T12 =

C2 −S2 0 00 0 −1 0S2 C2 0 00 0 0 1

T23 =

C3 −S3 0 D3

S3 C3 0 00 0 1 00 0 0 1

T34 =

C4 −S4 0 00 0 1 RL4

−S4 −C4 0 00 0 0 1

T45 =

C5 −S5 0 00 0 −1 0S5 C5 0 00 0 0 1

T56 =

C6 −S6 0 00 0 1 0−S6 −C6 0 0

0 0 0 1

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

04x

04y

04z

1

= T01T12T23T34

0001

59

Page 60: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

→ Resolution de θ1:

T−101

04x

04y

04z

1

= T12T23T34

0001

Par identification de la seconde composante on trouve :

−S104x + C104y = 0

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

→ Resolution de θ2 et θ3.

T−102

04x

04y

04z

1

= T23T34

0001

en utilisant les 2 premieres equations :

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

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

cela revient a une equation du type (2).On derive θ3 de ces memes equations.

θ3 = atan2(S3, C3)

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

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

→ Resolution de θ4, θ5, θ6 pour l’orientation. On utilise :

R03R36 = R06 ⇒ R30

sx nx axsy ny aysz nz az

=

Fx Gx Hx

Fy Gy Hy

Fz Gz Hz

En identifiant les termes de :

Rt34(F G H) = R46

a partir de l’element (2, 3), on obtient :

−C4Hz − S4Hx = 0

ce qui conduit a :θ4 = atan2(Hz,−Hx) θ′4 = θ4 + 180

a partir des l’elements (1, 3) et (3, 3), on obtient:

−S5 = C4Hx − S4Hz C5 = Hy

60

Page 61: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 38: Singularites du robot PUMA

a partir des l’elements (2, 1) et (2, 2), on obtient:

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

→ L’analyse de ces expressions permet d’identifier des configurations singulieres.• Methode numerique de resolution du PGI des manipulateurs

Des methodes numeriques iteratives, comme la methode de Newton-Raphson peuventetre utilisees pour determiner 1 solution au probleme geometrique inverse→ Principe :La methode de Newton permet de resoudre un systeme de n equations (non lineaires) encherchant les zeros de fonctions continument derivables. Dans le principe, l’algorithmede Newton-Raphson est une generalisation de la methode de Newton utilisee pour larecherche des racines d’une fonction d’une variable reelle a valeurs reelles.

L’algorithme de Newton consiste a lineariser une fonction f en un point et de prendrele point d’annulation de cette linearisation comme approximation du zero recherche.

Si nous considerons une equation non-lineaire de la forme g(x) = 0. Pour determinerle point x? ou la courbe coupe l’axe des x (ou la fonction s’annule), si l’approximationcourante est xk, par linearisation de g(x) on a:

g(xk+1) ≈ g(xk) +dg(xk)

dx(xk+1 − xk)

Si on considere que g(xk+1) = 0, alors :

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

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

xk+1 = xk − −g(xk)

g′(xk)

→ Application au PGI :La formulation multidimensionnelle de la methode de Newton pour resoudre le PGIest la suivante. On cherche la configuration definie par q qui verifie les contraintes

61

Page 62: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

geometriques de position et d’orientation de l’effecteur. Il s’agit donc de resoudre unsysteme d’equations suivant :

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

(1)

SiX? est la configuration absolue a atteindre et q? la configuration articulaire rechercheetelle que X? = F (q?)L’application de la methode de Newton-Raphson au systeme d’equations non-lineairesX = F (q)

δqk+1 = J−1(qk)(X? −Xk)

J−1 est ici une inverse de J .• Autres methodes

Beaucoup d’autres methodes iteratives sont applicables a la resolution de systemesd’equations non-lineaires. Elles presentent parfois des problemes de convergence (enpratique tres sensibles a l’initialisation). Ces difficultes amenent a utiliser des methodesd’homotopie ou de continuation.

La methode d’elimination symbolique, basee sur le schema de l’elimination dialytiqueest une methode qui peut etre mise en oeuvre en temps-reel. Cette methode comporteplusieurs etapes qui sont les suivantes : techniques algebriques delimination de variables

1. Choisir les produits des puissances qui constituent les inconnues. Par exemple lesproduits des puissances dans xz2 + 6xy + 3yz + 4z + 1 = 0 sont xz2, xy, yz, z, 1

2. Introduire une inconnue dans les coefficients du polynome qui devient la variable

3. Ajouter une equation pour former un systeme homogene

4. Former un polynone en la variable a partir en annulant le determinant du systemed’equation.

5. Resoudre les racines du polynome.

6. Remplacer la variable trouvee dans le systeme initial et reiterer avec une autrevariable

Exemple :e11x

21 + e12x

22 + e13x1x2 + e14x1 + e15x2 + e16 = 0

e21x21 + e22x

22 + e23x1x2 + e24x1 + e25x2 + e26 = 0

les eij etant des coefficients constants.En considerant que les puissances de x2 font partie des coefficients, le systeme d’equations

precedent se reecrit :Ax2

1 +Bx1 + C = 0

A′x21 +B′x1 + C ′ = 0

62

Page 63: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

avec : A = e11, B = e13x1 + e14 et C = e12x22 + e15x2 + e16

et A′ = e21, B′ = e23x1 + e24 et C = e22x22 + e25x2 + e26

Les produits des puissances sont x21, x1 et 1 et les equations initiales s’expriment sous la

forme d’un systeme lineaire de ces produits. On genere des equations supplementairespour rendre ce systeme carre en multipliant par exemple les equations par x1. Ainsi onaboutit au systeme :

0 A B C0 A′ B′ C ′

A B C 0A′ B′ C ′ 0

x3

1

x21

x1

1

= 0

Ce systeme d’equations peut se mettre sous la forme matricielle suivante :

A Y = 0

Puisque l’une des inconnues est l’unite, ce systeme n’adamet pas la solution banale(x = 0). Pour que ce systeme homogene ait des solutions, il faut que detA = 0. Cettecondition conduit ici a un polynome en x du 4eme degre dont les racines sont les solutionsde l’equation. L’application de cette methode au probleme geometrique inverse desrobots manipulateurs de geometrie generale et particuliere est detaillee dans l’article enannexe : Inverse kinematics of six degree of freedom general and special manipulatorsusing symbolic computation, C. Mavroidis, F.B. Ouezdou, Ph. Bidaud, Robotica, vol 12,1994. A titre d’exemple, on developpe ici la procedure pour un manipulateur 6R general.On s’appuie pour cela sur l’equation de structure ecrite sous la forme suivante :

T23T34T45 = T−112 T

−101 T0hT

−156

On etablit ensuite un systeme de 14 equations scalaires en utilisant les composantes desvecteurs colonnes 3 et 4 des matrices au memebre de droite et au membre de gauche del’equationde structure utilisee.

5.2 Systemes paralleles

Les systemes paralleles ont un MGD qui est bien plus difficile a etablir que pour dessystemes series. Si nous considerons par exemple la plate-forme de la figure ??, pourchaque cycle du mecanisme on peut ecrire :

T jf0

∏i=1,6

T j(i−1)iTj6h = Tfh

∏i=1,6

T j(i−1),i = T j0,fTf,hTjh,6

Une resolution identique a celle des systemes series seraient envisageables si toutes lesarticulations (actives et passives) etaient munies de capteurs de position. Cependant engeneral pour des raisons evidentes ce n’est pas le cas.

La resolution du probleme geometrique direct d’un manipulateur parallele peut etreenvisagee sous une forme analytique ou numerique. Generalement la methode est appro-priee au systeme considere. Il n’existe pas de methode generale.

63

Page 64: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Pour traiter du cas des plates-formes de Stewart-Gough, la formulation la plus frequemmentutilisee pour obtenir la forme analytique de la solution exploite les equations de contrainteen position de chacun des chemins entre S0 et SP produitent par un chemin cinematique.

Sur l’exemple de la figure ??, Pour j = 1, ..., 6, on a l’equation de structure en position

Figure 39: Plate-forme de Stewart

:

T jf0

∏i=1,6

T j(i−1)iTj6h

0001

= Tfh

0001

ce qui conduit a l’equation vectorielle :

Ojf0 + dj06 +Oj

6h − dfh = 0

qui elevee au carre permet de determiner les qi des actionneurs lineaires de ce type deplate-forme :

qi = ±√

(Ojf0 +Oj

6h − dfh)2

5.3 Identification des parametres geometriques

5.3.1 Etalonnage des robots series

Les methodes d’etalonnage des parametres geometriques des robots series sont generalementfondees sur l’utilisation du modele geometrique direct du systeme et d’un moyen demesure de la configuration absolue de l’effecteur, de ses deplacements ou de contraintesgeometriques imposees (point invariant par exemple ou toute autre liaison entre l’effecteuret l’environnement).

64

Page 65: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

On formule generalement le probleme de l’etalonnage sous la forme suivante :

f(q,X, ηr) = 0

ou :- X represente le vecteur des parametres definissant position et orientation de l’effecteur,- q est le vecteur des parametres generalises du systeme,- ηr le vecteur des parametres geometriques reels (a determiner) qui minimise l’erreursur le modele.

L’objet de l’etalonnage est de determiner la valeur des parametres geometriques ηqui minimise l’erreur sur le modele. Il s’agit d’un probleme d’optimisation non-lineairequi peut etre aborde par exemple a l’aide d’une methode des moindres-carres.

La linearisation par un developpement de Taylor au premier ordre en η du modeleprecedent conduit a :

∆y(q,X, η) = Φ(q, η)∆η

avec :- ∆y, l’erreur observee sur la configuration de l’effecteur,- η, le vecteur des valeurs nominales de parametres geometriques,- ∆η = ηr − η le vecteur des erreurs des parametres geometriques,- Φ est la matrice Jacobienne derivee de la fonction f par rapport aux parametresgeometriques η.

Pour estimer ∆η, on place le manipulateur dans un certain nombre de configurationsq1, q2, qk ceci pour former un systeme d’equations surdetermine.

∆Y = W (Q, η)∆η

avec : ∆Y =

∆y1

∆y2

. . .∆yk

W =

Φ(q1, η)Φ(q2, η). . .

Φ(qk, η)

, W est dite matrice d’observation du systeme.

Son rang doit etre superieur au nombre de parametres geometriques a identifier.La resolution de ce systeme d’equations conduit a :

∆η = W+(Q, η)∆Y

On procede a plusieurs iterations successives jusqu’a ce que l’erreur ∆η devienne suffisam-ment faible. Pour chaque iteration on procede a une mise a jour des valeurs parametresgeometriques.

Notons que le conditionnement de W renseigne sur l’observabilite des parametresdu systeme lors de l’identification. Un conditionnement proche de 1 conduit a de bonsresultats. Lorsque le conditionnement est trop eleve (ex > 1000), le modele linearise neconverge plus et il faut utiliser des metodes d’optimisation non-lineaire.

Si on considere la description geometrique du robot faite a l’aide des parametres deDenavit-Hartenberg modifies, les petits deplacements produits sur l’effecteur relatifs achacun des parametres sont :

φαi=(

xi−1

−xi−1 ∧ POi−1

)φdi =

(0xi−1

)φθi =

(zi

−zi ∧ POi

)φdi =

(0zi

)

65

Page 66: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

La prise en compte d’une erreur due a une rotation autour de l’axe yi−1 de parametre βide valeur nominale 0 est parfois introduite lorsque l’axe de l’articulation i est parallelea celui de l’axe i− 1. Le vecteur deplacement correspondant est :

φαi=(

yi−1

−yi−1 ∧Oi−1P

)Ces vecteurs forment les colonnes de la matrice W .

Les deformations des elements de structure introduisent egalement des erreurs depositionnement. Sous l’hypothese des petites deformations, on peut a l’aide de la loi deHooke determiner les deformations induites par les contraintes (de torsion et de flexionen particulier) ceci en considerant chaque corps encastre au niveau de sa liaison avec lecorps amont. De la meme maniere que pour l’identification des parametres geometriques,on peut mettre les expressions analytiques des combinaisons des petites deformations destructures (voire egalement articulaires) sous une forme matricielle.

5.3.2 Etalonnage des robots paralleles

Les parametres geometriques qui influent majoritairement sur les erreurs de position etd’orientation de l’effecteur d’un systeme parallele sont les positions et directions relativesdes premieres articulations de chacun des chemins qui sont attachees a la base fixe.

66

Page 67: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

6 Modele cinematique

6.1 Mouvement d’un point

Le mouvement d’un point ≡ sequence continue de positions occupees au cours du tempsdecrivant une trajectoire. A chaque instant t correspond une position M(t) et une valeurde s(t) l’arc M0M .L’application t→ s(t) est la loi horaire du mouvement du point M .La vitesse de M a l’instant t dans R est definie par le vecteur:

vM = limδt→0

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

δt= M(t) =

d M(t)

dt=

d

ds(OM)

d

dt(s) = sτ

Ce vecteur vitesse est representee par ses composantes dans une base, par exemple celleassociee au repere R.

vM =d

dtM = xMx+ yMy + zMz = (xM , yM , zM)t

La vitesse deM peut etre regardee comme un vecteur lie (dependant du point d’application)Quand on a plusieurs reperes en mouvement, on precise par rapport a quel repere se faitle calcul de la derivee (ex : d(0)

dtM)

La vitesse d’un point peut resulter de la combinaison de plusieurs mouvements relat-ifs.Considerons que dans R0, on observe le mouvement fixe et dans R1, on observe le mou-vement relatif.

O0M(t) = O0O1(t) +O1M(t)

M(t) = 01(t) +m(t)

vM = v01 +d

dt(mxx1 +myy1 +mzz1)

vM = v01 +mxd

dt(x1) +my

d

dt(y1) +mz

d

dt(z1) +

d

dt(mx)x1 +

d

dt(my)y1 +

d

dt(mz)z1

67

Page 68: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

d(0)

dtx1 = ax1 + by1 + cz1

d(0)

dtz1 = gx1 + hy1 + iz1

mxd

dt(x1) +my

d

dt(y1) +mz

d

dt(z1) =

a d gb e hc f i

mx

my

mz

Puisque la base est orthonormee, on a:

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

de sorte que la matrice precedente devient : 0 b −g−b 0 fg −f 0

ω = Ω01 =

0 −r +qr 0 −p−q p 0

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

ω01 : vecteur taux de rotation instantaneeOn verifie que :

d(0)

dtx1 = ry1−qz1 = ω01∧x1;

d(0)

dty1 = ω01∧y1 = −rx1+pz1;

d(0)

dtz1 = qx1−py1 = ω01∧z1

vM = v01 + ω01 ∧m+ vm

vM = vMt∈R1

+ vm

vMt∈R1

: vitesse du point M lie a R1 qui se trouve en coıncidence avec M a l’instant t.

6.2 Vitesse d’un solide

Le mouvement d’un solide S peut etre vu comme une sequence continue de deplacements:

D : R0 → R1

la configuration de R1 variant en fonction du temps t.La position de P ∈ R1 dans R0 est :

P0(t) = T01(q, t) P1(t)

La vitesse du point P est :P0(t) = T01(q, t) P1(t)

68

Page 69: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

P0(t) = T01(q, t) T−101 P0(t)

• Pour un mouvement de rotation pure

P0 = R01Rt01P0

→ RRt est une matrice anti-symetrique.

RRt = 1

RRt +RRt = 0 (Rt) ≡ Rt .

RRt = −RRt = −(RRt)t

soit en notant RRt = ω ω = −ωt

→ ω pour une rotation simple

R =

cosθ −sinθ 0sinθ cosθ 0

0 0 1

d R

dt=∂ R

∂θ

d θ

dt= θ

−sinθ −cosθ 0cosθ −sinθ 0

0 0 0

RRt = θ

0 −1 01 0 00 0 0

D’une maniere generale, si la vitesse de rotation ω = (ωx, ωy, ωz)

t :

RRt = ω =

0 −ωz ωyωz 0 −ωx−ωy ωx 0

• Pour un mouvement general

Si l’on considere maintenant:(P0

1

)= T01

(P1

1

)= R01P1 + d01

P0 = T01T−101 P0 vitesse vue dans R0

P0 = R01P1 + d01

P0 = R01Rt01(PO − d01) + d01 = ω01(PO − d01) + d01

→ Traduction vectorielle :

(vP )R0= (ω01 ∧ P1)R0 + (v01)R0 = vP

t∈R1

69

Page 70: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

La matrice 4 × 4 T01T−101 represente l’operateur tangent a la trajectoire et constitue

l’algebre de Lie se(3) associe a SE(3).

T01T−101 =

(R01R

t01 d01 − R01R

t01d01

0 0

)=(ω01 d01 − ω01d01

0 0

)=

0 −ωz ωy v00x

ωz 0 −ωx v00y

−ωy ωx 0 v00z

0 0 0 0

=(ω v0 0

)

d01 − ω01d01 represente la vitesse du point 00 lie a R1 (v00(0)

∈Rt1)

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

vP xvP yvP z0

=(ω01 v00

0 0

)PxPyPz1

6.3 Composition de mouvements relatifs

Pour etudier le mouvement de S par rapport a R0, il est parfois necessaire de passer parun repere intermediaire.

P0 = T02P2 = (T01T12 + T01T12)P2

P0 = T01T−101 P0 + T01T12T

−112 P1

T01T12T−112 P1 =

(R01 d01

0 1

)(ω12 (−ω12d12 + d12)0 0

)(P1

1

)-R01ω12(P1 − d12) + d12 ≡ (vP t

∈R2)(1)

• Composition des vitesses lineaires :

(vP ) = vt∈R1P + v

t∈R2P

• Composition des vitesses angulaires :

ω02 = R01Rt01 +R01R12R

t12

ω02 = ω01 + ω12 ≡ ω02 = ω01 + ω12

• Extension a un nombre n de reperes:

vP(0)∈Rn

=∑n

(vP∈Ri)(i−1) ω0n =

∑n

ωi−1,i

→ sous forme d’un bivecteur:

(ω, vP )(0)Rn

=∑n

(ω, vP )(i−1)Ri

70

Page 71: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• Transformation de coordonneesConsiderons comme donne l’operateur tangent a la trajectoire du point P ∈ R1 dansle mouvement de R1 par rapport a R0. L’action adjointe de T23 sur l’element de se(3)(w12 vO2

0 0

)est :

(R23 d23

0 1

)(w12 vO2

0 0

)(Rt

23 Rt23d23

0 1

)=(R23w12R

t23 −R23w12R

t23d23 +R23vO2

0 0

)- R23w12R

t23 = w13 est la matrice du pre-produit vectoriel de w12 dans la base B3.

• Torseur geometriqueUn torseur S peut etre exprime en fonction d’un torseur geometrique $

SP = (S, λS + PO ∧ S)

SP = ‖S‖(s, λs+ PO ∧ s)SP = ‖S‖(s, λs+ sP ) = ‖S‖(s, s∗P ) = ‖S‖$ = ‖S‖(u, v, w, l∗,m∗, n∗)t

→ glisseur : SP = ‖S‖(s, sP ), s, sP sont les coordonnees vectorielles d’une droite, soit 4composantes scalaires independantes.- u2 + v2 + w2 = 1- u.l + v.m+ w.n = 0→ couple : SP = ‖λS‖(0, s)• Produit reciproque (ou le comoment) de 2 torseurs:

Le produit reciproque de 2 torseurs est le nombre defini par :

∀O ∈ E3 $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 = −d12sinα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 reciproque est invariant dans une transformation Euclidienne- la forme quadratique peut etre negative, ce n’est donc pas un produit scalaire- si $1 est un distributeur de vitesse et $2 un torseur de force le produit est homogene aune puissance.

6.4 Systeme de torseurs

• Un systeme de torseurs est une combinaison lineaire de torseurs geometriques del’espace des torseurs τ .• On peut se donner comme base canonique de l’espace des torseurs, celle constituee parles torseurs:

Bc = ((x, 0), (y, 0), (z, 0), (0, x), (0, y), (0, z))

71

Page 72: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• l’ensemble des torseurs reciproques a un sous-ensemble T ′ de T , note T R est definicomme:

T R = $R ∈ T R;∀$ ∈ T ′; $R.$ = 0• Relation sur les dimensions:

dim(T R) = dim(T ′)− dim(T )

6.5 Modele cinematique direct

Le modele cinematique direct permet d’obtenir la vitesse absolue de l’effecteur (parexemple) resultant de la combinaison des mouvements relatifs des liaisons.

• Notations du mouvement relatifLes liaisons motorisees ont 1 ddl. Si zi est colineaire a l’axe de la liaison :→ rotation

TC(Si/Si−1) = ωi(zi, POi ∧ zi)

TC(Si/Si−1) = θ(

ziPOi ∧ zi

)→ translation

TC(Si/Si−1) = λiωi(0, zi) = vi(0, zi)

TC(Si/Si−1) = ri

(0zi

)• Modele cinematique des chaınes ouvertes

→ Formulation torsorielle

TC(Sn/S0) =∑i=1,n

TC(Si/Si−1)

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

q1

q2

q3

.

.qn

72

Page 73: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

→ Formulation algebriqueEn notant TC(Sn/S0) = (ωx, ωy, ωz, vx, vy, vz)

t

ωxωyωzvxvyvz

=

u1 u2 . . . unv1 v2 . . . vnw1 w2 . . . wnl∗1 l∗2 . . . l∗nm∗1 m∗2 . . . m∗nn∗1 n∗2 . . . n∗n

q1

q2

. . .qn

X = J6×n(q)q

X =(JωJv

)q

→ Derivation de l’equation de structureRappelons que l’equation de structure d’une chaıne serie s’ecrit comme :

T0n =∏i=1,n

Ti−1,i

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

P0 = (∏i=1,n

Ti−1,i)Pn

La vitesse de P par rapport au referentiel R0 est :

P0 =∑i=1,n

qiT0,i−1∂Ti−1,i

∂qiTi,nT

−10,nP0

P0 =∑i=1,n

qiT0,i−1∂Ti−1,i

∂qiT−1i−1,iT

−10,i−1 P0

qi∂Ti−1,i

∂qiT−1i−1,i =

(i−1)i v

(i−1)Oi−1

0 0

)represente l’operateur tangent a la trajectoire dans le

mouvement relatif de Si par rapport a Si−1.La premultiplication par T0,i−1 et la post-multiplication par T−1

0,i−1 permet d’exprimer lavitesse angulaire relative de Ri par rapport a Ri−1 dans la base B0 ainsi que la vitessedu point coincident O0 ∈ Rn par rapport a R0

→ Derivation du modele geometrique

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

(x1, x2, . . . , xm)t = (f1(q1, q2, . . . , qn), f2(q), . . . , fm(q))t

X = F (q(t))

La derivation par rapport au temps donne :

d x1

dt=∂ f1

∂q1

q1 +∂ f1

∂q2

q2 + . . .+∂ f1

∂qnqn

73

Page 74: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

d x2

dt=∂ f2

∂q1

q1 +∂ f2

∂q2

q2 + . . .+∂ f2

∂qnqn

. . . = . . .

d xmdt

=∂ fm∂q1

q1 +∂ fm∂q2

q2 + . . .+∂ fm∂qn

qn

x1

x2

. . .xm

=

∂ f1∂q1

∂ f1∂q2

. . . ∂ f1∂qn

∂ f2∂q1

∂ f2∂q2

. . . ∂ f2∂qn

. . . . . . . . . . . .∂ fm∂q1

∂ fm∂q2

. . . ∂ fm∂qn

q1

q2...qn

- $j = (∂ f1

∂qj, ∂ f2∂qj

, . . . , ∂ fm∂qj

)t

En notation vectorielle :d X

dt=∂ F

∂q

d q

dt

X = Jq avec Jij =∂ fi∂qj

• Le changement de point et de base dans le calcul de J se fait directement par utilisationd’une matrice adjointe.•Dans le cas particulier d’un manipulateur decouplant position et orientation de l’effecteur,la matrice J ecrite au point particulier de decouplage prend la forme suivante :

J =

(J11 J12

J21 0

)

• Acceleration absolueL’acceleration de l’effecteur par exemple peut etre obtenue comme :

X = J(q) q + J(q)q

Pour un manipulteur avec des liaisons rotoıdes :

J =(JvJω

)=(

z1 z2 . . . znz1 ∧ a1 z2 ∧ a2 . . . zn ∧ an

)avec ai = 0iP• Modele variationel

→ on considere un petit deplacement δq (du premier ordre par rapport aux dimensionsdu systeme) autour d’une configuration q0 = 0 licite avec les liaisons→ on cherche a determiner le deplacement δX qui lui correspond.→ linearisation de X = F (q) autour de la configuration q = q0

F (q) = F (q0) +∂ F

∂ qδq + . . .

∂ F

∂ qδq = δX

74

Page 75: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Jδq = δX

- δX : champ de deplacement relatif a la variation δq- rapporte a la variation de temps δt → δX

δt= J δq

δt≡ X = Jq

• Modele cinematique des chaınes fermees:→ par derivation de l’equation de contraintes

Figure 40: Coupure virtuelle transformant le mecanisme en chaıne ouverte

→ par la loi de composition des vitesses:Principe : on ajoute aux n corps en mouvement un n + 1 eme corps qui l’on met encoıncidence avec S0.

TC(Sn+1/S0) = 0 =∑

i=1,n+1

TC(Si/Si−1) =∑i=1,n

TC(Si/Si−1) + TC(S0/Sn)

θ1$1 + θ2$2 + r3$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’ecrit en O4 et dans B0:

H =

1 1 0 −1−(l1S1 + r3S12) −r3S12 C12 0l1C1 + r3C12 r3C12 S12 0

→ Partitionnement des variables:Dans le cas d’un systeme contraint si m > 0; (Ec = dν < Ic); (nc < n) :En partitionnant q = (qtd, q

ti)t; H peut s’ecrire comme:

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

Si Hd est non-singuliere:qd = −H−1

d Hiqi

q =(−H−1

d Hi

1

)qi

→ Loi entree/sortie (premiere methode):On peut etablir la relation entre une variable d’entree du mecanisme (ex. θ1) et une

75

Page 76: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

variable de sortie (ex. θ4) en utilisant une methode de reduction des variables passives.En dissociant variables d’entree, passives et de sortie, l’equation cinematique de fermeturese re-ecrit comme :

Hs(nc×ns)qs +Hp(nc×(n−ns))qp +He(nc×(n−nc))qe = 0

En utilisant une matrice Od telle que :

OtpHp = 0

La matrice Op constitue le complement orthogonal a Hp. Elle peut etre determineeen utilisant une orthogonalisation de Gramm-Schmidt par exemple. En multipliantl’equation cinematique de fermeture par la matrice Ot

p on a la relation entree/sortie:

OtpHs(nc×ns)qs +Ot

pHe(nc×(n−nc))qe = 0

→ Loi entree/sortie (seconde methode):On peut aussi utiliser une methode d’elimination fondee sur l’utilisation d’un torseurreciproque :

θ1$1 + θ2$2 + r3$3 = θ4$4

On cherche pour cela un torseur $R1 tel que :

$R1.$2 = 0

$R1.$3 = 0

On trouve que $R1 = (−S12, C12,−r3). Ce torseur geometrique peut etre assimile a uneforce passant par O2 et orthogonal a la direction de l’axe de la liaison de translation.• Modele cinematique des systemes paralleles

La methode de determination du modele cinematique des robots paralleles developpeedans ce qui suit utilise le principe des torseurs reciproques propose ci-dessus.→ Modele cinematique direct du chemin ′j′:

∑i=1,m

qji $ji = Ω$

76

Page 77: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

→ Si $ji sont lineairement independants, on determine $Rji :

$Rj

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

→ En mutlipliant ce torseur a droite et a gauche:

qji ($ji .$

Rj

i ) = Ω$.$Rj

i

On repete pour toutes les liaisons actives pour obtenir le modele cinematique sous laforme canonique:

Bq = D ˜X

˜X = (vx, vy, vz, ωx, ωy, ωz)t

- B est une matrice diagonale regroupant les termes $Rji .$

ji .

B =

$R

11.$

11 0 0 0 0 0

0 $R12.$

11 0 0 0 0

. . . . . .0 0 0 0 0 $R

Ng .$

Ng

- D, est de dimension (Ng ∗m), les coefficients sont Ng torseurs reciproques :

D =(

($R11)t ($R2

1)t . . ($Rg

N)t)t

Exemple : Le systeme 3RPR de la figure 41 presente une mobilite de 3. On utilisera

Figure 41: Schema cinematique d’un systeme parallele plan a 3 chemins RPR

comme variables actives les actionneurs lineaires de chaque chemin. Pour chaque cheminj on a l’equation de chaıne ouverte suivante :

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

77

Page 78: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

En notant les composantes des vecteurs OPBj et BjAj dans RP

OPBj =

ajbj0

etBjAj =

UjVj0

Pour eliminer les variables, on utilisera le torseur reciproque $R

j2 tel que :

$Rj

2.$jk = 0, pour k = 1, 3

et qui est :

$Rj

2 = (Cθj1, Sθj1, ajCθj1 )t

Ce torseur peut etre interprete physiquement comme l’action transmise par le chemin jsur SP par l’actionneur de la liaison active consideree.Le systeme etant symetrique, on obtient donc directement le modele cinematique quiprend la forme suivante : 1 0 0

0 1 00 0 1

︸ ︷︷ ︸

B

r12

r22

r32

︸ ︷︷ ︸

q

=

Cθ11 Sθ1

1 a1Cθ11

Cθ21 Sθ2

1 a2Cθ21

Cθ31 Sθ3

1 a3Cθ31

︸ ︷︷ ︸

D

ωzvxvy

︸ ︷︷ ︸

˜X

Les lignes de la matrice D sont les actions transmises par les actionneurs sur SP pourcommander son mouvement.Pour le systeme plan pris comme exemple, le mouvement de SP sera completement com-mandable si les 3 actions (les 3 forces) soient lineairement independantes.

→ Ce meme modele aurait pu etre etabli en considerant que la vitesse de chaquepoint Bj s’ecrit vectoriellement :

vBj= vOP

+BjOP ∧ ω

vBj= vOP

+ BjOP ω

vBj= (Id, BjOP )X = Ej

˜X

On peut eliminer les variables passives dans le cas ou les actionneurs lineaires sont reliesa SP et SO par des liaisons de rotation d’axes concourants en Aj et Bj en consederantque la vitesse du point Bj par rapport a RO s’ecrit :

vBj= rj2z

j2 + ωSj

3/S0∧ rj2z

j2

On obtient donc l’egalite :

rj2zj2 + ωSj

3/S0∧ rj2z

j2 = vOP

+BjOP ∧ ω

78

Page 79: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

En projetant cette equation sur l’axe zj2, on a :

rj2 = (zj2, OPBj ∧ zj2)(vOP

ω

)On retrouve le meme resultat que precedemment. L’une et l’autre des 2 methodes sontutilisables pour obtenir les modeles cinematiques des plate-formes de Gouth-Stewart.

→ Dans le cas particulier ou la liaison en Bj est une liaison de type rotule (ouequivalente comme pour l’exemple du prehenseur articule de la figure 42. Seule la vitesselineaire produite par le chemin j est alors transmise sur SP , on a :

Figure 42: Schema cinematique d’un mecanisme de prehension articulee

vBj= Jvj q

j

qj etant le vecteur regroupant les autres variables cinematiques du chemin j. Le modelecinematique de l’ensemble peut donc s’ecrire sous la forme suivante (toujours en con-siderant l’exemple ci-dessus): Jv1 0 0

0 Jv2 00 0 Jv3

q

1

q2

q3

=

E1

E2

E3

˜X

79

Page 80: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

7 Transmission des efforts

• Probleme : On a souvent a etablir les relations entre les differents efforts exterieurss’exercant sur Σ. Ces relations servent en particulier a determiner les commandes aappliquer dans les articulations d’un systeme pour compenser les effets de gravite ou lesactions a appliquer par l’effecteur sur l’environnement. Pour ce faire nous utiliserons leprincipe des travaux virtuels.

Classification des actions:→ Efforts interieurs : efforts d’interaction - efforts de liaion - et efforts qui s’opposentaux deformations→ Efforts exterieurs : efforts de contact entre SP/Ext a Σ, efforts actionneurs, effets adistance.

7.1 Etude de l’equilibre

La transmission des efforts peut s’analyser a partir du principe des travaux virtuels• Enonce: ∃ un reprere galileen dans lequel, ∀t, pour tout deplacement δq virtuel deΣ, la somme des travaux virtuels de toutes les actions est nulle.

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

- δWi travail des actions interieures- δWe travail des actions exterieures- δWj travail des actions d’inertie• Deplacement virtuel :Un deplacement virtuel est un deplacement infinitesimal imaginaire impose a Σ (a t =cte). Ce deplacement peut etre compatible (licite) ou incompatible avec les liaisons.→ Pour un point:Le mouvement virtuel d’un corps est defini a t en associant a toute valeur de u uneposition de chaque point (a u = 0 correspond la position reelle de Σ a t).→ Si M ∈ Σ est parametre par q:

δM = limu→0

1

u(M(q(u), t)−M(q(0), t)) =

∂ M

∂q(q(0), t0)

d q

d u(0) =

∂ M

∂qδq

80

Page 81: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

δM =∂ M

∂q1

δq1 +∂ M

∂q2

δq2 + . . .+∂ M

∂qnδqn =

∑i=1,n

∂ M

∂qiδqi

→ Deplacement virtuel d’un solide:Le champ des deplacements virtuels (TC(Si) = (δΦi, δOi)) de Si verifie la relation :

δPi = δOi + PiOi ∧ δΦi

Pour un solide dans le plan:

δPi = δOi + δ(Ripi) = δOi +∂Ri

∂θipiδθi = δOi +

∂Ri

∂θiRti(Pi −Oi)δθi

ou sous forme vectorielle : δPi = δOi + PiOi ∧ δθi

→ Pour un systeme Σ le deplacement virtuel compatible avec les liaisons d’un solidede configuration X(q).

d X

dt=∂ X

∂q

d q

dt

dX =∂ X

∂qdq

Si δq ≡ dq :

δX =∂ X

∂qδq = Jδq

→ Exemple du 2R plan :

δX =

δΦδPx0δPy0

=

1 1−l1Sθ1 − l2Sθ12 −l2Sθ12

l1Cθ1 + l2Cθ12 l2Cθ12

( δθ1

δθ2

)= J

(δθ1

δθ2

)

• Travail d’une force exterieure sur SiLe travail virtuel d’une force appliquee en Pi s’ecrit :

δWe,i = Fi.δPi = F ti δPi

δWe,i = Fi.δOi + Fi.(PiOi ∧ δΦi)

δWe,i = Fi.δOi +Mi(Oi).δΦi = TC(Si).TS(Si)

avec : TC(Si) = (δΦi, δOi) et TS(Si) = (Fi,Mi(Oi))→ Pour un corps dans le plan :

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

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

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

81

Page 82: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• Travail d’un systeme de forces exterieuresLe travail d’une famille de forces (Pj, Fj) appliquee a Si s’ecrit :

δWe, i = F1,i.δP1,i + F2,i.δP2,i + . . .+ Fnf ,i.δPnf ,i

δWe, i =∑

j=1,nf

Fj,i.δPj,i =∑

j=1,nf

Fj,i.δOi +∑

j=1,nf

Fj,i.(Pj,iOi ∧ δΦi) = R.δOi +M(Oi).δΦi

- T(Si) = (R,M(0i)) sont la resultante et le moment en Oi du champ de forces.→ Le travail virtuel d’un champ de forces ne depend que du torseur resultant TS(Si)

.→ Notion de forces generalisees pour un solide:Forces provoquant une variation decouplee des parametres de configuration (Oi,Φi):

δWe, i = Fi.δPi + Ci.δΦi = Fi.(δOi + PiOi ∧ δΦi) + Ci.δΦi

δWe, i = Fi.δOi + (Ci.δΦi + Fi.(PiOi ∧ δΦi))

δWe, i = Fi.δOi + (Ci + (Fi ∧ PiOi)).δΦi) = QtfδOi +Qt

mδΦi

- Qf : force generalisee associee au parametre de position- Qm: force generalisee associee au parametre de rotation

→ Travail des forces generalisees pour Σ parametre par q, avec δq = (δq1, . . . , δqn)t

δWe,Σ = Q1δq1 +Q2δq2 + . . .+Qnδqn = Qtδq

ici Q = (Q1, Q2, . . . , Qn)t

→ Application au 2R plan:Les forces generalisees exterieures au systeme permettent d’etablir les relations entre lesforces articulaires, les forces de gravite et les forces s’appliquant sur l’effecteur.

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

En considerant alternativement δθ1 6= 0 et δθ2 6= 0 on obtient les 2 relations scalairessuivantes :

C1 +P1y0(l12Cθ1)+P2y0

(l1Cθ1 +l22Cθ12)+Fx0(−l1Sθ1− l2Sθ12)+Fy0(l1Cθ1 + l2Cθ12) = 0

82

Page 83: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 43: Travail des interefforts de liaison

C2 + P2y0(l22Cθ12) + Fx0(−l2Sθ12) + Fy0(l2Cθ12) = 0

Sous forme matricelle :(C1

C2

)= −

[(( l1

2Cθ1) (l1Cθ1 + l2

2Cθ12)

0 ( l22Cθ12)

)(P1y0P2y0

)+(

(−l1Sθ1 − l2Sθ12) (l1Cθ1 + l2Cθ12)(−l2Sθ12) (l2Cθ12)

)(Fx0Fy0

)]

C = −[N + J tvFext]

• Travail des actions interieuresLes actions interieures a Σ se decomposent en forces qui s’opposent aux deformations eten forces de contact.

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

pour un deplacement virtuel rigide TC(1/2), on a :

δWl, 1/2 + δWl, 2/1 = TS(1/2).TC(1/2) + TS(2/1).TC(1/2) = 0

[TS(1/2) + TS(2/1)].TC(1/2) = 0⇒ TS(1/2) = −TS(2/1)(R1/2

M1/2

)= −

(R2/1

M2/1

)En introduisant le parametrage q pour definir la position de S1/S2, on peut ecire lapuissance virtuelle des forces de liaison en fonction des forces generalisees de liaison Lj :

δWi,Σ = δWl,Σ =∑j=1,6

Ljδqj

→ Application a 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 reel (ou virtuel licite avec les contraites) δWl,Σ = 0 ∀δq

δWl1/2 = Mz.δΦz = 0

• Equilibre d’un solide→ Pour un solide isole (Σ = Si) :

δW, i = δWe, i+ δWl, i = δWe, i = 0

83

Page 84: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 44: Equilibre d’une prise

Figure 45: Equilibre d’une prise plane bidigitale

En considerant un deplacement virtuel de Si dans SE(3), on obtient un systeme de 6equations scalaires : ∑

j=1,nf

Fj,i = 0

∑j=1,nf

(OPj ∧ Fj,i) +∑

j=1,nc

Cj,i = 0

→ Equations d’equilibre de S (unique, δWj = 0)Exemple d’application aux equations d’equilibre d’une prise. Dans ce cadre, on considerel’objet S saisi par les doigts qui developpent des forces de contact Fj,S comme le montrela figure 7.1.

Exemple d’une prise plane bidigitale :

F1/S + F2/S = −P

OPP1 ∧ F1/S +OPP2 ∧ F2/S = 0 1 0 −1 00 1 0 10 −r 0 r

f1

f2

f3

f4

=

0P0

84

Page 85: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

→ Pour un systeme de solides :

δW,Σ =∑

i=1,(b−1)

(δWl, i+ δWe, i) =∑

i=1,(b−1)

δWe, i = 0

Un systeme de solides Σ = (S1, . . . , S(b−1)) est en equilibre si les forces exterieures sontequilibrees.

δWe,Σ =∑

j=1,nf

Fj.δPj +∑

j=1,nc

Cj.δΦj

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

δPj =∂Pj∂q

δq ; δΦj =∂Φj

∂qδq

δWe,Σ = [∑

j=1,nf

F tj

∂Pj∂q

+∑

j=1,nc

Ctj

∂Φj

∂q]δq

δWe,Σ = Qteδq = 0

Le PTV est vrai ∀δqi ce qui entraıne :

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

Si les qi sont independants, le systeme d’equations de la statique ainsi derive a mequations.→ Exemple du 2R planSi on neglige P1 et P2:(

C1

C2

)= −

(−l1Sθ1 − l2Sθ12 −l2Sθ12

l1Cθ1 + l2Cθ12 l2Cθ12

)(Fx0Fy0

)

C = −J tvFext→ Application au systeme bielle-manivelle (Sans masse - Commande C1 - Sortie F )

C1δθ1 − FδO3 = 0

C1δθ1 − F (−l1Sθ1δθ1 − l2Sθ12δθ2) = 0

C1 = F (−l1Sθ1 + l2tgθ12Cθ1)

85

Page 86: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 46: Transmission des efforts dans un mecanisme en chaıne fermee

8 Analyse de la transmission cinematique

8.1 Singularites dans les chaınes series

Pour aborder l’analyse et l’interpretation des singularites dans les mecanismes series nousallons considerer le systeme 2R plan place dans la configuration θ2 = 0

Figure 47: Manipulateur 2R place dans une singularite

X = Jv q(vx0

vy0

)= θ1$1 + θ2$2 =

(−Sθ(l12) −Sθ(l2)Cθ(l12) Cθ(l2)

)R0

(θ1

θ2

)(vx2

vy2

)=(

0 0l12 l2

)R2

(θ1

θ2

)vx0

vy0

= −tan(θ)

86

Page 87: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

→ Les 2 composantes de la vitesse dans R0 sont liees, une composante dans R2 estnulle.→ La matrice Jv n’est plus reguliere. Les vecteurs-colonnes ne sont pas lineairementindependantes: rg(Jv) = 16 ∃ de solution a q pour X arbitraire→ θ1$1 + θ2$2 = 0 avec θ1, θ2 non tous nuls.→ Si T = $1, $2, ∃TR = $R ∈ TR/∀$ ∈ T ; $.$R = 0, dim(TR) = 1→ ∃ un torseur statique $R qui ne fait pas travailler les liaisonsDetermination : $R = (u, v)t

−Sθl12u+ Cθl12v = 0

−Sθl2u+ Cθl2v = 0

u = Cθ v = Sθ

→ A partir de la loi de transmission des forces : τ = −J tFext(τ1

τ2

)=(−Sθ(l12) Cθ(l12)−Sθ(l2) Cθ(l2)

)R0

(fx0

fy0

)(τ1

τ2

)=(

0 Cθ(l12)0 Cθ(−l2)

)R2

(fx2

fy2

)fx2 n’est pas commande par les τi

• Interpretation (pour des systemes ou m = d)→ Lorsque J (J t) est singuliere, la mobilite du mecanisme diminue.

mc = rg(J)

-mc : mobilite reelle→ Reciproquement un effort compatible avec les liaisons apparaıt.→ si J est vue comme la matrice d’une application lineraire de E(q) vers E(X)

dim(R(J)) + dim(N(J)) = n

∃ un mouvement interne qui n’influence pas la sortie. Le mouvement interne est solutiona:

JR2 θh = 0

θh = k( l2l121

)= kN(J)

8.2 Singularites dans les chaınes fermees

• Pour le mecanisme bielle-manivelle

Cq q =

1 1 1 00 −l2Sθ12 0 −1x l2Cθ12 0 0

θ1

θ2

θ3

x

=

000

87

Page 88: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 48: Exemple de chaıne fermee simple

Les determinants de rang 3 de Cq sont :

∆123 = l2xSθ12 ∆234 = −l2Cθ12 ∆134 = −x ∆124 = −x+ l2Cθ12

Ils s’annulent simultanement lorsque :

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

Dans cette configuration, le rang des equations cinematiques de contrainte rg(Cq) estdiminue rg(Cq) = 2, (mc = Ic − rg(Cq)). Ici, la mobilite du mecanisme est augmenteed’une unite. La matrice Cq devient :

Cq =

1 1 1 00 −l2Sθ12 0 −10 0 0 0

et le torseur reciproque $R a ce systeme est : $R = (0, 1, 0). On parle d’une configurationincertaine.En considerant toujours l’exemple precedent, on peut dire que pour le systeme pris sousla forme :

[$1 $2 $3]

θ1

θ2

θ3

= $4 ( x )

1 1 10 −l2Sθ12 0x l2Cθ12 0

θ1

θ2

θ3

=

010

( x )

→ (n−p) torseurs deviennent lineairement dependants, les p torseurs etant independants.Les amplitudes des p torseurs deviennent nulles. Apparaıssent alors les configurationsstationnaires.Pour determiner l’ensemble des configurations stationnaires, il convient de considerer lescas suivants :

1. rg([$1 $2 $3]) < 3 alors x = 0 → x = 0 et θ12 = π/2 + kπ

2. rg([$1 $2 $4]) < 3 alors θ3 = 0 → idem

88

Page 89: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

4. rg([$2 $3 $4]) < 3 alors θ1 = 0 → θ12 = π/2 + kπ

La mobilite du systeme a proprement parler n’est pas modifiee. Dans le mouvement,l’un des parametres prend une valeur nulle.

8.3 Singularites dans les chaınes paralleles

→ Pour aborder cette question on considere a nouveau le mecanisme bielle-manivelledans lequel seule la variable θ1 est active, a partir de la relation :

θ1$1 + θ2$2 + θ3$3 − x = 0

θ1

10x

+ θ2 +

1−l2Sθ12

l2Cθ12

+ θ3

100

= x

010

en multipliant par $R1 = (Cθ12, Sθ12, 0)t, on obtient :

xSθ12θ1 = Cθ12x

Si on considere l’entree comme θ1 et la sortie x, on a alors :- des configurations stationnaires : x = 0 et θ12 = 0 + kπ- des configurations incertaines : θ12 = π/2 + kπ

→ D’une maniere generale, a partir du modele :

Bq = D ˜X

On peut montrer que le systeme presente :

1. configurations stationnaires lorsque B est singuliere. Lorsque B devientsinguliere, l’une des compsantes de la diagonale (du type $R

ji .$

ji et qui represente

la puissance normee developpee par l’actionneur de la liaison active considereedans le mouvement induit sur SP ) devient nulle. $R

ji est donc reciproque a tous les

torseurs des liaisons actives et passives du chemin j. On a a faire a une configurationstationnaire.

2. configurations incertaines lorsque D est singuliere. Lorsque D devient sin-guliere, les actions developpees par les actionneurs sur SP ne sont pas lineairementindependantes. SP n’est pas completement commande.Le mouvement incontrole peut etre defini en deteminant le systeme de torseursreciproques T R aux torseurs $R

ji de D.

89

Page 90: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

9 Resolution des modeles inverses

9.1 Cinematique inverse des chaınes series (n = d)

• Objet :Determiner les vitesses articulaires (q) (ou les deplacements) pour commander lemouvement absolu de l’effecteur.• Demarche :Inverser le systeme d’equations lineaires ”Modele cinematique direct” (ou le modeledifferentiel).

X = Jq (δX = Jδθ)

• Resolution numeriqueSi le systeme est de Cramer (m equations a n inconnues), J−1 existe : q = J−1X

qj =1

detJ

∑i=1,m

Aijxi

→ qj est obtenu par le quotient du determinant obtenu en remplacant dans J lajieme colonne par X et le determinant de J .→ Exemple du 2R plan

θ1 =

∣∣∣∣ vx0 −l2Sθ12

vy0 l2Cθ12

∣∣∣∣l1l2Sθ2

θ2 =

∣∣∣∣−(l1Sθ1 + l2Sθ12) vx0

(l1Cθ1 + l2Cθ12) vy0

∣∣∣∣l1l2Sθ2

→ Si le systeme n’est pas de Cramer, une solution exacte existe si le vecteur Xappartient a l’espace vectoriel des rg(J) = r vecteurs colonnes Ji de J , cad si :

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

→ Exemple du 2R plan dans une singularite:(−l12Sθ −l2Sθl12Cθ l2Cθ

)(θ1

θ2

)=(−tgθvy

vy

)

90

Page 91: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• Par utilisation d’une elimination de Gauss (LU decomposation) :

X = J θ = L Uθ

En posant :y = Uθ

On calcule par substitution y a partir de :

X = L y

puis θ• Autre forme de resolution (m = d)

∑i=1,6

qi$i = Ω$

→ Si les $i sont lineairement independants, on determine $Ri:

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

En multipliant ce torseur a droite et a gauche:

qi = Ω$.$Ri$i.$Ri

On repete pour toutes les articulations.

Bq = DX

- B est une matrice diagonale regroupant les termes $Ri.$i.

B =

$R1.$1 0 0 0 0 0

0 $R2.$2 0 0 0 0. . . . . .0 0 0 0 0 $R6.$6

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

D = ( ($R1 )t ($R2 )t . . ($R6 )t )t

La figure ?? donne une representation geometrique des torseurs de D dans le casdu systeme 3× 3R plan, considerant que seules les premieres liaisons sont actives.

• Modele cinematique inverse sous la forme: J−1 = B−1D

• Les composantes scalaires (x, y, z, x0, y0, z0) de $Ri se calculent en resolvant :

$k.$Ri = 0 k = 1, .., 6 k 6= i; x2 + y2 + z2 = 1

• $⊥i est tel que:$⊥i = $1 ∧ $2 ∧ ..... ∧ $n−1

91

Page 92: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

(a) Si $⊥i 6= 0: ($⊥i) = (−1)i+1∆i

(b) Si 2 des torseurs sont lineairement dependants, $⊥i = 0.Dans (x, y, z, εx, εy, εz), $⊥1 orthogonal a ($2, $3, $4, $5, $6, ) :

$⊥1 =

∣∣∣∣∣∣∣∣∣∣∣∣∣∣

x y z εx εy εzu2 v2 w2 l2 m2 n2

u3 v3 w1 l3 m3 n3

u4 v4 w4 l4 m4 n4

u5 v5 w5 l5 m5 n5

u6 v6 w6 l6 m6 n6

∣∣∣∣∣∣∣∣∣∣∣∣∣∣9.2 Systemes series redondants (n > m = d)

Pour des systemes cinematiquement redondants, le probleme cinematique inverseest sous-determine (infinite de solutions)→ Partitionnement des variables :Si rg(J) = m, on peut partitionner J ∈ Rm×n :

J = ( Jpm×m Js(m)×(n−m) ) q =(qpqs

)

→ Les qs sont des variables secondaires fixees arbitrairement: qp = J−1p (X − Jsqs)

→ Exemple du 3R plan en ne considerant que la vitesse lineaire de P :(−(l1Sθ1 + l2Sθ12 + l3Sθ123) −(l2Sθ12 + l3Sθ123)(l1Cθ1 + l2Cθ12 + l3Cθ123) (l2Cθ12 + l3Cθ123)

)(θ1

θ2

)=(vx0

vy0

)−θ3

(−l3Sθ123

l3Cθ123

)• La solution generale est determinee comme la somme d’une solution particuliereet d’une solution homogene :

qg = qp + qh

- qp: solution particuliere- qh : solution a Jqh = 0

qh = N(J)λ dim(N(J)) = (n−m)

→ Solution homogene ≡ mouvement interne→ Exemple du 3P plan:

(1 0 10 1 0

) r1

r2

r3

h

=(

00

)

qh = λ1

−101

92

Page 93: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 50: Manipulateur 3P

→ Une solution particuliere de norme Euclidienne de q minimum est donnee par :

qp = J t(JJ t)−1X = J+X

→ Exemple du 3P plan : r1

r2

r3

p

=

1/2 00 1

1/2 0

( vx0

vy0

)

→ pseudo-inverse a droite qui se calcule directement si rg(J) = m→ si rg(J) < m on utilise pour le calcul la decomposition en valeurs singulieres(SVD):

J+SV D = V Σ+U t Σ+ = diag(1/σ1, 1/σ2, . . . 1/σr)

J+SV D =

∑i=1,r

σ−1i viu

ti

→ On peut aussi utiliser la methode de Levenberg-Marquardt pour determiner unepseudo-inverse :

J+LM = J t(JJ t − λ1d)

−1 λ > 0 ∈ R+

La SDV de J t(JJ t − λ1d)−1 est :

J+SV D =

∑i=1,r

σiσ2i + λ2

viuti

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

σiσ2i + λ2

≈ 1/σi

→ Une solution homogene peut etre determinee en utilisant la projection orthog-onale sur le noyau de J donnee par : (Id − J+J)

qh = (Id − J+J)z z ∈ Rn

93

Page 94: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Elle peut etre utilisee pour optimiser un objectif secondaire.→ Le vecteur z peut etre calcule comme le gradient d’une fonction cout g(q) (definiepositive et dependante de q):

z = α

∂g∂q1...∂g∂qn

→ Exemples de fonction g(q):- pour optimiser la distance aux butees articulaires

g(q) =∑i=1,n

((qi − qimoy)

∆qi

)2

- pour optimiser la manipulabilite

g(q) =√det(JJ t)

9.3 Algorithmes de commande en position

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

q(t) =∫ t

0q(t)dt+ q(0)

→ par utilisation de la methode d’integration d’Euler, pour ∆t, la position at(k+1) = t(k) + ∆t est :

q(t(k+1)) = q(t(k)) + q(t(k))∆t = q(t(k)) + J−1(q(t(k)))X(q(t(k)))∆t

L’integration numerique introduit une erreur en position et orientation de l’effecteur:

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

→ Correction de l’erreur par utilisation de la methode de Newton:L’utilisation de :

q = J−1(q)(Xd + diagK e)

conduit a :e+ diagK e = 0

qui si diagK est definie positive est un systeme asymptotiquement stable.

94

Page 95: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

10 Analyse de la transmission des efforts

10.1 PSI pour un systeme isostatique

→ Commander les efforts pour obtenir l’equilibre.→ Pour un corps isole (Σ = Si)

G f = −Fext→ Resolution numerique:Si le systeme est de Cramer (m equations a n inconnues) G−1 existe:

f = G−1(−Fext)

fj = − 1

detG

∑i=1,m=n=d

AijFexti

→ Resolution analytique:

∑i=1,6

fi$i = −Fext$

fi = −Fext$.$Ri$i.$Ri

→ Pour un systeme de corps:

τ = −J tFext

10.2 PSI pour un systeme hyperstatique

→ Pour un corps isole (Σ = Si)

Fext = −G f

La solution generale est determinee comme:

fg = fp + fh

- fp : solution particuliere- fh : solution homogene, solution a Gfh = 0→ Exemple:

1 0 −1 00 1 0 1−r 0 r 0

f1

f2

f3

f4

= 0

95

Page 96: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

f1

f2

f3

f4

h

= k

1010

→ Une solution particuliere de norme Euclidienne de f minimun est donnee par :

f1

f2

f3

f4

p

=

1/2 0 00 1/2 −1/2r−1/2 0 0

0 1/2 1/2r

0P0

fp = Gt(GGt)−1(−Fext)

→ Une solution homogene peut etre ajoutee en utilisant la projection orthogonale(Id −G+G)Remarque : Autre methode de calcul de fh.

fh = (Id −G+G)z

fh =

1/2 0 1/2 00 0 0 0

1/2 0 1/2 00 0 0 0

z1

z2

z3

z4

96

Page 97: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

11 Dynamique des systemes

11.1 Acceleration du point

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

γ(0)M =

d(0)

dtvM = M(t) = xMx0 + yMy0 + zMz0

11.2 Acceleration du solide

→ Champ des accelerations des points d’un solide

P0 =d(0)

dt[ω01(P0 − d01) + d01]

P0 = ˙ω01(P0 − d01) + ω01(P0 − d01) + d01

P0 = ˙ω01(P0 − d01) + ω201(P0 − d01) + d01 = d01 + ( ˙ω01 + ω2

01)(P0 − d01)

sous forme vectorielle :

(P0)R0 = (O1)R0 + (ω01 ∧ P1)R0 + (ω01 ∧ (ω01 ∧ P1))R0 = γ(0)P∈R1

→ Acceleration angulaire :

˙ω01 =d(0)

dt(R01R

t01)

→ Mouvement de rotation plan : ˙ω01 = θ

0 −1 01 0 00 0 0

→ ω01 = θz0

→ Mouvement de rotation parametre par les angles d’Euler:

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

ω0S = HΦ + HΦ

avec HΦ =

−φθSφ+ ψ(φCφSθ + θSφCθ)φθCφ+ ψ(φSφSθ − θCφCθ)

−θψSθ

On montre egalement que le champ des accelerations d’un solide peut s’exprimer apartir de la derivation du torseur cinematique represente geometriquement a l’aided’un torseur unitaire.

97

Page 98: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

11.3 Composition des accelerations

Si le point P est un mobile dans R1

P0 = ω01(P0 − d01) + d01 +R01P1

P0 = d01 + ˙ω01(P0 − d01) + ω01(P0 − d01) + R01P1 +R01P1

P0 = d01 + ˙ω01(R01P1) + ω01(ω01P1 +R01P1) + R01P1 +R01P1

P0 = d01 + ( ˙ω01 + ω201)(R01P1) + 2ω01(R01P1) +R01P1

Traduit en vecteurs :

(P0)R0 = (O1)R0 + (ω01 ∧ P1)R0 + (ω01 ∧ (ω01 ∧ P1))R0 + (2ω01 ∧ P1)R0 + (P1)R0

γ(0)P∈R2

= γ(0)P∈R1

+ γc + γ(1)P∈R2

11.4 Geometrie des masses

• Proprietes de la masse→ La masse (m) est une fonction d’ensemble definie sur les parties P de S:

m(P) : P → R+

→ La masse est une grandeur additive:Si P1 ∩ P2 =6 → m(P1) +m(P2) = m(P1 ∪ P2)• Masse d’un solide homogeneLa masse de S est un champ scalaire defini comme :

P ∈ P = S : m(S) =∫P∈v

ρ(P )dv =∫P∈v

dm

- ρ(P ) est la fonction densite de masse- dv un volume elementaire- dm est la masse d’un ”petit” element de volume centre en P .• Centre de gravite (centre d’inertie)→ Solide S

OG =1

m(S)

∫P∈S

OPdm; m(S) =∫P∈S

dm

→ S = P1 ∪ P2 avec P1 ∩ P2 =6

m(P1)OG1 =∫P∈P1

OP dm m(P2)OG2 =∫P∈P2

OP dm

OG =1

m(P1) +m(P2)(m(P1)OG1 +m(P2OG2)

• Integration selon la loi de masseL’integration par rapport a la loi de masse de certains champs vectoriels servent a

98

Page 99: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

definir des grandeurs cinetiques:→ Soit le champ vectoriel u donne sur S, l’integrale % la masse est J :

J (u, ρ, S) =∫P∈S

u(P )ρ(P )dP =∫P∈S

u(P )dm

→ Torseurs par rapport a la loi de masse :

(Resultante) R(u, ρ, S) =∫P∈S

u(P )ρ(P ) dP =∫P∈S

u(P ) dm

(Moment) M(u, ρ, S) =∫P∈S

OP ∧ u(P ) dm

→ Si u ≡ vitesse de S: torseur cinetique→ Si u ≡ acceleration de S: torseur dynamique• Tenseur d’inertie de S dans un repere lie a SLe tenseur d’inertie de S (de loi de masse ρ) en Q est :

JQ : u→ JQ(u) =∫P∈S

QP ∧ (u ∧QP )dm =∫P∈S−QP ∧ (QP ∧ u)dm

Un tenseur peut etre represente par ses composantes dans une base. Si QP =(x, y, z)t et u = (ux, uy, uz)

t dans RS:

QP ∧ (QP ∧ u) =

0 −z yz 0 −x−y x 0

0 −z y

z 0 −x−y x 0

uxuyuz

=

−(z2 + y2) xy xzxy −(z2 + x2) yzxz yz −(x2 + y2)

uxuyuz

• Matrice IQ associee au tenseur d’inertie JQ (matrice d’inertie):

IQ =

∫P∈S(z2 + y2)dm

∫P∈S −xydm

∫P∈S −xzdm∫

P∈S −xy dm∫P∈S(z2 + x2) dm

∫P∈S −yz dm∫

P∈S −xz dm∫P∈S −yz dm

∫P∈S(x2 + y2) dm

=

Ixx Ixy IxzIxy Iyy IyzIxz Iyz Izz

• Relation de HuygensLa relation de Huygens permet de relier les composantes de l’operateur d’inertie,dans une meme base, entre le point Q et le point GL’operateur JQ est defini par :

JQ(u) =∫P∈S

QP ∧ (u ∧QP ) dm =∫P∈S

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

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

99

Page 100: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Si QG = (a, b, c)t, et ‖ QG ‖2= d2 la matrice d’inertie est :

IQ =

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

Ixy −m(S)ab Iyy +m(S)(c2 + a2) Iyz −m(S)bc

Ixz −m(S)ac Iyz −m(S)bc I0z +m(S)(a2 + b2)

IQ = IG + IQG IQG = m(S)(‖ QG ‖2 Id −QG QGt)

11.5 Cinetique

• Torseur cinetique→ Definition:Le torseur cinetique de S dans son mouvement par rapport a R0 en Q est :

C(0)S = [Q

(0)S =

∫P∈S

v(0)P dm, σ

(0)Q =

∫P∈S

(QP ∧ v(0)P ) dm]

→ Expression de la resultante:

m(S)OG =∫P∈S

OP dm

Q(0)S =

d(0)

dt(m(S)OG) =

d(0)

dt(∫P∈S

OP dm)

Q(0)S = m(S)vG =

∫P∈S

vPdm

sous forme matricielle:

(Q(0)S ) = ( 0 m(S)Id )

(ω0S

vG

)= (m(S)∆(BG)t m(S)Id )

(ω0S

vB

)

→ Expression du moment :Si Q est un point de l’espace, G le centre d’inertie de S et B un point lie a S.

σ(0)Q =

∫P∈S

(QP ∧ v(0)P dm) =

∫P∈S

(QP ∧ (vB + ω0S ∧BP )) dm

σ(0)Q = QG ∧m(S)v

(0)B +QB ∧ (ω0S ∧m(S)BG) + JB(ω0S)

→ Simplifications :si Q = B ∈ S : σ

(0)B = BG ∧m(S)v

(0)B + JB(ω0S)

sous forme matricielle : (σ(0)B ) = ( IB m(S)∆(BG) )

(ω0S

vB

)

100

Page 101: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

si Q = B = G ∈ S : σ(0)G = JG(ω0S)

sous forme matricielle : (σ(0)G ) = ( IG ) (ω0S )

si A ∈ R0 : σ(0)A = JA(ω0S)

• Torseur dynamiqueLe torseur dynamique de S dans son mouvement par rapport a R0 en Q est :

D(0)S = [A

(0)S =

∫P∈S

γ(0)P dm ; δ

(0)Q =

∫P∈S

(QP ∧ γ(0)P ) dm]

→ Expression de la resultante:

A(0)S =

d(0)

dt(m(S)vG) =

d(0)

dt(∫P∈S

vPdm) = (m(S)γ(0)G ) =

∫P∈S

γ(0)P dm

sous forme matricielle : (AS) = (m(S)Id ) ( γG )→ Expression du moment :

δ(0)Q =

d(0)

dt(σ

(0)Q ) +m(S)v

(0)Q ∧ v

(0)G

soit en remplacant par le moment cinetique :

δ(0)Q =

d(0)

dt[QG ∧m(S)v

(0)B +QB ∧ (ω0S ∧m(S)BG) + JB(ω0S)] +m(S)v

(0)Q ∧ v

(0)G

→ Simplifications :si Q = B ∈ S : δ

(0)B = d(0)

dt[BG ∧m(S)v

(0)B + JB(ω0S)] +m(S)v

(0)B ∧ v

(0)G

si Q = B = G : δ(0)G = d(0)

dt[JG(ω0S)]

sous forme matricielle : (δG) = ( IG ) ( ω0S ) + ( ∆(ω0S) ) ( IG ) (ω0S )

si A ∈ R0 : δ(0)A = d(0)

dt[JA(ω0S)]

• Energie cinetique→ L’energie cinetique de S dans son mouvement par rapport a R0 est le scalaire:

T(0)S =

1

2

∫P∈S‖v(0)

P ‖2 dm

Calculee au point B ∈ S :

2T(0)S = v

(0)B∈S.

∫P∈S

v(0)P dm+ ω0S.

∫P∈S

BP ∧ v(0)P dm = TC

(0)S .C

(0)S

sous forme matricielle :

2T(0)S = (ω0S , vB )

(IB m(S)∆(BG)

m(S)∆(BG)t m(S)Id

)(ω0S

vB

)

2T(0)S = X t

iMiXi

Mi : matrice de masse de S→ Expressions particulieres :

101

Page 102: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

si B = G : 2T(0)S = m(S)‖vG‖2 + ω0S.JG(ω0S)

2T(0)S = (ω0S , vG )

(IG 00 m(S)Id

)(ω0S

vG

)si B ∈ R0 : 2T

(0)S = ω0S.IBω0S

→ Energie cinetique pour Σ

T =∑i=1,n

Ti =1

2

∑i=1,n

X tiMiXi

Xi : coordonnees du torseur des vitesses en Gi de Si par rapport a R0.• Calcul pratique : Xi peut etre determine en reduisant la jacobienne Ji a ses ipremieres colonnes et en utilisant Gi comme point de reference:(

ω0i

vGi

)= Xi = Jiq; Ji = [$1, $2, ....., $i, 0, ..., 0] $k = 0 k > i, n

→ Energie cinetique de Si :

Ti =1

2qtJ tiMiJiq

→ Energie cinetique du systeme :

T =∑i=1,n

Ti ≡1

2qtM(q)q

avec M(q) =∑i=1,n J

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

definie positive).

12 Modele dynamique

• Objet : Relier les grandeurs caracterisant le mouvement des corps doues d’unerepartition de masse aux efforts s’exercant sur les corps pour determiner les equationsdu mouvement.

12.1 Equation du mouvement pour un corps seul

Enonce du principe fondamental de la dynamique : Il existe un repere Galileen(R0) tel que pour Σ, le torseur dynamique de Σ dans son mouvement par rapporta R0 est egal au torseur des actions exterieures ce qui se taduit par la relationtorsorielle :

D(0)B = TSext/Σ

102

Page 103: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Cette relation conduit a 2 relatons vectorielle :→ Equation de resultante: Theoreme de la resultante dynamique (equation deNewton):

m(S)γ(0)G =

d(0)

dt(m(S)v

(0)G ) = Rext/Σ

→ Equation de moment : Theoreme du moment dynamique (equation d’Euler):

δ(0)B =

d(0)

dt(σ

(0)B ) = MBext/Σ

Les projections dans une base de ces equations vectorielles (equations differentiellesdu second ordre) constituent les equations du mouvement du solide Si evoluant dansun espace de dimension d = 3, 6.En developpant les equations de Newton-Euler pour le corps Si, on trouve :

m(Si)γGi= R(ext/Si)

d(0)

dt(IGi

ω0i) =d(0)

dt(R0iI

iGiRt

0iω0i) = I0Giω0i + R0iI

iGiRt

0iω0i +R0iIiGiRt

0iω0i

= I0Giω0i + ω0iI

iGiω0i + I iGi

ωt0iω0i = I0Giω0i + ω0iI

0Giω0i = MGi (ext/Si)

Ces equations peuvent etre mises sous la forme matricielle:

(m(S)Id 0

0 I0Gi

)(γGi

ω0i

)+(

0ω0iI

iGi

)(vGi

ω0i

)=

(R(ext/Si)

MGi (ext/Si)

)MSi

Xi + CSi(Xi, Xi) +NSi

(Xi) = F(ext/Si)

NSi(Xi) representant les forces exterieures de gravite et F(ext/Si) regroupant les

autres forces exterieures.

→ 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

Page 104: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

(γ(0)G2

)R0= (γ

(0)O1

)R0+ (γ

(1)G2

)R0

˙ω02 =d

dt(R02R

t02) =

0 −θ2 0θ2 0 00 0 0

vG2 =

(vG2x0

vG2y0

)=(

1 (l Sθ2)0 (−l Cθ2)

)(r1

θ2

)

γG2 =(γG2x0

γG2y0

)=(r1 − (l Cθ2θ

22 + l Sθ2θ2)

(−l Sθ2θ22 + l Cθ2θ2)

)En substituant dans les equations du mouvement:

m(S2)[r1 − θ2l Sθ2 − θ22l Cθ2] = fx0 (1/2) (2)

m(S2)[θ2l Cθ2 − θ22l Sθ2] = fy0 (1/2) −m(S2)g

I2z θ2 = C2 + l Cθ2 fy0 (1/2) − l Sθ2 fx0 (1/2)

Ce systeme forme les equations du mouvement du systeme Σ. Il s’agit d’un systemede d×k (d = 3, 6) equations differentielles du second ordre traduisant les theoremesgeneraux sur les k corps isoles. Ces equations peuvent etre reduites aux equationsdu mouvement relatives aux parametres de configuration q apres resolution desinter-efforts de liaison.

12.2 Obtention des equations du mouvement relatives auxparametres q pour un systeme arborescent

On peut obtenir les equations plus directement les equations du mouvement rela-tives aux parametres qk pour une chaıne serie en utilisant la projection du momentdynamique (si la liaison relative au parametre qk est une rotation) ou par projec-tion de la resultante dynamique du sous-systeme Σ = Sk, Sk+1, . . . Sn constitue descorps situes en amont de la liaison k (voir figure 12.2.

104

Page 105: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Pour une liaison de rotation, on a l’equation du mouvement relative a qk :

τi =∑i=k,n

(0)Ok

(Si).zi −OkGi ∧mi g.zi]

τi =[M i

Ok−M g

Ok

].zi

Pour une liaison de translation :

fi =∑i=k,n

A (Si).zi −mi g.zi

fi = (Rik −R

gk).zi

Un resultat equivalent peut etre obtenu par l’application du principe des travauxvirtuels.Un exemple typique d’utilisation des TG en robotique est donne par la determinationdes conditions de non-pivotement d’un robot humanoıde. On cherche en effet afaire que le moment au point de contact pied/sol selon l’axe t perpendiculaire a lanormale soit tel que : [

M iC(Σ)−M g

C(Σ)].t = 0

12.3 Equations du mouvement par application du PTV endynamique

Nous avons deja introduit les notions de travail virtuel pour des forces exterieures.Nous completerons ici en exprimant le travail virtuel des forces d’inertie.→ Pour le corps SiLe travail virtuel des forces d’inertie s’exercant sur Si est :

δWj, i = TC(Si).D(Si) = m(Si)γ(0)Gi.δGi + δ

(0)A .δΦi

105

Page 106: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• Pour un systeme de k solides parametre par n parametres qi.Le travail virtuel des forces d’inertie s’exercant sur Σ est :

δWj,Σ =∑i=1,k

Wj, i = (∑i=1,k

[m(Si)γ(0)Gi.∂ Gi

∂qδq] +

∑i=1,k

[δ(0)A .

∂ Φi

∂qδq])

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

Ji designe ici la force generalisee d’inertie relative au parametre qi.Les equations du mouvement de Σ peuvent etre derivee a partir du PTV en con-siderant l’ensemble des travaux virtuels des forces exterieures, de liaison et d’inertie:

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

Pour un systeme rigide parfait, on a :∑i=1,k

δWj, i+∑i=1,k

δWe, i = 0

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

Qi + Ji = 0 (i = 1, n)

→ Application au 2R planEn ne considerant que les effets de la gravite dans les actions exterieures, on a :

δWe,Σ = Q1δθ1 +Q2δθ2

δWj,Σ = J1δθ1 + J2δθ2

• A l’aide des formules de Lagrange, si les qi sont independants

Ji = −(d

dt(∂L∂qi

)− ∂L∂qi

)

ou L = T − U est le Lagrangien du systeme

d

dt(∂T

∂qi)− ∂T

∂qi+∂U

∂qi= Qi

106

Page 107: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

• Pour un solide S, T = 12X tMX:

∂T

∂X= MX

d

dt(∂T

∂X) = MX + MX

∂T

∂X=

1

2(∂MX

∂X)tX

L’equation du mouvement du solide S est donc :

MX + MX − 1

2(∂MX

∂X)tX +

∂U

∂X= Q

12.4 Modele dynamique inverse des systemes series

• Energie potentielle:U =

∑i=1,n

Ui =∑i=1,n

migtGO

i

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

1

)= T0i

(Gii

1

)et g designe l’acceleration de la pesanteur.• L’energie cinetique:

T =∑i=1,n

Ti =1

2

∑i=1,n

X tiMiXi =

1

2

∑i=1,n

∑j=1,n

Mij(q1, ..., qn)qiqj

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

d

dt(∂T

∂qi) =

d

dt(∑j=1,n

Mij(q1, ..., qn)qj)

d

dt(∂T

∂qi) =

∑j=1,n

Mij qj +∑j=1,n

Mij qj

107

Page 108: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

∂T

∂qi=

∂qi(1

2

∑j=1,n

∑k=1,n

Mjkqj qk) =1

2

∑j=1,n

∑k=1,n

∂Mjk

∂qiqj qk

• Equations du mouvement de Σ:

τi =∑j=1,n

Mij qj +∑j=1,n

∑k=1,n

(∂Mij

∂qkqj qk −

1

2

∂Mjk

∂qiqj qk) +

∂U

∂qi

τi =∑j=1,n

Mij qj +∑j=1,n

∑k=1,n

Hijkqj qk +∂U

∂qi

ou : Hijk = 12(∂Mij

∂qk+ ∂Mik

∂qj− ∂Mjk

∂qi)

• Systeme d’equations differentielles du second ordre compose des forces d’inertie,des forces de Coriolis et centrifuge et les forces derivant 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 generalisees,- C(q, q) : vecteur des effets de Coriolis et effets centrifuges,- N(q): vecteur des efforts generalises de pesanteur et de frottement visqueux.

12.5 Modele dynamique inverse

La configuration q(t) d’un manipulateur se determine en resolvant les q(t) a partirde :

M(q)q(t) = τ − [C(q, q)−N(q)] = τ

On peut alors utiliser la factorisation de Cholesky pour determiner q(t):

Lt Lq(t) = τ

Lt x = τ Lq(t) = x︸ ︷︷ ︸q(t) se calcule par integration numerique :

qt+hi = qti +∫ t+h

tqidt

qt+hi = qti +∫ t+h

tqidt

On remplace ensuite les integrales par des formules dıntegration comme les formulesdAdams-Moulton ou d’autres comme la formule de Newmark.

108

Page 109: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

12.6 Modele dynamique cartesien

On peut proceder a un changement de variables pour ecrire les relation entre forcesgeneralisees et forces cartesiennes. On peut ainsi voir la dynamique de l’ensembledu systeme comme rapportee a un objet ”‘virtuel”’ qui aurait instantanement lesmemes proprietes de masse que celles de l’ensemble du systeme.

τ = J tFc → Fc = (J−1)tτ

F = J−t(M(q)q + C(q, q) +N(q))

En derivant la relation :X = Jq

on a :X = Jq + J q

L’energie cinetique peut alors s’ecrire en fonction de X comme :

T =1

2X t(J−1)

tM(J−1)X = X tMxX

• Equations du mouvement dans X.

MxX + Cx +Nx = Fc

- Mx = (J−1)tM(q)(J−1),

- Cx = (J−1)tC(q, q)−MxJ(q)q,

- Nx = (J−1)tN(q).

• Equations du mouvement du systeme augmente de SP . Il devient alors tressimple d’ajouter un solide qui serait par exemple manipule par le systeme. Lesequations du mouvement du systeme augmente sont obtenues par :

(Mx +MS)X + (Cx + CS) + (Nx +NS) = Fc

12.7 Modele dynamique des systemes contraints

Lorsqu’il existe une interaction entre l’effecteur et l’environnement et que ce dernierest contraint par k < n contraintes holonomes independantes (voir illustrationfigure 52), le parametrage initial (hors contraites) du systeme devient surabondant.Les parametres initiaux ne sont plus independants. Ils faut alors completer lesequations du mouvement pour tenir compte des relations de contrainte entre lesparametres. Les relations relatives aux contraintes holonomes s’ecrivent sous laforme :

hi(q) = 0 i = 1, k

109

Page 110: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 52: Robot realisant une tache en interaction avec l’environnement

et les relations de contrainte entre les vitesses generalisees sont :∑j=1,n

∂hi∂qj

qj = 0 i = 1, k

∑j=1,n

Aij(q, t)qj = 0 i = 1, k

A(q)q = 0

A(q) ∈ Rk×n

Le complement orthogonal a A (note S(q)) definit, dans l’espace des variablesgeneralisees, la base des mouvements independants du systeme.Les equations du mouvement du systeme contraint s’ecrit en variables non-independantes:

τi =d

dt(∂L∂qi

)− (∂L∂qi

)−∑j=1,k

λjAij i = 1, n

A(q)q = 0

ou les λj sont les multiplicateurs de Lagrange, .

• Interpretation des λj:Les λj peuvent s’interpreter comme les amplitudes relatives des forces de contrainteselon les directions dans lesquelles le systeme ne peut se deplacer (i.e les forcesappliquees par le systeme pour qu’il reste en contact avec la surface de contrainte)

τ ci =∑j=1,k

λjAij i = 1, n

Le modele dynamique du systeme contraint par l’interaction avec l’environnements’ecrit donc :

τ =d

dt(∂L∂q

)− (∂L∂q

)− Atλ (3)

110

Page 111: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

τ =d

dt(∂L∂q

)− (∂L∂q

)− J tcfc (4)

τ + τc =d

dt(∂L∂q

)− (∂L∂q

) (5)

Jc est ici la Jacobienne des contacts.

• Determination numerique des λj.Les forces d’interaction peuvent etre determinees par le calcul a partir de :

Aq + Aq = 0

En reportant q dans le modele dynamique :

AM−1(τ − C −N) + AM−1Atλ+ Aq = 0

si les contraintes sont independantes (c’est a dire si la matrice A est de rang plein):

λ = (AM−1At)−1(AM−1(τ − C −N) + Aq)

• Reduction du modele dynamique en quasi-variablesLe modele dynamique peut etre etabli en fonction de variables independantes enprojetant les equations du mouvement sur la base des mouvements independantsS(q). Le vecteur q des vitesses generalisees est relie aux vitesses generaliseesindependantes par la relation :

q = S(q)u

ou S(q) ∈ Rn×m est le complement orthogonal a A(q) :

A(q)S(q) = 0

u represente le vecteur des variables de controle qui ne sont pas forcement desentrees du systeme, raison pour laquelle on parle de quasi-vitesses ou encore depseudo-vitesses. On peut reduire le modele dynamique pour l’exprimer en fonctiondes 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)tM(q)q + S(q)tC(q, q) + S(q)tN(q)

Sachant que :q = S(q)u+ S(q)u

En reportant dans l’equation precedente, on a :

S(q)tτ = S(q)tM(q)S(q)u+ S(q)tM(q)S(q)u+ S(q)tC(q, u) + S(q)tN(q)

• Methode de stabilisation de Baumgarte.Lorsque lon applique les schemas numeriques dintegration temporelle en presence

111

Page 112: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

de contraintes cinematiques, ces dernieres entrainent des instabilites numeriquespouvant amener a la divergence de la solution. Il existe des techniques pour eviterces instabilites lors de la resolution. Elles consistent principalement a transformerle systeme dequations differentielles algebriques (EDA) en un systeme dequationsdifferentielles ordinaires (EDO). Pour assurer la stabilite asymptoptique des con-traintes, la methode de Baumgarte propose de remplacer les contraintes geometriquespar une expression equivalente fonction des accelerations. Cette technique, que lonappelle regularisation des contraintes, sappuie sur la verification exacte des con-traintes cinematiques. Elle conduit a une nouvelle expression pour representer lescontraintes cinematiques dans le systeme dequations de la dynamique initial quiest alors transforme sous la forme qui ne fait intervenir que les accelerations.

112

Page 113: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

13 Generation de mouvement

Le probleme de la generation de mouvement dans la commande d’un robot dependdu type d’application considere. Dans un certain nombre de cas, la trajectoire asuivre peut etre definie a priori et n’est pas modifiee lors de son execution. Dansd’autres cas, on utilise un capteur pour definir de facon continue la trajectoire apartir de mesures faites sur l’environnement de travail.Dans le premier cas, la generation de mouvement determine donc a partir d’uneconfiguration initiale comment se rendre a une configuration finale en passant pardes configurations intermediaires comme illustre sur la figure 53. Elle fournit donca chaque periode d’echantillonage de la commande les consignes en position soitdans l’espace operationnel, soit dans l’espace articulaire.L’avantage de la premiere methode est qu’elle autorise un controle de la trajectoired e l’effecteur directement dans l’espace geometrique. Elle est mieux adaptee a lamise en oeuvre de capteurs pour l’adaptation de la trajectoire. La seconde planifiele mouvement dans l’espace des variables de controle. Aussi les contraintes relativesaux vitesses, accelerations, couples peuvent etre directement prises en compte.

Figure 53: Illustration de la generation de mouvement

Dans ce qui suit, on considere que le systeme est asservi en position comme montresur 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

Page 114: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 54: Schema de principe d’un asservissement en position

- r(t) : fonction d’interpolation telle que r(0) = 0 et r(tf ) = 1→ Interpolation lineaire du temps (a vitesse constante):

q(t) = q t+ qi =(qf − qi) t

tf+ qi

Cette loi introduit des discontinuites de vitesse.→ Interpolation polynomialePour satisfaire les contraintes :

q(0) = qi q(tf ) = qf

q(0) = qi = 0 q(tf ) = 0

on peut utiliser un polynome cubique :

q(t) = a0 + a1t+ a2t2 + a3t

3

Vitesse et acceleration sont :

q(t) = a1 + 2a2t+ 3a3t2

q(t) = 2a2 + 6a3t

a partir des contraintes, on deduit que :

a0 = q0; a1 = 0; a2 =3

t2f(qf − q0) a3 =

−2

t3f(qf − q0)

→ Interpolation polynomiale avec configurations intermediaires. Entre 2 configu-rations consecutitives :

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

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

Les coefficients du polynome sont alors :

a0 = q0

114

Page 115: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

a1 = q0

a2 =3

t2f(qf − q0)− 2

tfq0 −

1

tfqf

a3 =−2

t3f(qf − q0) +

1

t2f(qf + q0)

→ Pour satisfaire une continuite C2 (en acceleration), la courbe a choisir est unecourbe polynomiale de degre 5.

→ La faiblesse de linterpolation polynomiale, est que lerreur dinterpolation croitavec le nombre de points a interpoler. Cela se traduit experimentalement parde grandes oscillations du polynome dinterpolation, meme si la fonction est tressimple. Dou lidee dinterpoler par des fonctions polynomiales par morceaux (dessplines), dont le degre naugmente pas avec le nombre de points dinterpolation.

→ Interpolation avec profil de vitesse trapezoıdal.

Avec q(t) = cte, le point qm est tel que : qm = (qf − qi)/2 et tm = tf/2Par ailleurs :

qctc =qm − qctm − tc

qc = qi +1

2qct

2

On a alors :qct

2c − qctctf + (qf − qi) = 0

On peut determiner tc pour tf , qf , qi donnes :

tc =tf2− 1

2

√√√√t2f qc − 4(qf − qi)qc

L’acceleration est contrainte par :

‖qc‖ ≥4

‖qf − qi‖t2f

13.2 Trajectoires cartesiennes

• Probleme : Definition de la trajectoire a suivre pour se rendre d’une configurationinitiale T i0h a une configuration finale T f0h dans l’espace cartesien.

• Suivi d’une trajectoire en position La position d’un P peut etre decrite sur latrajectoire Γ a partir de la representation parametrique :

0P = f(s)

115

Page 116: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 55: Definition de trajectoires cartesiennes

- s : abscisse curviligne de Γ. s(t) = ˆP0P (t) represente la longueur du parcours.Sur cette trajectoire, on peut definir un repere mobile de Frenet tel que (en notantP le vecteur OP ):

t =d P

dsn =

1

‖d2 OPds2‖d2 OP

ds2b = t ∧ n

On peut ainsi definir la rotation du repere de Frenet par la matrice R:

R = [t; n; b]

On definit courbure (K = 1/ρ) et torsion (T ) de la courbe comme :

‖d tds‖ = K = 1/ρ

T = ‖d bds‖

Relations de Serret-Frenet : dt/dsdn/dsdb/ds

=

0 K 0−K 0 T

0 −T 0

tnb

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

vP = P =d OP

ds

d s

dt= st

γP = P = st+d t

dt= st+

1

ρs2 n

116

Page 117: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Une trajectoire rectiligne entre Pi et Pf est decrite parametriquement par :

P (t) = Pi + s(t)(Pf − Pi)‖Pf − Pi‖

(0 ≤ t ≤ tf )

La vitesse et l’acceleration sont :

P = st =s

‖Pf − Pi‖(Pf − Pi)

P = st =s

‖Pf − Pi‖(Pf − Pi)

Les derivees par rapport au temps des vecteurs du repere de Frenet sont :

d t

dt=d t

dss = sK n

d n

dt=d n

dss = −sK t+ sT b

d b

dt=d b

dss = −sT n

On determine la vitesse angulaire du repere de Frenet en considerant que :

d t

dt≡ ω ∧ t = −∆(t)ω

d n

dt≡ ω ∧ n = −∆(n)ω

d b

dt≡ ω ∧ t = −∆(b)ω

et on montre que :

ω =1

2[∆(t) ∆(n) ∆(b)]

sK n−sK t+ sT b−sT n

La vitesse angulaire peut aussi s’ecrire en fonction du vecteur de Darboux :

ω = s(T t+K b) = sδ

• Suivi du mouvement spherique Le mouvement de rotation a generer doit perme-ttre le passage de Ri

0h a Rf0h: La rotation est telle que :

Ri0hR

if (φ, s) = Rf0h

d’ou :Rif (φ, s) = (Ri

0h)tRf

0h

Pour Rif on peut determiner l’angle et l’axe de la rotation sachant que :

φ =1

2[arcos(trR− 1)] =

1

2arcos(r11 + r22 + r33 − 1)

s =1

2sinθ

r32 − r23

r13 − r31

r21 − r12

117

Page 118: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Le mouvement de rotation peut etre interpole a l’aide de la fonction r(t) par :

Rt0h = Ri

0hRif (r(t)φ, s)

Rt0h = Rf

0hRif (−(1− r(t))φ, s)

Le mouvement de rotation a realiser peut aussi etre obtenu a partir d’une interpo-lation sur les quaternions qui representent les differentes configurations angulaires.

On utilise generalement deux trajets distincts, l’un en position, l’autre en orienta-tion pour tenir compte de l’inhomogeneıte physique entre position et orientation(absence de metrique dans SE(3)). Ces deux trajets sont ensuite relies par unefonction de synchronisation donnant la longueur du trajet en orientation en fonc-tion de la longueur du trajet en position.

118

Page 119: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

14 Commande des mouvements

14.1 Commande articulaire en position

Le principe general de commande d’une articulation de manipulateur robotise estdonne sur la figure 56 Si on considere l’articulation j commandee par un moto-

Figure 56: Principe de commande d’une articulation

reducteur a courant continu dont :- le rapport de reduction est Nj

- la constante de couple (en mN/A) est Kcj

- le gain statique du hacheur de commande est Kaj

- la tension de commande uj.

NjKajKcjuj = Iaj qj + τj avec Iaj = N2j Jj

La commande articulaire pour l’ensemble du manipulateur peut s’ecrire matricielle-ment :

NKaKcu = ((M(q) +N2J)q + C(q, q) +N(q)

• Commande avec regulateurs simples:La solution la plus simple pour commander les articulations en position consiste autiliser des regulateurs PID locaux. Le schema de principe d’un tel asservissementest donne sur la figure 57: La loi de commande est alors :

Figure 57: Shema de principe d’un PID

119

Page 120: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

∫0,t

(qd − q)dt

et le calcul des gains est fait en considerant le modele simplifie :

τj = Mjjmaxqj

Mjjmax designe la valeur maximale de la composante Mjj de la matrice d’inertie(integrant l’inertie du moto-reducteur). Pour un controleur PD avec compensationde gravite, la commande prend la forme :

τc = N(q) +Kp(qd − q) +Kv(qd − q) +Ki

∫0,t

(qd − q)dt

A l’equilibre (q = 0; q = 0), on a :

M(q)q + C(q, q) +N(q) = N(q) +Kp(qd − q) +Kv(qd − q) +Ki

∫0,t

(qd − q)dt

La dynamique du systeme commande est :

M(q)q + C(q, q) +N(q) = q + C(q, q) +N(q)

a l’equilibre, on a : Kp(qd − q) = 0Le systeme est globalement asymptotiquement stable.

14.2 Commande par decouplage non-lineaire

(dynamique inverse) pour le suivi de trajectoire.La dynamique de σ peut etre mise sous la forme :

M(q)q +H(q, q) = τ

Si positions et vitesses sont mesurables, si on choisit une commande telle que :

τc = M(q)y + H(q, q)

M, H etant des estimees.Le systeme commande est regi par :

q = y

Si on calcule y comme :

y = qd +Kp (qd − q)︸ ︷︷ ︸ε

+Kv (qd − q)︸ ︷︷ ︸ε

alors la reponse du systeme commande est :

ε+Kv ε+Kpε = 0

En choisissant Kp et Kv correctement, ε tend asymptotiquement vers 0.

120

Page 121: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

14.3 Commandes cartesiennes

La correction de la position ou du mouvement est faite dans l’espace operationnel• Commande en position par un correcteur PD avec compensation de gravite :

τc = J t(q)Kp(Xd −X)− J t(q)KdX +N(q)

• Commande par la dynamique inverse :

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

121

Page 122: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

15 Cinematique des systemes redondants

Les systemes robotiques presentent generalement un degre de complexite qui imposede reconsiderer les techniques de modelisation et de commande de leur comportement.L’une des dimensions particulieres dans la complexite des systemes est liee au nombrede leur degre de liberte qui peut induire une redondance/abondance vis-a-vis des tachesa realiser.

L’exploitation de la redondance cinematique est le premier des points que nous ex-aminerons. Cette redondance peut notamment servir a optimiser par la commande lecomportement du systeme du point de vue de certaines de ses performances. Ce problemepeut etre aborde d’un point de vue cinematique ou dynamique selon le type controle bas-niveau mis en oeuvre sur le systeme. Dans ce qui suit nous considererons des commandesde type cinematique.

15.1 Generateur du mouvement, noyau et leurs complementsorthogonaux et reciproques

La relation entre l’espace des vitesses generalisees et des vitesses operationnelles est uneapplication lineaire dont J est la matrice associee. Le produit Jq peut etre vu commeune combinaison lineaire des vecteur-colonnes de J . Aussi, on peut definir :

1. Le generateur de l’application definit l’ensemble des vitesses transmissibles par lesysteme.

R(J) =X ∈ Rm/∃q ∈ Rn X = Jq

2. Le complement orthogonal aR(J) constitue l’ensemble des vitesses non-transmissibles.

R(J)⊥ =X ∈ Rm/∃X ′ ∈ R(J) X tX ′ = 0

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

R(J)R =F ∈ Rm/∃X ∈ R(J) F tX = 0

4. Le noyau de l’application constitue l’ensemble des articulaires internes.

N (J) = q ∈ Rn/Jq = 0

5. Le complement orthogonal est l’ensemble des vitesses articulaires qui engendre unmouvement de l’effecteur.

N (J)⊥ =q ∈ Rn/∃q′ ∈ N (J) qtq′ = 0

6. Le complement reciproque au noyau est l’ensemble des couples articulaires qui

produisent une puissance nulle dans le mouvement interne.

N (J)R =τ ∈ Rn/∃q′ ∈ N (J) τ tq′ = 0

122

Page 123: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

On montre egalement que :R(J)⊥ = N (J t)

N (J)⊥ = R(J t)

Cette dualite entre la vitesses et efforts est illustree sur la figure 58.

Figure 58: Illustration de la dualite vitesse/effort

15.2 Definition de la redondance cinematique

La redondance d’un systeme mecanique peut etre definie du point de vue cinematique.Lorsquem la dimension de l’espace des deplacements du systeme, ou si tous les deplacementsne sont pas imposes par la tache le nombre de contraintes imposees sur le mouvementsdu corps ”‘manipule”’ est egal a la mobilite cinematique du systeme, alors la matrice ja-cobienne J du systeme est, hors singulatites, une matrice carree. la solution au problemecinematique inverse X = Jq (ou differentiel inverse dX = Jdq ) est donnee par :

q = J−1X

Pour simplifier les choses, on considerera que la mobilite du mecanisme est directement nle nombre de liaisons et que le nombre de contraintes est directement egal a la dimensiondu groupe des deplacements dans lequel le systeme evolue (note d).Des lors ou le manipulateur est redondant devant la tache (n > d ou plus generalementrg(J) > d) alors le probleme est sous-determine. Il existe une infinite de solutions auprobleme cinematique inverse. Le degre de redondance cinematique du systeme devantla tache est :

r = n− dim(R(J)) = dim(N (J))

123

Page 124: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

15.3 Analyse du probleme de la redondance cinematique

Pour le manipulateur de 3P de la figure 59, si seule la trajectoire du point P est imposee,le degre de redondance est 1. La Jacobienne de ce manipulateur est :

Figure 59: Manipulateur redondant 3P

Jv =(

1 0 10 1 0

)

Une base de R(J) est :

R(J) =(

1 00 1

)Une base de N (J) est :

N(J) =

−101

dim(N (J)) 6= 0 traduit le fait qu’il existe une possibilite de mouvement interne commel’illustre la figure 60. Le complement orthogonal au (N (J))⊥ constitue le sous-espace

Figure 60: Illustration du mouvement interne

des mouvements articulaires realisant le mouvement δX avec le minimum d’amplitudeδq. Plusieurs methodes sont envisageables pour resoudre la redondance. Les methodesutilisant le modele cinematique sont les plus generales.

124

Page 125: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

15.4 Definition d’un modele geometrique inverse

Si on considere que le systeme est sous asservissement articulaire, l’une des solutions pouraborder la commande des mouvements est d’utiliser le modele geometrique inverse afinde definir les consignes articulaires a partir de la definition de la trajectoire en positionet orientation de l’objet manipule. Cependant, dans le cas ou le systeme est redondant,le probleme geometrique inverse est dans ce cas sous-determine. Il existe par consequentune infinite de configurations articulaires pour atteindre une tache donnee.

Pour traiter la redondance, une solution consiste a introduire des relations supplementairespour traduire un objectif secondaire qui est par exemple d’optimiser une performancelocale. La performance en question peut etre representee par une fonction scalaire con-tinue notee W (q) en fonction des parametres generalises q. On peut alors considerer laresolution du probleme geometrique inverse a partir d’une part du modele geometriquedirect X = f(q) et d’autre part par r equations algebriques traduisant un optimum dela fonction.

La recherche d’un optimum pourW (q) peut etre vu comme un probleme d’optimisationsous les contraintes F (q) = (f(q) − X). Ce type de probleme peut etre aborde al’aide des multiplicateurs de Lagrange. Le probleme equivaut a minimiser le LagrangienL(q) = W (q) + λtF (q), λ ∈ Rm=d etant le vecteur des multiplicateurs de Lagrange.Ainsi, la solution verifie a la fois la solution au modele geometrique et minimise W (q).

Les points stationnaires sont tels que la differentielle de L(q) soit nulle :

∂ L(q)

∂ q=∂ W (q)

∂ q+

(∂ F (q)

∂ q

)tλ = 0

- ∂ 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’equation precedente peut etre re-ecrite :

J tλ+ h = 0

ou en partitionnant les m premieres lignes et les n−m suivantes :(JmJn−m

)tλ =

(hmhn−m

)(6)

On peut a partir de ce systeme de n equations auquel serait joint lesm equations issuesdu modele geomtrique direct determiner l’ensemble des incunnues (les m multiplicateursde Lagrange et les n variables articulaires).

On peut egalement, en s’aidant des m premieres equations du systeme (6), resoudreles m multiplicateurs de Lagrange.

λ = J−1m hm

En substituant dans les n−m equations, on a :

Jn−mJ−1m hm − hn−m = 0

125

Page 126: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Ces r equations peuvent se mettre sous la forme matricielle :

( Jn−mJ−1m , In−m )h = 0

ou encore en notant Z = ( Jn−mJ−1m , In−m )

Zh = 0

Le probleme geometrique inverse pour un systeme redondant consiste alors a resoudre lesysteme :

F (q) = 0Zh = 0 (7)

Ces dernieres equations permettent de detemininer completement les variables articu-laires.

Pour illustrer cette methode nous utiliserons l’exemple de la figure 61. Le point P dece systeme de type PR doit se deplacer selon un axe vertical situe a x de l’origine touten evitant un obstacle situe a d du 2nd segment.

Le modele geometrique direct se reduit a :

x = r1 + aCθ2 (8)

La Jacobienne transposee est J t = ( 1 ,−aSθ2 ). La redondance du systeme r = 1.La distance a l’obstacle est (x− r1)Sθ2 = dSθ2. Le problemme geometrique inverse peutetre pose comme : (−Sθ2

dCθ2

)+ λ

(1

aSθ2

)= 0

r1 + aCθ2 − x = 0 (9)

ou encore, a l’aide de la matrice Z :

(−aSθ2 , 1 )(−Sθ2

dCθ2

)= 0

r1 + aCθ2 − x = 0 (10)

15.4.1 Solution par la Jacobienne transposee

La commande cinematique d’un systeme (ici considere comme arborescent) peut etrerealisee en utilisant directement la jacobienne inverse. Le probleme de la redondance estalors resolu en considerant qu’un torseur de force FExt est applique a l’effecteur, cettederniere cherchant a l’amener sur la position desiree Xd (voir illustration figure 62)

Si cette action exterieure est consideree comme realisee a travers une raideur :

FExt = K(Xd −X) = K e

126

Page 127: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

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

Figure 62: Illustration du principe de commande par Jacobienne inverse

avec K une matrice positive et symetrique d’ elasticite, on peut determiner la solution qpar :

q = J tKe

Cette methode presente l’interet de traiter directement du probleme de la redondance etdes singularites. La solution obtenue est non-exacte mais stable. En effet, le potentielelastique du systeme Φ(e) est tel que Φ(e) > 0∀e 6= 0 et Φ(0) = 0:

Φ(e) =1

2etKe

En differentiant par rapport au temps Φ(e) on trouve :

Φ(e) =1

2etKe+

1

2etKe = etKe

etK(Xd − X) = etKXd − etKJq

127

Page 128: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Le choix de q = J tKe conduit a :

etKXd − etKJJ tKe

qui pour Xd = cte verifie :Φ(e) = −etKJJ tKe < 0

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

15.4.2 Solution par la pseudo-inverse de Moore Penrose

On peut imposer une contrainte supplementaire pour obtenir une solution au problemecinematique inverse des systemes polyarticules. Pour un systeme contraint, qui n’a pasde solution exacte au probleme cinematique inverse (systeme dit incompatible), on peutpar exemple chercher une solution approchee qa au sens de la norme Euclidienne et donctelle qu’elle minimise l’ecart :∥∥∥Jqa − X∥∥∥2

= minq∈Rn

∥∥∥Jq − X∥∥∥2

Cette solution, dite aux moindres carres, est donnee si J est de rang plein en lignes par :

qa = (J tJ)−1J tX

La demonstration est simple. Si ρ =∥∥∥Jq − X∥∥∥2

, alors :

(Jq − X)t(Jq − X) = qtJ tJq − 2qtJ tX + X tX

Le vecteur q∗ minimise ρ si et seulement si q∗ annule ∂ρ / ∂q = 0. Or :(∂ρ

∂q

)t= 2J tJq − 2J tX = 0

. Ce qui conduit a la solution approchee qa.On designe par l’inverse de Moore Penrose (Fonction pinv() de Matlab ) l’unique solution(ce qui n’est pas le cas de toutes les inverses generalisees) donnee par J+ = (J tJ)−1J t

qa = J+X

J+ est aussi dite pseudo-inverse de J dans la mesure ou il s’agit pas d’une veritableinverse. En effet, J+J = In mais JJ+ 6= Im.Pour un systeme compatible (cela signifie qu’une solution existe). Une solution minimalepour ‖q‖2 (aux moindres carres) pour X desire est obtenue a 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

Page 129: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Pour l’exemple du manipulateur PPP, la pseudo-inverse de Jv est :

J+v =

1/2 00 1

1/2 0

D’une maniere plus generale, si J ∈ Rm×n est de rang r, alors il existe une decompositionde 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 etre obtenue par une forme de Smith. Alors,

F+ = Gt(F tAGt)−1F t

En pratique, la factorisation la plus generale et la plus utilisee (car plus robuste d’unpoint de vue numerique) est la Decomposition en Valeurs Singulieres (que l’on designesouvent par son acronyme anglo-saxon ”SVD”, pour ”Singular Value Decomposition”).Une telle decomposition en valeurs singulieres est produite par la fonction svd() deMatlab. Cette decomposition est absolument generale. Elle est valide si r = inf(m,n)(c’est a dire, si J est de rang plein) mais egalement si r < m < n. Dans ce dernier cas,on utilise une forme dite reduite de la SVD.D’une maniere generale, J pourra etre decomposee sous la forme (voir cours NSR 12):

J = UΣV t =∑i=1,r

σiuivti

Pour l’exemple du manipulateur PPP, on a :

Jv =(

1 00 1

)(1.4142 0 0

0 1.0000 0

) 0.7071 0 −0.70710 1.0000 0

0.7071 0 0.7071

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

J+ = V Σ+U t =∑i=1,r

1

σiviu

ti

avec :

Σ+ = diag(1

σ1

, . . . ,1

σr, 0, . . . 0)

ou σ1, . . . σr sont les valeurs singulieres de J .Si rg(J) = r = m < n (rang maximal) alors J+ = J t(JJ t)−1

Si rg(J) = r = m = n alors J+ = J−1

Indifferement des conditions sur le rang de J , cette pseudo-inverse satisfait les 4 pro-prietes suivantes :

JJ+J = J

J+JJ+ = J+

129

Page 130: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

(JJ+)t = (J+J)

(J+J)t = (JJ+)

Par ailleurs :(J+)

+= J

(J+)t

= (J t)+

(J+) = (J tJ)+J t

(J+)t

= 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 Decomposition en Valeurs Singulieres peut s’interpreter geometriquement de diversesfacons. En considerant J comme la matrice d’une application d Rn dans Rm, si nousconsiderons l’ensemble des vecteurs de longueur unite, leurs extremites forment la sphereunite (voir illustration ci-dessous 63) de dimension n. On montre que les transformeesde ces vecteurs par J forment un ellipsoıde de dimension r dont les directions des axesprincipaux sont donnees par les colonnes de U (et leurs antecedents par les colonnes deV ). Les longueurs des demi-axes principaux sont les valeurs singulieres non nulles de J

Figure 63: Illustration de l’interpretation geometrique de la SVD

•Remarque : La quantite qui est optimisee dans une solution purement cinematiqueest :

C = qtq

Cette quantite n’a pas forcement de sens physique. Aussi, la pseudo-inverse peut etreponderee pour optimiser par exemple l’energie cinetique developpee dans le mouvement.Cette derniere s’ecrit :

T =1

2qtM(q)q

M(q) est symetrique et inversible.Le probleme de la minimisation de T dans le mouvement X = Jq peut etre pose commeun probleme d’optimisation sous contraintes.

min T =1

2qtM(q)q

130

Page 131: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

tel que : X = Jq

Une solution classique a ce type de probleme peut etre determinee a l’aide des multipli-cateurs de Lagrange λ, la contrainte etant alors integree a la fonction a minimiser sousla forme :

T ′ =1

2qtM(q)q + λt(X − Jq)

Les multiplicateurs λ peuvent ici etre interpretes physiquement comme les quantites demouvement a appliquer pour satisfaire X − Jq = 0.Les parametres de Lagrange peuvent etre determines en cherchant les solutions a :

∂T ′

∂q= 0

Ceci conduit au systeme de n equations suivant:

qtM − λtJ = 0 (∗)

En post-multipliant par M−1J t, ce systeme se transforme en :

qtJ t = λt(JM−1J t)

Les multiplicateurs λ sont donc tels que :

λt = X t(JM−1J t)−1

En reportant dans (∗), on trouve :

q = M−1J t(JM−1J t)−1X

q = J+MX

J+M est la pseudo-inverse de J ponderee par la matrice d’energie cinetique du systeme.

15.5 Homogeneısation de J pour le calcul de la pseudo-inverse

Les termes de JJ t peuvent ne pas etre homogenes en dimension. Considerons par exemplele robot plan PPR dont la Jacobienne serait :

J =

0 0 11 0 −dSθ3

0 1 dCθ3

Les composantes de JJ t sont :

JJ t =

1 −dSθ3 dCθ3

−dSθ3 (1 + d2S2θ3) −d2Sθ3Cθ3

dCθ3 −d2Sθ3Cθ3 (1 + dSθ3dCθ3)

Ces composantes sont inhomogenes en dimension.D’une maniere generale, si un systeme comporte de liaisons de rotation et de translation,

131

Page 132: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 64: Manipulateur PRR pour illustration des problemes d’inhomogoneıte

‖q‖2 = qtq conduira a une somme de termes inhomogenes. De meme le calcul de∥∥∥X∥∥∥2

=

X tX est le resultat du produit orthogonal entre torseurs et dependra du point ou lavitesse est exprimee et des unites des longueurs.A titre d’exemple, en considerant le robot de la figure 64, Pour palier ce probleme, unesolution consiste a normer les vecteurs X et q en utilisant par exemple une longueurcaracteristique.

XNorm = diag[1, 1, 1, 1/L1, 1/L1, 1/L1]X = NvX

qNorm = diag[a11, . . . , ann]q = Nq q

avec aii = 1 pour les liaisons rotoıdes et aii = 1/L2. La pseudo inverse ponderee de Jest alors egale a :

J+Norm = [NvJN

−1q ]+

15.6 Methodes de determination des mouvements internes

15.6.1 Vecteurs du noyau de J

On peut determiner un ensemble de vecteurs orthogonaux qui forment une base du noyaude J(q). Cette base est de dimension n − r. Elle peut etre constituee des vecteurs vii = r, n issus d’une decomposition en valeurs singulieres de J(q) et tel que :

J(q)vi = 0 i = r, n

On verifie bien pour l’exemple du manipulateur 3P que :

(1 0 10 1 0

)−101

=(

00

)

Ainsi, la solution homogene qh peut s’exprimer :

qh = N(J)xN =∑

i=1,n−r˙xNivi

132

Page 133: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

- N(J) ∈ R(n×n−r) est la matrice de regroupant les vecteurs du noyau,- xN ∈ Rn−r est le vecteur des amplitudes des vitesses compatibles avec le mouvementinterne (pseudo-vitesses). On peut exprimer le mouvement interne xN comme :

xN = V +q = JN q

Pour l’exemple du systeme 3P on a :

JN = (−1/2 0 1/2 )

15.6.2 Tache secondaire dans l’espace articulaire

Une methode consiste a projeter une tache secondaire sur le noyau de la Jacobienne enutilisant le projecteur orthogonal (Id − J+J)

qh = (Id − J+J)︸ ︷︷ ︸PN (J)

qop

De maniere plus generale, en algebre lineaire, une projection orthogonale est un pro-jecteur tel que les deux sous-espaces sont orthogonaux. Le projecteur a pour effet desupprimer la composante qui influence δX. On a donc :

Jqh = 0

Le vecteur qop ∈ Rn, qui est a priori quelconque, peut servir a optimiser une performancelocale. Il peut etre alors determiner comme :

qop = α∇φ = α

∂φ∂q1..∂φ∂qn

- α > 0 conduit a une croissance de φ- α < 0 conduit a une decroissance de φUn exemple de fonction φ pour l’eloignement aux butees est :

φ(q) =∑i=1,n

(qi − qimoy

∆qi)2

avec ∆qi = (qmaxi − qmini )Un autre exemple de fonction φ est celui qui reflete le conditionnement de la matriceJacobienne (voir chapitre quantification des performances).

φ(q) =√det(JJ t)

On peut aussi construire une fonction φ pour generer un champ de forces (attractives etrepulsives) sur le systeme.

φ(q) = φatt(q) +∑i=1,n

φirep(q)

133

Page 134: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

ici en considerant un seul potentiel attractif pontuel et un ensemble de n potentielsrepulsifs. Le potentiel attractif peut etre :

φatt(q) =1

2kd2 =

1

2k(q(t)− qd)2

La force qui serait ainsi creee pour ”‘attirer”’ les systeme vers qd est :

Fatt = −k∇φ(q) = k(q(t)− qd)

Un exemple de champ attractif pour un systeme 2R est donne sur la figure 65 Un potentiel

Figure 65: Illustration d’un champ attractif

replusif borne a la distance d0 est le suivant :

φirep(q) =1

2kirep(

1

di(q)− 1

d0

)2 si di(q) ≤ d0;φirep(q) = 0 si di(q) > d0

Un exemple est donne sur la figure 66On illustre l’effet du projecteur orthogonal a partir de l’exemple represente sur la

figure 67 qui considere le probleme suivant :

( δx ) = (−l1Sθ1 − l2Sθ12; −l2Sθ12 )(δq1

δq2

)Le systeme est une fois redondant vis-a-vis de la tache. Il est clair que la tache secondairen’est realisee que partiellement. Par ailleurs, on montre que ce mouvement internesans action dissipative peut conduire a un mouvement oscillatoire. Aussi, un termed’amortissement peut etre introduit pour stabiliser le mouvement.

15.6.3 Tache secondaire dans l’espace cartesien

Si on introduit une tache primaire :

X1 = J1q (1)

134

Page 135: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 66: Illustration d’un champ attractif

Figure 67: Illustration de la partition de l’espace des solutions

135

Page 136: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

et une tache secondaire :X2 = J2q (2)

comme pour un evitement d’obstacle (voir illustration 68)De (1) on tire :

Figure 68: Illustration de l’evitement d’un obstacle

q = J+1 X1 + (Id − J+

1 J1)Z1

ou Z1 est un vecteur quelconque de Rn.en substituant dans (2) :

X2 = J2J+1 X1 + J2(Id − J+

1 J1)︸ ︷︷ ︸J2

Z1

On determine alors Z1 comme :

Z1 = J+2 (X2 − J2J

+1 X1)− (Id − J+

2 J2)Z2

d’ou :q = J+

1 X1 + (Id − J+1 J1)

[J+

2 (X2 − J2J+1 X1)− (Id − J+

2 J2)Z2

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

q = J+1 X1 + (Id − J+

1 J1)[J+

2 (X2 − J2J+1 X1)

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

(Id − J+1 J1)J+

2 = (Id − J+1 J1)(J2(Id − J+

1 J1))+

se reduit a :(J2(Id − J+

1 J1))+ = J+2

d’ou la solution pour q :

q = J+1 X1 + J+

2 (X2 − J2J+1 X1)

136

Page 137: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

La formulation generale de la solution est :

q = J+1 X1 + J+

2 (X2 − J2J+1 X1) + (Id − J+

2 J2)Z2

Le mouvement defini par Z2 peut alors etre realise sans interference avec les 2 premierestaches. L’interpretation de cette solution est donnee sur la figure 69.

Figure 69: Illustration de la formulation dans l’espace cartesien

Cette methode permet de realiser les differentes taches lorsque celles-ci sont compat-ibles. Elle conduit a une singulatite algorithmique lorsque les noyaux sont voisins. Lepoint d’intersection est alors tel qu’il induit de tres grandes vitesses articulaires (voirfigure 70)

15.6.4 Autre formulation de la tache secondaire

Pour eviter les singularites algorithmiques une formulation alternative conduit a determinerla solution pour la tache secondaire puis a la projeter sur le noyau de J1. La solution estalors determinee par :

q = J+1 X1 + PN (J1)(J

+2 X2)

Pour des systemes hautement redondant, on peut imaginer que les taches soient encascade et la soultion determinee par :

q = J+1 X1 + PN (J1)(J

+2 X2 + P(N (J1)∩N (J2))Z2)

Le vecteur Z2 est ici projete sur l’intersection des noyaux de J1 et de J2 pour ne perturberaucune des deux taches. L’illsutration de la methode est donnee sur la figure 71

137

Page 138: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 70: Illustration d’une singularite algorithmique

15.7 Augmentation de l’espace operationnel

Une autre solution consiste a etendre l’espace operationnel en ajoutant un objectifcomplementaire a celui de la tache principal X qui introduirait rg(J) = n − m con-traites sur le mouvement. Ces contraintes supplementaires peuvent etre choisies pourformer un systeme A(q)q = 0. Sur l’exemple de la figure 72 on peut choisir de faire quele centre de masse generalisee reste sur l’axe de y.Le vecteur operationnel se trouve ainsi augmente d’un certain nombre de contraintes.

Xe =(XXc

)la matrice Jacobienne correspondante devient elle aussi etendue :

Je(q) =(J(q)A(q)

)

Si le rang de Je(q) est r = m = n, alors on resoud le probleme cinematique inversecomme :

q = J−1e (q)Xe

Une matrice Jacobienne pour le nombre de contraintes ninimum est donne par :

Je(q) =(J(q)JN(q)

)Pour eviter d’avoir a fixer le nombre de contraintes requis pour former un systeme carre(on peut aussi envisager de former un systeme sur-determine), une alternative qui peutetre preferee consiste a exprimer un objectif secondaire qui serait d’annuler le gradient

138

Page 139: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

Figure 71: Illustration de l’utilisation d’une tache secondaire cartesienne

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

d’une fonction scalaire g(q) et a le projeter sur le N (J). Le vecteur operationnel est ainsi:

Xe =

(X

∇gN = N (J)t ∂g∂q

= N (J)t∇g

)La matrice N (J) constituant les vecteurs du noyau de J se determine notamment a l’aided’un SVD :

J = UΣV t = U [ΣR , 0](V tR

V tN

)N (J)t = V t

N = (n1, n2, . . . , nn−m)t

En notant ∇gNi= nti∇g les composantes augmentees de Xe, on a :

Xe = Jeq

139

Page 140: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

X∇gN1

.

.∇gNn−m

=

J

∂∂q∇gN1

.

.∂g∂q∇gNn−m

q

La partie augmentee des colonnes de Je pour obtenir une matrice carree est formee pardeux termes :

∂qj∇gNi

=∂

∂qj(nti∇g) =

∂ni∂qj

t

∇g + nti∂

∂qj∇g

Si l’objectif est d’obtenir un gradient de g nul, on aura donc comme precedemment :

q = J−1e (q)

(X0

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

q = J−1e (q)

(X

−α∇gN

)

On pourra alors omettre le terme ∂∂qj∇g dans Je.

15.8 Utilisation de methodes d’optimisation

La resolution du probleme cinematique inverse peut etre realisee a l’aide de methoded’optimisation.

15.8.1 Multiplicateurs de Lagrange

Le methode des multiplicateurs de Lagrange peut etre egalement exploitee. Le problemesera alors pose sous la forme :(

W (q) JJ t 0

)(qλ

)=(

0X

)La resolution de ce systeme d’equation lineaire se fait en particulier a l’aide d’unedecomposition LU .

15.8.2 Programmation lineaire

Des lors ou l’on veut prendre en compte dans la resolution des contraintes d’inegalite(comme les bornes sur les vitesses articulaires). On peut, lors de la programmationlineaire, chercher a minimiser la fonction objectif :

L(δ) = Ktδ

sous les contraintes lineaires :

δX = Jδq

140

Page 141: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

−δ < δq < δδ > 0 (11)

Le vecteur K peut etre vu comme le vecteur des raideurs articulaires.

l’algorithme du simplexe (Fonction matlab simplex2p ) est pratiquement toujoursplus performant pour resoudre un LP. Les methodes de point interieur sont qui perme-ttent d’evoluer a l’interieur du polytope des contraintes sont egalement des methodesperformantes.

15.9 Determination des configurations singulieres dans les ma-nipulateurs redondants

Un manipulateur serie non-redondant se trouve dans une configuration singuliere lorsquerg(J) < d (dimension de l’espace de tache). On determine les configurations singulieresalgebriquement en considerant les conditions sur q conduisant a :

det(J) = 0

Pour un manipulateur redondant, le systeme se trouvera dans une configuration singulierelorsque le rang de JJ t est modifie. Cependant, une approche algebrique peut etre renduedelicate (voire impossible) du fait de la complexite des termes de JJ t. On peut utiliserla methode ”‘geometrique”’ suivante.On cherche a determiner le torseur reciproque $R tel que :

$R.$i = 0 ∀i = 1, n

Pour cela, on commence par rechercher les conditions sur $R pour qu’il soit reciproquea un sous-systeme :

τ subc =

$i ∈ τc, i ∈ 1, . . . , n ,∑

i = d

Apres avoir place le systeme dans cette configuration singuliere, on cherche ensuite aidentifier les conditions supplementaires pour que le $R soit egalement reciproque auxtorseurs cinematiques ”‘redondants”’ a partir des equations :

$R.$j = 0 ∀j = 1, n et j 6= i

On montre dans ce qui suit comment cette technique s’applique a un systeme PRRRplan (voir figure 15.9)

La jacobienne ecrite en O4 de ce systeme est :

J = [$1, $2, $3, $4] =(

0 z2 z3 z4

z1 0402 ∧ z2 0403 ∧ z3 0

)

det(JSub) = det($2, $3, $4) = 0 si θ3 = 0

141

Page 142: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

En reportant dans JSub on a :

JSub =

1 1 1−l12Sθ2 −l2Sθ2 0l12Cθ2 l2Cθ2 0

$R

Sub= (Cθ2, Sθ2, 0)

$RSub

est aussi reciproque a $1 si :

$RSub.$1 = 0

La condition supplementaire est θ2 = π/2 + kπ

15.10 Passage des singularites

Dans une configuration singuliere J(q) n’est plus de rang plein. Sa pseudo-inverse J+

n’st pas definie dans une telle configuration. Aussi, on utilise la pseudo-inverse pondereequi est definie de la maniere suivante.Plutot que de chercher la solution a X = Jq telle que min ‖q‖, on determine q quiminimise : ∥∥∥Jq − X∥∥∥2

+ λ2 ‖q‖2

ou λ est une constante non-nulle.Cette quantite est equivalent a : ∥∥∥∥( J

Idλ

)q −

(X0

)∥∥∥∥2

La solution aux moindres carres est donnee par :(JIdλ

)t ( JIdλ

)qa =

(JIdλ

)t ( X0

)que nous pouvons re-ecrire comme :

(J tJ + λ2Id)qa = J tX

On montre que (J tJ + λ2Id) est non-singuliere. En effet, J ∈ Rm×n et λ2Id ∈ Rn×n et

son rang est n. Aussi, le rang de(JIdλ

)= n. La solution aux moindres carres amortie

(Damped Least Square - DLS dans laquelle λ est le facteur d’amortissement) est :

qa = (J tJ + λ2Id)−1J tX

142

Page 143: Cours de Mod elisation des Syst emes Robotiquesperso.crans.org/~ghaessig/UPMC/Modelisation_robotique/Cours... · Objectifs du cours Ce cours vise a fournir des m ethodes de mod elisation

(J tJ + λ2Id)−1J t = J t(JJ t + λ2Id)

La solution se re-ecrit :qa = J t(JJ t + λ2Id)X

Cette solution est celle donnee par la methode de Levenberg-Marquardt qui peut etrevue comme une interpolation entre une methode de Gauss et de descente de gradient.La valeur du facteur λ peut varier en fonction du residus.Une decompostion en valeurs singulieres permet de comprendre comment agit la DLSpar rapport a la SVD.

(JJ t + λ2Id) = (UΣV t)(V ΣU t) + λ2Id = UΣ2U t + λ2Id = U(Σ2 + λ2Id)Ut

Aussi:J t(JJ t + λ2Id) = V Σ(Σ2 + λ2Id)

−1︸ ︷︷ ︸E

U t = V EU t

E ∈ Rm×n est une matrice diagonale :

E = diag(eii) avec eii =σi

σ2i + λ2

La pseudo-inverse ponderee se calcule de la maniere suivante :

J+ =∑i=1,k

σiσ2i + λ2

viuti

Determination de λ : σiσ2i +λ2

→ 0 quand σi → 0 λ doit donc etre pris tres grand pour

maintenir les vitesses angulaires pres de la singularite.Inversement, loin des singularites λ doit rester tel que σi >> λ alors les composantesσi

σ2i +λ2

≈ 1σi

143