Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... ·...

16
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite. © Techniques de l’Ingénieur, traité Informatique industrielle S 7 730 - 1 Modélisation et commande des robots manipulateurs par Alain LIÉGEOIS Professeur de l’université Montpellier-II, Institut des sciences de l’ingénieur Enseignant-chercheur au Laboratoire d’informatique, de robotique et de microélectronique de Montpellier (LIRMM ) 1. Morphologie .............................................................................................. S 7 730 - 3 1.1 Graphe du mécanisme ................................................................................ 3 1.2 Articulations ou « liaisons »........................................................................ 3 1.3 Torseurs cinématique et dynamique d’un corps rigide............................ 4 1.4 Degrés de liberté d’un mécanisme ............................................................ 5 1.4.1 Premier mode de calcul ..................................................................... 5 1.4.2 Second mode de calcul ...................................................................... 5 2. Changements de coordonnées directs .............................................. 6 2.1 Modèle géométrique direct ........................................................................ 6 2.1.1 Structures arborescentes ................................................................... 7 2.1.2 Robots manipulateurs avec boucles cinématiques planes ............. 7 2.1.3 Robots parallèles ................................................................................ 8 2.2 Modèle cinématique direct ......................................................................... 8 2.2.1 Structure de chaîne ............................................................................ 8 2.2.2 Structures avec des boucles simples ................................................ 9 2.2.3 Robots parallèles ................................................................................ 9 3. Changements de coordonnées inverses ............................................ 9 3.1 Modèle géométrique inverse...................................................................... 9 3.1.1 Structures série ................................................................................... 10 3.1.2 Robots avec des boucles.................................................................... 10 3.1.3 Robots parallèles ................................................................................ 10 3.2 Modèle cinématique inverse ...................................................................... 11 3.2.1 Structures série ................................................................................... 11 3.2.2 Robots avec des boucles simples ..................................................... 11 3.2.3 Robots parallèles ................................................................................ 11 4. Utilisation des matrices jacobiennes ................................................. 12 4.1 Calcul des efforts statiques ......................................................................... 12 4.2 Inerties de l’organe terminal vues par l’environnement .......................... 12 4.3 Indice de manipulabilité.............................................................................. 13 4.4 Commande « jacobienne » ......................................................................... 13 4.5 Commande en effort ................................................................................... 13 4.5.1 Retour par matrice de raideur ........................................................... 13 4.5.2 Commande d’impédance ................................................................... 14 4.6 Commande hybride position-force ............................................................ 14 5. Commande dynamique........................................................................... 14 5.1 Modèles théoriques de la dynamique ....................................................... 14 5.1.1 Équations de Newton ......................................................................... 14 5.1.2 Équations de Lagrange ...................................................................... 15 5.2 Commande dynamique............................................................................... 15 5.2.1 Commande théorique : méthode des couples calculés .................. 16 5.2.2 Commande avec prédicteur............................................................... 16 6. Conclusion ................................................................................................. 16 Pour en savoir plus........................................................................................... Doc. S 7 730

Transcript of Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... ·...

Page 1: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

Modélisation et commandedes robots manipulateurs

par Alain LIÉGEOISProfesseur de l’université Montpellier-II, Institut des sciences de l’ingénieurEnseignant-chercheur au Laboratoire d’informatique, de robotiqueet de microélectronique de Montpellier (LIRMM )

1. Morphologie .............................................................................................. S 7 730 - 31.1 Graphe du mécanisme................................................................................ — 31.2 Articulations ou « liaisons »........................................................................ — 31.3 Torseurs cinématique et dynamique d’un corps rigide............................ — 41.4 Degrés de liberté d’un mécanisme ............................................................ — 5

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.© Techniques de l’Ingénieur, traité Informatique industrielle S 7 730 − 1

1.4.1 Premier mode de calcul ..................................................................... — 51.4.2 Second mode de calcul ...................................................................... — 5

2. Changements de coordonnées directs .............................................. — 62.1 Modèle géométrique direct ........................................................................ — 6

2.1.1 Structures arborescentes ................................................................... — 72.1.2 Robots manipulateurs avec boucles cinématiques planes ............. — 72.1.3 Robots parallèles ................................................................................ — 8

2.2 Modèle cinématique direct ......................................................................... — 82.2.1 Structure de chaîne ............................................................................ — 82.2.2 Structures avec des boucles simples................................................ — 92.2.3 Robots parallèles ................................................................................ — 9

3. Changements de coordonnées inverses ............................................ — 93.1 Modèle géométrique inverse...................................................................... — 9

3.1.1 Structures série................................................................................... — 103.1.2 Robots avec des boucles.................................................................... — 103.1.3 Robots parallèles ................................................................................ — 10

3.2 Modèle cinématique inverse ...................................................................... — 113.2.1 Structures série................................................................................... — 113.2.2 Robots avec des boucles simples ..................................................... — 113.2.3 Robots parallèles ................................................................................ — 11

4. Utilisation des matrices jacobiennes ................................................. — 124.1 Calcul des efforts statiques......................................................................... — 124.2 Inerties de l’organe terminal vues par l’environnement .......................... — 124.3 Indice de manipulabilité.............................................................................. — 134.4 Commande « jacobienne » ......................................................................... — 134.5 Commande en effort ................................................................................... — 13

4.5.1 Retour par matrice de raideur ........................................................... — 134.5.2 Commande d’impédance................................................................... — 14

4.6 Commande hybride position-force ............................................................ — 14

5. Commande dynamique........................................................................... — 145.1 Modèles théoriques de la dynamique ....................................................... — 14

5.1.1 Équations de Newton ......................................................................... — 145.1.2 Équations de Lagrange ...................................................................... — 15

5.2 Commande dynamique............................................................................... — 155.2.1 Commande théorique : méthode des couples calculés .................. — 165.2.2 Commande avec prédicteur............................................................... — 16

6. Conclusion ................................................................................................. — 16

Pour en savoir plus........................................................................................... Doc. S 7 730

Page 2: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS ________________________________________________________________________________

a maîtrise de la conception et du fonctionnement de mécanismescomplexes motorisés, ou « machines », a toujours été un facteur important

de progrès technologiques et parfois aussi sociaux et économiques dans diversdomaines : transports, production industrielle, travaux publics, exploration ettravail en milieux hostiles, imagerie médicale, etc. La conception, la fabricationet le pilotage de ces machines ont été rendus possibles grâce aux connaissan-ces scientifiques et techniques en mécanique, thermodynamique, électrotech-nique et hydraulique. Ces machines sont destinées à augmenter les possibilitésde l’homme pour la rapidité de ses déplacements et de ses actions, et pourl’amplification de sa force et de son champ d’action, notamment dans l’accom-plissement de tâches pénibles, dangereuses et/ou répétitives. Les fonctionsgénéralement concernées sont :

— le déplacement à plus ou moins longue distance sur terre, sur mer, dans

L

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.S 7 730 − 2 © Techniques de l’Ingénieur, traité Informatique industrielle

l’air et sous l’eau ;— la « manipulation » au sens large du terme :

• déplacer un outil pour saisir des objets ou de la matière, les transporter etles déposer,

• exercer des efforts sur l’environnement ;— la combinaison des deux fonctions précédentes.Un robot manipulateur peut donc être considéré d’une manière générale, vu

par son environnement, comme un générateur de mouvements et d’effortsdans les diverses directions de l’espace.

Sur le plan des applications les plus courantes, on peut distinguer :— les robots industriels, travaillant généralement à poste fixe, de manière

totalement autonome, et dont les « tâches » sont programmées sur le site parapprentissage, ou bien hors ligne en utilisant un langage spécialisé ou desmoyens de conception assistée par ordinateur ;

— les robots pour l’intervention et l’exploration en milieu hostile et mal connu(nucléaire, planétaire, sous-marin ) qui sont le plus souvent téléopérés mais peu-vent être dotés d’une certaine autonomie locale compte tenu des difficultés rela-tives aux délais des transmissions et à leur faible bande passante. Les outils dela « réalité virtuelle » qui émergent dans de nombreux laboratoires et industriessont susceptibles d’aider les opérateurs dans la commande des manipulateursdont sont dotés les véhicules robotisés.

Dans tous ces cas où les robots manipulateurs ne sont pas directement télé-opérés et doivent posséder une certaine autonomie d’action, leurs systèmes decommande automatique doivent connaître et compenser les imprécisionséventuelles puisque l’opérateur humain n’est pas directement dans la boucled’asservissement, pour s’adapter aux caractéristiques des machines et de leurenvironnement. Pour cela, il est nécessaire de passer par une modélisationmathématique précise de la géométrie et de la dynamique des bras manipu-lateurs.

Cet article a pour but de familiariser le lecteur avec les principales notionsnécessaires à l’analyse de la morphologie d’un robot et de ses capacités de tra-vail, afin de choisir et d’utiliser au mieux un robot industriel du commerce oumême de concevoir une machine particulière mieux adaptée à ses besoins.

Le lecteur est invité à se reporter à l’article [R 7 734] traitant de l’application de la réalité vir-tuelle à la robotique, et plus généralement aux articles [R 7 700] et suivants du présent traitéconsacrés à la robotique.

