88
Universit´ e de Bourgogne Franche-Comt´ e – UFC – ENSMM Robotique industrielle Guillaume Laurent et Nicolas Chaillet 2017

Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Universite de Bourgogne Franche-Comte – UFC – ENSMM

Robotique industrielle

Guillaume Laurent et Nicolas Chaillet

2017

Page 2: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un
Page 3: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Table des matieres

1 Introduction 5

1.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Composition d’un robot industriel . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3 Configurations usuelles des robots industriels . . . . . . . . . . . . . . . . . . . 8

1.4 Les marches de la robotique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 Reperage d’un solide dans l’espace 17

2.1 Representation d’un point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2 Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3 Orientation determinee par une matrice . . . . . . . . . . . . . . . . . . . . . . 18

2.4 Orientation determinee par trois angles . . . . . . . . . . . . . . . . . . . . . . 21

2.5 Orientation determinee par un vecteur et un angle . . . . . . . . . . . . . . . . 23

2.6 Orientation determinee par les quaternions . . . . . . . . . . . . . . . . . . . . 24

2.7 Transformation homogene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 Modeles geometriques direct et inverse 27

3.1 Modelisation geometrique directe d’un robot . . . . . . . . . . . . . . . . . . . . 27

3.2 Domaine atteignable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.3 Modele geometrique inverse d’un robot . . . . . . . . . . . . . . . . . . . . . . . 35

3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4 Modeles cinematiques direct et inverse 41

4.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2 Jacobienne analytique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.3 Jacobienne cinematique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.4 Passage d’une jacobienne a l’autre . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.5 Vitesses atteignables et manipulabilite . . . . . . . . . . . . . . . . . . . . . . . 46

4.6 Aspects et configurations singulieres . . . . . . . . . . . . . . . . . . . . . . . . 47

4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5 Efforts et modelisation dynamique 53

5.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.2 Modele dynamique inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.3 Efforts appliques par le robot sur son environnement . . . . . . . . . . . . . . . 56

5.4 Efforts dus a la pesanteur et equilibrage statique . . . . . . . . . . . . . . . . . 56

5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3

Page 4: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

4 TABLE DES MATIERES

6 Generation de mouvement 596.1 Programmation d’un robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596.2 Generation de mouvement dans l’espace articulaire . . . . . . . . . . . . . . . . 606.3 Generation de mouvement dans l’espace operationnel . . . . . . . . . . . . . . . 656.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

7 Commande des axes (dans l’espace articulaire) 717.1 Chaıne de commande d’un robot industriel . . . . . . . . . . . . . . . . . . . . 717.2 Commande individuelle des axes . . . . . . . . . . . . . . . . . . . . . . . . . . 727.3 Commande a couples calcules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

8 Choix d’un robot 758.1 Choix du robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758.2 Choix du prehenseur ou de l’outil . . . . . . . . . . . . . . . . . . . . . . . . . . 788.3 Placement du robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788.4 Choix des trajectoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

9 Ce qui n’a pas ete vu ... 819.1 Planification de trajectoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819.2 Etude des robots paralleles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819.3 Identification des parametres geometriques des robots . . . . . . . . . . . . . . 819.4 Identification des parametres dynamiques des robots . . . . . . . . . . . . . . . 819.5 Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819.6 Commande referencee capteur : commande en effort - commande hybride - as-

servissements visuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819.7 Parcourabilite - Dexterite - Manipulabilite . . . . . . . . . . . . . . . . . . . . . 81

Bibliographie 83

A Sites web, blogs, reseaux d’informations et salons industriels 85

B Logiciels et bibliotheques libres 87B.1 Logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87B.2 Bibliotheques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 5: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Chapitre 1

Introduction

Un systeme robotique est une machine mecatronique programmable disposant de moyensde perception, d’interpretation et d’action qui lui permettent d’agir sur un environnementphysique.

Ce cours concerne plus particulierement la robotique manufacturiere, c’est-a-dire les robotsmanipulateurs destines a des taches de soudure, de peinture, de manutention, d’emballage-conditionnement, etc. L’objectif est de fournir un ensemble minimal de connaissances pourcomprendre le fonctionnement d’un robot industriel, son comportement et son implantation.

1.1 Definitions

1.1.1 Definition d’un robot

Etymologiquement, le mot (( robot )) tire sa racine du bulgare (( robu )), qui signifie (( ser-viteur )) et qui a donne naissance, entre autres, au russe (( rabota )) qui signifie (( travail ))

ou (( corvee )) et au tcheque (( robota )) qui se traduit par (( travail force )). C’est d’ailleursl’ecrivain tcheque Karel Capek qui a popularise le terme dans les annees 1920, a travers unepiece de theatre intitulee (( Rossum’s Universal Robots )) qui a connu un certain succes, enparticulier en France. Elle met en scene des etres artificiels a l’apparence humaine, qui finissentpar se revolter et aneantir l’humanite.

Isaac Asimov, dans les annees 1940, pensait lui au contraire, que les robots seraient be-nefiques et que les scientifiques et les ingenieurs programmeraient la (( bienveillance )) danstous les robots. Asimov nomma l’industrie des robots la robotique et legua aux roboticiens une(( ethique )) de la robotique au travers de ses celebres lois de la robotique.

De nos jours, on peut definir un robot comme une machine qui bouge commandee par unordinateur, pouvant se substituer a l’homme pour effectuer certaines operations, et capabled’en modifier de elle-meme le cycle en apprehendant son environnement.

Cependant, il n’est pas toujours aise d’etablir une frontiere claire entre robots et certainssystemes automatises tant les applications sont maintenant diversifiees.

1.1.2 Robotique industrielle

Le concept de robot industriel n’a vraiment pris forme que lorsque les ingenieurs se sont ren-dus compte de la difficulte qu’il y avait a donner a une machine le comportement et l’apparenced’un etre humain. Les efforts ont donc ete concentres sur la conception de bras mecaniques envue d’executer des taches industrielles.

Definition 1 (Robot industriel pour manipulation). Systeme de manipulation programmablede trois axes ou plus, a usage multiple, controle automatiquement, reprogrammable, qui peutetre mobile ou fixe lors de son utilisation automatique (definition ISO 8373).

5

Page 6: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

6 CHAPITRE 1. INTRODUCTION

!"#$%&"'()(*+',&-.%/)(*01",231',$+4+(,*'21&($*"5,Figure 1.1 – Elements d’un robot industriel (illustration extraite de [3]).

Un robot industriel doit en principe comporter au moins trois axes (ce qui n’est pas for-cement le cas dans la classification japonaise). Le terme (( reprogrammable )) signifie que lesmouvements programmes ou fonctions auxiliaires peuvent etre changes sans entraıner d’altera-tions physiques. Enfin, un robot industriel peut etre adapte pour une utilisation differente avecalterations physiques et est donc (( a usage multiple )).

1.1.3 Robotique de service

Si la robotique est restee pendant longtemps relativement confinee a des applications in-dustrielles manufacturieres, les avancees technologiques font que depuis quelques annees denombreux autres domaines sont explores, en vue notamment de developper une robotique deservice.

Definition 2 (Robot de service). Robot mi ou totalement autonome accomplissant un travaildirectement utile a un usager ou sur un equipement, a l’exception des taches de productionindustrielle.

On peut citer ici quelques domaines d’utilisation des robots de service : robotique medicale(chirurgie teleoperee), robotique de manutention, robotique d’exploration et de surveillance(terrestre, sous-marine, aerienne, spatiale), robotique pour la securite civile, robotique agricole,robotique miniere, robotique militaire (deminage, soldat robotise, drone), robotique de chantier(ou du batiment), robotique de nettoyage et d’entretien, robotique de divertissements (jouets,robots de compagnie), robotique d’aide a la personne (aide aux handicapes, protheses), etc.

1.2 Composition d’un robot industriel

1.2.1 Elements d’un robot

Les differents elements d’un robot industriel sont (voir figure 1.1) :

— base : support sur lequel est situee l’origine du premier element de la structure articuleeconstituant le bras,

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 7: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

1.2. COMPOSITION D’UN ROBOT INDUSTRIEL 7

Perception Decision Action- -

6

Figure 1.2 – Boucle perception-decision-action.

— porteur (ou bras) : chaıne constituee d’elements de translation et/ou de rotation animesles uns par rapport aux autres et qui permet de deplacer et d’orienter un organe terminal(ou effecteur), comme par exemple un prehenseur ou un outil (selon les definitions, leporteur inclut ou non le poignet, qui est alors dans ce dernier cas considere commefaisant partie de l’organe terminal),

— poignet : ensemble mecanique de l’extremite du bras d’un robot, constitue d’articulationset permettant l’orientation de l’organe terminal.

— liaison active : liaison motorisee entre deux corps successifs d’un robot. La pratiqueindustrielle fait que l’on parle ici d’axe (parfois d’(( articulation )), voire de (( degre deliberte articulaire ))) pour designer un tel degre de mobilite. On dira donc communementqu’un robot a n axes.

— liaison passive : liaison non motorisee entre deux corps successifs d’un robot,— coordonnee articulaire : variable representant un degre de mobilite d’un robot, en ro-

tation ou en translation. L’ensemble des coordonnees articulaires correspondant a unecertaine posture du robot definit le vecteur des coordonnees articulaires ou generalisees.L’ensemble des vecteurs des coordonnees articulaires est appele espace de configuration.

— coordonnee operationnelle : variable representant un degre de liberte (ddl) de l’organeterminal du robot dans l’espace (en position ou en orientation). Il y a donc six coordon-nees operationnelles, l’ensemble representant le vecteur des coordonnees operationnelles.Les coordonnees operationnelles et articulaires sont reliees par la geometrie du robot ;la tache que le robot doit effectuer se definit dans l’espace operationnel, qui corresponda l’espace de la tache.

En fonction du nombre d’articulations et de la cinematique du robot, celui-ci n’est pasforcement en mesure de generer les 6 degres de liberte de l’organe terminal. Notamment,

— Un robot a n axes avec n < 6 ne peut pas generer 6 ddl independants au niveau de soneffecteur. Pour qu’il puisse le faire, un robot doit posseder au minimum 6 axes.

— Cette derniere condition est necessaire mais pas suffisante car on peut trouver des robotsredondants possedant plus de 6 axes et generant moins de 6 ddl.

D’autre part, l’espace 3D comportant six degres de liberte, un robot, quel que soit le nombrede ses axes, ne pourra generer au maximum que six degres de liberte de son organe terminal.

1.2.2 Boucle perception-decision-action

Un robot est systeme boucle dont le fonctionnement peut etre decrit par le schema tresgeneral (( perception-decision-action )) represente par la figure 1.2.

Le robot peut agir sur ses mouvements et son environnement a l’aide de ses actionneurs.Pour reagir de facon adaptee, le robot doit percevoir des informations sur lui-meme et sur sonenvironnement par l’intermediaire de capteurs. On distingue generalement :

— les capteurs proprioceptifs qui le renseigne sur son etat interne (positions, forces, inten-sites, etc.),

— les capteurs exteroceptifs qui l’informe sur son environnement (attente d’un convoyeur,qu’un operateur appuie sur un bouton, utilisation de la vision pour localiser des objets,etc.).

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 8: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

8 CHAPITRE 1. INTRODUCTION

En fonction des informations qu’il recoit, le robot doit prendre une decision pour accomplirsa tache (atteindre une destination, maintenir une force, eviter les obstacles, etc.).

La robotique est donc un domaine d’integration ou interviennent plusieurs disciplines dif-ferentes : la mecanique, les actionneurs (electromagnetiques, piezoelectriques, hydrauliques,pneumatiques, etc.), les capteurs (position, vitesse, force, vision, etc.), l’electronique, l’automa-tique, l’informatique, la robotique (( pure )) (generation de trajectoires, planification, placementd’un robot, manipulabilite, etc.).

1.3 Configurations usuelles des robots industriels

1.3.1 Porteurs a chaıne cinematique ouverte (ou porteurs serie)

La majorite des robots manipulateurs existant a l’heure actuelle presente un caractere an-thropomorphe, en l’occurrence une forte ressemblance avec le bras humain. Ce type de porteurest constitue d’une succession de corps en serie, chacun etant relie a son predecesseur et a sonsuccesseur par une articulation a une mobilite, generant ainsi une chaıne cinematique ouverte.On parle alors de robots serie.

Les articulations sont generalement soit des liaisons pivots (ou rotoıde, symbolisee par lalettre R) soit des liaisons glissieres (ou prismatique, symbolisee par la lettre P).

Les robots industriels peuvent etre classifies en fonction de leur structure mecanique etdu type des axes. Les principales configurations des porteurs industriels a chaıne cinematiqueouverte sont :

— structure cartesienne (ou robot portique) = PPP— structure cylindrique = RPP,— structure SCARA (bi-cylindrique) = RRP,— structure spherique = RRP,— structure anthropomorphique (bi-spherique) = RRR.

Ces configurations sont illustrees dans le tableau 1.1.

Parmi toutes les structures possibles de porteur, on cherche surtout celles qui, a l’instar dubras humain, cherchent a decoupler le mouvement de l’effecteur en un mouvement l’amenant aune position donnee (bras a 3 ddl) et un mouvement l’orientant convenablement a cette position(poignet a 3 ddl). Notons egalement que l’on peut trouver des robots hyper-redondants, souventnommes (( trompes d’elephant )) qui peuvent etre interessants dans des cas ou l’acces est rendudifficile par la presence d’obstacles (ex : soudure ou peinture a l’interieur d’une carrosseried’automobile). D’une maniere generale, la redondance augmente la dexterite du robot. Enoutre, on peut envisager que si une articulation se bloque, la redondance fait que le robot peutneanmoins accomplir sa tache.

NB: Un robot est dit redondant lorsque le nombre de degres de liberte de l’organe terminal(dans l’espace operationnel) est inferieur au nombre d’articulations motorisees.

1.3.2 Configurations du poignet

Suivant la tache envisagee, on trouve des poignets a un, deux ou trois axes. De nombreuxrobots ont un poignet a deux degres de liberte, car plus on s’eloigne de la base, plus le degrede liberte a tendance a couter cher, de point de vue de la realisation et de la commande (lapartie terminale du robot s’alourdit, surtout si les moteurs du poignet ne sont pas ramenes sur

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 9: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

1.3. CONFIGURATIONS USUELLES DES ROBOTS INDUSTRIELS 9

DEFINITION OF A ROBOT Manipulating industrial robot as defined in ISO 8373 An automatically controlled, reprogrammable, multipurpose, manipulator programmable in three or more axes, which may be either fixed in place or mobile for use in industrial automation applications.

Robots broken down by mechanical structure The following four categories (see also figure 1) with respect to mechanical structure are to be used (definitions in accordance with ISO 8373). � Cartesian (Gantry) robots Robots whose arms have three prismatic joints, whose axes are coincident with a Cartesian coordinate system SCARA robots Robot which has two parallel rotary joints to provide compliance in a selected plane. Note: SCARA derives from Selectively Complient Arm for Robotic Asssembly. Articulated robots Robots whose arms (primary axes) have three concurrent prismatic joints Parallel robots Robots whose arms (primary axes) have three concurrent prismatic joints Robots broken down by control types The definitions are in accordance with ISO 8373 Sequence-controlled robot Definition A robot having a system of control in which a state of machine movements occurs in a desired order, the completion of one movement initiating the next. Trajectory operated robot Definition A robot, which performs a controlled procedure whereby three or more controlled axis motions operate in accordance with instructions that specify the required timebased trajectory to the next required pose (normally achieved through interpolation). Adaptive robot Definition A robot having sensory control, adaptive control, or learning-control functions. Teleoperated robot Definition A robot that can be remotely operated by a human operator. Its function extends the

human’s sensory-motor functions to remote locations and the response of the machine to the actions of the operator is programmable

Kinematic Structure Workspace Principle

Axes Robot

Cylindrical Robot

Spherical Robot

SCARA Robot

Parallel Robot

Articulated Robot

Examples

Photo

Cartesian Robot

Table 1.1 – Classification des robots industriels par structure mecanique (norme ISO 8373).

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 10: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

10 CHAPITRE 1. INTRODUCTION

!"#$%&'()*%"#+,-',."%&#/*,

!!

"#$%&!'()&!*$+*$,#'+-&!!

!!

"#$%&!'()&!+$+!*$+*$,#'+-&!

!

! .),(!'()&!

(a) Trois axes concourants

!"#$%&'()*%"#+,-',."%&#/*,

!!

"#$%&!'()&!*$+*$,#'+-&!!

!!

"#$%&!'()&!+$+!*$+*$,#'+-&!

!

! .),(!'()&!

(b) Trois axes non concourants

!"#$%&'()*%"#+,-',."%&#/*,

!!

"#$%&!'()&!*$+*$,#'+-&!!

!!

"#$%&!'()&!+$+!*$+*$,#'+-&!

!

! .),(!'()&!

(c) Deux axes

Figure 1.3 – Configurations du poignet (illustrations extraites de [3]).

la base, la commande s’en trouve ainsi compliquee et la masse embarquable diminuee) et denombreuses taches industrielles peuvent etre correctement realisees avec un robot a cinq axes(3+2), si elles ne necessitent que cinq degres de liberte (dans l’espace operationnel) .

Neanmoins, la tendance actuelle consiste a utiliser des robots (( complets )) a six degresde liberte (3+3). La structure de poignet a trois axes la plus courante est constituee de troisarticulations pivot en serie et a axes concourants et orthogonaux deux a deux (voir figure 1.3).Cet ensemble est equivalent a une liaison spherique. Elle permet donc d’obtenir une orientationquelconque de la pince et un decouplage par rapport au porteur, d’ou une simplification dela commande : le centre du poignet est fixe par rapport au bras, mais aussi par rapport al’effecteur et sa position ne depend que des trois premiers axes (ceux du porteur). Un poigneta axes non concourants a l’avantage de permettre des debattements angulaires plus importantspar un montage en (( porte-a-faux )) du deuxieme axe.

1.3.3 Porteurs a chaıne cinematique fermee (ou porteurs parallele)

Un robot parallele est caracterise par le fait que l’organe terminal est relie a la base durobot par des chaınes cinematiques distinctes et independantes, d’ou des boucles cinematiques.Le robot parallele le plus celebre est la plate-forme de Gough-Stewart (1965) illustre par lafigure 1.4. Ce type de structure etait notamment utilise a l’origine dans des simulateurs devol pour l’entraınement des pilotes. Plus recemment, developpe dans les annees 1980, le robotsuisse Delta (EPFL/ABB) connaıt le succes industriel a partir des annees 1990.

Il faut noter que dans de telles structures cinematiques, toutes les articulations ne sont pasactives. Certaines sont necessairement passives.

Les avantages de ce type de structure sont les suivants :

— en depit du fait que les debattements de ces porteurs sont plus faibles que ceux desporteurs series, generant donc un volume de travail plus faible, leur structure articulairemet les erreurs de position (ainsi que les imprecisions des capteurs, les defauts divers :jeux, frottements, flexion des corps) en parallele au lieu de les mettre en serie. Cesrobots ont donc par nature une meilleure precision. Ainsi ils sont interessants pour

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 11: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

1.3. CONFIGURATIONS USUELLES DES ROBOTS INDUSTRIELS 11!"#$%&'()*%+,#-*./&'(0&1,+&'(

!!

"#$%&'()*+&!,&!-%&.$*%!!

!

/)0)%!1&#%$!21&+$3*&45!!!

!

/)0)%!6*78&9%!2:)+$35!

!

!

!

(a) Plate-forme de Gough-Stewart

!"#$%&'()*%+,#-*./&'(0&1,+&'(

!!

"#$%&'()*+&!,&!-%&.$*%!!

!

/)0)%!1&#%$!21&+$3*&45!!!

!

/)0)%!6*78&9%!2:)+$35!

!

!

!

(b) Robot Delta

Figure 1.4 – Deux exemples de porteurs parallele (illustrations extraites de [3] et de [5]).

les applications de type (( petits mouvements et grande precision )) (notamment enmicrorobotique) ;

