automatisation robotique - robot maker

45
ESTIA Automatisation 2 année Automatisation Robotique Modélisations de mécanismes Génération de trajectoires O. Patrouix / version 1.2 / 2012 1/45

Upload: others

Post on 20-Oct-2021

17 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

Automatisation

RobotiqueModélisations de mécanismes

Génération de trajectoires

O. Patrouix / version 1.2 / 2012 1/45

Page 2: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

Table des matières1 - STRUCTURES MÉCANIQUES DES ROBOTS.............................................................5

1.1 - TERMINOLOGIE DES MÉCANISMES ARTICULÉS.........................................................................51.1.1 - Degré de liberté d’un solide.....................................................................................51.1.2 - Articulations / Liaisons............................................................................................5

1.1.2.1 - Principales liaisons..........................................................................................51.1.2.2 - Articulation rotoïde..........................................................................................51.1.2.3 - Articulation prismatique..................................................................................6

1.1.2.3.1 - Normalisation des liaisons.........................................................................71.2- TYPOLOGIE DES CHAÎNES CINÉMATIQUES................................................................................8

1.2.1- Mécanismes en chaîne ouverte.................................................................................81.2.2- Mécanismes en chaîne fermée..................................................................................8

1.3-- MORPHOLOGIE DES ROBOTS MANIPULATEURS.........................................................................91.3.1- décomposition véhicule / bras / effecteurs................................................................91.3.2- Architecture des bras................................................................................................9

1.3.2.1- Les porteurs.......................................................................................................91.3.2.1.1- Les cartésiens TTT....................................................................................101.3.2.1.2- Les cylindriques RTT...............................................................................101.3.2.1.3- Les sphériques RRT..................................................................................111.3.2.1.4- Les toriques RTR......................................................................................111.3.2.1.5- Les anthropomorphes RRR.......................................................................13

1.3.2.2- Les poignets.....................................................................................................131.3.2.2.1- Le poignet rotule.......................................................................................13

1.3.3- DDL d’un mécanisme articulé................................................................................131.3.3.1- Définition.........................................................................................................131.3.3.2- Redondance.....................................................................................................141.3.3.3- Configurations singulières..............................................................................141.3.3.4- Nombre de DDL et tâche.................................................................................14

1.4 - PERFORMANCES DES ROBOTS..............................................................................................151.4.1 - Volume atteignable................................................................................................151.4.2 - Charge utile............................................................................................................151.4.3 - Précision en position..............................................................................................151.4.4 - Résolution..............................................................................................................151.4.5- Vitesse.....................................................................................................................15

1.5- STRUCTURE MÉCANIQUE ET PERFORMANCES.........................................................................161.5.1- Inertie......................................................................................................................161.5.2- Rigidité...................................................................................................................161.5.3- Jeux et frottements..................................................................................................161.5.4- Fréquence propre du mécanisme............................................................................16

1.6 - CONCLUSION....................................................................................................................16

2 - INTRODUCTION À LA NOTION DE MODÈLES......................................................17

2.1 - TERMINOLOGIE.................................................................................................................172.2 - VARIABLES OPÉRATIONNELLES...........................................................................................172.3 - VARIABLES GÉNÉRALISÉES.................................................................................................172.4 - RÔLES ET TYPOLOGIE DES MODÈLES...................................................................................17

2.4.1 - Modèles géométriques...........................................................................................172.4.2 - Modèles cinématique ou différentiels....................................................................172.4.3 - Modèle dynamique................................................................................................18

O. Patrouix / version 1.2 / 2012 2/45

Page 3: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

2.4.4 - Conclusion.............................................................................................................182.5 - GÉOMÉTRIE DE LA TÂCHE..................................................................................................18

2.5.1 - Retour sur les matrices homogènes.......................................................................182.5.1.1 - Introduction....................................................................................................182.5.1.2 - Définition d’un repère par une matrice homogène........................................182.5.1.3 - Matrice comme changeur de coordonnées.....................................................182.5.1.4 - Matrice comme opérateur géométrique.........................................................182.5.1.5 - Inversion.........................................................................................................192.5.1.6 - Composition de matrice..................................................................................19

2.5.1.6.1 - Composition à droite................................................................................192.5.1.6.2 - Composition à gauche..............................................................................19

2.5.1.7 - Propriétés des matrices homogènes...............................................................202.5.2 - description de la situation d’un solide dans l’espace.............................................20

2.5.2.1 - Coordonnées de position................................................................................202.5.2.1.1 - Coordonnées cartésiennes........................................................................202.5.2.1.2 - Coordonnées cylindriques........................................................................212.5.2.1.3 - Coordonnées sphériques..........................................................................21

2.5.2.2 - Coordonnées d’orientation.............................................................................222.5.2.2.1 - Cosinus directeurs....................................................................................222.5.2.2.2 - Angles d’Euler classiques........................................................................222.5.2.2.3 - Angles de roulis, tangage, lacet...............................................................242.5.2.2.4 - Les Quaternions.......................................................................................25

2.5.3 - Conclusion.............................................................................................................25

3 - DESCRIPTION GÉOMÉTRIQUE DES ROBOTS.......................................................26

3.1 - POSITION DU PROBLÈME....................................................................................................263.2 - DESCRIPTION GÉOMÉTRIQUE..............................................................................................26

3.2.1 - Numérotation des corps et des articulations..........................................................263.2.2 - Affectation des repères..........................................................................................26

3.2.2.1 - Règles d’affectations......................................................................................263.3 - PARAMÈTRES ET TRANSFORMATIONS ASSOCIÉES..................................................................273.4 - APPLICATION AU CALCUL DU MGD D’UN ROBOT.................................................................27

3.4.1 - Formalisation.........................................................................................................273.5 - MODÈLE GÉOMÉTRIQUE INVERSE........................................................................................28

3.5.1 - notions générales....................................................................................................283.5.1.1 - Introduction et position du problème.............................................................283.5.1.2 - Résolubilité d’un robot manipulateur............................................................283.5.1.3 - Nombre de solutions et configurations d’un robot.........................................28

3.6 - MÉTHODES DE CALCUL DU MGI........................................................................................303.6.1 - Méthodes générales................................................................................................303.6.2 - Dans la pratique.....................................................................................................30

3.6.2.1 - Présentation....................................................................................................303.6.2.2 - Principe de résolution....................................................................................30

3.6.2.2.1 - Résolution du porteur..............................................................................303.6.2.2.2 - Résolution du poignet..............................................................................30

3.7 - BILAN.............................................................................................................................303.7.1 - Porteur et poignet...................................................................................................303.7.2 - Conclusion.............................................................................................................313.7.3 - Principales singularités..........................................................................................31

4 - GÉNÉRATION DE TRAJECTOIRE..............................................................................32

4.1 - INTRODUCTION.................................................................................................................32

O. Patrouix / version 1.2 / 2012 3/45

Page 4: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

4.1.1 - définition................................................................................................................324.1.2 - trajectoire enregistrée.............................................................................................32

4.1.2.1 - La programmation..........................................................................................324.1.2.2 - A l'exécution...................................................................................................32

4.1.3 - Utilisation..............................................................................................................334.1.4 - Bilan.......................................................................................................................33

4.1.4.1 - Avantages.......................................................................................................334.1.4.2 - Inconvénients..................................................................................................33

4.2 - TRAJECTOIRE CALCULÉE...................................................................................................334.2.1 - Bilan.......................................................................................................................334.2.2- Méthodes de spécification de mouvement..............................................................33

4.2.2.1 - Configuration de passage...............................................................................334.2.2.2 - Contraintes cinématique.................................................................................334.2.2.3 - Contraintes de synchronisation......................................................................34

4.2.3 - Nature de l'espace..................................................................................................344.2.3.1 - Mouvement articulaire...................................................................................34

4.2.3.1.1 - Avantages.................................................................................................344.2.3.1.21 - Inconvénients.........................................................................................344.2.3.1.3 - Conclusion...............................................................................................35