Page 3: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

________________________________________________________________________________ MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS

1. Morphologie

Un robot manipulateur est constitué par l’assemblage de corps(segments) rigides en première approximation, et articulés entreeux. Les articulations peuvent être motorisées (actives) ou non(articulations passives).

1.1 Graphe du mécanisme

Pour décrire la topologie du mécanisme constituant le robotmanipulateur, on lui associe un graphe dont les sommets sont lescorps constitutifs et les arcs représentent les assemblages entreces corps. Deux corps extrêmes ont des rôles particuliers :

— la base, qui est fixée au sol ou sur un véhicule ;— l’organe terminal qui porte l’outil (ou effecteur).

En partant de la base pour aller vers l’effecteur, on pourradistinguer :

— les structures série, ou sérielles, pour lesquelles le graphe estarborescent, la base étant la racine et les feuilles étant les organes

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.© Techniques de l’Ingénieur, traité Informatique industrielle S 7 730 − 3

terminaux (dans le cas général où il y en aurait plusieurs) (figure 1par exemple) ;

— les structures parallèles pour lesquelles toutes les chaînespartent de la base pour aller vers l’organe terminal [4] (figure 2 parexemple) ;

— les structures mixtes, présentant des boucles cinématiques,par exemple des parallélogrammes ou des motorisations parvérins linéaires (figure 3 par exemple).

1.2 Articulations ou « liaisons »

On admettra qu’un corps solide rigide isolé dans l’espace à troisdimensions possède six degrés de liberté : trois composantes d’unvecteur position et trois composantes d’orientation. Les divers for-malismes pratiques utilisés pour quantifier ces degrés de libertésont précisés au paragraphe 1.4. Quand on relie un tel corps à unautre, au moyen de « liaisons » mécaniques, il perd de sa mobilitépar rapport au second. On peut imaginer diverses combinaisons detranslations et de rotations, dont quelques-unes sont représentéessur la figure 4.

Figure 1 – Exemple de structure série. Bras (doc. Adept)

Dispositifd'accouplement

Avant-bras

Bras

Base

Figure 2 – Exemple de structure parallèle. Poignet à compliance active développé par C. Reboulet (doc. ONERA/CERT, Toulouse)

Figure 3 – Exemple de structure mixte. Robot avec boucles(doc. Afma Robots)

Base attachée à un porteur

Pince

Corps des vérins

Tiges des vérins

Poignet

Avant-bras

Bras

Épaule

Base

Page 4: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS ________________________________________________________________________________

4b5a

4d

4c

3f3e

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.S 7 730 − 4 © Techniques de l’Ingénieur, traité Informatique industrielle

Dans l’assemblage de robots manipulateurs, les liaisons les pluscourantes sont :

— la liaison rotoïde R (ou pivot) à un degré de liberté(figure 4j ) ;

— la liaison prismatique P (ou glissière) à un degré de liberté(figure 4k ) ;

— la liaison rotule S (sphérique) à trois degrés de liberté, équi-valente à R3 (figure 4f ) ;

— la liaison cardan U (joint universel) à deux degrés de liberté,équivalente à R2 (figure 4i ).

Nous avons également représenté des liaisons unilatérales(figures 4a, c et g ) qui ne servent pas à proprement parler dansl’assemblage de mécanismes, mais peuvent représenter locale-ment (une surface est approchée par son plan tangent) des rela-tions temporaires entre l’organe terminal du robot et sonenvironnement.

D’autres liaisons, comme le roulement sans glissement, équiva-lent à un mouvement plan sur plan, existent dans les cames et lesréducteurs à engrenages (figure 5). Comme dans le système vis-écrou (figure 4l ), elles ne rajoutent pas de degré de liberté puisquel’on peut écrire, en coordonnées polaires :

r1 dθ1 + r2 dθ2 = 0 avec r1 + r 2 = constante (1)

1.3 Torseurs cinématique et dynamiqued’un corps rigide

Le mouvement d’un corps solide rigide est déterminé à chaque

instant par le vecteur vitesse d’un de ses points (son centre

Figure 4 – Liaisons. Paires cinématiques

2h3g

1j

2i

1l1k

Le chiffre indique le nombre de degrés de liberté de la liaison

Figure 5 – Came ou engrenage

θ1

θ2r2r1

Origine de θ1

Origine de θ2

V

Page 5: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

________________________________________________________________________________ MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS

d’inertie G par exemple) et par son vecteur vitesse instantanée de

rotation (le même pour tous les points du solide). L’ensembledes forces extérieures qui agissent sur lui peut être réduit à un vec-

teur force résultante et à un vecteur moment résultant . Leséquations de la dynamique du corps solide (équations de Newton)s’écrivent, dans un repère fixe (galiléen) :

(2)

avec m masse du corps,

son tenseur d’inertie (d’ordre 2) au point de référenceconsidéré.

Le point • symbolise le produit « contracté » de tenseurs.

Dans le cas où le corps est soumis à une liaison, il perd desdegrés de mobilité. Si l’on suppose la liaison parfaite, c’est-à-diresans frottement, les composantes des efforts aux contacts (forceset/ou moments) sont donc localement orthogonales aux vitesses.

V

F M

m dV

dt---------- F=

ddt------ I V•

M=

I

Figure 6 – Concept simplifié du robot Delta (d’après [4])

Avant-bras

Bras

Base

Corps terminal(« nacelle »)

Pivot

Cardan

Cardan

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.© Techniques de l’Ingénieur, traité Informatique industrielle S 7 730 − 5

Cette remarque nous permet de tester la validité d’un mécanisme(§ 1.4).

1.4 Degrés de liberté d’un mécanisme

On suppose que les conditions théoriques nécessaires à unmécanisme complexe sont :

1. il y a le nombre de moteurs actifs nécessaire et suffisant ;2. il n’y a pas de contrainte interne non calculable (le méca-

nisme n’est pas hyperstatique).

Nota : on verra dans les calculs de changement de coordonnées que ces conditions peu-vent exceptionnellement être transgressées dans quelques configurations « singulières »du mécanisme.

1.4.1 Premier mode de calcul

Soit N le nombre de degrés de liberté recherché (c’est le nombrenécessaire de moteurs). On a :

(3)

avec Ni nombre de degrés de liberté de la liaison i,

b nombre de boucles cinématiques (nombre de corpsqu’il faut couper pour rendre le graphe du mécanismearborescent).

1.4.2 Second mode de calcul

Soit n le nombre de corps mobiles. Les équations de Newtoncontiennent donc 6n inconnues, par exemple les efforts à exercerpour obtenir des mouvements donnés (ou tout simplement l’équi-libre statique). Toutefois, à chaque articulation i, Ni composantesdu tenseur des efforts sont nulles d’après l’hypothèse de non-frottement. Il reste donc N inconnues que l’on doit imposer par desmoteurs, avec :

(4)

N Ni 6b–liaisons i

∑=

N 6n 6 Ni–( )liaisons i

∑–=

Figure 7 – Concept original du robot Delta (d’après [4])

Exemple 1 : un des concepts du robot parallèle Delta [4](figure 6).

Il possède trois articulations rotoïdes, ou pivots, et six joints de car-dan, soit au total quinze degrés de liberté aux articulations. Il possèdeégalement deux boucles cinématiques : il suffit de couper deux braspar exemple pour rendre la structure arborescente. Le nombre dedegrés de liberté de l’ensemble est donc égal à 15 – (6 × 2) = 3. Lesmouvements du corps terminal doivent donc être assurés par troismoteurs. Dans le robot réel, ce sont les trois pivots qui sont motorisés.Pour utiliser le second mode de calcul, qui donne une idée plus précisedes variables à calculer pour faire par exemple une étude des contrain-tes et dimensionner les segments, on recense sept corps : trois avant-bras, trois bras et le corps terminal. Il y a donc a priori 6 × 7 = 42 équa-tions de la dynamique. Toutefois, dans chaque pivot, il n’y a que cinqcomposantes d’efforts au contact (trois composantes de la force etdeux composantes du moment), et dans chaque liaison de cardan, il yen a quatre (trois composantes de la force et une composante dumoment). Cela fait donc (3 × 5 + 6 × 4) = 39 inconnues des effortstransmis mécaniquement, et il reste donc bien 42 – 39 = 3 composan-tes de moments à motoriser.

Exemple 2 : concept original du robot Delta

L’avant-bras est constitué par un parallélogramme (figure 7) dontchaque biellette est fixée par des rotules respectivement au bras et àla nacelle. Avec l’hypothèse d’articulations sans frottement, on obtientdes mouvements incontrôlables par les trois moteurs : il y a pourchaque bras treize degrés de liberté, soit trente-neuf au total. Chaqueparallélogramme rajoute une boucle cinématique, il y en a donc cinq.On calcule alors N = 39 – 30 = 9.

Avant-bras

Bras

Page 6: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS ________________________________________________________________________________

Figure 8 – Mécanisme « un axe » avec boucles

Cela signifie que sans frottement, chacune des six biellettes peuttourner librement autour de son axe longitudinal. Pour rendre la repré-sentation cinématique correcte, il suffit de remplacer la liaison rotule à