— une telle architecture permet une meilleure repartition des efforts et un montage desactionneurs sur la base, autorisant une structure mecanique plus legere et donc desmouvements rapides, de grandes accelerations et un rapport charge utile sur massetotale mouvement plus favorable (dans le cas des robots serie ce rapport est en generaltres largement inferieur a 0,3) ;

— cela permet egalement d’augmenter la rigidite de la structure (beaucoup moins de sol-licitation en flexion des corps, peu de deformation) ;

— l’utilisation de chaınes paralleles permet d’utiliser des composants identiques (moteurs,constituants mecaniques), d’ou une facilitation de la maintenance.

Les applications industrielles des architectures paralleles sont en plein developpement (il afallu du temps pour resoudre certains problemes techniques et de commande), aussi bien enrobotique (pick and place agro-alimentaire, recherche pharmaceutique, assemblage, ...) qu’enmachines outils (les centres d’usinage paralleles permettent de multiplier les performances parrapport aux centres d’usinage classiques).

NB: Il est egalement possible d’utiliser une structure parallele comme poignet de robot afind’augmenter la dexterite (et obtenir une compliance active ou passive du poignet).

Les types de transmission en chaıne fermee de type parallelogramme, tels que celui repre-sente en figure 1.5 permettant de realiser une transmission de mouvement (mecanisme a undegre de liberte) a partir de quatre corps formant un parallelogramme, n’entrent pas dans lacategorie des robots paralleles. Les relations geometriques entre les differents angles restentsimples et similaires a celles d’un robot serie. Le parallelogramme articule permet de rame-ner les actionneurs vers la base du robot, limitant la masse du robot en bout de porteur etaugmentant ainsi les possibilites en terme de masse embarquee. En outre, une structure enparallelogramme peut etre utilisee pour l’equilibrage d’un robot.

1.3.4 Robots a chaıne cinematique arborescente

Un robot a chaıne cinematique arborescente est constitue de plusieurs chaınes cinematiquesouvertes reliees a un corps central.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 12: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

12 CHAPITRE 1. INTRODUCTION !"#$%"$#&'($)&#"&'#&*(+*,+"&''

-(.("'/'0,#,1121(3#,44&''

Figure 1.5 – Porteurs a parallelogramme (illustrations extraites de [5]).

En fonctionnement, un robot a chaıne cinematique arborescente peut devenir un robot achaıne cinematique fermee par la saisie d’une piece avec deux bras ou le contact avec le sol dedeux ou plusieurs pattes.

Ce type de structure est davantage utilise pour les robots de service (robots marcheurs,robot humanoıde) mais depuis les annees 2010 des robots manipulateurs industriels a deuxbras sont proposes pour realiser des taches particulierement complexes.

1.4 Les marches de la robotique 1

Fin 2012, le nombre de robots industriels operationnels installes dans le monde depassait lemillion d’unites (les estimations vont de 1 235 000 si l’on considere une duree de vie de 12 ans,a 1 500 000 si la duree de vie retenue est de 15 ans ce qui d’apres les dernieres etudes sembleplus realiste).

En 2011, la Coree du Sud a atteint la densite de robot la plus eleve dans le monde, environ347 robots industriels en fonctionnement pour 10 000 employes dans l’industrie manufacturiere.La meme annee, la densite de robot au Japon etait de 339, celle de l’Allemagne de 261. 10 paysavaient une densite de robot entre 104 (pour l’Autriche) et 149 (pour l’Italie), 5 pays de 50a 100 (dont la France), 11 pays de 20 a 49 et tous les autres avaient moins de 20 robots enfonctionnement pour 10 000 employes. La densite de robot moyenne estimee dans le mondeetait d’environ 55 robots industriels pour 10 000 employes.

C’est un marche dynamique qui connaıt toujours une forte croissance notamment en Asie(cf. figure 1.6). 2011 a ete l’annee ou il s’est vendu le plus de robots industriels depuis 1961(environ 166 000 unites).

Malgre l’affaiblissement du contexte economique mondial, les ventes de robots industrielsdevraient continuer a progresser. L’IFR estime qu’entre 2014 et 2016 les ventes de robots dansle monde devraient augmenter d’environ 6% en moyenne par an (4% dans les Ameriques et enEurope, 8% en Asie et Australie). Les plus grosses progressions sont prevus en Amerique duNord, en Chine, en Coree du Sud, au Bresil et en Europe de l’est.

Le secteur automobile demeure l’un des premiers marches consommateurs de robots indus-triels : environ un tiers des robots en service dans le monde (deux tiers en France). Au Japon,en Allemagne, en Italie et en France, il y a plus d’un robot pour 10 employes dans l’industrieautomobile. La soudure par points represente le plus grand domaine d’application.

1. L’essentiel des chiffres presentes ici est issu de l’UE, de l’ONU, de l’IFR (International Federation ofRobotics) et des associations nationales. Une synthese du rapport (( World Robotics )) qui fournit chaque anneeun ensemble de donnees sur la robotique mondiale, est disponible sur www.ifrstat.org.

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 13: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

1.4. LES MARCHES DE LA ROBOTIQUE 13

Figure 1.6 – Ventes annuelles de robots industriels (source : IFR World Robotics).

Figure 1.7 – Ventes annuelles de robots par secteurs industriels (source : IFR World Robotics).

Figure 1.8 – Comparaison de la densite de robot entre l’Allemagne, l’Italie et la France (source :analyse Nodal d’apres donnees IFR World Robotics 2008).

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 14: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

14 CHAPITRE 1. INTRODUCTION

2009 2010 2011 2012 2013 2014

0

5

10

15

20

25

13.615.3

16.4

20.2 2122.2

millier

sd’u

nit

es

(a) Robots de service professionnels

2009 2010 2011 2012 2013 2014

0

2

4

1.6

2.22.5

3

4

4.7

million

sd’u

nit

es

(b) Robots de service domestiques

Figure 1.9 – Ventes annuelles de robots de service (source : IFR World Robotics).

Au dela du secteur automobile, la demande de robots industriels augmente egalement dansd’autres secteurs comme l’electronique, la plasturgie, l’agro-alimentaire et la metallurgie (cf.figure 1.7).

La France accuse un certain retard en terme d’equipement robotique dans les secteursautre que l’automobile et notamment dans les PME/PMI (cf. figure 1.8). Dans ce contexte, desindustriels francais ont pris en 2008 une initiative visant a promouvoir l’integration de robotsa la production, dans le but d’eviter de delocaliser 2. En 2013, le gouvernement francais a lanceun plan d’aide pour la robotisation des PME baptise ROBOT Start PME 3.

Le secteur de la robotique de service est egalement en plein essor (cf. figure 1.9). Depuis1998, environ 150,000 robots de service professionnels ont ete vendus dans le monde. Il s’agitessentiellement de robots militaires, de robots agricoles (machines de traite automatisee), derobots medicaux et de robots de manutention.

Les ventes de robots de services domestiques ont atteint 4,000 000 en 2013 (cf. figure 1.9).Il s’agit pour les deux tiers de robots de nettoyage (aspirateurs) et pour le reste de robots dedivertissements (jouets, robots educatifs).

Les ventes de robots d’assistance pour personnes handicapees commencent a decoller. Ungrand nombre de projets de recherche nationaux dans de nombreux pays se concentrent sur cemarche enorme pour l’avenir robots de service. Pour l’anecdote 4, en 2006, le gouvernement sud-coreen avait demande a des scientifiques et des industriels de developper des robots totalementintegres a la societe. Mon objectif personnel est qu’il y ait un robot dans chaque foyer a l’horizon2010 expliquait un cadre du ministere. Il etait ainsi prevu que des robots domestiques soientproduits en serie. Ils devaient, par exemple, transmettre des messages aux parents, enseignerl’anglais aux enfants ou jouer avec eux lorsque ceux-ci s’ennuient. En dehors du foyer, ilsdevaient egalement etre capables de guider des clients dans les bureaux de poste ou meme depatrouiller dans des espaces publics en localisant des intrus puis en transmettant des images ades centres de surveillance.

2. Voir www.robocaliser.com. Robotcaliser est une initiative du Symop, Syndicat des Entreprises de Tech-nologies de Production

3. Voir www.robotstartpme.f

4. Tiree d’un bulletin d’information de l’Ambassade de France en Coree, 2006.

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 15: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

1.5. CONCLUSION 15

1.5 Conclusion

Au cours des dernieres annees, les ameliorations techniques des robots industriels ont eteconsiderables, et ce pour un prix globalement divise par plus de 3 entre 1990 et 2006. La dureede vie moyenne d’un robot se situe entre 12 et 15 ans (avec un retour sur investissement trescourt, souvent d’un a deux ans).

Le robot industriel est l’equipement de production flexible par excellence, qui est desormaisperformant, relativement peu couteux et fiable. Un grand constructeur japonais d’equipementsde production en general et de robots en particulier, indique que le robot est actuellementl’equipement de production qui presente la plus grande fiabilite ! Il est aujourd’hui souventinteressant et efficace de penser (( cellule robotisee )) avant d’investir dans une machine speciale.

Malgre l’etat actuel de sophistication des robots, d’enormes progres peuvent encore etrefaits, ne serait-ce que pour l’amelioration des robots industriels existants (sans parler du de-veloppement de robots totalement nouveaux, fondes sur des technologies nouvelles et dotes defonctions nouvelles).

Les robots industriels doivent travailler plus vite, sans perdre et meme si possible en ame-liorant leur precision :

— au niveau de la commande, mise en œuvre de commandes toujours plus performantes(ex : precision, prise en compte de la charge transportee, prise en compte des imperfec-tions, prise en compte de l’environnement),

— allegement de la structure (le rapport entre la charge utile et la masse des robots restefaible),

— on peut egalement etudier des structures de robots flexibles ou souples, plus legers, plusrapides, permettant d’emmagasiner de l’energie potentielle et offrant une compliancepassive parfois utile.

En robotique industrielle, une tendance actuelle est le travail collaboratif entre plusieursrobots et, plus recemment, le travail collaboratif entre les hommes et les robots, avec les fonc-tions de securite associees (ce qui permet d’eliminer les barrieres de securite sur les lignes deproduction). Par ailleurs, les moyens de programmation des robots sont egalement en evolution(interfaces homme-machine, programmation hors ligne, CAO).

Il existe egalement une tendance qui consiste a aller vers les extremes, c’est-a-dire vers ledeveloppement de robots de plus en plus petits (microrobots permettant la manipulation agrande precision d’objets tres petits [9]) et les robots de plus en plus grands (manipulationd’ensembles plus complets, plus lourds, voire remplacement d’elements de convoyage, c’est lerobot qui amene la piece a l’outil et plus le robot qui amene l’outil a la piece).

Un point essentiel pour le futur est celui de l’(( intelligence )) des robots. Il faut en effetconferer aux robots de plus en plus d’autonomie decisionnelle (generation de plans d’actions),de mobilite, s’accompagnant de la mise en œuvre de capteurs exteroceptifs, notamment la visionartificielle, pour la perception de l’environnement. Cette autonomie permettra aux fabricants derobots de conquerir de nouveaux marches dans le secteur industriel et surtout dans les services.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 16: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un
Page 17: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Chapitre 2

Reperage d’un solide dans l’espace

Soit un solide S1 quelconque, de centre O1 (le centre etant un point du solide choisi de faconarbitraire). On souhaite caracteriser sa situation dans l’espace.

Pour ce faire, on associe au solide un repere R1, forme d’une base orthonormee directe(~x1, ~y1, ~z1) et d’une origineO1. On definit egalement un repere fixe dans l’espaceR0 = (O0, ~x0, ~y0, ~z0),tel qu’indique sur le schema suivant :

-

6

��

��

O0

(R0)

~z0

~y0

~x0

����

����

����

ee

ee e

e�����

SSSSo

����

O1

~x1~y1

~z1

(R1)

2.1 Representation d’un point

Soit P un point du solide S1. Les coordonnees de P dans R1 sont representees par le vecteur1p tel que :

1p =−−→O1P /R1

=

−−→O1P .~x1−−→O1P .~y1−−→O1P .~z1

NB: L’exposant 1 precedant p designe le repere dans lequel les coordonnees de P sont expri-mees.

2.2 Position

La position du repere R1 dans l’espace peut alors s’exprimer par l’intermediaire de la po-

sition du point O1 dans R0, c’est-a-dire par les coordonnees du vecteur−−→O0O1 dans R0 note

17

Page 18: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

18 CHAPITRE 2. REPERAGE D’UN SOLIDE DANS L’ESPACE

0o1.

0o1 =−−→O0O1/R0

=

−−→O0O1.~x0−−→O0O1.~y0−−→O0O1.~z0

Si les reperes sont equipollents (translation pure entre les reperes), le vecteur 0o1 permet

d’exprimer dans le repere R0 les coordonnees d’un point donnees dans le repere R1. En effet,

dans ce cas, on a−−→O1P /R0

=−−→O1P /R1

et donc on peut ecrire :

−−→O0P /R0

=−−→O0O1/R0

+−−→O1P /R0

=−−→O0O1/R0

+−−→O1P /R1

soit :0p = 0o1 + 1p

En ce qui concerne l’orientation du repere R1 par rapport au repere de reference R0, elle peuts’exprimer de differentes manieres. L’orientation peut se definir par une matrice de rotation,par trois angles, par un vecteur et un angle ou encore par un quaternion.

2.3 Orientation determinee par une matrice

2.3.1 Definition

Soit P un point du solide S1. On note a, b et c ses coordonnees exprimees dans le repereR1 :

1p =−−→O1P /R1

=

abc

On a alors : −−→

O1P = a~x1 + b~y1 + c~z1

Si les origines des deux reperes R0 et R1 sont confondues (rotation pure entre les reperes),

on peut substituer le vecteur−−→O0P par

−−→O1P . Puis en exprimant les coordonnees du vecteur

−−→O0P

dans le repere R0, il vient :

0p =−−→O0P /R0

=−−→O1P /R0

=

−−→O1P .~x0−−→O1P .~y0−−→O1P .~z0

=

(a~x1 + b~y1 + c~z1).~x0

(a~x1 + b~y1 + c~z1).~y0

(a~x1 + b~y1 + c~z1).~z0

=

~x1.~x0 ~y1.~x0 ~z1.~x0

~x1.~y0 ~y1.~y0 ~z1.~y0

~x1.~z0 ~y1.~z0 ~z1.~z0

abc

Soit :

0p = 0M1.1p

La matrice 0M1 est la matrice de rotation (egalement appelee matrice des cosinus directeurs)correspondant a la matrice dite (( de passage de R0 a R1 )). Les colonnes de cette matrice sontles composantes des vecteurs de la base de R1 exprimes dans R0 :

0M1 =[~x1/R0

~y1/R0~z1/R0

]=

~x1.~x0 ~y1.~x0 ~z1.~x0

~x1.~y0 ~y1.~y0 ~z1.~y0

~x1.~z0 ~y1.~z0 ~z1.~z0

Notons que les 3 lignes sont les composantes des vecteurs de la base de R0 exprimes dans R1

soit respectivement ~x0/R1, ~y0/R1

et ~z0/R1.

Chaque element de la matrice est nomme cosinus directeur.

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 19: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

2.3. ORIENTATION DETERMINEE PAR UNE MATRICE 19

Outre le fait d’exprimer l’orientation d’un repere par rapport a un autre, la matrice 0M1

dite (( de passage de R0 a R1 )) permet d’exprimer les coordonnees d’un vecteur v dans lerepere R0 a partir de ses coordonnees donnees dans le repere R1 :

0v = 0M1.1v

NB: A l’inverse, on peut bien entendu ecrire : 1v = 1M0.0v.

2.3.2 Proprietes

Par definition, les lignes et les colonnes sont des vecteurs unitaires. De plus, les lignes (resp.colonnes) representent des vecteurs perpendiculaires 2 a 2, donc de produit scalaire nul. Uneligne (resp. colonne) est le produit vectoriel des 2 autres (en respectant le sens direct).

Les coefficients de M10 sont donc lies par des equations de contrainte. Ils ne sont donc pas

independants et l’information fournie par M10 sur l’orientation de S1 est ainsi exprimee de facon

redondante et implicite (les angles donnant l’orientation n’apparaissent pas directement).

Exprimons a present 1M0, la matrice de passage de R1 a R0 :

1M0 =[~x0/R1

~y0/R1~z0/R1

]=

~x0.~x1 ~y0.~x1 ~z0.~x1

~x0.~y1 ~y0.~y1 ~z0.~y1

~x0.~z1 ~y0.~z1 ~z0.~z1

Il apparaıt alors que :

1M0 =(

0M1

)TEn outre, comme les vecteurs de base de chaque repere sont perpendiculaires 2 a 2, si l’on

calcule 1M0.0M1 et 0M1.

1M0, il vient :

1M0.0M1 = 0M1.

1M0 = I3 (matrice identite)

D’ou :

1M0 =(

0M1

)T=(

0M1

)−1

On peut egalement noter que :

det 0M1 = det 1M0 = 1

Les matrices de passage sont des matrices unitaires et orthogonales.

Enfin, on demontre la relation de composition. Soit un vecteur quelconque v dans l’espace.iMj est telle que iv = iMj .

jv. En utilisant deux fois cette relation, on peut ecrire que :

0v = 0M1.1v = 0M1.

1M2.2v

On en deduit aisement la relation de composition suivant :

0M2 = 0M1.1M2

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 20: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

20 CHAPITRE 2. REPERAGE D’UN SOLIDE DANS L’ESPACE

2.3.3 Matrices de rotation usuelles

Si la rotation d’un repere Rn par rapport a un repere Rn−1 s’effectue autour d’un des axesde base de Rn−1, il est facile d’ecrire la matrice de passage entre Rn−1 et Rn.

NB: Les rotations sont definies dans le sens direct.

Rotation autour de l’axe ~xn−1 (quand ~xn = ~xn−1)

-

6

�����

����:

CCCCCCCCCO

e ~yn−1

~yn

~zn−1~zn

��9

BBM α

α

~xn−1 = ~xn (sur ce schema, α > 0)

En calculant les coefficients de la matrice de passage entre Rn−1 et Rn dans cette situation,il vient :

n−1Mn = rot(~xn−1, α) =

1 0 00 cα −sα0 sα cα

NB: cα designe cos(α) et sα designe sin(α).

Rotation autour de l’axe ~yn−1 (quand ~yn = ~yn−1)

-

6

XXXXXXXXXz

����������

e ~xn−1

~xn

~zn−1 ~zn

��

XXz

α

α

~yn−1 = ~yn (sur ce schema, α > 0)

n−1Mn = rot(~yn−1, α) =

cα 0 sα0 1 0−sα 0 cα

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 21: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

2.4. ORIENTATION DETERMINEE PAR TROIS ANGLES 21

Rotation autour de l’axe ~zn−1 (quand ~zn = ~zn−1)

-

6

������

���:

CCCCCCCCCO

e ~xn−1

~xn

~yn−1~yn

��9

BBM α

α

~zn−1 = ~zn (sur ce schema, α > 0)

n−1Mn = rot(~zn−1, α) =

cα −sα 0sα cα 00 0 1

2.4 Orientation determinee par trois angles

Outre l’utilisation de la matrice de rotation decrite precedemment, on peut egalement ex-primer les trois ddl de rotation de R1 par rapport a R0 de maniere explicite et non redondante,par trois angles.

Pour ce faire, on definit R1 = (OO, ~x1, ~y1, ~z1) ayant meme origine que R0. R1 peut se deduirede R0 par trois rotations successives, en definissant deux reperes intermediaires R′ et R′′.

La premiere rotation fait passer de R0 a R′, la seconde de R′ a R′′ et la troisieme de R′′

a R1. Ces trois rotations peuvent alors etre definies de differentes manieres (a condition quedeux rotations consecutives ne soient pas autour du meme axe).

Ainsi, pour exprimer de cette maniere l’orientation d’un solide, ou de l’organe terminald’un robot, on peut choisir, parmi les diverses possibilites, celle qui, selon le robot considere,permettra l’expression de l’orientation la plus simple en fonction des qi (coordonnees articulairesdu robot). Notons que les angles nautiques ont peut-etre l’avantage d’etre plus (( parlants )),donc plus ergonomiques pour un operateur qui essaie de se representer l’orientation de l’effecteurpar rapport a la base du robot. On trouve donc ce type de representation sur la plupart desrobots industriels.

2.4.1 Angles nautiques

Les angles nautiques, egalement appeles angles de cardan, angles de Tait-Bryan ou encorelacet-tangage-roulis (LTR), definissent les trois rotations suivantes :

— le lacet (yaw) α, autour de l’axe ~z0, fait passer de R0 a R′,— le tangage (pitch) β, autour de l’axe ~y ′, fait passer de R′ a R′′,— le roulis (roll) γ, autour de l’axe ~x ′′, fait passer de R′′ a R1.

rot(~z0, α) rot(~y′, β) rot(~x′′, γ)

R0 −→ R′ −→ R′′ −→ R1

NB: Pour garantir l’unicite de la representation de l’orientation par les trois angles nautiques,il faut choisir ces angles dans les intervalles suivants :

−π ≤ α < π ; −π2≤ β < π

2; −π ≤ γ < π.

De plus, si β = −π2 , la representation n’est plus unique.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 22: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

22 CHAPITRE 2. REPERAGE D’UN SOLIDE DANS L’ESPACE

La matrice de rotation equivalente a une orientation donnee par les angles nautiques est :

0M1 = rot(~z0, α).rot(~y′, β).rot(~x′′, γ) =

cα −sα 0sα cα 00 1

cβ 0 sβ0 1 0−sβ 0 cβ

1 0 00 cγ −sγ0 sγ cγ

=

cαcβ −sαcγ + cαsβsγ sαsγ + cαsβcγsαcβ cαcγ + sαsβsγ −cαsγ + sαsβcγ−sβ cβsγ cβcγ

Inversement, connaissant une matrice de rotation 0M1, il est possible de calculer les angles

nautiques :— si m11 = 0 et m21 = 0,

α = 0

β = atan2(−m31,m11)

γ = atan2(−m23,m22)

— sinon, α = atan2(m21,m11)

β = atan2(−m31, cαm11 + sαm21)

γ = atan2(sαm13 − cαm23, cαm22 − sαm12)

NB: La fonction atan2 est une fonction arctangente a deux arguments definie telle que :

atan2 : R2 → ]− π ; π](y, x) 7→ atan2(y, x)