4.2.3.2 - Mouvement opérationnel (cartésien)..............................................................354.2.3.2.1 - Avantages.................................................................................................354.2.3.2.2 - Inconvénients...........................................................................................354.2.3.2.3 - Conclusion...............................................................................................35

4.2.4- Typologie des tâches de déplacement.....................................................................354.3 - GÉNÉRATION DE MOUVEMENT ENTRE DEUX POINTS...............................................................35

4.3.1 - terminologie...........................................................................................................354.3.1.1 - Loi d'interpolation..........................................................................................36

4.3.2 - lois d'interpolation polynomiales...........................................................................364.3.2.1 - Loi de degré 1.................................................................................................364.3.2.2 - Loi de degré 3.................................................................................................364.3.2.3 - Loi de degré 5.................................................................................................37

4.3.3 - Loi Bang-bang.......................................................................................................384.3.4 - Loi trapèze.............................................................................................................404.3.5 - calcul du temps de parcours...................................................................................41

4.4 - COORDINATION ARTICULAIRE.............................................................................................424.4.1 - méthode du temps minimal....................................................................................424.4.2 - méthode proportionnelle........................................................................................43

5 - BIBLIOGRAPHIE............................................................................................................45

O. Patrouix / version 1.2 / 2012 4/45

Page 5: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

1 - STRUCTURES MÉCANIQUES DES ROBOTS

1.1 - TERMINOLOGIE DES MÉCANISMES ARTICULÉS

1.1.1 - Degré de liberté d’un solideLe degré de liberté d’un solide indéformable est le nombre de variables indépendantes permettant de définir sa position et son orientation. Le nombre maximum de DDL (Degré De Liberté) dans l’espace est 6. Situer un solide dans l’espace ⇔ situer un repère dans l’espace.Soit un repère Rs (Os, Xs, Ys, Zs) définit par rapport à un repère R. On a alors :

• 3 translations le long de (X, Y, Z) pour positionner Os.• 3 rotations autour de (X, Y, Z) pour orienter (Xs, Ys, Zs).

Exemple : Quel est le nombre de DDL d’un solide posé sur un plan ?⇒ 2 variables indépendantes de position et 1 variable d’orientation (X, Y,θ).

1.1.2 - Articulations / LiaisonsUne articulation lie deux corps en limitant le nombre de DDL de l’un des solides par rapport à l’autre. Soit m le nombre de DDL résultant, m est alors appelé la mobilité de l’articulation. On a toujours :

0 6≤ ≤m

1.1.2.1 - Principales liaisons

En robotique, on rencontre différent degré de mobilité.Soit n le degré de mobilité1.n = 0 ⇒ c’est la liaison encastrement.

CORPS

C2

1.1.2.2 - Articulation rotoïde

Il s’agit d’une liaison de type charnière autorisant la rotation autour d’un axe commun aux deux autres solides. Le paramètre de description est un angle.

1 Voir http://jeanclaude.deponte.free.fr/animation/liaison/accueil-liaison.htm

O. Patrouix / version 1.2 / 2012 5/45

S 2

S 1

θ

+θS 1

S 2

S 2

S 1

Articulation Rotoïde.

Page 6: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

1.1.2.3 - Articulation prismatique

Il s’agit d’une liaison de type glissière autorisant exclusivement la translation d’un axe ∆ commun aux deux solides. Le paramètre de description est le déplacement relatif.

O. Patrouix / version 1.2 / 2012 6/45

S2

d

S1

dS1 S2

d

S2

S1

Articulation Prismatique.

Page 7: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

1.1.2.3.1 - Normalisation des liaisons

O. Patrouix / version 1.2 / 2012 7/45

Page 8: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

1.2 - TYPOLOGIE DES CHAÎNES CINÉMATIQUES

1.2.1 - Mécanismes en chaîne ouverteCe sont les mécanismes de types :

De S1 à Sn-1, chaque segment Si est articulé avec un segment amont Si+1 et un segment aval Si-1.• le segment Sn est terminal et n’est lié qu’à Sn-1.• le segment S0 est immobile, c’est la base du robot.

1.2.2 - Mécanismes en chaîne fermée

Lorsqu’un ensemble de segments forment une chaîne fermée sur elle-même, les articulations impliquées sont naturellement dépendantes. Le degré de liberté de l’ensemble est inférieur à la somme des degrés de liberté des liaisons.Ce genre de construction permet :

• d’actionner une rotation par un élément actif linéaire (verrin).• de déporter le poids des actionneurs.• de consolider les mécanismes.

O. Patrouix / version 1.2 / 2012 8/45

S2

S1

S3

Sn-1

Sn

S0

Représentation d'une chaîne.

Mécanisme à chaîne fermée (actionneur linéaire).

Page 9: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

1.3 -- MORPHOLOGIE DES ROBOTS MANIPULATEURS

1.3.1 - décomposition véhicule / bras / effecteursDe façon très générale, un robot est constitué d'un bras, d'un outil et d'une base mobile.

Dans la réalité, les robots sont à poste fixe (pas de base mobile).

De plus l'outil étant une pièce complexe et interchangeable, il n’est jamais pris en compte pour l’étude de la structure.

1.3.2 - Architecture des brasElle est décrite par :

• la nature des liaisons (Rotoïde, Prismatique).• l’angle entre deux axes successifs (0°, 90°).

Le nombre de morphologies possibles en fonction du nombre d’articulation se déduit par combinaison de quatre paramètres (Rot., Pris., 0°, 90°).

DDL Nombre de structures1 22 83 324 1285 5126 2048

Dans la pratique, on sépare les trois premiers DDL qui constituent le porteur du robot et les suivants constituent le poignet.

1.3.2.1 - Les porteurs

Avec trois axes, on peut théoriquement obtenir 32 structures mais dans la pratique on en compte que cinq.

O. Patrouix / version 1.2 / 2012 9/45

Base mobile

bras

effecteur

Robot de type général.

outil

Robot manipulateur à poste fixe.

Page 10: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

1.3.2.1.1- Les cartésiens TTT

TTT = Translation Translation Translation

• Robot cartésien rectangulaire.• Robot de type portique.• Volume de travail : parallélépipède.

Le système cartésien est bien adapté à notre représentation de l'espace et il correspond au monde du constructeur.

1.3.2.1.2- Les cylindriques RTT

• RTT = Rotoïde Translation TranslationPorteur cylindrique.

O. Patrouix / version 1.2 / 2012 10/45

Robot à structure cartésienne.

Robot portique.

Page 11: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

• Volume de travail : cylindre (bon volume de travail).• Application : assemblage.• Alignement sur Z de la liaison prismatique.

1.3.2.1.3- Les sphériques RRT

• RRT = Rotoïde Rotoïde Translation

Robot sphérique.• Volume de travail : sphère.• Application : déplacement d’objet, soulèvement.

1.3.2.1.4- Les toriques RTR

• RTR = Rotoïde Translation Rotoïde

Une liaison prismatique entre deux rotoïdes d’axe concourant.

O. Patrouix / version 1.2 / 2012 11/45

Robot cylindrique.

Robot sphérique RRT.

Page 12: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

Ce sont des porteurs spéciaux (robot type SCARA). La liaison prismatique verticale est caractéristique des robots d’assemblage (insertion de composants électroniques...).

SCARA : Selective Compliance Assembly Robot⇒ insertion de composants avec rapidité et précision.Compliance : capacité d’un système mécanique à s’ajuster aux contraintes et aux forces qui s’exercent sur lui et de corriger les erreurs de positionnement et d’orientation dont témoignent ces forces.

O. Patrouix / version 1.2 / 2012 12/45

Robot polaire

Robot SCARA.

Page 13: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

1.3.2.1.5- Les anthropomorphes RRR

RRR = Rotoïde Rotoïde Rotoïde

1.3.2.2 - Les poignets

1.3.2.2.1- Le poignet rotule

La solution la plus fréquente est le poignet type rotule. Il est constitué de trois liaisons rotoïdes avec axes concourants. Sa technologie est sophistiquée et l'économie du dernier axe est souvent faite.