�������������U

R

U

T

S

R

S

Figure 9 – Divers aspects pour une même pose

Zn

Xn

Yn

Zn

Xn

Yn

Zn

Xn

Yn

Zn

Xn

Yn

aspect bras droitet coude bas

baspect bras gaucheet coude bas

a

aspect bras droitet coude haut

daspect bras gaucheet coude haut

c

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.S 7 730 − 6 © Techniques de l’Ingénieur, traité Informatique industrielle

2. Changementsde coordonnées directs

On associe à chaque corps i du mécanisme un repère ortho-normé direct {Xi , Yi , Zi} noté Ri . Les repères particuliers sontd’une part celui de la base {X0 , Y0 , Z0 } noté R0 et d’autre partcelui, Rn , de l’organe terminal {Xn , Yn , Zn }. Le repère de la baseoccupe une position et une orientation connues par rapport à unrepère fixe si le robot est à un poste fixe dans un atelier, ou lié àun véhicule porteur sur lequel la base est fixée rigidement. Le der-nier repère Rn peut être aussi bien lié au dispositif d’accouplementde l’effecteur qu’à ce dernier qui lui est rigidement attaché. Sasituation instantanée s’appelle une pose.

C’est l’action sur N effecteurs qui permet de situer l’organe ter-minal par rapport à un repère lié à la base et/ou d’exercer aumoyen de cet organe des efforts sur l’environnement. On notegénéralement q1 , q 2 ... qN les variables de position (angulaire oulinéaire) des effecteurs actionnant les articulations actives quenous avons recensées dans la section précédente. Ces variablesdéfinissent la configuration instantanée du mécanisme. La figure 9

démontre qu’une même pose peut être obtenue par plusieursconfigurations. Nous avons appelé aspects les classes de configu-rations différentes [1].

2.1 Modèle géométrique direct

Il exprime la position et l’orientation du repère de référence Routillié à l’outil, relativement à un repère fixe — celui de la base R0 parexemple — en fonction des variables articulaires motorisées (etasservies électroniquement) q1 , q 2 ... qN du mécanisme. L’élémentfondamental qui décrit la position et l’orientation d’un repère Ri ,d’origine Oi , dans un repère Rj peut se mettre sous la forme d’unematrice de dimensions (4,4) :

(5)

où les composantes des vecteurs sont mesurées dans le repère Rj .

Dans cette matrice (4,4), on remarque que la quatrième colonneest la représentation d’un vecteur en coordonnées « homogènes »(quatre composantes) [2].

La matrice (3,3) suivante :

(6)

représente la rotation entre les deux repères. Ses éléments sont lescosinus directeurs : les cosinus des angles respectifs entre les vec-teurs unitaires du repère Ri et ceux du repère Rj .

Pour spécifier une rotation, cette matrice présente un nombresurabondant de paramètres (neuf) qui doivent être reliés par les sixcontraintes exprimant que le repère est orthonormé. On peut doncen pratique ne spécifier que trois paramètres, par exemple lesangles de lacet (λ ), tangage (θ ) et roulis (ρ ) par analogie avec laterminologie des pilotes de véhicules, d’avions notamment. Lafigure 10 montre la définition de ces angles, ce qui donne lamatrice de rotation :

une extrémité par une liaison cardan. Dans le mécanisme réel, l’assem-blage est plus complexe [4].

Exemple 3 : motorisations par vérins linéaires

La figure 8 schématise un robot, « un axe » (qui peut être une partied’un robot série-parallèle). Des liaisons correctes sont écrites sur lafigure. Il y a au total treize degrés de liberté dans les articulations, etdeux boucles, ce qui donne bien un degré de liberté pour lemécanisme : la translation active du vérin. Remarquons que pourmieux mettre en évidence cette dernière, nous avons, pour la tige duvérin et sa fixation au bras, remplacé une liaison verrou (figure 4h ) plusune liaison de cardan par une liaison prismatique plus une rotule. Surcet exemple, on peut aussi vérifier qu’il y a cinq corps mobiles, donctrente équations, et vingt-neuf inconnues. Ces dernières peuvent doncêtre calculées en fonction de la seule force motrice agissant selon l’axedu vérin. Les forces de pesanteur sont en effet supposées égalementconnues. Si la base est mobile (manipulateur embarqué sur un véhiculepar exemple) avec un mouvement connu, on peut de même rajoutersur chaque corps une force d’inertie due à ce mouvement.

du bras du robot PUMA

Tj

iX i j

0

Yi j

0

Z ij

0

Oj Oij

1=

Rj

i Xij

Yij

Z ij

=

Page 7: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

________________________________________________________________________________ MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS

composition des changements de repères successifs le long de lachaîne. Par exemple, pour une seule chaîne de n corps :

(8)

Il est usuel de représenter les matrices de transformations quifont passer d’un corps au suivant au moyen du formalisme deDenavit et Hartenberg modifié par Khalil [2]. Chaque articulation iest alors motorisée, en pratique par un moteur linéaire ou rotatif.Il doit y avoir n moteurs.

La figure 11 montre les paramètres intervenant dans la transfor-mation. Ces paramètres sont :

— αi angle entre Zi – 1 et Zi (rotation autour de Xi – 1) ;— di distance entre Zi – 1 et Zi le long de Xi – 1 ;

(7)Rj

i

λ jicos – λ jisin 0

λ jisin λ jicos 0

0

0

1

1 0 0

0 θjicos – θjisin

0

– θjisin

θjicos

ρjicos 0 ρjisin

0 1 0

– ρjisin

0

ρjicos

=

λ jicos cosρji λ jisin θjisin ρjisin–

λ jisin ρji λ jicos θjisin ρjisin+cos

– θjicos ρjisin

– λ jisin θjicos

λ jicos θjicos

θjisin

λ jicos ρji λ jisin θjisin ρjicos+sin

λ jisin ρji λ ji cos θ ji sin ρ ji cos – sin

θ

ji

cos

ρ

ji

cos

=

Oi //Yj

//Zj

Zi

Yi

θji

θji

λji

ρji

T0

outil T0

1 T1

2 ... Tn –1

n Tn

outil=

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.© Techniques de l’Ingénieur, traité Informatique industrielle S 7 730 − 7

2.1.1 Structures arborescentes

On considère les chaînes qui relient la base à chaque outil. Dansle repère de la base, la position et l’orientation de ce derniers’obtiennent par un produit de matrices (4,4), correspondant à la

— θi angle entre Xi – 1 et Xi (rotation autour de Zi) ;— ri distance entre Xi – 1 et Xi le long de Zi .

La variable articulaire active qi associée à l’articulation i est soitθi (articulation rotoïde), soit di (articulation prismatique). Lacomposition des transformations élémentaires conduisant durepère Ri – 1 au repère Ri conduit à la matrice de passage (compo-santes exprimées dans Ri – 1) :

(9)

2.1.2 Robots manipulateursavec boucles cinématiques planes

Dans ce cas, il existe encore toujours une chaîne cinématique« principale » entre la base et l’organe terminal. C’est elle quiassure la précision de la pose. On peut encore décrire la situationde l’outil, par rapport à la base, par le produit des matrices de lachaîne principale. Mais alors certaines variables articulaires (para-mètres θi ou di de la formulation de Denavit et Hartenberg) ne sontplus directement actionnées par les « axes » qi des moteurs.Lorsque les boucles sont planes, il est aisé de calculer les variablesarticulaires en fonction des qi et de porter ce résultat dans lesmatrices de passage de la chaîne principale. Dans l’exemple 3(figure 8), il suffit d’appliquer les relations fondamentales dans untriangle pour obtenir l’orientation du bras principal en fonction del’élongation de la tige du vérin. D’après les notations de lafigure 12, on obtient alors :

d’où

(10)

Inversement, il nous faut α pour en déduire l’angle articulaire θ.

Figure 10 – Angles de lacet, tangage et roulis

Figure 11 – Paramètres de Denavit et Hartenberg

//Xj

Xi

λji

ρji

Oi

di

ri

Oi – 1

//Xi – 1

//Zi – 1

XiZi

Zi – 1

Xi – 1

θi

αi

Normale commune

Ti 1–

i

θicos – sin θ i 0 d i α

cos

i

θ

i

sin

α

i

cos

θ

i

cos – sin α i – r i sin α i α

i

θ

i

sinsin

α

i

θ

i

cossin

α icos ri α icos

0 0 0 1

=

XS L αcos=

YS h L αsin+=

q2 XS ,–( )2 + Y S2 =

q L2,

2 h2 2L , αcos h αsin–( )–+ +=

Page 8: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS ________________________________________________________________________________

On l’obtient théoriquement à partir de :

ticiens préfèrent inverser le modèle géométrique inverse qui est,lui, relativement facile à obtenir pour une structure parallèle,quand les « bras » ne présentent pas de singularité.

2.2 Modèle cinématique direct

Ce modèle décrit les vitesses de l’organe terminal en fonctiondes dérivées, par rapport au temps, des variables actives. Lavitesse instantanée du corps solide qui constitue l’organe terminal(en supposant pour simplifier qu’il n’y en a qu’un) relativement àla base est entièrement déterminée par la vitesse :

