estia 2a - Robot Maker
Transcription
estia 2a - Robot Maker
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
ESTIA
Automatisation 2 année
Table des matières
1 - STRUCTURES MÉCANIQUES DES ROBOTS.............................................................5
1.1 - TERMINOLOGIE DES MÉCANISMES ARTICULÉS.........................................................................5
1.1.1 - Degré de liberté d’un solide.....................................................................................5
1.1.2 - Articulations / Liaisons............................................................................................5
1.1.2.1 - Principales liaisons..........................................................................................5
1.1.2.2 - Articulation rotoïde..........................................................................................5
1.1.2.3 - Articulation prismatique..................................................................................6
1.1.2.3.1 - Normalisation des liaisons.........................................................................7
1.2- TYPOLOGIE DES CHAÎNES CINÉMATIQUES................................................................................8
1.2.1- Mécanismes en chaîne ouverte.................................................................................8
1.2.2- Mécanismes en chaîne fermée..................................................................................8
1.3-- MORPHOLOGIE DES ROBOTS MANIPULATEURS.........................................................................9
1.3.1- décomposition véhicule / bras / effecteurs................................................................9
1.3.2- Architecture des bras................................................................................................9
1.3.2.1- Les porteurs.......................................................................................................9
1.3.2.1.1- Les cartésiens TTT....................................................................................10
1.3.2.1.2- Les cylindriques RTT...............................................................................10
1.3.2.1.3- Les sphériques RRT..................................................................................11
1.3.2.1.4- Les toriques RTR......................................................................................11
1.3.2.1.5- Les anthropomorphes RRR.......................................................................13
1.3.2.2- Les poignets.....................................................................................................13
1.3.2.2.1- Le poignet rotule.......................................................................................13
1.3.3- DDL d’un mécanisme articulé................................................................................13
1.3.3.1- Définition.........................................................................................................13
1.3.3.2- Redondance.....................................................................................................14
1.3.3.3- Configurations singulières..............................................................................14
1.3.3.4- Nombre de DDL et tâche.................................................................................14
1.4 - PERFORMANCES DES ROBOTS..............................................................................................15
1.4.1 - Volume atteignable................................................................................................15
1.4.2 - Charge utile............................................................................................................15
1.4.3 - Précision en position..............................................................................................15
1.4.4 - Résolution..............................................................................................................15
1.4.5- Vitesse.....................................................................................................................15
1.5- STRUCTURE MÉCANIQUE ET PERFORMANCES.........................................................................16
1.5.1- Inertie......................................................................................................................16
1.5.2- Rigidité...................................................................................................................16
1.5.3- Jeux et frottements..................................................................................................16
1.5.4- Fréquence propre du mécanisme............................................................................16
1.6 - CONCLUSION....................................................................................................................16
2 - INTRODUCTION À LA NOTION DE MODÈLES......................................................17
2.1 - TERMINOLOGIE.................................................................................................................17
2.2 - VARIABLES OPÉRATIONNELLES...........................................................................................17
2.3 - VARIABLES GÉNÉRALISÉES.................................................................................................17
2.4 - RÔLES ET TYPOLOGIE DES MODÈLES...................................................................................17
2.4.1 - Modèles géométriques...........................................................................................17
2.4.2 - Modèles cinématique ou différentiels....................................................................17
2.4.3 - Modèle dynamique................................................................................................18
O. Patrouix / version 1.2 / 2012
2/45
ESTIA
Automatisation 2 année
2.4.4 - Conclusion.............................................................................................................18
2.5 - GÉOMÉTRIE DE LA TÂCHE..................................................................................................18
2.5.1 - Retour sur les matrices homogènes.......................................................................18
2.5.1.1 - Introduction....................................................................................................18
2.5.1.2 - Définition d’un repère par une matrice homogène........................................18
2.5.1.3 - Matrice comme changeur de coordonnées.....................................................18
2.5.1.4 - Matrice comme opérateur géométrique.........................................................18
2.5.1.5 - Inversion.........................................................................................................19
2.5.1.6 - Composition de matrice..................................................................................19
2.5.1.6.1 - Composition à droite................................................................................19
2.5.1.6.2 - Composition à gauche..............................................................................19
2.5.1.7 - Propriétés des matrices homogènes...............................................................20
2.5.2 - description de la situation d’un solide dans l’espace.............................................20
2.5.2.1 - Coordonnées de position................................................................................20
2.5.2.1.1 - Coordonnées cartésiennes........................................................................20
2.5.2.1.2 - Coordonnées cylindriques........................................................................21
2.5.2.1.3 - Coordonnées sphériques..........................................................................21
2.5.2.2 - Coordonnées d’orientation.............................................................................22
2.5.2.2.1 - Cosinus directeurs....................................................................................22
2.5.2.2.2 - Angles d’Euler classiques........................................................................22
2.5.2.2.3 - Angles de roulis, tangage, lacet...............................................................24
2.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....................................................................................................26
3.2 - DESCRIPTION GÉOMÉTRIQUE..............................................................................................26
3.2.1 - Numérotation des corps et des articulations..........................................................26
3.2.2 - Affectation des repères..........................................................................................26
3.2.2.1 - Règles d’affectations......................................................................................26
3.3 - PARAMÈTRES ET TRANSFORMATIONS ASSOCIÉES..................................................................27
3.4 - APPLICATION AU CALCUL DU MGD D’UN ROBOT.................................................................27
3.4.1 - Formalisation.........................................................................................................27
3.5 - MODÈLE GÉOMÉTRIQUE INVERSE........................................................................................28
3.5.1 - notions générales....................................................................................................28
3.5.1.1 - Introduction et position du problème.............................................................28
3.5.1.2 - Résolubilité d’un robot manipulateur............................................................28
3.5.1.3 - Nombre de solutions et configurations d’un robot.........................................28
3.6 - MÉTHODES DE CALCUL DU MGI........................................................................................30
3.6.1 - Méthodes générales................................................................................................30
3.6.2 - Dans la pratique.....................................................................................................30
3.6.2.1 - Présentation....................................................................................................30
3.6.2.2 - Principe de résolution....................................................................................30
3.6.2.2.1 - Résolution du porteur..............................................................................30
3.6.2.2.2 - Résolution du poignet..............................................................................30
3.7 - BILAN.............................................................................................................................30
3.7.1 - Porteur et poignet...................................................................................................30
3.7.2 - Conclusion.............................................................................................................31
3.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
ESTIA
Automatisation 2 année
4.1.1 - définition................................................................................................................32
4.1.2 - trajectoire enregistrée.............................................................................................32
4.1.2.1 - La programmation..........................................................................................32
4.1.2.2 - A l'exécution...................................................................................................32
4.1.3 - Utilisation..............................................................................................................33
4.1.4 - Bilan.......................................................................................................................33
4.1.4.1 - Avantages.......................................................................................................33
4.1.4.2 - Inconvénients..................................................................................................33
4.2 - TRAJECTOIRE CALCULÉE...................................................................................................33
4.2.1 - Bilan.......................................................................................................................33
4.2.2- Méthodes de spécification de mouvement..............................................................33
4.2.2.1 - Configuration de passage...............................................................................33
4.2.2.2 - Contraintes cinématique.................................................................................33
4.2.2.3 - Contraintes de synchronisation......................................................................34
4.2.3 - Nature de l'espace..................................................................................................34
4.2.3.1 - Mouvement articulaire...................................................................................34
4.2.3.1.1 - Avantages.................................................................................................34
4.2.3.1.21 - Inconvénients.........................................................................................34
4.2.3.1.3 - Conclusion...............................................................................................35
4.2.3.2 - Mouvement opérationnel (cartésien)..............................................................35
4.2.3.2.1 - Avantages.................................................................................................35
4.2.3.2.2 - Inconvénients...........................................................................................35
4.2.3.2.3 - Conclusion...............................................................................................35
4.2.4- Typologie des tâches de déplacement.....................................................................35
4.3 - GÉNÉRATION DE MOUVEMENT ENTRE DEUX POINTS...............................................................35
4.3.1 - terminologie...........................................................................................................35
4.3.1.1 - Loi d'interpolation..........................................................................................36
4.3.2 - lois d'interpolation polynomiales...........................................................................36
4.3.2.1 - Loi de degré 1.................................................................................................36
4.3.2.2 - Loi de degré 3.................................................................................................36
4.3.2.3 - Loi de degré 5.................................................................................................37
4.3.3 - Loi Bang-bang.......................................................................................................38
4.3.4 - Loi trapèze.............................................................................................................40
4.3.5 - calcul du temps de parcours...................................................................................41
4.4 - COORDINATION ARTICULAIRE.............................................................................................42
4.4.1 - méthode du temps minimal....................................................................................42
4.4.2 - méthode proportionnelle........................................................................................43
5 - BIBLIOGRAPHIE............................................................................................................45
O. Patrouix / version 1.2 / 2012
4/45
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 solide
Le 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 / Liaisons
Une 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≤ m≤ 6
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.
C2
CORPS
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.
S2
+
θ
S1
S2
θ
S2
S1
S1
Articulation Rotoïde.
1
Voir http://jeanclaude.deponte.free.fr/animation/liaison/accueil-liaison.htm
O. Patrouix / version 1.2 / 2012
5/45
ESTIA
Automatisation 2 année
1.1.2.3 - Articulation prismatique
S2
d
S1
S2
d
S2
d
S1
S1
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
ESTIA
Automatisation 2 année
1.1.2.3.1 - Normalisation des liaisons
O. Patrouix / version 1.2 / 2012
7/45
ESTIA
Automatisation 2 année
1.2
- TYPOLOGIE DES CHAÎNES CINÉMATIQUES
1.2.1 - Mécanismes en chaîne ouverte
Ce sont les mécanismes de types :
Sn-1
S2
S3
Sn
S1
S0
Représentation d'une chaîne.
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
Mécanisme à chaîne fermée (actionneur linéaire).
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
ESTIA
Automatisation 2 année
1.3
-- MORPHOLOGIE DES ROBOTS MANIPULATEURS
1.3.1 - décomposition véhicule / bras / effecteurs
De façon très générale, un robot est constitué d'un bras, d'un outil et d'une base mobile.
bras
effecteur
Base mobile
Robot de type général.
Dans la réalité, les robots sont à poste fixe (pas de base mobile).
outil
Robot manipulateur à poste
fixe.
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 bras
Elle 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
1
2
3
4
5
6
Nombre de structures
2
8
32
128
512
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
ESTIA
Automatisation 2 année
1.3.2.1.1- Les cartésiens TTT
TTT = Translation Translation Translation
Robot à structure cartésienne.
Robot portique.
• 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 Translation
Porteur cylindrique.
O. Patrouix / version 1.2 / 2012
10/45
ESTIA
Automatisation 2 année
Robot cylindrique.
• 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 RRT.
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
ESTIA
Automatisation 2 année
Robot polaire
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.
Robot SCARA.
O. Patrouix / version 1.2 / 2012
12/45
ESTIA
Automatisation 2 année
1.3.2.1.5- Les anthropomorphes RRR
RRR = Rotoïde Rotoïde Rotoïde
Robot anthropomorphique.
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.
Poignet rotule.
• 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
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
R
Os
Os (X, Y, Z) dans R.
• Saisie d’un objet de révolution.
R outils
Os
Solide 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
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 ROBOTS
Ces performances concernent l’action physique du robot sur son environnement. Elles
dépendent :
• du mécanisme,
• de la commande.
1.4.1 - Volume atteignable
Le 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 utile
C’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ésolution
Partant 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 - Vitesse
Paramè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
ESTIA
Automatisation 2 année
1.5
- STRUCTURE MÉCANIQUE ET PERFORMANCES
Un certain nombre de paramètres structuraux influent directement sur les performances d'un
robot.
1.5.1 - Inertie
Ses 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 frottements
Ils 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écanisme
Les 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
- CONCLUSION
La 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
ESTIA
Automatisation 2 année
2
- INTRODUCTION À LA NOTION DE MODÈLES
2.1
- TERMINOLOGIE
Un 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ÉRATIONNELLES
C’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ÉES
Ces 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ÈLES
On 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.
MVD
Espace
articulaire
q, dq/dt, d²q/dt²
Espace
opérationnel
X, dX/dt, d²X/dt²
MGI
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étriques
Ces 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érentiels
Ils établissent un lien entre les vitesses articulaires dq/dt et les vitesses opérationnelles dX/dt.
O. Patrouix / version 1.2 / 2012
17/45
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 dynamique
C’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 - Conclusion
On 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 :
i
Tj = 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 V 1i 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étrique
Tj 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.
i
O. Patrouix / version 1.2 / 2012
18/45
ESTIA
Automatisation 2 année
2.5.1.5 - Inversion
A P
(iTj)-1 = iTj . Soit T =
La matrice homogène inverse est déterminée comme suit :
0 0 0 1
A t − At P
T −1 =
1
000
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 Tj*T. Une multiplication à droite de la transformation iTj signifie que l’opérateur
appliqué T est appliqué par rapport au repère courant Rj.
i
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
ESTIA
Automatisation 2 année
1
T=
0 0
0 1 0
0 0 1
0
d
0
0 0 0
1
i
Tj =
1 0
0
0 C β -S β
0 Sβ Cβ
0
0
0
0
1
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’espace
On 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
c
P
β
a
b
y
α
x
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
ESTIA
Automatisation 2 année
-
T=
-
a
b
c
0 0 0
1
-
-
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 2x P 2y
α = 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
ESTIA
Automatisation 2 année
Rot (Zo,α ) =
Cα
Sα
0
0
-Sα 0
Cα 0
0 1
0
0
0
0
Rot (Yo,β ) =
0
1
Résultat
Cβ 0 Sβ
0 1 0
-Sβ 0 Cβ
0
0
0
0
0 Trans (Zo,r)
0 =
1
0
0
0
1
0
0
0
1
0
0
r
1
0
0
0
1
Cα Cβ
Sα Cβ
-Sβ
-Sα
Cα
0
Cα Sβ
Sα Sβ
Cβ
rCα Sβ
rSα Sβ
rCβ
0
0
0
1
α = Arctan (Py/Px)
β = Arctan ((Py/Sα)/Pz) si α ≠ 0
β = Arctan (Px/Pz)
r = P 2x P 2yP 2z
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
ESTIA
AEUL = A(Zo,φ ) A(Xo,θ ) A(Zo,ψ ) =
Automatisation 2 année
Cφ Cψ -Sφ Cθ Sψ
Sφ Cψ +Cφ Cθ Sψ
Sθ Sψ
-Cφ Cψ -Sφ Cθ Sψ
-Sφ Sψ +Cφ Cθ 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
Sφ Sθ
-Cφ Sθ
Cθ
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θ Sψ
Cφ Sθ Cψ +Sφ Sψ
Sφ Sθ Cψ -Cφ Sψ
Cθ Cψ
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
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(λ 3λ 4+λ 1λ 2)
2(λ 2λ 4+λ 1λ 3)
2(λ 3λ 4-λ 1λ 2)
2(λ 1²+λ 4²)-1
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
- Conclusion
Choix 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
ESTIA
Automatisation 2 année
3
- DESCRIPTION GÉOMÉTRIQUE DES ROBOTS
3.1
- POSITION DU PROBLÈME
Nous 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ÉTRIQUE
Description 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 articulations
Les capteurs sont notés Cj, l’indice j varie de façon croissante du socle, noté C 0, 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 :
An-1
A3
A1
C1
C2
A2
C n-1
An
Cn
C0
3.2.2 - Affectation des repères
Le 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
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ÉES
Le 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.
Xj
Z j-1
Zj
Oj
O j-1
θj
rj
Xj-1
αj
dj
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-1
Tj =Rot (X,α j) Trans (x,dj) Rot (z,θ j) Trans (z,rj) =
0
Cθ j
-Sθ j
Cα jSθ j Cα jCθ j -Sα j
Sα jSθ j Sα jCθ j Cα j
0
3.4
0
dj
-rjSα j
rjCα j
0
1
- APPLICATION AU CALCUL DU MGD D’UN ROBOT
3.4.1 - Formalisation
Les 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-1
Tj = 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
0
T1.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
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 (R OUTIL) 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
ATE
TRoutil = ATETR0.R0TR6.R6TRoutil ⇒ R0TR6 = (ATETR0)-1.ATETRx.(R6TRoutil)-1
3.5.1.2 - Résolubilité d’un robot manipulateur
0
Tn = (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 R outil 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
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 r max = 32. En réalité
r < rmax ⇒ axes parallèles ou concourants, butées.
O. Patrouix / version 1.2 / 2012
29/45
ESTIA
Automatisation 2 année
3.6
- MÉTHODES DE CALCUL DU MGI
Tn = (ATETR0)-1.ATETRx.(RnTRoutil)-1 = T(numérique).
0
3.6.1 - Méthodes générales
Pour un robot 6 axes T1.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.
0
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 O 4 dans O3 car le centre de la rotule est O 4,
O4 dans R3 = 3T4.O4 dans R4, ce résultat ne dépend pas de q 4, 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).
R0
TR6 = [SNA|P]
R0
TR3.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
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és
Les 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
ESTIA
Automatisation 2 année
4
- GÉNÉRATION DE TRAJECTOIRE
4.1
- INTRODUCTION
Les 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éfinition
La 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.
Définition de la
trajectoire ou du
mouvement
qc
Génération de la
trajectoire
ε
Commande
Robot
qf
échantillonneur
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
ESTIA
Automatisation 2 année
4.1.3 - Utilisation
Cette 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ÉE
Le 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 - Bilan
On 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 mouvement
Il 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
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 q 1,...,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'espace
Jusqu'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
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éplacement
En 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 POINTS
On s'occupe des mouvements libres.
4.3.1
- terminologie
Soit un robot à n articulations. q i et 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
ESTIA
Automatisation 2 année
4.3.1.1 - Loi d'interpolation
On cherche une loi mathématique temporelle assurant le passage de q i à q f pour t = 0 à t f (on
considère que tf est connu). La forme générale est :
q ( t ) = q i + r ( t ) ∧ D avec D = q f - q .
i
r(t) : fonction d'interpolation avec comme valeurs limites r(0) = 0 et r( q f ) = 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 polynomiales
On 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 :
t
q( t ) = q i +
∗D
tf
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 ( 0) = q i et q t f = q ⇔ r( 0) = 0 et r t f = 1
( )
O. Patrouix / version 1.2 / 2012
f
36/45
( )
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
t
∗ D.
position et en cinématique, la loi r(t) et q ( t ) = q i +
tf
3
−2
On trouve a 0 = 0 , a 1 = 0 , a 2= 2 et a 3= 3 .
tf
tf
2
t
2
Ce qui nous donne q( t ) = q + ∗ 3 −
⋅ t ∗ D
i
t f
tf
On a donc 3 équations :
• q(t)
.
6∗ t
t
∗ D
• q ( t ) = 2 ∗ 1 −
tf
t f
..
• q( t ) =
6
t 2f
2∗ t
∗D
∗ 1 −
t f
4.3.2.3 - Loi de degré 5
r(t) = a0 + a1t + a2t² + a3t + a4t4 + a5t5 avec comme contraintes :
• q ( 0) = q i et q t f = q
3
•
•
( )
q ( 0) = 0 et q ( t ) = 0
q( 0) = 0 et q ( t ) = 0
.
.
..
..
f
f
f
On trouve grâce aux différentes contraintes les constantes a0, ..., a5
O. Patrouix / version 1.2 / 2012
37/45
ESTIA
Automatisation 2 année
→ a 0 = 0 , a1 = 0 , a 2 = 0 , a 3 =
10
15
6
.
3 , a4 = −
4 , a5 =
tf
tf
t 5f
3
t
t
Ce qui nous donne q ( t ) = q i + 10∗ − 15∗
tf
tf
On a donc 3 équations :
• q(t)
30∗ t 2 60∗ t 3 30∗ t 4
.
(
)
+
• q t = 3 −
∗ D
4
5
tf
t f
t f
60∗ t 180∗ t 2 120∗ t 3
..
+
• q( t) = 3 −
∗ D
4
5
tf
t f
t f
4.3.3 - Loi Bang-bang
Le mouvement est exécuté en deux phases :
tf
• Accélération constante jusqu'à .
2
tf
• Décélération constante de
à tf .
2
On a donc deux lois polynomiales de degré 2 :
tf
• r1(t) = a0 + a1t + a2t² pour 0 ≤ t ≤
2
tf
• r2(t) = a'0+ a'1t + a'2t² pour ≤ t ≤ t f
2
O. Patrouix / version 1.2 / 2012
38/45
4
5
t
+ 6∗ ∗ D
t f
ESTIA
Automatisation 2 année
On rappelle que q ( t ) = q + r ( t ) ∗ q − q
i
f
i
On donne sous forme de tableau les conditions aux limites permettant de déterminer les deux
lois r1(t) et r2(t).
tf
tf
t≤
t≥
2
2
r1(0) = 0
r2 t f = 1
( )
( )
r'1(0) = 0
r'2 t f = 0
tf 1
r1 =
2 2
tf 1
r2 =
2 2
tf
tf
q1 = q 2
2
2
tf
tf
r '1 = r ' 2
2
2
r ' '1 ( t ) = − r '' 2 ( t )
Connaissant ces contraintes, on en déduit :
t
• r1 ( t ) = 2∗
tf
2
2
t
t
• r2 ( t ) = − 1 + 4∗ − 2 ∗
tf
tf
On a donc :
t 2
tf
• q ( t ) = q i + 2 ∗ ∗ D pour 0 ≤ t ≤
2
t f
2
t
t
tf
• q ( t ) = q i + − 1 + 4 ∗ − 2∗ ∗ D pour
≤ t ≤ tf
2
tf
t f
O. Patrouix / version 1.2 / 2012
39/45
ESTIA
Automatisation 2 année
4.3.4 - Loi trapèze
C'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
ESTIA
Automatisation 2 année
4.3.5 - calcul du temps de parcours
Il est possible que tf soit spécifié mais généralement cela n'est pas le cas. On cherche alors t f
correspondant à Kv et Ka donnés.
Pour les lois précédentes, tf est donné par le tableau suivant:
Trapèze
→
O. Patrouix / version 1.2 / 2012
t fj = τ j +
Dj
Kvj
avec τ j =
41/45
K vj
K aj
(durée de la phase d'accélération).
ESTIA
Automatisation 2 année
4.4
- COORDINATION ARTICULAIRE
Les 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.
τj
1
λ jKaj
Kaj
τj
2
tfk
4.4.1 - méthode du temps minimal
Toutes 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 .
t fj − τ j
On en déduit : λ j =
t fk − τ j
O. Patrouix / version 1.2 / 2012
42/45
ESTIA
Automatisation 2 année
4.4.2 - méthode proportionnelle
Cette 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
K D
K D
vj
i
aj
i
avec j = 0,..., i-1, i+1, ..., n.
On a donc : λ i ,op = Min 1,
et γ i,op = Min 1,
K D
K D
vi
j
ai
j
Remarque :Si sur une articulation j, la vitesse n'est pas atteinte (K vj non atteint), on ne prend
pas Kvj dans la formule mais on utilise la vitesse maximale réellement atteinte soit
K ' vj =
D j ∗ K aj .
O. Patrouix / version 1.2 / 2012
43/45
ESTIA
O. Patrouix / version 1.2 / 2012
Automatisation 2 année
44/45
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-a1beb30d1d179743
Techniques de l'ingénieur
◦ http://www.techniquesingenieur.fr/dossier/robots_definitions_et_classification/R7700
◦ http://www.techniquesingenieur.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