• il assure l'orientation du dernier corps du robot.• il permet un découplage complet entre position et orientation.

1.3.3 - DDL d’un mécanisme articulé

1.3.3.1 - Définition

Le nombre de DDL d’un bras est par définition celui du segment terminal. Il est fonction : • du nombre de segments.• de la nature et de la disposition des liaisons.

On utilise n articulations et si m est le nombre de DDL de l’organe terminal alors m ≤ 6 et m ≤ n.

O. Patrouix / version 1.2 / 2012 13/45

Robot anthropomorphique.

Poignet rotule.

Page 14: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

1.3.3.2 - Redondance

Un robot est redondant lorsque le nombre de DDL de l’organe terminal est inférieur au nombre d’articulations motorisées (indépendantes). La redondance est souvent recherchée car elle permet :

• d’augmenter le volume pouvant être atteint.• d’augmenter la mobilité (contournement d’obstacle).

Combinaisons redondantes :• plus de 6 articulations.• plus de 3 rotoïdes d’axes concourants.• plus de 3 rotoïdes d’axes parallèles non confondus.• plus de 3 prismatiques.• plus de 2 prismatiques parallèles.• plus de 2 rotoïdes confondues.

1.3.3.3 - Configurations singulières

Un robot structurellement non redondant peut présenter des configurations dites singulières où le nombre de DDL de l’organe terminal est inférieur au nombre d’articulations motorisées. Le robot est localement redondant. Ces configurations posent des problèmes pour la commande.

1.3.3.4 - Nombre de DDL et tâche

Les tâches s’expriment en DDL nécessaires.Exemples :

• un solide dans l'espace

• Saisie d’un objet de révolution.

• Solide sur un plan

Une condition nécessaire mais non suffisante pour qu’il y ait compatibilité entre le robot et la tâche est :

n DDL robot ≥ nombre DDL tâche

Sachant que ″n DDL robot ″ correspond aux DDL de l’organe terminal (outil).

O. Patrouix / version 1.2 / 2012 14/45

R

Os

Os (X, Y, Z) dans R.

R outils

Os

Solide de révolution.

Page 15: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

Porteur 3 axes + poignets 2 axes ⇒ 5 DDL• appui axe / axe• appui point / point.

Porteur 3 axes + poignets 3 axes ⇒ 6 DDL• appui repère / repère

1.4 - PERFORMANCES DES ROBOTSCes performances concernent l’action physique du robot sur son environnement. Elles dépendent :

• du mécanisme,• de la commande.

1.4.1 - Volume atteignableLe volume atteignable (volume de travail). C’est le volume qui représente l’ensemble des points que peut atteindre l’extrémité du robot, il est caractérisé par :

• sa forme,• son volume en m3.

L’organe terminal a la possibilité de s’orienter avec comme contraintes ses butées et son couplage.

1.4.2 - Charge utileC’est la masse maximale que l’on peut mettre en bout du robot. Elle dépend de la configuration.

1.4.3 - Précision en position

• Précision absolue :Partant d’une configuration donnée et devant atteindre une configuration pas très voisine, la précision absolue de cette configuration est mesurée sur l’organe terminal en position et en orientation.

Position (∆x, ∆y, ∆z).Orientation (∆θ, ∆φ, ∆Ψ).

Cette précision dépend de la configuration, de la vitesse et de la charge.• Précision en répétabilité

On fait répéter un grand nombre de fois un mouvement. On mesure alors la moyenne des mesures de précisions. Cette précision est toujours excellente sur les manipulateurs modernes.

1.4.4 - RésolutionPartant d’une position et d’une orientation de l’organe terminal, la résolution correspond à la plus petite modification des grandeurs effectivement réalisables. Elle dépend :

• de la commande.• de la configuration.• des capteurs.• de la vitesse.

1.4.5 - VitesseParamètre souvent primordial. On parle de vitesse de déplacement et d’orientation de l’organe terminal. Mais on ne connaît que la vitesse articulaire c'est-à-dire dθ/dt.

O. Patrouix / version 1.2 / 2012 15/45

Page 16: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

1.5 - STRUCTURE MÉCANIQUE ET PERFORMANCESUn certain nombre de paramètres structuraux influent directement sur les performances d'un robot.

1.5.1 - InertieSes variations sont difficiles à prendre en compte, on essaye de la diminuer par conception :

• on remonte les actionneurs vers la base et on utilise des transmissions.• on équilibre les segments à l’aide de contre poids.

1.5.2 - RigiditéOn ne sait pas la prendre ne compte aujourd’hui. Les problèmes de flexion engendrent une erreur aléatoire. On travail au niveau de la conception de la structure en jouant sur :

⇒ Augmentation de la rigidité (baisse du poids).⇒ Structures parallèles.⇒ Matériaux composites.

1.5.3 - Jeux et frottementsIls ne sont pas pris en compte dans la commande. Ils perturbent la relation position moteur / position articulaire. C'est un problème important de la robotique.

1.5.4 - Fréquence propre du mécanismeLes moteurs sont commandés par des impulsions. Attention de ne pas confondre fréquence des impulsions de commande des actionneurs et la fréquence propre de la structure.

1.6 - CONCLUSIONLa morphologie du robot est très liée à la tâche et aux performances. A l’heure actuelle la tendance est :

• une architecture pour une famille de tâches.• un manipulateur de charges lourdes.• un assemblage de petites pièces.• la projection (traitement de surface...).

Les performances du servomécanismes sont liées :• à l’actionneur et la source d’énergie.• aux transmissions.• aux types de capteurs.

O. Patrouix / version 1.2 / 2012 16/45

Page 17: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

2 - INTRODUCTION À LA NOTION DE MODÈLES

2.1 - TERMINOLOGIEUn contrôleur de robot à la double mission :

• De déterminer la trajectoire.• De commander la trajectoire.

Les outils utilisés pour formaliser et résoudre ce problème sont appelés les modèles du robot. Un modèle est un ensemble d’équations (et ses conditions de validités) reliant l’espace articulaire à l’espace de la tâche.

2.2 - VARIABLES OPÉRATIONNELLESC’est l’espace de la tâche. Elles sont regroupées sous le vecteur X. X contient des variables géométriques caractérisant l’organe terminal ⇒ position, orientation. Dans certains cas X peut contenir des informations sur les forces des couples appliqués sur l’organe terminal par exemple sur une commande en effort.

2.3 - VARIABLES GÉNÉRALISÉESCes sont les variables articulaires, notées q. Elles représentent aussi bien les rotations que les translations. Les différents modèles mettent en relation aussi bien les variables X et q que leurs dérivées par rapport au temps dq/dt, d²q/dt² ou dX/dt, d²X/dt² correspondant aux vitesses et aux accélérations articulaires.

2.4 - RÔLES ET TYPOLOGIE DES MODÈLESOn parle de modèles directs pour les équations qui permettent de passer de l’espace articulaire à l’espace opérationnel. Dans le cas contraire, on parle de modèles inverses. Par ailleurs on distingue trois niveaux de modèles suivant les modèles concernés dans les deux mondes.

On a en tout 6 modèles liant respectivement q et X, dq/dt et dX/dt, d²q/dt² et d²X/dt².

2.4.1 - Modèles géométriquesCes sont les modèles établissant un lien entre les positions articulaires et la situation dans l’espace de la tâche, donc entre q et X.

X = f(q) ⇒ MGD ou q = f-1(X) ⇒ MGI.Il existe plusieurs façons de représenter X donc il existe plusieurs modèles géométriques.

2.4.2 - Modèles cinématique ou différentielsIls établissent un lien entre les vitesses articulaires dq/dt et les vitesses opérationnelles dX/dt.

O. Patrouix / version 1.2 / 2012 17/45

Espacearticulaire

q, dq/dt, d²q/dt²

Espaceopérationnel

X, dX/dt, d²X/dt²

MVD

MGI

Page 18: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

dX/dt = J(q).dq/dt ⇒ MVD ou dq/dt = J-1(q).dX/dt ⇒ MVI.