(14)

du point de référence de l’organe terminal par rapport au repère de

la base, et par la vitesse de rotation instantanée

de cet organe terminal.

Il faut noter que les composantes de ce dernier vecteur ne sontpas les dérivées, par rapport au temps, de vraies variables d’orien-tation, comme les angles de roulis, tangage et lacet, bien qu’elles

Figure 12 – Résolution d’une boucle de l’exemple 3 (figure 8)

�������������

h

Y

X

L

qq

S

αθ

,O˙outil

dO0Ooutil

dt---------------------------

0

=

V outil0

V n0

=

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.S 7 730 − 8 © Techniques de l’Ingénieur, traité Informatique industrielle

(11)

Pour cela, on introduit l’angle β tel que :

On doit donc avoir :

(12)

qui ne peut avoir une solution donnant α que si la fraction dusecond membre est comprise entre – 1 et + 1. On voit donc qu’uncas limite est obtenu lorsque :

(L ± q )2 = h 2 + (13)

correspondant théoriquement aux positions du vérin agissantselon l’axe qui porte le segment de longueur L. Dans de telles posi-tions le mouvement de la tige du vérin est impossible. En pratique,les butées du mécanisme font que l’on ne se trouve pas dans detels cas. Toutefois, ce problème se posera de manière encore pluscruciale dans les robots parallèles [4].

Un autre cas courant simple, qui lui ne présente pas de singula-rité, est la prise en compte éventuelle des transmissions (réduc-teurs à engrenages, courroies, câbles, etc.) entre des moteurs et lesarticulations commandées. Les relations entre les variables desmoteurs et les variables articulaires sont alors linéaires.

2.1.3 Robots parallèles

Pour positionner et orienter l’organe terminal dans l’espace, unrobot parallèle doit avoir six articulations motorisées, mais il a obli-gatoirement en plus un grand nombre d’articulations passives. Plu-sieurs chaînes complexes conduisent de la base à l’organeterminal. Si l’on désire le modèle géométrique direct, on ne peutpas l’obtenir analytiquement. En effet, il faut écrire les matrices depassage de toutes les chaînes (au nombre de six) puis exprimercomme contraintes que toutes ces transformations fournissent lamême pose de l’organe terminal. Cela nécessite des calculs numé-riques complexes utilisés uniquement dans les systèmes de CAO(conception assistée par ordinateur), et c’est pourquoi les automa-

leur soient liées [1]. Il en est de même des dérivées des cosinusdirecteurs de la matrice d’orientation de l’organe terminal. Le choixde la vitesse instantanée de rotation permet dans un premiertemps de s’affranchir d’un quelconque ensemble de variablesd’orientation.

2.2.1 Structure de chaîne

Ce cas peut être facilement généralisé à une structure arbores-cente : il suffit de considérer chaque chaîne qui conduit de la baseà un corps terminal.

Les vitesses de l’organe terminal sont obtenues par compositiondes vitesses des corps constituant la chaîne cinématique.

Si l’articulation active i est rotoïde, on a qi = θi , et alors :

(15)

Si l’articulation active i est prismatique, on a qi = ri et l’on peutécrire :

(16)

Les équations (15) et (16), appliquées successivement depuis labase jusqu’à l’extrémité de la chaîne, permettent d’exprimer lesvitesses de l’organe terminal en fonction des dérivées des varia-bles de configuration. Sous forme matricielle, on a :

(17)

avec J0 matrice de dimensions (6,n), c’est-à-dire (6,6) pourun robot non redondant,

Q vecteur-matrice colonne (n,1) dont les composantessont les qi .

, αcos h αsin– L2,

2 h2 q2–+ +

2L---------------------------------------------=

βsin ,

,2 h2

+------------------------ et= β h

,2 h2

+------------------------=cos

β α–( )sin L2,

2 h2 q2–+ +

2L ,2 h2

+---------------------------------------------=

, 2 Vi 0

Vi 1–0

qi Zi 0+=

O˙i 0

O˙i 1–

0Vi ∧ diX i 1– ri Zi+( )

0+=

Vi 0Vi 1–

0=

O˙i 0

O˙i 1–

0qi Z i 0

+=

O˙n

Vn 0

J0 Q( )Q=

Page 9: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

________________________________________________________________________________ MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS

La matrice J0 est fonction des qi puisque les équations qui per-mettent de calculer les vitesses dans le repère de la base font inter-

venir les matrices de passage qui contiennent ces variablesde configuration.

Si l’on veut maintenant calculer les dérivées, par rapport autemps, de coordonnées opérationnelles mesurables, par exempleles coordonnées cartésiennes du point de référence de l’organeterminal et les angles de roulis, tangage et lacet de son repère deréférence, il faut exprimer en particulier les relations entre la

vitesse angulaire et les dérivées des variables d’orientation.

On peut commencer simplement par faire intervenir la matrice descosinus directeurs et sa dérivée. On démontre [1] que l’on peutécrire en particulier pour le corps n :

(18)

où l’on a noté :

(19)

Puisqu’une matrice de rotation est orthogonale, on en déduit lesexpressions des composantes de la vitesse angulaire par laformule :

(20)

où l’exposant T dénote la transposition de matrice.

La relation (7) est l’expression d’une matrice de rotation en fonc-tion des angles de roulis, tangage et lacet (§ 2.1). Il suffit de la déri-ver par rapport au temps et d’appliquer l’équation (20) pour obtenirles relations entre les dérivées des variables d’orientation et lesdérivées des variables articulaires. Dans le cas présent où l’ons’intéresse au corps terminal, on a :

Ti 1–

i

Vn0

R0

n Vn R0

n=

Vn

0 – V Z 0 V Y 0

V

Z

0

0 – V X 0

– V Y 0 V X 0 0

avec

V

n

0

V

X

0

V

Y

0

V Z 0

==

Vn R0

n R0 1–

n R0

n R0 T

n= =

(21)R0n

λ0ncos ρ0n λ0nsin θ0nsin ρ0nsin–cos – λ0nsin θ0ncos λ0ncos ρ0n + λ0nsin θ0nsin ρ0ncossin

λ0nsin ρ0ncos + λ0ncos θ0nsin ρ0nsin λ0ncos θ0ncos λ0nsin ρ0n λ0ncos θ0nsin ρ0ncos–sin

– θ0ncos ρ0n sin θ0nsin θ0ncos ρ0ncos

=

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.© Techniques de l’Ingénieur, traité Informatique industrielle S 7 730 − 9

Les trois premières composantes d’un vecteur « vitesse descoordonnées opérationnelles » sont tout naturellement les compo-santes de la vitesse du point de référence terminal dans le repèrede la base.

On obtient ainsi finalement une relation de la forme :

(22)

J (Q) est ainsi la matrice jacobienne (cf. article Calcul différentiel[AF 55] dans le traité Sciences fondamentales) de la fonction vec-torielle f qui définirait un modèle géométrique direct de la forme :

X = f (Q ) (23)

quand il existe explicitement.

2.2.2 Structures avec des boucles simples

Comme il a été écrit plus haut (§ 2.1.2), il existe une chaîne prin-cipale qui conduit de la base vers l’extrémité, mais alors certainesarticulations de cette chaîne sont passives (non motorisées direc-tement). Il est cependant possible, au paragraphe 2.2.1, d’écrire unmodèle cinématique direct en fonction de toutes les variables arti-culaires, motorisées ou non, de la chaîne principale, puis d’utiliserles relations entre les variables des articulations passives et lescoordonnées qi motrices, ainsi que les dérivées, pour « éliminer »les premières et obtenir une matrice jacobienne comme dansl’équation (22).

Prenons l’exemple simple de boucles planes déjà vu (§ 2.1.2), etintroduisons les paramètres de dimensions (voir figure 12). Lavariable active est la longueur q du vérin et la variable passive dela chaîne principale est par exemple l’angle θ. Ce dernier est égalà l’angle α plus un angle constant. Le repère {X, Y } est par exem-ple un repère local. La relation (10) :

a été utilisée pour obtenir le modèle géométrique direct (23). Pardérivation de ce dernier, on obtient l’expression de dθ en fonctionde dq , en dehors des cas limites (singularités). En effet, on a dansces cas :

cos(β – α ) = 0,

et dθ/dq = dα /dq n’est pas défini.

2.2.3 Robots parallèles

Comme le modèle géométrique direct, le modèle cinématiquedirect ne s’obtient pas simplement pour de tels mécanismes. Onpréfère inverser le modèle cinématique inverse qui est, lui, relati-vement facile à obtenir (§ 3.1.3).

3. Changementsde coordonnées inverses

