cours_robotique.pdf

146
Modélisation et commande des robots Badreddine BOUZOUITA ENISO Badreddine BOUZOUITA Modélisation et commande des robots 1/131

Upload: badreddine-bouzouita

Post on 18-Jan-2016

30 views

Category:

Documents


3 download

TRANSCRIPT

Modélisation et commande des robots

Badreddine BOUZOUITA

ENISO

Badreddine BOUZOUITA Modélisation et commande des robots 1/131

Introduction générale

Sommaire

1 Introduction généraleStructure générale d’un robotLes architectures du type série (robot sérielLes architectures parallèlesMorphologie du robot manipulateurCaractéristiques générales d’un robot

2 Modèles géométriques directs d’un robot

3 Modèle géométrique inverse d’un robot

4 Planification et génération de trajectoire

Badreddine BOUZOUITA Modélisation et commande des robots 2/131

Introduction générale

Introduction générale

La robotique est une science pluridisciplinaire qui comprend la mécanique,l’automatique, l’électrotechnique, le traitement de signal, l’informatique,communication...

Le mot robot vient du tchèque robota, qui signifie travail forcé, mot crée en 1920par Karel Capek.

Un robot est une appareil automatique capable de manipuler des objets oud’exécuter des opérations selon un programme fixe, modifiable ou adaptable.

Badreddine BOUZOUITA Modélisation et commande des robots 3/131

Introduction générale

Introduction générale

La robotique est une science pluridisciplinaire qui comprend la mécanique, l’automa-tique, l’électrotechnique, le traitement de signal, l’informatique, communication...Un robot se compose de :

Le mécanisme : structure plus au moins proche de celle du bras humain, on ditaussi manipulateur quand il ne s’agit pas d’un robot mobile. Sa motorisation estréalisée par des actionneurs électriques, pneumatiques ou hydrauliques quitransmettent leur mouvement aux articulations par des systèmes appropriés.

La perception : Permet de gérer les relations entre le robot et son environnement.Les organes de perception sont des capteurs dits " proprioceptifs " lorsqu’ilsmesurent l’état interne du robot (position et vitesses des articulations) ou "extéroceptifs " lorsqu’ils recueillent des informations sur l’environnement(détection de présence, mesure de distance, vision artificielle).

La commande : qui synthétise les consignes des asservissements pilotant lesactionneurs. A partir de la fonction de perception et des ordres de l’utilisateur, ellepermet d’engendrer les actions du robot.

Badreddine BOUZOUITA Modélisation et commande des robots 4/131

Introduction générale

Introduction générale

l’interface homme-machine : à travers laquelle l’utilisateur programme les tâchesque le robot doit exécuter.

le poste de travail et les dispositifs périrobotique 1 : qui constituent l’environnementdans lequel évolue le robot.

1. Matériel et logiciels constituant l’environnement proprement dit du robot et nécessaire à son utilisation.Parmi les matériels classiques, on peut citer les convoyeurs et tapis roulants, les magasins de stockage depièces, etc. Côté logiciel, on pourra noter les aides à la programmation (en CNC (Commande numérique parcalculateur) par ex.), les aides à la gestion, etc.

Badreddine BOUZOUITA Modélisation et commande des robots 5/131

Introduction générale Structure générale d’un robot

Structure générale d’un robot

L’architecture géométrique du robot varie selon le type des tâches qui lui sont destinées.D’une manière générale, on distingue au robot trois parties essentielles. Il s’agit :

- du véhicule ;du porteur ;

-- de l’organe terminal.

Badreddine BOUZOUITA Modélisation et commande des robots 6/131

Introduction générale Structure générale d’un robot

Structure générale d’un robotLe véhicule

Son rôle est d’amener le robot dans la partie de son environnement où il a une tâcheà accomplir. Néanmoins, le véhicule n’ est pas toujours existant. Dans le cas le plusgénéral où le robot est, par exemple, lié à un satellite évoluant dans l’espace, le véhiculepossède trois degrés de liberté en translation et trois degrés de liberté en rotation.Cependant, dans un environnement terrestre, on supprime habituellement au véhiculeles trois degrés de liberté en rotation pour ne lui laisser que ceux en translation (ou deuxdes trois) afin d’assurer son déplacement. Pour les robots fixes, on dira que le véhicule,qui est la base du robot, n’a aucun degré de liberté.

Badreddine BOUZOUITA Modélisation et commande des robots 7/131

Introduction générale Structure générale d’un robot

Structure générale d’un robotLe porteur

Le porteur est la structure mécanique, généralement une structure articulée, dont le rôleest d’amener l’extrémité du robot en divers points de son espace de travail. D’une ma-nière générale, le porteur possède les trois degrés de liberté en translation qui assurentle déplacement ; cependant, il peut en posséder moins, dépendant du type de tâchesassignées au robot

Badreddine BOUZOUITA Modélisation et commande des robots 8/131

Introduction générale Structure générale d’un robot

Structure générale d’un robotL’organe terminal

C’est sur l’organe terminal qu’est fixé l’outil. Une fois que ce dernier a été positionnégrâce au porteur, il faut lui donner l’orientation adéquate pour l’exécution de la tâche.C’est donc l’organe terminal qui assure l’orientation de l’outil. Pour avoir une bonne pré-cision d’orientation, il faut fournir à l’organe terminal trois degrés de liberté en rotation ;l’orientation est d’autant meilleure que l’on peut effectuer trois rotations autour de troisaxes normaux et concourants

Badreddine BOUZOUITA Modélisation et commande des robots 9/131

Introduction générale Structure générale d’un robot

Structure générale d’un robotNombre de degrés de liberté du robot

La plupart des robots usuels ayant n degrés de liberté (n ≤ 6) possèdent également naxes, qu’ils soient de translation ou de rotation. Cependant, le nombre d’axes du robotne définit pas nécessairement le nombre de degrés de liberté.Si on considère le robot fixe, sans véhicule, les six degrés de liberté possibles sontrépartis entre le porteur et l’organe terminal de manière que les trois rotations soientliées à ce dernier. Pour compenser un degré de liberté déficitaire au niveau de l’organeterminal, on rajoute en général un ou plusieurs axes au niveau du porteur. On obtientainsi des robots pouvant avoir sept axes et plus, mais avec six degrés de liberté (ex. :robot peintre ACMA)

Badreddine BOUZOUITA Modélisation et commande des robots 10/131

Introduction générale Les architectures du type série (robot sériel

Introduction généraleLes architectures du type série

Les mécanique de cette famille se composent globalement d’un assemblage de corpssuccessifs reliés par des articulations.

Badreddine BOUZOUITA Modélisation et commande des robots 11/131

Introduction générale Les architectures du type série (robot sériel

Introduction généraleLes architectures du type série avec boucles cinématique

Pour des raisons de robustesse, à ces articulations principales peuvent s’ajouter desarticulations complémentaires qui constituent des boucles cinématique qui permettentde rigifier la structure, ce qui permet la manipulation de charge plus élevées.Dans certains cas, les actionneurs sont reportés à la base du robot, diminuant ainsi lesmasse globales en mouvement. il est alors nécessaire d’inclure des boucles cinéma-tique pour transférer le mouvement vers l’articulation concernée.

Badreddine BOUZOUITA Modélisation et commande des robots 12/131

Introduction générale Les architectures du type série (robot sériel

Introduction généraleLes architectures séries arborescentes

Dans certains cas, un robot peut posséder plusieurs extrémités, on parlera alors dearchitectures arborescentes.

Badreddine BOUZOUITA Modélisation et commande des robots 13/131

Introduction générale Les architectures parallèles

Introduction généraleLes architectures parallèles

Un robot parallèle est constitué d’un ensemble de chaînes cinématique liées à l’une deleur extrémité à un corps de référence la base, et à l’autre extrémité à une plate-formemobile destinée à recevoir l’organe terminal.Ces architectures sont peu nombreuses car les méthode de calcul de leur modèle ma-thématique sont complexes, et l’étude de mécanisme n’est pas évidente.Ainsi, à chaque nouvelle architecture, un développement complet de la commande està réaliser, cce qui rend la rentabilité de tels projets plus hasardeuse.

Badreddine BOUZOUITA Modélisation et commande des robots 14/131

Introduction générale Morphologie du robot manipulateur

Introduction généraleMorphologie du robot manipulateur

Selon l’arrangement des articulations du porteur, on peut obtenir différentes architec-tures possibles. En éliminant a priori les structures limitant les mouvements du porteur àdes déplacements linéaires ou planaires (3 liaisons prismatiques d’axes parallèles, parexemple, ou 3 liaisons rotoïdes d’axes parallèles), on trouve les 5 structures suivantes :

Robots cartésiens (PPP) : : Trois axes de translation.

Badreddine BOUZOUITA Modélisation et commande des robots 15/131

Introduction générale Morphologie du robot manipulateur

Introduction généraleMorphologie du robot manipulateur

Robots cylindriques (RPP) : : est obtenu en remplaçant la première articulationprismatique de la configuration cartésienne par une articulation rotoïde.

Badreddine BOUZOUITA Modélisation et commande des robots 16/131

Introduction générale Morphologie du robot manipulateur

Introduction généraleMorphologie du robot manipulateur

Robots sphériques (RRP) : : se diffère de celle cylindrique en remplaçant ladeuxième articulation prismatique par une articulation rotoïde.

Badreddine BOUZOUITA Modélisation et commande des robots 17/131

Introduction générale Morphologie du robot manipulateur

Introduction généraleMorphologie du robot manipulateur

Robots SCARA (RRP) : : Bien que le SCARA (Selective Compliant ArticulatedRobot for Assembly) ait une structure de RRP, il diffère tout à fait du manipulateursphérique tant dans l’apparence que dans sa gamme d’applications. Contrairementà la conception sphérique, qui a z0 perpendiculaire à z1 et z1 perpendiculaire à z2,le SCARA a z0, z1 et z2 mutuellement parallèle.

Badreddine BOUZOUITA Modélisation et commande des robots 18/131

Introduction générale Morphologie du robot manipulateur

Introduction généraleMorphologie du robot manipulateur

Robots rotoïdes ou révolution ou anthropomorphes (RRR) : : est réalisée partrois articulations rotoïde ; l’axe de rotation de la première articulation est orthogo-nal aux deux autres axes qui sont parallèles.

Badreddine BOUZOUITA Modélisation et commande des robots 19/131

Introduction générale Morphologie du robot manipulateur

Introduction généraleMorphologie du robot manipulateur

Selon le dernier rapport par la Fédération Internationale de Robotique (IFR :Internatio-nal Federation of Robotics), jusqu’à 2005, 59% de manipulateurs de robot installés dansle monde entier ont la configuration géométrie anthropomorphique, 20% ont la structuregéométrie cartésienne, 12% ont la géométrie cylindrique et 8% ont la géométrie SCARA.

Badreddine BOUZOUITA Modélisation et commande des robots 20/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotEspace de travail

Les caractéristiques générales d’un robot sont :L’espace de travail : est défini comme l’espace physique engendré par un pointde l’organe terminal lorsque le configuration du robot évolue. Il s’exprime en unitésvolumiques, mais la forme de son enveloppe (qui peut-être compliquée puisqueformée par la combinaison des mouvements de plusieurs articulations) est aussiimportante.

Badreddine BOUZOUITA Modélisation et commande des robots 21/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotEspace de travail

Si on suppose que :* chaque liaison rotoïde permet une rotation d’un tour complet (360◦),* les différentes parties du bras manipulateur ont la même dimension L,* chaque liaison prismatique permet une translation égale à L

Dans ces conditions, on a :I robot PPP : le volume de travail est un cube de côté L :

V = L3

Badreddine BOUZOUITA Modélisation et commande des robots 22/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotEspace de travail

I robot RPP : le volume de travail est un cylindre creux, autrement dit un tore àsection carrée, de hauteur L et de rayons intérieur et extérieur L et 2L :

V = 3πL3 ' 9L3

Badreddine BOUZOUITA Modélisation et commande des robots 23/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotEspace de travail

I robot RPR ou RRP : le volume de travail est un cylindre de hauteur L et de rayon2L :

V = 4πL3 ' 12L3

Badreddine BOUZOUITA Modélisation et commande des robots 24/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotEspace de travail

I robot RRP : le volume de travail est une sphère creuse de rayons intérieur etextérieur L et de rayon 2L :

V =283πL3 ' 29L3

Badreddine BOUZOUITA Modélisation et commande des robots 25/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotEspace de travail

I robot RRR : le volume de travail est une sphère de rayon 2L :

V =323πL3 ' 34L3

Badreddine BOUZOUITA Modélisation et commande des robots 26/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotEspace de travail

Cette comparaison montre la nette supériorité des structures RRP et RRR qui, a dimen-sions égales des différentes parties du manipulateur, possèdent un volume de travailenviron 30 fois supérieur à celui de la structure PPP. Les structures RPP et RPR, avecun volume de travail environ 10 fois supérieur à celui de la structure PPP, offrent doncun volume de travail moyen.

Badreddine BOUZOUITA Modélisation et commande des robots 27/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotLa capacité de charge

La capacité de charge : La capacité de charge est la charge que peut porter etmanipuler le robot. Evidemment, les couples qui doivent développer les action-neurs sont fonction de la configuration du robot. C’est pourquoi la charge maximumindiquée dans les catalogues des constructeurs de robots n’est souvent suppor-table que dans une fraction du volume de travail, mais pas dans tout le volumeatteignable ni avec toutes les orientations atteignables. Il faudrait plutôt fournir 2chiffres : la charge maximum soulevable dans la configuration la meilleure etla charge utile c’est-à-dire celle qui est effectivement manœuvrable dans tout levolume atteignable. Actuellement, on peut distinguer trois grandes catégories derobots suivant leur capacité de charge :

robots de grande capacité : 50 à 100 kgrobots de capacité moyenne : 5 à 10 kgrobots de petite capacité : quelques centaines de grammes.

Badreddine BOUZOUITA Modélisation et commande des robots 28/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotPrécision, répétabilité et résolution

Précision : Pour expliquer ces notions, considérons un robot manipulateur quel-conque dont l’organe terminal est immobile dans une situation A et doit être dé-placé pour arriver à vitesse nulle dans une situation B. Si ce déplacement est exé-cuté un grand nombre de fois, il est possible de définir une situation moyenne Bmoy

qui correspond à la moyenne des situations Bi atteintes au cours des déplacementsrépétés : Bmoy est le centre de la plus petite sphère qui contient tous les points Bi.L’écart entre la situation B programmée et la situation moyenne Bmoy définit la pré-cision statique du robot manipulateur. Elle caractérise l’aptitude du robot à situerl’organe terminal en conformité avec la situation programmée.

Badreddine BOUZOUITA Modélisation et commande des robots 29/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotPrécision, répétabilité et résolution

Répétabilité : L’écart maximal entre la situation moyenne Bmoy et les situations at-teintes Bi, autrement dit le rayon de la sphère définie plus haut, détermine la répé-tabilité du robot. Pour la plupart des robots industriels, elle est nettement meilleureque la précision, généralement elle est de l’ordre du dixième de mm. C’est une desraisons pour lesquelles beaucoup de constructeurs ne mentionnent que la répétabi-lité dans leurs catalogues de robots, une autre raison étant que c’est évidemmentla répétabilité qui intéresse les utilisateurs lorsque le robot doit répéter un grandnombre de fois la même tâche.

Résolution : on appelle résolution d’un robot le plus petit écart entre la situationinitiale A et la situation programmée B qui puisse se traduire par une modificationréelle de la situation de l’organe terminal, c-à-d. qui entraîne un déplacement decelui-ci.

Badreddine BOUZOUITA Modélisation et commande des robots 30/131

Introduction générale Caractéristiques générales d’un robot

Caractéristiques générales d’un robotAgilité

L’agilité est la propriété de se déplacer avec rapidité d’une configuration à une autredans l’espace de travail. Elle est entièrement liée à la réponse dynamique du manipula-teur.Le temps de transfert entre deux points est limité par :

- la vitesse maximum permise par chacun des degrés de liberté (les robots actuelsatteignent des vitesses de l’ordre de 2m/s et des vitesses angulaires de 3rad/s),

- l’accélération maximum permise, elle-même limitée par les couples disponibles,

- le temps nécessaire à l’amortissement des oscillations aux extrémités du parcours.

Ces oscillations résultent principalement, pour les manipulateurs conventionnels, desflexibilités présentes dans les transmissions, plutôt que de celles des liens. Le tempsde stabilisation sera minimisé en générant des trajectoires qui n’excitent pas les modesflexibles et en augmentant l’amortissement du système. La limite de l’agilité qu’il estpossible d’atteindre par la simple augmentation du couple des moteurs est fixée par letemps de stabilisation et les dépassements associés aux oscillations. Notons ici que lesmeilleurs manipulateurs modernes ont des accélérations maximum un ordre de gran-deur inférieures à celles du bras humain.

Badreddine BOUZOUITA Modélisation et commande des robots 31/131

Introduction générale Caractéristiques générales d’un robot

Introduction générale

Pour commander ou simuler le comportement d’un système mécanique articulé (robot),on doit disposer d’un modèle. Plusieurs niveaux de modélisation sont possibles selonles objectifs, les contraintes de la tâche et les performances recherchées.Les modèles mathématiques nécessaires sont :

Les modèles géométriques directs (MGD) : consistent à déterminer la pose (po-sition et orientation) de l’effecteur (l’organe terminal) en fonction des coordonnéesarticulaires. Cette relation permet de faire le lien entre les mesures prises aux arti-culations et la position spatiale du mécanisme.(

xp

xr

)= f (q) (1)

où xp représente les trois coordonnées opérationnelles de position (coordonnéesdu centre On+1 par rapport à l’origine fixe O1) et où xr représente les coordonnéesopérationnelles d’orientation de la base Xn + 1 par rapport à la base fixe X1.

Les modèles géométriques inverses (MGI) : consistent à obtenir les coordonnéesarticulaires correspondant à une pose (position et orientation) de l’effecteur don-née. Cette relation est ici obtenue en manipulant algébriquement les équations duMGD.

Badreddine BOUZOUITA Modélisation et commande des robots 32/131

Introduction générale Caractéristiques générales d’un robot

Introduction générale

Les modèles cinématiques directs et inverses qui expriment la vitesse de l’organeterminal en fonction de la vitesse articulaire et inversement.

Les modèles dynamiques définissant les équations différentielles du mouvementdu robot qui permettent d’établir les relations entre les couples ou forces exer-cées par les actionneurs et les positions, vitesses, accélérations des articulations.Celles-ci seront d’ailleurs à la base de la planification de trajectoire

Badreddine BOUZOUITA Modélisation et commande des robots 33/131

Modèles géométriques directs d’un robot

Sommaire

1 Introduction générale

2 Modèles géométriques directs d’un robotIntroductionReprésentations de rotationsCoordonnées et matrices de transformation homogènesConvention de Denavit Hartenberg

3 Modèle géométrique inverse d’un robot

4 Planification et génération de trajectoire

Badreddine BOUZOUITA Modélisation et commande des robots 34/131

Modèles géométriques directs d’un robot Introduction

Introduction

L’étude de la robotique nécessite des connaissances de base en Géométrie et en ci-nématique. Lorsque l’on désire commander un robot, il est nécessaire de situer sesdifférentes parties mobiles les unes par rapport aux autres. Pour ce faire, on associe unrepère à chaque partie du robot (socle, effecteur, articulations). Le passage d’un repèreà un autre (position, orientation) s’exprime sous la forme d’une matrice de passage.La géométrie, et plus particulièrement les coordonnées et transformations homogènessont des outils indispensables et très utilisés en robotique, qui font l’objet d’une grandepartie de ce chapitre.La cinématique du déplacement, à travers la loi de composition des vitesses, fait égale-ment partie des bases de la robotique. Elle est abordée dans le 3me chapitre.

Badreddine BOUZOUITA Modélisation et commande des robots 35/131

Modèles géométriques directs d’un robot Introduction

Introduction

Considérant un robot sériel tel que symbolisé sur la figure ci-dessous, on cherche à dé-terminer la relation qui lie les coordonnées opérationnelles aux coordonnées articulairesq : (

xp

xr

)= f (q) (2)

où xp représente les trois coordonnées opérationnelles de position (coordonnées ducentre On+1 par rapport à l’origine fixe O1) et où xr représente les coordonnées opéra-tionnelles d’orientation de la base Xn+1 par rapport à la base fixe X1.

Badreddine BOUZOUITA Modélisation et commande des robots 36/131

Modèles géométriques directs d’un robot Introduction

Introduction

Alors que pour les coordonnées xp tout le monde s’accorde pour choisir les compo-santes cartésiennes de la position de On+1 par rapport à O1 exprimées dans la base X1,plusieurs choix sont possibles (et adoptés en pratique) pour les coordonnées xr :

angles d’Euler

angles de Tait Bryan (ou angles nautiques)

quaternions d’Euler

Dans le but d’obtenir un résultat qui soit intrinsèque et ne dépende pas d’un choix par-ticulier des coordonnées de rotation, nous nous baserons sur la relation :[

X1]= A1,n+1

[Xn+1

](3)

qui fait apparaître la matrice de rotation entre les deux repères, et nous chercherons larelation : (

xp

A1,n+1

)= f (q) (4)

sachant que, quel que soit le choix des coordonnées opérationnelles de rotation, cesdernières peuvent s’exprimer en fonction des éléments (i, j) de la matrice A1,n+1.

Badreddine BOUZOUITA Modélisation et commande des robots 37/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsCas 2D

Transformation des coordonnées d’un vecteur U 2D−→U = Ux1

−→x 1 + Uy1−→y 1 = Ux2

−→x 2 + Uy2−→y 2 (5)

Ox1

x2

θ

θ

y1y2

U

La correspondance des vecteurs de base s’exprime parles deux équations suivantes :

−→x 2 = −→x 1 cos θ +−→y 1 sin θ−→y 2 = −−→x 1 sin θ +−→y 1 cos θ (6)

ou symboliquement à travers la relation matricielle sui-vante : [

x2

y2

]=

(cos θ sin θ− sin θ cos θ

)[x1

y1

](7)

Soit X2 = R2,1X1 avec R2,1 est dite matrice de rotation.

Badreddine BOUZOUITA Modélisation et commande des robots 38/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsCas 2D

En exprimant les relations de correspondance des vecteurs de base

−→U = Ux2

−→x 2 + Uy2−→y 2

= Ux2(−→x 1 cos θ +−→y 1 sin θ

)+ Uy2

(−−→x 1 sin θ +−→y 1 cos θ

)(8)

= (Ux2 cos θ − Uy2 sin θ)−→x 1 + (Ux2 sin θ + Uy2 cos θ)−→y 1

= Ux1−→x 1 + Uy1

−→y 1

Ox1

x2

θ

θ

y1y2

U

Par identification, on obtient alors :[Ux1

Uy1

]=

(cos θ − sin θsin θ cos θ

)[Ux2

Uy2

](9)

Soit :X1 = R1,2X2 (10)

avec R2,1 est dite matrice de passage de la base 1 à labase 2. En effet, la base 2 est obtenue par transforma-tion de la base 1.La relation (10) permet de connaître les coordonnées de U dans la base 1 sachant lescoordonnées de U dans dans la base 2.

Badreddine BOUZOUITA Modélisation et commande des robots 39/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsCas 3D

En ce qui concerne les rotations dans l’espace R3, il est important de préciser l’axede rotation. Nous pouvons distinguer 3 rotations principales : la rotation d’angle θ au-tour de l’axe Ox, celle autour de Oy et celle autour de Oz. Les matrices associées sontrespectivement données par :

R(x, θ) =

1 0 00 cos θ − sin θ0 sin θ cos θ

,

R(y, θ) =

cos θ 0 sin θ0 1 0

− sin θ 0 cos θ

et

R(z, θ) =

cos θ − sin θ 0sin θ cos θ 0

0 0 1

Ces relations sont appelées aussi matrices de rotation élémentaire.

Badreddine BOUZOUITA Modélisation et commande des robots 40/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

La représentation par les angles d’Euler est particulièrement importante en robotique,parce qu’ils correspondent aux variables articulaires de la structure de poignet la plusclassique

FIGURE 1: Structure classique d’un poignet dont les angles d’articulations sont identiques auxangles d’Euler

Badreddine BOUZOUITA Modélisation et commande des robots 41/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

Les angles d’Euler classiques permettent de décrire l’orientation d’un solide par troisrotations successives. Conformément à la figure ci-dessous, il s’agit de trois rotationsR(z, ψ), R(xψ, θ) et enfin R(zθ, φ). Les angles ψ, θ et φ sont connus respectivement sousles termes de précession, nutation et rotation propre. Chaque nouvelle rotation étanteffectué par rapport à un repère ayant tourné :

R = R(z, ψ)R(xψ, θ)R(zθ, φ) (11)

ψ

y

z

x

y

x

θ

zψyθzθ

φyθ

yφzφ

Badreddine BOUZOUITA Modélisation et commande des robots 42/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

Sous forme développée :

R =

cosψ − sinψ 0sinψ cosψ 0

0 0 1

1 0 00 cos θ − sin θ0 sin θ cos θ

cosφ − sinφ 0sinφ cosφ 0

0 0 1

(12)

soit finalement :

R =

cosψ cosφ− sinψ cos θ sinφ − cosψ sinφ− sinψ cos θ cosφ sinψ sin θsinψ cosφ+ cosψ cos θ sinφ − sinψ sinφ+ cosψ cos θ cosφ − cosψ sin θ

sin θ sinφ sin θ cosφ cos θ

(13)

Remarque

Il existe d’autre variante d’angles d’Euler qui fait intervenir :

z− x− z, x− y− x, y− z− y, z− y− z, x− z− x, y− x− y

Badreddine BOUZOUITA Modélisation et commande des robots 43/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

Sous forme développée :

R =

cosψ − sinψ 0sinψ cosψ 0

0 0 1

1 0 00 cos θ − sin θ0 sin θ cos θ

cosφ − sinφ 0sinφ cosφ 0

0 0 1

(12)

soit finalement :

R =

cosψ cosφ− sinψ cos θ sinφ − cosψ sinφ− sinψ cos θ cosφ sinψ sin θsinψ cosφ+ cosψ cos θ sinφ − sinψ sinφ+ cosψ cos θ cosφ − cosψ sin θ

sin θ sinφ sin θ cosφ cos θ

(13)

Remarque

Il existe d’autre variante d’angles d’Euler qui fait intervenir :

z− x− z, x− y− x, y− z− y, z− y− z, x− z− x, y− x− y

Badreddine BOUZOUITA Modélisation et commande des robots 43/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

Considérons maintenant le problème de déterminer les angles θ, ψ et φ pour une ma-trice de rotation représentée par les cosinus directeurs :

R =

r11 r12 r13

r21 r22 r23

r31 r32 r33

=

cosψ cosφ− sinψ cos θ sinφ − cosψ sinφ− sinψ cos θ cosφ sinψ sin θsinψ cosφ+ cosψ cos θ sinφ − sinψ sinφ+ cosψ cos θ cosφ − cosψ sin θ

sin θ sinφ sin θ cosφ cos θ

R33 6= ±1⇒ sin θ 6= 0 :

θ = arccos r33 (14)

(15)

(16)

Badreddine BOUZOUITA Modélisation et commande des robots 44/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

Considérons maintenant le problème de déterminer les angles θ, ψ et φ pour une ma-trice de rotation représentée par les cosinus directeurs :

R =

r11 r12 r13

r21 r22 r23

r31 r32r33

=

cosψ cosφ− sinψ cos θ sinφ − cosψ sinφ− sinψ cos θ cosφ sinψ sin θsinψ cosφ+ cosψ cos θ sinφ − sinψ sinφ+ cosψ cos θ cosφ − cosψ sin θ

sin θ sinφ sin θ cosφ cos θ

R33 6= ±1⇒ sin θ 6= 0 :

θ = arccos r33 (14)

(15)

(16)

Badreddine BOUZOUITA Modélisation et commande des robots 44/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

Considérons maintenant le problème de déterminer les angles θ, ψ et φ pour une ma-trice de rotation représentée par les cosinus directeurs :

R =

r11 r12 r13

r21 r22 r23

r31 r32 r33

=

cosψ cosφ− sinψ cos θ sinφ − cosψ sinφ− sinψ cos θ cosφ sinψ sin θsinψ cosφ+ cosψ cos θ sinφ − sinψ sinφ+ cosψ cos θ cosφ − cosψ sin θ

sin θ sinφ sin θ cosφ cos θ

R33 6= ±1⇒ sin θ 6= 0 :

θ = arccos r33 (14)

φ = arctanr31

r32(15)

(16)

Badreddine BOUZOUITA Modélisation et commande des robots 44/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

Considérons maintenant le problème de déterminer les angles θ, ψ et φ pour une ma-trice de rotation représentée par les cosinus directeurs :

R =

r11 r12r13

r21 r22r23

r31 r32 r33

=

cosψ cosφ− sinψ cos θ sinφ − cosψ sinφ− sinψ cos θ cosφ sinψ sin θ

sinψ cosφ+ cosψ cos θ sinφ − sinψ sinφ+ cosψ cos θ cosφ − cosψ sin θ

sin θ sinφ sin θ cosφ cos θ

R33 6= ±1⇒ sin θ 6= 0 :

θ = arccos r33 (14)

φ = arctanr31

r32(15)

ψ = arctanr13

−r23(16)

Badreddine BOUZOUITA Modélisation et commande des robots 44/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

R33 = ±1⇒ sin θ = 0 :

θ = π(1− r33)/2 (17)

(18)

R =

r11 r12 r13

r21 r22 r23

r31 r32 r33

=

cosψ cosφ− sinψ cos θ sinφ − cosψ sinφ− sinψ cos θ cosφ sinψ sin θsinψ cosφ+ cosψ cos θ sinφ − sinψ sinφ+ cosψ cos θ cosφ − cosψ sin θ

sin θ sinφ sin θ cosφ cos θ

Badreddine BOUZOUITA Modélisation et commande des robots 45/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

R33 = ±1⇒ sin θ = 0 :

θ = π(1− r33)/2 (17)

(18)

R =

r11 r12 r13

r21 r22 r23

r31 r32r33

=

cosψ cosφ− sinψ cos θ sinφ − cosψ sinφ− sinψ cos θ cosφ sinψ sin θsinψ cosφ+ cosψ cos θ sinφ − sinψ sinφ+ cosψ cos θ cosφ − cosψ sin θ

sin θ sinφ sin θ cosφ cos θ

Badreddine BOUZOUITA Modélisation et commande des robots 45/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles d’Euler classiques

R33 = ±1⇒ sin θ = 0 :

θ = π(1− r33)/2 (17)

ψ + r33φ = arctanr11

r21(18)

R =

r11 r12 r13

r21 r22 r23

r31 r32r33

=

cosψ cosφ− sinψ cos θ sinφ − cosψ sinφ− sinψ cos θ cosφ sinψ sin θsinψ cosφ+ cosψ cos θ sinφ − sinψ sinφ+ cosψ cos θ cosφ − cosψ sin θ

sin θ sinφ sin θ cosφ cos θ

Badreddine BOUZOUITA Modélisation et commande des robots 45/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles de Bryant

C’est une autre représentation d’angles d’Euler. La seule différence est que les anglesTait-Bryan représentent rotations autour de trois axes distincts (par exemple xyz), tandisque les angles d’Euler utilisent le même axe pour la première et la troisième rotationsélémentaires (par exemple, zxz).

R = R(x, θ)R(yθ, ψ)R(zψ, φ) (19)

θ

y

z

x

y

z

ψ

yψzψ

φyψ

yφzφ

Badreddine BOUZOUITA Modélisation et commande des robots 46/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsAngles roulis, tangage et lacet

Ces angles, très utilisés par les industriels, portent les noms de roll, pitch et yaw enanglais. Il s’agit en fait d’angles d’Euler non classiques en cela que les rotations s’effec-tuent par rapport à un axe du repère fixe : les rotations successives sont R(x, γ), R(y, β)puis R(z, α). Les angles γ, β et α sont respectivement désignés sous les noms d’anglesde roulis, tangage et lacet :

R = R(z, α)R(y, β)R(x, γ) (20)

γ

y

z

x

y

z

y

z

y

z

β

αyγ

Badreddine BOUZOUITA Modélisation et commande des robots 47/131

Modèles géométriques directs d’un robot Représentations de rotations

Représentations de rotationsPropriétés

Soient R ∈ R3×3 une matrice de rotation et r1, r2 et r3 ces vecteurs colonnes. Alors, ona :

rTi rj =

{0 si i 6= j1 si i = j

(21)

RRT = RT R = I (22)

Badreddine BOUZOUITA Modélisation et commande des robots 48/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènes

On suppose que le repère final Bf a subit, par rapport au repère initial Bi, une rotationdéfinit par la matrice de rotation R1,2 et une translation ~OiOf = X0. Le vecteur U définitles coordonnées de P dans Bf .Connaissant les coordonnées de la position du point P par rapport à l’origine Oj dans lerepère Bj, on souhaite déterminer les coordonnées de ce même point P par rapport aurepère de départ Bi. On cherche donc :

Oi

yi

zi

xi

X0

Oj

yj

zj

xj

U

X

•P

~OiP/i = ~OiOf /i +~Of P/i

= ~OiOf /i + R1,2 ~Of P/f

X = X0 + R1,2U (23)

L’équation (23) exprime la liaison entre les co-ordonnées du même point dans deux référen-tiels séparés par une translation x0 et une ro-tation de matrice R1,2.

Badreddine BOUZOUITA Modélisation et commande des robots 49/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènes

La présence conjointe de produits et de sommes dans l’équation vectorielle ~OiP/i =~OiOf /i +

~Of P/i est peu commode pour effectuer des calculs systématiques, dus parexemple à des changements successifs de repères. On lui préfère une représentationmatricielle de dimension 4, basée sur les coordonnées homogènes.La représentation en coordonnées homogènes consiste à doter toute notation vecto-rielle d’un facteur d’échelle en introduisant une coordonnée supplémentaire. Soit parexemple, un point M de l’espace, rapporté à trois axes rectangulaires, donné par larelation :

~OM =

abc

(24)

On représente alors les coordonnées homogène du point M par le vecteur :

~OM =

xyzw

(25)

avec x = aw , y = b

w , z = cw et le facteur d’échelle est unitaire (w = 1) en robotique.

Badreddine BOUZOUITA Modélisation et commande des robots 50/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènes

Soit la matrice de transformation homogène T0,1 correspondant à la matrice partitionnéesuivante :

M0,1 =

(R01(3×3) T01(3×1)

0 0 0 1

)(26)

La matrice M0,1 représente la transformation permettant de passer du repère Bf aurepère Bi.

O0

y0

z0

x0

O1

y0

z1

x1

T0,1

En effet, elle permet d’exprimer dansle repère B0 les coordonnées d’unvecteur exprimées dans le repère B1

. Autrement dit, on a : x0

y0

z0

= M0,1

x1

y1

z1

(27)

Badreddine BOUZOUITA Modélisation et commande des robots 51/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènes

La composition des transformations homogènes se fait très simplement comme expliquéà la figure ci-dessous : si X0, X1 et X2 représentent la position d’un point P dans lesréférentiels 1, 2 et 3 respectivement, on a par définition :

O0

y0

z0

x0

O1

y0

z1

x1

O2

y2z2

x2

T0,1

T 1,2

T0,2

X1 = M1,2X2

X0 = M0,1X1

X0 = M0,3X2

Combinant les deux premièresde ces équations, il suit immé-diatement que :

M0,2 = M0,1M1,2

Cette relation se généralise sans difficulté à un nombre quelconque de transformations :

M0,N = M0,1M1,2 . . .MN−1,N

Badreddine BOUZOUITA Modélisation et commande des robots 52/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènesMatrice de transformation de translation pure

Soit Trans(a, b, c) cette transformation, où a, b, et c désignent les composantes de latranslation le long des axes x, y et z respectivement. L’orientation étant conservée danscette transformation, Trans(a, b, c) a pour expression :

Oi

yi

zi

xi

Oj

yj

zj

xj cb

a

Mi,j = Trans(a, b, c) =

1 0 0 a0 1 0 b0 0 1 c0 0 0 1

Par la suite, on utilisera aussi la no-tation Trans(u, d) pour désigner une trans-lation d’une valeur d le long d’un axeu . Ainsi, la matrice Trans(a, b, c) peutêtre décomposée en un produit de troismatrices Trans(x, a)Trans(y, b)Trans(z, c), l’ordre des multiplications étant quelconque.

Badreddine BOUZOUITA Modélisation et commande des robots 53/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènesMatrices de transformation de rotation autour des axes principaux

Soit Rot(x, θ) la matrice de rotation d’un angle θ autour de l’axe x.

Oi

yi

yj

θ

θ

zizj

xi

θ

La matrice de transformation homogène du repère j versle repère i est :

Mij =

Rij(x, θ)000

0 0 0 1

=

1 0 0 00 cos θ − sin θ 00 sin θ cos θ 00 0 0 1

Xj exprimé dans Bi

Badreddine BOUZOUITA Modélisation et commande des robots 54/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènesMatrices de transformation de rotation autour des axes principaux

Soit Rot(x, θ) la matrice de rotation d’un angle θ autour de l’axe x.

Oi

yi

yj

θ

θ

zizj

xi

θ

La matrice de transformation homogène du repère j versle repère i est :

Mij =

Rij(x, θ)000

0 0 0 1

=

1 0 0 00 cos θ − sin θ 00 sin θ cos θ 00 0 0 1

Xj exprimé dans Bi

Yj exprimé dans Bi

Badreddine BOUZOUITA Modélisation et commande des robots 54/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènesMatrices de transformation de rotation autour des axes principaux

Soit Rot(x, θ) la matrice de rotation d’un angle θ autour de l’axe x.

Oi

yi

yj

θ

θ

zizj

xi

θ

La matrice de transformation homogène du repère j versle repère i est :

Mij =

Rij(x, θ)000

0 0 0 1

=

1 0 0 00 cos θ − sin θ 00 sin θ cos θ 00 0 0 1

Xj exprimé dans Bi

Yj exprimé dans Bi

Zj exprimé dans Bi

Badreddine BOUZOUITA Modélisation et commande des robots 54/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènesReprésentation d’un vecteur

La représentation d’un vecteur se fait aussi par quatre composantes, mais la quatrièmeest nulle. Si l’on note ux, uy et uz les coordonnées cartésiennes d’un vecteur unitaire U,en coordonnées homogènes on écrit :

U =

ux

uy

uz

0

(28)

Badreddine BOUZOUITA Modélisation et commande des robots 55/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènesReprésentation d’un plan

Le plan αx + βy + γz + δ = 0 est représenté par un vecteur ligne Q :

Q = [α β γ δ] (29)

Pour tout point P appartenant au plan Q, le produit QP est nul :

QP =[α β γ δ

] px

py

pz

1

= 0 (30)

Badreddine BOUZOUITA Modélisation et commande des robots 56/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènesExemple en 2D d’un bras de type robot d’assemblage

1 Trouver les coordonnées du point C dans le repère R0.

y0

x0

y1

x1

y2 x2

a

b

θ01

θ12

C

2 Recalculer les coordonnées de point C dans le repère R0 en utilisant le repère R2

et sans utiliser les repères R1. Conclure.

Badreddine BOUZOUITA Modélisation et commande des robots 57/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènesTransformation consécutives

Par rapport à un référentiel PRECEDENT

Soient :

M1 par rapport à FR transforme FR en F1 ;

M2 par rapport à F1 modifie la transformation obtenue par M1 pour donner Mresultat.Cette dernière est obtenue par postmultiplication des matrices de transformationM1 et M2.

Mresultat = M1M2

Par rapport à un référentiel UNIQUE

Soient :

M1 par rapport à FR transforme FR en F1 ;

M2 par rapport à FR modifie la transformation obtenue par M1 pour donnerMresultat. Cette dernière est obtenue par prétmultiplication des matrices detransformation M1 et M2.

Mresultat = M2M1

Badreddine BOUZOUITA Modélisation et commande des robots 58/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènesInversion

Montrer que l’inverse de la matrice de transformation homogène M est donnée par cetterelation :

M−1 =

(RT −RT d0 1

)(31)

Badreddine BOUZOUITA Modélisation et commande des robots 59/131

Modèles géométriques directs d’un robot Coordonnées et matrices de transformation homogènes

Coordonnées et matrices de transformation homogènesExemple d’un robot manipulateur R⊥R ‖ R

Trouver les coordonnées du point C dans le repère R0.

Badreddine BOUZOUITA Modélisation et commande des robots 60/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit Hartenberg

Denavit et Hartenberg (D-H) est une convention habituellement utilisée pour choisir lesystème de référence en robotique. Elle fut introduite en 1955 par Jacques Denavitet Richard S. Hartenberg. Selon cette convention, chaque transformation (passage dutrièdre n au trièdre n + 1) est représentée comme le produit de quatre transformationsbasiques. Pour définir ces transformations, il est tout d’abord nécessaire de définir lesaxes des liaisons :

Les axes Zn sont suivant les axes des liaisons. La convention deDenavit-Hartenberg (non modifié) est tel que l’axe du repère est confondu avecl’axe n− 1 (et non n) du robot.

L’axe Xn est perpendiculaire et coupe les axes Zn− 1 et Zn.

Laxe Yn est choisi de manière à former un trièdre direct avec les axes Zn et Xn.

Badreddine BOUZOUITA Modélisation et commande des robots 61/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit Hartenberg

Chaque transformation entre deux corps successifs est donc décrite par quatre para-mètres :

di : la distance selon l’axe Zi−1 entre les axes Xi−1 et Xi (le signe est déterminé parrapport à l’origine de repère i− 1). Pour une glissière, di est une variable et pourune charnière di est une constante.

θi : l’angle que l’on obtient par vissage de Xi−1 vers Xi autour de l’axe Zi−1. Pourune glissière, θi est une constante et pour une charnière, θi est une variable.

yi−1

zi−1

xi−1

diai

θ

α

y′

z′

x′

yizi

xi

Badreddine BOUZOUITA Modélisation et commande des robots 62/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit Hartenberg

ai : la distance entre les axes Zi et Zi−1 mesurée sur l’axe Xi ( ai toujours positiveou nulle).

αi : l’angle entre Zi et Zi−1 obtenu en vissant Zi−1 vers Zi autour de Xi. Le signe deαi dépend de sens de rotation autour de Xi.

yi−1

zi−1

xi−1

diai

θ

α

y′

z′

x′

yizi

xi

Badreddine BOUZOUITA Modélisation et commande des robots 63/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit Hartenberg

Comme ces transformations sont faites par rapport au repère courant, on a :

DHi−1,i = Rot(zi−1, θi)Trans(zi−1, di)Trans(xi, ai)Rot(xi, αi) (32)

Badreddine BOUZOUITA Modélisation et commande des robots 64/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit Hartenberg

DHi−1,i = Rot(zi−1, θi)Trans(zi−1, di)Trans(xi, ai)Rot(xi, αi)

=

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

1 0 0 00 1 0 00 0 1 di

0 0 0 1

1 0 0 ai

0 1 0 00 0 1 00 0 0 1

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

(33)

=

Cθi −SθiCαi SθiSαi aiCθi

Sθi CθiCαi −CθiSαi aiSθi

0 Sαi Cαi di

0 0 0 1

(34)

Badreddine BOUZOUITA Modélisation et commande des robots 65/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit Hartenberg

Les paramètres de DH peuvent être groupés dans un tableau comme suit :

j θj dj aj αj

1 θ1 d1 a1 α1

......

......

...n θn dn an αn

Où :

j : indice du segment du manipulateur.

θj, dj, aj et αj sont les paramètres de DH.

Badreddine BOUZOUITA Modélisation et commande des robots 66/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit HartenbergCas où zi−1 et zi ne sont pas coplanaires

Si zi−1 et zi ne sont pas coplanaires, il existe donc une seule ligne qui coupe perpendicu-lairement zi−1 et zi et de longueur minimale. L’axe xi est défini sur cette ligne et l’origineOi représente l’intersection de cette ligne avec l’axe zi.

yi−1

zi−1

xi−1

diai

θ

α

y′

z′

x′

yizi

xi

Badreddine BOUZOUITA Modélisation et commande des robots 67/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit HartenbergCas où zi−1 est parallèle à zi

Dans ce cas, il y a infinité de normales communes entre zi−1 et zi. Par suite, noussommes libres de choisir l’origine Oi n’importe où le long de zi. On choisit souvent Oi

d’une manière à simplifier les équations résultantes. L’axe xi est alors choisi être dirigéde Oi−1 vers zi le long le commun normal.

Remarque

Dans ce cas le paramètre αi est égal à 0.

Badreddine BOUZOUITA Modélisation et commande des robots 68/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit HartenbergCas où zi−1 croise zi

Si zi−1 croise zi, xi est choisi normal au plan formé par zi−1 et zi. La direction positivede xi est arbitraire. Le choix le plus naturel pour l’origine Oi est dans ce cas le pointd’intersection de zi−1 et zi1.

Remarque

Dans ce cas le paramètre ai est égal à 0.

Badreddine BOUZOUITA Modélisation et commande des robots 69/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit HartenbergExemple : Robot cylindrique RPP

1 Retrouver les paramètres de DH pour ce manipulateur.2 Calculer la matrice de transformation homogène correspondante.

Badreddine BOUZOUITA Modélisation et commande des robots 70/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit HartenbergExemple : Robot cylindrique RPP

j ai αi di θi

1 0 0 d1 θ∗1

2 0 -90 d∗2 0

3 0 0 d∗3 0∗ variable

Badreddine BOUZOUITA Modélisation et commande des robots 71/131

Modèles géométriques directs d’un robot Convention de Denavit Hartenberg

Convention de Denavit HartenbergExemple : manipulateur plan R ‖ R ‖ R

1 Retrouver les paramètres de DH pour ce manipulateur.2 Calculer la matrice de transformation homogène correspondante.

y0

x0

a

b

cθ23

θ01

θ12

C

Badreddine BOUZOUITA Modélisation et commande des robots 72/131

Modèle géométrique inverse d’un robot

Sommaire

1 Introduction générale

2 Modèles géométriques directs d’un robot

3 Modèle géométrique inverse d’un robotIntroductionExemple 1 : Manipulateur RPExemple 2 : Manipulateur RRMéthode de PaulMéthode de Newton

4 Planification et génération de trajectoire

Badreddine BOUZOUITA Modélisation et commande des robots 73/131

Modèle géométrique inverse d’un robot Introduction

Introduction

Le problème de la cinématique inverse peut être formulé comme suit : on souhaite ame-ner l’outil dans une position déterminée, avec une orientation imposée, ceci est définipar la matrice de transformation homogène M0,T . On connaît d’autre part la position del’outil dans le référentiel d’extrémité, MW,T (W pour wrist (poignet) et T pour tool (outil).Il s’agit de calculer les coordonnées articulaires permettant de réaliser :

M0,w = M0,T M−1w,T

Badreddine BOUZOUITA Modélisation et commande des robots 74/131

Modèle géométrique inverse d’un robot Introduction

Introduction

Le problème inverse MGI consiste à calculer les coordonnées articulaires qui amènentl’organe terminal dans une situation désirée, spécifiée par ses coordonnées opération-nelles.Lorsqu’elle existe, la forme explicite qui donne toutes les solutions possibles au pro-blème inverse (il y a rarement unicité de la solution) constitue ce que l’on appelle lemodèle géométrique inverse MGI.Il n’existe pas une méthode analytique générale pour trouver le MGI, mais un certainnombre de méthodes, plus ou moins adaptées à des classes de cinématiques particu-lières, notamment la méthode de Paul qui traite séparément chaque cas particulier etqui convient pour la plupart des robots industrielsLorsque le modèle géométrique inverse n’existe pas, c’est-à-dire qu’il n’existe pas uneforme explicite, on peut calculer une solution particulière du problème inverse par desprocédures numériques, qui est une solution locale au sens où elle dépend des condi-tions initiales. Notons que de telles méthodes sont pénalisantes du point de vue dutemps de calcul.

Badreddine BOUZOUITA Modélisation et commande des robots 75/131

Modèle géométrique inverse d’un robot Introduction

Introduction

Quand une solution existe, elle n’est en général pas unique. La même configuration del’organe d’extrémité peut être obtenue pour différentes valeurs des variables d’articula-tions. Parmi les différentes solutions possibles, il est alors raisonnable d’adopter cellequi est la plus proche de la configuration précédente.

Badreddine BOUZOUITA Modélisation et commande des robots 76/131

Modèle géométrique inverse d’un robot Exemple 1 : Manipulateur RP

Exemple 1 : Manipulateur RP

Soit le manipulateur évoluant dans un plan et décrit dans la figure suivante :

On a le modèle géométrique direct suivant :{x = q2 cos(q1)y = q2 sin(q1)

(35)

Badreddine BOUZOUITA Modélisation et commande des robots 77/131

Modèle géométrique inverse d’un robot Exemple 1 : Manipulateur RP

Exemple 1 : Manipulateur RP

Une démarche analytique simple permet de déterminer le modèle géométrique inverse.On a : {

x = q2 cos(q1)y = q2 sin(q1)

(36)

Donc :

tan(q1) =yx⇒ q1 = arctan

( yx

)(37)

x2 + y2 = q22 ⇒ q2 =

√x2 + y2 (38)

Badreddine BOUZOUITA Modélisation et commande des robots 78/131

Modèle géométrique inverse d’un robot Exemple 2 : Manipulateur RR

Exemple 2 : Manipulateur RR

Soit le manipulateur RR plan décrit dans la figure suivante :

On a le modèle géométrique direct suivant :

x = l1 cos(q1) + l2 cos(q1 + q2)y = l1 sin(q1) + l2 sin(q1 + q2)

(39)

Badreddine BOUZOUITA Modélisation et commande des robots 79/131

Modèle géométrique inverse d’un robot Exemple 2 : Manipulateur RR

Modèle géométrique inverse d’un robotExemple 2 : Manipulateur RR

On a :

x2 + y2 = l21 + l2

2 + 2l1l2 cos(q2) (40)

Soit :

cos(q2) =x2 + y2 − (l2

1 + l22)

2l1l2(41)

Badreddine BOUZOUITA Modélisation et commande des robots 80/131

Modèle géométrique inverse d’un robot Exemple 2 : Manipulateur RR

Exemple 2 : Manipulateur RR

Sachant que cos(q) = a avec a ∈ [−1, 1], il en résulte que :

q2 = ± arccos(

x2 + y2 − (l21 + l2

2)

2l1l2

)(42)

sous réserve :

−1 ≤ x2 + y2 − (l21 + l2

2)

2l1l2≤ 1 (43)

Cette condition indique que la position du point P doit être atteignable.

Badreddine BOUZOUITA Modélisation et commande des robots 81/131

Modèle géométrique inverse d’un robot Exemple 2 : Manipulateur RR

Exemple 2 : Manipulateur RR

Lorsque q2 est positif (resp., négatif), le robot a une posture coude bas (resp., coudehaut)

Badreddine BOUZOUITA Modélisation et commande des robots 82/131

Modèle géométrique inverse d’un robot Exemple 2 : Manipulateur RR

Exemple 2 : Manipulateur RR

Il reste maintenant à déterminer q1.En développant les expressions cos(q1 + q2) et sin(q1 + q2) dans le système correspon-dant au MGD, on obtient :{

(l1 + l2 cos(q2)) cos(q1)− l2 sin(q1) sin(q2) = xl2 sin(q2) cos(q1) + (l1 + l2 cos(q2)) sin(q1) = y

(44)

ou encore sous forme matricielle :(l1 + l2 cos(q2) −l2 sin(q2)

l2 sin(q2) l1 + l2 cos(q2)

)(cos(q1)sin(q1)

)=

(xy

)(45)

Donc : (cos(q1)sin(q1)

)=

1x2 + y2

(l1 + l2 cos(q2) l2 sin(q2)−l2 sin(q2) l1 + l2 cos(q2)

)(xy

)(46)

On obtient alors :

cos(q1) =1

x2 + y2 (x(l1 + l2 cos(q2)) + y(l2 sin(q2))) (47)

sin(q1) =1

x2 + y2 (y(l1 + l2 cos(q2))− x(l2 sin(q2))) (48)

Badreddine BOUZOUITA Modélisation et commande des robots 83/131

Modèle géométrique inverse d’un robot Exemple 2 : Manipulateur RR

Exemple 2 : Manipulateur RR

Ainsi, on aboutit au modèle géométrique inverse suivant :

q2 = ± arccos

(x2 + y2 −

(l21 + l2

2)

2l1l2

)q1 = arctan

(y (l1 + l2 cos (q2))− xl2 sin (q2)

x (l1 + l2 cos (q2)) + yl2 sin (q2)

) (49)

On remarque qu’il y a 2 solutions, correspondantà 2 postures différentes du bras : L’une est ditecoude haut, l’autre coude bas.

Badreddine BOUZOUITA Modélisation et commande des robots 84/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulPrésentation de la méthode

On suppose que chaque matrice de transformation homogène représente une trans-formation individuelle soit de rotation soit de translation. Donc, la matrice de passagehomogène a pour expression :

T0,n = T0,1(q1)× T1,2(q2)× · · · × Tn−1,n(qn) (50)

on note :

U0 = T0,1(q1)× T1,2(q2)× · · · × Tn−1,n(qn) =

sx nx ax Px

sy ny ay Py

sz nz az Pz

0 0 0 1

(51)

Cette matrice U0 est la donnée du problème. Elle représente la situation de l’organeterminal dans le repère de base du robot R0.Le problème est de trouver les variables articulaires à partir de l’équation :

U0 = T0,1(q1)× T1,2(q2)× · · · × Tn−1,n(qn) (52)

en fonction des éléments articulaires~s, ~n, ~a et ~P est très difficile.

Badreddine BOUZOUITA Modélisation et commande des robots 85/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulPrésentation de la méthode

Paul (en 81) a proposé une méthode qui consiste à prémultiplier successivement les 2membres de l’équation par les matrices de transformation homogène inverse.

Tj,j−1 pour j variant de 1 à n− 1 (53)

Il s’agit de déplacer l’une après l’autre chacune des variables articulaires (q1, · · · , qn)dans le membre de gauche de l’équation.Cela permet d’isoler et d’identifier l’une aprèsl’autre les variables articulaires que l’on recherche.Pour un robot à 6 ddl, on procède comme suit :

Multiplication à gauche par T1,0

T1,0(q1)U0 = T1,2(q2)T2,3(q3)T3,4(q4)T4,5(q5)T5,6(q6) (54)

1ère partie de l’équation = fonction de q1 uniquement2ème partie de l’équation = fonction de q2, q3, q4, q5, q6

q1 est obtenu par identification d’un ou de deux éléments parmi les plus simplesqui constitue l’expression de droite avec les termes équivalents dans celle degauche (identification avec 0 ou constante).en partant de l’expression T1,0(q1)U0 = T1,2(q2)T2,3(q3)T3,4(q4)T4,5(q5)T5,6(q6), onprémultiplie par T2,1 et on réitère le même processus.

Dans certains cas il est possible de résoudre le robot en partant de qn. Il suffit alors demultiplier à droite les 2 membres de l’expression par Tj,j−1 pour j variant de n à 2

Badreddine BOUZOUITA Modélisation et commande des robots 86/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

l1

l2

θ2

y0

z0

x0

x1

y1

z1

x2

y2

z2

θ1

Soit le manipulateur R ` R suivant :

j θj dj aj αj

1 θ1 l1 0 90◦

2 θ2 0 l2 0

T0,1 =

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

0 0 0 1

(55)

T1,2 =

Cθ2 −Sθ2 0 l2Cθ2

Sθ2 Cθ2 0 l2sθ2

0 0 1 00 0 0 1

(56)

Badreddine BOUZOUITA Modélisation et commande des robots 87/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

l1

l2

θ2

y0

z0

x0

x1

y1

z1

x2

y2

z2

θ1

Soit le manipulateur R ` R suivant :

j θj dj aj αj

1 θ1 l1 0 90◦

2 θ2 0 l2 0

T0,1 =

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

0 0 0 1

(55)

T1,2 =

Cθ2 −Sθ2 0 l2Cθ2

Sθ2 Cθ2 0 l2sθ2

0 0 1 00 0 0 1

(56)

Badreddine BOUZOUITA Modélisation et commande des robots 87/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

l1

l2

θ2

y0

z0

x0

x1

y1

z1

x2

y2

z2

θ1

Soit le manipulateur R ` R suivant :j θj dj aj αj

1 θ1 l1 0 90◦

2 θ2 0 l2 0

T0,1 =

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

0 0 0 1

(55)

T1,2 =

Cθ2 −Sθ2 0 l2Cθ2

Sθ2 Cθ2 0 l2sθ2

0 0 1 00 0 0 1

(56)

Badreddine BOUZOUITA Modélisation et commande des robots 87/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

l1

l2

θ2

y0

z0

x0

x1

y1

z1

x2

y2

z2

θ1

Soit le manipulateur R ` R suivant :j θj dj aj αj

1 θ1 l1 0 90◦

2 θ2 0 l2 0

T0,1 =

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

0 0 0 1

(55)

T1,2 =

Cθ2 −Sθ2 0 l2Cθ2

Sθ2 Cθ2 0 l2sθ2

0 0 1 00 0 0 1

(56)

Badreddine BOUZOUITA Modélisation et commande des robots 87/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

l1

l2

θ2

y0

z0

x0

x1

y1

z1

x2

y2

z2

θ1

Soit le manipulateur R ` R suivant :La transformé inverse est donnée par :

T1,0 =

Cθ1 Sθ1 0 0

0 0 1 −l1

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

(57)

T2,1 =

Cθ2 Sθ2 0 −l2

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

(58)

Badreddine BOUZOUITA Modélisation et commande des robots 88/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

l1

l2

θ2

y0

z0

x0

x1

y1

z1

x2

y2

z2

θ1

Soit le manipulateur R ` R suivant :La transformé inverse est donnée par :

T1,0 =

Cθ1 Sθ1 0 0

0 0 1 −l1

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

(57)

T2,1 =

Cθ2 Sθ2 0 −l2

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

(58)

Badreddine BOUZOUITA Modélisation et commande des robots 88/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

on a :

U0 = T0,1(q1)× T1,2(q2) =

sx nx ax Px

sy ny ay Py

sz nz az Pz

0 0 0 1

(59)

1re étape :

T1,0(q1)U0 = T1,2(q2) = T1,0

sx nx ax Px

sy ny ay Py

sz nz az Pz

0 0 0 1

(60)

Badreddine BOUZOUITA Modélisation et commande des robots 89/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

donc : Cθ1sx + Sθ1sy Cθ1nx + Sθ1ny Cθ1ax + Sθ1ay Cθ1Px + Sθ1Py

sz nz az Pz − l1

Sθ1sx − Cθ1sy Sθ1nx − Cθ1ny Sθ1ax − Cθ1ay Sθ1Px − Cθ1Py

0 0 0 1

=

Cθ2 −Sθ2 0 l2Cθ2

Sθ2 Cθ2 0 l2Sθ2

0 0 1 00 0 0 1

arctan (θ2) =Pz − l1

PxCθ1 + PySθ1

arctan (θ1) =Py

Px

Pz = l1 +√

l22 −

(P2

x + P2y)

Badreddine BOUZOUITA Modélisation et commande des robots 90/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

donc : Cθ1sx + Sθ1sy Cθ1nx + Sθ1ny Cθ1ax + Sθ1ay

Cθ1Px + Sθ1Py

sz nz azPz − l1

Sθ1sx − Cθ1sy Sθ1nx − Cθ1ny Sθ1ax − Cθ1ay Sθ1Px − Cθ1Py

0 0 0 1

=

Cθ2 −Sθ2 0 l2Cθ2

Sθ2 Cθ2 0 l2Sθ2

0 0 1 00 0 0 1

arctan (θ2) =

Pz − l1

PxCθ1 + PySθ1

arctan (θ1) =Py

Px

Pz = l1 +√

l22 −

(P2

x + P2y)

Badreddine BOUZOUITA Modélisation et commande des robots 90/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

donc : Cθ1sx + Sθ1sy Cθ1nx + Sθ1ny Cθ1ax + Sθ1ay

Cθ1Px + Sθ1Py

sz nz azPz − l1

Sθ1sx − Cθ1sy Sθ1nx − Cθ1ny Sθ1ax − Cθ1aySθ1Px − Cθ1Py

0 0 0 1

=

Cθ2 −Sθ2 0 l2Cθ2

Sθ2 Cθ2 0 l2Sθ2

0 0 1 0

0 0 0 1

arctan (θ2) =

Pz − l1

PxCθ1 + PySθ1

arctan (θ1) =Py

Px

Pz = l1 +√

l22 −

(P2

x + P2y)

Badreddine BOUZOUITA Modélisation et commande des robots 90/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulExemple : manipulateur R ` R

donc : Cθ1sx + Sθ1sy Cθ1nx + Sθ1ny Cθ1ax + Sθ1ay

Cθ1Px + Sθ1Py

sz nz azPz − l1

Sθ1sx − Cθ1sy Sθ1nx − Cθ1ny Sθ1ax − Cθ1aySθ1Px − Cθ1Py

0 0 0 1

=

Cθ2 −Sθ2 0 l2Cθ2

Sθ2 Cθ2 0 l2Sθ2

0 0 1 0

0 0 0 1

arctan (θ2) =

Pz − l1

PxCθ1 + PySθ1

arctan (θ1) =Py

Px

Pz = l1 +√

l22 −

(P2

x + P2y)

Badreddine BOUZOUITA Modélisation et commande des robots 90/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulNombre de solutions au problème inverse

On peut constater pratiquement trois cas :absence de solutions : Par exemple, lorsque la situation désirée est en dehorsde la zone accessible du robot. La zone accessible est limitée par le nombre deddl, les débattements articulaires, et la dimension des segments.infinité de solutions : Ce cas se présente lorsque :

le robot est redondant vis-à-vis de la tâche à réaliser.le robot se trouve en configuration singulière. Il y a alors une redondance locale qui setraduit par le fait que le robot ne peut déplacer son organe terminal dans certainesdirections ou tourner autour de certains axes. De ce fait, il perd un ou plusieurs ddl.Tout cela est dû aux valeurs numériques particulières prises par les paramètres pourdécrire la situation désirée.

Badreddine BOUZOUITA Modélisation et commande des robots 91/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulNombre de solutions au problème inverse

solution en ensemble fini : C’est le cas lorsque toutes les solutions peuvent êtrecalculées sans ambiguïté.

Badreddine BOUZOUITA Modélisation et commande des robots 92/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulSolutions aux types d’équations rencontrés

Lorsque nous utilisons la méthode de Paul, nous sommes confrontés de manière itéra-tive à la résolution de système d’équations de différents types. L’utilisation d’un grandnombre de robots industriels a permis de constater que les principaux types rencontréssont peu nombreux. Les 10 types d’équations sont détaillés ci-dessous.

Equations de type 1 : X.rj = Y

Dans ce cas, la réponse est immédiate⇒ rj =YX

avec X 6= 0.

Equations de type 2 : X.Sθi + Y.Cθi = ZX et Y étant connus, deux cas peuvent être envisagés.

Z = 0 : deux solutions sont possibles :

θi = arctan(−Y,X)

θi = θi + 180◦(61)

Z 6= 0 : On résout le système en sinus et en cosinus, puis on prend l’arctangente : Onpeut réécrire le système type 2 de deux manières différentes.

X.Sθi = Z − Y.Cθi

Y.Cθi = Z − X.Sθi(62)

Badreddine BOUZOUITA Modélisation et commande des robots 93/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulSolutions aux types d’équations rencontrés

en sinus :

Y2.C2θi = Z2 + X2.S2θi − 2ZX.Sθi

Y2.(

1− S2θi

)= Z2 + X2.S2θi − 2ZX.Sθi(

X2 + Y2).S2θi − 2ZX.Sθi + Z2 + Y2 = 0 (63)

d’où :

Sθi =Z.X + ε.Y

√X2 + Y2 − Z2

X2 + Y2 avec ε = ±1 (64)

en cosinus :

X2.S2θi = Z2 + Y2.C2θi − 2ZY.Cθi

X2.(

1− C2θi

)= Z2 + Y2.C2θi − 2ZY.Cθi(

X2 + Y2).C2θi − 2ZY.Cθi + Z2 − X2 = 0 (65)

d’où :

Cθi =Z.Y + ε.X

√X2 + Y2 − Z2

X2 + Y2 avec ε = ±1 (66)

Badreddine BOUZOUITA Modélisation et commande des robots 94/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulSolutions aux types d’équations rencontrés

Le signe − devant ε vient du fait que nous devrons vérifier à chaque instant que

C2θi + S2θi = 1

La réponse est la suivante :

Cθi =Z.Y + ε.X

√X2 + Y2 − Z2

X2 + Y2

Sθi =Z.X − ε.Y

√X2 + Y2 − Z2

X2 + Y2

(67)

si X2 + Y2 − Z2 ≥ 0 alors :

θi = arctanSθi

Cθi(68)

Badreddine BOUZOUITA Modélisation et commande des robots 95/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulSolutions aux types d’équations rencontrés

Equations de type 3 (forme 1) :

X1.Sθi = Y1

X2.Sθi = Y2(69)

X1 et X2 étant non nuls, la réponse est la suivante :

θi = arctan(

Y1X2

Y2X1

)(70)

Equations de type 3 (forme 2) :

X1.Sθi + Y1.Cθi = Z1

X2.Sθi + Y2.Cθi = Z2(71)

On se ramène au cas précédent en posant :

Sθi =Y2.Z1 − Y1.Z2

X1.Y2 − X2.Y1

Cθi =X1.Z2 − X2.Z1

X1.Y2 − X2.Y1

(72)

d’où :

θi = arctan(

Sθi

Cθi

)(73)

Badreddine BOUZOUITA Modélisation et commande des robots 96/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulSolutions aux types d’équations rencontrés

Equations de type 4 :X1.rj.Sθi = Y1

X2.rj.Sθi = Y2(74)

X1 et X2 étant non nuls, on réécrit le système :rj.Sθi =

Y1

X1

rj.Cθi =Y2

X2

r2

j .Sθ2i =

Y21

X21

r2j .Cθ

2i =

Y22

X22

(75)

d’où :

rj = ±

√Y2

1

X21+

Y22

X22

θi = arctan(

Y1X2

Y2X1

) (76)

Badreddine BOUZOUITA Modélisation et commande des robots 97/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulSolutions aux types d’équations rencontrés

Equations de type 5 :X1.Sθi = Y1 + Z1.rj

X2.Cθi = Y2 + Z1.rj(77)

X1 et X2 étant non nuls, on réécrit le système :Sθi =

Y1

X1+

Z1

X1.rj

Cθi =Y2

X2+

Z2

X2.rj

soit{

Sθi = V1 + W1.rj

Cθi = V2 + W2.rj(78)

la réponse est la suivante :

rj =− (V1.W1 + V2.W2)±

√W2

1 + W22 − (V1.W2 − V2.W2

1 )

W21 + w2

2

θi = arctan(

V1 + W1.rj

V2 + W2.rj

) (79)

Badreddine BOUZOUITA Modélisation et commande des robots 98/131

Modèle géométrique inverse d’un robot Méthode de Paul

Méthode de PaulSolutions aux types d’équations rencontrés

Equations de type 6 :

W.Sθj = X.Cθi + Y.Sθi + Z1 (80a)

W.Cθj = X.Sθi − Y.Cθi + Z2 (80b)

Eliminons θj en faisant la somme au carrée de (80a) et (80b). Ce qui nous donneune équation en θi de la forme :

B1.Sθi + B2.Cθi = B3 (81)

Dans ce cas, θi peut être résolu par un système de type 2.Puis θj peut être résolut par un système de type 3 (forme 1).

Badreddine BOUZOUITA Modélisation et commande des robots 99/131

Modèle géométrique inverse d’un robot Méthode de Newton

Méthode numériqueMéthode de Newton

La méthode du Newton est une méthode numérique itérative permettant de résoudre lesystème d’équations suivant :

f1 (θ1, θ2, θ3, θ4, θ5, θ6,) = 0f2 (θ1, θ2, θ3, θ4, θ5, θ6,) = 0f3 (θ1, θ2, θ3, θ4, θ5, θ6,) = 0f4 (θ1, θ2, θ3, θ4, θ5, θ6,) = 0f5 (θ1, θ2, θ3, θ4, θ5, θ6,) = 0f6 (θ1, θ2, θ3, θ4, θ5, θ6,) = 0

(82)

Sous forme matricielle :f (θ) = 0 (83)

Badreddine BOUZOUITA Modélisation et commande des robots 100/131

Modèle géométrique inverse d’un robot Méthode de Newton

Méthode numériqueMéthode de Newton

Les racines de l’équation f (θ) sont obtenues d’une manière itérative par cette relation :

θ(i+1) = θ(i) − J−1(θ(i))

f(θ(i))

(84)

Où J(θ) est la matrice Jacobienne suivante :

J (θ) =[∂fi(θ)

∂θj

]=

∂f1(θ)

∂θ1

∂f1(θ)

∂θ2· · · ∂f1(θ)

∂θn∂f2(θ)

∂θ1

∂f2(θ)

∂θ2· · · ∂f2(θ)

∂θn...

. . ....

∂fn(θ)

∂θ1

∂fn(θ)

∂θ2

∂fn(θ)

∂θn

(85)

Badreddine BOUZOUITA Modélisation et commande des robots 101/131

Modèle géométrique inverse d’un robot Méthode de Newton

Méthode numériqueExemple

Considérons le manipulateur RRR plan donné par la figure suivante :

On désire mettre l’extrémité du manipulateur à la position x = 0.5 et y = 0.3 avec uneorientation φ = 2π/3(φ = θ1 + θ2 + θ3) . On suppose que l1 = 2 et l2 = l3 = 1.

Badreddine BOUZOUITA Modélisation et commande des robots 102/131

Modèle géométrique inverse d’un robot Méthode de Newton

Méthode numériqueExemple

On a donc :

f1 = 2 cos(θ1) + cos(θ1 + θ2) + cos(θ1 + θ2 + θ3)− 0.5f2 = 2 sin(θ1) + sin(θ1 + θ2) + sin(θ1 + θ2 + θ3)− 0.3

f3 = θ1 + θ2 + θ3 −2π3

(86)

Ce qui donne la matrice Jacobienne suivante :

J (θ1, θ2, θ3) = −2 sin θ1 − sin(θ1 + θ2)− sin(θ1 + θ2 + θ3) − sin(θ1 + θ2)− sin(θ1 + θ2 + θ3)2 cos θ1 + cos(θ1 + θ2) + cos(θ1 + θ2 + θ3) cos(θ1 + θ2) + cos(θ1 + θ2 + θ3)

1 1(87)

− sin(θ1 + θ2 + θ3)cos(θ1 + θ2 + θ3)

1

Badreddine BOUZOUITA Modélisation et commande des robots 103/131

Modèle géométrique inverse d’un robot Méthode de Newton

Méthode numériqueExemple

En choisissant comme point de départ la position initiale (θ1 = θ2 = π/6 et θ3 = π/3) :

J(θ(0))=

−3.5981 −1.8660 −0.86600.5000 −0.5000 −0.5000

1 1 1

(88)

et

F(θ(0))=

0.00000.59810.0000

(89)

ce qui nous donne comme première itération :

θ(1) = θ(0) − J−1(θ(0))

f(θ(0))=

0.44912.1576−0.5123

(90)

et

F(θ(1))=

−0.059−0.7560.0000

(91)

Badreddine BOUZOUITA Modélisation et commande des robots 104/131

Modèle géométrique inverse d’un robot Méthode de Newton

Méthode numériqueExemple

Itération 2 :

θ(2) =

0.60971.6083−0.1236

et F(θ(2))=

0.0367−0.19100.0000

Itération 3 :

θ(3) =

0.67891.42060.0049

et F(θ(3))=

0.0608−0.00960.0000

Itération 4 :

θ(4) =

0.69841.4329−0.0369

et F(θ(4))=

0.0001−0.00100.0000

Badreddine BOUZOUITA Modélisation et commande des robots 105/131

Modèle géométrique inverse d’un robot Méthode de Newton

Méthode numériqueCas où la matrice Jacobienne n’est pas inversible

Si la matrice Jacobienne J est de dimension m × n avec m 6= n. Alors, les racinesde l’équation f (θ) peuvent être obtenues d’une manière itérative en utilisant le pseudoinverse de la matrice Jacobinne :

θ(i+1) = θ(i) − J+(θ(i))

f(θ(i))

(92)

avec J+ est le pseudo inverse de J donné par :

si rang(J) = m 6 n, alors(JT J)−1

existe.(JT J)−1 (

JT J)= I

⇒[(

JT J)−1

JT]J = J+J = I

si rang(J) = n 6 m, alors(JJT)−1

existe.(JJT) (JJT)−1

= I

⇒ J[JT (JJT)−1

]= JJ+ = I

Badreddine BOUZOUITA Modélisation et commande des robots 106/131

Planification et génération de trajectoire

Sommaire

1 Introduction générale

2 Modèles géométriques directs d’un robot

3 Modèle géométrique inverse d’un robot

4 Planification et génération de trajectoireIntroductionTypes de trajectoiresGénération de mouvement dans l’espace articulaireGénération de mouvement dans l’espace opérationnel

Badreddine BOUZOUITA Modélisation et commande des robots 107/131

Planification et génération de trajectoire Introduction

Introduction

En robotique, une des tâches de base que doit accomplir un robot consiste à se déplacerd’un point A à un point B, avec le respect éventuel d’un certain nombre de contraintes(vitesse, accélération max, évitement d’obstacle).La commande en position du robot consiste donc à calculer les différentes consignes,en fonction du temps, afin de générer le mouvement désiré. C’est pour cela que la com-mande en position d’un robot est aussi appelée génération de mouvement. De manièreclassique, deux types de commande en position sont envisagés :

une commande en position dans l’espace articulaire q.

une commande en position dans l’espace opérationnel X.

Le choix du type de commande peut être effectué en fonction de l’espace dans lequelest décrite la trajectoire à suivre.

Badreddine BOUZOUITA Modélisation et commande des robots 108/131

Planification et génération de trajectoire Introduction

IntroductionCommande en position dans l’espace articulaire q

La génération d’un mouvement directement dans l’espace articulaire présente des avan-tages :

le mouvement est minimal sur chaque articulation,

elle nécessite moins de calculs (pas de passage MGD MGI),

le mouvement n’est pas affecté par le passage sur les configurations singulières,

les contraintes de couples maximums et de vitesse maximum sont connues, caron les fixe aux limites physiques des actionneurs.

Badreddine BOUZOUITA Modélisation et commande des robots 109/131

Planification et génération de trajectoire Introduction

IntroductionCommande en position dans l’espace opérationnel X

Lorsque la géométrie de la trajectoire doit être contrôlée, la génération de trajectoiredans l’espace opérationnel sera préférée. Par contre, elle comporte un certain nombred’inconvénients :

elle demande d’appliquer le MGI en chaque point de la trajectoire,

elle peut être mise en défaut lorsque la trajectoire calculée passe par une positionsingulière,

elle peut être mise en défaut lorsque la trajectoire calculée fait passer unearticulation hors de ces limites de variation [qmin; qmax],

Badreddine BOUZOUITA Modélisation et commande des robots 110/131

Planification et génération de trajectoire Types de trajectoires

Types de trajectoires

Les trajectoires peuvent être classées en plusieurs catégories :

La catégorie Monodimensionnelle correspond à la trajectoire d’un degré deliberté du robot.

La trajectoire Multi-dimensionelle est associée soit à un ensemble de degrés deliberté du robot (planification articulaire) soit à l’organe effecteur (planificationcartésienne). Par opposition à la planification mono-dimensionnelle, laplanification multi-dimensionnelle peut nécessiter de synchroniser temporellementl’ensemble des axes du robot.

Les trajectoires qui sont définies par deux points (les conditions initiales et finales)sont des trajectoires point à point.Les trajectoires multi-points, quant à elles, passent par des pointsintermédiaires ou approximent un ensemble de points comme dans le cas deschemins

Badreddine BOUZOUITA Modélisation et commande des robots 111/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Génération de mouvement dans l’espace articulaire

Soit un robot à n degrés de liberté.Soient qi le vecteur des coordonnées articulaires initiales et qf le vecteur des coordon-nées articulaires finales. Le mouvement interpolé entre qi et qf en fonction du temps test décrit par l’équation suivante :

q(t) = qi + r(t)(

qf − qi)

pour 0 ≤ t ≤ tf (93)

q(t) = r(t)(

qf − qi)

(94)

avec r(t) est une fonction d’interpolation telle que : r(0) = 0 et r(tf ) = 1.On peut alors écrire l’équation précédente comme suit :

q(t) = qf (t)− [1− r(t)](

qf − qi)

(95)

Badreddine BOUZOUITA Modélisation et commande des robots 112/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Génération de mouvement dans l’espace articulaire

Plusieurs fonctions permettent de satisfaire le passage par qi à t = 0 et qf à t = tf :

interpolation polynomiale linéaire, de degré 3 ou de degré 5.

loi du Bang Bang,

loi trapèze (Bang Bang avec paliers de vitesse)

Badreddine BOUZOUITA Modélisation et commande des robots 113/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Interpolation linéaire

C’est la plus simple. L’équation du mouvement s’écrit :

q(t) = qi +ttf

(qf − qi

)(96)

Cette loi de mouvement impose une vitesse constante le long de la trajectoire.On en déduit la fonction d’interpolation :

r(t) =ttf (97)

La loi est continue en position, mais discontinue en vitesse et en accélération.

t(s)

q(t)

q(t)

q(t)1 2 3

1

2

Badreddine BOUZOUITA Modélisation et commande des robots 114/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Interpolation de degré 3 : trajectoire cubique

Si on impose une vitesse nulle aux points de départ et d’arrivée, on rajoute deuxcontraintes supplémentaires par rapport à l’interpolation linéaire. Afin de satisfaire ces4 contraintes : {

qi = q(0) = 0 (a)qf = q(tf ) = 0 (b)

{q(0) = qi (c)q(tf ) = qf (d)

(98)

Le degré minimal du polynôme est de 3. La forme générale est donnée par l’équationsuivante :

q(t) = a0 + a1t + a2t2 + a3t3 (99)

On en déduit les relations donnant la vitesse et l’accélération :{q(t) = a1 + 2a2t + 3a3t2

q(t) = 2a2 + 6a3t(100)

En utilisant les hypothèses (a) et (c), on en déduit les coefficients :

a0 = qi et a1 = 0 (101)

En utilisant les hypothèses (b) et (d), on en déduit les coefficients :

a2 =3t2f

(qf − qi

)et a3 = − 2

t3f

(qf − qi

)(102)

Badreddine BOUZOUITA Modélisation et commande des robots 115/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Interpolation de degré 3 : trajectoire cubique

On en déduit la fonction d’interpolation :

r(t) = 3( t

tf

)2− 2( t

tf

)3(103)

La vitesse est maximale en t = tf/2 et nulle en t = 0 et en t = tf .La valeur maximaleest : qmax = 3|qf − qi|/(2tf )

Badreddine BOUZOUITA Modélisation et commande des robots 116/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Interpolation de degré 3 : trajectoire cubique

2eme méthode : On a :q(t) = a0 + a1t + a2t2 + a3t3

q(t) = a1 + 2a2t + 3a3t2

En combinant ces 2 relations avec les 4 contraintes, on obtient :

q(0) = a0 + a1t0 + a2t20 + a3t3

0

q(0) = a1 + 2a2t0 + 3a3t20

q(tf ) = a0 + a1tf + a2t2f + a3t3

f

q(tf ) = a1 + 2a2tf + 3a3t2f

ou encore sous forme matricielle :1 t0 t2

0 t30

0 1 2t0 3t20

1 tf t2f t3

f

0 1 2tf 3t2f

a0

a1

a2

a3

=

q(0)q(0)q(tf )q(tf )

(104)

On peut montrer que le déterminant de ce problème est égal à (tf − t0)4 et par consé-

quent la solution est unique pour un intervalle de temps différent de 0.

Badreddine BOUZOUITA Modélisation et commande des robots 117/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Interpolation de degré 5

Si de plus l’on impose une accélération nulle aux points de départ et d’arrivée, on ra-joute deux contraintes supplémentaires par rapport à l’interpolation de degré 3. Afin desatisfaire ces 6 contraintes :{

qi = q(0) = 0 (a)qf = q(tf ) = 0 (b)

{qi = q(0) = 0 (c)qf = q(tf ) = 0 (d)

{q(0) = qi (e)q(tf ) = qf (f )

(105)

le degré minimal du polynôme est de 5. La forme générale est donnée par l’équationsuivante :

q(t) = a0 + a1t + a2t2 + a3t3 + a4t4 + a5t5 (106)

De la même manière, on montre que la fonction d’interpolation est la suivante :

r(t) = 10( t

tf

)3− 15

( ttf

)4+ 6( t

tf

)5(107)

Badreddine BOUZOUITA Modélisation et commande des robots 118/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Interpolation de degré 5

Badreddine BOUZOUITA Modélisation et commande des robots 119/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Interpolation de degré 5

2eme méthode : On a :q(t) = a0 + a1t + a2t2 + a3t3 + a4t4 + a5t5

q(t) = a1 + 2a2t + 3a3t2 + 4a4t3 + 5a5t4

q(t) = 2a2 + 6a3t + 12a4t2 + 20a5t3

En combinant ces 2 relations avec les 6 contraintes, on obtient :

q(0) = a0 + a1t0 + a2t20 + a3t3

0 + a4t40 + a5t5

0

q(0) = a1 + 2a2t0 + 3a3t20 + 4a4t3

0 + 5a5t40

q(0) = 2a2 + 6a3t0 + 12a4t20 + 20a5t3

0

q(tf ) = a0 + a1tf + a2t2f + a3t3

f + a4t4f + a5t5

f

q(tf ) = a1 + 2a2tf + 3a3t2f + 4a4t3

f + 5a5t4f

q(tf ) = 2a2 + 6a3tf + 12a4t2f + 20a5t3

f

(108)

ou encore sous forme matricielle :

1 t0 t20 t3

0 t40 t5

0

0 1 2t0 3t20 4t3

0 5t40

0 0 2 6t0 12t20 20t3

0

1 tf t2f t3

f t4f t5

f

0 1 2tf 3t2f 4t3

f 5t4f

0 0 2 6tf 12t2f 20t3

f

a0

a1

a2

a3

a4

a5

=

q(0)q(0)q(0)q(tf )q(tf )q(tf )

(109)

Badreddine BOUZOUITA Modélisation et commande des robots 120/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Loi de Bang Bang

Dans ce cas, le mouvement est représenté par une phase d’accélération constantejusqu’à tf/2, puis une phase de décélération constante. On impose les 4 contraintessuivantes : {

qi = q(0) = 0 (a)qf = q(tf ) = 0 (b)

{q(0) = qi (c)q(tf ) = qf (d)

(110)

Le mouvement est donc continu en position et en vitesse. Il est discontinu en accéléra-tion.La position est donnée par l’ensemble des relations suivantes :

q(t) = qi + 2(

ttf

)2 (qf − qi

)pour 0 ≤ t ≤ tf

2

q(t) = qi +

[−1 + 4

ttf− 2(

ttf

)2](

qf − qi)

pourtf

2≤ t ≤ tf

(111)

Badreddine BOUZOUITA Modélisation et commande des robots 121/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Loi de Bang Bang

La figure ci-dessous représente les évolutions de q(t), q(t) et q(t) obtenues pour :

- qi = 1 et qf = 2,

- tf = 3

t(s)

q(t)

q(t)

q(t)1 2 3

1

2

Badreddine BOUZOUITA Modélisation et commande des robots 122/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Loi trapèze : Loi Bang Bang avec palier de vitesse

Cette approche, qui est fréquemment utilisée dans la pratique, permet de vérifier di-rectement si les vitesses et les accélérations résultantes peuvent être supportées parle manipulateur. Dans ce cas, un profil trapézoïdal de vitesse est adopté, qui imposeune :

accélération constante dans la phase de début,

une vitesse de croisière et un ralentissement constant dans la phase d’arrivée.

La trajectoire résultante est formée par un segment linéaire connecté par deux seg-ments paraboliques aux positions initiales et finales.

Badreddine BOUZOUITA Modélisation et commande des robots 123/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Loi trapèze : Loi Bang Bang avec palier de vitesse

Pour 0 ≤ t ≤ tc :On a :

q(t) = qc

Sachant les conditions initiales :

q(0) = 0 et q(0) = qi

on peut écrire :

q(t) = qct (112)

q(t) = qi +12

qct2 (113)

Badreddine BOUZOUITA Modélisation et commande des robots 124/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Loi trapèze : Loi Bang Bang avec palier de vitesse

Pour tc ≤ t ≤ tf − tc : On a :q(t) = 0

donc :q(t) = qc = q(tc) = qctc et q(t) = C + _qct

or :q(tc) = qi +

12

qct2c = C + qctc ⇒ qi +

12

qctc = C + qctc

⇒ C = qi − 12

qctc

et par suite :

q(t) = qi + qc

(t − 1

2tc

)(114)

Badreddine BOUZOUITA Modélisation et commande des robots 125/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Loi trapèze : Loi Bang Bang avec palier de vitesse

Pour tf − tc ≤ t ≤ tf : On a :q(t) = −qc

D’après les conditions initiales :

q(tf ) = qf et -q(tf) = 0

on peut écrire :

q(t) = qc (tf − t) (115)

q(t) = qf − 12

qc(tf − t)2 (116)

Badreddine BOUZOUITA Modélisation et commande des robots 126/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Loi trapèze : Loi Bang Bang avec palier de vitesse

La position est donnée par l’ensemble des relations suivantes :

q(t) =

qi +

12

qct2sgn(

qf − qi)

0 ≤ t ≤ tc

qi + qc

(t − 1

2tc

)sgn(

qf − qi)

pour tc ≤ t ≤ tf − tc

qf − 12

qc(tf − t)2sgn(

qf − qi)

tf − tc ≤ t ≤ tf

(117)

avec :tc =

qc

qc

Badreddine BOUZOUITA Modélisation et commande des robots 127/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Temps minimum

Si tf n’est pas spécifié, on recherche, en général, le temps minimum pour faire le dépla-cement qi → qf en respectant les contraintes de vitesse et d’accélération.Généralement, on calcul le temps minimum sur chaque articulation séparément. Puis,on effectue la coordination des articulations sur un temps commun. La coordination estnécessaire à deux titres :

- harmonie du mouvement global du robot,

- contrôle de la trajectoire et de la géométrie du robot.

Les deux étapes sont donc : calcul du temps minimum tf : il dépend de la méthoded’interpolation retenue. Il consiste en fait à saturer la vitesse et/ou l’accélération. Pourle calcul de chacun des tfj , on se sert des résultats suivants :

Interpolation linéaire tfj =|Dj|kvj

Interpolation de degré 3 tfj = max[

3|Dj|2kvj

,√

6|Dj|kaj

]Interpolation de degré 5 tfj = max

[15|Dj|

8kvj,

√10|Dj|√

3kaj

]Loi Bang-Bang tfj = max

[2|Dj|

kvj, 2√|Dj|kaj

]avec Dj = qf

j − qij, kvj le vitesse max et kaj l’accélération max.

Badreddine BOUZOUITA Modélisation et commande des robots 128/131

Planification et génération de trajectoire Génération de mouvement dans l’espace articulaire

Temps minimum

Pour la coordination des axes, on impose pour chaque axe tf = max [tf 1, tf 2, · · · , tfn].

Badreddine BOUZOUITA Modélisation et commande des robots 129/131

Planification et génération de trajectoire Génération de mouvement dans l’espace opérationnel

Génération de mouvement dans l’espace opérationnel

En spécifiant la trajectoire dans l’espace des coordonnées articulaires, on ne peutcontrôler la trajectoire de l’organe d’extrémité entre les points où la trajectoire est impo-sée (trajectoire rectiligne).

Par contre :- elle implique la transformation en coordonnées articulaires de chaque point de la

trajectoire,- elle peut être mise en échec lorsque la trajectoire calculée passe par une position

singulière,- elle peut être mise en échec chaque fois que les points de la trajectoire engendrée

ne sont pas dans le volume accessible du robot ou chaque fois que la trajectoireimpose une reconfiguration du mécanisme (changement d’aspect en cours de tra-jectoire).

Badreddine BOUZOUITA Modélisation et commande des robots 130/131

Planification et génération de trajectoire Génération de mouvement dans l’espace opérationnel

Mouvement rectilignePoint à Point

On cherche à appliquer un mouvement rectiligne au point outil (OE origine du repère RElié à l’outil)Soit Mi

0,e la matrice de transformation homogène décrivant la situation initiale de l’outildans le repère R0.Soit Mf

0,e la matrice de transformation homogène décrivant la situation finale de l’outildans le repère R0.On définit :

Mi0,e =

[Ai Pi

0 1

](118)

Mf0,e =

[Af Pf

0 1

](119)

On décompose le mouvement en un mouvement de :

translation en ligne droite entre les origines OiE et Of

E,

rotation autour d’un axe u de l’organe terminal pour aligner Ai avec Af ,

Badreddine BOUZOUITA Modélisation et commande des robots 131/131