2.4.3 - Modèle dynamiqueC’est un modèle particulier dans sa notion de direct et/ou d’inverse. C’est un modèle interne au robot qui établit les relations entre les couples et les efforts et les accélérations articulaires d²q/dt².

• MDD (Modèle Dynamique Direct) ⇒ d²q/dt² = g(q, dq/dt, Γ, F)• MDI (Modèle Dynamique Inverse) ⇒ Γ = f(q, dq/dt, d²q/dt², F)

avec Γ → couples généralisés,F → forces exercées par l’organe terminal.

Ce sont des modèles complexes liés à l’élaboration de la commande des actionneurs.

2.4.4 - ConclusionOn a 6 modèles et tous dépendent dans leur forme du type de q et du type de X utilisés.

2.5 - GÉOMÉTRIE DE LA TÂCHE

2.5.1 - Retour sur les matrices homogènes

2.5.1.1 - Introduction

Le problème important en robotique est la situation (position et orientation) d’un solide dans l’espace. Pour situer un solide dans l’espace, il suffit de connaître un repère qui lui soit associé. La manipulation des repères se fait à l’aide des transformations homogènes.Pour un espace ℝ3 , les objets géométriques POINT et VECTEUR seront représentés par un vecteur matriciel de dimension 4. En robotique, la 4eme composante est à 0 pour un vecteur (invariant en translation) et à 1 pour un point (sensible à la translation).

2.5.1.2 - Définition d’un repère par une matrice homogène

Soit Ri(xi, yi, zi, Pi) un repère de référence. Un repère Rj(xj, yj, zj, Pj) est défini par rapport au repère de référence Ri par la matrice homogène suivante :

S N A P

0 0 0 1

avec S = [Sx, Sy, Sz]

• S représente les coordonnées de xj dans Ri.• N représente les coordonnées de yj dans Ri.• A représente les coordonnées de zj dans Ri.• P représente la position de Pj dans Ri.

Notation : iTj = définition de Rj par rapport à Ri.

2.5.1.3 - Matrice comme changeur de coordonnées

Soit V1j un vecteur connu dans Rj. On note V1i le même vecteur exprimé dans Ri. On a la relation suivante V1i = iTj.V1j où iTj est le changeur de coordonnées.

2.5.1.4 - Matrice comme opérateur géométriqueiTj peut être vue comme décrivant la transformation géométrique qui fait passer de Rj → Ri. Soit V1i un vecteur défini dans Ri. Soit V2i un vecteur défini dans Ri obtenu après avoir appliqué l’application iTj à V1i. On a la relation V2i = iTj . V1i.

O. Patrouix / version 1.2 / 2012 18/45

Page 19: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

2.5.1.5 - Inversion

(iTj)-1 = iTj . Soit TA P

=

0 0 0 1

La matrice homogène inverse est déterminée comme suit :

TA A Pt t

− =−

1

000 1

2.5.1.6 - Composition de matrice

Soit une matrice homogène définissant Rj par rapport à Ri. Soit une nouvelle matrice T, elle peut être considérée comme un opérateur géométrique transformant les repères (et assurant le changement de coordonnées entre ces repères).

2.5.1.6.1 - Composition à droite

C’est-à-dire iTj*T. Une multiplication à droite de la transformation iTj signifie que l’opérateur appliqué T est appliqué par rapport au repère courant Rj.

2.5.1.6.2 - Composition à gauche

C’est-à-dire T*iTj. Rj prend une nouvelle valeur que l’on peut déterminer en appliquant la transformation géométrique associé à T au repère Rj mais en la considérant comme étant définie par rapport à Ri. Une multiplication à gauche de iTj signifie que la transformation appliquée T est faite par rapport au repère de référence Ri.

Exemple :

O. Patrouix / version 1.2 / 2012 19/45

Page 20: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

0

0

0

1

1 0

1

0

0

0 0 0

0

d

0

1

T =

1

0

0

0 C β

0

0

0

0

1

iTj = S β

-S β

C β

0

0 0

2.5.1.7 - Propriétés des matrices homogènes

• T1 * T2 ≠ T2 * T1• Rot (u,θ1) * Rot (u,θ2) = Rot (u,θ1+θ2)• Rot (u,θ) * Trans (u,d) = Trans (u,d) * Rot (u,θ)

2.5.2 - description de la situation d’un solide dans l’espaceOn présente les différentes coordonnées opérationnelles X. Les coordonnées opérationnelles sont les coordonnées utilisées par l’utilisateur pour définir la situation dérivée de l’organe terminal du robot. Donc X contient à la fois des informations de position et des informations d’orientation. X est utilisé par la commande pour déterminer la matrice iTj déterminant la situation du repère lié à l’organe terminal.

Remarque :• Une situation est définie par X ou T.• On sait qu’il faut au minimum 6 paramètres pour définir un repère ⇒ T est un

système de description redondant, car T contient 12 paramètres.

2.5.2.1 - Coordonnées de position

Ce sont des systèmes de coordonnées permettant de décrire la position d’un point dans un référentiel. Le choix d’un système dépend des caractéristiques du manipulateur et de la tâche.

2.5.2.1.1 - Coordonnées cartésiennes

Ce sont les plus utilisées. Pour un repère dont l’origine est définie en coordonnées cartésiennes P(a,b,c). Ces coordonnées décrivent directement le vecteur P.

β

α

z

x

yP

a

c

b

Pour obtenir P, il suffit de pratiquer 3 translations Trans (X,a) * Trans (Y,b) * Trans (Z,c).

O. Patrouix / version 1.2 / 2012 20/45

Page 21: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

-

-

-

-

- -

-

-

-

0 0 0

a

b

c

1

T =

2.5.2.1.2 - Coordonnées cylindriques

Ce sont des coordonnées du type r, α, z telles que Rot (Zo,α) * Trans (Xo,r) * Trans (Zo,z) ⇒ Ro(Xo,Yo,Zo) → Rn(Xn,Yn,Zn).Ces coordonnées sont adaptées pour les robots cylindriques.

Soit P l’origine du repère Rn.r=P x

2P y

2

α = Arctan (Py/Px)z = Pz

2.5.2.1.3 - Coordonnées sphériques

Ce sont des coordonnées du type α, β, r telles que Rot (Z,α) * Rot (Y,β) * Trans (Z,r) ⇒ Ro(Xo,Yo,Zo) → Rn(Xn,Yn,Zn).

O. Patrouix / version 1.2 / 2012 21/45

Page 22: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

-Sβ

rSα Sβ

Cα Cβ

0

rCα Sβ

rCβ

1

Sα Cβ Résultat 0

-Sα

0

Cα Sβ

0

Sα Sβ

α = Arctan (Py/Px)β = Arctan ((Py/Sα)/Pz) si α ≠ 0β = Arctan (Px/Pz)

r=P x2P y

2P z2

2.5.2.2 - Coordonnées d’orientation