L’organe terminal d’un robot manipulateur doit effectuer desmouvements et/ou exercer des efforts dans un repère qui est lié àl’espace opérationnel (l’atelier). L’opérateur qui programme unrobot par des moyens évolués [5] lui fournit des instructions défi-nies dans cet espace. Par contre, même s’il est doté de capteursextérieurs (de position, de force) permettant de l’asservir locale-ment à la tâche, le robot a ses asservissements élémentairesbouclés sur les informations issues de ses capteurs internes (arti-culaires) et mesurant plus ou moins directement les qi et/ou les γi .L’armoire de commande du robot doit donc contenir un module(un programme implanté sur calculateur numérique) qui calcule lesconsignes à envoyer aux asservissements « articulaires » en fonc-tion des valeurs des variables de position, d’orientation et/oud’efforts désirées dans l’espace opérationnel. Ces calculs fontappel aux modèles théoriques des transformations de coor-données inverses. Une condition nécessaire d’existence de cesmodèles (nombre fini de solutions) est que le robot ne soit pasredondant vis-à-vis de la tâche : le nombre de variables opération-nelles spécifiées est égal à N, nombre de degrés de liberté dumécanisme.

3.1 Modèle géométrique inverse

En supposant les asservissements parfaits, on a égalité de leurssorties qi et des consignes de position correspondantes. Il s’agit icide calculer, si elle existe, l’application réciproque f –1 de celle dumodèle géométrique direct (23).

X6,1( )

J Q( )6,n( )

Qn,1( )

=

q L2,

2 h2 2L , αcos h αsin–( )–+ +=

Page 10: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS ________________________________________________________________________________

Aucune solution réelle n’existe en dehors de ce que l’on nommel’espace de travail du robot [6]. De plus, il peut exister plusieurssolutions en nombre fini (voir figure 9) ou en nombre infini dansles singularités de la matrice jacobienne J associée à f.

En dehors des singularités, et sans tenir compte des butéesmécaniques, il est impossible dans le cas général de savoir si unmécanisme donné est soluble et quel est le nombre de solutionsquand il l’est. On peut toutefois avoir des informations dans descas simples en étudiant analytiquement le déterminant de lamatrice jacobienne : dét J [1]. Pour un robot série à six axesrotoïdes, dont les trois axes du poignet sont concourants, il peut yavoir théoriquement trente-deux solutions différentes Q (aspects)pour une pose donnée.

3.1.1 Structures série

Pour un grand nombre de robots manipulateurs dont les troisaxes du poignet sont concourants, il est possible de résoudre ana-lytiquement le problème inverse par étapes.

La position du point de référence de l’outil et l’orientation del’outil sont données relativement au repère atelier. À un déplace-ment constant près, on peut considérer ici que ce dernier estconfondu avec le repère de la base du robot. Les données sont « bras » qui y conduisent, en partant de la base. Prenons le cas

d’un robot à six degrés de liberté et à six bras (par exemple celui

Figure 13 – Mécanisme parallèle à trois degrés de liberté

RS

R

Point deréférence

M

R

L

L1 L2

P(q1) P(q2) P(q3)

Y

U U

S

S

θ

X

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.S 7 730 − 10 © Techniques de l’Ingénieur, traité Informatique industrielle

ainsi et . Par ailleurs, la situation de l’outil dans le

repère de référence du corps 6 est fixe. On en déduit les coordon-nées du point d’intersection O4 = O5 = O6 des axes du poignet :

(24)

La position du poignet permet alors de résoudre le « bras » etd’obtenir, en dehors des cas singuliers, la (ou les) solution(s)admissible(s) pour q1 , q2 et q3 . À chaque solution correspond une

matrice de rotation . Comme l’on a :

(25)

on en déduit :

(26)

Cette dernière matrice ne fait intervenir que q4 , q5 et q6 , quel’on calcule alors.

Nota : on trouve dans la référence [2] les solutions pour un grand nombre de structu-res de robots industriels série du commerce.

3.1.2 Robots avec des boucles

On calcule alors le modèle géométrique inverse pour la chaîneprincipale, puis on remplace les coordonnées articulaires passivespar leurs expressions en fonction des variables motorisées,comme au paragraphe 2.1.2. La présence de boucles cinématiquesaugmente le nombre de solutions théoriques et par là même lacomplexité des calculs. En pratique, on ne retient que les solutionstechniquement réalisables.

3.1.3 Robots parallèles

Dans ce cas, la position et l’orientation de l’organe terminal quiporte l’outil sont assurées par les configurations des divers

de la figure 3). Il y a cinq boucles et donc, d’après la formule (3),la somme des degrés de liberté de l’ensemble des articulations desbras est égale à 6 + (6 × 5) = 36. Pour que le système soit correcte-ment défini, il faut six degrés de liberté par bras, que les brassoient identiques ou non, et chacun d’entre eux peut alors êtrerésolu par la méthode donnée au paragraphe 3.1.1.

Nota : un exemple de résolution, celle du robot Delta à trois degrés de liberté, estdonné dans l’article Robots parallèles [R 7 710] du présent traité. Le principe est valabledans le cas général.

Ici encore, on peut avoir des singularités. Nous détaillerons ceproblème à propos des modèles cinématiques (§ 3.2). D’autre part,des contraintes technologiques peuvent éliminer des solutions, quisont hors du volume de travail du robot.

Considérons l’exemple simple de la figure 13. Ce mécanismecomporte :

— trois articulations prismatiques actives P (vérins) ;— deux rotoïdes R qui assurent, avec la première prismatique, la

précision de positionnement et d’orientation de la plate-formemobile ;

— deux rotules S ;— deux cardans U.

L’ensemble comporte donc N = 15 – 6 × 2 = 3 degrés de liberté.On voit en effet que normalement, on peut positionner (point M) etorienter (angle θ ) l’axe de la plate-forme dans le plan de la figureen agissant sur les vérins.

Pour simplifier l’exposé, on a noté qi la longueur totale duvérin i.

(27)

Ce modèle mathématique correspond à une configuration exé-cutable si et seulement si :

ce qui correspond à une pose de la plate-forme appartenant àl’espace de travail.

On remarque toutefois que théoriquement, si par exempleYM = 0, on se trouve en singularité : si le mécanisme y arrive, aidépar la gravité par exemple, il ne peut en sortir activement et resteavec YM = 0.

Exemple 4

Dans le cas simple représenté sur la figure 12, on ne prend que lasolution q > 0, et normalement le mécanisme doit être construit pourqu’il n’atteigne pas ses propres configurations singulières. La résolu-tion du triangle est alors unique et correspond à la relation (10) où nediffère de que par un angle constant.

Ooutil[ ] 0 R0

outil

O6[ ] 0 Ooutil[ ] 0 R0

outil Ooutil O6–[ ]6–=

R0

3

R0

outil R0

3 R3

6 R6

outil=

R3

6 R3

0 R0

outil Routil

6=

αθ

q1

q2

q3 X M

2 Y M2

+=

L1 XM–( )2 Y M2

+=

L1 L2 XM– L θcos–+( )2 YM L θsin+( )2+=

qi min<qi<qi max pour i 1,2,3=

Page 11: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

________________________________________________________________________________ MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS

On obtient également d’autres configurations singulières quandl’axe du troisième vérin est aligné avec celui de la plate-forme. Onne peut alors pas modifier θ sans changer la position du point M.

3.2 Modèle cinématique inverse

Ce modèle est nécessaire quand on spécifie la loi de vitesse del’organe terminal dans le repère atelier (ou plus simplement celuide la base du robot) pour en déduire les lois d’évolution des varia-bles articulaires asservies. Le problème revient donc à inverser lamatrice jacobienne J , quand c’est possible.

3.2.1 Structures série

Dans ce cas, on a toujours besoin de calculer au préalable lemodèle géométrique inverse. En effet, on a théoriquement deuxfaçons d’obtenir le modèle cinématique inverse :

— par dérivation du modèle géométrique inverse ;

Une autre façon élégante fait appel aux coordonnées dePlücker [3]. Tout actionneur i associé à une variable active qi pro-duit une force ou un couple γi le long ou autour de l’axe corres-pondant. Cet effort, si le mécanisme est supposé sans frottement,contribue au vecteur F des efforts exercés par le corps terminal sur

De part et d’autre d’une configuration singulière se trouventdes aspects différents.

Figure 14 – Coordonnées de Plücker

OM1

M2

u

m

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.© Techniques de l’Ingénieur, traité Informatique industrielle S 7 730 − 11

— par inversion de la matrice jacobienne J .

On obtient ainsi, en dehors des singularités, une relation de laforme :

(28)

avec J –1 l’inverse de la jacobienne fonction de Q . Dans undeuxième temps, il faut donc utiliser le modèle géométriqueinverse pour remplacer les qi par leurs valeurs numériques ou,quand c’est possible, par leurs expressions en fonction de X .

Dans le cas de robots série, les singularités de la matricejacobienne (solutions de l’équation dét J = 0) correspondent à despertes de mobilité : les mouvements admissibles appartiennent àdes sous-espaces de l’espace des vitesses, normalement de dimen-sion 6 pour la majorité des robots.

On peut éviter, soit par construction soit par « butées électro-niques », d’atteindre les configurations singulières. De plus, onpeut prévoir dans le langage de programmation, de spécifierl’aspect dans lequel doit s’effectuer le mouvement. C’est le cas dulangage VAL [5] pour le robot PUMA dont nous avons représentéles divers aspects du bras sur la figure 9. Il y a en plus les singu-larités du poignet dont deux axes peuvent être alignés : on peutdonc avoir de part et d’autre de cette singularité retournement ounon du poignet (flip ou no flip dans le langage de programmation).