Dans certains ouvrages ou interfaces de programmation, les angles nautiques sont definisdans l’ordre RTL et non LTR comme il vient d’etre presente. Les rotations sont alors lessuivantes :

rot(~x0, γ) rot(~y′, β) rot(~z′′, α)

R0 −→ R′ −→ R′′ −→ R1

2.4.2 Angles d’Euler

Les angles d’Euler definissent les trois rotations suivantes :— la precession ψ, autour de l’axe ~z0, fait passer de R0 a R′,— la nutation θ, autour de l’axe ~x ′, fait passer de R′ a R′′,— la rotation propre φ, autour de l’axe ~z ′′, fait passer de R′′ a R1.

rot(~z0, ψ) rot(~x′, θ) rot(~z′′, φ)

R0 −→ R′ −→ R′′ −→ R1

La matrice de rotation equivalente a une orientation donnee par les angles d’Euler est :

0M1 = rot(~z0, ψ).rot(~x′, θ).rot(~z′′, φ) =

cφcψ − sφcθsψ −sφcψ − cφcθsψ sθsψcφsψ + sφcθsψ −sφsψ + cφcθcψ −sθcψ

sφsθ cφsθ cθ

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 23: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

2.5. ORIENTATION DETERMINEE PAR UN VECTEUR ET UN ANGLE 23

NB: Pour garantir l’unicite de la representation de l’orientation par les trois angles d’Euler,il faut choisir ces angles dans les intervalles suivants :

−π ≤ ψ < π ; −π2≤ θ < π

2; −π ≤ φ < π.

De plus, si θ = 0, la representation n’est plus unique.

Comme pour les angles nautiques, il existe des formules permettant de retrouver les anglesd’Euler a partir d’une matrice de rotation [8].

2.5 Orientation determinee par un vecteur et un angle

L’orientation d’un repere par rapport a un autre peut se decrire par une unique rotation. Eneffet, une matrice de rotation a toujours une valeur propre egale a un et deux valeurs propresconjuguees cos(θ)± i sin(θ) ou θ est l’angle de rotation.

Le vecteur propre u (unitaire) associe a la valeur propre unitaire est invariant par la rotationpuisque par definition, u est solution de 0M1.u = u. L’orientation de R1 par rapport a R0 estdonc completement definie par quatre parametres qui decrivent une rotation unique d’angle θ(avec 0 ≤ θ ≤ π) autour de l’axe de vecteur unitaire u.

Inversement, connaissant un vecteur de rotation unitaire u et un angle de rotation θ, il estpossible de calculer la matrice de rotation en utilisant la formule de Rodrigues [8] :

0M1 = I3 + sin(θ)S(u) + (1− cos(θ)) u.uT

avec S(u) la matrice antisymetrique associee au vecteur u.

De maniere plus compacte, la rotation peut etre egalement representee par le vecteur θuet donc seulement 3 parametres. Bien que cette representation soit minimale, elle n’est pasutilisee car elle pose des problemes de conditionnement au voisinage de θ = 0.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 24: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

24 CHAPITRE 2. REPERAGE D’UN SOLIDE DANS L’ESPACE

2.6 Orientation determinee par les quaternions

Les quaternions sont egalement appeles parametres Euler ou parametres d’Olinde-Rodrigues.Dans cette representation, l’orientation est egalement exprimee de maniere redondante parquatre parametres qui decrivent une rotation unique d’angle θ (0 ≤ θ ≤ π) autour d’un axe devecteur unitaire u.

Les quaternions q1 a q4 sont definis comme suit :q1 = cos (θ/2)q2 = ux sin (θ/2)q3 = uy sin (θ/2)q4 = uz sin (θ/2)

⇒{q2

1 + q22 + q2

3 + q24 = 1

cos θ = 2q21 − 1

Dans ces conditions et tous calculs faits, la matrice de rotation s’exprime de la facon sui-vante :

0M1 =

2(q21 + q2

2)− 1 2(q2q3 − q1q4) 2(q2q4 + q1q3)2(q2q3 + q1q4) 2(q2

1 + q23)− 1 2(q3q4 − q1q2)

2(q2q4 − q1q3) 2(q3q4 + q1q2) 2(q21 + q2

4)− 1

On trouve cette representation de l’orientation de l’organe terminal du robot par rapport a

sa base sur certains robots industriels. Par rapport aux matrices de rotation, les calculs utilisantles quaternions sont plus efficaces (en terme de complexite) et numeriquement stable. Ils sontnotamment utilises en infographie 3D.

2.7 Transformation homogene

2.7.1 Definition

Soit P un point du solide. Le but est ici d’exprimer les coordonnees du vecteur−−→O0P dans

R0 en fonction des coordonnees de−−→O1P dans R1, c’est-a-dire d’exprimer

−−→O0P /R0

en fonction

de−−→O1P /R1

. Pour ce faire, on peut ecrire :

−−→O0P =

−−−→O0O1 +

−−→O1P

Notons que−−−→O0O1 est un vecteur qui peut s’exprimer aisement dans R0. De meme,

−−→O1P est

un vecteur qui peut s’exprimer aisement dans R1.La relation precedente, exprimee dans R0 s’ecrit :

−−→O0P /R0

=−−−→O0O1/R0

+−−→O1P /R0

En designant 0M1 la matrice de passage de R0 a R1, on peut ecrire :

−−→O1P /R0

= 0M1.−−→O1P /R1

Ainsi, il vient la relation utile :

−−→O0P /R0

=−−−→O0O1/R0

+ 0M1.−−→O1P /R1

qu’on peut egalement ecrire :0p = 0o1 + 0M1.

1p

Ecrivons cette expression sous la forme matricielle suivante :[−−→O0P /R0

1

]=

[0M1

−−−→O0O1/R0

∅1×3 1

][−−→O1P /R1

1

]

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 25: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

2.7. TRANSFORMATION HOMOGENE 25

On pose :

0T1 =

[0M1

−−−→O0O1/R0

∅1×3 1

]=

[0M1

0o1

∅1×3 1

]

La matrice 0T1 est appelee matrice de transformation homogene. Elle contient les memesinformations que les equations ecrites precedemment, mais sous une forme matricielle plus(( compacte )).

La matrice de transformation homogene 0T1 dite (( de passage de R0 a R1 )) permet d’ex-primer dans le repere R0 les coordonnees d’un point P a partir de ses coordonnees donneesdans le repere R1 : [−−→

O0P /R0

1

]= 0T1.

[−−→O1P /R1

1

]

soit :0p = 0T1.

1p

Le vecteur p (de dimension 4) represente les coordonnees homogenes du point P .

On dit egalement que la transformation 0T1 definit le repere R1 dans le repere R0.

Outre les changements de repere, les matrices de transformations permettent de representerles homotheties ainsi que les modeles de projections utilises en vision comme la projectionperspective et la projection orthographique (cf. chapitre 9.6).

2.7.2 Proprietes

On a, par definition :

1T0 =

[1M0

−−−→O1O0/R1

∅1×3 1

]=

[1M0 −

−−−→O0O1/R1

∅1×3 1

]=

[1M0 − 1M0.

−−−→O0O1/R0

∅1×3 1

]

Soit :

1T0 =

[(0M1

)T −(

0M1

)T.−−−→O0O1/R0

∅1×3 1

]

On montre alors aisement que 1T0.0T1 = 0T1.

1T0 = I4 et donc que :

1T0 =(

0T1

)−1 6=(

0T1

)Tet :

det 0T1 = det 0M1 = 1

Comme pour les matrices de rotation, on a naturellement aussi :

0T2 = 0T1.1T2

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 26: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

26 CHAPITRE 2. REPERAGE D’UN SOLIDE DANS L’ESPACE

2.8 Conclusion

La situation d’un solide S1 dans l’espace peut etre represente sous differentes formes :

— le vecteur−−→O0O1 et les trois angles nautiques α, β et γ,

— le vecteur−−→O0O1 et les trois angles d’Euler ψ, θ et φ,

— le vecteur−−→O0O1, l’angle θ et un vecteur unitaire u,

— le vecteur−−→O0O1 et le quaternion q1, q2, q3 et q4,

— le vecteur−−→O0O1 et la matrice de rotation 0M1,

— la matrice de transformation homogene 0T1.

En robotique, les quatre premieres representations sont utilisees pour decrire les tachesqu’un robot doit effectuer, notamment dans les langages de programmation et les interfaceshomme-machine. Les deux dernieres representations sont utilisees pour calculer les differentsmodeles (geometrique, cinematique et dynamique) d’un robot et pour implanter les lois decommandes.

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 27: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Chapitre 3

Modeles geometriques direct etinverse

Rappelons qu’un robot est constitue d’un mecanisme polyarticule, le porteur, et d’un outildeplace et oriente par le porteur, l’effecteur ou organe terminal.

Dans la majorite des cas, on s’interesse exclusivement aux mouvements de l’effecteur dansl’espace operationnel, sans d’ailleurs s’interesser necessairement a celui dans le meme espacedes differents corps constituant le robot (sauf en cas de risque de collision du porteur avec desobjets de son environnement).

Le mouvement de l’effecteur dans l’espace est totalement decrit par l’evolution de 6 para-metres (3 pour la position et 3 pour l’orientation), chacun representant alors une coordonneeoperationnelle, regroupes en un vecteur colonne (6× 1) note x.

Ce mouvement est engendre par l’actionnement de n articulations actives (motorisees) duporteur, dont les variables (coordonnees articulaires) peuvent etre regroupees en un vecteurcolonne (n× 1) note q (q definit la (( posture )) du robot).

NB: La ieme coordonnee de x (resp. q) est note xi (resp. qi).

3.1 Modelisation geometrique directe d’un robot

3.1.1 Definitions et hypotheses

Definition 3. On appelle (( modele geometrique direct )) (MGD) d’un robot, l’application f deRn dans R6 (si n est le nombre d’axes du robot) exprimant x en fonction de q :

x = f(q) =

[position de l’effecteur dans R0

orientation de Rn par rapport a R0

]=

xyzαβγ

/R0

(si angles nautiques)

Le MGD permet donc de connaıtre les mouvements de l’effecteur dans l’espace de la tache,en fonction des mouvements des articulations du robot. Il permet notamment de determinerl’espace de travail du robot (domaine atteignable), en prenant en compte les butees articulaires.L’espace de travail est evidemment un critere majeur du choix d’un robot.

27

Page 28: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

28 CHAPITRE 3. MODELES GEOMETRIQUES DIRECT ET INVERSE

Figure 3.1 – Conventions de reperage.

NB: Le modele geometrique est donc un systeme de 6 equations permettant de calculer les 6inconnues xi en fonction des n valeurs qi.

Les structures mecaniques de robot etudiees ici ont les caracteristiques suivantes :

— les robots sont a chaıne cinematique ouverte, le dernier corps supportant l’effecteur (ouorgane terminal) ;

— les corps sont parfaitement rigides et sont connectes entre eux par des articulations(( ideales )) (pas de jeu mecanique ni d’elasticite).

Dans la suite n designe le nombre total d’axes du robot. On choisira les reperes associesaux corps du robot etudie de la maniere suivante :

— a chaque corps Si du robot est associe un repere Ri, du repere R0 associe a la base,jusqu’au repere Rn associe au dernier corps ;

— le repere R0 est situe a la base du robot, l’axe ~z0 vers le haut— le repere monde RS designe un repere de reference (distinct de R0), la transformation

de RS a R0 est appele placement du robot ;— le repere outil RP associe a l’organe terminal a son vecteur ~zP dans l’axe de l’effecteur

et (( sortant )) du robot (dirige vers l’exterieur) ; RP peut etre distinct de Rn ;— les coordonnees operationnelles de l’effecteur s’exprime en un point privilegie P de cet

effecteur (P est donc l’origine du repere outil RP ).— les coordonnees articulaires sont notes qi (qi designera un angle pour une articulation

rotoıde et une longueur pour une articulation prismatique) ;— dans la posture dite de reference toutes les coordonnees articulaires sont nulles,

NB: Les hypotheses concernant la structure des robots etudiees sont quelque peu restrictives,mais sont valables pour la grande majorite des robots industriels. Les hypotheses surle choix des reperes ne generent en revanche aucune restriction. Elles sont destineesuniquement a simplifier le calcul des modeles.

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 29: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

3.1. MODELISATION GEOMETRIQUE DIRECTE D’UN ROBOT 29

(a) Disposition de reference (b) Disposition quelconque

Figure 3.2 – Convention de reperage d’une articulation rotoıde.

Il s’agit maintenant d’exprimer le modele geometrique direct d’un robot, x = f(q), quiexprime la position et l’orientation de l’organe terminal en fonction des coordonnees articulairesdu robot.

3.1.2 Modelisation d’une articulation

Soient deux solides Si−1 et Si, lies par une articulation de mobilite 1, de type rotoıde ouprismatique.

Articulation rotoıde (liaison pivot)

A chaque solide est lie un repere (Ri pour Si et Ri−1 pour Si−1). On choisit ces reperes detelle maniere qu’ils soient equipollents (c’est-a-dire qu’ils se deduisent par une simple transla-tion) dans la disposition de reference.

D’autre part, la rotation de Si par rapport a Si−1 est d’angle qi autour de l’axe de rotationde vecteur unitaire ~ui, avec qi = 0 dans la disposition de reference.

Enfin, on choisit l’origine Oi de Ri sur l’axe de rotation et on fait coıncider l’un des axesde Ri avec l’axe de rotation ~ui. Ainsi, la matrice de passage i−1Mi s’ecrit aisement.

Soit P un point de Si. On exprime alors les coordonnees du vecteur−−−−→Oi−1P dans Ri−1 :

−−−−→Oi−1P /Ri−1

=−−−−→Oi−1Oi/Ri−1

+ i−1Mi.−−→OiP /Ri

ou sous forme d’une matrice de transformation homogene :

i−1Ti =

[i−1Mi

−−−−→Oi−1Oi/Ri−1

∅1×3 1

]

Notons que−−−−→Oi−1Oi est un vecteur de longueur constante qui peut s’exprimer aisement dans

Ri−1. De meme,−−→OiP est un vecteur de longueur constante qui peut s’exprimer aisement dans

Ri.Par exemple, si on choisit P sur ~zi, et que li designe la longueur OiP , on peut alors ecrire :

−−→OiP /Ri

=

00li

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 30: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

30 CHAPITRE 3. MODELES GEOMETRIQUES DIRECT ET INVERSE

(a) Disposition de reference (b) Disposition quelconque

Figure 3.3 – Convention de reperage d’une articulation prismatique.

Articulation prismatique (liaison glissiere)

Dans ce cas, le mouvement relatif des deux solides est une translation d’axe representepar son vecteur unitaire ~ui. La variable qi represente cette fois-ci non plus un angle, mais unelongueur correspondant a la translation effectuee.

Comme dans le cas precedent, on choisit Ri−1 et Ri equipollents dans la disposition de refe-rence, c’est-a-dire correspondant a une translation pure. Ri−1 et Ri resteront ici constammentequipollents.

Enfin, on choisit l’origine Oi de Ri sur l’axe de translation.

Le point Ori designe l’origine Oi du repere Ri dans la disposition de reference. La longueurOi−1O

ri est donc constante. Elle s’exprime aisement dans Ri−1. Lorsqu’un mouvement est

effectue, Oi (( s’eloigne )) de Ori . On peut ecrire :

−−−−→Oi−1P /Ri−1

=−−−−−→Oi−1O

ri +−−−→OriOi +

−−→OiP

C’est a dire :

−−−−→Oi−1P /Ri−1

=−−−−−→Oi−1O

ri + qi~ui +

−−→OiP

Ou encore sous forme d’une matrice de transformation homogene :

i−1Ti =

[I3

−−−−−→Oi−1O

ri + qi~ui

∅1×3 1

]

Quand cela est possible, on peut choisir l’un des axes de Ri−1 (c’est a dire egalement l’undes axes de Ri), par exemple ~xi−1, identique a l’axe de translation et les points Oi−1, Oi et Ple long de cet axe tel qu’indique sur la figure precedente. Dans ces conditions, on peut ecrire :

−−−−→Oi−1P /Ri−1

= (li−1 + qi + li)~xi−1

ou li−1 et li designe respectivement les longueurs Oi−1Ori et OiP .

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 31: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

3.1. MODELISATION GEOMETRIQUE DIRECTE D’UN ROBOT 31

3.1.3 Orientation de l’organe terminal

De maniere implicite

L’orientation de l’effecteur par rapport a la base, c’est a dire de RP par rapport a R0 peuts’exprimer de maniere implicite par la matrice de passage 0MP de R0 a RP .

D’apres les paragraphes precedents, on peut aisement exprimer i−1Mi correspondant aun axe de rotation (par l’une des trois formes explicitee au paragraphe 2.3) ou a un axe detranslation (dans le cas de la translation, cette matrice est la matrice identite). On en deduitdonc aisement que :

0Mn =

n∏i=1

i−1Mi

et :0MP = 0Mn.

nMP

De maniere explicite

Si on souhaite connaıtre les coordonnees d’un vecteur particulier, par exemple l’orientationde l’organe terminal (axe ~z du repere outil), on ecrit :

~zn/R0= 0Mn.

nMP .

001

Si on souhaite exprimer l’orientation du repere outil a travers trois angles choisis judicieu-sement selon la cinematique du robot (angles nautiques, d’Euler, etc.), on utilise les formulesde transformations inverses (cf. chapitre 2).

3.1.4 Position de l’organe terminal

On chercher a calculer les coordonnees du point P de l’organe terminal dans le repere R0,

soit−−→O0P /R0

.

Avec les matrices d’orientation

On ecrit :

−−→O0P =

−−−→O0O1 +

−−−→O1O2 +

−−−→O2O3 + ...+

−−−−−→On−1On +

−−→OnP

S’il y a des translations, une par exemple entre le corps i − 1 et le corps i, on decompose−−−−→Oi−1Oi en

−−−−−→Oi−1O

ri +−−−→OriOi.

Quel que soit l’axe i du robot (1 ≤ i ≤ n), on peut aisement exprimer les coordonnees des

vecteurs−−−−→Oi−1Oi/Ri−1

. D’autre part, on sait egalement exprimer les matrices de passage i−1Mi

en fonction des qi.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 32: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

32 CHAPITRE 3. MODELES GEOMETRIQUES DIRECT ET INVERSE

On ecrit alors :

−−→O0P /R0

=−−−→O0O1/R0

+−−−→O1O2/R0

+−−−→O2O3/R0

+ ...+−−−−−→On−1On/R0

+−−→OnP /R0

=−−−→O0O1/R0

+0M1−−−→O1O2/R1

+0M11M2−−−→O2O3/R2

+...+0M11M2...

n−2Mn−1−−−−−→On−1On/Rn−1

+0M1...n−1Mn

−−→OnP /Rn

Soit :

−−→O0P /R0

=−−−→O0O1/R0

+ ...+ 0Mi−1−−−−→Oi−1Oi/Ri−1

+ ...+ 0Mn−1−−−−−→On−1On/Rn−1

+ 0Mn−−→OnP /Rn

Avec les matrices de transformation homogene

En calculant 0Tn =n∏i=1

i−1Ti, on obtient :

0Tn =

[0Mn

−−−→O0On/R0

∅1×3 1

]On peut alors obtenir directement les coordonnes du point P dans le repere R0 :[−−→

O0P /R0

1

]= 0Tn.

[−−→OnP /Rn

1

]

Cette methode est interessante de par sa (( compacite )) : il ne s’agit que de multiplier desmatrices.

3.1.5 Convention de Denavit-Hartenberg

En choisissant les reperes Ri d’une maniere bien precise, on peut exprimer les relations auxdifferents axes en utilisant les parametres de Denavit-Hartenberg (ou de Denavit-Hartenbergmodifie, qui permet egalement la prise en compte des robots a chaıne cinematique complexe).Cette convention fournit pour chaque axe la matrice de transformation homogene correspon-dante par la connaissance de quatre parametres. Cette methode peut etre interessante pour(( systematiser )) les calculs du modele geometrique.

Le choix des reperes est le suivant :

— l’axe ~zi correspond a l’axe de l’articulation i,— l’axe ~xi est porte par la perpendiculaire commune aux axes ~zi et ~zi+1,— si les axes des articulations i et i + 1 sont concourants, on choisit Oi et Oi+1 au point

d’intersection.

Le passage de Ri−1 a Ri s’exprime en fonction des quatre parametres de Denavit-Hartenbergmodifie suivants :

— αi : angle entre les axes ~zi−1 et ~zi, correspondant a une rotation autour de ~xi−1,— di : distance entre ~zi−1 et ~zi le long de ~xi−1,— θi : angle entre les axes ~xi−1 et ~xi, correspondant a une rotation autour de ~zi,— ri : distance entre ~xi−1 et ~xi le long de ~zi.

La variable articulaire qi est soit θi, soit ri, selon que l’articulation i est rotoıde ou prisma-tique.

En utilisant ces parametres, la matrice de transformation homogene i−1Ti s’ecrit :

i−1Ti = rot(~zi, θi).trans(~zi, ri).tans(~xi−1, di).rot(~xi−1, αi)

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 33: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

3.1. MODELISATION GEOMETRIQUE DIRECTE D’UN ROBOT 33

6

JJJJJJJJJJJJJJJJJ]