La définition de l’orientation d’un solide (C'est-à-dire d’un repère) est moins facile que celle de la position et les variables utilisées sont moins naturelles. Partant d’un repère de référence, il faut maintenant définir l’orientation par 3 nouveaux paramètres définissant 3 transformations géométriques.

2.5.2.2.1 - Cosinus directeurs

C’est la définition de l’orientation par la donnée directe de la matrice d’orientation ⇒ aux 9 composantes des 3 vecteurs S,N et A.

2.5.2.2.2 - Angles d’Euler classiques

Ils sont très utilisés en mécanique. Ces ont les 3 angles φ, θ, ψ. Le passage de R à R’ se fait à l’aide de 3 rotations dans le repère courant : Rot (Z,φ) puis Rot (X,θ) puis Rot (Z,ψ).

O. Patrouix / version 1.2 / 2012 22/45

0

0

0

0

0

0

0

0

1

-Sα

1

0 0

Rot (Zo,α ) = 0

0

0 0

0

0

0

0

1

-Sβ

1

0 0

Rot (Yo,β ) = 0

0

0 0

1

0

0

0

r

1

0

0

1

1

0 0

Trans (Zo,r) =

Page 23: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

AEUL = A(Zo,φ ) A(Xo,θ ) A(Zo,ψ ) =

Cφ Cψ -Sφ Cθ Sψ

Sφ Cψ +Cφ Cθ Sψ

Sθ Sψ

-Cφ Cψ -Sφ Cθ Sψ

-Sφ Sψ +Cφ Cθ Sψ

-Cφ Sθ

Sφ Sθ

Sθ Cψ

Problème inverse :• Si (ay et az) ≠ 0 alors 2 solutions• 1er solution → φ = Arctan (-ax/ay)• 2ème solution → φ’ = Arctan (ax/-ay) = φ + 180°• φ/φ’ → θ = Arctan ((Sφax-Cφay)/az)• φ’/φ → ψ = Arctan ((-CφNx-SφNy)/(CφSx+SφSy))

Si ax = ay = 0 alors 1 solutionθ = 180° ou 0°φ + ψ = Arctan (-Nx/Ny)→ Configuration singulière du système.

O. Patrouix / version 1.2 / 2012 23/45

Page 24: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

2.5.2.2.3 - Angles de roulis, tangage, lacet

En anglais Roll, Pitch, Yaw. Si on imagine un bateau navigant dans la direction de l’axe z avec le plan du bateau perpendiculaire au vecteur X, nous faisons évoluer son orientation en appliquant des rotations sur chacun des axes.

Roulis → Rot (z,φ).Tangage → Rot (y,θ).Lacet → Rot (x,ψ).

On parle d’une succession d’orientations définies par rapport au repère courant.

ARTL =Rot (Zo,φ ) Rot (Yo,θ ) Rot (Xo,ψ ) =

Cφ Cθ

Sφ Cθ

-Sθ

Cφ Sθ Sψ -Sφ Cψ

Sφ Sθ Sψ +Cφ Cψ

Cθ Cψ

Sφ Sθ Cψ -Cφ Sψ

Cφ Sθ Cψ +Sφ Sψ

Cθ Sψ

Problème inverse : 2 solutions

1er solution → φ = Arctan2 (Sy,Sx)2ème solution → φ’ = Arctan2 (-Sy,-Sx) = φ + 180°φ/φ’ → θ = Arctan2 (-Sx,CφSx+SφSy)φ’/φ → ψ = Arctan2 (SφAx-CφAy,-SφNx+CφNy)

Attention : la définition des axes de rotations Yaw Pitch Roll peut être différente de celle présentée ci-dessus. Il faut toujours se référer au domaine d'application : robotique, naval, avionique...

O. Patrouix / version 1.2 / 2012 24/45

Page 25: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

2.5.2.2.4 - Les Quaternions

On utilise 4 paramètres λ1,λ2,λ3,λ4 pour décrire la rotation unique équivalente Rot (u,θ) faisant passer de Ri à Rj.Soient :

λ1 = C(θ/2)λ2 = Ux.S(θ/2)λ3 = Uy.S(θ/2)λ4 = Uz.S(θ/2)

Pour l’expression de Rot (u,θ) on obtient :

AQUAT = 2(λ 1²+λ 2²)-1

2(λ 2λ 3+λ 1λ 4)

2(λ 2λ 4-λ 1λ 3)

2(λ 2λ 3-λ 1λ 4)

2(λ 1²+λ 3²)-1

2(λ 1²+λ 4²)-1

2(λ 3λ 4-λ 1λ 2)

2(λ 2λ 4+λ 1λ 3)

2(λ 3λ 4+λ 1λ 2)

Problème inverse :λ1 = ½(√(Sx+Ny+Az+1))λ2 = ½ Sgn(Nz-Ay) √(Sx-Ny-Az+1)λ3 = ½ Sgn(Ax-Sz) √(-Sx+Ny-Az+1)λ2 = ½ Sgn(Sy-Nx) √(-Sx-Ny+Az+1)

2.5.3 - ConclusionChoix des variables :

• En position, il est plus ou moins lié à la structure du robot.• En orientation, il n’y a pas de critères. Le choix est lié aux constructeurs et aux

langages.L’ensemble des coordonnées de position et d’orientation constituent les coordonnées opérationnelles X. Il y a plusieurs vecteurs X :

• X,Y,Z → Coordonnées cartésiennes.• r,α,β → Coordonnées sphériques.• φ,θ,ψ → Euler.• λ1,λ2,λ3,λ4 → Quaternions.

En général, on utilise les coordonnées cartésiennes et les cosinus directeurs pour établir le modèle géométrique direct (MGD).

O. Patrouix / version 1.2 / 2012 25/45

Page 26: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

3 - DESCRIPTION GÉOMÉTRIQUE DES ROBOTS

3.1 - POSITION DU PROBLÈMENous venons de voir un ensemble de méthodes permettant de situer l’organe terminal d’un robot dans un repère lié à l’environnement → X coordonnées opérationnelles. Il faut maintenant établir les liens entre X et q.

X = f(q).

q = f-1(X).Pour systématiser le calcul, il faut pouvoir situer les différents corps du robot. C'est-à-dire :

• Affecter un repère à chaque corps.• Numéroter les repères, les articulations, les capteurs.• Exprimer les transformations permettant de passer d’un corps au suivant.• Les transformations sont fonctions :

• De la géométrie du robot.• Des variables articulaires.

L’ensemble de ces étapes et les équations résultantes s’appellent : La description géométrique des robots. Elle est la base de la détermination du MGD

3.2 - DESCRIPTION GÉOMÉTRIQUEDescription de Khalil (ou Denavit-Hartenberg modifiée). On ne traite que les chaînes cinématiques simples, cependant cette méthodologie peut facilement être étendue à des chaînes cinématique fermées ou parallèles.

3.2.1 - Numérotation des corps et des articulationsLes capteurs sont notés Cj, l’indice j varie de façon croissante du socle, noté C0, vers l’organe terminal, noté Cn si on a n+1 corps. Les articulations sont numérotées de façon croissante en partant de l’articulation assurant la liaison entre le socle Co et C1.Cas général :

3.2.2 - Affectation des repèresLe but est de lier un repère à chaque articulation afin de pouvoir les situer.

3.2.2.1 - Règles d’affectations

Le repère Rj est fixé au corps Cj, il est défini de tel sorte que :• L’axe zj soit porté par l’articulation j (axe de rotation ou de translation).• L’axe xj soit porté par la perpendiculaire commune aux axes zj et zj+1. Si les axes sont

parallèles, on choisit arbitrairement en fonction de règles de simplicité ou de symétrie.

• L’origine Oj est le pied de la perpendiculaire commune à zj et zj+1.

O. Patrouix / version 1.2 / 2012 26/45

C2C1A1

Cn-1

Cn

C0

A2

A3An-1

An

Page 27: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

Cas particuliers :• Le repère R0 de référence, lié au socle n’est pas défini. Par définition, on le prend

égal à R1 dans la position 0 du robot.• L’axe Xn et l’origine On de Rn ne sont pas définis. Par définition, on les prendra

égaux à Xn-1 et On-1 dans la position du robot.Exemple :

La structure trans TT → on xj = zj+1 ∧ zj.

3.3 - PARAMÈTRES ET TRANSFORMATIONS ASSOCIÉESLe passage d’un repère Rj-1 à un repère Rj s’exprime en fonction de 4 paramètres :

• αj → angle entre les axes zj-1 et zj correspondant à une rotation autour de xj-1.• dj → distance entre les axes zj-1 et zj le long de xj-1.• θj → angle entre xj-1 et xj correspondant à une rotation autour de zj.• rj → distance entre xj-1 et xj le long de zj.

La variable articulaire qj est directement égale à :• θj pour un rotoïde.• rj pour un prismatique.

On a soit rj = qj soit θj = qj. α, θ, d, r sont les paramètres de Denavit-Hartenberg.

j-1Tj =Rot (X,α j) Trans (x,dj) Rot (z,θ j) Trans (z,rj) =

Cθ j

Cα jSθ j

Sα jSθ j

-Sθ j

Cα jCθ j

Cα j

-Sα j

0

Sα jCθ j rjCα j

-rjSα j

dj

0 0 0 1

3.4 - APPLICATION AU CALCUL DU MGD D’UN ROBOT

3.4.1 - FormalisationLes paramètres de Denavit-Hartenberg permettent de définir les matrices j-1Tj caractérisant la position du repère Rj par à Rj-1.

j-1Tj = Rot (x,αj) Trans (x,dj) Rot (z,θj) Trans (z,rj)Un robot est constitué de n+1 corps articulés pour n articulations. Le produit de matrice 0T1.1T2...n-2Tn-1.n-1Tn = 0Tn exprime le repère Rn par rapport au repère R0 en fonction des variables articulaires q. 0Tn exprime la position et l’orientation de l’organe terminal dans le repère R0 sous la forme SNAP en fonction des coordonnées articulaires q.

O. Patrouix / version 1.2 / 2012 27/45

O j-1

Z j-1

dj

rj

Oj

Zj Xj-1

Xj

θ j

α j

Page 28: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

Par ailleurs la tâche robotique est définie par l’utilisateur à l’aide d’un vecteur X qui caractérise une position et une orientation du repère outil (ROUTIL) dans le repère de l’atelier (RATE).Soit Z = ATET0 → donne la situation du robot dans l’atelier.Soit E = nTOUTIL → donne la situation de l’outil dans Rn.Donc la forme générale du MGD peut toujours s’écrire : X = Z.0Tn.E = ATETOUTIL.

3.5 - MODÈLE GÉOMÉTRIQUE INVERSE

3.5.1 - notions générales

3.5.1.1 - Introduction et position du problème

Le MGD permet de calculer les coordonnées opérationnelles X en fonction des coordonnées articulaires q. Le problème inverse consiste à déterminer les coordonnées articulaires qui amènent l’organe terminal dans une situation désirée, spécifiée par ses coordonnées opérationnelles.

q = f-1(X)Supposons que la situation finale désirée veuille qu’on soit en X → ATETRx = ATETRoutil

ATETRoutil = ATETR0.R0TR6.R6TRoutil ⇒ R0TR6 = (ATETR0)-1.ATETRx.(R6TRoutil)-1

3.5.1.2 - Résolubilité d’un robot manipulateur0Tn = (ATETR0)-1.ATETRx.(RnTRoutil)-1 ⇔ un système d’équations non linéaires. Pour certains manipulateurs, une solution analytique existe, on dit que le robot manipulateur est résoluble. Sinon on utilise des méthodes numériques.Tous les manipulateurs ayant moins de 6 DDL sont résolubles. Pour les robots manipulateurs avec 6 DDL, ils seront résolubles s’ils présentent une des caractéristiques suivantes :

• 3 articulations prismatiques.• 3 rotoïdes d’axes concourants.• 1 rotoïde et 1 prismatique coaxial.• 2 paires de rotoïdes d’axes concourants.

3.5.1.3 - Nombre de solutions et configurations d’un robot

Cas général :Pour un X donné, il y a plusieurs vecteurs qi comme solutions :

X = f-1(q1), X = f-1(q2) ...Chaque qi correspond à une même position et une même orientation de Routil mais à des états de robots différents.

Remarque :• Pour un robot, on peut exprimer l’ensemble des configurations qui sont solutions

(ensemble des qi).• Pour un robot non résoluble, ou lorsqu’on utilise une méthode numérique pour

l’inversion, la solution ne donne qu’une configuration. Ces méthodes sont dites locales.

Nombre de solutions :On rencontre 3 cas en dehors des problèmes de butées :

• Absence de solution : La situation désirée est en dehors du volume de travail.• Infinité de solutions :

• Le robot est redondant par rapport à la tâche.

O. Patrouix / version 1.2 / 2012 28/45

Page 29: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

• Le robot est localement redondant (configuration singulière).• Solutions en nombre fini. X → {q1, q2, ..., qn}. Soit r le nombre de configuration, on a

Π(j=1, n).Kj où n est le nombre d’articulations, Kj le nombre de solutions pour l’articulation j. Il n’existe pas de formule permettant de calculer directement n.

Pour un robot 6 axes et poignet rotule (3 rotoïdes concourants) on a rmax = 32. En réalité r < rmax ⇒ axes parallèles ou concourants, butées.

O. Patrouix / version 1.2 / 2012 29/45

Page 30: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

3.6 - MÉTHODES DE CALCUL DU MGI0Tn = (ATETR0)-1.ATETRx.(RnTRoutil)-1 = T(numérique).

3.6.1 - Méthodes générales

Pour un robot 6 axes 0T1.1T2.2T3...5T6 = T → 1T2.2T3...5T6 = 1T0.T → on trouve de cette manière q1, on continue ensuite 2T3...5T6 = 2T1.1T0.T → on détermine q2, etc.

3.6.2 - Dans la pratique

3.6.2.1 - Présentation

La structure du robot est du type :• Porteur 3 axes.• Poignet rotule.

Rotule : 3 liaisons rotoïdes perpendiculaires et concourantes en un point P.Sur ces structures, la tâche est complètement découplée :

• Le porteur assure le positionnement du centre de la rotule (P). Cette position ne dépend que de q1, q2, q3.

• Le poignet assure l’orientation du repère Rn (ou Routil) autour du centre. L’orientation dépend de q4, q3 et q5.

3.6.2.2 - Principe de résolution

3.6.2.2.1 - Résolution du porteur

On veut aller en A → Routil → RA.

A → X ⇒ matrice ATETA = [ ATEAA | PA ]avec ATEAA → Orientation poignet q4, q5 et q6, PA → Position porteur q1, q2 et q3.

• Routil → matrice ⇒ ATETRoutil = ATETR0.R0TR6.R6TRoutil

• Le but → ATETA ⇒ R0TR6 = (ATETR0)-1.ATETA.(R6TRoutil)-1 La position qui nous intéresse, c’est la position de O4 dans O3 car le centre de la rotule est O4, O4 dans R3 = 3T4.O4 dans R4, ce résultat ne dépend pas de q4, 0T1.1T2.2T3.[O4] dans R3 = [[Px, Py, Pz]].

3.6.2.2.2 - Résolution du poignet

Les variables articulaires q4, q5 et q6 influent sur l’orientation de R6 (uniquement).R0TR6 = [SNA|P]

R0TR3.R3TR6 = [SNA|P]⇒ R3TR6 = (R0TR3)-1.[SNA|P] → c’est un système de 3 équations à 3 inconnues → méthodes générales.

3.7 - BILAN

3.7.1 - Porteur et poignet

Le porteur → 4 configurations.Le poignet → 2 configurations.

⇒ 8 configurations pour le robot :- Epaule

→ Gauche.→ Droite.

- Coude

O. Patrouix / version 1.2 / 2012 30/45

Page 31: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

→ Haut.→ Bas.

- Poignet→ Pomme haute.→ Pomme basse.

3.7.2 - Conclusion

• Pour une structure on va regarder si l’on peut découpler le porteur et le poignet.• Détection de singularité.• Recenser les solutions (configurations).

N.B. : Problèmes des butées mécaniques.

3.7.3 - Principales singularitésLes principales singularités que l’on rencontre sur site sont :

• Poignet à plat.• Poignet sur épaule.• Robot étend.

O. Patrouix / version 1.2 / 2012 31/45

Page 32: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

4 - GÉNÉRATION DE TRAJECTOIRE

4.1 - INTRODUCTIONLes déplacements ou mouvements représentent une grande classe de tâche en robotique. Un mouvement correspond au couplage entre un chemin et une loi horaire.

4.1.1 - définitionLa génération de mouvements calcule les consignes à transmettre aux asservissements pour que le robot suive un certain chemin avec une loi horaire donnée.Les consignes ne sont pas transmises de façon continue mais sous la forme d'une série d'échantillons.

Commande Robotε

Définition de latrajectoire ou du

mouvement

Génération de latrajectoire

qf

échantillonneur

-

qc

Les différentes méthodes de génération de mouvement dépendent :• de la façon dont le mouvement est défini dans la programmation du robot. On

distingue deux approches très différentes :• La trajectoire enregistrée.• La trajectoire calculée.

• de l'espace de définition.

4.1.2 - trajectoire enregistrée

4.1.2.1 - La programmation

La programmation consiste à échantillonner de façon serré les positions articulaires du robot tout au long de la trajectoire désirée qu'on lui fait suivre à la main.

• On déplace le robot sur la trajectoire.• On enregistre les points et les dates.

4.1.2.2 - A l'exécution

La génération de trajectoire consiste simplement à lire les points de passage enregistrés et à les réinjecter comme consigne aux asservissements à une cadence proche de celle de l'enregistrement.

• On lit les points et les dates ⇒ On envoie les points comme consignes. Attention!, dans ce cas, il faut respecter la période d'échantillonnage.

O. Patrouix / version 1.2 / 2012 32/45

Page 33: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

4.1.3 - UtilisationCette méthode est très employée dans les tâches du type peinture qui correspond à des trajectoires compliquées mais d'exécution simple (pas de contrôles ni de tests).

4.1.4 - Bilan

4.1.4.1 - Avantages

• Pour des trajectoires complexes mais très simple à mettre en œuvre (pas de tests).

4.1.4.2 - Inconvénients

• Enregistrement important de points (fichiers importants).• Cette trajectoire ne permet pas de modifier ou de contrôler la trajectoire à l'exécution.• La vitesse d'exécution est fixe, elle est liée à celle de l'enregistrement.

4.2 - TRAJECTOIRE CALCULÉELe mouvement est défini de façon générale pour un ensemble de contraintes (spécifications). La génération de trajectoire consiste à calculer à l'exécution une ou plusieurs fonctions mathématiques qui satisfassent les contraintes.

4.2.1 - BilanOn utilise des fonctions d'interpolation P(t). Elles permettent de prendre en compte les contraintes. Les fonctions d'interpolation P(t) dépendent de :

• La notation des contraintes.• L'espace dans lequel le mouvement est spécifié.

Cette méthode a de gros avantages :• Peu de points donc peu de place prise en mémoire.• Trajectoire modifiable à l'exécution (injection de points, contrôle de la vitesse).

4.2.2 - Méthodes de spécification de mouvementIl y a plusieurs types de contraintes.

4.2.2.1 - Configuration de passage

Elle correspond à des contraintes géométriques. Ce sont les contraintes classiques de configuration de départ, configuration d'arrivée et éventuellement un certain nombre de points de passage. Les contraintes géométriques peuvent aller jusqu'à la spécification de segments de droite, arc de cercle,... entre les points de passage.

4.2.2.2 - Contraintes cinématique

• Le temps sur un trajet.• La vitesse de déplacement sur un trajet donné.• La continuité des vitesses et/ou des accélérations (afin d'éviter les à-coups).

A partir de ces données et connaissant les modèles du robot (MGI, MGD, ...) il est possible de calculer une loi de mouvement.

O. Patrouix / version 1.2 / 2012 33/45

Page 34: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

4.2.2.3 - Contraintes de synchronisation

Dans bien des cas, on trouve en fait une loi pour chaque articulation q1,...,q6 et on introduit une contrainte pour synchroniser les lois. Cette contrainte permet d'obtenir des durées de mouvements égales sur tous les axes.

4.2.3 - Nature de l'espaceJusqu'ici nous avons parlé de configuration du robot de façon très générale. Dans la pratique une configuration peut être exprimée aussi bien dans l'espace articulaire que dans l'espace opérationnel. Ainsi, les lois de mouvements et les spécifications associées peuvent utiliser aussi bien des configurations articulaires qu'opérationnelles suivant le mode de programmation.Pour un mouvement défini dans l'espace opérationnel, la loi de mouvement devra être ramené dans l'espace articulaire par le MGI.

4.2.3.1 - Mouvement articulaire

4.2.3.1.1 - Avantages

• Moins de calculs.• Les contraintes en vitesse et en accélération des actionneurs sont connues.• Mouvement minimal sur chaque axe.• Pas de configuration singulière.

4.2.3.1.21 - Inconvénients

• Géométrie de la trajectoire inconnue.

O. Patrouix / version 1.2 / 2012 34/45

Page 35: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

4.2.3.1.3 - Conclusion

La génération de mouvement articulaire est adaptée aux mouvements rapides dans un environnement dégagé.

4.2.3.2 - Mouvement opérationnel (cartésien)

4.2.3.2.1 - Avantages

• Contrôle de la géométrie de la trajectoire (organe terminal).

4.2.3.2.2 - Inconvénients

• Transformation de chaque point en coordonnées articulaires.• Augmentation des calculs.• Echec sur les configurations singulières.• Problème de spécification de vitesse.

4.2.3.2.3 - Conclusion

La génération de mouvement opérationnelle est adaptée à des tâches comme les phases d'approches et de départ ou les insertions, etc.

4.2.4 - Typologie des tâches de déplacementEn fonction des types de spécifications des tâches utilisées, on peut mettre en évidence les lois des mouvements et de trajectoires suivantes :

• mouvement entre deux points, trajectoire non contrainte entre ces points → Espace articulaire,

• mouvement entre deux points, trajectoire contrainte entre ces points (exemple ligne droite) → Espace opérationnel,

• mouvement entre deux points, trajectoire non contrainte entre ces points avec des points de passage (points intermédiaires)→ Espace articulaire,

• mouvement entre deux points, trajectoire contrainte entre ces points avec des points de passage (points intermédiaires)→ Espace opérationnel,

• poursuite d'un objet mobile, asservissement sur des données d'un capteur extéroceptif → Espace opérationnel.

Les méthodes de base restent les méthodes de génération entre deux points dans l'espace articulaire qui est généralement étendu aux points de passage. Dans l'espace opérationnel, les principes sont les mêmes.

4.3 - GÉNÉRATION DE MOUVEMENT ENTRE DEUX POINTSOn s'occupe des mouvements libres.

4.3.1 - terminologie

Soit un robot à n articulations. qiet q

f sont les vecteurs de coordonnées articulaires

correspondant aux configurations initiale et finale.Les contraintes cinématiques sont fournies par les vecteurs K v et K a . Ils sont donnés par le

constructeur. K v est généralement bien défini et K a dépend de la configuration du robot.K a est approché par le rapport (couple max.) / (inertie max.).

O. Patrouix / version 1.2 / 2012 35/45

Page 36: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

4.3.1.1 - Loi d'interpolation

On cherche une loi mathématique temporelle assurant le passage de qià q

f pour t = 0 à tf (on

considère que tf est connu). La forme générale est :( ) ( )q t q r t D

i= + ∧ avec D = q

f - qi.

r(t) : fonction d'interpolation avec comme valeurs limites r(0) = 0 et r( qf ) = 1.

Plusieurs formes mathématiques sont envisageables pour r(t).En robotique, on trouve 3 types de lois d'interpolation :

• Les interpolations polynomiales.• La loi bang-bang.• La loi trapèze.

4.3.2 - lois d'interpolation polynomialesOn s'intéresse à une articulation.

4.3.2.1 - Loi de degré 1

r(t) = a0 + a1t. C'est la loi minimale, elle permet de satisfaire deux contraintes en position.r(0) = 0 et r(tf) = 1 ⇒ a0 = 0 et a1 = 1/tf.Donc la loi de commande ou loi de mouvement est :

( )q t qt

tD

if

= + ∗

4.3.2.2 - Loi de degré 3

On ne fait pas de loi de degré 2, car il y a des problèmes avec les points d'inflexion.r(t) = a0 + a1t + a2t² + a3t3 avec comme contraintes :

• En position → ( )q qi

0 = et ( )q t qf f= ⇔ ( )r 0 0= et ( )r t f = 1

O. Patrouix / version 1.2 / 2012 36/45

Page 37: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

• En cinématique → ( )q.

0 0= et ( )q t f

.

= 0

On peut donc à présent déterminer les constantes a0, ..., a3 connaissant les contraintes en

position et en cinématique, la loi r(t) et ( )q t qt

tD

if

= + ∗ .

On trouve a 0 0= , a1 0= , a2=3

t f2 et a3=

−2

t f3 .

Ce qui nous donne ( )q t qt

t tt D

if f

= +

∗ − ⋅

2

32

On a donc 3 équations :• q(t)

• ( )q tt

t

t

tD

f f

.

=∗

∗ −

612

• ( )q tt

t

tD

f f

..

= ∗ −∗

61

22

4.3.2.3 - Loi de degré 5

r(t) = a0 + a1t + a2t² + a3t3 + a4t4 + a5t5 avec comme contraintes :

• ( )q qi

0 = et ( )q t qf f=

• ( )q.

0 0= et ( )q t f

.

= 0

• ( )q..

0 0= et ( )q t f

..

= 0

On trouve grâce aux différentes contraintes les constantes a0, ..., a5

O. Patrouix / version 1.2 / 2012 37/45

Page 38: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

→ a 0 0= , a1 0= ,a 2 0= , at f

3 3

10= , a

t f4 4

15= − , a

t f5 5

6= .

Ce qui nous donne ( )q t qt

t

t

t

t

tD

if f f

= + ∗

− ∗

+ ∗

∗10 15 6

3 4 5

On a donc 3 équations :• q(t)

• ( )q tt

t

t

t

t

tD

f f f

.

=∗

−∗

+∗

∗30 60 302

3

3

4

4

5

• ( )q tt

t

t

t

t

tD

f f f

..

=∗

−∗

+∗

∗60 180 120

3

2

4

3

5

4.3.3 - Loi Bang-bangLe mouvement est exécuté en deux phases :

• Accélération constante jusqu'àt f

2.

• Décélération constante de t f

2 à tf .

On a donc deux lois polynomiales de degré 2 :

• r1(t) = a0 + a1t + a2t² pour 02

≤ ≤tt f

• r2(t) = a'0+ a'1t + a'2t² pourt

t tf

f2≤ ≤

O. Patrouix / version 1.2 / 2012 38/45

Page 39: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

On rappelle que ( ) ( )q t q r t q qi f i

= + ∗ −

On donne sous forme de tableau les conditions aux limites permettant de déterminer les deux lois r1(t) et r2(t).

tt f≤2

tt f≥2

r1(0) = 0 ( )r t f2 1=r'1(0) = 0 ( )r t f'2 0=

rt f

1 2

1

2

= r

t f

2 2

1

2

=

qt

qtf f

1 22 2

=

rt

rtf f

' '1 22 2

=

( ) ( )r t r t' ' ' '1 2= −Connaissant ces contraintes, on en déduit :

• ( )r tt

t f1

2

2= ∗

• ( )r tt

tt

tf f2

2

1 4 2= − + ∗

− ∗

On a donc :

• ( )q t qt

tD

if

= + ∗

∗2

2

pour 02

≤ ≤tt f

• ( )q t qt

t

t

tD

if f

= + − + ∗

− ∗

∗1 4 2

2

pour t

t tf

f2≤ ≤

O. Patrouix / version 1.2 / 2012 39/45

Page 40: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

4.3.4 - Loi trapèzeC'est une loi Bang-bang où l'on choisit de saturer la vitesse :

• Si Kvmax n'est pas atteint ⇒ Loi Bang-bang.• Si Kvmax est atteint ⇒ Palier de vitesse.

O. Patrouix / version 1.2 / 2012 40/45

Page 41: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

4.3.5 - calcul du temps de parcoursIl est possible que tf soit spécifié mais généralement cela n'est pas le cas. On cherche alors tf

correspondant à Kv et Ka donnés.Pour les lois précédentes, tf est donné par le tableau suivant:

Trapèze → tD

Kfj j

j

vj

= +τ avec τ j

vj

aj

K

K= (durée de la phase d'accélération).

O. Patrouix / version 1.2 / 2012 41/45

Page 42: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

4.4 - COORDINATION ARTICULAIRELes méthodes que nous venons de voir dépendent des paramètres Kvj, Kaj et Dj des différentes articulations. Donc les résultats sont différents pour chacune des articulations :

• La durée de mouvement est différente suivant l'articulation.• La durée des phases à vitesse constante est différente.• La durée des phases d'accélération est différente.

On va chercher à synchroniser les articulations du robot. On détermine dans un premier temps les lois pour chacune des articulations (même type de loi pour toutes les articulations) puis, on utilise une des deux méthodes existantes pour synchroniser ces lois.

• 1er méthode → On modifie les lois pour avoir une durée de mouvement identique sur tous les axes.

• 2ème méthode → 1er méthode + On modifie les lois pour avoir une durée identique pour les phases d'accélération et de freinage.

Dans les deux cas, il est nécessaire de rechercher l'axe contraignant; c'est-à-dire l'axe pour lequel le temps de parcours est le plus long. Il est noté axe k → tmax = tfk.

4.4.1 - méthode du temps minimalToutes les articulations voient leur temps tfj ramené au temps tfk où k représente l'indice de l'axe contraignant. Pour cela les périodes d'accélérations et de décélérations ne sont pas modifiées. Seule la durée du palier de vitesse est augmentée.On réalise en fait une homothétie sur les lois de mouvement, c'est-à-dire :

• Kvj → λjKvj • Kaj → λjKaj

Le coefficient λj est tel que le nouveau temps tfj est égal à tfk .

On en déduit : λττj

fj j

fk j

t

t=

−−

O. Patrouix / version 1.2 / 2012 42/45

1

2

τ j

τ j

tfk

Kaj

λ jKaj

Page 43: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

4.4.2 - méthode proportionnelleCette méthode est la plus employée en robotique. Les lois sur les différents axes sont homothétiques entre elles et comportent des phases d'accélération et de freinage de même durée. On cherche donc un temps tf minimum commun à toutes les articulations et une durée τ éventuellement différente du τop (τ optimum) déjà calculé.On doit donc déterminer pour chaque articulation les coefficients λj et γj tel que :

• Kvj → λjKvj = K'vj • Kaj → γjKaj = K'aj

On a donc : λ i op

vj i

vi j

MinK D

K D, ,=

1 et γ i op

aj i

ai j

MinK D

K D, ,=

1 avec j = 0,..., i-1, i+1, ..., n.

Remarque :Si sur une articulation j, la vitesse n'est pas atteinte (Kvj non atteint), on ne prend pas Kvj dans la formule mais on utilise la vitesse maximale réellement atteinte soit

K D Kvj j aj' = ∗ .

O. Patrouix / version 1.2 / 2012 43/45

Page 44: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

O. Patrouix / version 1.2 / 2012 44/45

Page 45: Automatisation Robotique - Robot Maker

ESTIA Automatisation 2 année

5 - BIBLIOGRAPHIE

• COIFFET Philippe. - La robotique. Principes et applications. Éditions Hermès, Paris (1992).

• COIFFET Philippe. - Robot habilis, robot sapiens. Éditions Hermès, Paris (1993).• CHEDMAIL Patrick, DOMBRE Etienne, WENGER Philippe. - La CAO en

robotique. Éditions Hermès, Paris (1998).• DOMBRE Etienne, KHALIL Wisama. - Modélisation, identification et commande des

robots. Éditions Hermès, Paris (1999).• Cours Stanford : Introduction to Computer Science, Artificial Intelligence, Linear

Systems and Optimization◦ http://www.deviceguru.com/2008/09/17/stanford-frees-cs-robotics-courses/ ◦ Khatib, Oussama / Robotique◦ http://see.stanford.edu/see/courseinfo.aspx?coll=86cc8662-f6e4-43c3-a1be-

b30d1d179743• Techniques de l'ingénieur

◦ http://www.techniques- ingenieur.fr/dossier/robots_definitions_et_classification/R7700

◦ http://www.techniques- ingenieur.fr/dossier/modelisation_et_commande_des_robots_manipulateurs/S7730

◦ http://www.techniques-ingenieur.fr/dossier/programmation_des_robots/R7720

O. Patrouix / version 1.2 / 2012 45/45