3.2.2 Robots avec des boucles simples

On a étudié ce cas pour le modèle géométrique inverse, avecl’exemple détaillé de la boucle de la figure 12. On peut traiter detels robots comme les robots série, en considérant la chaîne prin-cipale, puis remplacer dans l’expression de dX /dt les dérivées desvariables articulaires passives de la chaîne principale par leursexpressions en fonction des dérivées dqi /dt des variables actives.Ces dernières expressions sont obtenues en dérivant les relationsgéométriques dans les boucles.

Dans la fabrication du mécanisme, on fait en sorte que les bouclesn’introduisent pas de singularités propres. Comme dans le cas d’unrobot à structure de chaîne, les configurations singulières sont obte-nues quand le déterminant de la matrice jacobienne est nul.

3.2.3 Robots parallèles

Une première façon d’obtenir le modèle cinématique inverse desrobots parallèles consiste à dériver le modèle géométrique inverse.

son environnement. Considérons le modèle différentiel inverse quel’on recherche. Il est de la forme :

dQ = GdX (29)

avec G l’inverse de la matrice jacobienne du modèle direct.

Appliquons le principe des travaux virtuels : pour cela, on consi-dère des déplacements virtuels dQ et dX compatibles avec lescontraintes du mécanisme et l’on écrit l’égalité des travaux desforces pour ces déplacements :

FTdX = GTdQ (30)

donc FTdX = GTGdX (31)

d’où F = GTG (32)

Il suffit donc de savoir exprimer la force et le moment résultantau niveau de l’organe terminal en fonction des efforts actifs pourobtenir la matrice G.

On considère pour cela les coordonnées de Plücker d’une droite(figure 14).

Soit, dans l’espace à trois dimensions, une droite définie pardeux de ses points distinct M1 et M2 , et O l’origine d’un repère deréférence R0 . On considère deux vecteurs qui sont des invariantsde la ligne :

où M est un point de la droite.

Les composantes de ces deux vecteurs fondamentaux s’obtien-nent à partir des coordonnées de Plücker de la droite. Ces derniè-res sont les six composantes du vecteur colonne :

(33)

On a en effet :

(34)

Q J1–

Q( )X=

le vecteur unitaire uson moment par rapport à O : m OM u ∧ =

UM1M2 R0

OM1 OM2∧R0

=

VU

M1M2

----------------------- u

m R0

= =

Page 12: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS ________________________________________________________________________________

On peut associer un tel vecteur à l’axe de chaque articulationmotorisée. On obtient ainsi pour un robot à six axes V1 à V6 .

On va montrer que l’on a, dans le cas de moteurs linéaires [3] :

GT = [V1 ... V6]

Le système mécanique étant en équilibre statique, on a :

(35)

(36)

où O est le point de référence choisi.

En notations matricielles, les équations (35) et (36) donnent :

Donc, en dehors des singularités, on a :

4. Utilisation des matrices jacobiennes

La matrice jacobienne J et son inverse G ou J –1 ont des appli-cations fondamentales dans l’analyse d’un mécanisme et dans sacommande.

4.1 Calcul des efforts statiques

À partir du modèle cinématique, on peut écrire le modèledifférentiel :

dX = J (Q )dQ (39)

Supposons que les variables qi soient directement les variablesassociées aux déplacements relatifs des moteurs rotatifs ou linéai-res. Chacun de ces derniers exerce une force ou un couple noté γi ,d’où pour l’ensemble des degrés de liberté un vecteur des efforts

= [γ1γ2 ... γN]T.

Si l’on note F le vecteur à six composantes de la force et dumoment exercés par l’organe terminal sur l’environnement, le prin-cipe des travaux virtuels permet d’écrire :

γi ui

i 1=

i 6=

∑ F=

OOi γiui∧i 1=

i 6=

∑ M=

V1V2 ...V6 GF

M R0

= G

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.S 7 730 − 12 © Techniques de l’Ingénieur, traité Informatique industrielle

G = J –1 = [V1 V2 ... V6]T.

Considérons l’exemple simple de la figure 13. La dérivation deséquations du modèle géométrique inverse (§ 3.1.3) donne :

(37)

Nota : dans la troisième ligne, on a écrit q3 au lieu de

pour alléger l’écriture.

Si maintenant on considère les coordonnées de Plücker des axesdes vérins, en se limitant aux composantes non nulles (deux pourle vecteur unitaire dans le plan de la figure et une pour sonmoment le long de l’axe perpendiculaire à ce plan) et en choisis-sant M comme point de référence, on obtient bien :

(38)

FTdX = TdQ (40)

d’où :F = J –T (41)

qui donne la répercussion des efforts moteurs sur l’environne-ment, en dehors des singularités. Pour un robot parallèle, on avaitau paragraphe précédent démontré directement ces formules.Cependant on avait obtenu la relation (32) :

F = GT

et les singularités à considérer pour obtenir F sont donc ici cellesde G.

Avec les matrices jacobiennes, on peut également définir une« impédance » (raideur) du robot manipulateur vu par l’environne-ment. Imaginons que les raideurs au niveau des moteurs définis-sent une matrice K. Sans tenir compte de la pesanteur, l’énergiepotentielle du mécanisme, pour un changement de configurationvirtuel dQ , est de la forme :

(42)

En utilisant le modèle différentiel inverse dQ = J – 1d X, onobtient :

(43)

Donc Kext = J –TKJ –1 apparaît comme la matrice de raideur dumécanisme vu depuis l’espace opérationnel.

4.2 Inerties de l’organe terminal vues par l’environnement

Nous montrons que la matrice jacobienne intervient égalementdans le calcul de l’inertie du robot comme si un opérateur extérieuressayait de le déplacer (l’accélérer) en agissant sur son organe ter-minal, si les liaisons étaient idéalement sans frottement. En effet,pour tout système mécanique, l’énergie cinétique Ec est une fonc-tion quadratique des vitesses, qui peut s’exprimer en fonction desvitesses des variables qi :

(44)

∂q1

∂XM------------

∂q1

∂YM-----------

∂q1

∂θ---------

∂q2

∂XM------------

∂q2

∂YM-----------

∂q2

∂θ---------

∂q3

∂XM------------

∂q3

∂YM-----------

∂q3

∂θ---------

=

XM

XM2 YM

2+

------------------------------- YM

XM2 YM

2+

------------------------------- 0

L1 XM––

L1 XM–( )2 YM2

+

------------------------------------------------------- YM

L1 XM–( )2 YM2

+

------------------------------------------------------- 0

L θcos XM L1 L2––+q3

--------------------------------------------------------------- YM L θsin+

q3---------------------------------

L θ L1 L2 XM–+( )sin LYM θcos+q3

-------------------------------------------------------------------------------------------------

L1 L2 XM L θcos––+( )2 YM L θsin+( )2+

V1

XMq1--------

YMq1--------

0

,= V2

XM L1–q2

---------------------

YMq2--------

0

,= V3

L θcos XM L1– L2–+q3

------------------------------------------------------------

YM L θsin+q3

--------------------------------

L θcosL θsin ^

L θcos XM L1 L2––+q3

------------------------------------------------------------

YM L θsin+q3

--------------------------------

=

G

G

G

Ep12--- dQ

TKdQ=

Ep12---dX

TJ

T–KJ

1– dX=

Ec12---Q

TA Q( )Q=

Page 13: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

________________________________________________________________________________ MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS

avec A (Q ) matrice (n,n ) symétrique définie positive dépendant desmasses et des inerties de chaque corps mobile, fonction de laconfiguration instantanée Q du mécanisme.

En utilisant le modèle cinématique inverse, quand il existe, onobtient :

(45)

La matrice J –T(Q )A(Q )J –1(Q ) apparaît donc comme une matricede masses et d’inerties généralisées dans l’espace opérationnel.

À partir du repos, les capacités d’accélérations du robot vuesdans cet espace seront d’autant mieux isotropes que translation etrotation sont mieux découplées, l’idéal étant que :

1. la matrice soit de la forme :

2. les valeurs propres de [m ] soient égales, et les valeurs pro-pres de [ ] soient égales. Comme la matrice dépend de la configu-ration Q, ces conditions ne peuvent jamais être satisfaites danstout le volume de travail, mais éventuellement dans quelquesconfigurations particulières.

4.4 Commande « jacobienne »

Dans une commande par calculateur numérique, ce dernier« bloque » la commande pendant chaque période d’échantillon-nage de durée T. Les informations sur la configuration Q, prove-nant de capteurs, sont échantillonnées avec la même période. Soit(dXd )k la variation de pose « désirée » à l’instant kT où la configu-ration est Qk . D’une manière idéale, d’après le modèle différentiel,il doit en résulter une variation de configuration dQk telle que :

Ec12---X

TJ

T–Q( )A Q( )J 1–

Q( )X=

m 0

0 I

I

Figure 15 – Commande jacobienne

(dXd)kdQk

Qk

(Qd)kJT (Qk )

Robotet

servos

J (Qk )

Kv Σ+

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.© Techniques de l’Ingénieur, traité Informatique industrielle S 7 730 − 13