��������7

��JJ

TT��

JJJ]

���

~zi−1

Oi−1

di

Oi

~zi

~xi−1

αi

ri

θi

~xi

������

������

������

�����

������

�����:

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

Figure 3.4 – Convention de Denavit-Hartenberg (sur ce schema αi < 0 et θi < 0).

soit :

i−1Ti =

cos θi − sin θi 0 di

cosαi sin θi cosαi cos θi − sinαi −ri sinαisinαi sin θi sinαi cos θi cosαi ri cosαi

0 0 0 1

La methode consiste tout d’abord a placer les reperes sur le robot tout en remplissant un

tableau avec les parametres utiles.

Articulation σi αi dj θi ri1

2

...

n(avec σi = 0 si l’articulation est rotoıde,σi = 1 si l’articulation est prismatique)

A partir du tableau, il est alors aise de calculer 0T1, 1T2, ..., n−1Tn puis 0Tn sachant que

0Tn =n∏i=1

i−1Ti

Ces calculs peuvent etre automatises.

Ce type de representation permet de traiter tous les cas de figures, y compris ceux des robots(( biscornus )). Cela n’est pourtant apparemment pas le cas des robots industriels, mais, lorsquel’on veut obtenir par identification le modele geometrique tres precis d’un robot (notammentpour en ameliorer sa commande), c’est a dire prendre en compte les defauts de fabrication(decalages divers, non-coaxialites, defauts angulaires), une representation generique de typeDenavit-Hartenberg s’avere tres utile.

3.1.6 Synthese

On est donc a present capable d’exprimer le modele geometrique d’un robot. Quelle quesoit la methode, on peut exprimer ce modele a l’aide d’une unique matrice de transformationhomogene 0TP .

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 34: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

34 CHAPITRE 3. MODELES GEOMETRIQUES DIRECT ET INVERSE

Figure 3.5 – Illustration du lien entre espace des configurations et domaine atteignable.

En multipliant la matrice 0Tn par la matrice de transformation homogene associee a l’ef-fecteur, notee nTP , dans laquelle la matrice de rotation est la matrice identite. On obtientalors :

0TP = 0Tn.nTP =

[0MP

−−→O0P /R0

∅1×3 1

]Cette matrice 0TP exprime d’un seul coup la rotation de l’effecteur par 0MP et sa position

par−−→O0P /R0

.

3.2 Domaine atteignable

Definition 4. Soit q les coordonnees articulaires d’un robot a n axes et tel que chaque qi aitun debattement limite par les butees articulaires :

qi ∈ [qimin , qimax ] ⇒ q ∈ Q ⊂ Rn (Q est un pave de Rn)

Q est nomme espace des configurations du robot.

L’un des criteres fondamentaux pour effectuer le choix d’un robot en fonction de la tachea realiser est naturellement les mouvements possibles de l’effecteur dans l’espace operationnel.Cette donnee s’exprime par l’intermediaire de l’espace de travail ou domaine atteignable D =f(Q) comme l’illustre la figure 3.5 (notons qu’il peut y avoir eventuellement des contraintesd’auto-collision du porteur qui reduisent le domaine D).

Definition 5. On appelle domaine atteignable d’un robot, la variete D de R6 definie par :

D = {f(q) |q ∈ Q}

La dimension d de D est (( presque partout )) (en excluant les postures singulieres) egale aunombre de degres de liberte du robot : d = dim(D) ≤ min(n, 6) (le cas n > d correspond a unestructure redondante de robot).

Il est difficile de se representer completement D, qui est a priori de dimension 6. Pour lerepresenter, on le scinde en deux :

— DP = fP (Q) : domaine des positions atteignables, chacune pour au moins une orienta-tion de l’effecteur,

— DO = fO(Q) : domaine des orientations atteignables, chacune pour au moins une positionde P .

Le cas echeant, si la tache implique que les trajectoires de l’effecteur doivent s’effectuersur un plan, on peut etre amene a determiner le domaine atteignable pour une orientationconstante de l’effecteur, correspondant a celle du plan. On peut ainsi, selon la tache a realiser,etre amene a s’interesser a :

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 35: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

3.3. MODELE GEOMETRIQUE INVERSE D’UN ROBOT 35

— D∗P (α, β, γ) : domaine des positions atteignables, chacune pour une orientation don-nee de l’effecteur,

— D∗O(x, y, z) : domaine des orientations atteignables, chacune pour une position don-nee de P .

Ces domaines atteignables sont plus restrictifs que les precedents :

D∗O ⊂ DO et D∗P ⊂ DP

3.3 Modele geometrique inverse d’un robot

Comme indique dans le chapitre precedent, la commande d’un robot requiert, a partir destrajectoires desirees de l’effecteur dans l’espace operationnel, de connaıtre les coordonnees arti-culaires correspondantes. Ceci peut donc etre realisee a partir du modele geometrique inverse,en calculant qd = f−1(xd) (a condition que l’on puisse inverser le modele geometrique).

3.3.1 Definition

Definition 6. On appelle modele geometrique inverse (MGI), l’application f−1 de R6 dans Rnexprimant q en fonction de x :

q = f−1(x)

Le MGI est destine a realiser un transformateur de coordonnees, a partir des coordonneesoperationnelles souhaitees vers les consignes articulaires correspondantes. Le MGI est donc laforme explicite qui donne toutes les solutions possibles pour q, correspondantes a un x fixe.

Le probleme majeur est que dans la majorite des cas (sauf robots cartesiens), le MGDest non lineaire (il contient des fonctions trigonometriques) et qu’il est donc souvent difficile,voire parfois quasi-impossible, de l’inverser directement. Neanmoins, pour la plupart des robotsindustriels, cette operation reste faisable.

Plusieurs methodes existent pour obtenir le MGI. Parmi celles-ci, on peut citer les cinqclasses de methodes suivantes :

— les methodes geometriques, permettant d’obtenir chaque variable articulaire a partir deconsiderations geometriques,

— les methodes generales, utilisant le MGD et s’adaptant a la plupart des robots,— les methodes specifiques aux robots a six degres de liberte a poignet spherique (trois

articulations rotoıdes d’axes concourants),— les methodes specifiques pour des robots a (( cinematique particuliere )).

3.3.2 Nombre de solutions possibles

Un robot est dit resoluble lorsqu’il est possible de calculer toutes les configurations des axes(tous les differents q possibles) permettant d’atteindre une situation operationnelle donnee (xdonne). La quasi-totalite des robots industriels est resoluble.

Quand on calcule le MGI d’un robot, trois cas peuvent se presenter, selon le robot etudie :— il n’y a aucune solution permettant de satisfaire au x souhaite, car celui-ci est en dehors

du domaine atteignable du robot : dans ce cas, le robot n’est pas adapte a la tache oumal positionne dans la cellule ;

— il y a une infinite de solutions : si le robot est redondant vis-a-vis de la tache a realiser,ou si le robot se trouve en configuration singuliere (voir chapitre suivant), generantainsi une redondance locale au prix de la perte d’un ou plusieurs ddl. Cette situationn’est pas directement imputable a la structure du robot, mais aux valeurs numeriquesparticulieres prises par les coordonnees de x ;

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 36: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

36 CHAPITRE 3. MODELES GEOMETRIQUES DIRECT ET INVERSE

Figure 3.6 – Exemple de solutions du MGI pour un robot 6R.

— il y a un nombre fini de solutions. Ce nombre depend de la structure cinematique durobot. Par exemple pour les robots a 6 ddl et a poignet spherique, il y a au maximum32 solutions. La figure 3.6 donne les 8 solutions du MGI d’un robot 6R (6 articulationsrotoıdes).

3.3.3 Methode geometrique

Cette methode est interessante pour des robots a structure simple et ne necessite pas for-cement le calcul prealable du modele geometrique direct. Elle consiste a utiliser les relationstrigonometriques d’un triangle quelconque. On essaie alors de ramener le probleme a la resolu-tion de triangles, en partant souvent de l’effecteur, pour remonter jusqu’a la base du robot.

Prenons par exemple une articulation rotoıde d’un robot, comme indiquee sur le schemasuivant. En supposant connues les longueurs a, b et c, on peut calculer l’angle α par la relation :

a2 = b2 + c2 − 2bc cosα