Cette analyse permet au programmeur du robot de choisir desconfigurations préférentielles quand il désire obtenir une accéléra-tion de l’organe terminal particulièrement importante dans telle outelle direction de l’espace.

4.3 Indice de manipulabilité

Pour un robot série dans une configuration singulière, il y a pertede degrés de mobilité de l’organe terminal puisqu’alors le vecteurdX de ses déplacements élémentaires n’appartient plus à l’espacedes opérations de dimension 6, mais à un sous-espace de dimen-sion égale au rang de la matrice jacobienne J.

On a pu ainsi définir un indice de manipulabilité w (Q), nul pourles configurations singulières, par :

(46)

Pour un robot non redondant, n = 6 et J est une matrice carrée.L’expression de l’indice de manipulabilité est alors :

(47)

On peut définir des ellipsoïdes de manipulabilité qui traduisentla facilité qu’a le robot à engendrer une vitesse linéaire et angulairedX /dt dans les directions de l’espace opérationnel. Ils ont pouréquation :

dXT(JJT)–1dX = constante (48)

Les longueurs des demi-axes de ces (hyper)ellipsoïdes sont pro-portionnelles aux racines carrées des valeurs propres de JJ T.

On voit qu’il y a dualité avec des ellipsoïdes d’efforts (ces der-niers étant perpendiculaires aux déplacements dans des déplace-ments virtuels sans frottement respectant les contraintes) quiauraient pour équation :

FTJJTF = constante (49)

En effet, les valeurs propres de (JJT)–1 sont les inverses de cellesde JJ T.

Il en résulte qu’un robot ne peut pas simultanément se déplacerà la vitesse optimale et exercer un effort maximal dans la mêmedirection [2].

(dXd)k – J (Qk)dQk = 0 (50)

Pour essayer de réaliser cette condition, on cherche à minimiserla fonction d’erreur :

(51)

L’application de la méthode du gradient à la minimisation decette fonction conduit à l’application des variations suivantes desconsignes aux asservissements articulaires :

(dQd )k + 1 = dQk + Kv JT (Qk)[(dXd)k – J (Qk)dQk] (52)

ce qui donne un schéma théorique représenté sur la figure 15.Kv est une matrice de gains.

Nota : la méthode a été donnée à titre didactique, car il est souvent possible de cal-culer l’inverse de la matrice jacobienne, mais on verra intervenir ce type de boucle dansles commandes en effort et hybrides.

4.5 Commande en effort

Les plus classiques sont les commandes dites « par retourd’effort explicite ». Dans ce cas, une mesure des efforts entrel’extrémité du robot et l’environnement vient corriger les consi-gnes des asservissements articulaires.

4.5.1 Retour par matrice de raideur

Quand le robot est commandé en position dans l’espace opéra-tionnel, on peut lui assurer une certaine compliance (inverse de laraideur) vis-à-vis de l’environnement. Soit F le vecteur des effortsmesurés dans l’espace opérationnel, on effectue une petite correc-tion dXd de la consigne de pose selon la loi :

dXd = KF F (53)

avec KF inverse d’une matrice de raideur.

On peut avoir des problèmes d’instabilité avec une telle loi,selon les valeurs des gains (coefficients de la matrice de compli-ance) quand la variation de déplacement conduit à quitter lecontact. Ce dernier est ensuite recherché par les asservissementsde position, des efforts sont à nouveau mesurés, et ainsi de suite.

w Q( ) dét J Q( )JTQ( )[ ]=

w Q( ) détJ Q( )=

f 12--- dXd( )k J Qk( )dQk–

TdXd( )k J Qk( ) dQk–=

Page 14: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS ________________________________________________________________________________

Le choix des directions de l’espace opérationnel ainsi comman-dées s’effectue par une matrice « de sélection » diagonale, dedimensions (6,6), dont les éléments sont constitués de 0 et/ou de 1.Les efforts commandés aux articulations par les moteurs sont :

= LpS(Xd – X ) + Lf (1 – S )(Fd – F ) (56)

avec 1 matrice unité (6,6),

Lp et Lf respectivement les lois de commande en position et eneffort de l’espace opérationnel à l’espace articulaire. Elles fontdonc intervenir les matrices J –1 (ou G ) et JT.

La figure 17 représente le schéma de principe de la commandehybride.

5. Commande dynamique

Un robot manipulateur est une structure mécanique complexedont les inerties par rapport aux axes articulaires varient non seu-lement en fonction de la charge terminale, mais aussi en fonctionde la configuration. Les effets de la pesanteur varient également

Figure 16 – Commande d’impédance

JT (Q)

J (Q)

Kv+

Kp+–

+

+

Robot

X

X

Q

Q

X

Xd

Xd

X

Transformationde coordonnées

Commande

G

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.S 7 730 − 14 © Techniques de l’Ingénieur, traité Informatique industrielle

4.5.2 Commande d’impédance

Ce type de commande généralise le précédent. On peut choisird’avoir par exemple un comportement du type ressort plus amor-tisseur, ce qui correspond à la relation :

(54)

d’où le vecteur de commande des efforts articulaires :

(55)

qui fait bien intervenir la matrice jacobienne.

Le schéma théorique est représenté sur la figure 16.

4.6 Commande hybride position-force

avec cette dernière. Quand les articulations (les « axes ») sontactionnées par l’intermédiaire de forts rapports de réduction, l’iner-tie vue par les moteurs varie peu. En effet, l’inertie de la chargeramenée au moteur est divisée par le carré du rapport de réduction(voir les articles sur les asservissements [R 7 500] et suivants duprésent traité). Dans ces cas, les asservissements peuvent êtreassurés axe par axe par des réseaux classiques, PID notamment(proportionnel, intégral et dérivé). Toutefois, une augmentation desrapports de réduction entraîne une perte de rendement et unsurdimensionnement des moteurs.

Pour des motorisations avec de faibles rapports de réduction oumême « à entraînement direct » (direct-drive ), les moteurs doiventcompenser les variations des forces d’inertie et de gravité fonc-tions de la configuration, et des commandes non linéaires sontalors intéressantes pour assurer des performances constantesdans toutes les conditions de fonctionnement. Une autre possi-bilité est d’utiliser un mode de commande robuste, par exempleles systèmes dits « à structure variable », mais les rapidités deréponse correspondantes sont médiocres en général. Une« commande dynamique » est un asservissement non linéaire dontles paramètres utilisent un modèle de la dynamique du robot.

5.1 Modèles théoriques de la dynamique

Les deux principaux formalismes utilisés pour obtenir les équa-tions différentielles qui décrivent le comportement d’un méca-nisme à plusieurs corps articulés sont le formalisme de Newton(théorèmes généraux de la mécanique classique) et celui deLagrange.

5.1.1 Équations de Newton

Soit le vecteur définissant la position du centre d’inertie Gi du

corps i dans un repère fixe, le tenseur d’inertie central (au centre

d’inertie) de ce corps, et mi sa masse, le vecteur vitesse angu-

laire instantanée de ce corps, le torseur résultant(force et moment) en Gi des forces extérieures à ce corps considéréisolément.

Figure 17 – Commande hybride position-force

La commande hybride (ou mixte) consiste à contrôler simul-tanément les efforts dans certaines directions de l’espace, et lesmouvements dans les autres. Elle est utilisée pour des opé-rations au contact, comme l’ébavurage de pièces, l’assem-blage, etc.

S+

1 – S+

+

+Robot

F

Q

Xd

Fd

Transformationde coordonnées

en position+

transformationinverse

Commandeen effort

+transformation

inverse

Effortsmesurés

Consignesdans l'espaceopérationnel

Fn Kp Xd X–( ) Kv Xd X–( )+=

G JT

Kp Xd X–( ) Kv Xd X–( )+=

G i

Ii

Vi

Fi( )ext , Mi( )ext{ }

Page 15: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

________________________________________________________________________________ MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS

Les équations fondamentales de la dynamique s’écrivent :

(57)

(58)

En l’absence de forces provenant de l’environnement, les forcesagissant sur ce corps sont celles au niveau de ses articulationsavec les autres corps de la structure mécanique. Au point Oi , on a

la force et le moment .

Pour un manipulateur à structure de chaîne, en introduisant lesvecteurs :

on peut écrire :

(59)

(60)

Dans cette formulation des équations de la dynamique, l’effet dela pesanteur est introduit par une accélération verticale de la basedu robot. Si le robot manipulateur est situé sur un véhicule dont lemouvement est connu, on peut donc également introduire lesfonctions du temps correspondantes (vitesses et accélérations)dans les premières récurrences directes qui partent de la base.

5.1.2 Équations de Lagrange

Les équations de Lagrange permettent d’obtenir directement lesrelations entre les efforts moteurs aux articulations et les mouve-ments. Par rapport aux équations de Newton, on perd au passageles informations sur les efforts de réaction aux articulations quisont utiles au dimensionnement des parties mécaniques, maisn’interviennent pas dans un modèle utile à la commande automa-tique puisque les corps sont supposés indéformables.

Il s’agit de N équations différentielles non linéaires du secondordre obtenues à partir de :

(66)

avec L = Ec – Ep fonction de Lagrange, différence entrel’énergie cinétique Ec et l’énergie potentielle

d

dt------ mi G

˙ i

F i ( ) ext =

ddt------ Ii Vi•

Ii V i

˙• V i Ii Vi•

∧+ M i( )ext= =

fi mi

Li OiOi 1+=

d i OiGi=

Vi Vi 1– σi qi Zi+=

O˙i O

˙i 1– Vi 1– L i 1–∧ σ q Zi+ +=

ddt------ ∂L

∂qi--------

∂L∂qi--------– γi avec i 1,...N==

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.© Techniques de l’Ingénieur, traité Informatique industrielle S 7 730 − 15

d’où, par dérivation :

(61)

(62)

avec σi = 0 si l’articulation i est rotoïde,

σi = 1 si l’articulation i est prismatique,

= 1 – σi .

Les équations (61) et (62) s’appellent « récurrences avant », carpour la chaîne on part de la base pour aller vers l’extrémité.

On en déduit les accélérations des centres d’inertie :

(63)

d’où le vecteur résultant des forces extérieures en ce point en uti-lisant la première équation de Newton (57).

Le moment résultant s’obtient à partir de la seconde équation deNewton (58), connaissant les vitesses angulaires (59) et (60) etleurs dérivées (61) et (62).

On en déduit les efforts aux articulations par des récurrences« arrière » (en partant de l’extrémité pour revenir vers la base) :

(64)

(65)

Ces équations peuvent être étendues sans trop de difficultés auxstructures arborescentes, il suffit de considérer tous les « succes-seurs » de chaque corps i (multiplication des points tels que Oi + 1et des efforts transmis aux articulations). Pour les structures pré-sentant des boucles et pour les robots parallèles, il suffit d’ouvrirfictivement les boucles, les équations s’appliquent puisque chaquecorps est considéré comme isolé et qu’il y a autant d’inconnuesque d’équations (pour une topologie correcte et hors singularités).

Ep du mécanisme,

γi « force généralisée » correspondant à lavariable articulaire qi . Elle inclut toutes lesforces non conservatives, c’est-à-dire nonseulement la force motrice ou le couplemoteur selon le cas, mais aussi les forces oucouples de frottement.

Pour tous les systèmes mécaniques, l’énergie cinétique (44) estune forme quadratique des vitesses :

où A(Q ) est une matrice symétrique définie positive dépendant desmasses et des inerties de chaque corps du mécanisme, et de laconfiguration Q. En effet :

(67)

et on a vu que les vitesses de translation et de rotation de chaquecorps sont des fonctions linéaires des vitesses articulaires.

D’autre part, l’énergie potentielle est fonction de la configurationdu mécanisme (potentiel de gravité, énergie dans des ressortscompensateurs) :

Ep = Ep (Q ) (68)

Il en résulte que les équations de Lagrange peuvent s’écrire :

(69)

où le premier vecteur représente les forces ou couples d’inertie surles articulations motorisées, le deuxième (du second degré par rap-port aux vitesses) correspond aux effets centrifuges et de Coriolis,le troisième traduit les efforts dus à la pesanteur et aux ressorts.

5.2 Commande dynamique

La matrice A(Q ) n’est généralement pas diagonale (il y a descouplages inertiels entre corps) et dépend fortement de la configu-ration Q. De plus, aux grandes vitesses, les forces centrifuges et deCoriolis [vecteur B (Q )] peuvent être importantes. Pour ces raisons,l’utilisation d’asservissements linéaires classiques contrôlant sépa-

i i

i V˙i 1– σi qi Zi qi Vi 1– Zi∧+( )+=

i O˙

i 1– V˙i 1– Li 1–∧ V i 1– Vi 1– Li 1– σiqi Zi+∧( )∧+ +=

+ σi qi Zi qi Vi 1– ∧ Zi+( )

i 1– V˙i 1– Li 1–∧ Vi 1– Vi 1– Li 1–∧( )∧+ +=

+ σi qi Zi 2qi Vi 1– ∧ Z i+( )

σi

i O˙

i V˙i di∧ Vi Vi d i∧( )∧+ +=

f i Fi( )ext f i 1++=

mi M i( )ext m i 1+ L i f i 1+∧ d i Fi( )ext∧+ + +=

Ec12---Q

TA Q( )Q=

Ec12---mi G

˙i G

˙i•

i 1=

i n=

∑ 12---Vi Ii Vi•

•+=

A Q( )Q B Q Q,( ) C Q( )+ + G=

Page 16: Modélisation et commande des robots manipulateurschemori/Temp/Francois/Control_Manipulators/... · 2011-03-02 · d’un corps rigide Le mouvement d’un corps solide rigide est

MODÉLISATION ET COMMANDE DES ROBOTS MANIPULATEURS ________________________________________________________________________________

Pour un modèle parfait, l’évolution du vecteur des erreurs arti-culaires ε = (Qd – Q ) est régie par l’équation :

(71)

En choisissant alors les matrices Kp et Kv diagonales, les erreursarticulaires sont découplées et chacune se comporte comme unsystème du second ordre dont on peut fixer la rapidité de réponse(choix de Kp) et l’amortissement (choix de Kv , étant donné Kp ).

5.2.2 Commande avec prédicteur

Si le modèle est très imparfait et si les erreurs initiales sontimportantes, le comportement non linéaire des erreurs (vecteur ε )correspondant à la méthode précédente est difficilement prévi-sible. Bien que l’on puisse théoriquement assurer la stabilité, onrisque d’avoir des dépassements non souhaités, susceptibles deprovoquer des collisions entre le robot et son environnement. Pouréviter cela, au lieu d’utiliser le modèle dynamique calculé à partir

Figure 18 – Commande dynamique théorique

Modèle

Kv+

Kp+–

+

+

+

Robot

• •

Q

Q

Qd

Qd

Qd

••

ε

ε

ε Kv ε Kpε+ + 0=

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.S 7 730 − 16 © Techniques de l’Ingénieur, traité Informatique industrielle

rément chaque axe conduit à des performances de rapidité et deprécision inconstantes et difficiles à estimer étant donné le carac-tère fortement non linéaire du processus commandé. Cet inconvé-nient peut être notablement réduit par des schémas de commandeautomatique utilisant le modèle dynamique du mécanisme. Deuxméthodes sont exposées ici.

5.2.1 Commande théorique : méthode des couples calculés

Ce schéma de commande, représenté sur la figure 18, utiliseune loi non linéaire pour découpler et linéariser les équations dif-férentielles qui décrivent les mouvements articulaires. Les coupleset forces de commande sont calculés à partir du modèledynamique :

(70)

avec Qd = Qd (t) évolution du vecteur de consigne (valeurs dési-rées) des asservissements articulaires, m indice indiquant que A, Bet C sont estimés (modèles).

de l’état mesuré du robot (positions et vitesses articulaires), on uti-lise celui calculé à partir de l’état désiré. On évite ainsi un rebou-clage non linéaire. Les efforts au niveau des articulations sont alorscalculés par :

(72)

qui correspond au schéma de la figure 19.

Pour un modèle parfait et des erreurs initiales petites, onretrouve la réponse de la commande théorique. En outre, quandles mouvements désirés sont connus à l’avance, les termes correc-teurs peuvent être précalculés hors ligne.

6. Conclusion

Les principes de modélisation des robots manipulateurs dont cetarticle a donné les grandes lignes sont utilisés dans les armoiresde commande des robots industriels modernes, y compris lacommande en effort et la commande dynamique. Les modèlessont par ailleurs engendrés automatiquement par un grandnombre de systèmes de conception et de fabrication assistées parordinateur (CFAO) utilisés pour simuler le comportement de méca-nismes complexes ou pour programmer « hors ligne » les robotsindustriels. Les déformations des corps constituant les méca-nismes ont été toutefois négligées ici et des modèles plus compli-qués seraient nécessaires pour les inclure. Les lois de commandede robots « souples » seraient également plus compliquées carelles devraient contrôler les déformations qui constituent autant dedegrés de liberté supplémentaires. Pour l’instant, de tels manipu-lateurs ne sont pas utilisés dans l’industrie, mais comme brastéléopérés dans les navettes spatiales par exemple. Il ne faut tou-tefois pas exclure que de nouvelles structures se développent,comme c’est certainement le cas avec les robots parallèles, pouraugmenter la rapidité des mouvements avec des bras relativementlégers et peu coûteux.

Figure 19 – Commande dynamique calculée à partir de la consigne

Modèle

Kv+

Kp+–

+

+

+

Robot

• •

Q

Q

Qd

Qd

Qd

••

ε

ε

G Am Q( ) Kp Qd Q–( ) Kv Qd Q–( ) Qd+ +[ ] Bm Q , Q( ) Cm Q( )+ +=

La commande dynamique est expérimentée depuis long-temps dans les laboratoires de recherche. Il n’y a que peu detemps qu’elle est implantée dans les armoires de commande decertains robots industriels, grâce notamment aux performancesaccrues des circuits électroniques pour les calculs numériques.

G Am Qd( ) Kp Qd Q–( ) Kv Qd Q–( ) Qd+ +[ ] Bm Qd ,Qd( ) Cm Qd( )+ +=