((((((((((((((((((((����������PPPPPPPPPPPuu

uOi−1

Oi+1

Oi

a

bc

α

?qi�

���

Ceci permet alors de calculer qi. Il peut naturellement exister plusieurs solutions qui serontexprimees a l’aide des fonctions trigonometriques inverses. On rappelle que :

acos : [−1 ; 1] → [0 ; π]x 7→ acos(x)

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 37: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

3.3. MODELE GEOMETRIQUE INVERSE D’UN ROBOT 37

et :asin : [−1 ; 1] → [−π/2 ; π/2]

x 7→ asin(x)

On utilise egalement la fonction arctangente a deux arguments :

atan2 : R2 → ]− π ; π](y, x) 7→ atan2(y, x)

3.3.4 Methode generale d’inversion

La methode generale d’inversion a ete proposee par Paul en 1981 [8].Soit un robot a n degres de liberte dont la structure est representee par la matrice de

transformation homogene 0TP = 0T1.1T2...

nTP .Soit U la matrice de transformation decrivant l’orientation et la position desirees.On souhaite resoudre l’equation generale suivante dont les qi sont solutions :

U = 0TP

Pour calculer les qi, on procede en plusieurs etapes. On ecrit d’abord :

1T0.U = 1T2...nTP

Le terme de gauche, note matrice MG, n’est fonction que de q1 et le terme de droite, notematrice MD, est fonction de q2...qn. On peut alors obtenir q1 par identification d’un ou deuxelements judicieusement choisis des deux matrices MG et MD.

Une fois q1 calcule, on ecrit :

2T1.1T0.U = 2T3...

nTP

Cette fois, q1 etant calcule, le terme de gauche ne depend que de q2 et celui de droite deq3...qn. De meme que precedemment, on choisit d’identifier le ou les termes des deux matricespermettant le calcul de q2.

On reitere ainsi le processus, jusqu’a obtenir la derniere coordonnee articulaire qn en ecri-vant :

nTn−1...2T1.

1T0.U = nTP

Cette methode est generale mais demande un peu de pratique. Heureusement pour les robotsayant une cinematique classique, on retombe sur un petit nombre de cas de figures qui sontrepertories dans les ouvrages de references (voir par exemple [4]). A la main, elle est souventplus complexe a mettre en œuvre pour les robots etudies que la methode geometrique.

3.3.5 Methode d’inversion pour les robots a 6 ddl a poignet spherique

On a vu dans le premier chapitre que les poignets a 3 articulations rotoıdes d’axes concou-rants correspondent a une liaison rotule. Un tel poignet est donc equivalent a un poignetspherique.

Pour avoir un robot a 6 ddl, le porteur (en excluant le poignet) doit donc posseder egalement3 articulations.

Pour de tels robots, on peut alors obtenir de maniere explicite le MGI. Le schema suivantrepresente un porteur quelconque a 3 axes (q1, q2, q3) suivi des 3 articulations du poignet (q4,q5, q6). Ces 3 articulations sont representees par une liaison rotule.

Les donnees du probleme sont le vecteur−−→O0P /R0

et l’orientation du repere RP dans R0,

representee par la matrice de passage 0MP (definie par exemple par les angles nautiques).

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 38: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

38 CHAPITRE 3. MODELES GEOMETRIQUES DIRECT ET INVERSE

Figure 3.7 – Conventions de reperage pour l’inversion des robots a 6 ddl a poignet spherique.

Calcul de−−→O0C/R0

La distance PC est constante et C est un point fixe de RP , donc on peut connaıtre aisement−−→PC/RP

. On peut ensuite ecrire :

−−→O0C/R0

=−−→O0P /R0

+−−→PC/R0

=−−→O0P /R0

+ 0MP−−→PC/RP

−−→O0P /R0

, 0MP et−−→PC/RP

sont connus, donc on peut calculer−−→O0C/R0

.

Resolution du porteur : calcul de q1, q2 et q3

Connaissant−−→O0C/R0

, on peut resoudre le porteur (par exemple par une methode geome-trique) en prenant soin d’examiner toutes les solutions possibles (si on ne tient pas comptedes butees articulaires, il y a au plus quatre solutions, c’est a dire quatre postures du porteurpermettant d’atteindre le meme point C).

NB:−−→O0C/R0

= g(q1, q2, q3) correspond a un systeme de trois equations a trois inconnues.

Calcul de 3MP (MGD du poignet)

On calcule 3MP a partir des trois variables articulaires q4, q5 et q6.

Resolution du poignet : calcul de q4, q5 et q6

Les angles q1, q2 et q3 etant connus, on peut calculer la matrice de passage 0M3 =0M1.

1M2.2M3. Connaissant l’orientation desiree de RP definie par 0MP , on peut alors calculer

3MP par la relation :

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 39: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

3.4. CONCLUSION 39

3MP = 3M0.0MP = (0M3)T . 0MP

En egalisant les deux matrices 3MP , on peut alors en deduire q4, q5 et q6.Si q5 = 0 (ou q5 = π), il y a une infinite de solutions. Il s’agit de la singularite du poignet

(voir chapitre suivant). Dans les autres cas, il y a deux solutions (sans tenir compte des buteesarticulaires).

3.3.6 Methodes d’inversion pour des robots a (( cinematique particuliere ))

Rappelons que le MGI peut etre vu comme la resolution de 6 equations a n inconnues (q1

a qn).

Robots redondants

Lorsque n > 6, c’est a dire lorsque le robot est redondant, le systeme a resoudre contientplus d’inconnues que d’equations. Il y a donc une infinite de solutions possibles.

On peut alors fixer arbitrairement (n−6) variables articulaires ou introduire (n−6) relationssupplementaires. Ces choix peuvent etre dictes par la tache a effectuer ou par la morphologiedu robot.

Robots a nombre d’articulations inferieur a 6

Dans le cas ou n < 6, le robot ne peut pas generer les 6 ddl de l’espace. Le MGD fait doncapparaıtre (6 − n) equations de contraintes entre les 6 coordonnees de x, interdisant ainsi deles choisir independamment.

3.4 Conclusion

Du fait de la non linearite du MGD, le MGI peut s’averer complexe a calculer. Il n’existe pasd’(( algorithme universel )) permettant de resoudre toutes les structures de robot. Neanmoins, laquasi-totalite des robots industriels est resoluble. Pour les autres, on peut utiliser une methodenumerique utilisant le modele differentiel defini au chapitre suivant.

Le MGI, par rapport aux methodes numeriques, a l’avantage de donner toutes les solutionspossibles. Certaines sont d’emblee eliminees car elles ne satisfont pas les contraintes de buteesarticulaires. L’utilisateur a alors le choix des solutions restantes.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 40: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un
Page 41: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Chapitre 4

Modeles cinematiques direct etinverse

On s’interesse ici aux relations liant les vitesses operationnelles (c’est-a-dire la vitesse ins-tantanee du point P de l’effecteur et la vitesse de rotation du repere RP lie a l’organe terminal)en fonction des vitesses articulaires qi.

4.1 Definitions

4.1.1 Modele cinematique direct

Definition 7. On appelle modele cinematique direct (MCD) d’un robot, l’application donnantles vitesses operationnelles x en fonction des positions q et des vitesses q :

x = g(q, q)

Au contraire du modele geometrique, qui correspond a une relation non lineaire entre x etq, le modele cinematique correspond a une relation lineaire entre x et q. Le modele cinematiquepeut s’ecrire sous la forme :

x = J(q).q

La matrice J(q) est nommee matrice jacobienne ou simplement jacobienne du robot. Cettematrice est de dimension (d × n), ou d est le nombre de degres de liberte du robot (d = 6 aumaximum) et n le nombre d’axes.

Par convention, les matrices jacobiennes presentees dans ce cours seront toujours exprimeesdans le repere R0.

NB: La matrice jacobienne depend de q. Elle varie donc dans le temps en fonction des mou-vements du robot.

4.1.2 Modele cinematique inverse

On appelle modele cinematique inverse (MCI), l’application inverse de la precedente, don-nant q en fonction de x, soit :

q = [J(q)]−1 .x

Ce modele est calculable a condition que J(q) soit inversible. En fonction des valeurs deq, cette condition peut etre toujours verifiee, ou jamais verifiee, ou encore non verifiee surquelques points seulement, correspondant a des configurations singulieres.

41

Page 42: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

42 CHAPITRE 4. MODELES CINEMATIQUES DIRECT ET INVERSE

4.2 Jacobienne analytique

La matrice jacobienne peut s’obtenir en differentiant le modele geometrique representee parla fonction vectorielle f(q).

Soit le modele geometrique direct d’un robot exprime dans le repere R0 :

x = f(q)

En differentiant cette expression, on obtient :

x = 0Ja(q).q

avec 0Ja(q) la matrice jacobienne :

0Ja(q) =

∂f1

∂q1· · · ∂f1

∂qn...

. . ....

∂fd∂q1

· · · ∂fd∂qn

Cette matrice est appelee matrice jacobienne analytique (ou differentielle) pour la distin-

guer de matrice jacobienne cinematique presentee plus loin.

Les fi sont derivables car formes de fonctions affines et trigonometriques. Le calcul de 0Ja(q)est donc aisee mais peut etre couteux en temps de calcul. Il faut egalement faire attention al’instabilite numerique des algorithmes mis en œuvre.

La jacobienne analytique est generalement calculee en utilisant une representation explicitede l’orientation comme les angles d’Euler ou les angles nautiques. Par exemple, pour un robot 6axes, 6 ddl et une orientation definie par les angles nautiques, la jacobienne analytique s’ecrit :

xyzα

βγ

=

∂f1

∂q1· · · ∂f1

∂q6...

. . ....

∂f6

∂q1· · · ∂f6

∂q6

·

q1

q2

q3

q4

q5

q6

Neanmoins, les representations de l’orientation par trois angles sont mal adaptees pour

calculer les efforts articulaires. Pour ce faire, on preferera utiliser la jacobienne cinematiquefondee sur les torseurs cinematiques.

4.3 Jacobienne cinematique

Le mouvement de l’organe terminal peut egalement etre definit par sa vitesse instantanee etsa vitesse de rotation instantanee sous la forme d’un torseur cinematique. Cette partie proposed’etablir la relation entre ce torseur et les positions et vitesses articulaires q et q.

4.3.1 Cinematique du point

La vitesse instantanee d’un point P dans le repere Rj est definie par la derivee du vecteurposition :

jv(P ) = ddt

−−→OjP /Rj

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 43: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

4.3. JACOBIENNE CINEMATIQUE 43

Figure 4.1 – Illustration de la formule de Varignon.

NB: L’operation de derivation ne depend pas du referentiel. C’est bien le vecteur qui s’exprimedifferemment selon le repere.

4.3.2 Cinematique du solide

Champ de vitesse

Le champ de vitesse d’un solide Si par rapport a un repere Rj est l’application qui associe,a tout point P de Si, la vitesse de ce point exprimee dans le repere Rj et telle que :

jvi/j(P ) = ddt

−−→OjP /Rj

On dit que jvi/j(P ) est la vitesse instantanee du point P dans le mouvement de Si parrapport a Rj et exprimee dans le repere Rj .

Formule de Varignon

Soit M et P deux points d’un solide indeformable Si et un repere Rj . La formule de Varignon(ou formule transport des vitesses) permet d’ecrire la vitesse d’un point P quelconque de Si enfonction de jvi/j(M) et de jωi/j :

jvi/j(P ) = jvi/j(M) +−−→PM/Rj

∧ jωi/j

ou jωi est la vitesse de rotation instantanee du solide Si par rapport a Rj .

On rappelle qu’en dimension trois le produit vectoriel de deux vecteurs u et v est :

u ∧ v =

u2v3 − u3v2

u3v1 − u1v3

u1v2 − u2v1

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 44: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

44 CHAPITRE 4. MODELES CINEMATIQUES DIRECT ET INVERSE

Torseur cinematique

Le champ de vitesse d’un solide indeformable Si en mouvement par rapport a un repere Rjest completement defini par un torseur cinematique, ecrit en un point particulier P de Si :

jV i/j(P ) =

[jvi/j(P )

jωi/j

]

ou :

— jvi/j(P ) est la vitesse instantanee du point P dans le mouvement de Si par rapport aRj exprimee dans le repere Rj ,

— jωi/j est la vitesse de rotation instantanee du solide Si par rapport a Rj et exprimeedans le repere Rj .

Composition des vitesses

Soit Si, Sj et Sk trois solides et P un point, la vitesse absolue est egale a la somme de lavitesse relative et de la vitesse d’entraınement :

jvi/j(P ) = jvi/k(P ) + jvk/j(P )

La vitesse relative jvi/k(P ) est la vitesse de P dans le mouvement de Si par rapport a Skexprimee dans le repere Rj .

La vitesse d’entraınement jvk/j(P ) est la vitesse de P dans le mouvement de Sk par rapporta Sj (c’est-a-dire s’il etait fixe dans le repere Rk) exprimee dans le repere Rj ..

La loi de composition de vitesse de rotation instantanee s’ecrit :

jωi/j = jωi/k + jωk/j

Ces deux equations peuvent s’ecrire sous la forme de torseurs :

jV i/j(P ) = jV i/k(P ) + jVk/j(P )

On remarquera que comme un solide i est fixe par rapport a lui-meme, on a jV i/i = 0 etdonc :

jV i/j(P ) = − jVj/i(P )

4.3.3 Modelisation des articulations

On s’interesse maintenant aux equations cinematiques liant deux solides Si−1 et Si relies parune articulation. L’axe de l’articulation est note ui et la valeur de l’angle ou de la translationest note qi (cf. figures 3.2 et 3.3).

Articulation rotoıde (liaison pivot)

Pour une articulation rotoıde, la vitesse de rotation instantanee de Si par rapport a Si−1

est par definition :i−1ωi/i−1 = i−1ui.qi

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 45: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

4.3. JACOBIENNE CINEMATIQUE 45

Comme la vitesse du centre de rotation Oi dans le repere Ri−1 est nulle, la vitesse d’unpoint P lie au solide Si dans le repere Ri−1 s’ecrit :

i−1vi/i−1(P ) = i−1vi/i−1(Oi) +−−→POi/Ri−1

∧ i−1ωi/i−1

= i−1ωi/i−1 ∧−−→OiP /Ri−1

=(i−1ui.qi

)∧−−→OiP /Ri−1

Le vecteur−−→OiP etant plus facile a exprimer dans le repere Ri, on peut reecrire l’equation

en utilisant la matrice de rotation entre Ri−1 et Ri. On obtient :

i−1vi/i−1(P ) =(i−1ui.qi

)∧(i−1Mi.

−−→OiP /Ri

)

Ainsi le torseur cinematique pour une articulation rotoıde s’ecrit :

i−1V i/i−1(P ) =

i−1ui ∧(i−1Mi.

−−→OiP /Ri

)i−1ui

.qiArticulation prismatique (liaison glissiere)

Pour une articulation rotoıde, la vitesse de rotation instantanee de Si par rapport a Si−1

est nulle par definition :i−1ωi/i−1 = 0

La vitesse du point Oi dans le repere Ri−1 est par definition :

i−1vi/i−1(Oi) = i−1ui.qi

La vitesse d’un point P lie au solide Si dans le repere Ri−1 s’ecrit egalement :

i−1vi/i−1(P ) = i−1vi/i−1(Oi) +−−→POi/Ri−1

∧ i−1ωi/i−1

Donc :i−1vi/i−1(P ) = i−1ui.qi

Soit sous forme d’un torseur :

i−1V i/i−1(P ) =

[i−1ui

∅3×1

].qi

4.3.4 Calcul de la matrice jacobienne cinematique

Le mouvement de l’organe terminal est completement definit par le torseur cinematique0Vn/0(P ). On cherche donc a etablir la relation entre la vitesse de l’organe terminal et lespositions et vitesses articulaires q et q sous la forme suivante :

0Vn/0(P ) = 0Jc(q).q

0Jc(q) est la matrice jacobienne dite cinematique (ou encore jacobienne de base) pour nepas la confondre avec la matrice jacobienne analytique.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 46: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

46 CHAPITRE 4. MODELES CINEMATIQUES DIRECT ET INVERSE

Pour calculer le torseur 0Vn/0(P ), on peut utiliser les lois de composition. On ecrit :

0Vn/0(P ) = 0Vn/n−1(P ) + 0Vn−1/n−2(P ) + · · ·+ 0V2/1(P ) + 0V1/0(P )

On exprime alors chaque torseur 0V i/i−1(P ) a l’aide de la matrice de changement de base0Mi−1 de R0 a Ri−1 telle que :

0Mi−1 =

[0Mi−1 ∅3×3

∅3×30Mi−1

]qui permet d’ecrire :

0V i/i−1(P ) = 0Mi−1.i−1V i/i−1(P )

On obtient enfin :

0Vn/0(P ) = 0Mn−1.n−1Vn/n−1(P ) + 0Mn−2.

n−2Vn−1/n−2(P ) + · · ·+ 0M1.

1V2/1(P ) + 0M0.0V1/0(P )

Soit :

0Vn/0(P ) =n−1∑i=0

0Mi.iV i+1/i(P )

4.4 Passage d’une jacobienne a l’autre

Les matrices jacobiennes analytique et cinematique sont identiques sur les trois premiereslignes et different sur les trois dernieres lignes. Il existe neanmoins des formules pour passerdirectement d’une forme a l’autre (voir notamment [10]).

4.5 Vitesses atteignables et manipulabilite

Les matrices jacobiennes (analytique ou cinematique) permettent de caracteriser les vitessesatteignables d’un robot dans une configuration q donnee. En effet, si l’on connaıt les vitessesarticulaires maximales qmax, on a :

−qmax ≤ q ≤ qmax

et donc :min J(q)q ≤ x ≤ max J(q)q

Pour representer graphiquement les vitesses atteignables du robot dans une certaine confi-guration, on utilise les ellipsoıdes de manipulabilite. Dans l’espace des vitesses articulaires,on considere l’ensemble des vecteurs q unitaires, c’est-a-dire l’ensemble des vecteurs vitessesverifiant :

qTq = 1

Cette equation defini une sphere dans l’espace des vitesses articulaires. L’image de cet ensembledans l’espace operationnel donne l’equation :

xT(J(q)J(q)T

)−1x = 1

Cette equation defini une ellipsoıde qui est representative des vitesses potentielles du robotdans chaque direction de l’espace operationnel. Les axes principaux de l’ellipsoıde correspondent

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 47: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

4.6. ASPECTS ET CONFIGURATIONS SINGULIERES 47

Figure 4.2 – Illustration des aspects Qi et de leur image Di.

aux vecteurs propres de la matrice J(q)J(q)T et les longueurs des demi-axes correspondent auxvaleurs propres associees.

Le volume interieur m(q) de l’ellipsoıde donne une mesure de la capacite du robot a genererune vitesse. Ce volume est defini par :

m(q) =

√det J(q)J(q)T

Cette mesure m(q) est appelee manipulabilite en vitesse du robot. Elle a ete introduite parYoshikawa en 1984.

4.6 Aspects et configurations singulieres

Les matrices jacobiennes permettent egalement de connaıtre les differentes de postures d’unrobot (aspects) et de detecter ses configurations singulieres.

4.6.1 Aspects et domaine atteignable

Rappelons les notations relatives au domaine atteignable definies dans le chapitre precedent :en prenant en compte les butees articulaires d’un robot (qi ∈ [qimin , qimax ]), on a q ∈ Q ⊂ R6.Le domaine atteignable D est alors une variete de R6, dont la dimension d est (( presquepartout )) (en excluant les postures singulieres) egale au nombre de degres de liberte du robot.

Dans ces conditions, le modele geometrique direct du robot est une application de Q versD, c’est-a-dire qu’un element de Q n’a qu’une seule image dans D. L’inverse n’est pas vrai,c’est-a-dire qu’un element de D pourra etre l’image de plusieurs elements de Q.

On cherche alors a trouver les conditions dans lesquelles l’application est bijective, c’est-a-dire les conditions dans lesquelles un element de D n’est l’image que d’un seul element de Q.Pour cela, on utilise le theoreme d’inversion local, qui donne le resultat suivant :

Si dans un sous-domaine de Q, note Q′, le determinant de J(q) (q ∈ Q′) gardeun signe constant, alors l’application est bijective dans ce sous-domaine.

Ceci permet de donner une description complete du domaine atteignable. En effet, la relationdet J(q) = 0 definit une partition de Q enm domaines disjoints notes Qi (i = 1, ...,m) et appelesaspects. Un aspect Qi est donc defini par :

∀ q ∈ Qi, signe [det J(q)] = constant

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 48: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

48 CHAPITRE 4. MODELES CINEMATIQUES DIRECT ET INVERSE

Soit Di, l’image de Qi. Le domaine atteignable D peut etre alors decrit comme la reunionde toutes les images des aspects Qi (cf. figure 4.2). On peut ecrire les proprietes suivantes :

Q =m⋃i=1

Qi ; Qi ∩Qj = ∅ ; D =m⋃i=1

Di ; Di ∩ Dj 6= ∅

Pour q ∈ Qi, le robot est dit dans la posture n◦i. La description precedente permet alorsde connaıtre les solutions multiples, c’est-a-dire toutes les postures possibles pour un x donne.En effet, si par exemple le vecteur operationnel x ∈ Di∩Dj ∩Dk, il est l’image de trois vecteursarticulaires differents, appartenant a Qi, Qj et Qk.

4.6.2 Configurations singulieres

D’apres le chapitre precedent, on rappelle que le calcul du MGI peut conduire a une infinitede solutions dans deux cas :

— soit le robot est redondant vis-a-vis de la tache a realiser,— soit le robot se trouve dans une certaine configuration, generant une indeterminee ou

une redondance locale au prix de la perte d’un ou plusieurs ddl. Cette situation n’est pasdirectement imputable a la structure du robot, mais aux valeurs numeriques particulieresprises par les coordonnees de x.

Dans ce dernier cas, la configuration correspondante est dite singuliere.L’analyse des c singulieres repose donc, sur le plan mathematique, sur le calcul du MGI,

c’est-a-dire sur la resolution d’un systeme de n equations a n inconnues (n etant le nombred’axes du robot). On va alors plutot examiner les singularites sur le modele cinematique, quiest lineaire, contrairement au modele geometrique.

Le MCD n’est pas inversible si det J(q) = 0. On se place alors dans ce cas et on definit r,le rang de J(q).

NB: On rappelle que le rang d’une matrice (n× p) (n non necessairement egal a p) est l’ordrer de la plus grande sous-matrice carree (r × r) extraite de la precedente et dont ledeterminant est non nul. Pour qu’une matrice soit de rang r, il suffit donc qu’un seul desdeterminants d’ordre r soit different de zero.

Dans le cas ou det J(q) = 0, on peut rearranger l’ordre des equations et des inconnues duMCD de telle sorte que ∆r, le determinant non nul d’ordre r, apparaisse (( en haut a gauche ))

dans la nouvelle matrice J :

r n − r︷︸︸︷ ︷︸︸︷r {

n − r {

[∆r ×× ×

]. q = x

On en deduit alors qu’il y a :— (n−r) indeterminees qi dans les r equations principales (celle (( du haut ))), d’ou une

redondance de certains qi pour engendrer certains mouvements de l’effecteur ;— (n−r) relations de contraintes entre les xi dues aux (n−r) equations non principales

(celles (( du bas ))) qui doivent etre verifiees, d’ou la perte de (n−r) degres de liberte del’effecteur.

On peut donc dire qu’une configuration singuliere correspond a la perte de controle d’unou plusieurs mouvements de l’effecteur et correlativement a l’apparition d’indetermineesou de redondances sur les mouvements encore controlables, ce qui augmente la dexte-rite du robot sur ces mouvements. D’une maniere generale, les configurations singulieres sont

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 49: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

4.6. ASPECTS ET CONFIGURATIONS SINGULIERES 49

plutot a eviter, mais pour certaines taches necessitant de la dexterite (certains assemblages parexemple), elles peuvent etre interessantes.

On peut egalement noter qu’il est generalement preferable, dans le cadre de l’utilisationd’algorithmes de type (( commande incrementale )) presentee plus loin, de ne pas generer detrajectoires passant (( trop pres )) des configurations singulieres, afin d’eviter les problemes destabilite numerique, voire de divergence.

D’autre part, lorsqu’un robot s’approche d’une configuration singuliere, det J devient deplus en plus faible, donc les termes de J−1 risquent de devenir de plus en plus grands, cequi entraıne, a x fixe, des vitesses articulaires tres importantes, parfois incompatibles avec lespossibilites des actionneurs.

Si l’on souhaite que le robot passe quand meme pres ou par des configurations singulieres,il faut (( sophistiquer )) le transformateur de coordonnees.

4.6.3 Configurations singulieres d’un robot anthropomorphe a poignet sphe-rique

Singularite du poignet

Soit la configuration du poignet spherique representee par la figure 4.3

q6

&z

&x

&y

CP

q4

q5

Figure 4.3 – Singularite du poignet spherique

Dans cette situation, il apparaıt clairement que q4 et q6 sont redondants pour engendrerla rotation autour de l’axe ~y et que la rotation autour de l’axe ~z ne peut etre engendree. Onretrouve bien entendu ce resultat par calcul de la jacobienne (analytique) du poignet, qui peutalors s’ecrire : αβ

γ

=

0 0 00 1 01 0 1

.q4

q5

q6

Dans cette configuration, la jacobienne est de rang 2.

Singularite du porteur

Soit le porteur a trois axes suivants :

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 50: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

50 CHAPITRE 4. MODELES CINEMATIQUES DIRECT ET INVERSE

"""""""""S

SSSSSSS

6

pu

u

~z0

O0

P

O3

O2

O1

� 6q1

�-q2

� �?

q3

l3l2

l1

-��

~y0

~x0

u

u

u

Le modele geometrique est :

x = s1(l2s2 + l3s23)y = −c1(l2s2 + l3s23)z = l1 + l2c2 + l3c23

La jacobienne s’ecrit donc :

J =

c1(l2s2 + l3s23) s1(l2c2 + l3c23) l3s1c23

s1(l2s2 + l3s23) −c1(l2c2 + l3c23) −l3c1c23

0 −(l2s2 + l3s23) −l3s23

=⇒ det J = l2l3s3(l2s2 + l3s23)

Configurations singulieres de type 1 : q3 = 0 ou π : rang(J)=2, d’ou la perte d’un ddl. On seramene ici au cas des configurations singulieres du robot plan a deux axes etudie precedemment.

-

6

j~x0

~y0

~z0

u���������

������

uuP

l3

l2

@@Rq2

l1

Configurations singulieres de type 2 : l2c2 + l3c23 = 0 : rang(J)=2, d’ou la perte d’un ddl.Dans ce cas, le point P est situe sur l’axe ~z0 et l’angle q1 devient inoperant pour modifier laposition de P .

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 51: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

4.7. CONCLUSION 51

-

6

j~x0

~y0

~z0

uu

@@Rq2

l1

aaaa

aaauP

�������

l3������9

q3

l2

4.7 Conclusion

Le modele cinematique direct donne les performances en vitesse du robot, ses positionssingulieres et le nombre de postures differentes (aspects).

Sous sa forme inverse, le modele cinematique permet de calculer les consignes de vitessesarticulaires en fonction des consignes de vitesses operationnelles et donc de generer des mouve-ments standards. De plus, lorsqu’il est tres difficile, voire impossible d’inverser analytiquementle modele geometrique direct, on peut mettre en œuvre des methodes numeriques a l’aide dela matrice jacobienne inverse.

La connaissance du modele cinematique permet egalement de calculer les efforts articulairescorrespondant a un effort statique exerce sur un robot et de calculer les matrices de complianced’un robot. Il est egalement necessaire pour la commande de robot en effort, en vision (et d’unemaniere plus generale en commande referencee capteur).

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 52: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un
Page 53: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Chapitre 5

Efforts et modelisation dynamique

Lorsqu’un robot se met en mouvement des effets dynamiques non lineaires et dependant dela posture surviennent. Il est necessaire de les connaıtre pour dimensionner les actionneurs etcalculer les lois de commandes des axes.

5.1 Definition

Definition 8. On appelle modele dynamique inverse, l’application donnant les efforts moteursarticulaires Γm (forces ou couples generes par les actionneurs) en fonction des positions q, desvitesses q, des accelerations q, des efforts de frottements Γf (visqueux et/ou secs) et des effortsd’interaction Γe entre le robot et son environnement :

Γm = g(q, q, q,Γf ,Γe)

Le modele dynamique inverse est non lineaire, couple (le mouvement d’un axe influe surcelui des autres axes) et dependant de la posture et des vitesses.

Le modele dynamique peut etre obtenu en utilisant le formalisme d’Euler-Lagrange oule principe fondamental de la dynamique (formalisme de Newton-Euler). Dans la suite, nousdevelopperons succinctement la methode utilisant le formalisme d’Euler-Lagrange. Pour plusde details sur ces methodes, nous renvoyons le lecteur aux nombreux ouvrages de references enmecanique (voir par exemple [7]).

5.2 Modele dynamique inverse

5.2.1 Formalisme de Lagrange

Le Lagrangien est generalement defini par la difference entre l’energie cinetique totale K dusysteme (ici le robot) et l’energie potentielle totale P du systeme :

L = K − P

Les equations d’Euler-Lagrange s’ecrivent alors :

d

dt

∂L∂qi− ∂L∂qi

= Γi

ou Γi est l’effort au niveau de l’articulation i.

53

Page 54: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

54 CHAPITRE 5. EFFORTS ET MODELISATION DYNAMIQUE

5.2.2 Calcul de l’energie cinetique

L’energie cinetique du segment i s’ecrit :

Ki =1

2mi

0vTi/0(Gi).0vi/0(Gi) +

1

20ωTi/0.Ii.

0ωi/0

avec :

— mi la masse du segment i,— Gi le centre d’inertie du segment i,— Ii le tenseur d’inertie en Gi.

En utilisant le modele cinematique, on a :

0V i/0(P ) =

[0vi/0(Gi)

0ωi/0

]= 0Jci (Gi,q).q

Donc :

Ki =1

2qT[0Jci (Gi,q)

]T.

mi 0 0 ∅1×3

0 mi 0 ∅1×3

0 0 mi ∅1×3

∅3×1 ∅3×1 ∅3×1 Ii

. 0Jci (Gi,q)

︸ ︷︷ ︸Di(q)

q =1

2qTDi(q)q

L’energie cinetique totale du robot s’ecrit donc :

K =

n∑i=1

Ki =

n∑i=1

1

2qTDi(q)q

Soit sous une forme plus compacte :

K =1

2qTD(q)q

avec D(q) =∑n

i=1 Di(q).

5.2.3 Calcul de l’energie potentielle

L’energie potentielle du segment i est definie par :

Pi = mi g ~z0.−−−→O0Gi(q)/R0

= mi g zGi/R0

avec :

— mi la masse du segment i,— g la constante universelle de gravitation,— Gi le centre d’inertie du segment i.

L’energie potentielle totale du robot s’ecrit donc :

P =n∑i=1

Pi(q)

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 55: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

5.2. MODELE DYNAMIQUE INVERSE 55

5.2.4 Calcul du modele dynamique

Connaissant les energies cinetiques et potentielles du robot, nous pouvons maintenant definirson Lagrangien, soit :

L =1

2qTD(q)q− P(q)

On calcule alors les differents termes des equations d’Euler-Lagrange. On a tout d’abord :

∂L∂qi

= [D(q)q]i

et donc :d

dt

∂L∂qi

=

[D(q)q +

dD(q)

dtq

]i

=

[D(q)q +

(n∑k=1

∂D(q)

∂qkqk

)q

]i

Pour le second terme, on a :

∂L∂qi

=1

2qT

∂D(q)

∂qiq− ∂P(q)

∂qi

Au final, les equations d’Euler-Lagrange peuvent s’ecrire sous la forme suivante :

D(q)q + C(q, q) + Q(q) = Γ

Ou :— le terme D(q)q designe les contributions inertielles, avec,

D(q) =

n∑i=1

[0Jci (Gi,q)

]T.

mi 0 0 ∅1×3

0 mi 0 ∅1×3

0 0 mi ∅1×3

∅3×1 ∅3×1 ∅3×1 Ii

. 0Jci (Gi,q)

— le terme C(q, q) designe les contributions centrifuges et de Coriolis,

C(q, q) =

(n∑k=1

∂D(q)

∂qkqk

)q−

12 qT ∂D(q)

∂q1q

...12 qT ∂D(q)

∂qnq

— le terme Q(q) designe les contributions de la gravite,

Q(q) =

∂P(q)∂q1...

∂P(q)∂qn

=

n∑i=1

mi g

∂zGi/R0∂q1. . .

∂zGi/R0∂qn

Les efforts articulaires Γ correspondent aux efforts des moteurs moins les efforts de frot-

tements Γf (q, q) (visqueux et/ou secs) et les efforts d’interaction Γe entre le robot et sonenvironnement, soit :

Γ = Γm − Γe − Γf (q, q)

En prenant en compte les frottements et les interactions avec l’environnement, le modeledynamique inverse du robot est finalement defini par :

Γm = D(q)q + C(q, q) + Q(q) + Γf (q, q) + Γe

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 56: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

56 CHAPITRE 5. EFFORTS ET MODELISATION DYNAMIQUE

5.3 Efforts appliques par le robot sur son environnement

Les efforts d’interaction Γe entre le robot et son environnement, peuvent etre calcules di-rectement en utilisant la matrice jacobienne cinematique.

Soit 0T e(P ) le torseur des efforts appliques par l’organe terminal du robot sur l’environne-ment exprime dans le repere R0 :

0T e(P ) =[fx fy fz mx my mz

]TLe principe des travaux virtuels implique que :

ΓeT.q =

[0T e(P )

]T. 0Vn/0(P )

or :0Vn/0(P ) = 0Jcn(P,q).q

avec 0Jcn(P,q) la matrice jacobienne cinematique du segment Sn au point d’application P dela force exterieure.

Donc :

Γe =[0Jcn(P,q)

]T. 0T e(P )

5.4 Efforts dus a la pesanteur et equilibrage statique

Le modele dynamique permet de calculer les couples moteurs necessaires pour contrecarrerla force de pesanteur.

En statique et sans interaction avec l’environnement, le modele dynamique se reduit a :

Γm = Q(q)

Le vecteur Q(q) peut etre calcule par la methode generale de Lagrange ou plus simplementen ecrivant le principe des travaux virtuels pour chaque segment.

Soit 0T i(P ) le torseur des efforts par le robot pour contrecarrer le poids du solide Si exprimedans le repere R0 :

0T i(P ) =[0 0 mig 0 0 0

]TComme precedemment, en appliquant le principe des travaux virtuels, il vient :

Γm,i =[0Jci (Gi,q)

]T. 0T i(P )

avec 0Jci (Gi,q) la matrice jacobienne cinematique du segment Si au point Gi.

Comme seule la troisieme ligne du torseur 0T i(P ) est non nulle, on a :

Γm,i =

mig

∂zGi/R0∂q1

. . .

mig∂zGi/R0∂qi

0. . .

avec zGi/R0

= ~z0.−−−→O0Gi(q)/R0

.

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 57: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

5.4. EFFORTS DUS A LA PESANTEUR ET EQUILIBRAGE STATIQUE 57

(a) ABB IRB4400b (b) Fanuc m2000iA (c) Fanuc m900iA

Figure 5.1 – Illustration de l’equilibrage statique.

En effectuant cette demarche sur tous les corps constitutifs du robot, il vient :

Q(q) = Γm =

m1g

∂zG1/R0∂q1

+m2g∂zG2/R0∂q1

+ · · ·+mng∂zGn/R0∂q1

m2g∂zG2/R0∂q2

+ · · ·+mng∂zGn/R0∂q2

. . ....

mng∂zGn/R0∂qn

La connaissance des couples necessaires pour contrecarrer la force de pesanteur peut etre

utilisee pour equilibrer le robot afin de reduire sa consommation energetique dans sa posturela plus courante. C’est notamment le cas pour les robots pouvant deplacer une charge utileimportante. Cet equilibrage statique peut etre realise par une masse (contrepoids) ou par desressorts comme l’illustre la figure 5.1.

5.4.1 Evaluation automatique de la masse et de la position du centre demasse d’une charge utile

La methode de calcul de Q(q) peut egalement etre employee pour mesurer la masse et de laposition du centre de masse d’une charge utile. Cette mesure permet notamment de reajusterles asservissements des axes en fonction de la charge.

Tout d’abord, on place le robot immobile sans charge dans une configuration q0. On mesurealors les couples moteurs Γm. Le robot etant a l’equilibre nous avons :

Γm = Q(q0)

Le robot va ensuite prendre la charge et revient dans la configuration q0. On mesure anouveau les couples moteurs Γ′m. On a alors :

Γ′m = Q′(q0)

La difference entre Γ′m et Γm ne depend que de la masse et de la position du centre de

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 58: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

58 CHAPITRE 5. EFFORTS ET MODELISATION DYNAMIQUE

masse de la charge. Cette difference se calcule aisement et on obtient :

Γ′m − Γm =

Mg

∂zGM/R0∂q1

...

Mg∂zGM/R0

∂qn

ou M est la masse de la charge et GM son centre de masse.

Cette relation fournit n equations pour 4 inconnues, on en deduit alors M et les troiscoordonnes de GM .

5.5 Conclusion

Le modele dynamique d’un robot constitue un outil de dimensionnement afin de choisir lesactionneurs adequats, permettant de generer les bons couples et forces moteurs pour permettreau robot d’atteindre les performances specifiees par un cahier des charges.

Il permet egalement de realiser la commande a couple calcule presentee au chapitre 7.

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 59: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Chapitre 6

Generation de mouvement

La generation de mouvement a pour objectif de calculer les consignes en position, vitesseou acceleration des axes du robot permettant de realiser une tache. Cette tache est decrite al’aide d’un programme constitue d’une sequence d’instructions elementaires. En fonction desinstructions, la generation de mouvement peut s’effectuer dans l’espace articulaire ou dansl’espace operationnel.

6.1 Programmation d’un robot

On trouve principalement deux types de programmation : l’apprentissage et la programma-tion hors ligne.

6.1.1 Programmation par apprentissage

La programmation par apprentissage consiste a memoriser, directement sur le site, les pointset/ou les trajectoires a suivre. Pour cela, l’operateur peut piloter le robot en mode manuel al’aide du pendant dans differents reperes (repere atelier, repere outil, repere lie a une tache,etc.).

Il est egalement possible d’utiliser un dispositif d’apprentissage direct fixe au poignet durobot. L’operateur guide alors directement l’organe terminal du robot a l’aide d’une poigneespeciale dotee d’un capteur de force. Une commande en force deplace le robot afin de maintenirun effort nul sur la poignee.

6.1.2 Programmation hors ligne

Une autre maniere de programmer un robot est d’utiliser la programmation hors ligne(PHL). Cela consiste a realiser, tester et programmer les mouvements du robot en simulation(CAO robotique) et, une fois cette etape terminee, a charger le programme directement dansl’armoire de commande du robot reel. La temps passe sur le site s’en trouve en principe reduit,au profit du bureau d’etudes. Cela permet donc de programmer un robot pour une nouvelletache sans interrompre son fonctionnement en production, mais egalement de realiser des tachestres difficiles a programmer par apprentissage (ex : suivi de trajectoires gauches ou choix d’uneconfiguration pour atteindre un point (( delicat ))). La programmation hors ligne impose que lerobot soit bien etalonne et que sa position vis-a-vis de la tache soit precisement connue.

6.1.3 Langages et programmes

Quelque soit la methode utilisee, les trajectoires sont representees sous forme d’une sequencede mouvements elementaires formant un programme. Le langage de programmation est proprea chaque fabricant. Il n’existe pas de langage robotique normalise.

59

Page 60: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

60 CHAPITRE 6. GENERATION DE MOUVEMENT

Generateur de mouvement

qk+

-

qd(t)Controleurs Axes

q(t)

q(t)

Figure 6.1 – Generation de mouvement dans l’espace articulaire (qk designe la position finalea atteindre, qd(t) la position desiree et q(t) la position courante des axes).

Cependant, on retrouvera dans tous les langages, des instructions permettant de deplacerl’organe terminal d’un point a un autre avec une trajectoire libre ou avec une trajectoirecontrainte (trajectoire rectiligne, circulaire, ajout de points de passage, etc.).

Ces instructions (( classiques )) permettent donc de realiser :

— des mouvements de type (( point-a-point )), ou l’on souhaite que le robot passe d’uneconfiguration a une autre, sans se preoccuper de la trajectoire, si ce n’est pour aller leplus vite possible et en evitant les obstacles (prise-depose, soudure par point, etc.), cesmouvements sont generes dans l’espace articulaire,

— des mouvements de type (( interpoles )), ou l’on souhaite au contraire maıtriser toute latrajectoire de l’effecteur, avec une loi horaire donnee (suivi de contour, depot de joint,depot de colle, soudure en continu, decoupe, ebavurage, usinage, etc.), ces mouvementssont generes dans l’espace operationnel,

— des mouvements de type (( references capteurs )), c’est-a-dire que le robot se deplacea partir d’une information provenant d’un capteur mesurant l’environnement (systemede vision pour reperage et suivi de cible, capteur d’effort pour le controle des efforts decontact avec l’environnement). Ceci peut, le cas echeant, correspondre a une boucle d’as-servissement externe (compliance active pour l’insertion, asservissement d’effort pour lesuivi de contour, etc.)

6.2 Generation de mouvement dans l’espace articulaire

La commande point-a-point, probablement la majorite des mouvements demandes aux ro-bots, correspond au cas ou la tache est definie comme une succession de situations, notees xk(position et orientation) a atteindre par l’effecteur du robot. A chaque situation operationnellexk correspond la situation articulaire qk. On cherche donc a generer les trajectoires pour quele deplacement entre deux configurations consecutives qk a qk+1 soit le plus rapide possible.Si le robot doit s’arreter a qk+1 pour y executer une tache, c’est-a-dire avoir une vitesse nulledans cette situation, il s’agit d’un point d’arret. Si le robot doit simplement passer par ce pointsans s’y arreter, pour eviter un obstacle par exemple, il s’agit d’un point de passage.

La commande du robot s’effectue donc dans l’espace articulaire comme l’illustre le schemade la figure 6.1. La commande dans l’espace articulaire ne necessite pas l’utilisation du MGI etn’est donc pas affectee par les configurations singulieres.

En revanche, le deplacement de l’effecteur en ligne droite dans l’espace operationnel, qui estla trajectoire la plus courte de celui-ci entre deux points, ne correspond donc pas neces-sairement a la trajectoire la plus rapide, qui consiste a amener les axes du robot le plusrapidement possible de qk a qk+1, ce qui dans le cas general ne conduit pas a un deplacementrectiligne de l’effecteur dans l’espace operationnel.

Plusieurs methodes existent pour generer une trajectoire point-a-point en temps minimal.On peut notamment citer l’interpolation polynomiale (de degre trois ou cinq), la loi bang-bang

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 61: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

6.2. GENERATION DE MOUVEMENT DANS L’ESPACE ARTICULAIRE 61

avec ou sans palier de vitesse. Dans certains cas, on peut egalement envisager de generer destrajectoires plus douces, a jerk constant, voire d’ordre plus eleve.

Nous ne developperons ici que la loi bang-bang avec palier de vitesse qui est utilise dans laplupart des controleurs industriels.

6.2.1 Loi bang-bang avec palier de vitesse

On s’interesse ici a la generation de mouvement entre entre deux points d’arrets, de qk aqk+1. On pose ∆q = qk+1 − qk.

Sur chaque axe i, la vitesse maximale est notee vi et l’acceleration maximale est notee ai.Ces valeurs peuvent se deduire directement des capacites physiques du robot. On note ega-lement Ti le temps necessaire a l’axe i pour effectuer le mouvement. Enfin, pour simplifierl’expose, on supposera ∆qi > 0 pour tous les axes i.

En fonction, de ∆qi, vi et ai, deux situations sont possibles : une loi bang-bang ou une loibang-bang avec palier de vitesse.

Dans une loi bang-bang, l’acceleration maximale est maintenue sur la premiere moitie dumouvement, puis l’opposee de l’acceleration maximale est appliquee sur le reste du mouvement(cf. figure 6.2). Ceci n’est realisable que si la vitesse reste inferieure a la vitesse maximaleadmissible par l’axe i.

L’acceleration etant constante et la vitesse nulle au depart, la distance parcourue par l’ar-ticulation i pendant Ti/2 est :

∆qi2

=1

2ai

(Ti2

)2

d’ou :

Ti2 =

√∆qiai

La vitesse en cet instant est alors :

ai.Ti2

= ai.

√∆qiai

=√ai.∆qi

Cette vitesse doit etre inferieure a vi pour pouvoir appliquer la loi bang-bang, c’est-a-direque : √

ai.∆qi ≤ vi

soit :

∆qi ≤v2iai

Dans le cas contraire, la vitesse maximale est atteinte avant Ti/2. Dans ce cas, on utiliseune loi bang-bang avec palier de vitesse (cf. figure 6.2). La vitesse maximale est atteinte al’instant ti = vi/ai, puis l’acceleration est nulle jusqu’a Ti − ti ou le freinage commence. On afinalement :

Ti = ∆qivi

+ ti

Selon que l’on atteint ou non les limites de vitesse et d’acceleration du robot, on realiserapour chaque axe un deplacement en temps minimal selon la loi bang-bang avec ou sans palierde vitesse.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 62: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

62 CHAPITRE 6. GENERATION DE MOUVEMENT

t

ai

-ai

iq��

t

vi

iq�

t

iq∆

t

ai

-ai

iq��

t

vi

iq�

t

iq∆

Ti

i

ii

a

qT

∆=2

Ti ti Ti - ti

i

iii

i

ii

avtt

v

qT =+

∆= ;

Figure 6.2 – Loi bang-bang sans (a gauche) ou avec palier de vitesse (a droite).

6.2.2 Synchronisation des axes du robot

La synchronisation des axes, non indispensable, permet de regler l’ensemble des axes surl’axe le plus lent et ainsi de moins solliciter les actionneurs sans degrader le temps de deplace-ment de l’effecteur d’un point au suivant.

Une methode simple consiste a ralentir les axes les plus rapides pour qu’ils terminent leurmouvement en meme temps que le plus lent. Il en effet inutile de donner leur vitesse maximaleaux autres axes, ce qui les sollicite inutilement, mecaniquement et energetiquement, car c’estde toute facon l’axe le plus lent qui fixe le temps mis pour effectuer le mouvement d’ensemble.

On associe a chaque articulation un coefficient de reduction νi inferieur 1. L’acceleration del’axe i est ainsi νiai. Ainsi, si l’axe i suit une loi bang-bang, son acceleration νiai est telle que :

νiai =4∆qiT 2max

et donc :

νi =4∆qiaiT 2

max

avec Tmax le temps de deplacement de l’axe le plus lent.

De meme, si l’axe i suit une loi bang-bang avec palier de vitesse, sa nouvelle accelerationest :

νiai =v2i

viTmax −∆qi

et donc :

νi =v2i

(viTmax −∆qi)ai

L’algorithme 1 resume la generation de loi bang-bang avec palier de vitesse et synchronisa-tion des axes.

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 63: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

6.2. GENERATION DE MOUVEMENT DANS L’ESPACE ARTICULAIRE 63

Algorithme 1 : Algorithme de generation de loi bang-bang avec palier de vitesse etsynchronisation des axes.

Donnees : qi,k les coordonnees articulaires initiales de chaque axeqi,k+1 les coordonnees articulaires a atteindre par chaque axevi les vitesses maximales de chaque axeai les accelerations maximales de chaque axedebut

pour chaque articulation i faire∆qi ← qk+1,i − qk,isi ∆qi ≤

v2iai

alors

Ti ← 2√

∆qiai

sinon

Ti ← ∆qivi

+ viai

fin

finTmax ← max

1≤i≤nTi

pour chaque articulation i faire

si ∆qi ≤v2iai

alors

νi ← 4∆qiaiT 2

max;

ti ← Tmax2

sinon

νi ←v2i

(viTmax−∆qi)ai;

ti ← viνiai

fin

fin

finResultat : Tmax, νi et ti pour chaque axe i

6.2.3 Synchronisation des axes du robot avec lois homothetiques

Il est egalement interessant que les phases d’acceleration et de deceleration soient comple-tement synchrones, c’est-a-dire que ti = tj quels que soient i et J. Ceci permet notammentd’obtenir des asservissements plus precis. En revanche, dans la plupart des cas, le deplacementalors obtenu n’est pas minimal.

On souhaite donc avoir Ti = Tj = T et ti = tj = t quels que soient i et J. Pour cela, onassocie a chaque articulation des coefficients νi et λi inferieurs 1. L’acceleration de l’axe i estainsi νiai et sa vitesse λivi.

Chaque articulation suivant une loi bang-bang avec palier de vitesse (cf. figure 6.2). Onpeut ecrire pour tout i :

T =∆q1

λ1v1+λ1v1

ν1a1=

∆qiλivi

+λiviνiai

ainsi que :

t =λ1v1

ν1a1=λiviνiai

On en deduit que :

λi = λ1v1∆qivi∆q1

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 64: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

64 CHAPITRE 6. GENERATION DE MOUVEMENT

Algorithme 2 : Algorithme de generation de loi bang-bang avec palier de vitesse etsynchronisation homothetique des axes.

Donnees : qi,k les coordonnees articulaires initiales de chaque axeqi,k+1 les coordonnees articulaires a atteindre par chaque axevi les vitesses maximales de chaque axeai les accelerations maximales de chaque axedebut

λ1 ← mini=2...n

[1, vi∆q1v1∆qi

];

ν1 ← mini=2...n

[1, ai∆q1a1∆qi

];

pour chaque articulation i faire

λi ← λ1v1∆qivi∆q1

;

νi ← ν1a1∆qiai∆q1

;

fin

Tmax ← ∆q1λ1v1

+ λ1v1ν1a1

;

si λ1v1ν1a1

< Tmax2 alors

t ← λ1v1ν1a1

;

sinon

t ← Tmax2 ;

fin

finResultat : Tmax, t, νi et λi pour chaque axe i

Or 0 ≤ λi ≤ 1, donc :

0 ≤ λ1 ≤vi∆q1

v1∆qiOn montre de meme que :

0 ≤ ν1 ≤ai∆q1

a1∆qiLe temps de deplacement T est minimal quand ν1 et λ1 sont maximales. On choisit alors :λ1 = min

i=2...n

[1 , vi∆q1v1∆qi

]ν1 = min

i=2...n

[1 , ai∆q1a1∆qi

]Si le deplacement est tres court, le palier peut etre absent et on retombe alors sur une loi

bang-bang simple pour tous les axes. Cette situation arrive quand λ1v1ν1a1≥ Tmax

2 , on fixera alors

t a Tmax2 .

L’algorithme 2 resume la generation de loi bang-bang avec palier de vitesse et synchronisa-tion homothetique des axes. C’est ce type de loi qui est generalement implantee sur les robotsindustriels.

6.2.4 Synthese

Une fois calcules les coefficients νi et les temps Tmax et ti par l’une des deux methodes, laloi temporelle envoyee au controleur de chaque axe i est definie par :

qd,i(t) =

qk,i + 1

2νiait2 pour 0 ≤ t < ti

qk,i − 12νiait

2i + νiaitit pour ti ≤ t < Tmax − ti

qk,iνiaiti(Tmax − ti)− 12νiai(t− Tmax)2 pour Tmax − ti ≤ t < Tmax

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 65: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

6.3. GENERATION DE MOUVEMENT DANS L’ESPACE OPERATIONNEL 65

Figure 6.3 – Exemple d’arc parametre definissant la trajectoire de l’organe terminal dansl’espace operationnel.

Figure 6.4 – Illustration de la generation d’une trajectoire rectiligne de l’organe terminal.

6.3 Generation de mouvement dans l’espace operationnel

Pour certaines applications, il est necessaire de controler la trajectoire de l’organe terminala cours du temps par une loi horaire.

6.3.1 Definition de la trajectoire

La trajectoire de l’organe terminal (position et orientation) peut etre decrite a l’aide d’unarc parametre p(u) dans l’espace operationnel, p(u) etant de classe C2 et defini de [0; 1] dansR3.

Afin de determiner la loi horaire de l’organe terminal, on utilise l’abscisse curviligne et unprofil de vitesse. L’abscisse curviligne de p(u) est definie par :

s(u) =

∫ u

0‖dpdu‖dx

On souhaite generalement imposer une vitesse tangentielle constante v sur cette trajectoire,soit :

ds

dt(u) = v(u) =

d

dt

∫ u

0‖dpdu‖dx

Cette equation admet des solutions analytiques pour des trajectoires simples comme uneligne droite ou un arc de cercle. Pour des trajectoires plus complexes, on utilisera un algorithmed’integration numerique.

Pour une trajectoire rectiligne entre une position initiale A et une position finale B, on a :

p(u) =−−→O0A+

−−→AB.u

Si on souhaite imposer une vitesses v constante sur cette trajectoire, le temps de parcours est

alors Tmax = ‖−→AB‖v et donc :

u(t) =t

Tmax=

v

‖−−→AB‖

.t

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 66: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

66 CHAPITRE 6. GENERATION DE MOUVEMENT

Generateur de mouvement

p, vMGI

xd(t)+

-

qd(t)Controleurs Axes

q(t)

MGD

x(t)

Figure 6.5 – Generation de mouvement dans l’espace operationnel (xk designe la positionfinale a atteindre, xd(t) la position desiree et x(t) la position courante de l’organe terminale.

La loi horaire dans l’espace operationnel s’ecrit au final :

xd(t) = p(u(t)) =−−→O0A+

−→AB

‖−→AB‖

.v.t

La poursuite de la trajectoire xd(t) par l’organe terminal du robot consiste a fournir asa commande numerique une succession de valeurs xdk ou l’indice k correspond a l’instantd’echantillonnage kT .

Un transformateur de coordonnees doit donc fournir aux asservissements des axes la serie devaleurs qdk , correspondant aux xdk . La commande du robot dans l’espace operationnel necessitedonc l’utilisation du modele geometrique direct et inverse pour transformer les coordonnees d’unespace a l’autre comme l’illustre la figure 6.5.

L’utilisation du MGI pose plusieurs problemes. D’une part, il faut s’assurer que la positionoperationnelle desiree est atteignable pour que le MGI admette au moins une solution. Il fautegalement verifier que la position desiree appartienne au meme aspect que la position courante.

D’autre part, le franchissement d’une configuration singuliere peut poser probleme, puisquetoutes les trajectoires ne sont pas admissibles en raison de la perte de degres de liberte. Nousverrons a la fin du chapitre une technique pour realiser ce franchissement.

Enfin, il faut s’assurer, par exemple a l’aide du modele cinematique, que la trajectoire estrealisable par le robot du point de vue des vitesses et des accelerations articulaires.

6.3.2 Inversion numerique du modele geometrique direct

Dans le cas ou l’inversion analytique du MGD s’avere complexe ou impossible, on peutcalculer q en fonction de x par inversion numerique, en utilisant l’inverse de la matrice jaco-bienne. Le probleme est donc ici de calculer le vecteur articulaire q∗ correspondant a un vecteuroperationnel desire x∗. Le vecteur q∗ cherche est donc une solution de l’equation :

x∗ = f(q)

A partir de l’equation precedente, on introduit la fonction d’erreur suivante :

e(q) = f(q)− x∗

Le probleme de l’inversion revient alors a trouver un zero de cette fonction d’erreur. Onpeut pour ce faire utiliser l’algorithme de Newton-Raphson (cf. algorithme 3).

Partant d’un point q0 (de preference proche du zero a trouver), la methode consiste a uneapproximation affine p de e autour du point q0 a l’aide de son developpement de Taylor aupremier ordre :

p(q) = e(q0) + J(q0).(q− q0)

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 67: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

6.3. GENERATION DE MOUVEMENT DANS L’ESPACE OPERATIONNEL 67

Algorithme 3 : Algorithme de Newton-Raphson pour l’inversion numerique du MGD.

Donnees : x∗ les coordonnees operationnelles a atteindre ;J(q) la matrice jacobienne ;q0, tel que x0 = f(q0) ne soit (( pas trop eloigne )) de x∗;debut

tant que critere d’arret non satisfait faireDeterminer qk+1 comme solution de l’equation :

x∗ = f(qk) + J(qk). (q− qk)

C’est-a-dire : qk+1 ← qk + [J(qk)]−1 . (x∗ − f(qk)) ;

fin

finResultat : qk+1

avec J(q0) la matrice jacobienne de la fonction e. La jacobienne de e est identique a celle de fpuisque x∗ est constant.

On calcule alors un nouveau point q1 solution de l’equation :

e(q0) + J(q0).(q− q0) = 0

Soit :

q1 = q0 − [J(q0)]−1 .e(q0)

Sous certaines hypotheses, le point q1 sera plus proche du vrai zero de e que le point q0

precedent.

On peut ensuite reiterer le processus, c’est-a-dire mettre definir qk+1 comme la solution del’equation :

e(qk) + J(qk).(q− qk) = 0

soit en remplacant la fonction e :

x∗ − f(qk) + J(qk).(q− qk) = 0

Ce qui correspond a definir la recurrence suivante :

qk+1 = qk − [J(qk)]−1 . (f(qk)− x∗)

La convergence de cette suite est quadratique a condition que x∗ soit atteignable, quele vecteur initial q0 ne soit (( pas trop eloigne )) de q∗ et que tous les J(qk) calcules soientinversibles. Elle ne permet par contre que le calcul d’une seule solution au probleme, alorsqu’il pourrait eventuellement y avoir plusieurs postures possibles pour une meme dispositionoperationnelle x∗.

En pratique, on arrete le calcul quand un critere d’arret se verifie ou quand on a effectueun certain nombre d’iteration. Les criteres d’arret possibles sont :

‖f(qk)− x∗‖ < ε1 et ‖qk+1 − qk‖ < ε2

ou ε1, ε2 ∈ R+ representent des erreurs d’approximations caracterisant la qualite de la solutionnumerique.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 68: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

68 CHAPITRE 6. GENERATION DE MOUVEMENT

6.3.3 Commande incrementale d’un robot

Si, a chaque instant kT , le transformateur de coordonnee ne peut calculer qdk a partir duMGI, il est possible d’utiliser l’algorithme precedent sous la forme de la (( commande incre-mentale )) suivante :

qdk+1= qdk +

[J(qdk)

]−1.(xdk+1

− f(qdk))

Cette commande incrementale sera d’autant plus precise que les δqk = qdk+1− qdk et

δxk = xdk+1− xdk seront petits. Pour que cette methode puisse etre mise en œuvre, il faut :

— la connaissance de valeurs initiales x0 et q0,— une periode d’echantillonnage suffisamment faible vis-a-vis des vitesses de deplacement

mises en jeu,— une remise a jour a chaque pas d’echantillonnage de la jacobienne J(qdk),— la resolution d’un systeme d’equations lineaires (dans la mesure ou la jacobienne est

inversible et bien conditionnee).

6.3.4 Inversion de la matrice jacobienne

Jusqu’a present, nous avons considere que la jacobienne J etait inversible. Pourtant, il y ade nombreux cas ou J n’est pas inversible.

D’une part, lorsque le robot est redondant (nombre de degres de liberte d inferieur aunombre d’axes n) la matrice J, de dimension (d × n), n’est pas carree. Dans ce cas, on peutpar exemple fixer (n−d) variations articulaires δqi et calculer les autres en fonctions des δxi enreduisant la matrice J.

Le probleme est alors que l’on n’a pas forcement de critere clair pour savoir quels δqi onfixe et a quelle valeur. On peut alors faire appel au calcul de la pseudo-inverse de J, notee J+,qui s’obtient mathematiquement par minimisation d’un critere quadratique (matrice qui verifieJ.J+ = I)

En effet, si l’on souhaite minimiser l’increment de deplacement articulaire, autrement ditdans le cas d’une commande incrementale minimiser les vitesses articulaires, on cherche aminimiser le critere quadratique 1

2qT .q et on obtient la pseudo-inverse suivante :

J+ = JT(JJT

)−1

NB: Du point de vue mathematique, la solution generale de l’inversion du modele cinematiqueest : q = J+x + (I− J+J)z, ou z designe un vecteur arbitraire de Rn. Le premier termedonne, comme vu precedemment, une solution minimisant la norme euclidienne ‖q‖2.Le second terme peut etre utilise pour satisfaire des contraintes d’optimisation supple-mentaires, comme par exemple l’eloignement des butees articulaires, l’eloignement desconfigurations singulieres, les efforts moteurs des actionneurs ou encore la manipulabilitedu robot, c’est-a-dire son aptitude a generer les deplacements demandes a partir d’uneposture donnee.

D’autre part, il a ete vu precedemment que dans le cas de configurations singulieres ou deredondances, le determinant de la matrice jacobienne devient nul, ce qui interdit l’inversion decette matrice.

On peut alors, comme dans le cas precedent, utiliser la pseudo-inverse de J, qui permetde calculer des deplacements articulaires minimisant un critere. Le deplacement engendre durobot ne sera peut etre pas exactement le meme que celui δx souhaite, mais peut etre acceptablejusqu’a ce que la singularite soit franchie.

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 69: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

6.4. CONCLUSION 69

6.4 Conclusion

Realisee dans l’espace articulaire ou dans l’espace operationnel, la generation de mouvementfournit une loi horaire qd,i(t) pour chacun des axes i. Il reste ensuite que chaque position arti-culaire qi (rotation ou translation) soit asservie a la consigne articulaire qd,i(t) correspondante.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 70: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un
Page 71: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Chapitre 7

Commande des axes (dans l’espacearticulaire)

La commande des axes dans l’espace articulaire a pour objectif d’asservir la position arti-culaire q(t) sur la trajectoire qd(t) precedemment calculee.

Sur la plupart des robots industriels, les axes sont asservis separement ainsi que le presentela section suivante, mais les effets negliges peuvent intervenir pour degrader les performancesdes asservissements, notamment aux vitesses importantes (l’augmentation de la vitesse des axesa notamment pour effet l’augmentation de la contribution des efforts centrifuges). Il existe deslois de commande qui permettent de prendre en compte efficacement et sans approximationla dynamique totale du robot, mais celles-ci sont plus complexes et gourmandes en temps decalcul.

7.1 Chaıne de commande d’un robot industriel

La chaıne de commande d’un robot industriel est composee des elements suivants :

— le calculateur est charge de calculer les consignes de couple ou de vitesse des actionneurs.Il est constitue d’une unite centrale, d’une unite de stockage, d’interfaces de communica-tions (serie, ethernet, etc.), et de ports d’entrees/sorties (CAN, CNA, E/S numeriques,compteurs, etc.).

— les actionneurs mettent la structure en mouvement. Il s’agit le plus souvent d’action-neurs electromagnetiques mais des actionneurs hydrauliques peuvent etre utilise pour desrobots portant de tres fortes charges. Les elements peripheriques du robot (prehenseursmecaniques, prehenseurs par depression, etc.) utilisent principalement des actionneurspneumatiques. Dans le cas des actionneurs electromagnetiques, des variateurs assurentla regulation du couple ou de la vitesse du moteur (generalement par une regulationdu courant). Les variateurs gerent aussi la securite (( bas niveau )) du robot (protectioncontre les surcharges, protection contre une defaillance interne du variateur, gestionsdes fins de course, gestions des arrets d’urgences).

— les transmissions transmettent le mouvement des actionneurs a la structure (avec gene-ralement un facteur de reduction).

— la structure mecanique realise le mouvement.— les capteurs proprioceptifs mesurent des grandeurs internes au robot (positions, vitesses,

couples, forces).— des capteurs exteroceptifs peuvent renseigner le calculateur sur son environnement (ou-

verture d’un porte, etc.) ou permettre de realiser une commande referencee capteur(commande en force, asservissement visuel, etc.).

71

Page 72: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

72 CHAPITRE 7. COMMANDE DES AXES (DANS L’ESPACE ARTICULAIRE)

Capteurs

proprioceptifs

Commandes

moteurs

Calculateur

Alimentation

de puissance

Forces et couples

moteurs

Moteurs

(+ variateurs)

Forces et couples

transmis

Structure

mécanique

Transmissions

extéroceptifs

Environnement

opérateur

Figure 7.1 – Chaıne de commande d’un robot industriel.

+-

qd,iControleur

eiAxe i

Γm,i qi

qi

Figure 7.2 – Commande individuelle des axes

7.2 Commande individuelle des axes

La commande individuelle (egalement appelee commande decouplee) consiste a asservir in-dependamment chaque axe sans tenir compte des couplages dynamiques et de l’influence dela posture sur l’inertie. Le couple moteur de chaque axe est calcule par un controleur dedie(generalement de type PID) comme le montre la figure 7.2.

On se place dans la situation ou l’on neglige les effets non lineaires, les variations descoefficients en fonction de la posture et les couplages dynamiques. Par ailleurs, on suppose leseffets de la gravite majoritairement compenses par un systeme mecanique (cf. chapitre 5). Dansces conditions et en l’absence d’efforts d’interaction avec l’environnement, le comportementdynamique de chaque axe i du robot peut s’ecrire comme suit :

aiiqi = Γmi − fiqi − Γpi

ou fi represente le coefficient de frottement visqueux de l’axe et Γpi represente l’effort deperturbation correspondant a tous les effets dynamiques negliges.

Dans le domaine de Laplace, on a donc :

Γmi(p) = (aiip2 + fip)qi(p) + Γpi(p)

D’ou l’expression de la fonction de transfert de l’axe :

qi(p) =Γmi(p)− Γpi(p)

(aiip+ fi)p

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 73: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

7.3. COMMANDE A COUPLES CALCULES 73

A partir de la, il est possible de synthetiser un PID permettant un asservissement conve-nable de l’axe. A titre d’exemple aisement calculable, si on prend la loi de commande simplesuivante, correspondant a un regulateur PD (pour alleger l’ecriture, on n’indique plus l’indicei correspondant a l’axe i considere) :

Γm(t) = Kpe(t)−Kdq(t)

ou e(t) = qd(t)− q(t).

D’ou le comportement en boucle fermee :

Γm(p) = Kpqd(p)− (Kp +Kdp)q(p) = (ap2 + fp)q(p) + Γp(p)

soit :

q(p) = F (p)qd(p)−1

KpF (p)Γp(p)

avec :

F (p) =1

aKpp2 + Kd+f

Kpp+ 1

Ceci correspond donc a un systeme du deuxieme ordre dont on peut aisement regler larapidite et la stabilite (pulsation propre et amortissement) grace a Kp et Kd.

7.3 Commande a couples calcules

Le comportement d’un robot est en realite fortement non lineaire, variable dans le temps(dependant de la posture) et a couplage dynamique (le mouvement d’un axe influe sur celuides autres axes). La commande individuelle des axes peut generer des differences de compor-tement importantes en boucle fermee (temps de reponse, stabilite, precision) selon le domainede l’espace atteignable ou le robot evolue et quand le robot se deplace a grande vitesse.

La commande a couples calcules (egalement appelee commande dynamique) utilise le mo-dele dynamique inverse du robot afin de compenser tous ces effets.

On rappelle que le modele dynamique de la structure mecanique d’un robot (sans prendreen compte ni la contribution electromagnetique des moteurs, ni les interactions avec l’environ-nement), peut s’exprimer de la maniere generale suivante :

Γm = D(q)q + C(q, q) + Q(q) + Γf (q, q)

La commande a couples calcules consiste a imposer aux axes les couples ou forces Γm telsque :

Γm = D(q)u + C(q, q) + Q(q) + Γf (q, q)

avec u un vecteur de controle. Le symbole ˆ designe ici les grandeurs modelisees. La figure 7.3illustre cette equation.

Si le modele correspond (( suffisamment convenablement )) a la realite du comportementdynamique du robot, alors le robot associe a sa commande presente le comportement dynamiquesuivant :

u = q

Ainsi, chaque axe est decouple des autres et linearise. Il devient un double integrateur :ui = qi !

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 74: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

74 CHAPITRE 7. COMMANDE DES AXES (DANS L’ESPACE ARTICULAIRE)

+-

qdControleur

eD(q)

u ++ Robot

Γm q

q

C(q, q) + Q(q) + Γf (q, q)q

Figure 7.3 – Commande a couples calcules

+-

qdControleur

e ++ Robot

Γm q

q

Q(q)q

Figure 7.4 – Commande avec compensation de la gravite

On peut alors choisir ici un regulateur lineaire classique, comme par exemple un regulateurPD :

ui(t) = Kpiei(t)−Kdi qi(t)

Comme ui = qi, on obtient alors dans le domaine de Laplace :

p2qi(p) = Kpiqdi(p)− (Kpi + pKdi)qi(p)

soit :

qi(p) =1

1Kpi

p2 +KdiKpi

p+ 1qdi(p)

On peut alors regler la dynamique de l’axe i en jouant sur Kpi et Kdi .

NB: Un compromis interessant entre la commande individuelle des axes et la commande acouples calcules est de n’utiliser que le terme Q(q) pour compenser la gravite. Cetteversion (( degradee )), qui neglige les termes inertiels, centrifuges et de Coriolis, est repre-sentee par le schema de la figure 7.4.

7.4 Conclusion

Dans ce chapitre, nous avons presente deux methodes classiques de commande des axesmais il existe de nombreuses autres approches (commande predictive, commande passive, com-mande adaptative, etc.). Pour plus d’informations, nous renvoyons le lecteur aux ouvrages dereference [4, 10].

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 75: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Chapitre 8

Choix d’un robot

Au depart, la decision de mettre en œuvre un systeme robotise releve de choix sur les fluxde production et leur gestion et de choix economiques, donc correspond plus a un probleme deproductique qu’a un probleme de robotique. Ceci n’est pas evoque dans ce chapitre, qui resumetres succinctement quelques aspects techniques de conception d’une cellule robotisee.

Du point de vue du robot, la synthese d’une telle cellule pose principalement quatre typesde problemes :

— le choix du robot,— le choix du prehenseur,— le placement du robot dans la cellule,— le choix et la generation des trajectoires entre les points a atteindre.

8.1 Choix du robot

8.1.1 Criteres geometriques

Deux criteres principaux sont a prendre en compte : le nombre de degres de liberte del’effecteur requis par la tache a realiser, et le domaine atteignable necessaire a l’execution decette tache.

D’une maniere generale, des theories des mecanismes existent pour obtenir une cinematiquede robot permettant de generer les ddl necessaires et le domaine atteignable requis d’unemaniere optimisee. Mais ces theories sont souvent tres complexes et l’on se tournera en generalplutot vers l’offre des constructeurs.

Nombre de degres de liberte

Il s’agit ici de caracteriser le nombre de degres de liberte dans l’espace dont l’effecteur abesoin pour realiser convenablement sa ou ses taches.

Par exemple, un robot prenant des biscuits sur un tapis roulant n’aura en general besoinque de travailler dans le plan du tapis a condition que les biscuits soient a ranger dans desboıtes de meme orientation (coplanaire) que le tapis. Ainsi, il n’aura dans ce cas besoin que de4 ddl pour permettre la prise-depose : les 3 ddl du plan (a priori horizontal) considere et unddl en z (altitude).

Il s’agit donc bien ici de determiner les degres de liberte de la tache, pour adapter lenombre d’axes du robot au besoin (attention a ne pas le sous-estimer ni le sur-estimer).

NB: Dans certains cas, ou l’environnement est envahi d’obstacles, une redondance peut etreinteressante car elle offre une infinite de choix de configurations possibles pour atteindrela situation consideree.

75

Page 76: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

76 CHAPITRE 8. CHOIX D’UN ROBOT

P

R

dX : location désirée

gX : barycentre des locations atteintes

iX : locations atteintes

Figure 8.1 – Illustration geometrique de la justesse P et de la fidelite R.

Domaine atteignable

Le domaine atteignable en position est defini par sa forme geometrique et son volume. Ilfaut donc verifier que l’ensemble des points a atteindre et/ou des trajectoires a effectuer soitinclus dans un volume pouvant lui-meme etre inclus dans le domaine atteignable.

Les documentations des constructeurs donnent le domaine atteignable en position, mais engeneral pour une orientation quelconque. Il ne faut pas oublier que ce domaine se reduit lorsquel’on souhaite par exemple travailler a orientation fixe. On peut donc etre amene a representersoi-meme le domaine atteignable. Ceci peut-etre tres fastidieux (( a la main )) et se realise plusaisement a l’aide d’un outil de CAO robotique.

NB: En general, le domaine atteignable est donne au centre de la bride sur laquelle on fixeral’organe terminal ou, dans le cas d’un poignet a axes concourants, au point de concoursdes axes.

Precision

Un robot est dit precis (ou exact) si il est a la fois juste et fidele. Les conditions d’experiencespermettant de mesurer la justesse et la fidelite d’un robot sont definies par la norme ISO9283 [1].La demarche est la suivante : on definit xd une (( situation )) cible (position et orientationprogrammees que l’on souhaite atteindre) :

xd =[xd yd zd αd βd γd

]TOn demande au robot de se positionner n fois en xd, en suivant toujours la meme tra-

jectoire (30 cycles dans la norme). On nomme xg le barycentre de l’ensemble des n locationseffectivement atteintes, notees xi et mesures par un systeme de mesure externe.

On definit alors la justesse et la fidelite comme suit (voir egalement la figure 8.1).

Definition 9 (Justesse). La justesse statique en position d’un robot est definie par l’ecart entrela position moyenne obtenue et la position desiree (valeur vraie), c’est-a-dire par la distance Pentre xd et xg, telle que :

P =√

(xg − xd)2 + (yg − yd)2 + (zg − zd)2

avec :

xg =1

n

n∑i=1

xi ; yg =1

n

n∑i=1

yi ; zg =1

n

n∑i=1

zi.

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 77: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

8.1. CHOIX DU ROBOT 77

Definition 10 (Fidelite/repetabilite). La fidelite statique d’un robot (appelee aussi repetabilite)est caracterisee par la dispersion spatiale des positions atteintes :

R = l + 3Sl

Ou :— l est la distance moyenne au barycentre :

l =1

n

n∑i=1

li

— li est la distance entre xi et le barycentre xg :

li =√

(xi − xg)2 + (yi − yg)2 + (zi − zg)2 (8.1)

— Sn−1 est l’estimateur de l’ecart-type :

Sl =

√√√√ 1

n− 1

n∑i=1

(li − l)2

Des definitions simailaires existent definissant la justesse et la fidelite statique en orienta-tion [1].

NB: Attention aux faux amis ! En anglais, le terme precision designe souvent la fide-lite/repetabilite. La justesse est traduite par le terme accuracy.

Les erreurs de justesse et de fidelite sont dues aux performances des asservissements, a laresolution des capteurs, aux defauts des organes mecaniques (frottements secs, jeux). En cequi concerne la justesse, une grande partie de sa degradation peut venir des erreurs de modelepour le transformateur de coordonnees x −→ q (en particulier, les valeurs des parametresgeometriques du modele ne correspondent pas exactement a celles du robot).

La fidelite est beaucoup plus importante que la justesse, notamment lorsque le robot estprogramme par apprentissage. Des problemes lies a la precision peuvent cependant apparaıtrelorsqu’on utilise la programmation hors ligne (la CAO considere les asservissements parfaits :consigne = mesure).

NB: La fidelite est toujours indiquee dans les documentations constructeurs (souvent sous leterme repetabilite), mais rarement la justesse. Pour exemple, la repetabilite du STAUBLIRX90 est 20 µm.

8.1.2 Criteres cinematiques

Comme pour toute machine, le temps de cycle permis pour la tache robotisee est un criterefondamental du cahier des charges. Il est donc important de prevoir si le robot choisi pourrarespecter ce temps de cycle. Pour cela, il est necessaire de connaıtre les vitesses maximales(instantanees et de rotation), voire les accelerations maximales que l’effecteur peut atteindre.Les constructeurs fournissent en general quelques informations sur ce point.

Il ne faut cependant pas oublier qu’un robot n’est pas un systeme lineaire et qu’a vitesses ar-ticulaires constantes, les vitesses operationnelles varient en fonction de la posture (x = J(q).q).La encore un logiciel de CAO robotique peut etre d’un grand secours.

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 78: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

78 CHAPITRE 8. CHOIX D’UN ROBOT

8.1.3 Criteres dynamiques

Les efforts exterieurs appliques sur un robot sont en general issus du poids du prehenseurchoisi et de celui de la charge transportee (il est d’ailleurs souvent preferable de choisir ouconcevoir le prehenseur avant de choisir le robot, afin de prendre correctement en compte lecritere de poids du prehenseur dans le choix du robot). Dans les cas de commande en effort,il faut egalement prendre en compte l’effort que le robot doit appliquer sur l’environnement.Les documentations constructeur precisent systematiquement la charge maximale admissible— ne pas oublier de compter l’effecteur dans cette charge ! — sans toutefois donner les sixcomposantes du torseur des efforts (forces et couples).

On peut egalement trouver dans ces documentations les positions, vitesses et accelerations ane pas depasser en fonction de la charge deplacee par le robot, de maniere a ne pas endommagerla mecanique et la motorisation.

8.2 Choix du prehenseur ou de l’outil

Il existe une large gamme de prehenseurs et d’outils generiques adaptes a la plupart destaches (doigts de serrage, ventouses a vide, pinces de soudage, broches, etc.). Mais pour certainesapplications, il pourra etre necessaire de faire realiser un prehenseur ou un outil specifique.

Dans tous les cas, il faut toujours essayer de choisir une solution la plus simple possible.Pour ce faire, on peut envisager des positions et orientations judicieuses de pieces a prendre,des posages et des amenages appropries (a retournement automatique des pieces par exemples).

NB: Les fabricants de prehenseur ne sont en general pas les memes que les fabricants de robots.

8.3 Placement du robot

Une fois le robot choisi, il s’agit a present de le placer sur le site. Le placement d’un robotconsiste a determiner la position de sa base par rapport a la tache a realiser dans la cellule.D’une maniere generale, trouver un placement (( optimal )) du robot est un probleme delicat.Une CAO robotique peut egalement rendre de grands services sur ce point.

8.3.1 Probleme geometrique pose

Soient p situations (positions et orientations) que le centre de l’effecteur du robot devraatteindre, donnees dans un repere lie au site robotise, Rsite.

On decrits les p situations Sk par p matrices siteTSk. Il s’agit la du cahier des charges

minimal correspondant au probleme du placement du robot.

Par ailleurs, le robot etant prealablement choisi, son modele geometrique direct 0TP donneles positions et orientations du centre de l’effecteur par rapport a un repere lie a sa base, R0.

Le probleme est alors de positionner R0 dans Rsite de maniere judicieuse, c’est-a-dire enoptimisant un (ou des) critere(s) choisi(s).

8.3.2 Criteres

Les criteres a optimiser sont varies et dependent de la tache a realiser. On peut par exemplechercher a faire en sorte que le placement propose soit tel que pour les p situations a atteindreSk, les debattements soient les plus faibles possibles (gain de temps de cycle) et les variables

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 79: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

8.4. CHOIX DES TRAJECTOIRES 79

articulaires correspondantes soient les plus eloignees possibles de leurs valeurs limites (lors-qu’un axe s’approche d’une de ses butees, il peut generer des problemes de retournement pouratteindre le point suivant).

On peut egalement souhaiter s’eloigner ou se rapprocher au maximum, sur certains pointsde la trajectoire, des postures singulieres du robot.

8.3.3 Contraintes

Le robot doit naturellement etre place de maniere a ce que le centre de l’effecteur puisseatteindre les p situations Sk qu’il doit atteindre pour realiser la tache. En d’autres termes, ildoit exister pour tout k une solution a l’equation :

siteTSk= siteT0

0TSk

La base du robot ne peut etre deplacee que dans un domaine limite, compatible avec l’espacedisponible au sol mais surtout prenant en compte les recommandations eventuelles du construc-teur quant aux orientations permises de la base du robot. Ces considerations contraignent lamatrice siteT0 qui doit appartenir au domaine d’installation.

En resume, on cherche a determiner la transformation siteT0 qui optimise un critere definisur les situations Sk et respectant les contraintes enoncees ci-dessus. Ceci ne peut quasimentse resoudre qu’a l’aide d’une CAO robotique appropriee.

8.4 Choix des trajectoires

Un autre type de probleme courant est un probleme combinatoire. Lorsque par exemple lerobot doit atteindre p situations Sk sans ordre preferentiel (par exemple pour le soudage parpoints ou la prise-depose), il s’agit de trouver l’ordre des trajectoires generant un temps decycle minimum.

On est donc ramene a un probleme de voyageur de commerce qui ne peut se resoudre quepar heuristique : il y a en effet une explosion combinatoire, le nombre de circuits possibles estegal a p!. Ici encore, l’utilisation de l’informatique est indispensable.

Enfin, pour certaines taches de manipulation complexes dans des environnements encom-bres, il n’est pas toujours facile de trouver une trajectoire evitant les collisions. On fait alorsappel a des logiciels de planification qui recherchent une solution possible a l’aide de methodesprobabilistes (la resolution analytique etant ici aussi trop combinatoire).

Guillaume Laurent et Nicolas Chaillet Universite de Bourgogne Franche-Comte – UFC – ENSMM

Page 80: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un
Page 81: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Chapitre 9

Ce qui n’a pas ete vu ...

9.1 Planification de trajectoires

9.2 Etude des robots paralleles

9.3 Identification des parametres geometriques des robots

9.4 Identification des parametres dynamiques des robots

9.5 Compliance

9.6 Commande referencee capteur : commande en effort - com-mande hybride - asservissements visuels

9.7 Parcourabilite - Dexterite - Manipulabilite

81

Page 82: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un
Page 83: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Bibliographie

[1] Manipulating industrial robots - performance criteria and related test methods. Interna-tional Standard ISO 9283, 1998. 76, 77

[2] Philippe Coiffet. La robotique : principes et applications. Hermes Science, 1992.

[3] Max Giordano and Jacques Lottin. Cours de robotique : Description et fonctionnementdes robots industriels. Armand Colin, 1997. 6, 10, 11

[4] Wisama Khalil and Etienne Dombre. Modelisation, identification et commande des robots.Hermes Science, 1999. 37, 74

[5] J.P. Lallemand and S. Zeghloul. Robotique : Aspects Fondamentaux. Masson, 1994. 11, 12

[6] Alain Liegeois. Modelisation et commande des robots manipulateurs. Techniques de l’in-genieur, S7730 :1–16, 2000.

[7] Morvan Ouisse and Sylvaine Mallet. Mecanique generale : Cinematique et dynamique desmecanismes. Hermes Science, 2010. 53

[8] Richard P. Paul. Robot Manipulators : Mathematics, Programming, and Control. TheMIT press, 1981. 23, 37

[9] Stephane Regnier and Nicolas Chaillet, editors. La microrobotique : Applications a lamicromanipulation. Hermes Science, 2008. 15

[10] Mark W. Spong, Seth Hutchinson, and M. Vidyasagar. Robot Modeling and Control. Wiley,2005. 46, 74

83

Page 84: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un
Page 85: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Annexe A

Sites web, blogs, reseauxd’informations et salons industriels

Dans le but de vous permettre de completer votre formation et de vous aider dans larecherche d’un stage ou d’un emploi, cette annexe propose une liste de sites web, blogs, reseauxd’informations et salons industriels portant sur la robotique.

AutomaticaAdresse : http://www.automatica-munich.com/Description : salon industriel a Munich

College de FranceAdresse : http://www.college-de-france.fr/site/jean-paul-laumond/Description : videos des cours donnes au college de France par J.-P. Laumond et de nom-

breuses personnalites invitees

Cours de troisieme annee de l’ENSPS et du Master M2 ISTIAdresse : http://icube-avr.unistra.fr/index.php/Robotique_de_manipulationDescription : Cours de robotique de J. Gangloff (transparents, exercices, sujets d’examen)

European Robotics Research NetworkAdresse : http://www.euron.org/Description : reseau europeen d’acteurs industriels et academiques, liste de diffusion, offres

de stages et d’emplois

Everything-RoboticAdresse : http://www.everything-robotic.com/Description : blog

Groupement de Recherche (GdR) en RobotiqueAdresse : http://www.gdr-robotique.org/Description : reseau francais d’acteurs academiques (finance par le CNRS), liste des entre-

prises et des laboratoires francais de robotique (inscription gratuite obligatoire pour y acceder),liste de diffusion, offres de stages et d’emplois

IEEE Robotics & Automation SocietyAdresse : http://www.ieee-ras.org/Description : reseau international d’acteurs academiques, liste de diffusion (inscription

payante)

85

Page 86: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

86 ANNEXE A. SITES WEB, BLOGS, RESEAUX D’INFORMATIONS ET SALONS INDUSTRIELS

InnoroboAdresse : http://www.innorobo.com/Description : salon industriel a Lyon

International Federation of RoboticsAdresse : http://www.ifr.org/Description : federation internationale d’acteurs industriels et academiques

RobohubAdresse : http://robohub.org/Description : reseau international d’acteurs industriels et academiques, liste de diffusion

RobocaliserAdresse : http://www.robotcaliser.com/Description : site de promotion de la robotique a destination des industriels francais

ROBOT Start PMEAdresse : http://www.robotstartpme.fr/Description : programme de soutien aux PME primo-accedantes a la robotisation mis en

place en 2013

The Robot ReportAdresse : http://www.therobotreport.com/Description : blog

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet

Page 87: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

Annexe B

Logiciels et bibliotheques libres

Cette annexe propose une selection de quelques logiciels et bibliotheques libres permettantde simuler ou de commander des robots.

B.1 Logiciels

V-REPAdresse : http://www.coppeliarobotics.com/Description : simulateur de robots articules seriels/paralleles et de robots mobilesDistributions : Windows, Linux, Mac OS

GazeboAdresse : http://www.gazebosim.org/Description : simulateur de robots articules seriels/paralleles et de robots mobilesDistribution : Linux

OpenSYMOROAdresse : https://github.com/symoro/symoroDescription : logiciel de calcul symbolique des differents modeles (geometriques, cinema-

tiques et dynamiques) de robots articules seriels/parallelesDistribution : Windows, Linux, Mac OS (developpe en Python)

B.2 Bibliotheques

Robotics Toolbox (de Peter Corke)Adresse : http://petercorke.com/Robotics_Toolbox.htmlDescription : bibliotheque permettant de modeliser des robots articules serielsContenu : transformations homogenes, quaternions, DH, modelisation geometrique, mode-

lisation cinematique, modelisation dynamique, generation de trajectoire et planificationLangage : Matlab

87

Page 88: Guillaume Laurent et Nicolas Chaillet · de ses axes, ne pourra g en erer au maximum que six degr es de libert e de son organe terminal. 1.2.2 Boucle perception-d ecision-action Un

88 ANNEXE B. LOGICIELS ET BIBLIOTHEQUES LIBRES

Robotics Library (RL)Adresse : http://www.roboticslibrary.org/Description : bibliotheque permettant de modeliser des robots articules serielsContenu : transformations homogenes, quaternions, DH, modelisation geometrique, modeli-

sation cinematique, modelisation dynamique, generation de trajectoire, planification, detectionde collision, affichage 3D via la bibliotheque COIN.

Langage : C++Distributions : Windows, Linux, Mac OS

Robot Operating System (ROS)Adresse : http://www.ros.org/,Description : ROS permet d’interfacer un grand nombre de robots et de capteurs en vue de

leur commande. ROS utilise la bibliotheque de traitement d’image OpenCV pour la vision.Langage : C++Distribution : Linux

Visual Servoing Platform (ViSP)Adresse : http://www.irisa.fr/lagadic/visp/visp.html,Description : ViSP est une bibliotheque dediee a l’asservissement visuel.Langage : C++Distributions : Windows, Linux, Mac OS

Universite de Bourgogne Franche-Comte – UFC – ENSMM Guillaume Laurent et Nicolas Chaillet