180
MECA 2732 : Introduction à la robotique Titulaires : P. Fisette, H. Buyse, J.C. Samin 10 novembre 2004

Introduction à la robotique

Embed Size (px)

Citation preview

Page 1: Introduction à la robotique

MECA 2732 : Introduction à la robotique

Titulaires : P. Fisette, H. Buyse, J.C. Samin

10 novembre 2004

Page 2: Introduction à la robotique

Table des matières

1 Robotique 41.1 Introduction1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1.2 Justification technico-économique . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Les robots industriels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.2.2 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.2.3 Eléments constitutifs d’un robot . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3 Classification des robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.3.1 Classification fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3.2 Classification géométrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.4 Performances des robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4.1 Les performances-tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.4.2 Les performances-homme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.4.3 Les performances économiques . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.5 Quelques statistiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1.5.1 Statistiques mondiales ( c° IFR 2000 :1999 Key data for the world robot market ) 28

1.5.2 Statistiques françaises ( c° revue ”j’automatise” ) . . . . . . . . . . . . . . . . . 29

2 Constituants des robots 30

2.1 Actionneurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.1.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.1.2 Puissance massique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.1.3 Pouvoir d’accélération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.1.4 Les différents types d’actionneurs . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2 Organes de transmissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.2.1 Exemple de transmissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.3 Effecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.3.2 Classification des effecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.3.3 Organes de préhension mécaniques . . . . . . . . . . . . . . . . . . . . . . . . 44

1 [4], [2], [3]

1

Page 3: Introduction à la robotique

2.3.4 Autres organes de préhension . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

2.3.5 Critères de choix d’un organe de préhension . . . . . . . . . . . . . . . . . . . 55

2.4 Annexe : Gripper Design Guidelines for Modular Manufacturing2 . . . . . . . . . . . 56

2.4.1 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

2.4.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

2.4.3 Gripper Footprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

2.4.4 Design Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2.4.5 Example Gripper Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

3 Modèles géométriques directs de robots manipulateurs (séries) 683.1 Coordonnées articulaires et opérationnelles . . . . . . . . . . . . . . . . . . . . . . . 68

3.1.1 Coordonnées et matrices de transformation homogènes . . . . . . . . . . . . . 69

3.1.2 Application aux robots séries . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3.1.3 Matrices de passage élémentaires . . . . . . . . . . . . . . . . . . . . . . . . . 71

3.2 Modèles cinématiques directs de robots séries . . . . . . . . . . . . . . . . . . . . . . 74

3.3 Singularités des robots manipulateurs séries . . . . . . . . . . . . . . . . . . . . . . . 78

4 Générations de trajectoires 804.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

4.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

4.1.2 Planification dans l’espace articulaire . . . . . . . . . . . . . . . . . . . . . . . 81

4.1.3 Planification dans l’espace cartésien (opérationnel) X . . . . . . . . . . . . . 81

4.2 Trajectoires planifiées dans l’espace articulaire . . . . . . . . . . . . . . . . . . . . . . 82

4.2.1 Trajectoires sans contraintes (mouvement P.T.P.) . . . . . . . . . . . . . . . . 82

4.2.2 Coordination des articulations . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.2.3 Trajectoire contrainte (points de passage intermédiaires) . . . . . . . . . . . . 86

4.3 Trajectoire planifiée dans l’espace cartésien . . . . . . . . . . . . . . . . . . . . . . . 89

4.3.1 Interpolation cartésienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

4.3.2 Interpolation articulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

4.4 Génération du mouvement en temps minimal le long d’une trajectoire donnée . . . . 96

5 Senseurs extéroceptifs (sauf vision) 1015.1 Méthodes télémétriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

5.1.1 Télémétrie par triangulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

5.1.2 Télémétrie par éclairage structuré . . . . . . . . . . . . . . . . . . . . . . . . 103

5.1.3 Télémétrie directe par mesures du temps de vol . . . . . . . . . . . . . . . . . 105

5.2 Détection de proximité ou de présence . . . . . . . . . . . . . . . . . . . . . . . . . . 109

5.2.1 Capteur inductif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

5.2.2 Capteur à effet HALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

5.2.3 Senseur capacitif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

2Greg C. Causey and Roger D. Quinn, Department of Mechanical and Aerospace Engineering ,Case Western

Reserve University (CWRU), Cleveland, Ohio 44106-7222

2

Page 4: Introduction à la robotique

5.2.4 Capteur à ultrasons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

5.2.5 Capteur optique de proximité ou présence . . . . . . . . . . . . . . . . . . . . 114

5.3 Détection de contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

5.3.1 Capteurs binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.3.2 Capteurs analogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

5.4 Mesures de forces et de couples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

5.5 Conclusions générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

6 Vision industrielle 1266.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

6.1.1 Définition d’une machine de vision . . . . . . . . . . . . . . . . . . . . . . . . 127

6.1.2 Quelques exemples d’illusions optiques . . . . . . . . . . . . . . . . . . . . . . 127

6.1.3 Généralités sur la vision par ordinateur . . . . . . . . . . . . . . . . . . . . . 128

6.1.4 Analyse fonctionnelle du processus de vision par ordinateur . . . . . . . . . . 129

6.1.5 Typologie des problèmes de vision en productique . . . . . . . . . . . . . . . 130

6.1.6 Quelques grandes difficultés permanentes en visionique . . . . . . . . . . . . . 131

6.1.7 Quelques définitions préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . 134

6.2 Les capteurs de vision 2-D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

6.2.1 Couleur ou noir et blanc ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

6.2.2 Les tubes électroniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

6.2.3 Les caméras solides (solid state camera) . . . . . . . . . . . . . . . . . . . . . 139

6.2.4 Eléments de comparaison des capteurs de vision 2 D . . . . . . . . . . . . . . 141

6.2.5 La vision tridimensionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

6.3 Traitement numérique et modélisation des images . . . . . . . . . . . . . . . . . . . . 146

6.3.1 Définitions préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

6.3.2 Recherche d’une primitive surface (dans une image binaire) . . . . . . . . . . 148

6.4 Traitement numérique des images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

6.4.1 Les prétraitements simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

6.4.2 Techniques d’extraction de contours. . . . . . . . . . . . . . . . . . . . . . . . 157

6.4.3 Extraction de primitives géométriques dans un contour : la transformée de

Hough . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

6.4.4 Opérations diverses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

6.5 Modélisation des images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

6.5.1 Descriptions des contours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

6.5.2 Description des primitives surfaces . . . . . . . . . . . . . . . . . . . . . . . . 167

6.5.3 Reconnaissance des formes et classification . . . . . . . . . . . . . . . . . . . 171

3

Page 5: Introduction à la robotique

Chapitre 1

Robotique

1.1 Introduction1

1.1.1 Historique

La robotique est un ensemble de disciplines techniques (mécanique, électronique, automatique,

informatique) articulées autour d’un objectif et d’un objet communs. Cet objectif est l’automatisa-

tion flexible de nombreux secteurs de l’activité humaine réputés jusqu’à très récemment comme ne

pouvant se passer de la présence de l’homme, et l’objet est le robot, sorte de machine universelle

dont l’homme rêve depuis toujours (mais qui n’a pas encore la forme de ce rêve !).

D’une part, les progrès réalisés dans les différentes disciplines mentionnées plus haut permettent

de construire des robots et autres systèmes ”mécatroniques” performants et fiables. D’autre part,

les situations économiques actuelles dans les pays industrialisés, notamment la crise qui a suivi le

”choc pétrolier” des années 70 et l’émergence de nouveaux pays industrialisés, conduisent à une

compétition industrielle très vive, ne laissant survivre que les industries capables de produire à faible

coût ou de fournir rapidement des produits nouveaux et/ou de qualité supérieure et garantie. Ces

exigences ont conduit au développement d’une automatisation flexible impliquant l’implantation

de robots dans de nombreuses branches d’activités. C’est l’apparition des robots et leur association

à d’autres machines automatiques d’inspiration ”classique” (par exemple, des machines-outils à

commande numérique) qui permettent d’automatiser ou d’essayer d’automatiser des opérations

considérées jusqu’ici comme non automatisables.

Il est à noter que, dans l’esprit du grand public, il est deux domaines de la technologie qui

sont étroitement liés à la science-fiction : les techniques spatiales et la robotique. Pour le premier

de ces domaines, les médias audiovisuels ont largement contribué à le démystifier par une descrip-

tion objective et détaillée des conquêtes successives de l’homme dans l’espace. Pour le second, au

contraire, les médias contribuent souvent à entretenir le mythe du robot en le présentant comme un

être mécanique constitué de composants mystérieux, capable d’actions humaines, doué de la parole,

mettant souvent une force surhumaine au service d’une intelligence primitive, et animé de sinistres

intentions. Il est vrai que le terme de robot est emprunté de la science-fiction. Il trouve en effet son

origine dans une pièce de l’auteur tchèque Capek, écrite en 1923, intitulée ”Les robots universels

1 [4], [2], [3]

4

Page 6: Introduction à la robotique

de Rossum”. Le mot ”robot” ou ”robota” est le mot tchèque, et aussi russe, pour désigner le travail

ou un travailleur. Dans la pièce de Capek, les robots sont des humanoïdes créés par Rossum et

son fils, dans l’espoir qu’ils se mettront avec obéissance au service de l’homme. Mais la réalité des

robots est bien antérieure à l’oeuvre de Capek. Nombreux sont les mécanismes automatiques qui

ont été imaginés et proposés au cours des siècles. Leurs inventeurs ne disposaient malheureusement

pas de la discipline extraordinairement puissante que constitue l’électronique, pour le contrôle des

processus qu’ils imaginaient et le traitement de l’information correspondante. Dans les associations

que l’on établit entre la robotique et la science-fiction, on serait toutefois incomplet si on oubliait

de faire référence à l’oeuvre de Isaac Asimov († 6 avril 1992), dont certains livres sont maintenant

disponibles dans des collections de poche. Les robots imaginés par Asimov dans les années 40 sont

des machines conçues de manière à réaliser leur travail en toute sécurité. Il cristallise cette notion

dans trois lois de la robotique, dont la validité est largement reconnue :

1. un robot ne peut porter atteinte a un être humain. Le robot doit au contraire toujours agir

en sorte que la sécurité de l’être humain soit assurée ;

2. un robot doit toujours obéir à l’homme, sauf s’il devait pour cela transgresser la première loi ;

3. un robot doit toujours veiller à sa propre sécurité, sauf s’il devait pour cela transgresser les

deux lois précédentes.

Mais ce mythe du robot, tel qu’il est largement entretenu par des oeuvres de fiction ou de

science-fiction, a peut-être parfois ralenti l’introduction de robots dans les processus de production,

notamment par une crainte de menace sur l’emploi des hommes : sans doute les premières machines

étaient-elle trop axées sur l’universalité des fonctions et trop orientées vers le remplacement sans

contrepartie de l’homme par le robot. Dès lors, l’homme s’est senti menacé dans son travail et

son emploi. En outre, le prix des premiers robots industriels, un certain manque de fiabilité et

l’indisponibilité de certains composants ont incontestablement freiné la diffusion des robots pendant

des années.

Le concept d’un robot industriel a été breveté en 1954 par G.C. Devol (U.S. Patent N 2988237).

Le brevet décrit comment construire un bras mécanique commandé capable d’accomplir certaines

tâches dans l’industrie. En 1956, une société, UNIMATION, a été créée aux U.S.A., avec pour seul

domaine d’activité la robotique ; elle a installé le premier robot industriel dans une entreprise de

métallurgie mécanique en 1961. En 1972, soit 16 ans après sa fondation et après avoir investi 12

millions de dollars, UNIMATION a réalisé ses premiers bénéfices, en produisant de vrais robots

industriels. Cette année 1972 a aussi vu l’apparition du premier robot ”tout électrique”, commer-

cialisé par la firme suédoise A.S.E.A. (maintenant A.B.B.). Mais ce que l’on peut appeler l’ère de

la robotique ne s’est engagé que fin des années 70 et début des années 80.

WORLD ROBOT POPULATION

1980 1981 1985 1990

Japan

U.S

Europe

6000

3500

3700

14000

5000

7300

85000

25000

25000

100− 360000150− 250000162− 200000

13200 26300 135000 312− 81000

5

Page 7: Introduction à la robotique

A l’instar de ce que nous venons de vivre avec l’informatique, les projets technologiques en

cours nous permettent d’assister à la succession sur une période de quelques années de plusieurs

générations de robots industriels.

— Sur le plan technique, cette évolution se concrétise par l’intégration de la mécanique, l’élec-

tronique et l’informatique en une nouvelle discipline, la mécatronique, dont la robotique n’est

qu’un des aspects au même titre que la conception et la fabrication assistées par ordinateur

(CAO et FAO). Le mot ”mécatronique” a été introduit par les Japonais au début des années

’80 pour signifier ”l’harmonie des capacités mécaniques et électroniques”. Plus précisément, la

mécatronique est la synergie de l’ingénierie mécanique de précision, de systèmes électroniques

de contrôle- commande et d’une approche ”systémique” dans la conception des produits et

des processus de fabrication.

— Sur le plan économique, le marché mondial connaît une situation de concurrence, liée notam-

ment à la très grande disparité dans les coûts salariaux, qui oblige les pays à plus longue

tradition industrielle à accroître la compétitivité de leurs outils de production et à concevoir

des systèmes de production flexibles capables de produire des séries relativement petites de

produits de types différents (dans une gamme de produits donnée bien entendu).

— Sur le plan social, il apparaît de plus en plus que le risque que constitue pour le marché

de l’emploi l’automatisation des processus industriels n’est qu’un des aspects à prendre en

compte. Patrons et travailleurs prennent progressivement conscience du fait que le robot

peut accroître la dimension humaine du travail, en remplaçant avantageusement l’homme à

de nombreux postes de travail pénibles, insalubres ou dangereux. De plus, l’industrie de la

robotique peut être elle-même génératrice d’emplois nouveaux plus nobles et plus qualifiés.

1.1.2 Justification technico-économique

Les domaines de la robotique

On peut considérer trois grands domaines d’application des robots. Les problèmes à résoudre

à l’intérieur de chacun de ces domaines ont une certaine ressemblance, mais ils peuvent être assez

différents d’un domaine à l’autre.

Le domaine de la production C’est dans ce domaine que l’effort est porté le plus particuliè-

rement par les industriels, qui voient de nombreux avantages à l’utilisation des robots, notamment

un accroissement de la productivité et une diminution de la main d’oeuvre. En fait, l’association

de robots entre eux et avec d’autres machines amène deux avantages fondamentaux par rapport

aux modes de production traditionnels :

1. l’automatisation quasi intégrale de la production qui peut s’accompagner :

— d’une meilleure qualité du produit fini ;

— d’une plus grande fiabilité dans le maintien de cette qualité ;

— d’une meilleure adaptation de la quantité produite à la demande.

6

Page 8: Introduction à la robotique

2. la flexibilité, c’est-à-dire la rapidité de reconfiguration de l’unité de production quand on passe

de la fabrication d’un produit à celle d’un produit voisin (exemple : fabriquer des modèles

différents de voitures sur la même chaîne) ou bien quand un incident immobilise une machine

de l’unité de production

Ces unités de production ”reconfigurables” ou adaptatives sont qualifiées de flexibles (en anglais

”flexible manufacturing systems”). On parle de :

— cellule flexible lorsqu’un petit nombre de robots et de machines sont associés (exemple : un

tour et un robot de chargement de ce tour)

— atelier flexible lorsqu’on associe plusieurs cellules flexibles ou bien un nombre assez important

de machines et robots.

Le domaine de l’exploration Il s’agit d’un problème différent. On veut exécuter des opérations

dans un lieu :

1. d’accès difficile : exploitation forestière, construction, maintenance, réparations ou nettoyage

de bâtiments, lignes électriques, ...

2. dans un milieu hostile ou dangereux pour l’homme :

— — le milieu sous-marin

— le milieu spatial

— le milieu irradié des centrales nucléaires

— les sites de catastrophes ou d’accidents, survenus ou potentiels : incendies, agressions

terroristes, ...

— les théâtres d’opérations militaires.

La robotique envisage deux types de solution pour ces interventions :

1. le robot autonome, envoyé dans le milieu hostile avec une mission bien définie, programmée à

l’avance, avec toutefois certaines libertés d’initiative ; actuellement, on sait réaliser des robots

doués d’une certaine autonomie, mais le travail qu’on peut leur confier doit rester d’une

grande simplicité et ne doit surtout pas exiger que le robot ait à appréhender et comprendre

seul tout son environnement.

C’est pourquoi la solution qui est encore aujourd’hui la plus opérationnelle, quoique restant

grandement à améliorer, est celle de :

2. la télé-opération (appelée aussi télé-présence), qui consiste à envoyer un engin (un robot

qu’on appelle machine-esclave) dans ce milieu hostile et à pouvoir contrôler et commander

cette machine à distance, à partir d’un poste appelé poste-maître aux commandes duquel se

trouve un homme (l’opérateur). C’est donc l’homme qui effectue toutes les tâches de réflexion

et de déclenchement des mouvements de l’esclave. Cela nécessite bien sûr le renvoi vers le

maître de ce qui se passe dans l’univers de l’esclave. Ce qui est le plus utile, c’est de voir

(présence de caméras), mais il importe aussi de sentir les efforts qui s’exercent sur l’esclave.

On doit donc avoir des systèmes de vision et des systèmes à retour d’effort.

7

Page 9: Introduction à la robotique

Le domaine de l’assistance individuelle Des films de science-fiction nous montrent souvent

des robots à forme plus ou moins humaine, qui remplacent l’homme ou l’assistent dans les tâches

ennuyeuses, fatigantes ou dangereuses. Ces robots restent encore du domaine de la science-fiction et,

actuellement on peut tout au plus envisager des machines du genre ”robot de ménage” qui nettoient

les sols par exemple (en évitant les obstacles, personnes, murs, meubles, ... ). L’autonomie de ces

robots est encore très limitée, leur coût plutôt exorbitant et leur intérêt très réduit.

Il y a cependant un domaine où la robotique d’assistance individuelle tend à se développer,

c’est celui de la robotique médicale permettant d’améliorer les conditions de vie des personnes

handicapées, paralysées ou amputées. La robotique recouvre alors le domaine des :

— prothèses (mains et jambes artificielles par exemple) ;

— orthèses, structures rigides motorisées que l’on met autour d’un membre paralysé et qui

entraînent ce dernier dans leurs mouvements ;

— téléthèses, destinées aux personnes paralysées des quatre membres (tétraplégiques) ; ce sont

des robots que la personne handicapée commande à distance (en télé-opération) à partir des

zones de motricité volontaire qu’il a pu conserver (par exemple : la langue, la bouche, les

muscles des yeux, etc....)

Les raisons de la robotisation de la production

Les raisons de la robotisation, ou plus généralement de l’automatisation, de la production, sont

essentiellement technico-éconorniques :

1. le caractère répétitif des tâches à accomplir.

S’il faut répéter inlassablement les mêmes gestes et opérations simples, une automatisation

classique (dite ”dure”) sera sans doute préférable. Dès que le nombre de variations ou la

complexité de la tâche augmente, il faut penser aux robots. A remarquer d’ailleurs que ceux-

ci étant de mois en moins stupides et coûteux, une automatisation autrefois effectuées par

une machine spécialement conçue à cet effet peut être aujourd’hui réalisée par le simple

apprentissage de la tâche par un robot polyvalent. La combinaison de robots et de simples

manipulateurs et/ou automates est également une solution extrêmement intéressante à de

nombreux problèmes d’automatisation.

2. la production de séries moyennes

La production de pièces dans l’industrie mécanique se repartit grosso-modo en :

— — 1/4 de la production sous forme de grandes séries ;

— 3/4 de la production en petites et moyennes séries.

La production en grandes séries a fait depuis longtemps l’objet d’une automatisation pous-

sée, par la mise en service de machines spéciales non convertibles (”automatisation dure” ou hard

automation, le qualificatif hard ayant ici la même signification qu’en informatique, à savoir l’auto-

matisation par matériel). De plus en plus, il faut aussi automatiser des productions en moyennes

et même en petites séries, afin d’utiliser aux mieux les capacités de production et de diminuer les

temps de passage sur machine et la quantité de pièces ”en cours”. Une telle automatisation doit

8

Page 10: Introduction à la robotique

être très flexible ; une robotisation bien conçue permet en effet de supprimer les temps morts néces-

saires aux réglages entre des séries différentes, et même de remplacer la production par lots de pièces

identiques par une production mélangeant différents produits sur une même chaîne de production

(ex. : construction automobile). Il est à noter que cette flexibilité est permise essentiellement par le

système informatique de gestion de la production ; on peut donc considérer l’automatisation flexible

comme une solution logicielle, tandis que l’automatisation dure correspond à une réalisation maté-

rielle. Le choix entre automatisation dure, automatisation flexible et production manuelle résulte

de l’importance des séries à produire ; en gros, on peut dire que :

— pour les grandes séries, il y a intérêt à utiliser des chaînes de production dédicacées et des

machines automatiques spécialisées (automatisation dure) ;

— pour les moyennes et petites séries, il vaut mieux utiliser des chaînes de production et des

machines automatiques convertibles et reprogrammables, en particulier des robots et des

éléments de péri-robotique (automatisation flexible) ;

— pour les très petites séries, une fabrication manuelle, à l’aide de machines ”universelles”, reste

préférable.

Pour une production déterminée, la distinction entre ces différents cas peut être précisée, et le

choix de l’une ou l’autre solution peut être dicté, par l’examen de courbes ou de tables donnant le

coût de production unitaire en fonction du nombre d’unités produites. Les coûts de production se

répartissent en coûts fixes F indépendants de la quantité de la production et en coûts variables V

qui, en première approximation, sont proportionnels au nombre n de pièces produites : V = v× n.

Le coût de production unitaire c est donc donné par la formule

c =F + v × n

n

Fig. 1.1: Coûts de production en fonction du volume de production

9

Page 11: Introduction à la robotique

3. Meilleure utilisation ou accroissement de la capacité de production

La robotisation de goulots d’étranglement d’une chaîne de production et la réduction des

temps morts par robotisation permettent souvent un accroissement de 20 à 30 % de la capacité

de production. Le travail en 2 ou 3 ”pauses” (8 heures/jour) d’une chaîne robotisées permet de

pratiquement doubler ou tripler la capacité de production sans demander un investissement

supplémentaire pour les machines de base.

4. Caractère pénible ou dangereux des opérations

L’exécution de ces tâches par des robots permet d’éviter l’installation de moyens de protec-

tion coûteux, contraignants et souvent peu efficaces, ou d’éviter l’organisation de longues (et

coûteuses) périodes de repos pour les personnes exposées. La robotisation permet d’améliorer

les conditions de travail et la productivité (ex. : marquage de coils à haute température).

5. Relation entre la qualité du produit et le soin apporté à sa fabrication

Le robot assure une qualité constante tout au long de son travail, alors qu’un ouvrier ne

pourra généralement garder la même attention pendant toute sa période de travail et que

la qualité de celui-ci risque donc de connaître des fluctuations importantes (ex. construction

automobile, points de soudure, rubans de colle.

6 Manutentions

Manutentions entre les opérations successives d’un processus de fabrication. Les robots sont

bien adaptés à la manipulations d’objets (pièces, outils, ... ) de masse moyenne ( ± 0, 1 kg,

± 5 kg ou ± 50 kg suivant la catégorie de robot). On peut citer comme exemple d’application

une cellule flexible constituée de plusieurs MOCN (machines-outils à commande numérique)

rassemblées autour d’un robot de chargement- déchargement)

1.2 Les robots industriels

1.2.1 Définitions

La définition que l’on donne actuellement du robot industriel diffère quelque peu selon les pays.

C’est au Japon que la définition est la plus vague. On y qualifie de robot ”tout mécanisme

permettant d’effectuer, en tout ou en partie, une tâche normalement réalisée par l’homme”. Le rôle

du robot y est essentiellement de servir d’intermédiaire entre l’homme et la machine. Il permet de

changer le système de production d’un système à interaction directe entre la machine et l’homme

en un système où l’homme gère la machine par l’intermédiaire du robot. Le peu de précision de

la définition japonaise du robot a une incidence immédiate sur les statistique correspondantes :

le JIRA (Japan Industrial Robot Association) a recensé en 1981 77000 robots industriels dans

l’industrie japonaise. Toutefois, plus de 50% de ces robots sont des manipulateurs à séquence fixe

qui ne seraient pas recensés comme tels aux USA ou en France, où la définition d’un robot est

beaucoup plus restrictive.

La définition américaine du robot (Robot Institue of America) est beaucoup plus spécifique :

”Un robot est un manipulateur reprogrammable à fonctions multiples. Il est conçu pour déplacer

des matériaux, des pièces, des outils ou des instruments spécialisés suivant des trajectoires variables

programmées, en vue d’accomplir des tâches très diverses”.

10

Page 12: Introduction à la robotique

Le caractère multifonctionnel du robot n’implique nullement son universalité : le succès de

l’insertion d’un robot dans un processus de fabrication est toujours lié au choix du robot le plus

approprié à la tâche à effectuer.

C’est la définition de l’Association Française de Robotique Industrielle (AFRI) qui est la plus

explicite, et aussi la plus proche de la technologie actuelle des robots :

”Un robot industriel est une machine formée de divers mécanismes comportant divers degrés de

liberté, ayant souvent l’apparence d’un ou de plusieurs bras se terminant par un poignet capable de

maintenir un outil, une pièce ou un instrument de contrôle. En particulier, son unité de contrôle

doit contenir un système de mémorisation, et il peut parfois utiliser des accessoires sensitifs et

adaptables qui tiennent compte de l’environnement et des circonstances. Ces machines, ayant un

rôle pluridisciplinaire, sont généralement conçues pour effectuer des fonctions répétitives, mais sont

adaptables à d’autres fonctions”.

En plus de la définition américaine, la définition française, du fait qu’elle envisage la perception

de l’environnement par le robot, implique une certaine prise de décision. Elle annonce la génération

des robots dits ”intelligents”.

1.2.2 Caractéristiques

Deux caractéristiques essentielles se dégagent des définitions précédentes, notamment de celle

du RIA. :

— la variété des tâches que le robot peut effectuer

— la possibilité de reprogrammation.

La première de ces caractéristiques, appelée aussi ”versatilité”, est l’aptitude physique du robot

à l’exécution de tâches diverses et/ou à l’exécution diversifiée d’une même tâche. Elle est liée aux

potentialités géométriques et mécaniques du robot et implique que celui-ci possède une structure à

géométrie variable ; elle dépend aussi d’autres éléments, en particulier de la structure de l’organe

terminal du robot et notamment de la possibilité d’y adapter des outils différents.

La seconde caractéristique, qui distingue les définitions américaine et française de la japonaise,

a été rendue possible par les développements de la micro-électronique et de la micro-informatique

dans les années 70, c’est ce qui a permis l’essor de la robotique industrielle.

La définition française implique la possibilité d’une troisième caractéristique : l’auto-adaptativité

à l’environnement, c.-à-d. une capacité d’initiative du robot pour mener à bien des tâches incom-

plètement spécifiées, malgré des modifications imprévues de l’environnement ; ceci implique des

capacités d’appréhension de l’environnement (capteurs), des capacités de réflexion pour l’analyse

de la tâche et l’élaboration d’une stratégie d’exécution (IA) et des modes de commande automatique

adéquats.

1.2.3 Eléments constitutifs d’un robot

Un robot est essentiellement une structure mécanique polyarticulée, équipée d’actionneurs, de

capteurs, d’une unité de traitement de l’information et de sources d’énergie ; l’analogie avec l’être

humain et plus généralement avec tout individu vertébré est immédiate : squelette, muscles, sens

11

Page 13: Introduction à la robotique

et cerveau. On voit aussi ici les concours des différentes disciplines : mécanique, électronique,

automatique et informatique.

Le robot est en effet conçu pour saisir et déplacer des objets. Ceci suppose donc une structure

mécanique. La maîtrise d’un objet dans l’espace implique sa localisation et son orientation. Pour

localiser un point de l’objet dans l’espace, il faut disposer de 3 degrés de liberté (ddl), qui peuvent

être des translations ou des rotations. Un point de l’objet étant fixe, si l’on désire orienter l’objet de

manière quelconque, il faut disposer en plus de 3 autres ddl qui sont nécessairement des rotations

(si possible autour d’axes orthogonaux concourants).

Les 3 premiers ddl définissent ce que l’on appelle le porteur (bras articulé), alors que les suivants

constituent un poignet à l’extrémité duquel se trouve l’organe terminal du robot.

Il faut donc, et il suffit de, 6 ddl pour qu’un système soit complet (cela ne signifie pas qu’il

sera universel ; mais que l’on doit rechercher pour un robot, une multifonctionnalité maximale).

De nombreuses tâches industrielles ne nécessitent pas 6 degrés de liberté (assemblage de circuits

imprimés ou de mécanismes plans, peinture, soudure, ... ). Cependant, il est très rare de trouver

un porteur qui n’ait pas ses 3 ddl ; c’est presque toujours sur le poignet que se fait la réduction

de mobilité. Inversement, dans certains cas, on a besoin de plus de mobilité, soit pour des raisons

de fonctionnalité (fonctions spécialisées, robot à plusieurs bras), soit pour des raisons de précision

ou d’accessibilité. L’utilisation d’un nombre de degrés de mobilité, c.-à-d. d’un nombre de liaisons

cinématiques (par exemple, articulations) supérieur à celui des ddl effectifs peut être justifiée par

la nécessité de contourner des obstacles ou d’utiliser une structure dont les éléments sont de petite

longueur. En effet, la précision d’exécution de la tâche demande des bras de levier assez petits

de façon à réduire les déformations et vibrations dues à l’élasticité de la structure mécanique et

à ne pas demander des rotations trop petites et difficilement contrôlables. Ceci implique que l’on

utilise dans la mesure du possible, les ddl situés immédiatement en amont du point à déplacer. Par

conséquent, si les dimensions du volume dans lequel doit travailler le robot sont grandes vis à vis des

longueurs des éléments de celui-ci, il faut placer le porteur sur un véhicule qui amènera le porteur

dans la région où le robot doit travailler. Ce véhicule peut être doté de 1 ddl (translation, c’est le

cas de certains robots industriels) à 6 ddl (3 translations et 3 rotations ; c’est le cas de satellites

artificiels ou de sous-marins équipés de manipulateurs). Il importe donc de faire la distinction entre

degrés de liberté (ddl), qui définissent la position et l’orientation de l’organe terminal du robot

dans l’espace, et degrés de mobilité (ddm) correspondant aux différents mouvements possibles du

robot et donc aux différentes configurations possibles de celui-ci. C’est pourquoi il est préférable

de parler d’articulations, d’axes, de liaisons cinématiques (”joints”) ou de ddm plutôt que ddl. (Il

faut signaler que certains constructeurs ou vendeurs de robots mentionnent dans leurs documents

des faux degrés de liberté, par exemple la commande de fermeture ou d’ouverture de la pince qui

constitue l’organe terminal du robot ; ces faux degrés de liberté ne participent évidemment pas au

déplacement ou à l’orientation de l’organe terminal du robot).

La structure mécanique d’un robot industriel comprendra par conséquent :

— un porteur doté généralement de 3 ddm, parfois plus

— un poignet doté de 1 à 3 ddm

— parfois un véhicule, possédant le plus souvent 1, rarement 2 ou 3 ddm.

12

Page 14: Introduction à la robotique

Lorsqu’il y a plus de 6 ddm, certains de ceux-ci sont nécessairement redondants. Cette redon-

dance peut aussi exister lorsqu’il y a moins de 6 ddm, par exemple, la localisation d’un point dans

un plan correspond à 2 ddl mais peut se faire au moyen de n(≥ 2) rotations autour de n axes

distincts perpendiculaire à ce plan.

Les autres éléments constitutifs du robot seront revus dans les chapitres suivants. Ce sont

essentiellement :

— les actionneurs (motorisation) qui font mouvoir les différentes articulations.

— les capteurs qui recueillent des informations sous forme logique, analogique ou numérique, il

y a au moins des capteurs de déplacements ou de positions de différentes articulations, et

parfois aussi des capteurs de vitesse, de force, ...

— l’unité de traitement de l’information, qui peut généralement se décomposer en plusieurs

éléments :

— une (ou plusieurs) unité(s) de contrôle commande qui traite(nt) l’information fournie par les

capteurs et assure(nt) le pilotage des actionneurs

— un système de programmation qui assure la consommation avec un opérateur ou un réseau

de communications, et lui permet de définir des tâches que le robot doit effectuer.

Tous ces éléments constitutifs sont repris dans la figure ci-dessous.

Fig. 1.2: Elements constitutifs d’un robot

1.3 Classification des robots

On peut classer les robots d’un point de vue fonctionnel ou d’après leur structure géométrique.

13

Page 15: Introduction à la robotique

1.3.1 Classification fonctionnelle

Le nombre de classe et les distinctions entre celles-ci varient de pays à pays (6 classes au Japon,

4 en France). L’A.F.R.I. distingue 4 classes illustrées ci-dessous :

A : manipulateurs à commande manuelle ou télécommande.

B : manipulateurs automatiques à cycles préréglés (le réglage se fait mécaniquement par cames,

butées, la commande peut se faire par automate programmable) ; on peut distinguer entre

manipulateurs à cycle fixe et manipulateurs à cycle programmable.

C : robots programmables : c’est la première génération de robots industriels ; ils répètent les

mouvements qu’on leur a appris ou programmés, sans informations sur l’environnement ou la

tâche effectuée. On peut aussi faire la distinction entre robots ”play-back” qui reproduisent

la tâche apprise et robots à commande numérique qui peuvent être programmés hors-ligne.

Pour de nombreux robots, l’apprentissage de la tâche se fait à l’aide d’un ”syntaxeur” (”boite

à boutons”, ”teach pendant”) qui permet à un opérateur d’amener le robot en un certain

nombre de points, qui sont ensuite mémorisés ; lors de l’exécution de la tâche, le robot suivra

une trajectoire passant successivement par tous les points programmés, le passage d’un point

au suivant se faisant suivant un profil de vitesse en fonction du temps qui est pré-défini (tri-

angulaire ou trapézoïdal), l’opérateur n’ayant qu’à choisir la fraction de la vitesse maximum

à laquelle il souhaite que le robot effectue la tâche. Pour certains robots, par exemple les

robots de peinture, qui doivent suivre une trajectoire complexe qu’il est difficile d’exprimer

mathématiquement, un opérateur humain spécialiste de la tâche effectue la trajectoire en

guidant le bras du robot à l’aide d’un ”pantin”, et l’entièreté de la trajectoire est mémorisée

par le robot.

D : robots ”intelligents”. On trouve actuellement des robots de seconde génération qui sont ca-

pables d’acquérir et d’utiliser certaines informations sur leur environnement (systèmes de

vision, détecteurs de proximité, capteurs d’efforts, ... ). On étudie des robots de troisième géné-

ration, capables de comprendre un langage oral proche du langage naturel et de se débrouiller

de façon autonome dans un environnement complexe, grâce à l’utilisation de l’intelligence

artificielle.

Fig. 1.3: classe A : Télémanipulateur

14

Page 16: Introduction à la robotique

classe B : Manipulateur à cycle pré-réglé

classe C : Robot programmable

classe D : Robot ”intelligent”

En Europe et aux U.S.A., seuls les éléments des classes C et D sont appelés ”robots”, les

américains appellent aussi manipulateurs ou robots ”pick and place” certains manipulateurs de

classe B.

1.3.2 Classification géométrique

On peut aussi classer les robots suivant leur configuration géométrique, autrement dit l’ar-

chitecture de leur porteur. Les 3 premiers ddm d’un robot peuvent être réalisés avec un grand

nombre de combinaisons de translations (max. 3T) et de rotations (max. 3R), autrement dit par

des articulations prismatiques (P) ou rotoïdes (R) ; en pratique, on n’utilise que 4 ou 5 d’entre

elles :

15

Page 17: Introduction à la robotique

— porteur cartésien (TTT ou PPP) : les 3 axes sont animés d’un mouvement de translation.

— porteur en coordonnées cylindriques (RTT ou RPP) : un mouvement de rotation et une

translation axiale, complétées par une translation radiale

— porteur en coordonnées polaires ou sphériques (RRT ou RRP) : deux rotations (longitude et

latitude) autour d’axes orthogonaux, complétées par une translation radiale

— porteur en coordonnées universelles, appelé aussi configuration polyarticulée ou anthropo-

morphe (RRR), trois rotations dont les deux dernières se font autour d’axes parallèles ortho-

gonaux au premier, les trois articulations correspondant respectivement au tronc (base), à

l’épaule et au coude d’un être humain.

Fig. 1.4: Coordonnées cartésiennes et cylindriques

Fig. 1.5: Coordonnées polaires et universelles

Une cinquième architecture comprend deux rotations autour de deux axes parallèles, précédées

ou suivies d’une translation dans la même direction (éventuellement celle-ci peut être reportée

au niveau du poignet, qui peut aussi tourner autour du même axe, soit au total 4 ddm). Cette

16

Page 18: Introduction à la robotique

architecture est celle des robots SCARA (Selective Compliance Arm for Robotic Assembly) que

l’on utilise dans des opérations d’assemblage.

Fig. 1.6: Robot SCARA

1.4 Performances des robots

Lorsqu’on désire fabriquer un appareil, une machine ou un équipement quelconque, l’utilisateur

ou celui qui passe commande présente un cahier des charges. Ce cahier des charges définit les

contraintes d’exploitation et il est souvent aisé de mesurer les performances de l’appareillage réalisé

car elles s’expriment vis-à-vis de ces contraintes. Celles-ci peuvent être le poids et l’indépendance

énergétique pour une machine transportable, le respect de la précision, la vitesse d’exécution, la

fiabilité, etc... pour d’autres machines.

On a vu qu’une des caractéristiques d’un robot est la versatilité, c’est-à-dire cette possibilité de

faire des tâches diverses mais dont on ne sait pas dire lesquelles à l’avance. Comme on ignore à priori

les utilisations du robot, on peut difficilement connaître les paramètres de référence permettant

d’établir les performances. Certains se sont lancés dans des énumérations de qualité impliquant

plusieurs centaines de paramètres si bien qu’il est impossible de s’y retrouver. En réalité, l’utilisateur

potentiel de robots industriels se pose des questions de quatre ordres dont les réponses englobent

les performances pratiques.

1. J’envisage l’utilisation d’un robot pour faire telle ou telle tâche : en est-il capable ?

2. Qu’est-ce que l’utilisation du robot m’impose comme contraintes techniques ? (place, fluides,

protection contre les poussières, renforcement du sol, liaison avec une chaîne de production,

mise en place de sécurités, etc.)

3. Qu’est-ce que l’utilisation du robot impose au niveau des moyens humains (facilité de pro-

grammation, de réglage, etc.)

4. Quel est le coût et la rentabilité de l’opération ? (investissement, maintenance, augmentation

de productivité, etc.)

On peut regroupe les questions 2 et 4, qui ont une incidence directe sur le coût, et diviser

l’analyse des performances d’un robot en 3 classes correspondant aux questions précédentes.

17

Page 19: Introduction à la robotique

1.4.1 Les performances-tâches

Un robot appliquant des efforts et des déplacements à son organe terminal, on peut en cerner

les caractéristiques qui sont importantes en pratique.

1) Le volume atteignable (volume de travail)

Le volume de travail en position d’un robot manipulateur est défini comme l’espace physique

engendré par un point de l’organe terminal lorsque le configuration du robot évolue. Il s’exprime

en unités volumiques, mais la forme de son enveloppe (qui peut-être compliquée puisque formée

par la combinaison des mouvements de plusieurs articulations) est aussi importante. Il est plus

simple et plus parlant de la décrire par une surface inscrite au vrai volume mais de forme simple

(par exemple intersection de sphères ou des parallélépipèdes ou des ellipsoïdes). Sinon il faut une

représentation graphique. Le volume de travail est alors habituellement représenté par deux sections

perpendiculaires choisies en fonction du type de robot manipulateur, cette représentation étant

préférable à une seule vue en perspective.

Fig. 1.7: Représentation du volume de travail

Remarquons que le choix du point précédemment évoqué est arbitraire. Certains industriels

considèrent le centre du poignet, s’il existe, et obtiennent donc un volume de travail minimal.

D’autres prennent le point situé à l’extrémité de l’organe terminal ou encore le centre de la platine

de fixation de celui-ci, qui existe sur tous les modèles. Ceci démontre la relative imprécision qui

affecte la définition de cette caractéristique. De plus, les orientations de l’organe terminal qu’il est

possible d’obtenir en un point du volume de travail, fonctions de la configuration, n’apparaissent

pas dans la définition de ce volume de travail.

Le volume de travail, bien qu’étant une caractéristique approximative de la performance d’un

robot manipulateur, permet cependant de comparer les différentes classes de robots, à la fois du

point de vue du volume proprement dit et de sa forme. Si on admet que chaque liaison rotoïde

permet une rotation d’un tour complet (360), on obtient les résultats suivants pour un robot

manipulateur doté d’un poignet quelconque dont le centre O est le point de référence (les volumes

18

Page 20: Introduction à la robotique

de travail sont représentés en perspective, pour chacune des structures de base) :

— robot PPP

le volume de travail est un parallélépipède dont les dimensions sont les translations permises

par les trois liaisons prismatiques, d’où :

V = L1L2L3

— robots RPP et RPR ou RRP

le volume de travail est un cylindre plein ou creux, autrement dit un tore à section rectan-

gulaire, dont la hauteur L est la translation permise par une liaison prismatique et dont

les rayons intérieur et extérieur, Ri et Re, sont fixés soit par la disposition d’une liaison

prismatique et la translation qu’elle permet, soit par les longueurs des deux parties du bras :

V = πL¡R2e −R2i

¢— robots RRP et RRR

le volume de travail est une sphère creuse, dont les rayons intérieur et extérieur, Ri et Re,

sont fixés soit par la disposition de la liaison prismatique et la translation qu’elle permet, soit

par les longueurs des deux parties du bras :

V =4

3π¡R3e −R3i

¢Pour pousser la comparaison plus loin, nous ferons les hypothèses suivantes, qui seront justifiées

plus loin et qui sont réalisées au moins approximativement dans les robots industriels :

— 1. chaque liaison rotoïde permet une rotation d’un tour complet (360),

2. les différentes parties du bras manipulateur ont la même dimension ”principale” (la plus

grande dimension ou longueur) L

3. chaque liaison prismatique permet une translation égale à L

Dans ces conditions, on a :

— robot PPP :

le volume de travail est un cube de côté L :

V = L3Structure PPP

19

Page 21: Introduction à la robotique

— robot RPP

le volume de travail est un cylindre creux, autrement dit un tore à section carrée, de hauteur

L et de rayons intérieur et extérieur L et 2L :

V = 3πL3 ' 9L3Structure RPP (ou PRP)

— robot RPR ou RRP

le volume de travail est un cylindre de hauteur L et de rayon 2L :

V = 4πL3 ' 12L3Structure RPR

— robot RRP

le volume de travail est une sphère creuse de rayons intérieur et extérieur L et 2L :

V = 283 πL3 ' 29L3

Structure RRP

— robot RRR

20

Page 22: Introduction à la robotique

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

V = 323 πL3 ' 34L3

Structure RRRCette comparaison montre la nette supériorité des structures RRP et RRR qui, a dimensions

égales des différentes parties du manipulateur, possèdent un volume de travail environ 30 fois

supérieur à celui de la structure PPP. Les structures RPP et RPR, avec un volume de travail

environ 10 fois supérieur à celui de la structure PPP, offrent donc un volume de travail moyen.

En réalité, si on tient compte des limitations sur les débattements permis par chaque liaison et

des dimensions principales des corps constituant le robot manipulateur, les volumes de travail réels

diffèrent légèrement de ceux donnés précédemment. On cherche cependant toujours à maximiser

le volume de travail pour une élongation donnée. Pour les robots PPP, RPP et RRP, c’est assez

facile ; pour les robots RRP et RRR, le problème de maximisation est beaucoup plus complexe et

la solution n’est pas triviale, mais il est cependant possible de justifier les hypothèses précédentes

par une analyse intuitive simple. Dans les deux derniers cas cités, on considère la structure plane

représentée ci-dessous pour laquelle :

— le plan considéré est soit un plan méridien dans le cas d’un robot RRR, soit un plan perpen-

diculaire à l’axe de translation dans le cas d’un robot RRP ;

— L = l1 + l2 est constante et représente l’élongation maximale du robot manipulateur ;

— les rotations θ1 et θ2 vérifient les inégalités suivantes :

θ1m ≤ θ1 ≤ θ1M et θ2m ≤ θ2 ≤ θ2M

Fig. 1.8: Manipulateur plan à 2 ddl

Le point de référence O (centre du poignet du robot) est alors situé dans un domaine qui peut

prendre l’une des formes de base esquissées à la page suivante.

21

Page 23: Introduction à la robotique

Fig. 1.9: 1eme forme

2eme forme

3eme forme

Le dessin a été fait pour une valeur de l2 approximativement égale aux 2/3 de celle de l1 ;

l’élongation minimale étant l2− l1, il apparaît clairement qu’il y a un trou dans le volume de travail

au voisinage de la base du robot. Si on veut éviter ce trou, il faut que l2 soit au moins égal à l1 ; il

est toutefois inutile de prendre l2 > l1 car cela conduirait à un recouvrement de certaines parties du

volume de travail. Il est donc évident que le meilleur choix consiste à prendre l2 = l1 ou légèrement

inférieur à l1. Ceci est confirmé par le calcul d’optimisation fait plus loin. De même, l’analyse des

différentes formes que prend le volume de travail en fonction des valeurs de θ2m et θ2M montre que

les formes les plus efficaces sont les deux premières où θ2 varie autour ±π2 .

22

Page 24: Introduction à la robotique

Les résultats de cette analyse intuitive sont confirmés par le calcul d’optimisation suivant. Il

suffit de maximiser l’aire du domaine balayé par le point O dans le plan considéré :

A =

Zdxdy =

Z|detJ | dθ1dθ2

où :

x = l1 cosϑ1 + l2 cos (ϑ1 + ϑ2)

y = l1 sinϑ1 + l2 sin (ϑ1 + ϑ2)

d’où :

detJ = l1l2 sinϑ2

A = l1l2 (θ1M − θ1m)

Z θ2M

θ1m

|sinϑ2| dθ2= l1l2 (θ1M − θ1m)F (θ2m, θ2M)

On peut alors, pour une élongation maximale L = l1 + l2 donnée, maximiser A en fonction du

rapport λ = l1l2:

A =λ

(1 + λ)2L2 (θ1M − θ1m)F (θ2m, θ2M)

∂A

∂λ=

1− λ

(1 + λ)3L2 (θ1M − θ1m)F (θ2m, θ2M)

∂2A

∂λ2=

2 (λ− 2)(1 + λ)4

L2 (θ1M − θ1m)F (θ2m, θ2M)

ce qui montre que A est maximum pour λ = 1 ( ∂A∂λ = 0 et ∂2A

∂λ2< 0).

Fig. 1.10: Taux de variation de A en fonction de θ2

Le volume de travail d’un tel robot est donc maximum si les longueurs des deux bras du

manipulateur sont égales. On peut aussi chercher des valeurs optimales des rotations θ2m et θ2M .

23

Page 25: Introduction à la robotique

On voit ci-dessus que le taux de variation de l’aire A par rapport à θ2 est proportionnel à |sinϑ2| ;il est donc nul pour θ2 = 0 ou π et maximal pour |ϑ2| = π

2 . Autrement dit, c’est une variation de

θ2 au voisinage de ±π2 qui permettra de balayer une surface maximale, comme on peut le constater

sur le tableau de la figure 1.10 où l’on a choisi θ1M − θ1m = 90

et l1 = l2 = 1m.

En conclusion, on peut dire qu’une structure du type RRR ou RPR sera bien conçue si l1 = l2

et si la plage de variation de ϑ2 comprend la position ϑ2 =π2 et/ou la position ϑ2 = −π

2 . C’est le

cas du bras humain qui vérifie, pour une longueur donnée, ces deux conditions, c’est aussi celui de

beaucoup de robots industriels.

2) La capacité de charge

La capacité de charge est la charge que peut porter et manipuler le robot. Evidemment, les

couples qui doivent développer les actionneurs sont fonction de la configuration du robot. C’est

pourquoi la charge maximum indiquée dans les catalogues des constructeurs de robots n’est souvent

supportable que dans une fraction du volume de travail, mais pas dans tout le volume atteignable

ni avec toutes les orientations atteignables. Il faudrait plutôt fournir 2 chiffres : la charge maximum

soulevable dans la configuration la meilleure et la charge utile c’est-à-dire celle qui est effectivement

manoeuvrable dans tout le volume atteignable.

Actuellement, on peut distinguer trois grandes catégories de robots suivant leur capacité de

charge :

— robots de grande capacité : 50 à 100 kg

— robots de capacité moyenne : 5 à 10 kg

— robots de petite capacité : quelques centaines de grammes.

3) Précision, répétabilité et résolution

Pour expliquer ces notions, considérons un robot manipulateur quelconque dont l’organe ter-

minal est immobile dans une situation A et doit être déplacé pour arriver à vitesse nulle dans

une situation B. Si ce déplacement est exécuté un grand nombre de fois, il est possible de définir

une situation moyenne Bmoy qui correspond à la moyenne des situations Bi atteintes au cours des

déplacements répétés : Bmoy est le centre de la plus petite sphère qui contient tous les points Bi.

L’écart entre la situation B programmée et la situation moyenne Bmoy définit la précision

statique du robot manipulateur. Elle caractérise l’aptitude du robot à situer l’organe terminal en

conformité avec la situation programmée. Cette précision peut être fonction des situations A et B

(à l’intérieur du volume de travail) et du type de mouvement choisi pour effectuer le déplacement.

Elle est également fonction :

— de la précision statique des chaînes d’asservissement de position des actionneurs,

— de la flexibilité de chacun des corps du manipulateur et de la charge portée par celui-ci,

— de la raideur et des jeux des transmissions mécaniques, notamment dans les réducteurs de

vitesse,

— de la résolution des capteurs de position.

24

Page 26: Introduction à la robotique

Compte tenu de ces multiples sources d’erreurs, on peut évaluer la précision en position de

l’organe terminal à quelques dixièmes de mm pour un robot industriel de petite ou moyenne capacité

de charge et à quelques mm pour un robot de grande capacité de charge ; quant à la précision en

orientation de l’organe terminal, elle est généralement de quelques dixièmes de degré.

L’écart maximal entre la situation moyenne Bmoy et les situations atteintes Bi, autrement dit

le rayon de la sphère définie plus haut, détermine la répétabilité du robot. Pour la plupart des

robots industriels, elle est nettement meilleure que la précision, généralement elle est de l’ordre du

dixième de mm. C’est une des raisons pour lesquelles beaucoup de constructeurs ne mentionnent

que la répétabilité dans leurs catalogues de robots, une autre raison étant que c’est évidemment la

répétabilité qui intéresse les utilisateurs lorsque le robot doit répéter un grand nombre de fois la

même tâche. Dans une telle application, il est en effet possible de corriger l’imprécision statique au

cours d’un ou plusieurs essais préliminaires en programmant une situation désirée B différente de

celle que l’on doit effectivement atteindre ; on peut en effet comparer l’imprécision statique à une

erreur systématique tandis que la répétabilité est associée à des erreurs accidentelles.

Enfin, on appelle résolution d’un robot le plus petit écart entre la situation initiale A et la

situation programmée B qui puisse se traduire par une modification réelle de la situation de l’organe

terminal, c.-à-d. qui entraîne un déplacement de celui-ci.

4) La vitesse

C’est évidemment une caractéristique fondamentale pour les robots industriels, puisqu’elle dé-

terminera les temps nécessaires à l’exécution d’une tâche. Or, ce sont ceux—ci qui intéressent es-

sentiellement l’utilisateur. Dans l’évaluation des performances à priori, on ignore naturellement ces

tâches. Il faut donc s’en tenir à des vitesses de déplacement et de rotation de l’organe terminal.

Soient : x le vecteur des coordonnées opérationnelles qui définissent la position et l’orientation de

l’organe terminal dans l’espace de la tâche, et q le vecteur des coordonnées articulaires (paramètres

de configuration) qui définissent la configuration du robot. La connaissance du modèle géométrique

de celui-ci permet d’écrire :

x = f(q)

d’où en dérivant par rapport au temps, le vecteur des vitesses de déplacement et de rotation de

l’organe terminal :

x = J(q)q

Si les actionneurs déplacent les différents corps du robot à des vitesses constantes dans l’espace

articulaire, la vitesse instantanée vue dans l’espace de la tâche (c’est ce qui est intéressant pour

l’utilisateur) dépend de la configuration du robot.

Les constructeurs sont assez évasifs sur les performances en vitesse de leurs robots. On parle

d’ordre de grandeur ou de vitesse maximum, mais toujours pour des translations de l’organe ter-

minal (1 à 2 m/s). On donne aussi souvent les vitesses de rotations articulaires maximales (1 rad/s

à 1 tour/s), mais il est difficile d’en déduire la vitesse instantanée dans l’espace de la tâche, qui est

la grandeur que l’utilisateur attend.

25

Page 27: Introduction à la robotique

5) L’orientation possible de l’organe terminal

De par la présence de butées sur chaque articulation, et aussi parfois de par l’existence de

couplages mécaniques entre articulations, il n’est pas toujours possible d’atteindre le débattement

maximum sur chacun des degrés de mobilité de l’organe terminal dans tout le volume atteignable.

Il y aurait donc lieu, soit de donner les débattements angulaires minimaux de l’organe terminal

par rapport au repère fixe dans tout le volume atteignable, soit de fournir une cartographie de

ces débattements. (Ceci serait plus utile que la présentation des constructeurs, qui donnent le

débattement de chaque articulation a partir d’une position de référence, en négligeant les problèmes

de butées et de couplages qui modifient quelquefois de façon non négligeable les possibilités du

mécanisme).

6) La fiabilité

Bien qu’elle mette en jeu tous les éléments présents dans le robot, c’est une donnée qui intéresse

au plus haut point l’utilisateur, même s’il ignore tout du système. C’est pourquoi on peut la classer

dans les performances-tâche.

Comme pour tout autre système, elle sera définie par un taux de pannes, celui-ci étant exprimé

soit par la fraction du temps durant laquelle le robot ne remplit pas la fonction qui lui est assignée,

soit par un MTBF (Mean Time Between Failures). On exprime aussi souvent cette fiabilité à l’aide

d’un diagramme fréquentiel (fréquence de pannes) tout au long de la vie du système.

Le robot peut être sujet à deux grandes catégories de pannes

1. arrêt total du fonctionnement

2. dégradation des performances. Par exemple sur la précision spatiale : une dérive plus ou moins

lente peut se produire et, après un certain temps, le robot n’exécute plus la tâche. Ou bien

un degré de mobilité ne fonctionne plus (il serait intéressant alors d’avoir une redondance des

degrés de mobilité qui permette par une procédure automatique de compenser la défaillance

en attendant de pouvoir réparer le robot).

7) Les possibilités de synchronisation avec d’autres machines

Dans une fabrication, les tâches successives sont reliées temporellement. Il faut donc pouvoir

synchroniser le robot avec d’autres machines et avec un réseau informatique de gestion de la pro-

duction. Par conséquent, un robot ne peut pas être un système fermé et isolé, sans possibilités

de communication avec le monde extérieur. Le nombre d’entrées et sorties (1-0) permettant des

échanges d’informations avec l’extérieur, y compris avec un opérateur, peut donc être un point

important des performances. En général, les robots ont une carte d’entrées-sorties permettant une

échange de m*8 informations de type binaire.

1.4.2 Les performances-homme

On entend par là la facilité d’utilisation du robot, ce dernier étant sur le site d’utilisation et

entre les mains d’un opérateur non spécialiste. Les compétences exigées pour faire fonctionner un

robot ont trait :

26

Page 28: Introduction à la robotique

— à la connaissance du matériel réglages, etc.

— à la connaissance du logiciel programmation du robot.

Il est important de savoir si, après une faible période d’apprentissage, normalement quelques

jours, un technicien pourra programmer et régler le robot ou s’il faudra faire appel à un ingénieur.

De même la maintenance courante et les réparations de pannes mineures pourront-elles être assurées

par l’utilisateur (existe-t-il des procédures de test et de diagnostic de pannes ou de défauts ?) ou

devra-t-on faire venir un spécialiste de chez le constructeur à chaque incident même mineur ?

1.4.3 Les performances économiques

Il s’agit essentiellement de la rentabilité d’utilisation de robots dans l’entreprise. Elle dépend

bien sûr d’un grand nombre de facteurs :

1. coûts d’investissements :

— prix d’achat

— coût d’installation du robot et des équipements de péri-robotique

— coût de modification de l’atelier ou de la chaîne de production.

2. coûts d’exploitation

— énergies, maintenance, espérance de vie, fiabilité (doit on laisser une possibilité de travail

manuel en cas de panne ?) et pourcentage temporel d’utilisation.

3. nature des tâches que les robot vont exécuter

— tâches qui revenaient cher en main-d’oeuvre ou non ?

— la cadence de la fabrication augmentera-t-elle ?

— la qualité de la production sera-t-elle améliorée ?

— y aura-t-il réduction de la main-d’oeuvre ? (supprime-t-on un poste d’O.S. pour le rem-

placer par un poste de technicien ?)

4. le degré d’automatisation déjà présent dans l’atelier

— Insérer un robot entre deux hommes ou réciproquement ne se justifie que dans des

circonstances particulières, par exemple si la tâche est dangereuse

5. la taille de l’entreprise

— Un robot seul peut ne pas être ”rentable” mais une chaîne de plusieurs robots en ligne

peut l’être.

Le constructeur de robots ne peut que proposer des robots ”les plus performants possibles” et au

”meilleur prix”, en espérant atteindre le bon créneau après une étude de marché. C’est à l’utilisateur

d’établir les performances économiques qu’il peut espérer, après avoir défini les tâches qu’il veut

automatiser et les performances tâches et homme que les constructeurs peuvent lui proposer.

27

Page 29: Introduction à la robotique

1.5 Quelques statistiques

1.5.1 Statistiques mondiales ( c° IFR 2000 :1999 Key data for the world robot market )

— Total number of robots installed world-wide, including all types, was 81.500 units, +15% over

1998.

— Total market value : 5,1 billion USD, -7% over 1998

Fig. 1.11: Estimated operational stock of multipurpose and dedicated industrial robots at year end

1999, and forecast for 2003

28

Page 30: Introduction à la robotique

1.5.2 Statistiques françaises ( c° revue ”j’automatise” )

Evolution des ventes de robots en France

Origine des robots installés en France

29

Page 31: Introduction à la robotique

Chapitre 2

Constituants des robots

2.1 Actionneurs

2.1.1 Généralités

Le terme d’actionneur désigne tout dispositif générateur d’effort à vitesse variable qui permet

de modifier la configuration d’un robot manipulateur. Si on se limite aux actionneurs pratiquement

utilisables, il est possible de les classer suivant :

— le type du mouvement généré.

Dans l’état actuel de la technologie, on trouve les actionneurs linéaires qui développent une

force et génèrent un mouvement de translation parallèlement à cette force et les actionneurs

rotatifs qui développent un couple et génèrent un mouvement de rotation autour de l’axe du

couple.

— la nature de la source d’énergie.

On dispose d’actionneurs pneumatiques qui utilisent l’air comprimé comme source d’énergie,

d’actionneurs hydraulique sous pression, et d’actionneurs électriques qui utilisent l’énergie

électrique.

La puissance massique et le pouvoir d’accélération sont des critères importants qui permettent

une comparaison objective de ces différents types d’actionneurs.

2.1.2 Puissance massique

La puissance massique est le rapport de la puissance développée par un actionneur à la masse

de celui-ci. Elle peut atteindre 0,5 à 0,6 kW/kg pour un actionneur électrique et 2,5 à 5 kW/kg

pour un actionneur hydraulique, qui de plus possède un rendement supérieur à 90%.

L’énergie hydraulique conduit ainsi à des moteurs compacts parfaitement adaptés au cas le

plus fréquent où les actionneurs sont situés à proximité des liaisons, donc portés par le robot

manipulateur. Les inconvénients majeurs sont la nécessité d’une centrale hydraulique (pression de

l’ordre de 100 à 120 bars), et les problèmes de fuites et d’entretien. On peut aussi souligner un

certain manque de petits actionneurs hydrauliques adaptés à la robotique légère.

30

Page 32: Introduction à la robotique

Les actionneurs pneumatiques s’apparentent à leurs semblables hydrauliques, mais, d’une part la

pression d’alimentation est limitée (10 à 15 bars) du fait des contingences liées à l’équipement d’un

atelier, et d’autre part, l’air est fortement compressible. Pour cette dernière raison, les actionneurs

pneumatiques sont réservés aux petits robots manipulateurs du type ”pick and place” ou aux robots

manipulateurs fonctionnant en ambiance déflagrante, ou très souvent, à la commande de la ”pince”

(organe terminal de nombreux robots).

2.1.3 Pouvoir d’accélération

Le pouvoir d’accélération d’un actionneur est l’accélération maximale que peut communiquer à

la charge l’actionneur développant un effort Em au démarrage :

a =1

2

EmNoptIm

où :

- Em est l’effort (force ou couple) développé par l’actionneur,

- Im est l’inertie (masse ou moment d’inertie) de la partie mobile de l’actionneur,

- Nopt est le rapport de réduction optimal du réducteur placé entre la charge et l’actionneur :qIcIm

, Ic représentant l’inertie (masse ou moment d’inertie) de la charge.

Pour les actionneurs hydrauliques qui développent un effort Em important, à vitesse lente, le

rapport de réduction Nopt peut être voisin de 1 et l’inertie Im reste faible. Le pouvoir d’accélération

de ce type d’actionneur est donc très important. Ces actionneurs sont donc particulièrement bien

adaptés aux robots manipulateurs pour lesquels une grande capacité de charge et des accélérations

élevées sont exigées.

Les actionneurs électriques fonctionnent à des vitesses élevées en fournissant des efforts relati-

vement faibles. L’emploi de rapports de réduction importants (100 à 400) est donc imposé. Leur

pouvoir d’accélération est par conséquent limité.

Les actionneurs pneumatiques possèdent un pouvoir d’accélération qui se rapproche de celui

des actionneurs hydrauliques.

2.1.4 Les différents types d’actionneurs

Les caractéristiques idéales que doit présenter un actionneur en robotique sont :

— une faible inertie pour augmenter la rapidité de réponse du robot manipulateur,

— une grande rigidité pour éviter le déplacement de l’organe terminal sous l’action de la charge

qu’il supporte,

— une vitesse nominale faible V0 : quelques rad/s en rotation et quelques dizaines de cm/s en

translation pour obtenir des vitesses de l’organe terminal avoisinant quelques m/s,

— une plage de vitesse continuellement variable de −V0 à +V0,

— un effort de sortie important même à vitesse nulle,

— des non-linéarités réduites (frottement sec, jeux, ...),

— la possibilité de commander en vitesse et/ou en effort.

31

Page 33: Introduction à la robotique

Il n’existe pas actuellement d’actionneurs qui présentent globalement toutes les caractéristiques

énoncées ci-dessus.

Les actionneurs les mieux adaptés sont :

— les moteurs à courant continu

— moteurs pas à pas,

— moteurs à courant continu commandés par l’induit et à flux inducteur constant (géné-

ralement par aimants permanents),

— moteurs à courant continu sans balais (Brushless DC motor).

— les actionneurs hydrauliques

— vérins linéaires et rotatifs,

— moteurs à pistons axiaux,

— les actionneurs pneumatiques

— vérins linéaires et rotatifs.

Moteurs pas à pas

Fig. 2.1: Principe du moteur pas à pas

Le principe de fonctionnement de ce moteur sans balais consiste à activer les électroaimants

du stator successivement pour faire tourner le rotor dans la direction voulue. Le translateur qui

constitue l’interface entre le système de commande et le moteur reçoit un signal d’horloge de

fréquence variable et fait tourner le moteur à chaque impulsion d’horloge, d’une quantité constante

appelée pas angulaire.

La vitesse de rotation moyenne Nm, exprimée en tr/mn, qui constitue la relation fondamentale

du moteur, est égale à :

Nm =60f

n

où :

— f est la fréquence des impulsions d’horloge,

— n est le nombre de pas par tour du moteur (couramment 200 ou 400 pas par tour).

32

Page 34: Introduction à la robotique

Cependant, cette relation n’est vérifiée que sous certaines conditions limites de vitesse et de

charge.

Ce type de moteur est commandé uniquement en vitesse, et son principal avantage est d’éviter

l’emploi d’un asservissement en boucle fermée puisque l’angle de rotation du moteur est proportion-

nel au nombre d’impulsions d’horloge reçues. Le moteur du type hybride qui est le plus performant

développe un couple relativement faible, maintenu cependant à vitesse nulle, et possède une masse

très importante, ce qui réduit énormément sa puissance massique. Son utilisation en robotique a

presque disparue en raison des risques de décrochage. Il reste néanmoins parfois utilisé pour la

commande du poignet ou de l’effecteur.

Moteurs à courant continu commandés par l’induit et à flux inducteur constant

Fig. 2.2: Principe du moteur à courant continu

C’était le type de moteur le plus utilisé en robotique. Il possède une vitesse nominale très élevée,

de l’ordre de plusieurs milliers de tours par minute, et nécessite l’emploi d’un rapport de réduction

important (100 à 400), ce qui introduit des jeux et diminue le pouvoir d’accélération. Parmi ces

moteurs, le modèle à rotor plat présente une faible inertie mais possède encore une faible puissance

massique.

Tous les modèles mathématiques nécessaires à la commande de ce type de moteur sont bien

connus. Pour une commande en tension, la fonction de transfert vitesse de rotation—tension de com-

mande est du second ordre mais réductible au premier ordre moyennant certaines approximations

légitimes (généralement la constante de temps électrique liée à l’inductance de l’induit peut être

négligée par rapport à la constante de temps mécanique liée à l’inertie du moteur et la réaction

interne correspondant à la fcem de celui-ci). Pour une commande en courant, la fonction de transfert

vitesse de rotation-courant de commande est du premier ordre et le couple développé par le moteur

est proportionnel, aux couples de frottement près, au courant de commande. Ce moteur peut donc

être commandé en vitesse ou en couple, et c’est un variateur électronique qui constitue l’interface

avec le système de commande.

En effet, les relations fondamentales relative au fonctionnement éléctrique de ce type de moteur

sont :

ua = Raia +∂Φ

∂tavec : Φ = Lia +Φr

33

Page 35: Introduction à la robotique

Fig. 2.3:

ce qui donne :

ua = Raia + L∂ia∂t+

∂Φr∂θ

∂θ

∂t

soit encore, puisque ∂Φr∂θ est constant (∂Φr∂θ , Km) :

ua = Raia + L∂ia∂t+Kmω

où le terme Kmω est la force contre-électromotrice fcem. En multipliant cette dernière relation par

la valeur du courant, on obtient

uaia = Rai2a + L

∂ia∂t

ia +Kmiaω

qui exprime que la puissance électrique fournie se distribue en : pertes joules + variation de l’énergie

magnétique stockée ( ∂∂t

¡12Li2a

¢) + puissance mécanique. On en déduit que le couple moteur fourni

au système mécanique vaut

τm = Kmia

Si on néglige l’inductance (ou si on considère uniquement un fonctionnement en régime permanent),

on obtient

ia =ua −Kmω

Ra⇒ τm =

KmuaRa

− K2mω

Ra

Remarque : Si on tient compte de pertes par frottement proportionnelles à la vitesse, on a :

τu = τm − Fω =Kmua

Ra−µ

F +K2m

Ra

¶ω

raison pour laquelle on appelle parfois K2mRa

, le ”coefficient de frottement électrique”.

On a donc des caractéristiques linéaires (au moins en première approximation), ce qui est plus

commode pour la réalisation d’asservissements performants.

Limites de fonctionnements Les limites de fonctionnement des moteurs c.c. employés en ro-

botique sont liées à des phénomènes annexes tels que :

— désaimantisation

— commutation

34

Page 36: Introduction à la robotique

Fig. 2.4: Caractéristiques des moteurs CC

— contraintes de tenue mécanique des enroulements et autres pièces en rotation (lames du

collecteur)

— échauffement

C’est ce dernier phénomène qui est le plus important, car il n’est pas instantané mais au

contraire cumulatif. Il faut noter que les moteurs de robots sont toujours en fonctionnement

transitoire, avec des phases d’accélération et de décélération, ainsi que des inversions du sens

de rotation. Pour cette raison, ainsi que pour des raisons d’encombrement, certaines solutions

classiques (fuites de commutations, décalages des balais, ... ) ne peuvent pas être utilisées ici.

L’échauffement est dû aux pertes :

— par effet joule : Rai2a

— électromagnétiques :

— par hystérésis : αemω

— par courants de Foucault : βemω2

— mécaniques

— liées à des frottements secs : αmω

— par ventilation : βmω2

Le calcul de la température du moteur est basé sur la représentation de celui-ci par un

circuit thermique à une ou deux cellules (suivant que la structure peut être considérée comme

homogène ou non), constituées d’une résistance et d’une capacité thermiques. De tels modèles

peuvent être utilisés pour estimer la température moyenne du moteur et vérifier si elle ne

dépasse pas les limites fixée par la ”classe d’isolation” du moteur (Les moteurs utilisés en

robotique sont généralement de classe F : température maximum 150C, pour une température

ambiante de 40C).

Il y a évidemment des contraintes mécaniques :

— couple maximum (lié au dimensionnement de l’arbre de rotation), d’où une limitation sur le

courant d’induit

— construction de l’induit et du collecteur, permettant un fonctionnement dans une large plage

de vitesses (grand nombre de lames pour éviter des variations de couple lors des commutations

à basse vitesse, frettage soigné pour éviter l’éclatement du collecteur à vitesse élevée).

35

Page 37: Introduction à la robotique

— conception de l’ensemble en rotation, assurant que les vitesses critiques de torsion soient très

élevées (résonance à plusieurs kHz) ; sinon, la torsion de l’arbre ou de l’accouplement moteur-

dynamo tachymétrique fausserait les mesures de position et/ou de vitesse (en général, moteur

et dynamo tachymétrique sont montées sur le même arbre).

Paramètres caractéristiques

— grandeurs nominales tension, vitesse, courant, couple, puissance. Il faut noter cependant que

les moteurs de robots étant toujours en régime variable, il est plus utile de connaître les

valeurs maximales, plutôt que les valeurs nominales, de ces différentes grandeurs.

— couple impulsionnel maximum τmax, correspondant à l’impulsion maximum de courant

— puissance transitoire Ps, définie par le taux maximum d’accroissement de la puissance méca-

nique : τmax ∂ω∂t— accélération maximale

— temps de lancer : temps nécessaire pour passer de l’arrêt à la vitesse nominale lorsque le

moteur délivre son couple nominal à vide (charge négligeable)

Alimentation Le moteur devant fonctionner dans les deux sens de rotation, la tension et le

courant d’induit doivent pouvoir changer de signe.

Moteurs à courant continu sans balais

Fig. 2.5: Principe du fonctionnement du moteur à courant continu sans balais (Brushless DC

motor)

Ce type de moteur a progressivement remplacé le type de moteur précédent. La suppression des

balais présent un avantage certain en terme d’usure et d’entretien. Par ailleurs, l’électronique de

commande permet d’obtenir les mêmes caractéristiques de fonctionnement. En principe, il présente

comme inconvénient la nécessité de mesurer la position angulaire du rotor avec précision pour

synchroniser les commutations au niveau des inducteurs statoriques ; mais dans le cadre de la

robotique cette mesure d’angle est de toute façon nécessaire à la commande du robot.

36

Page 38: Introduction à la robotique

Actionneurs hydrauliques

Constitués par un corps et un piston, les vérins sont des mécanismes simples dont la course est

limitée à 270 environ pour les modèles rotatifs et à quelques centimètres, voire quelques dizaines de

centimètres, pour les modèles linéaires. Les moteurs rotatifs à pistons axiaux sont plus sophistiqués,

mais la rotation est continue. Par contre, ils montrent d’importantes irrégularités de couple et de

vitesse au voisinage de la vitesse nulle, alors que les vérins ne posent pas de problèmes majeurs

dans cette même zone.

L’interface entre le système de commande et l’actionneur proprement dit est constitué d’un

petit moteur électrique et d’un distributeur ou d’une servovalve, ainsi que d’un amplificateur.

Les avantages de ces systèmes hydrauliques sont une puissance massique et un pouvoir d’accélé-

ration importants auxquels s’ajoute une très grande rigidité. Malheureusement, ils comportent un

très grand nombre de non-linéarités : étant donné que la pression d’alimentation est relativement

élevée (± 100 bars), il faut tenir compte de la compressibilité due à la présence de bulles d’air dans

l’huile, si bien que la fonction de transfert du système hydraulique est du 3ème ordre au moins et

les chaînes d’asservissement sont délicates à stabiliser.

Actionneurs pneumatiques

Ce sont généralement des vérins linéaires ou rotatifs. Lorsque les amplitudes de rotation sont

limitées (poignet de manipulation par exemple), l’actionneur le plus couramment employé est le

vérin schématisé à la figure suivante, dont la tige porte une crémaillère entraînant un pignon solidaire

de l’axe de sortie.

Fig. 2.6: Vérin rotatif

D’autres dispositifs utilisent divers principes de transformation de mouvement : système vis-

écrou, cames, etc. Ces organes sont généralement commandés en tout ou rien. Les vitesses et

déplacements ne sont donc pas contrôlés de façon fine. Les courses sont fixées par des butées

mécaniques réglables, les fins de course doivent être amorties, au moyen par exemple d’amortisseurs

pneumatiques.

2.2 Organes de transmissions

Ce sont des organes qui transmettent un mouvement d’un actionneur vers une partie mobile

d’une liaison cinématique. Ils interviennent parfois aussi comme éléments de structure (mécanismes

37

Page 39: Introduction à la robotique

à pantographe ou à parallélogramme).

Ces organes augmentent les masses en mouvement et présentent des défauts (jeu, frottements,

élasticité, ... ) qui accroissent l’incertitude sur la position de l’effecteur ou aggravent le comporte-

ment en vibration de la structure. Par contre, ils permettent de transférer les masses des actionneurs,

moteurs et réducteurs en des points où leur effets statiques et dynamiques seront fortement réduits.

Les contraintes dans la réalisation d’une transmission portent sur :

1. les caractéristiques des actionneurs (efforts, vitesses, ... ) ;

2. les exigences du corps en mouvement : les vitesses des différents membres d’un robot sont de

l’ordre de 1 à 3 m/sec en translation, 60 a 180, voire 360/sec en rotation : compte tenu des

vitesses de rotation des moteurs (1000 a 3000 tr/min), cela implique des rapports de réduction

assez élevés ;

3. la puissance mécanique à transmettre ;

4. une rigidité importante et une inertie aussi petite que possible, de façon à :

— réduire les déformations élastiques, statiques (effet de la pesanteur) et dynamiques (vi-

brations) ;

— limiter les efforts nécessaires en phase d’accélération et augmenter la capacité d’accélé-

ration ;

— maximiser les vitesses critiques ou pulsations de résonance des parties élastiques de façon

à les reporter au-delà de la bande passante des boucles d’asservissement de position ;

5. l’exigence de frottements faibles ;

6. l’absence de jeux ou leur compensation ;

7. l’exigence d’un équilibrage statique au moins partiel, ce qui permet de réduire les efforts de-

mandés aux actionneurs et l’effet de la pesanteur sur la précision de la position finale, et aussi

d’éviter des mouvements incontrôlables et dangereux en cas de panne des actionneurs. Cette

exigence d’équilibrage statique est souvent prépondérante dans la localisation des moteurs

électrique et des réducteurs associés (voir figure 2.7).

On remarquera que les diverses exigences citées au point 4 ci-dessus sont contradictoires : l’aug-

mentation de la capacité d’accélération demande des masses et des inerties faibles, donc des éléments

légers et par conséquent déformables, au contraire, l’augmentation des pulsations de résonance et la

réduction des déformations élastiques demande des éléments rigides, donc de sections transversales

et de masses importantes. De même, les deux exigences 5 et 6 sont souvent aussi contradictoires :

les précontraintes ou prédéformations utilisées pour diminuer le jeu ont pour effet d’augmenter les

frottements.

2.2.1 Exemple de transmissions

1. Engrenages rotation <—> rotation

— cylindriques et/ou coniques, à denture droite

38

Page 40: Introduction à la robotique

Fig. 2.7: Illustration d’équilibrage statique

— réducteurs ”harmonic drive” (permettant des coefficients de réduction élevés, jusqu’à

300, en un étage)

2. Pignon-crémaillère rotation <—>translation

et surtout : vis-écrou rotation —> translation

Ce dernier type de transmission est souvent utilisé, soit pour réaliser des liaisons prisma-

tiques, soit pour permettre le transfert des actionneurs et l’équilibrage statique des corps en

rotation ; dans ce cas, les organes de transmission doivent être montés sur articulations de

façon à permettre les mouvements relatifs des différents corps en mouvement. Ce dispositif

a cependant l’inconvénient d’une grande sensibilité aux déformations et aux vibrations de

flexion, sauf si la vis est montée sur deux paliers situés à ses extrémités.

3. Courroies crantées et/ou chaînes : rotation <—> rotation avec poulies et pignons à axes pa-

rallèles

Ces transmissions sont surtout utilisées pour la commande des mouvements du poignet,

lorsque pour des raisons d’équilibrage, les moteurs correspondants ont dû être placés loin

en amont dans la structure du robot (figures 2.9 et 2.10)

4. Leviers articulés, constituant un parallélogramme dont les 4 barres sont articulées ; cette

transmission est caractérisée par une bonne rigidité, où les éléments du parallélogramme sont

des éléments de structure du porteur et les sollicitations se font essentiellement en traction-

compression

5. Transmissions par vérins hydrauliques ; ce sont en fait des leviers articulés de longueur va-

riable.

6. Autres mécanismes de transmission, joints de cardan, etc....

Remarquer que les exigences d’équilibrage statique s’avèrent prépondérantes pour la localisation

39

Page 41: Introduction à la robotique

des moteurs électriques (de masse élevée) et des réducteurs associés.

Fig. 2.8: Transmission par vis sans fin et parallélogramme

2.3 Effecteurs

2.3.1 Introduction

L’effecteur est l’organe terminal du robot, il est fixé au poignet de celui-ci. Ce poignet se termine

généralement par une plaque de base, percés de trous filetés ; cela permet la fixation de différents

effecteurs à un robot universel et donc l’adaptation de celui-ci à des tâches spécifiques. En fait, la

plupart des machines de production exigent des outils et des fixations spécialement conçus pour une

application particulière ; à cet égard, le robot n’est donc pas une exception. Il faut d’ailleurs noter

que beaucoup d’outils conventionnels, utilisés à la main ou sur certaines machines (pistolets de

peinture ou de collage, visseuses, perceuses, pinces,...) peuvent devenir des effecteurs de robotique,

au prix d’un travail d’adaptation permettant de :

— compenser certaines imprécisions ou dispersions dans les caractéristiques des objets extérieurs

ou du robot lui-même,

40

Page 42: Introduction à la robotique

Fig. 2.9: Transmission par vis sans fin et parallélogramme

Fig. 2.10: Transmission par chaînes

41

Page 43: Introduction à la robotique

— présenter une certaine flexibilité pour se prêter à des tâches diversifiées.

Les principaux problèmes qu’il faut résoudre dans la conception d’un effecteur, sont liés aux

connexions de l’effecteur au poignet et par là au porteur :

— connexions mécaniques : solidarisation effecteur-poignet, transmission d’efforts, élasticité (”com-

pliance”), (cfr. changements d’outils en cellule flexible, assemblage,...)

— connexions énergétiques : transmission de l’énergie (électrique, pneumatique ou hydraulique)

nécessaire à l’action de l’organe terminal

— connexions matérielles : fourniture à l’effecteur des matières consommées par la tâche effectuée

(colle, peinture, pâte, métal d’apport, fluide de refroidissement ou de lubrification, ...)

— connexions informationnelles : transmission de commandes aux actionneurs de l’effecteur et

de contrôles provenant des capteurs ou détecteurs prévus dans l’effecteur

— connexions logicielles : incorporation d’une routine définissant la fonction de l’effecteur et

appelant ou générant les informations correspondantes, dans le logiciel de programmation et

de commande du robot.

En outre, il ne faut pas oublier que l’effecteur est l’organe terminal du robot, c’est donc lui qui

sera en contact avec des objets extérieurs. De ce fait, il est exposé à des accidents divers et doit

être muni de protections (butées, ”fusibles” mécaniques, etc )

Généralement, les effecteurs doivent être conçus et fabriqués ”sur mesure” en fonction de la

tâche qu’ils doivent effectuer. On peut concevoir et réaliser un effecteur complètement nouveau ou

adapter un effecteur existant sur le marché. Cela peut être fait par la société qui vend ou installe le

robot, ou par le client qui l’achète ou par une firme spécialisée dans ce genre de travail. La plupart

des constructeurs et/ou vendeurs de robots ont un service d’ingénierie dont une des fonctions est de

concevoir les effecteurs et d’assurer un service de consultance et d’aide à leurs clients. Il y a aussi

un nombre croissant de bureaux d’ingénierie ou de ”systémistes” qui étudient et/ou réalisent tout

ou partie de l’installation de chaînes de production automatisées, y compris les robots et les équi-

pements de périrobotique, c’est-à-dire tous les éléments (dispositifs d’alimentation, d’évacuation,

convoyeurs, etc...) nécessaires au fonctionnement des robots dans une chaîne de production auto-

matisée ; ceci inclut évidemment les effecteurs, ainsi que les dispositifs de fixation et les outillages

nécessaires à l’exécution des taches. On compte généralement que les effecteurs et équipements de

périrobotique constituent 10 à 25 % du coût d’installation d’un robot, dont 5 à 10% pour l’effecteur

lui-même.

2.3.2 Classification des effecteurs

On peut distinguer deux grandes catégories d’effecteurs :

— les organes de préhension

— les outils

Les organes de préhension sont utilisés pour saisir et maintenir les objets qui doivent être

manipulés et déplacés par le robot Ces objets peuvent être des pièces brutes, finies ou en cours de

fabrication, des outils, des pièces détachées pour assemblage, des matériaux bruts, des cartons ou

42

Page 44: Introduction à la robotique

autres éléments d’emballage, des bouteilles, ... Parmi les applications, on peut citer le chargement

et déchargement de machines, la saisie d’objets sur un convoyeur, le placement d’objets sur une

palette de manutention, ... Dans certaines de ces applications, l’organe de préhension saisi ou tient

un outil ; cela permet l’échange d’outils dans un cycle de production (exemples : cellule flexible

avec un centre d’usinage, un robot de chargement-déchargement et un ”magasin” d’outils constitué

de plusieurs dizaines ou une centaine d’outils ; applications de meulage où plusieurs meules de

diamètres ou grains différents doivent être utilisées successivement, etc...)

Dans beaucoup d’applications, l’effecteur est un outil, généralement dérivé des outils tradition-

nels :

— outil pour soudure à l’arc

— pince pour soudure par points

— pistolet de peinture ou de collage

— broches rotatives pour perçage, vissage, meulage, nettoyage,

— torche de chauffage, découpage...

— jet d’eau pour découpage

Les principes généraux de la connexion effecteur-poignet, aux différents niveaux cités plus haut,

sont valables quel que soit le type d’effecteur. Aussi, dans ce qui suit, nous n’examinerons que les

organes de préhension. Ceux-ci peuvent aussi être classés en différentes catégories, suivant différents

critères :

— technologie de préhension : organes mécaniques (pinces) ou autres (aimants, ventouses, ...)

— mode de préhension

— action unilatérale, bilatérale ou multilatérale

— prise externe ou interne

— fonctions : simple ou multiple.

Un effecteur multiple comprend en réalité plusieurs effecteurs, généralement deux, fixés au

même poignet. C’est souvent le cas des organes de préhension pour les applications de chargement-

déchargement. L’utilisation d’un organe double permet de réduire la durée des opérations de

chargement-déchargement, pendant lesquelles la machine de production elle-même est improduc-

tive, et donc d’accroître la productivité de cette machine. En effet, considérons une cellule de

production dans laquelle un robot doit prendre une pièce brute sur un convoyeur (ou autre disposi-

tif d’alimentation) et déposer la pièce finie sur un autre convoyeur ou dispositif d’évacuation. Avec

un organe de préhension simple, il faudrait d’abord décharger la pièce finie et aller la déposer sur

le convoyeur d’évacuation, ensuite aller chercher la pièce brute et venir la placer sur la machine ;

celle-ci serait semi-improductive pendant toute la durée de ces opérations ; en outre, le robot aurait

peut-être à effectuer deux fois certaines parties de la trajectoire. Par contre, avec un organe de

préhension double, le robot pourrait aller chercher une pièce brute pendant le travail de la machine

sur la pièce précédente, venir en position d’attente près de la machine, enlever la pièce finie de la

machine et y placer immédiatement après la nouvelle pièce brute, puis seulement aller porter la

43

Page 45: Introduction à la robotique

pièce finie sur le dispositif d’évacuation. Du fait de ces opérations en temps masqué, le pourcentage

du temps pendant lequel la machine n’est pas productive sera ainsi nettement réduit.

Les préhenseurs doubles ou multiples sont également intéressants pour des opérations de palettisation-

dépalettisation, où il faut manipuler plusieurs objets simultanément, ou lorsqu’il faut manipuler

des objets lourds et/ou de grandes dimensions.

Il y a évidemment un certain recouvrement entre les différentes classifications : les organes de

préhension à action unilatérale utilisent généralement une technologie autre que mécanique, alors

que les organes mécaniques sont le plus souvent à action bilatérale ou multilatérale. Les préhenseurs

à action multilatérale présentent de nombreux avantages : souplesse d’emploi (adaptation à l’objet

transporté), maintien de la position et de l’orientation de l’objet transporté, augmentation de la

surface de contact d’où réduction des pressions de contact ; toutefois ces avantages ne sont acquis

qu’au prix d’une plus grande complexité de la réalisation du préhenseur.

2.3.3 Organes de préhension mécaniques

Modes de préhension

Le modèle biologique d’un organe de préhension universel est évidemment la main humaine,

qui, avec ses 5 doigts, ses 32 degrés de liberté et un certain nombre de capteurs (position, pression,

température,...), possède une souplesse et une capacité d’adaptation inégalées. Un organe de pré-

hension mécanique conçu à l’imitation de la main humaine serait probablement moins performant,

plus lourd, maladroit et très cher. En outre, il ne serait pas nécessaire pour beaucoup d’applications,

pour lesquelles un organe spécialement conçu sera peut-être même meilleur. Donc en général, le

robot aura des organes de préhension adaptés à la tâche à effectuer, souvent modulaires, amovibles,

pouvant être interchangés par un opérateur ou par le robot lui-même. Ces organes de préhension

seront le plus souvent des ”pinces” à 2 doigts (on dit aussi ”mâchoires”), parfois à 3 doigts, rarement

à 5 doigts ; ces doigts peuvent être amovibles et interchangeables.

Le maintien d’un objet dans la pince est basé soit sur une constriction de l’objet entre les doigts,

soit sur la force de frottement (sec) entre ceux-ci et l’objet. Dans le premier cas, les doigts entourent

l’objet, au moins en partie, et en tout cas, bloquent tout mouvement relatif de l’objet par rapport

à la pince (lorsque celle-ci est serrée). II faut donc étudier la forme des doigts, au moins de la

partie des doigts qui est en contact avec l’objet, et l’adapter à la forme de l’objet : cavités adaptées

à la forme de l’objet, cavités en V pour pièces cylindriques. Dans le cas d’une pince (rotative) à

deux doigts, avec cavités en V, il est assez facile de calculer le diamètre maximum des objets que

l’on peut saisir et manipuler, en fonction des caractéristiques de la pince. Dans le cas limite où la

constriction cesse d’être effective, on trouve en effet (voir figure 2.12) :

Rmax = a+A0B0 sin γ = a+ (L cot γ − b) sin γ

Lorsque l’objet est maintenu par des forces de frottement, il faut que celles-ci soient suffisantes

pour retenir l’objet malgré les autres forces qui s’exercent sur lui (pesanteur, inertie, force de

réaction due à la tâche exécutée, ...). Souvent, la partie de la pince en contact avec l’objet est faite

d’une matière non dure, ce qui accroît le coefficient de frottement et peut aussi protéger la surface

de l’objet manipulé de dommages tels que griffes, coups, etc... ; en outre, il en résulte généralement

44

Page 46: Introduction à la robotique

Fig. 2.11: Préhension par constriction dédicacée

Fig. 2.12: Préhension par constriction universelle

45

Page 47: Introduction à la robotique

Fig. 2.13: Limite de la constriction

aussi une déformation locale, qui entraîne un contact sur toute une ligne ou une surface (d’où la

protection évoquée ci-dessus) et un certain effet de constriction.

Les doigts de la pince doivent appliquer une force normale suffisante, que l’on peut calculer par

la relation suivante :

nFµ = 1, 5ma

où F = force normale

n = nombre de doigts

a = accélération de l’objet (y compris éventuellement g)

µ = coefficient de frottement

m = masse de l’objet

le coefficient 1, 5 correspondant à un coefficient de sécurité de 50% que l’on pourrait oublier si

on prend la précaution de surestimer a, (normalement 2 a 5g)

Mécanismes de préhension

L’ouverture ou la fermeture de la pince peut être commandée par :

— un mouvement de rotation

ou

— un mouvement de translation

Le serrage peut être symétrique ou asymétrique ; la réalisation d’un serrage asymétrique est

évidemment plus facile, mais ce type de serrage présente un inconvénient : si on veut éviter un

déplacement de l’objet saisi, il faut tenir compte du diamètre de celui-ci lors de la programmation

de la position de la pince du robot, de façon à ce qu’une des mâchoires de la pince vienne affleurer

l’objet à saisir ; par contre, dans le cas où le serrage est symétrique, il suffit de programmer la

position du centre de l’objet (quelque soit sa taille).

46

Page 48: Introduction à la robotique

Fig. 2.14: Prises bi-larérales

Le dispositif cinématique utilisé pour actionner la pince peut être :

— un mécanisme à plusieurs barres

— un dispositif à came

— un système à pignon crémaillère

— un système vis écrou (dispositif irréversible)

— un système à câbles et poulies, surtout utilisé quand les actionneurs sont placés assez loin des

doigts, pour des raisons d’équilibrage, ou dans des organes à prise multilatérale.

— un autre dispositif, par exemple, un système fluidique : celui-ci est généralement constitué

d’une enveloppe souple dans laquelle est injecté de l’air sous pression ; la déformation de

l’enveloppe lui permet d’épouser le contour de l’objet à prendre, ce qui assure une surface de

contact importante ; la force de serrage est proportionnelle à la pression de l’air à l’intérieur

de l’enveloppe, on peut donc la moduler en fonction de la fragilité de l’objet et contrôler ainsi

le serrage ; un tel dispositif peut être utilisé pour une prise externe ou une prise interne ; les

inconvénients de ces dispositifs fluidiques sont une précision de positionnement médiocre et

une usure assez rapide des enveloppes.

Dans certaines applications, on souhaite que les deux mâchoires de la pince se déplacent pa-

rallèlement à elles-mêmes. C’est automatique si elles sont animées de mouvements de translation ;

si elles sont mues en rotation, il faut prévoir une transmission à parallélogramme pour assurer ce

parallélisme.

Actionneurs

L’actionnement de l’effecteur peut être :

— électrique

— pneumatique

— hydraulique

— mécanique (dispositif à câbles et poulies)

47

Page 49: Introduction à la robotique

Fig. 2.15: Mécanismes de transmission

48

Page 50: Introduction à la robotique

Fig. 2.16: Exemples de pinces à action mécanique

49

Page 51: Introduction à la robotique

Fig. 2.17: Autres préhensions mécaniques

50

Page 52: Introduction à la robotique

Fig. 2.18: Autres types de préhenseurs

51

Page 53: Introduction à la robotique

L’actionnement pneumatique se fait généralement à l’aide d’un vérin pneumatique, réalisant

un mouvement de translation. Il a l’avantage de la simplicité, et d’une certaine élasticité due à la

compressibilité de l’air ; en outre, le contrôle des pressions permet éventuellement un réglage de la

force de serrage.

L’actionnement électrique se fait à l’aide de petits moteurs à courant continu ou pas-a-pas ; le

contrôle du courant ou l’utilisation de capteurs de force permet un réglage des forces de serrage.

L’actionnement hydraulique est très rare, à cause des inconvénients lies à ce type d’énergie

(nécessité d’une centrale hydraulique, fuites,...).

Analyse des forces

Les doigts de l’organe de préhension doivent exercer une certaine force sur l’objet saisi.

Connaissant cette force, il faut calculer la force (ou le couple) qui doit être développée par

l’actionneur. Ceci peut se faire de deux façons :

— soit en écrivant les équations d’équilibre statique des différentes barres qui constituent le

mécanisme d’actionnement des doigts

— soit en exprimant l’égalité entre les travaux fournis par la force d’actionnement et la force

de serrage au cours d’un déplacement élémentaire, et en calculant ces déplacements par les

relations cinématiques.

Fig. 2.19: Calcul des forces de serrage

2.3.4 Autres organes de préhension

Outre les organes de préhension mécaniques, il y a un grand nombre d’autres préhenseurs ; en

général, ce sont des dispositifs à actions unilatérales, qui ne viennent au contact que d’une seule

face de l’objet, sur lequel ils exercent une force d’attraction. Ce sont surtout :

— des ventouses à vide

— des ” ventouses ” magnétiques

— des systèmes adhésifs

— des crochets, griffes, pelles et autres dispositifs similaires.

52

Page 54: Introduction à la robotique

Fig. 2.20: Formules de calcul de serrage

53

Page 55: Introduction à la robotique

Ventouses à vide

Ce sont des préhenseurs peu encombrants, légers et propres, exerçant une dépression uniforme

sur la surface de l’objet saisi, utilisables pour de nombreux matériaux différents, pourvu que l’objet

à saisir ait une surface plane, imperméable à l’air, assez rigide, propre et avec un bon état de

surface, toutes ces conditions étant nécessaires à la réalisation d’une dépression suffisante.

Les ventouses sont généralement en matériaux élastiques : caoutchouc, néoprène, silicone, ...,

sauf si le matériau à saisir est lui-même élastique (auquel cas il est préférable d’utiliser une ventouse

rigide en matériau dur). On peut utiliser des ventouses standard, généralement de section circulaire,

ou des ventouses faites sur mesure et ayant une forme complémentaire de celle de l’objet (ex. prise

de bouteilles).

Fig. 2.21: Ventouses à vide

La dépression est obtenue

— soit par une pompe à vide (a piston)

— soit par un éjecteur, fonctionnant à l’air comprimé ; c’est sur dispositif simple et fiable, mais

qui consomme beaucoup d’air comprimé.

Ventouses magnétiques

Ce sont des aimants permanents ou des électroaimants. Par définition, ce type de préhenseurs

n’est valable que pour les matériaux magnétiques.

Parmi ses avantages, on peut citer :

— un temps de saisie très court

— la tolérance par rapport à la forme et à la taille de l’objet saisi ; celui-ci peut être percé de

trous, ce qui n’était pas le cas avec des ventouses à vide

Parmi les inconvénients, il y a :

— l’aimantation rémanente des objets

— la saisie simultanée de plusieurs objets empilés (empilement de tôles fines)

— l’attraction de limailles et copeaux métalliques

— dans le cas d’un aimant permanent, la nécessité d’un mécanisme de relâchement pour désoli-

dariser l’objet du préhenseur

54

Page 56: Introduction à la robotique

— un manque de précision dans le positionnement, résultant des possibilités de dérapage de

l’objet saisi.

Les ventouses à électro-aimant sont les plus utilisées, car il est plus facile de les commander,

elles sont exemptes des troisième et quatrième inconvénients ci-dessus et on peut remédier aux deux

premiers inconvénients. On n’utilise les aimants permanents que là où il y a risque d’explosion.

Systèmes adhésifs

Ces préhenseurs sont basés sur l’utilisation de rubans adhésifs, rubans velcro ou autres, et sont

destinés à la manipulation de matériaux légers, vêtements, etc... En général, l’adhésif ne supporte

pas un usage répété, si bien que le ruban doit être changé par un système d’alimentation continue,

plus ou moins similaire à celui d’une machine à écrire.

Autres dispositifs

Dispositifs à crochets, griffes ou aiguilles, pelles ou cuillers pour liquides ou matières pulvéru-

lentes, etc...

2.3.5 Critères de choix d’un organe de préhension

Avant de choisir ou d’étudier un système de préhension, il faut bien connaître :

1. les caractéristiques du porteur et notamment la masse maximale transportable (la masse du

préhenseur s’ajoutant à celle de l’objet manipulé) ;

2. les données concernant l’objet à transférer ; l’inventaire des spécifications essentielles fait

apparaître en général :

— la masse (nette et brute)

— la consistance (objets rigides ou déformables)

— la matière (fragilité, magnétisme, rugosité, ...)

— la géométrie, c’est à dire la forme extérieure (objets à 1, 2 ou 3 dimensions principales)

et la structure (objets pleins ou évidés, ...)

— les dimensions

— le conditionnement (vrac, chargeur, palettisation)

— les dispositions initiale et finale (position et orientation, précision de positionnement)

— les surfaces de contact (surfaces de prise, stabilité du positionnement)

— les forces en présence (inertie, pesanteur, pressions)

— l’environnement (température, humidité, accessibilité)

— etc...

3. la technologie de préhension, en particulier le mode de saisie (pince, ventouse, aimant) et le

principe du maintien en position de l’objet en cours de transfert ;

55

Page 57: Introduction à la robotique

4. la flexibilité éventuellement exigée du préhenseur, qui implique soit une possibilité de rem-

placement rapide (raccordements automatiques et standardisés), soit une faculté de réglage

et de modification externe, soit une aptitude intrinsèque d’adaptation à une famille d’objets

à l’intérieur d’une plage de spécifications ;

5. les coûts et délais de conception, de réalisation et d’essai d’une part, de fonctionnement et

d’entretien d’autre part.

Une liste, non limitative, des principaux éléments qu’un robot peut être amené à manipuler,

met en évidence la difficulté de concevoir un préhenseur universel :

— pièces planes : découpées, pliées, moulées, en métal (éventuellement magnétique), en matière

plastique (souvent déformable), en alliage léger, en verre ou céramique (fragilité),

— pièces de révolution : usinées, brutes de laminage, moulées (en métal, matière plastique),

extrudées (tubes), de forme cylindrique (courte ou longue), conique, sphérique ou autre,

— pièces volumiques de forme quelconque : moulées, matricées, embouties, usinées, frittées,

— emballages et conteneurs, en carton, plastique, verre, aluminium, papier, sous forme bi- ou

tri-dimensionnelle, cylindrique ou parallélépipédique,

— composants sous forme instable : courroies, câbles électriques, tuyaux souples, tissus, films,

membranes ou joints en caoutchouc, etc...

2.4 Annexe : Gripper Design Guidelines for Modular Manufactu-ring1

2.4.1 Abstract

This paper describes guidelines for the design of grippers for use in modular manufacturing

workcells. Gripper design is an important and often overlooked aspect of the design of a complete

assembly system. Here we present guidelines which can be applied to a wide variety of grippers

and are divided into two major categories : those that improve system throughput and those

that increase system reliability. Designs of several grippers, currently being used in a modular

manufacturing workcell, are presented as examples of the application of the guidelines to real world

problems.

2.4.2 Introduction

The design of the end-of-arm tooling for a robotic assembly system is very important for reducing

errors and decreasing cycle times. This is the piece of the robotic parts handler or assembler that

physically interacts with the environment. While many factors may be blamed for the common

failures of workcells, the culprit is very often the grippers. Well designed grippers can increase

throughput, improve system reliability, compensate for robot inaccuracy, and perform value added

functions to the assembly.

1Greg C. Causey and Roger D. Quinn, Department of Mechanical and Aerospace Engineering ,Case Western

Reserve University (CWRU), Cleveland, Ohio 44106-7222

56

Page 58: Introduction à la robotique

The design of the gripper systems is not a trivial task. Unfortunately, the finalized parts and

assembly sequence are often given to the designer, who must then devise grippers to handle the

parts and perform the assembly. It is much more desirable for the design of the grippers to occur

concurrently with the design of the rest of the system. Often a small feature added to a part can

greatly increase the reliability of the gripper. Other times, a proper gripper design can simplify the

overall assembly, increase the overall system reliability, as well as decrease the cost of implementing

the system.

Fig. 2.22: Water Valve Assembly Gripping System

Recently, the manufacturing community has begun to use readily available, off-the-shelf compo-

nents to build up automation systems in a modular way. This catalog based approach to machine

design has many benefits including :

— Ease of replacement of defective and worn-out parts

— Cost savings

— Shorter design times

— More rapid implementation of the machine

— Leveraging the expertise of component builders

Many gripper manufacturers have also taken this approach. It is easy to buy a quick connect,

a remote centering compliance device, a rotary wrist mechanism, and two pneumatic actuators

from the same vendor, bolt them together, and have a fairly complex and sophisticated gripping

system. While this is a wise approach to building a gripping system, it is important to recognize

that gripper fingers must interact reliably with the specific part(s) to be grasped. For a positive,

nimble, self-centering grasp, the gripper fingers themselves must conform to the shape of the part

they are holding. While it is adequate in some cases (and, unfortunately, necessary in others) to

use simple flat plates or “V” grooves, much better designs are usually realizable.

57

Page 59: Introduction à la robotique

As discussed above, it is evident that the design of the gripping system is very important for

the successful operation of the workcell. However, little has been accomplished in the area of design

parameters and guidelines for end effectors. While many text books on robotics discuss grippers,

they mostly deal with types of grippers. Some work has been done in the design of grippers [7][6][10],

but it is still in its infancy. Boothroyd and Dewhurst have introduced guidelines for part design

[5], but have not addressed the design of grippers. The CWRU Agile Manufacturing team has

discussed gripper design in past publications [5][8][9], but only superficially. This work builds on

the past lessons and attempts to present a cohesive set of guidelines.

Using these guidelines, grippers can be designed more quickly and with a higher confidence level.

The guidelines may also be used as performance criteria and allow a rapid evaluation of designs.

Grippers themselves, however, can be as unique and varied as the parts they handle. How then,

can general guidelines be developed to address each unique design ?

Many grippers, while physically different, share the same general function. For example, most

parallel jaw grippers approach from a single direction, and then close to grasp the part. Rotary

action grippers, in contrast, move to a position above the part and then rotate their jaws to grasp

the object. By developing guidelines which can be applied to a style of gripping rather than a

specific gripper design, they may be applied to a wide variety of grippers.

The requirements and expectations placed on gripping systems have increased greatly because

of the introduction and acceptance of modular manufacturing concepts and vision-based flexible

parts feeding. In non-flexible automation systems, the grippers had but one purpose, pick a part

from one location and place it at another. Usually grippers were mounted on pneumatic slides

which created a pick and place motion. With the proliferation of industrial robots in recent years,

however, many new problems and challenges have arisen. Robots themselves have limited payload

capacity, limited accuracy, and fixed repeatability. In a hard automation system, the uncertainty

comes from the machine stops in the bowl feeder and on the pneumatic slides. In the case of a

flexible workcell, there are many more sources of error including : the accuracy and repeatability of

the robot, the vision system, the robot-camera calibration, and the tool offsets. Properly designed

grippers can help compensate for these unknowns.

2.4.3 Gripper Footprint

An important concept in the consideration of a gripper design is the footprint of the gripper.

That is, how much additional area around the object being retrieved is required to physically

situate the gripper such that it can retrieve the part without a collision. This parameter becomes

very important in flexible feeding applications where the spacing between parts is random and

unknown. The standard procedure for retrieving a part from a flexible feeder is to first locate

the part using the vision system [9]. After a candidate part has been located, then a check must

be preformed to ensure that there is enough clearance for the gripper to reach the part without

colliding with other parts or the feeder itself. A larger footprint means more candidate parts will not

be retrieved simply because the gripper it too big. Unnecessary system delays could occur because

the gripper cannot reach most of the parts the vision system has identified and located.

An apparently obvious definition of footprint is the vertical projection of the gripper’s fingers

58

Page 60: Introduction à la robotique

when open. However, it is easy to show this definition is overly simplified. An example in which the

above definition fails is a gripper that approaches a part from the side. Another counter example

(Figure 2.23) is a complicated wrist mechanism. One gripper approaches from an angle which could

Fig. 2.23: Complicated Gripper Footprint

allow a second gripper to collide with parts. In this case, the footprint is not the gripper fingers,

but part of the pneumatic actuator and the second gripper.

A more general and complete definition of the footprint of the gripper is as follows :

The three dimensional space which must be free of obstructions for a gripper to successfully

grasp a part.

There are many nuances and subtleties in the definition. The space doesn’t necessarily have to

be adjacent to the part. In the example in Figure 2.23, part of the space that needs to be vacant is

displaced from the front of the part being retrieved by several inches. Another example is a gripper

with a large chamfer on the leading edge which would push neighboring parts out of the way as it

approached its target part. In this case, the footprint of the gripper would be very small relative

to the vertical projection of the gripper fingers.

As can be imagined, the possibilities of gripper footprints are as widely varied as the grippers

themselves. The important concept is that the footprint of the gripper is not necessarily the vertical

projection of the fingers and that it should to be minimized.

2.4.4 Design Guidelines

The design guidelines are separated into two different categories : those that improve the

throughput of the system and those that improve the reliability of the system. However, there

is some overlap in these areas as well as some mutual exclusion. It may not, for example, be pos-

sible to apply all the guidelines to any one design. At imes, one guideline may suggest one design

direction while another may suggest the opposite. Each particular situation must be examined and

a decision must be made to favor the more relevant guideline.

59

Page 61: Introduction à la robotique

Guideline to Increase Throughput

Minimize the Gripper Footprint As explained in Section 2, this can increase the throughput

of the system.

Chamfer the Exterior of Gripper Fingers This allows the gripper to displace neighboring

parts as the target part is being approached. This effectively reduces the footprint.

Minimize the Gripper Weight This allows the robot to accelerate more quickly. Each robot

has a fixed payload capacity and heavier tooling causes larger overshooting. Often, gripper fingers

for handling light plastic parts are made from aluminum or steel and are much stronger than

necessary and, hence, overly heavy.

Grasp Parts Securely This allows the robot to be run at higher speeds thereby reducing the

cycle time. This may be accomplished by designing the shape of the gripper fingers to compliment

the shape of the part being handled.

Avoid Tool Changes This guideline is different from the previous ones in that it does not

directly apply to the gripper fingers, but to the gripping system as a whole. While automatic, tool

changes are time consuming compared to most robot moves since they involve straight line motion

and because extra care must be taken to ensure the gripper is not mishandled during an exchange.

This extra time decreases the throughput of the workcell.

Grip Multiple Parts with a Single Gripper This helps to avoid tool changes and is normally

possible when handling multiple parts of similar shape or size. It is also possible to design multiple

gripping surfaces actuated by a single actuator. Figure 2.24 shows a single gripper with two gripping

surfaces designed to handle three parts.

Install Multiple Grippers on a Single Wrist This allows the robot to have more than one

gripper ready for use and may decrease cycle time in two ways. First, as in the previous guideline,

a tool change may be avoided. Second, multiple grippers allow multiple parts to be handled at the

same time which can reduce total robot motions. Figure 2.22 and Figure 2.29 show two grippers

on a single rotating wrist mechanism.

Include Functionality in Gripper Fingers This can speed the system by allowing the gripper

to perform a task that would usually be done by an additional piece of hardware.

Guidelines to Increase Reliability

Grasp Parts Securely This is obviously very important to ensure system reliability. For example,

it decreases the likelihood that the part will be dropped or will shift in the gripper during robot

motion and subsequently be misaligned when placed. This is in strong supports for the following

guideline.

60

Page 62: Introduction à la robotique

Fig. 2.24: Single Gripper Handling Multiple Parts

Fully Encompass the Part with the Gripper This has two benefits : to help hold the part

securely and to help align the part in the gripper jaw in the presence of uncertainties in the pickup

location.

Do Not Deform the Part During Grasping Some lighter plastic parts are easily deformed

and care should be taken when grasping the parts. If the part is deformed, problems will occur

when trying to insert the part into a fixture because its shape has been changed.

Minimize Finger Length This is also related to the secureness of the grasp. Obviously, the

longer the fingers of the gripper the more they are going to deflect when grasping a part. When the

fingers deflect, the face of the grippers are no longer properly aligned with the part and the quality

of the grasp suffers.

Provide an Ample Approach Clearance. When designing a more complicated gripping sys-

tem, it is difficult to fully visualize all the necessary clearances. Consider multiple grippers on a

rotary wrist, each grasping multiple objects, as an example. It is important to ensure that there is

ample clearance to approach the pickup location so that if there is some uncertainty in the location

of the part, a collision will not occur.

Chamfer the Approach Surfaces of the gripper fingers This can increase system reliability

by decreasing the likelihood of a part-gripper crash. The chamfer allows the gripper to self-center

parts in the gripper jaw as the robot approaches the part for pickup.

61

Page 63: Introduction à la robotique

Fingers should Align Grasped Parts This can also help center parts in the gripper jaw, but

in contrast to the previous guideline, by aligning a part in the gripper as the jaws are being closed.

A misaligned part can cause problems later in the assembly by causing the place operation to fail.

Insuring that the part is properly aligned in the gripper can help remove this uncertainty. This is

usually accomplished by including generous chamfers at the parting lines of the gripper fingers.

Design for Proper Gripper-Part Interaction The interaction of the surface material of the

gripper jaws and the part is important for alignment. When the shape of the gripper matches the

shape of the part, it is desirable to have a low friction interface so parts may slide relative to the

gripper jaw for alignment purposes. If, however, a flat surface is being used, then a high friction

interface is desired since the part would not be aligned anyway and the higher friction increases

the secureness of the grasp.

Encompass Actuator Mounting Points This is often overlooked in gripper design. By de-

signing the fingers to encompass the mounting points, they will be properly aligned. Improper

alignment of the gripper fingers can reduce the secureness of the grasp.

Do Not Rely on Added Parts for Location Often errors can occur when a component, added

to a subassembly in an earlier operation, is used for location in the current operation. If the part

was misplaced or is not present, then the current operation could fail. It is best to use permanent

features so that if there was an error in a previous step, the current picking operation will not be

affected.

Assembly Grippers should Align Parts In contrast to grippers used only for pick and place,

assembly grippers need to have features added which align parts before the assembly operation takes

place. Consider, for example, an operation which inserts a cap into a cylinder (see next section).

Rather than designing a gripper to hold the cap and relying on the robot to properly align the

parts, a better design would align the parts before the insertion operation.

Incorporate Functionality into Gripper Fingers Each time a gripper must pick or place a

part, there is the possibility of an error. By designing gripper fingers to do an extra task, dedicated

assembly hardware is avoided. Because the part is never released from the gripper, there is less

chance of it being mishandled.

2.4.5 Example Gripper Designs

The following section examines two gripping systems that embody many of the guidelines listed

above. The first system is used to do an assembly of a refrigerator water valve while the second is

used to assemble and package tire valve stem covers. Both grippers are being used in a demonstration

workcell constructed by a corporate sponsor.

62

Page 64: Introduction à la robotique

Water Valve Assembly Gripper

The water valve assembly consists of four distinct parts : the body, the brass fitting, the guide,

and the spin ring, shown in Figure 2.25 with a dime for size reference. The assembly sequence

proceeds as follows : first, a body is retrieved from a tray feeder and placed in a fixture. Next, a

brass fitting is retrieved and inserted into the top front of the body. The brass fittings are fed using

a Genex flexible feeder (Adept FlexFeeder 250). Next a guide is grasped and a spin ring is picked

up (using two grippers on a single wrist), both are fed using flexible feeders. The guide is inserted

into one of the two pockets near the back of the body. The spin ring is then dropped over the top

of the guide. Finally, another guide and spin ring are retrieved and placed in the other pocket.

Fig. 2.25: Water Valve Assembly Parts

This assembly held some unique challenges for the design of a gripping system. First, it was

desired to perform the assembly without tool changes, so all the parts had to be handled by one

gripping system. Second, the brass fittings and guides were being fed on their sides from flexible

feeders and needed to be rotated through 90before assembly. Third, since flexible feeders were

being used, a gripper with too large a footprint could adversely effect system throughput. Last, a

small tabletop robot was being used for the assembly so the total weight of the gripping system

was a concern.

The final design of the gripping system included two actuators mounted on a rotary wrist,

shown in Figure 2.22. Using multiple grippers on a single wrist made it possible to handle both the

guides and spin rings at once. Each gripper was also designed to handle two parts so that a tool

change was avoided. The first gripper was designed to manipulate the brass fittings and guides and

rotate the parts through 90 without setting them down. The second gripper was used to handle

the bodies and the spin rings.

The brass fitting/guide gripper (Figure 2.26) is a good example of the application of several of

the design guidelines. The length of the gripper fingers was designed to minimize the footprint of

the gripper. Even though the rotary jaw mechanism is rather large, the long fingers can retrieve

63

Page 65: Introduction à la robotique

Fig. 2.26: Brass Fitting/Guide Gripper : Grasping a Fitting (unrotated), Grasping a Guide (rota-

ted)

parts without the mechanism colliding with other parts or the feeder. The exterior of the fingers

was chamfered to allow the gripper to displace nearby parts, thereby further reducing its footprint.

The rotary motion designed into the jaws of the gripper allows the brass fitting and guides to

go directly from the feeder (horizontal orientation) to the assembly (vertical orientation) without

intermediate intervention. The gripping surface was designed to compliment the shapes of both the

fitting and the guide so that a more secure grasp of each part was obtained. This was necessary

since the rotary motion is rapid to decrease the cycle time. The grippers were also designed to help

center the parts as they are grasped. This is especially needed when picking the guides since they

do not lay perfectly horizontal but at a slight angle relative to the angle of the gripper jaws. The

fingers themselves were notched to fit the actuator keys so that they would be properly aligned.

The gripper used to handle the spin ring and body (Figure 2.27) also exemplified many of the

Fig. 2.27: Spin Ring Gripper

design guidelines. It differs from the previous approach to grasping multiple parts in that a different

protrusion is used to pick each part. This was necessary because the parts are very dissimilar. In

64

Page 66: Introduction à la robotique

this case, the footprint was minimized by shortening the body gripping fingers so that they would

not interfere with neighboring spin rings on the flexible feeder as a spin ring was grasped. Because

the bodies are retrieved from a tray, their gripper footprint was not a concern. The exterior surface

of the spin ring jaws is circular to make the jaws thinner and decrease the footprint.

A secure grasp of the part was ensured in both cases. The spin ring jaws have a lip which reaches

underneath the spin ring and fully encompasses the part to provide a solid grasp. The body fingers

have protrusions that go into internal features in the body to provide a secure grasp. The fingers

were designed as short as possible to stiffen them. Chamfers were added to the gripper to help

center and align parts as they are being grasped. The gripper fingers fully encompass the mounting

points of the actuator to provide a more secure and aligned interface between the actuator and

fingers.

The application of the design guidelines resulted in a gripping system capable of reliably hand-

ling four parts at a single robot with no tool changes.

Tire Valve Assembly Gripper

The tire valve assembly consists of four parts : the cap, the seal, the container, and the lid,

shown in Figure 2.28 with a dime for size reference. The assembly process is as follows : a pallet

arrives at the workcell containing four tire valves, a container, and a lid. The robot first retrieves a

seal from a bowl feeder and seats it into the first cap. Next, the cap/seal assembly is placed in the

container. After four cap/seal assemblies have been made and placed into the container, the lid is

placed on the container and the finished package (Figure 2.31) removed from the pallet. To meet

desired throughput needs, four parts must be handled without a tool change.

Fig. 2.28: Tire Valve Assembly Parts

Two different grippers, mounted on a rotary wrist, comprised the gripping system, shown in

Figure 2.29. The first gripper was used to retrieve and seat the seal into the cap and then insert

the cap/seal assembly into the container. The second gripper was used to place the lid on the

container and then to remove the filled container from the pallet. By including multiple grippers

on a single wrist and designing each gripper to handle multiple parts, a tool change was avoided.

65

Page 67: Introduction à la robotique

Gripper footprint was not a concern for these grippers as all the assembly locations were known

and proper gripper clearance could be included in the design.

Fig. 2.29: Tire Valve Assembly Gripping System

The seal gripper uses a vacuum to lift a seal from a bowl feeder. A linear actuator, designed

into the gripper, provides the motion and force necessary to seat the seal. Figure 2.30 shows a

close-up view of the actuator fully extended and fully retracted. After seating the seal, the gripper

maintains the vacuum and picks the cap/seal assembly. The robot then positions the assembly over

the container, the vacuum is turned off, and it is dropped into the container.

Fig. 2.30: Linear Actuator at Extremes of Motion

Including the functionality of seating the seal into the gripper increased the throughput and

reliability of the system by avoiding extra operations and assembly hardware. A large chamfer was

designed into the end of the gripper to properly center the cap as it was being approached. This

also held the seal in alignment with the cap as it was inserted.

The lid/container gripper design reliably solved another potentially problematic operation. Fi-

gure 2.31 shows the gripper holding a finished tire valve package. A secure grasp of the lid was

provided by a groove in the jaw into which the lip on the top of the lid fit. Chamfers were designed

66

Page 68: Introduction à la robotique

into the jaws to help center the lid as it was being retrieved. The circular internal cross section of

the grippers match the shape of the lid and help improve the quality of the grasp. A long lead-in

taper was designed on the inside surface of the gripper to align the container with the lid as the

gripper inserts the lid. The gripper firmly presses the lid into the container and maintains its grasp

on the lid as the robot lifts the completed package. The robot then drops the completed package

into a bin.

Fig. 2.31: Finished Tire Valve Package

As in the previous case, application of the guidelines aided in the design of a successful and

reliable gripping system.

Conclusions and Acknowledgments

Guidelines for designing grippers for use in a modular manufacturing workcell have been develo-

ped. The guidelines have been divided into two categories : Those that help improve the throughput

and those that increase the reliability.

Grippers designed using the stated guidelines have been constructed and are being successfully

used in a modular workcell in an industrial setting. Two of these gripper assembly designs have

been reviewed as examples of the application of the guidelines. Although the grippers designed for

these two operations are very different, the guidelines applied to both equally well.

This work was funded through the Center for Automation and Intelligent Systems Research

(CAISR) by the Cleveland Advanced Manufacturing Program (CAMP) and by corporate sponsors.

67

Page 69: Introduction à la robotique

Chapitre 3

Modèles géométriques directs derobots manipulateurs (séries)

3.1 Coordonnées articulaires et opérationnelles

Considérant un robot série tel que symbolisé sur la figure 3.1, on cherche à déterminer la relation

qui lie les coordonnées opérationnelles aux coordonnées articulaires q :Ãxp

xr

!= f(q)

où xp représente les trois coordonnées opérationnelles de position (coordonnées du centre On+1

par rapport à l’origine fixe O1) et où xr représente les coordonnées opérationnelles d’orientation de

la base Xn+1 par rapport à la base fixe X1.

ˆ

ˆ

X

X

O

O

n + n +

Fig. 3.1: Schéma d’un robot série

Alors que pour les coordonnées xp tout le monde s’accorde pour choisir les composantes carté-

siennes de la position de On+1 par rapport à O1 exprimées dans la base X1, plusieurs choix sont

possibles (et adoptés en pratique) pour les coordonnées xr :

— angles d’Euler

68

Page 70: Introduction à la robotique

— angles de Tait Bryan (ou angles nautiques)

— quaternions d’Euler

Dans le but d’obtenir un résultat qui soit intrinsèque et ne dépende pas d’un choix particulier

des coordonnées de rotation, nous nous baserons sur la relation

[Xn+1] = An+1,1[X1]

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

An+1,1

!= f(q)

sachant que, quel que soit le choix des coordonnées opérationnelles de rotation, ces dernières peuvent

s’exprimer1 en fonction des éléments (i, j) de la matrice An+1,1

3.1.1 Coordonnées et matrices de transformation homogènes

ˆ

ˆ

X

X’

O

O’

Q

Fig. 3.2: Transformation homogène

Connaissant les coordonnées de la position du point Q par rapport à l’origine O0 dans le repère

X0, on souhaite déterminer les coordonnées de ce même point Q par rapport à l’origine absolue

O dans le repère de départ X. On cherche donc :

−→OQ = [X]Tx

sachant que :

−→OQ =

−−→OO0 +

−−→O0Q

= −→p + [X0]Tx0

avec −→p = [X]Tp et [X0] = A[X], et où p et la matrice A sont supposés connus. On obtient facilement

par substitution :

x = ATx0 + p (3.1)

1en dehors d’éventuelles positions singulières

69

Page 71: Introduction à la robotique

c.-à-d. une relation linéaire entre x et x0, mais malheureusement non-homogène en raison de la

présence du terme p. Pour remédier à ce caractère non-homogène, on introduit les coordonnées

homogènes du point Q de la manière suivante :Ãx0

1

!position par rapport à O0, exprimée dans le repère X0

Ãx

1

!position par rapport à O, exprimée dans le repère X

ce qui permet d’écrire la relation 3.1 sous la forme :Ãx

1

!=

ÃAT p³

0 0 0´

1

!Ãx0

1

!(3.2)

La matrice

ÃAT p³

0 0 0´

1

!ainsi définie est dite matrice de transformation homogène2.

Le caractère homogène de la relation 3.2 permet de l’utiliser aisément de manière récursive

lorsqu’on se trouve devant une succession d’origines et de bases. Ainsi, si :Ãx

1

!= T

Ãx0

1

!et

Ãx0

1

!= T 0

Ãx00

1

!on trouve (et on programme) sans difficulté :Ã

x

1

!= TT 0

Ãx00

1

!càd T 00 = TT 0

3.1.2 Application aux robots séries

Si on cherche la position absolue d’un point d’outil Q caractérisé par le vecteur

−−−−→On+1Q = [Xn+1]Tun+1

dans le repère associé à la pince du robot, on obtient immédiatement :

−−→O1Q = [X1]Tu1

au moyen de la relation :Ãu1

1

!= T 1,2(q1)T

2,3(q2)T3,4(q3)...T

n,n+1(qn)

Ãun+1

1

!Par conséquent, le modèle géométrique direct d’un robot manipulateur série se résume à calculer

la matrice homogène T 1,n+1

T 1,n+1(q) = T 1,2(q1)T2,3(q2)T

3,4(q3)...Tn,n+1(qn)

2Les matrices et coodonnées homogènes sont également utilisées en infographie pour la représentation de solides

dans l’espace.

70

Page 72: Introduction à la robotique

ˆ

ˆ

ˆˆ

X

X

X X

O

O

OO

n +

n +

Fig. 3.3:

En effet, cette même matrice fournit aussi l’orientation du repère lié à la pince par rapport au

repère absolu :

T 1,n+1 =

ÃR1,n+1 p1,n+1³0 0 0

´1

!

avec3 :

R1,n+1 = R1,2(q1)R2,3(q2)....R

n,n+1(q3)

3.1.3 Matrices de passage élémentaires

Les paramètres de Denavit et Hartenberg sont quasi universellement adoptés par les roboticiens

pour définir, avec un nombre minimum de paramètres, les matrices de transformations homogènes

élémentaires qui permettent de passer du repère associé à un corps du robot au corps qui le suit

dans la chaîne cinématique. Les différentes articulations du robot, qu’elles soient rotoïdes ou pris-

matiques, sont caractérisées par leurs axes (axe de translation pour une liaison prismatique, axe

de rotation pour une liaison rotoïde). Considérons deux axes successifs, l’axe Li et l’axe Li+1 : ces

deux axes sont tout deux solidaires du corps i qui les séparent. Par ailleurs, ces deux axes défi-

nissent dans l’espace deux droites qui, en toute généralité, peuvent être considérées comme deux

droites gauches4. Ces deux droites, ainsi que leur perpendiculaire commune ai sont représentées sur

la figure 3.5. Le repèrenOi+1, Xi+1

o, qui sera solidaire du corps i, est défini comme suit :

— l’origine Oi+1 est placée sur l’axe Li+1, au pied de la perpendiculaire commune ai

— l’axe zi+1 est aligné suivant l’axe de l’articulation Li+1

— l’axe xi+1 est aligné suivant la direction de la perpendiculaire commune

— l’axe yi+1, non représenté sur la figure, est choisi de manière à former un trièdre orthonormé

direct avec xi+1 et zi+1.

3Attention : la matrice R est la transposée de la matrice de rotation habituelle, notée A : R = AT4 le cas de deux axes parallèles et le cas de deux axes concourrants devront être traités comme cas particuliers

71

Page 73: Introduction à la robotique

Corps i -

Corps i

axe i

Fig. 3.4: Numérotation des corps et des axes d’articulations

i

i

i

i

L

L

ˆ

ˆ

ˆ

ˆ

x

x

z

z

Oi

O

a

Fig. 3.5: Repères de Denavit et Hartenberg

Le dessin illustré sur la figure 3.5 suppose que les mêmes règles ont été adoptées pour définir le

repèren

Oi, Xio

sur l’axe Li.

Cela étant, les transformations élémentaires qui permettent d’exprimer le passage du repèrenOi, Xi

oau repère

nOi+1, Xi+1

osont :

1. une rotation d’angle θi autour de l’axe zi. L’amplitude θi de cette rotation est donnée par

l’angle que forme la perpendiculaire commune avec l’axe xi.

2. une translation suivant l’axe zi. L’amplitude de cette translation, notée ri, est donnée par la

distance (signée) entre le pied de la perpendiculaire commune (coté Li) et l’origine Oi.

3. une translation suivant la direction xi+1 (aligné suivant la perpendiculaire commune) dont

l’amplitude, notée ai, est égale à la longueur de la perpendiculaire commune.

4. une rotation d’angle αi autour de l’axe xi+1. L’amplitude αi de cette rotation (suivant l’axe

de la direction perpendiculaire commune) est donnée par l’angle que forme la direction zi+1

72

Page 74: Introduction à la robotique

avec la direction zi.

Les quatre paramètres θi, ri, ai, αi sont les paramètres de Denavit et Hartenberg. On remarquera

que seul quatre paramètres (au lieu de six) sont nécessaires pour passer du repèren

Oi, Xio

au

repèrenOi+1, Xi+1

o, grâce notamment au choix de l’emplacement de ces derniers sur les deux

axes des articulations Li et Li+1. En terme de matrice de transformation homogène, ces quatre

transformations élémentaires donnent :

T i,i+1 =

cθi −sθi 0 0

sθi cθi 0 0

0 0 1 0

0 0 0 1

1 0 0 0

0 1 0 0

0 0 1 ri

0 0 0 1

1 0 0 ai

0 1 0 0

0 0 1 0

0 0 0 1

1 0 0 0

0 cαi −sαi 0

0 sαi cαi 0

0 0 0 1

soit encore :

T i,i+1 =

cθi −sθi 0 0

sθi cθi 0 0

0 0 1 ri

0 0 0 1

1 0 0 ai

0 cαi −sαi 0

0 sαi cαi 0

0 0 0 1

=

cθi −sθicαi sθisαi aicθi

sθi cθicαi −cθisαi aisθi

0 sαi cαi ri

0 0 0 1

On remarquera aisément que les transformations élémentaires n1 et n2 sont permutables (de

même que les transformations élémentaires n3 et n4). Se souvenant que le repèrenOi, Xi

oest

solidaire du corps i− 1 (c.-à-d. juste en amont de l’articulation i) :

— si l’articulation i est rotoïde, l’angle θi est variable et joue le rôle de coordonnée articulaire

qi. Les trois autres paramètres ri, ai et αi sont constants, et caractéristiques de la dimension

géométrique du corps i. On a donc

qi = θi et T i,i+1 = T i,i+1(qi, ri, ai,αi)

— si l’articulation i est prismatique, c’est ri qui est variable et joue le rôle de coordonnée

articulaire qi. Les trois autres paramètres θi, ai et αi sont les constantes caractéristiques de

la dimension géométrique du corps i. On a donc

qi = ri et T i,i+1 = T i,i+1(qi, θi, ai,αi)

En conclusion, le modèle géométrique direct du manipulateur complet s’écrira bien sous la forme

annoncée :

T 1,n+1(q) = T 1,2(q1)T2,3(q2)T

3,4(q3)...Tn,n+1(qn)

On remarquera toutefois que les différents repères associés aux corps sont localisés de façon toute

particulière(voir figure 3.6). Pour le repère associé aux corps n1, il n’y a pas d’axe d’indice 0 :

il faudra donc utiliser son bon sens pour localiser l’origine O1 et la direction de l’axe x1 de la

manière la plus judicieuse possible. De même, la localisation du repèrenOn+1, Xn+1

ose fera en

73

Page 75: Introduction à la robotique

Corps i

axe i

Oi + i +X

Fig. 3.6: Localisation du repère associé au corps i

définissant un axe fictif Ln+1 : son origine et la direction de son axe zn+1 détermineront le ”centre

d’outil” et la direction de celui-ci.

On trouvera un exemple sur la figure 3.7 et la table correspondante des paramètres de Denavit

et Hartenberg sur la figure 3.8

Fig. 3.7: Localisation des repères pour un robot série de type RRPRRR

3.2 Modèles cinématiques directs de robots séries

On cherche maintenant à déterminer la relation qui lie les vitesses opérationnelles aux vitesses

articulaires q : Ãxp

xr

!=

∂f(q)

∂qTq (3.3)

et, comme pour le modèle géométrique, on se heurte au problème posé par le choix (non universel)

des coordonnées opérationnelles de rotation xr. Pour remédier à ce problème et obtenir un résultat

74

Page 76: Introduction à la robotique

Fig. 3.8:

qui soit intrinsèque et utile, nous définirons les vitesses opérationnelles comme étant le vecteur

vitesse x1,n+1 du centre d’outil On+1 et le vecteur vitesse angulaire ω1,n+1 de la base Xn+1. En

résumé, nous cherchons la relation : Ãx1,n+1

ω1,n+1

!= J(q) q

où J est la jacobienne vectorielle du robot manipulateur. Cette matrice contient deux lignes formées

de vecteurs, et autant de colonnes qu’il y a de coordonnées articulaires.

Sachant que la relation est linéaire en les vitesses articulaires qi, nous pouvons calculer le

contenu de cette matrice en considérant chaque colonne séparément. En effet, la colonne d’indice i

nous donne la contribution de la vitesse articulaire qi aux vitesses x1,n+1 et ω1,n+1 de l’outil.

— Pour une articulation prismatique, on observe immédiatement sur la figure 3.9 que l’effet au

niveau de l’outil d’une vitesse articulaire se traduit par une vitesse linéaire x1,n+1 = qizi , et

ce sans engendrer de vitesse de rotation de la base Xn+1— Pour une articulation rotoïde, on observe sur la figure 3.10 qu’une vitesse articulaire (i.e. une

vitesse angulaire d’amplitude qi suivant l’axe de l’articulation) se traduit par une rotation de

la base Xn+1 à la même vitesse, c.-à-d. : ω1,n+1 = qizi. Mais à cette vitesse de rotation,

s’ajoute une vitesse linéaire du centre On+1 de l’outil donnée par x1,n+1 = qizi×−−−−−→OiOn+1. On

obtient donc

x1,n+1 = qizi ×−−−−−→OiOn+1

ω1,n+1 = qizi

En vue d’unifier ces résultats pour les deux types d’articulations, nous définissons une variable

booléenne σ qui vaut :

σi = 1 si l’articulation est prismatique

0 si l’articulation est rotoïde

75

Page 77: Introduction à la robotique

ˆ

ˆ

X

X

O

O

n + n +

qi ˆ

qi ˆ

Fig. 3.9: Effet au niveau de l’outil d’une vitesse articulaire dans une articulation prismatique

ainsi que sa négation logique, notée σ, et qui vaut :

σi = 1 si l’articulation est rotoïde

0 si l’articulation est prismatique

Ceci nous permet d’écrire, quel que soit le type d’articulation :

x1,n+1 = σiqizi + σiqizi ×−−−−−→OiOn+1

ω1,n+1 = σiqizi

En définissant les vecteurs pi,n+1=−−−−−→OiOn+1, les vitesses linéaire et angulaire résultant du

mouvement simultané de toutes les articulations peuvent s’écrire :

Ãx1,n+1

ω1,n+1

!=

÷ · · σizi + σizi × pi,n+1 · · ·· · · σizi · · ·

! ...

qi

...

La matrice jacobienne vectorielle complète J(q) du manipulateur est donc de la forme :

J(q) =

÷ · · σizi + σizi × pi,n+1 · · ·· · · σizi · · ·

!

| z colonne ni

Exprimée au moyen de vecteurs, on peut calculer les composantes de cette matrice dans

n’importe quel repère. Ainsi, si on souhaite obtenir les composantes des vitesses linéaire et

angulaire de l’outil dans la base fixe X1, il suffit de calculer les composantes de tous les

vecteurs intervenant dans J(q) dans cette base. Pour obtenir :

x1,n+1 = [X1]T x1,n+1(1)

ω1,n+1 = [X1]Tω1,n+1(1)

76

Page 78: Introduction à la robotique

ˆ

ˆ

X

X

O

O

O

n +

i

n +

qi ˆ

ˆqi ˆ

Fig. 3.10: Effet au niveau de l’outil d’une vitesse articulaire dans une articulation rotoïde

il nous faut donc calculer :

zi = [Xi]T

0

0

1

= [X1]TR1,izi(i) avec zi(i) =

0

0

1

pi,n+1 = [Xi]Tpi,n+1(1) = [X1]TR1,ipi,n+1(i)

ce qui revient, en fait, à calculer les modèles géométriques de manipulateurs ”partiels” :

— constitués des chaînes de corps 1, ..., i pour obtenir les matrices R1,i,

— et constitués de chaînes i, ..., n+ 1 pour obtenir les vecteurs pi,n+1 exprimés dans leur bases

Xi de départ, c.-à-d. les composantes pi,n+1(i) .

Revenant à l’équation 3.3 qui nous préoccupait au départ,Ãxp

xr

!=

∂f(q)

∂qTq

on peut exploiter de la manière suivant la matrice jacobienne vectorielle exprimée dans la base

X1

J(1)(q) =

÷ · · σiR1,izi(i) + σiR1,izi(i)p

i,n+1(i) · · ·

· · · σiR1,izi(i) · · ·

!

| z colonne ni

qui correspond à : Ãx1,n+1(1)

ω1,n+1(1)

!= J(1)(q)q (3.4)

77

Page 79: Introduction à la robotique

En effet, quel que soient les coordonnées opérationnelles choisies, il est toujours possible de

calculer, au départ des dérivées xp et xr, les composantes dans la base X1 des vecteurs vitesses

x1,n+1 et ω1,n+1 : Ãx1,n+1(1)

ω1,n+1(1)

!=

ÃMt 0

0 Mr

!Ãxp

xr

!(3.5)

En général, la sous-matrice Mt est égale à la matrice unité car les coordonnées opérationnelles de

position sont simplement les coordonnées cartésiennes de la position de l’outil. Par contre, la matrice

Mr dépend du choix effectué pour les coordonnées opérationnelles de rotation. Cette matrice est

parfois singulière ; et par exemple dans le cas des quaternions d’Euler, elle est tout simplement

non carrée, c.-à-d. non inversible. Les cas pour lesquels la matrice M complète n’est pas inversible

constituent des singularités mathématiques : ces singularités sont uniquement dues au choix des

coordonnées opérationnelles, elles n’ont rien à voir avec le manipulateur lui même.

En l’absence de toute singularité mathématique, nous pouvons exploiter les équations 3.4 et 3.5

pour obtenir : Ãxp

xr

!=

ÃMt 0

0 Mr

!−1Ãx1,n+1(1)

ω1,n+1(1)

!

=

ÃMt 0

0 Mr

!−1J(1)(q)q

et donc par comparaison avec 3.3 :

∂f(q)

∂qT=

ÃMt 0

0 Mr

!−1J(1)(q)

3.3 Singularités des robots manipulateurs séries

Le nombre DLR de degrés de liberté disponible à l’outil est égal à la dimension de l’espace

engendré par les vecteurs x1,n+1 et ω1,n+1. Par exemple, cet espace est de dimension six si la struc-

ture (et la configuration instantanée) du manipulateur permet tous les mouvements de translation

et de rotation imaginables pour l’outil. Considérant la relation 3.4 :Ãx1,n+1(1)

ω1,n+1(1)

!= J(1)(q)q

on constate que l’espace en question est généré par une combinaison linéaire des colonnes de la

matrice J(1)(q). Ces colonnes sont en nombre égal au nombre d’articulations, c.-à-d. le nombre de

degrés de mobilité m de la structure. On a donc normalement :

DLR = m

sauf si la matrice Jacobienne J(1)(q) est de rang moindre que m. Les configurations (c.-à-d. les

valeurs de q) pour lesquelles il y a perte de rang de la matrice J(1)(q) sont les configurations

78

Page 80: Introduction à la robotique

singulières du manipulateur. Il s’agit cette fois de singularités qui n’ont rien de mathématique :

elles résultent du manipulateur lui-même et de la configuration dans lequel il se trouve.

En conclusion, l’examen du rang de la matrice Jacobienne vectorielle nous donne un moyen de

déterminer quel sera la valeur de DLR et quelles seront les éventuelles configurations singulières.

79

Page 81: Introduction à la robotique

Chapitre 4

Générations de trajectoires

4.1 Introduction

4.1.1 Définition

Apprentissage etprogrammation

GENERATION DETRAJECTOIRE

Régulateurq(T )i q(t )ix(T )i

ROBOT

La phase de génération de trajectoires se situe entre les phases d’apprentissage (ou programma-

tion) et d’exécution du mouvement. Les points programmés ou appris pour planifier ces trajectoires

ou mouvements peuvent être donnés :

- soit dans l’espace articulaire : q(Ti)

- soit dans l’espace cartésien : x(Ti)

Dans le schéma ci-dessus :

— q(Ti) (ou x(Ti)) sont les points appris ou programmés par l’opérateur pour spécifier le mou-

vement désiré pour le robot. Typiquement, les intervalles de temps ∆T = Ti+1 − Ti À 10

milliseconde (par exemple, le liaison computer-link ALTER du robot Puma permet un trans-

fert de données toutes les 28 millisecondes),

— q(ti) sont les valeurs de consignes (en coordonnées articulaires) transmises au régulateur. Ici,

les intervalles de temps ∆t = ti+1 − ti sont de l’ordre de la milliseconde.

Il est donc nécessaire d’interpoler d’une manière ou d’une autre entre les points qui ont été

appris ou programmés.

On distingue différents types de mouvements suivant les applications (tâches) :

1. Trajectoire point à point (P.T.P.) : . pour la manutention (pick and place), pour l’assemblage,

la soudure par points, ...

2. Trajectoire opérationnelle : idem que P.T.P. + possibilité d’éviter des obstacles.

80

Page 82: Introduction à la robotique

3. Mouvement opérationnel : la vitesse doit être contrôlée pour les opérations de soudure en

continu, peinture, dépose de joints, etc ...

4.1.2 Planification dans l’espace articulaire

Si les points programmés ou appris q(Ti) sont donnés dans l’espace articulaire Q, l’interpolation

peut être tout naturellement calculée dans ce même espace :

— avantage : cet espace Q est celui utilisé normalement par les algorithmes de régulation (qui

utilisent les informations proprioceptives) ; la génération de trajectoire peut donc être réalisée

sous la forme d’un algorithme simple, calculable en temps réel.

— inconvénient : la planification des q(Ti) ne se situe pas dans l’espace naturel de l’opérateur :

celui-ci ne dispose d’aucun moyen de visualiser ce que sera la trajectoire, notamment pour

éviter les risques de collisions.

L’algorithme de génération peut se schématiser comme suit :

t = to

loop : attendre l’intervalle de régulation suivant (~1 msec)

t = t+∆t

calcul de q(t)

IF t = tfinal : exit

ELSE GOTO loop.

Il faut néanmoins s’assurer que les contraintes suivantes soient observées pour calculer les q(ti) :

— l’algorithme ne peut pas être itératif car q(ti) doit être disponible à l’instant ti

— les fonctions q(t), q(t) (et q(t)) doivent être continues pour éviter des sauts trop importants

des valeurs de consignes

— les valeurs q(ti) (et q(ti)) doivent tenir compte des limitations des actionneurs et des chaînes

de transmissions :

|q(ti)| ≤ kv et |q(ti)| ≤ ka

où kv et ka sont des constantes caractérisant les limites des actionneurs

— il faut éviter que l’interpolation ne donne lieu à des déviations (excursions) trop importantes

dans l’espace articulaire.

4.1.3 Planification dans l’espace cartésien (opérationnel) X

Deux approches sont possibles : elles diffèrent suivant l’espace où s’effectue l’interpolation.

Interpolation et régulation cartésienne

ROBOTRégulateurx

Capteurs

x(t )i

81

Page 83: Introduction à la robotique

Avantage : précision du suivi.

Inconvénient :

— peu ou pas de capteurs extéroceptifs disponibles pour le régulateur

— la transformation x(ti)⇐⇒ q(ti) est non univoque et difficile à réaliser en temps réel

— les limitations kv et ka dues aux actionneurs ne sont pas prises en compte au cours de la

génération de trajectoire.

Exemple : méthode de PAUL (voir ci-après).

Interpolation et régulation articulaire

On effectue d’abord les transformations x(Ti) ⇒ q(Ti), et ensuite on interpole par polynômes

de degrés peu élevés pour obtenir les consignes q(ti).

Avantages :

— les calculs à faire en temps réel sont limités

— les limitations kv et ka peuvent être prises en compte lors de l’interpolation.

Inconvénient : risque d’imprécision du suivi sur les tronçons interpolés.

Exemple : méthode TAYLOR (”bounded deviation - joint path”).

4.2 Trajectoires planifiées dans l’espace articulaire

4.2.1 Trajectoires sans contraintes (mouvement P.T.P.)

La loi généralement utilisée pour chacun des axes du robot est du type bang-bang, ce qui

correspond à la solution en temps minimum pour un déplacement ∆q donné. Pour tenir compte si

k

-k

t t

q.q..

a

a

Fig. 4.1: Loi bang-bang pour un axe : q = ka sur (0, T/2), q = −ka sur (T/2, T )

t

q.

kv

Fig. 4.2: Loi bang-bang avec palier de vitesse

82

Page 84: Introduction à la robotique

nécessaire, des limitations en vitesse, on introduit une phase de palier en vitesse. Cette loi présente

pour inconvénient le fait d’introduire des discontinuités importantes en accélération (”JERK”)

provoquant des oscillations du régulateur qui se manifestent par des vibrations du robot.

D’autres lois, dérivées de cette loi BANG-BANG, sont proposées pour diminuer le ”JERK”

sans pour autant allonger outre mesure le temps d’exécution du mouvement. Les figures 4.3 et 4.4

donnent quelques exemples [1].

Fig. 4.3: Lois alternatives à la loi Bang-Bang

Fig. 4.4: Lois alternatives à la loi Bang-Bang

4.2.2 Coordination des articulations

Le temps de parcours de chaque articulation prise isolément est une fonction de la distance à

parcourir ∆q et des contraintes cinématiques. Comme ces éléments peuvent varier d’une articula-

tion à l’autre, on est confronté au problème de coordination entre les articulations pour que celles-ci

finissent leur mouvement au même instant. Pour cela, on effectue la synchronisation des mouve-

83

Page 85: Introduction à la robotique

ments articulaires sur l’axe nécessitant la durée de parcours la plus longue pour le déplacement qui

lui est imparti. Cet axe sera dit contraignant et il existe deux méthodes de synchronisation :

— la méthode proportionnelle sur l’axe contraignant

— la méthode proportionnelle

Méthode proportionnelle sur l’axe contraignant

Pour assurer la synchronisation de toutes les articulations, leurs lois de vitesse sont obtenues

par homothétie de la loi de vitesse de l’axe contraignant. La relation de proportionnalité pour toute

articulation i différente de l’articulation contraignante j est la suivante (voir figure) :

q.

q.

i

j

temps

temps

Tj

Tj

Ti

kvi

kvj

kvjλi

τ j

τ i τ j

Fig. 4.5: Synchronisation suivant la méthode proportionnelle sur l’axe contraigant.

∀t ∈ [0, T ] : qi(t) = λiqj(t)

avec λi constant, et le rapport τ j =kvjkaj

- qui correspond à la durée du temps de montée (ou

descente) - devenant commun à tous les axes. Dans les diagrammes (qi, t), les aires comprises sous

les trapèzes correspondent aux déplacements ∆qi. En synchronisant les axes, il faut veiller à ne pas

changer les valeurs de ces déplacements : on a donc l’égalité des aires suivante

(Ti − τ i) kvi = λi (Tj − τ j) kvj

=⇒ λi =Ti − τ iTj − τ j

kvikvj

Les contraintes cinématiques de vitesse et d’accélération doivent être respectées pour les nouvelles

lois. Elles doivent donc vérifier :

λikvj ≤ kvi et λikaj ≤ kai

84

Page 86: Introduction à la robotique

Si l’une de ces deux relations n’est pas vérifiée, il y aura un dépassement en vitesse et/ou en

accélération de la loi homothétique. Il est donc nécessaire d’allonger le temps de parcours de la loi

considérée d’une marge ∆T : l’articulation i devient l’articulation contraignante et on est amené à

recommencer la détermination des rapports d’homothétie pour les autres articulations (notés λ0i ).

Fig. 4.6: Illustration des dépassement en vitesse et accélération.

Méthode proportionnelle

Cette méthode permet d’effectuer la synchronisation des articulations quelle que soit la trajec-

toire considérée. Cette coordination est réalisée sans introduction de marge de temps sur l’articu-

lation contraignante tout en respectant les contraintes cinématiques imposées.

Elle consiste à choisir pour chaque articulation une loi de déplacement similaire à sa loi op-

timale propre, mais étalée dans le temps pour avoir la même durée que l’axe contraignant. Mal-

heureusement pour cette méthode, les instants de commutation τ i restent différents pour chaque

articulation.Il n’y a plus de problème de dépassement des limites kv et ka car :

(Ti − τ i) kvi = λi (Tj − τ i) kvi

=⇒ λi =Ti − τ iTj − τ i

≤ 1

mais il n’est plus possible de déduire les valeurs de consignes (en position qi et vitesses qi) des

axes synchronisés par une simple proportionnalité calculée sur les valeurs de consignes de l’axe

contraignant.

85

Page 87: Introduction à la robotique

q.i

temps

TjTi

kvi

kviλi

τ iTj-

loi articulaire propre

loi synchronisée

Fig. 4.7: Illustration de la méthode proportionnelle

4.2.3 Trajectoire contrainte (points de passage intermédiaires)

Ce type de trajectoire est contraint par des configurations intermédiaires imposées. Cela peut

être le cas si la tâche du manipulateur est définie de manière à éviter des obstacles et/ou pour des

opérations de ”pick and place” simples si on veille à éloigner/approcher l’objet correctement des

sites de prise et de dépose. Dans ce dernier cas, il suffira de spécifier une position intermédiaire sur

la normale à la surface de pose qui passe par le point de prise : en imposant à la pince de passer par

cette position intermédiaire, on obtiendra un mouvement admissible pour le départ (lift-off ). On

fera de même pour la phase d’approche (set-down) nécessaire à la dépose de l’objet manipulé. De

plus, en imposant les temps de parcours relatifs aux phases de lift-off et set-down, il sera possible

de contrôler la vitesse du manipulateur pour ces opérations délicates.

Considérons le cas suivant :

On exige la continuité en vitesse et accélération aux points intermédiaires de lift-off et set-down.

pointinitial

pointfinal

"lift-off""set-down"

temps

q (t)

t t t t1 2 3 4

iaxe n°i :

Fig. 4.8:

Les durées (t2 − t1) et (t4 − t3) sont également imposées, tandis que la durée (t3 − t2) pourra être

optimisée compte tenu des limitations en vitesse kv et accélérations ka : on choisira pour tous les

axes, une même durée dictée par l’articulation contraignante.

Le tableau suivant résume le nombre de contraintes imposées aux différents points :

n point 1 (initial) 2 (lift-off) 3 (set-down) 4 (final)

position imposée imposée imposée imposée

vitesse imposée / / imposée

accélération imposée / / imposée

86

Page 88: Introduction à la robotique

Il nous faut donc la liberté de choisir 8 paramètres pour pouvoir satisfaire ces contraintes. Une

solution à ce problème consiste à prendre pour chaque articulation, un polynôme d’ordre 7 :

q(t) = a7t7 + a6t

6 + a5t5 + · · ·+ a1t+ a0

Ceci assure les conditions de continuité et on peut calculer les coefficients ai de façon à satisfaire

les 8 valeurs imposées (4 positions, 2 vitesses et 2 accélérations). Cette solution présente cependant

deux inconvénients majeurs :

— elle donnera lieu à des déviations (excursions) importantes en raison de l’ordre élevé des

polynômes utilisés,

— la recherche des extremum, nécessaire au calcul des vitesses et accélérations maximales pour

le respect des limitations kv et ka, est trop compliquée et ne permet pas d’optimiser la durée

(t3 − t2).

Une meilleure solution consiste donc à prendre des polynômes différents sur chacun des inter-

valles de temps. Le tableau ci-dessous permet de déterminer les degrés dk nécessaires pour ces

polynômes sur chaque tronçon k :

n intervalle : k 1 2 3 Total

contrainte position 2 2 2 6

contrainte vitesse 1 0 1 2

contrainte accélération 1 0 1 2

dk minimum 3 2 3 /

continuité de position 0 0 0

continuité de vitesse 1 1 2

continuité d’accélération 1 1 2

Total 14

Le nombre total de contraintes à respecter est 14, et il faut donc disposer de 14 coefficients pour

l’ensemble des trois polynômes :

3Xk=1

(dk + 1) = 14 ⇒3Xk=1

dk = 11

En outre, pour satisfaire les contraintes imposées aux différents tronçons considérés isolément, il

faut :

d1 = 3, d2 = 1 et d3 = 3

Les solutions admissibles pour les dk sont donc :

dk = 4− 3− 4 et dk = 3− 5− 3

et la première [PAUL, 1982] présente l’avantage de degrés moindres, ce qui facilite la recherche du

temps minimal (t3 − t2) compte tenu des limitations kv et ka.

87

Page 89: Introduction à la robotique

Une solution alternative a été proposée par [LIN, 1983] : elle comporte cinq polynômes du

type splines cubiques. Deux configurations intermédiaires supplémentaires (une au cours du lift-

off, l’autre du set-down) sont introduites de façon à définir les cinq intervalles correspondant aux

polynômes. Les positions, vitesses et accélérations en ces points ne sont pas fixées, ce qui donne le

tableau suivant :

n intervalle k 1 2 3 4 5 Total

contrainte position 1 1 2 1 1 6

contrainte vitesse 1 0 0 0 1 2

contrainte accélération 1 0 0 0 1 2

dk minimum 2 0 1 2 /

continuité position 1 0 0 1 2

continuité vitesse 1 1 1 1 4

continuité accélération 1 1 1 1 4

Total 20

Le total des contraintes est bien satisfait par :

dk = 3 pour k = 1, · · · , 5

en effet :

5Xk=1

(dk + 1) = 20

On notera que les deux méthodes [PAUL et LIN] peuvent se généraliser sans peine pour des trajec-

toires avec évitement d’obstacles qui comportent plus que 4 points de passage obligés. Dans ce cas,

les points supplémentaires introduits par dans la méthode de LIN seront injectés sur les premier et

dernier tronçons.

Calcul des polynômes et optimisation du temps de parcours

Ayant choisi des polynômes d’ordre 3 (méthode de LIN) et en supposant que tous les temps de

parcours T j sont connus à l’avance, l’accélération q(t) entre deux configurations successives peut

s’écrire sous la forme suivante, linéaire en les accélérations qj aux points de passage :

q(t) =tj+1 − t

T jqj +

t− tj

T jqj+1 pour t ∈ £tj , tj+1¤ (4.1)

avec : T j = tj+1− tj . Cette forme de l’accélération garantit automatiquement toutes les conditions

de continuité en accélération

L’expression de q(t) en fonction de qj et qj+1 s’obtient par une double intégration sur l’intervalle£tj , tj+1

¤et la paire de conditions limites :

q(tj) = qj (4.2)

q(tj+1) = qj+1

88

Page 90: Introduction à la robotique

Toutes les valeurs nécessaires qj sont données, sauf celles correspondant aux points intermédiaires

supplémentaires (appartenant aux premier et dernier segments) ; mais on peut aisément déduire

celles-ci des conditions :

q(t1) = q1 et q(t1) = q1, q(t6) = q6 et q(t6) = q6 (4.3)

Reste à déterminer les valeurs des coefficients qj dans l’équation 4.1 :

— q1 et q6 sont donnés (nuls),

— q2 · · · q5 s’obtiennent en exprimant les quatre conditions de continuité en vitesses aux diffé-

rents points intermédiaires

Ces quatre conditions donnent lieu à un système d’équations linéaires en les qj sous la forme :

Aq = b

où : q = (q2, q3, q4, q5, ), A est une matrice (4x4) dont les éléments ne dépendent que des temps tj

(elle sera donc commune pour tous les axes), et b, vecteur (4x1), dont les éléments dépendent des tj

et des valeurs imposées en positions et vitesses que nous avons utilisées dans les conditions limites

4.2 et 4.3 pour les différents axes.

La matrice A est régulière et la résolution du système est facilitée par la structure bande de

cette matrice (ceci est particulièrement utile dans le cas général d’une trajectoire passant par

n >> 4 points). Ceci permet donc d’obtenir sans problèmes, l’expression des fonctions q(t) pour

les différents axes étant donné un choix à priori des temps de parcours T j .

Si on désire de plus minimiser le temps de parcours total, il faudra faire face au problème

d’optimisation suivant :

minXj

T j

sous les contraintes :

|q(t)| ≤ kv et |q(t)| ≤ ka ∀t et∀axe

Grâce au faible degré des polynômes utilisés, les maximums de vitesse et d’accélération s’expriment

aisément en fonction des valeurs qj (elles-mêmes fonctions des inconnues T j). Néanmoins, la réso-

lution de ce problème d’optimisation sous contraintes nécessite un algorithme itératif et la minimi-

sation du temps de parcours global ne peut donc s’envisager qu’en ”temps masqué”.

4.3 Trajectoire planifiée dans l’espace cartésien

4.3.1 Interpolation cartésienne

Réalisée dans l’espace naturel de l’opérateur, l’interpolation cartésienne rend plus aisée la pro-

grammation de trajectoires sans collisions. Deux difficultés apparaissent néanmoins :

1. si la notion d’interpolation (en ligne droite, en arc de cercle, etc ..) est évidente en ce qui

concerne la position de l’outil, il n’en est pas de même pour son orientation ;

2. toute trajectoire comportant un tracé anguleux de l’outil nécessiterait des accélérations in-

finies : il sera nécessaire de prévoir des ”raccords” pour le tracé de carrés, rectangles, etc

...

89

Page 91: Introduction à la robotique

a. Méthode de PAUL (1979)

Interpolation de rotation La tâche est décrite au moyen de la matrice de transformation

homogène qui décrit la position et l’orientation de l’outil (voir chapitre 3) :

T =

ÃAT p³

0 0 0´

1

!=

nx sx ax px

ny sy ay py

nz sz az pz

0 0 0 1

Dans cette expression, p représente le vecteur position (absolue) du centre d’outil, a (a pour ap-

proach) représente le vecteur unitaire suivant l’axe d’approche de l’outil considéré ici comme une

pince, s (s pour sliding) représente le vecteur unitaire suivant son axe de fermeture et n (n pour

normal) représente le vecteur unitaire normal à son plan (voir figure 4.9)

Fig. 4.9: Position/orientation de la pince

Désignons par A0 la matrice homogène correspondant à la configuration présente et par A1,

celle que l’on désire obtenir après un parcours de durée T . Nous supposons ici que l’outil doit se

déplacer en ligne droite. En définissant un temps normalisé λ = tT , le problème posé consiste à

trouver une matrice homogène D(λ) telle que :

D(0) = E, matrice unité et A0.D(1) = A1 (4.4)

Ayant trouvé cette matrice, la configuration de l’outil sera donnée à tout instant normalisé inter-

médiaire λ par le produit A0.D(λ) On décide d’interpoler le mouvement lié à l’orientation de l’outil

par le biais de 2 rotations successives :

— la première d’amplitude finale ϑ, sert à réorienter l’axe d’approche a, de son orientation

initiale a0 vers son orientation finale a1. Cette rotation s’effectuera autour d’une direction

fixe, perpendiculaire au plan (a0, a1)

— la deuxième, consiste à faire tourner l’outil autour de la direction (instantanée) de son axe

d’approche. L’amplitude finale de cette rotation vaudra ϕ

90

Page 92: Introduction à la robotique

a

s0

n0

a0

1

a

λϕ

ψλθ

Fig. 4.10:

L’évolution de la translation et des deux angles est choisie linéaire dans le temps : l’expression

de D(λ) sera donc de la forme :

D(λ) = Trans(λ(p1 − p0)).(Rrot(z,ψ)Rrot(x,λϑ)R−1rot(z,ψ)).Rrot(z,λϕ)

où les facteurs sont des matrices de transformations homogènes élémentaires correspondant respec-

tivement à :

— une translation (sans rotation) d’amplitude λ(p1 − p0) suivant la direction p1 − p0— une rotation d’orientation de l’axe a de l’outil d’amplitude λϑ et suivant une direction v

faisant un angle ψ avec s0 ; cette rotation peut se décomposer en trois rotations élémentaires :

1. une rotation d’amplitude fixe ψ autour de l’axe a0 (qui joue le rôle d’axe z) pour aligner

l’axe s0 sur la direction v = a1 × a02. la rotation d’amplitude variable λϑ autour de v (qui joue maintenant le rôle d’axe x)

3. une rotation d’amplitude −ψ, pour ramener s0 dans sa position initiale

— une rotation de l’outil suivant son axe instantané a (axe qui, après la rotation précédente,

joue le rôle d’axe z)

On observe aisément sur la figure que la valeur constante de l’angle ψ peut se déduire des

produits scalaires : a1 · n0 et a1 · s0. Les valeurs de ϑ et ϕ s’obtiennent en identifiant ensuite un à

un les éléments de la matrice D(1) à ceux de la matrice produit . (A0)−1A1 en vertu de l’équation

4.4.

Transition entre segments rectilignes Pour éviter les discontinuités de vitesse aux raccords

entre segments, il faut accélérer ou décélérer le mouvement sur une période de transition : on décide

donc d’appliquer une accélération constante aux coordonnées opérationnelles px(λ), py(λ), pz(λ),ϑ(λ)

et ϕ(λ) sur un intervalle de temps 2τ à cheval sur la transition. Si de plus la constante ψ prend des

valeurs différentes sur les deux segments AB et BC (voir figure), on interpole linéairement entre

ces deux valeurs au cours de la phase de transition.

91

Page 93: Introduction à la robotique

A

T

BC

T T A B C

temps

x i

τ τ

Fig. 4.11: Transition entre segments rectilignes

Soit x = (px(λ), py(λ), pz(λ),ϑ(λ),ϕ(λ))T , nous posons :

∆B =

px(B)− px(A)

py(B)− py(A)

pz(B)− pz(A)

ϑ(B)− ϑ(A)

ϕ(B)− ϕ(A)

et ∆C =

px(C)− px(B)

py(C)− py(B)

pz(C)− pz(B)

ϑ(C)− ϑ(B)

ϕ(C)− ϕ(B)

∆C et ∆B sont donc proportionnels aux vitesses. L’accélération nécessaire pour faire la transition

sur l’intervalle (TB − τ , TB + τ) vaut donc

x =1

µ∆C

TC − TB− ∆B

TB − TA

¶de telle sorte que la vitesse :

x =t− (TB − τ)

µ∆C

TC − TB

¶− t− (TB + τ)

µ∆B

TB − TA

¶évolue linéairement de la valeur x (TB − τ) = ∆B

TB−TA à la valeur x (TB + τ) = ∆CTC−TB

L’avantage de cette technique d’interpolation par segments de droites et transitions est d’être

progressive : on peut calculer en ligne la transition à effectuer en B, dès que les coordonnées du

point programmé C sont fournies. Si aucun point C n’est encore programmé à l’instant TB − τ une

transition est calculée de façon à arrêter le mouvement au point B.

Cette méthode a été identifiée comme étant celle utilisée par le système VAL II du robot PUMA

en mode CP (”continuous path”). Elle est même utilisée lorsque la planification est réalisée dans

l’espace articulaire : les concepteurs de VAL II ont donc préféré aux splines (LIN) cette technique

d’interpolation par segments de droite et raccords paraboliques, vraisemblablement pour profiter

de son aspect progressif et permettre au robot de suivre une trajectoire qui ne lui est transmise

qu’en cours d’exécution par le biais de coordonnées (opérationnelles ou articulaires) envoyées au

fur et à mesure.

Il faut noter que la méthode ne prévoit pas l’optimisation du temps de parcours : le mouvement

est effectué à une vitesse ”constante” indiquée par l’opérateur. Aucun contrôle n’est effectué quant

aux limitations articulaires kv et ka et il faut donc s’attendre à des surprises lorsque l’opérateur

choisit une vitesse d’exécution qui dépasse les possibilités du robot ou lorsqu’il travaille au voisinage

d’une configuration singulière !

92

Page 94: Introduction à la robotique

b. Méthode de Taylor (1979)

Cette méthode peut être considérée comme une variante de celle de PAUL :

— au lieu d’interpoler deux angles de rotation pour orienter l’outil, on interpole un seul angle

— les quaternions sont utilisés pour représenter les transformations du type rotation entre re-

pères.

Les quaternions sont ”peu populaires” car ils se fondent sur une algèbre particulière et parce

qu’ils sont difficile à visualiser. Ils évitent pourtant les redondances caractéristiques des matrices

de rotations (9 éléments au lieu de 3 angles) et de transformations homogènes. Cela se traduit par

une économie de calcul pour les opérations courantes1 :

# opérations Quaternions Matrices

composition de deux rotations

R1R2

9 additions

16 multiplications

18 additions

27 multiplications

cangement de base

R1v

12 additions

22 multiplications

6 additions

9 multiplications

Sans entrer dans les détails, nous retiendrons qu’une rotation Rot(n,ϑ) d’amplitude ϑ autour

d’un axe n se représente par le quaternion2 :

q(n,ϑ) =

µcos

ϑ

2+ n sin

ϑ

2

¶Segment entre deux points Soit :

— le point initial caractérisé par la position p0 et l’orientation R0

— le point final caractérisé par p1 et R1

— le temps normalisé τ correspondant au solde du mouvement à réaliser :

λ =T − t

Toù T est la durée du parcours

Le mouvement interpolé sur le segment sera donné par :

p(t) = p1 − λ(t).(p1 − p0)Rot(t) = R1.Rot(n,−λ(t)ϑ)

où les constantes n et ϑ sont déduites de l’identité (en λ = 1) :

R0 = R1.Rot(n,−ϑ)

ou, de manière équivalente, de :

Rot(n,ϑ) = (R0)−1R1

grâce à la propriété : Rot(n,−ϑ) = (Rot(n,ϑ))−1

1 raison pour laquelle ils sont urilisés pour la programmation des robots ABB.2On remarquera qu’un quaternion est un agrégat constitué de la ”somme” d’un scalaire et d’un vecteur !

93

Page 95: Introduction à la robotique

Les constantes p1 , n et ϑ peuvent être calculées dès que la cible (le point final) est connue.

Comme les valeurs d’interpolation s’obtiennent en ”soustrayant” la portion de distance jusqu’à

la cible, ces valeurs poursuivront l’objectif au cas où ce dernier change en cours d’interpolation.

Tant que les mouvements de la cible restent suffisamment graduels, les valeurs interpolées resteront

acceptables pour le régulateur : la méthode pourrait donc s’utiliser pour la poursuite d’objets en

mouvement (lent) dont on observe la position en ligne grâce à un système sensoriel tel que la vision.

Transition entre segments Soit deux segments consécutifs de durée TB − TA et TC − TB. En

ce qui concerne les variables de position, on applique une accélération constante sur l’intervalle

(TB − τ , TB + τ) :

x =1

µ∆C

TC − TB− ∆B

TB − TA

¶ce qui donne successivement

x =t− (TB − τ)

µ∆C

TC − TB

¶− t− (TB + τ)

µ∆B

TB − TA

¶et x(t) = xB +

(t− (TB − τ))2

µ∆C

TC − TB

¶− (t− (TB + τ))2

µ∆B

TB − TA

¶(4.5)

de telle sorte que :

x (TB − τ) = xB − τ

µ∆B

TB − TA

¶et x (TB + τ) = xB + τ

µ∆C

TC − TB

¶Pour les rotations, on applique une formule de transition similaire à l’équation 4.5 (on remplace

simplement les additions par des compositions de rotations) :

Rot(t) = RB ·Rot

ÃnAB, −(t− (TB + τ))2

µϑAB

TB − TA

¶!·Rot

ÃnBC , −(t− (TB − τ))2

µϑBC

TC − TB

¶!

avec

Rot (nAB, ϑAB) = (RA)−1RB et Rot (nBC , ϑBC) = (RB)

−1RC

4.3.2 Interpolation articulaire

L’interpolation cartésienne coûte cher en calcul si chaque point interpolé doit être transposé

(q = f−1(x)) dans l’espace articulaire. En outre, il est difficile de veiller aux respects des contraintes

de limitations kv et ka. D’où l’idée de ne calculer dans l’espace cartésien qu’un point sur n, de les

transposer dans l’espace articulaire et ensuite d’interpoler plus fin dans cet espace pour subvenir

aux besoins du régulateur.

Méthode de Lin [83] : voir section 4.2.3

94

Page 96: Introduction à la robotique

Méthode de Taylor [79] : ”bounded deviation joint path” L’interpolation articulaire est

réalisée par segments de droite et raccords paraboliques. Supposons x1 et x2 donnés :

q1 = f−1(x1), q2 = f−1(x2)

Pour s’assurer que le tronçon interpolé de q1 à q2 ne s’écarte pas trop de la ligne droite cartésienne

de x1 à x2, Taylor propose l’algorithme suivant :

— calculer le point milieu articulaire :

qm =q1 + q22

— calculer le point milieu cartésien :

pc =p1 + p22

, Rc = R1Rot(n1,−ϑ2)

— déterminer l’erreur :

δp = |pm − pc| , δR =¯angle de (Rc)

−1Rm

¯où pm et Rm sont donnés par f(qm)

— si δp ou δR est trop grand, prendre xm comme point supplémentaire, c’est-à-dire calculer :

qm = f−1(xm), et recommencer.

Fig. 4.12: Illustration de la méthode de Taylor

Cette méthode est donc itérative et à utiliser hors ligne. Bien que le maximum d’erreurs n’ait pas

lieu nécessairement au point milieu, la méthode donne de bons résultats après quelques itérations

comme on peut le voir sur les exemples donnés à la figure 4.12.

95

Page 97: Introduction à la robotique

4.4 Génération du mouvement en temps minimal le long d’unetrajectoire donnée

Dans l’algorithme donné ci-dessous, on suppose une trajectoire fixée de la forme q(t), et on

cherche à la parcourir en un temps minimal tout en respectant les vraies contraintes des actionneurs,

à savoir pour chacun d’eux une vitesse maximale et un couple (tant en accélération qu’en freinage).

La relation entre les couples délivrés par les actionneurs et l’évolution des q(t) constitue le modèle

dynamique du robot. Ce modèle dynamique est de la formeXj=1,n

Mij qj +X

j,k=1,n

Cijkqj qk +Gi = Qi i = 1, · · ·n

où les Mij(q) sont les éléments de la matrice (symétrique) de masse généralisées M(q) qui mul-

tiplie les accélérations des coordonnées généralisées (i.e. les coordonnées articulaires), les termes

Cijk(q) qj qk correspondent aux accélérations centripètes et de Coriolis (quadratiques en les vitesses

généralisés), le terme Gi(q) représente l’effet de la gravité et au second membre, Qi est la force

généralisée correspondant à qi (autrement dit le couple articulaire).

Moyennant ce modèle, le problème de trajectoire peut se résumer comme suit :

trouver le minimum de T =

Zdt

sous les contraintes

q(t) ∈ trajectoire (4.6)

etXj=1,n

Mij qj +X

j,k=1,n

Cijkqj qk +Gi = Qi (4.7)

avec Qi,min ≤ Qi ≤ Qi,max (4.8)

Pour traiter ce problème, nous commençons par exprimer la trajectoire en fonction de l’abscisse

curviligne s :

q = q(s) (4.9)

Le problème revient ainsi à déterminer la fonction s(t) qui minimise le temps de parcours tout en

satisfaisant les contraintes. De 4.9 on tire :

q =∂q

∂ss

q =∂q

∂ss+

∂2q

∂s2s2

que nous substituons dans les relations 4.7 et 4.8 pour obtenir les contraintes sous la forme :

Qi,min ≤ mi(s) s+ bi(s) s2 +Gi(s) ≤ Qi,max (4.10)

Pour une valeur de s donnée de manière bien précise, et pour chaque valeur de i, on a donc deux

inégalités. Dans le plan¡s, s2

¢, les égalités

Qi,min = mi(s) s+ bi(s) s2 +Gi(s)

et Qi,max = mi(s) s+ bi(s) s2 +Gi(s)

96

Page 98: Introduction à la robotique

constituent les équations de deux droites parallèles. La contrainte 4.10 implique donc que les valeurs

de s et s2 se situent entre ces deux droites. Tenant compte de toutes les valeurs de l’indice i, il faut

donc que les valeurs de s et s2 se situent à l’intérieur d’un polygone formés par les paires de droite

et l’axe des ordonnées (car une valeur négative de s2 est impossible3). Pour cette valeur fixée de s,

on a donc le graphique suivant :

Fig. 4.13:

Considérons maintenant la fonction coût. Celle-ci peut s’écrire :

T =

Z T

0dt =

Z L

0

1

sds avec s ≥ 0

ce qui veut dire que minimiser la valeur de T revient en fait à maximiser en tout point de la

trajectoire la valeur possible de s. Note problème de minimisation se réduit donc à trouver, pour

toute valeur de s, la plus grande valeur admissible de s. De manière équivalente, cela revient aussi

à trouver la plus grande valeur admissible de s2

2 . Traduit dans le plan de phase (s, s2

2 ), nous devons

trouver la courbe s2

2 (s) qui soit située le ”plus haut” possible tout en satisfaisant les contraintes :

s ≤ smax ∀ssd ≤ s ≤ sa ∀s,∀s

Ce n’est pas par hasard que nous avons choisi ce plan de phase. En effet :

s =d

dts =

ds

ds

ds

dt=

d

ds(s2

2)

ce qui signifie que la tangente à une courbe s2

2 (s) n’est autre que la valeur de s. On peut donc

résumer la situation sur la figure 4.14 de la manière suivante : en tout point (s, s2

2 ) situé sous

la courbe des vitesses limites, une courbe correspondant à la solution cherchée et satisfaisant les

3de même une valeur négative de s serait absurde, car cela signifierait que l’on recule le long de la trajectoire...

97

Page 99: Introduction à la robotique

Courbe des vitesse limitess

s

2

2

sd

sa

Fig. 4.14: Illustration graphique

contraintes sd ≤ s ≤ sa doit être telle que sa tangente soit dirigée à l’intérieur de l’angle défini par

les valeurs sd et sa.

Moyennant cette interprétation, comment trouver la solution ? Nous savons que nous devons

démarrer le mouvement en s = s = 0, et le terminer en s = L, s = 0. Partant de l’origine, et pour

obtenir une courbe située le plus haut possible, nous traçons notre courbe4 en la faisant”coller”

en tout point avec la valeur de tangence sa. Une telle courbe ne peut évidemment pas revenir en

(s = L, s = 0). En effet il faudra bien, à un endroit donné de la trajectoire, décider de freiner pour

s’arrêter. Pour trouver ce endroit, partant cette fois de l’extrémité de la trajectoire, nous traçons à

rebours une courbe dont la tangente en tout point ”colle” avec sd. Si tout se passe bien, cela nous

donne le graphe 4.15,

Courbe des vitesse limites

L

sa

sd

s

s

2

2

Fig. 4.15: Solution : premier cas

4en intégrant numériquement de proche en proche

98

Page 100: Introduction à la robotique

où l’intersection des deux courbes nous donne l’endroit de la commutation (on passe d’un tracé

qui correspond à chaque endroit à l’accélération maximale à un autre tracé qui correspond à la

décélération maximale). Ce premier cas est le plus simple, car il se peut que les deux courbes

viennent ”buter” sur la courbe des vitesses limites sans s’être rencontrées. Si cela arrive, nous

devons trouver sur la courbe des vitesse limites des points ”singuliers”, càd des points qui puissent

être atteints en venant de la gauche, et qui en même temps puissent être quitter en allant vers la

droite. On les trouve en cherchant sur la courbe limite les points où la tangente à la courbe limite

se situe à l’intérieur de l’angle défini par les valeurs sd et sa. Ces points singuliers peuvent alors

servir de points de commutation intermédiaires, et on obtient une trajectoire telle qu’illustrée sur

la figure 4.16.

Courbe des vitesse limites

L

sd

sd

sa

s

s

2

2

Fig. 4.16: Solution : deuxième cas

Expérimenté sur le robot APRA (robot 5 axes) de l’UCL, cet algorithme a donné les résultats

illustrés sur les figures 4.17 et 4.18. On observe clairement sur la figure 4.18 qu’à chaque instant,

au moins un des moteurs est a saturation durant le suivi de la trajectoire.

99

Page 101: Introduction à la robotique

Fig. 4.17:

Fig. 4.18: Diagramme de couples moteurs (4 premiers axes)

100

Page 102: Introduction à la robotique

Chapitre 5

Senseurs extéroceptifs (sauf vision)

On distingue en robotique deux catégories de capteurs :

— Proprioceptifs : montés sur le robot, ils donnent les informations sur les positions, les vitesses

et (parfois) les accélérations des différentes articulations. Ces capteurs sont toujours intégrés

dans les boucles de régulation.

— Extéroceptifs : ils sont destinés à fournir au robot des informations sur son environnement.

Un robot qui peut voir et sentir est d’autant plus facile à programmer et à utiliser : les capteurs

extéroceptifs améliorent par conséquent l’universalité des robots. Ils sont par exemple nécessaires

pour :

— la sécurité :

— détection de présence pour éviter les collisions

— contrôle d’effort du serrage de la pince,

— le pilotage :

— détection de présence de pièces pour la prise, reconnaissance de pièces : le programme à

exécuter dépend du type de pièce présente

— suivi de joint de soudure, etc...

Nous citerons, parmi les critères de choix d’un capteur :

— le prix (les équipements péri-robotiques peuvent doubler voire tripler le prix d’une installation)

— l’encombrement, en particulier si le capteur doit être porté par l’organe terminal du robot

— la résistance à l’environnement (ex. soudure)

— la sensibilité, la linéarité, le temps de réponse ou la caractéristique de réponse en fréquence.

Les capteurs utilisés en robotique peuvent être classés en deux grandes familles :

— les senseurs sans contact :

— mesure de distance (télémétrie)

— détection de proximité

101

Page 103: Introduction à la robotique

— vision

— les senseurs avec contact :

— détection de présence

— reconnaissance tactile

— mesures de forces et de couples.

En général, la télémétrie et les systèmes de vision fournissent les premières informations néces-

saires au système de pilotage, tandis que les mesures de proximité et de contact sont utilisées en

phase finale pour la saisie d’un objet. Les senseurs d’efforts, de force et de couple sont généralement

utilisés comme ”feed back” pour contrôler la manipulation d’un objet ou d’un outil lorsque celui-ci

a été saisi par le robot (par exemple pour éviter qu’un objet ne glisse hors de la pince ou ne soit

écrasé).

Les systèmes de vision feront l’objet d’un chapitre séparé. Nous considérerons ici les dispositifs

de mesures de distance, de proximité, de contact et d’efforts.

5.1 Méthodes télémétriques

Les télémètres utilisent un émetteur et un récepteur. Selon le rayonnement émis, on distinguera

les radars (hyperfréquence), les sonars (ultrasons) ou les télémètres optiques. Comme dans la nature,

deux approches sont possibles pour la mesure de distance : soit la mesure du temps de vol (exemple

chauve-souris), soit une méthode par triangulation (exemple : être humain).

5.1.1 Télémétrie par triangulation

Le principe consiste à mesure l’angle entre la direction d’un faisceau émis et celle sous laquelle

est vu le point d’impact sur la cible. On utilisera une source active permettant de projeter un point,

une ligne ou même une grille.

Prenons l’exemple simple, à deux dimensions où la source éclaire ponctuellement la cible et où

l’image est formée sur une barrette C.C.D.(voir figure5.1). La distance ”a” entre le centre optique

du récepteur et la source est connue. L’angle ψ d’émission est maîtrisé par diverses solutions de

type miroir tournant, cadre galvanométrique et ϕ est mesurée à partir des informations images sur

la barrette. On déduit très simplement la distance ”z” par la relation :

z =a

cotϕ+ cotψ

On ne peut mesurer ”z” pour un point, que s’il est atteignable par la source et visible par la caméra.

Ainsi la zone AC visible par la caméra est non accessible au rayon incident alors que la zone BD

peut être éclairée mais est non visible.

A cause de la divergence du rayon lumineux, des caractéristiques de la caméra, de l’angle

d’incidence ψ, la précision sur ”z” dépend du point d’impact. On utilisera un éclairement très

directif par exemple un rayon laser, une barrette de grande taille, par exemple 2048 pixels et un

écartement ”a” assez grand.

102

Page 104: Introduction à la robotique

Fig. 5.1: Capteur télémétrique optique

La restitution d’une cartographie pourra se faire en faisant tourner la cible autour d’un axe

perpendiculaire au plan de la figure, ou dans le cas d’un robot mobile, en montant l’ensemble

source et caméra sur une platine qui tourne sur 360 pour obtenir une vision panoramique.

5.1.2 Télémétrie par éclairage structuré

Cette approche consiste à projeter un dessin lumineux sur les objets à mesurer et à utiliser la

distorsion de ce dessin pour en déduire les distances. La forme de dessin la plus utilisée aujourd’hui

est un plan lumineux généré par une lentille cylindrique ou une fente étroite. Comme illustré sur

la figure 5.2, l’intersection du plan lumineux avec les objets forme une ligne qu’il est possible

d’analyser. Chaque point d’inflexion indique un changement de face et chaque discontinuité un

espacement entre deux surfaces.

Un arrangement simple de l’ensemble source + caméra est montré sur la figure 5.3 où l’ensemble

de la scène est vu du haut : la disposition choisie facilitera la calibration du système.

Le plan de lumière étant vertical, chaque élément vertical de surface d’un objet produit une

raie verticale, raie qui apparaît à son tour comme verticale sur le plan image de la caméra. Cette

disposition permet donc de mesurer les distances horizontales dk des différentes raies à la source,

au départ des valeurs dk des abscisses mesurées sur le plan image. Les relations nécessaires sont les

suivantes :

d = λ tgϑ

où λ est la longueur focale et ϑ l’angle d’ouverture de la caméra,

ϑ = αc − α0

103

Page 105: Introduction à la robotique

Fig. 5.2: Eclairage structuré

Fig. 5.3: Eclairage structuré : vue de dessus

104

Page 106: Introduction à la robotique

et, pour une raie k particulière :

ϑ0k = arctand− dkλ

αk = αc − ϑ0kdk = B tanαk

Les longueurs B et λ sont connues, dk est mesuré. Les valeurs des angles αc et α0 (et de la longueur

d) nécessaires au calcul de dk s’obtiennent par calibration en disposant un objet en d0 = B tanα0

et en dc = B tanαc et en mesurant les distances d0 et dc.

5.1.3 Télémétrie directe par mesures du temps de vol

En robotique, on utilise principalement les ultrasons et les télémètres laser.

Télémètre à ultra-sons

Ce type de télémètre est particulièrement simple et bon marché. Il est utilisé en particulier

sur les robots mobiles pour assurer des suivis de parois ou constituer une ceinture de sécurité. La

méthode consiste à exciter une céramique piézo-électrique ou un électret de manière impulsionnelle

à une fréquence voisine de 40 KHz. Cette valeur représente un compromis entre des fréquences

plus élevées où l’atténuation de l’onde serait trop importante dans l’air (portée trop faible) et des

fréquences trop faibles pour lesquelles la longueur d’onde trop grande réduirait la résolution (à 40

KHz : λair = 8, 3mm).

A titre d’exemple, le système Polaroïd émet pendant une milliseconde aux 4 fréquences 50,

53, 57 et 60 KHz : ce mélange de fréquences remédie à l’annulation éventuelle du signal (certains

matériaux absorbent les ultrasons à certaines fréquences). Le récepteur converti l’écho ultrasonore

en un signal électrique à l’aide du même émetteur ou mieux par un récepteur contigu pour éviter

les interférences entre émission et réception. L’un des problèmes liés au télémètre à ultrasons est

sa directivité. Si a est le rayon de l’émetteur et λ la longueur d’onde d’émission, le demi angle du

lobe d’onde est donné par sinϑ = 0, 61(λ/a) (voir figure 5.4).

Fig. 5.4: Lobe d’onde

105

Page 107: Introduction à la robotique

Une pastille de 20mm de diamètre excitée à 40 KHz émet donc dans un cône de 30 environ.

La directivité peut être améliorée en plaçant la céramique piézo-électrique dans un cône ou un tube

absorbant formant guide d’onde.

Fig. 5.5: Cône d’émission Polaroïd

Une autre limitation tient à la variation de la vitesse du son en fonction de la température :

V = Vo

rT

273Vo = 331, 45± 0, 05m/s

V25 = 346, 29m/s

Une variation de 5C introduit une variation relative de vitesse de 1% environ. Malgré ces limita-

tions, les télémètres à ultrasons sont utilisés en raison de leur grande diffusion (Kit polaroïd) et de

leur faible coût. Par exemple, dans une opération de palettisation de pièces mécaniques par robot,

chez Renault, on précise un champ de mesure entre 25 cm et 4m, avec une précision de 0, 2% et

une directivité d’émission de 10 obtenue avec une céramique de 5 cm de diamètre.

Télémètre laser

Le laser est beaucoup utilisé en télémétrie car il permet de créer des faisceaux monochromatiques

de grande directivité. Le laser peut fonctionner en continu ou en mode pulsé.

— En mode pulsé (figure 5.6), la distance découle directement de la mesure du temps de pro-

pagation. Observons que la vitesse de la lumière étant d’environ 30 cm/ns, une distance de

3mm est parcourue en 10 ps. Ce temps de 10 ps conduit à une précision de mesure de distance

de 1, 5mm en raison de l’aller et retour, mais impose une électronique travaillant à 100GHz.

De tels capteurs ont été expérimentés récemment. Une diode laser As Ga est activée par un

générateur d’impulsions électriques. Les rayons infrarouges émis sont focalisés par une op-

tique émettrice. Une partie des rayons réfléchis par l’objet visé traverse l’optique réceptrice

106

Page 108: Introduction à la robotique

Fig. 5.6: Télémètre laser à mode pulsé

qui focalise ces rayons sur une photodiode. Celle-ci fournit le signal électrique de réception.

L’intervalle de temps qui s’écoule entre l’émission et la réception est intégré électriquement.

La tension électrique obtenue est directement proportionnelle à la distance à mesurer.

Il est possible de localiser des objets situés à quelques dizaines de mètres avec une précision

du cm ou moins. De surcroît compte tenu de la très grande cadence des mesures (toutes les

20ms) on accède à la vitesse de déplacement des objets visés. Observons que le télémètre laser

peut être couplé à une caméra classique. Ainsi dans le robot mobile Hilare Toulouse, pour

analyser une scène, une image numérisée multi-niveaux est prise et quelques informations de

profondeur peuvent être obtenues par des ”tirs” lasers pour aider le robot à modéliser son

environnement.

— En mode continu, on mesure le délai (i.e. la différence de phase) entre le rayon émis et le

rayon réfléchi. Le concept est illustré sur la figure 5.7. Le rayon laser, de longueur d’onde λ,

Fig. 5.7: Télémètre laser à mode pulsé

est divisé en deux faisceaux : le premier, qui sert de référence, parcourt la distance L jusqu’au

système de mesure de phase tandis que le second, réfléchi par l’objet situé à distance D,

107

Page 109: Introduction à la robotique

parcourt la distance totale :

D0 = L+ 2D

Supposons que D = 0 : dans ce cas, les deux faisceaux parcourent la même distance et arrivent

en phase. Si D augmente, le faisceau réfléchi arrive avec un retard de phase ϑ. On a dans ces

cas :

D0 = L+ϑ

360λ

On remarque sur la figure 5.8 que si ϑ = 360, les deux faisceaux se remettent en phase : on ne

peut donc pas faire la différence entre D0 = L et D” = L+nλ (n = 1, 2, ...) par une mesure de

phase. La mesure de la distance D n’est possible (de façon univoque) que si D < λ/2. Comme

Fig. 5.8: Domaine de mesure du laser pulsé

la longueur d’onde de la lumière émise par le laser est petite (˜ 632 10−9m), la méthode est

inapplicable telle quelle en robotique et il est nécessaire de moduler l’amplitude du signal émis

par le laser comme indiqué figure 5.9 (pour rappel c = fλ : une modulation sinusoïdale à

Fig. 5.9: Signal modulé

10MHz donne une longueur d’onde de 30m). La technique de base reste toutefois la même :

λ sera la longueur d’onde caractéristique de la modulation. Un gros avantage du mode continu

par rapport au mode pulsé réside dans les informations qu’il peut fournir sur l’intensité des

rayons réfléchis. La figure 5.10 montre un exemple obtenu au moyen d’un faisceau modulé qui

balaye une scène grâce à un miroir pivotant. La première image correspond aux informations

de distance traduites en niveaux de gris (clair = proche) et la seconde est l’image de l’intensité

réfléchie. Ces deux images sont complémentaires. Par exemple, il est difficile de compter le

nombre d’objets sur la table dans la première. Inversement, il n’est pas possible de discerner

les bords proches de la table sur la seconde.

108

Page 110: Introduction à la robotique

Fig. 5.10: Utilisation stéréoscopique : à gauche, image de la distance ; à droite, image d’intensité.

5.2 Détection de proximité ou de présence

Alors que les capteurs télémétriques fournissent une estimation chiffrée de la distance d’un

objet, les senseurs de proximité produisent une réponse binaire relative à la présence de l’objet

dans un intervalle de distance donné. Ils sont utilisés principalement en robotique pour les phases

rapprochées correspondant aux saisies d’objets et aux évitements ou contournements d’obstacles.

5.2.1 Capteur inductif

Basés sur le changement d’inductance magnétiques en présence d’objets métalliques, ces cap-

teurs constituent la variété la plus utilisée en robotique. Le principe de fonctionnement est illustré

figure 5.11. Le capteur comporte essentiellement un aimant permanent et une bobine électroma-

Fig. 5.11: Capteur inductif

109

Page 111: Introduction à la robotique

gnétique. Le fait de placer le capteur à proximité d’un matériau ferromagnétique change les lignes

de flux du champ magnétique comme indiqué figures 5.11b. et 5.11c. En l’absence de mouvement,

le flux est stationnaire et par conséquent, aucun courant n’est induit dans la bobine.

Par contre, si un objet ferromagnétique pénètre ou quitte le champ de l’aimant, le flux perçu par

la bobine change et induit une impulsion de courant (fig. 5.12a). La polarité de la tension mesurée

Fig. 5.12: a : réponse du capteur en fonction de la vitesse b : réponse en fonction de la distance

aux bornes de la bobine varie suivant que l’objet s’approche ou s’éloigne. En outre, son amplitude

(et sa forme au cours du temps) est proportionnelle à la vitesse de variation du flux, c’est-à-dire

à la vitesse de l’objet. Pour obtenir le signal binaire correspondant à la présence de l’objet, il est

nécessaire d’intégrer cette tension dans le temps : le signal reste bas tant que la valeur de l’intégrale

reste inférieure à un seuil donné, il devient haut et indique la présence dès que le seuil est dépassé.

On observera sur la 5.12b, la relation entre la tension obtenue et la distance de l’objet : la sensibilité

du capteur décroît très rapidement, ce qui limite son utilisation pour des proximités de l’ordre de

quelques fractions de millimètres.

5.2.2 Capteur à effet HALL

Ces capteurs sont basés sur le principe de la force de Lorentz (figure 5.13) qui agit sur des

particules chargées q en mouvement à vitesse v dans un champ magnétique B :

F = q(v×B)Le senseur est constitué d’un matériau généralement semi-conducteur et en forme de plaquette. Il

est parcouru par un flux d’électrons (c’est-à-dire un courant) et soumis à une induction B. Sous

l’effet de la force de Lorentz, les électrons sont déviés vers le bas de la plaquette et produisent ainsi

une tension qui est positive au sommet de la plaquette.

Utilisé seul, le dispositif ne permettrait que la détection d’objets magnétisés influençant le

champ B. Mais en couplant ce senseur à effet HALL avec un aimant permanent (figure 5.14), le

dispositif est apte à détecter la proximité d’un objet ferromagnétique quelconque suivant le même

principe (déviation des lignes de flux magnétique) que celui utilisé pour les capteurs inductifs.

La présence de l’objet ferromagnétique diminue le flux magnétique perçu par le senseur et par

conséquent la tension mesurée aux bornes de la plaquette diminue. La décision binaire est alors

prise en comparant cette tension à un seuil donné, sans qu’aucune intégration ne soit nécessaire.

110

Page 112: Introduction à la robotique

Fig. 5.13: Principe de Lorentz

Fig. 5.14: Capteur à effet HALL

111

Page 113: Introduction à la robotique

On remarquera que l’utilisation d’une plaquette en matériau semi-conducteur (silicium) présente

des avantages en terme de taille, de solidité et d’insensibilité aux interférences électriques. En outre,

les circuits électroniques d’amplification et de détection peuvent être intégrés dans la plaquette, ce

qui réduit encore l’encombrement et le coût du capteur.

5.2.3 Senseur capacitif

A l’inverse des capteurs inductifs ou à effet HALL qui ne peuvent détecter que les objets en

matériau ferromagnétique, les senseurs capacitifs détectent la proximité de tout matériau solide ou

liquide (avec toutefois des sensibilités différentes). L’élément sensible du capteur est une capacité

(figure 5.15) constituée par une électrode de référence et une électrode sensible. Ces électrodes

ont respectivement la forme, par exemple, d’un anneau et d’un disque métalliques séparés par un

matériau di-électrique. Le reste du capteur comporte essentiellement le circuit électronique qui est

noyé dans de la résine pour des raisons d’isolation mécanique et électrique.

Fig. 5.15: Senseur capacitif

Fig. 5.16: Sensibilité (∆C/C, en %) du capteur capacitif

La figure 5.16 montre comment la capacité, et donc la sensibilité relative du capteur varie en

fonction de la distance d’un objet. On y observe que cette sensibilité décroît rapidement à partir

112

Page 114: Introduction à la robotique

de quelques millimètres et qu’elle dépend très fort du matériau dont est constitué l’objet.

Au niveau électronique, différentes approches sont possibles pour exploiter un changement de

valeur de la capacité :

— le condensateur peut être intégré dans un circuit oscillateur dont les oscillations ne démarrent

que si la capacité excède une valeur donnée. Ce démarrage des oscillations est ensuite trans-

formé en une tension

— le condensateur peut aussi être intégré dans un circuit excité par une tension sinusoïdale de

référence. Le changement de valeur de la capacité modifie la phase du signal de sortie du

circuit par rapport à celle du signal d’entrée. Ce déphasage est proportionnel à la variation

de la capacité et sert ainsi à détecter la proximité.

5.2.4 Capteur à ultrasons

La réponse de tous les capteurs de proximité étudiés jusqu’à présent dépend fortement du ma-

tériau à détecter. Cette dépendance est réduite pour les capteurs à ultrasons (utilisés aussi comme

télémètres). La figure 5.17 donne un schéma de montage : l’élément de base est le transducteur

électro-acoustique (en général une céramique piézo-électrique). La résine la protège contre l’humi-

dité, la poussière, etc ... et agit en même temps comme adaptateur d’impédance acoustique. En

effet, le même élément sert à la fois d’émetteur et de récepteur : l’énergie acoustique émise doit

donc être rapidement amortie pour que l’émission ne soit pas confondue avec le retour d’écho dû

à la proximité d’un objet. Ce rôle est rempli essentiellement par les absorbeurs acoustiques et on

veille de plus à isoler le transducteur de son boîtier. Ce dernier est en outre conçu pour produire

un faisceau acoustique le plus directionnel possible.

Fig. 5.17: Capteur de proximité à ultra-sons

Le principe de fonctionnement est illustré figure 5.18 :A est le signal horloge qui commande l’émission

B représente la forme du signal émis et de son écho

C est le signal binaire correspondant aux vibrations du transducteur, à l’émission et à la récep-

tion

113

Page 115: Introduction à la robotique

Fig. 5.18: Principe de fonctionnement

D, généré par une horloge, est la fenêtre temporelle utilisée pour isoler l’écho : t1 correspond

au plus petit délai détectable pour un retour d’écho, t1 + t2 correspond au plus grand. Ces temps

déterminent l’intervalle de distance à l’intérieur duquel la présence d’un objet peut être détectée.

E est binaire : il devient 1 si un écho est détecté (C = 1 et D = 1) ; il retombe à 0 après l’émission

suivante (A = 1).

F est mis à 1 dès que E vaut 1 mais il n’est remis à 0 sur si E = 0 et A = 1 (ce qui signifie

qu’aucun écho n’a été perçu après l’émission précédente). Ce signal reste donc à 1 tant qu’un objet

est à proximité et constitue la sortie binaire finale du capteur.

5.2.5 Capteur optique de proximité ou présence

Les détecteurs photo-électriques de présence ou proximité ont des applications multiples : contrô-

ler un défilement de bande, vérifier la présence du bouchon d’un flacon ou la hauteur d’un stick

cosmétique, commander des portes d’ascenseur, s’assurer qu’un carton d’emballage est correctement

rempli, compter des passages, confirmer le bon positionnement de pièces acheminées au cours de

montages automatisés,L’industrie est, bien sûr, le plus grand domaine d’applications mais, imagina-

tion et créativité aidant, le secteur domestique et celui des services offrent également de nombreuses

possibilités d’utilisations.

Ces détecteurs sont fondamentalement constitués de deux éléments : un émetteur de faisceau

lumineux et un récepteur. La détection est réalisée lorsque l’objet à détecter pénètre dans le faisceau

et modifie par conséquent la quantité de lumière reçue par le récepteur. L’émission est produite

par une diode électroluminescente et la réception par un récepteur à photo-transistor. L’un et

l’autre sont des constituants électroniques à grand rendement lumineux, insensibles aux chocs et

vibrations, qui répondent très rapidement et ont une durée de vie quasi illimitée. L’émission se fait,

selon les modèles, en infrarouge ou en lumière visible rouge ou verte, cette émission étant pulsée

pour rendre le système indifférent à la luminosité ambiante, qu’elle qu’elle soit.

114

Page 116: Introduction à la robotique

La détection peut se faire de deux manières différentes :

— en bloquant : la cible interrompt le faisceau de l’émetteur et prive le récepteur de la lumière

qu’il attend, provoquant ainsi sa réaction, donc la détection,

— en renvoyant : la cible renvoie la lumière du faisceau de l’émetteur vers le récepteur qui signale

dès lors la détection, l’absence de cible laissant donc le récepteur sans réaction.

Bloquer peut se faire par :

— barrage,

— dispositif reflex,

— ou dispositif reflex polarisé ;

tandis que renvoyer peut l’être selon les systèmes de :

— proximité,

— ou de proximité avec effacement de l’arrière-plan.

le système barrage

Dans ce cas l’émetteur et le récepteur sont séparés et opposés (voir figure 5.19). Le faisceau

Fig. 5.19: Système barrage

infrarouge permet de détecter tous les objets, à l’exception des objets transparents, avec une portée

pouvant aller à 30 mètres et ce avec une excellente précision due à la forme cylindrique du fais-

ceau. Ce type de détection est particulièrement bien adapté aux environnements pollués : fumées,

poussières, intempéries, etc.

le système reflex

Un réflecteur (passif) placé en face de l’émetteur renvoie le faisceau infrarouge au récepteur logé

dans le même boîtier que l’émetteur. Le récepteur étant passif, seul le boîtier émetteur/récepteur

doit être raccordé électriquement . Toute cible interrompant le faisceau provoque la détection,

laquelle n’est donc pas possible pour des objets réfléchissants ; car ceux-ci pourraient renvoyer

une part plus ou moins importante de lumière et empêcher ainsi de détecter leur présence (voir

figure 5.20). Le réflecteur doit toujours évidemment être plus petit que l’objet à détecter. Son

115

Page 117: Introduction à la robotique

Fig. 5.20: Système reflex

emplacement, sa taille et sa maintenance conditionnent le fonctionnement du détecteur qui reçoit,

ou non, son retour de lumière. Sa mise en oeuvre est toutefois très simple car même en cas de (léger)

mésalignement, les trièdres qui recouvrent sa surface renvoient toujours le faisceau parallèlement à

la direction du rayon incident. La taille des trièdres intervient sur les décisions à prendre lors de

l’installation, en fonction de la distance émetteur/réflecteur et de l’axe optique.

le système reflex polarisé

Les objets brillants qui réfléchissent une partie de la lumière ne peuvent pas être détectés par

le système reflex puisqu’ils ne bloquent pas le faisceau. C’est pourquoi la lumière polarisée est

utilisée (figure 5.21) : le faisceau émis par l’émetteur traverse un filtre qui ne laisse passer que les

Fig. 5.21: Système reflex polarisé

rayons polarisés dans le sens vertical. En raison de la forme particulière des trièdres du réflecteur,

116

Page 118: Introduction à la robotique

ce faisceau est renvoyé après avoir subi une rotation de 90du sens de polarisation. Ceci lui permet

de traverser le filtre horizontal dont est équipé le récepteur de la cellule. Le récepteur reçoit donc

un signal en l’absence d’objet. Par contre, si une cible brillante pénètre dans le faisceau émis, elle

renverra la lumière dans le même sens vertical. Le faisceau réfléchi est alors bloqué au niveau du

récepteur, ce qui provoque la détection de présence.

le système proximité

L’émission lumineuse infrarouge est renvoyée, vers le récepteur, par tout objet suffisamment

réfléchissant pénétrant dans la zone de détection (figure 5.22). La sensibilité de détection peut être

Fig. 5.22: Détecteur de proximité

réglée en fonction de la distance et de la capacité réfléchissante de l’objet à détecter. Toutefois, la

couleur et la taille de la cible interviennent pour définir la portée de détection. Un objet de couleur

claire peut être détecté à une distance plus grande qu’un objet sombre, distance qui diminue selon

la taille de l’objet. Un réglage de sensibilité permet de compenser distance et pouvoir réfléchissant

de l’objet à détecter, ce qui peut provoquer la détection de l’arrière plan, rendant ainsi la détection

impossible.

le système proximité avec effacement de l’arrière plan

Dans le cas où un objet sombre défile devant un arrière plan clair, le réglage d’une cellule à

système de proximité simple peut devenir impossible. Les cellules dites ”à effacement d’arrière plan”

(figure 5.23) permettent par réglage d’un simple potentiomètre, de délimiter avec précision la zone

de détection. Travaillant par triangulation, elles sont insensibles à la couleur de l’objet à détecter.

5.3 Détection de contact

Les capteurs de contact sont utilisés en robotique pour obtenir des informations relatives au

contact de la pince (ou organe terminal) du robot et des objets manipulés. Ces informations peuvent

servir par exemple pour localiser ou reconnaître des objets, de même que pour contrôler la force

exercée sur ces objets.

On distinguera deux catégories : d’une part les capteurs binaires, d’autre part, les capteurs

analogiques qui produisent un signal proportionnel à une force exercée localement.

117

Page 119: Introduction à la robotique

Fig. 5.23: Détection de proximité aves effacement de l’arrière plan

5.3.1 Capteurs binaires

Ils sont le plus souvent réalisés au moyen de micro-switches.

Placés à l’intérieur des mors de la pince, ils permettent de vérifier la présence d’un objet. En

outre, par déplacement et tâtonnement, ils permettent aussi de centrer la pince sur un objet à saisir

ou à manipuler (figure 5.24).

Fig. 5.24: Capteur à micro-switches

Placés à l’extérieur de la pince (application nettement moins fréquente), ils permettent de guider

le robot pour éviter des collisions ou contacts indésirables aux endroits fort encombrés (à la manière

d’un aveugle qui progresse en tâtonnant).

La figure 5.25 montre un capteur entièrement pneumatique qui est utilisé comme dispositif de

sécurité pour des manipulateurs à actionnement (linéaire) pneumatique. Lorsqu’une obstruction

est révélée par le contact, le ressort plie et l’air comprimé qui alimente normalement l’actionneur

118

Page 120: Introduction à la robotique

Fig. 5.25: capteur pneumatique

s’échappe à l’air libre, ce qui provoque l’arrêt.

5.3.2 Capteurs analogiques

Les capteurs de contact analogiques comportent un élément élastique (on dit aussi ”compliant”)

dont la déformation est proportionnelle à la force de contact. Un dispositif très simple est montré

figure 5.26 L’élément support de la crémaillère est repoussé par un ressort en cas de contact, la

Fig. 5.26: capteur analogique

compression de celui-ci est transformée en un mouvement rotatif dont l’angle est mesuré par un

potentiomètre ou un codeur optique. Moyennant la connaissance de la raideur du ressort, on a donc

une mesure proportionnelle à la force normale de contact.

Un autre dispositif est montré figure 5.27 : la mesure du déplacement y est faite par voie optique.

Fig. 5.27: capteur analogique optique

Lorsque la sonde descend, l’écran qui lui est solidaire masque les rayons lumineux. La tension de

119

Page 121: Introduction à la robotique

sortie de l’élément photosensible, qui varie en fonction de l’intensité perçue, constitue la sortie du

capteur.

Un troisième exemple de dispositif est donné par la figure 5.28 : un matériau piézo-résistif est

Fig. 5.28:

pris en sandwich entre deux électrodes. Lorsqu’une force est appliquée, sa résistivité change et la

mesure peut être prise sur le courant qu’il laisse passer.

Beaucoup d’efforts ont été consentis ces dernières années pour le développement de senseurs

tactiles, capables de fournir des informations sur une surface et non un seul point de contact (figure

5.29).

Fig. 5.29: Peau artificielle

Bien qu’on puisse en principe utiliser un ensemble de capteurs analogiques ponctuels, une des

approches les plus prometteuses consiste à utiliser une matrice d’électrodes en contact avec un

matériau compliant (à base de graphite par exemple) dont la résistance varie en fonction de son

écrasement. C’est ce qu’on appelle souvent les peaux artificielles.

Diverses techniques sont illustrées figure 5.30

Le procédé 5.30a utilise un concept de fenêtre : le matériau conducteur est placé en sandwich

entre une électrode de terre commune et une matrice d’électrodes sensibles. Chacune de ces dernières

détermine une zone sensible (fenêtre) : le courant circule différemment de l’électrode commune vers

120

Page 122: Introduction à la robotique

Fig. 5.30: Principes des peaux artificielles

chaque électrode sensible, en fonction de l’écrasement local du matériau.

Dans la méthode 5.30b, des électrodes fines et allongées sont placées par paires sur une même

face. Chaque paire est pourvue de son propre circuit électronique intégré (LSI). Le matériau conduc-

teur est placé par dessus et isolé du substrat sauf au droit des électrodes. La variation locale de sa

résistance suite à l’écrasement est mesurée et détectée par les différents circuits et leurs électrodes.

Dans l’arrangement 5.30c, le matériau conducteur est placé entre deux alignements perpendiculaires

d’électrodes minces et flexibles. Chaque noeud du maillage, qui correspond à un ”croisement” d’élec-

trodes est un point sensible. Les variations de résistance locale du matériau sont relevées en mettent

séquentiellement (une à la fois) les électrodes x sous tension et en mesurant le courant transmis

aux électrodes y. Ceci paraît simple, mais il faut néanmoins prendre garde au fait que le courant

peu suivre un chemin détourné (voir schéma 5.31) :

Fig. 5.31: Chemin alternatif

121

Page 123: Introduction à la robotique

si x est sous tension, on observera un courant circulant en y dès que les noeuds (x, y + 1),

(x + 1, y + 1) et (x + 1; y) sont écrasés : ce qui donnera lieu à une erreur d’interprétation de la

mesure.

Différents remèdes sont possibles, le plus simple consiste à relier tous les chemins alternatifs à

la masse (c’est-à-dire l’électrode y + 1 dans le cas du schéma).

Un dernier exemple est donné par le schéma 5.30d qui est basé sur l’utilisation d’un matériau

anisotrope. Celui-ci n’est électriquement conductible que dans une direction. Le capteur est réalisé

au moyen d’électrodes plates, allongées et disposées perpendiculairement à cette direction sur un

support. Le matériau conductible est disposé par dessus mais il est séparé des électrodes par un

treillis isolant de sorte qu’il n’ait aucun contact physique avec les électrodes en l’absence de forces.

L’application d’une force suffisante donne contact ; si la force augmente, la zone de contact grandit

de sorte que la résistivité diminue. Les mesures sont prises en séquence, comme dans le cas du

système 5.30c.

Tous les capteurs analogiques envisagée ci-dessus mesurent la force normale au contact. La

détection d’un effort ou mouvement tangentiel, dû par exemple au glissement d’un objet dans la

pince du robot, est également un aspect important. La figure 5.32 propose un système capable de

Fig. 5.32: Détectio de la direction et de l’amplitude du glissement

mesurer la direction et la vitesse d’un glissement. Une balle, qui présente des fossettes à sa surface

(à l’image d’une balle de golf) est sertie dans son logement de manière à pouvoir tourner librement.

Une fine tige montée sur un disque conducteur effleure la surface de la balle. Lorsqu’un objet glisse

et fait tourner la balle, celle-ci fait vibrer la tige et le disque à une fréquence qui est proportionnelle

à la vitesse de glissement. En outre, la direction de la rotation de la balle détermine lequel des

contacts le disque conducteur touche en vibrant. On obtient ainsi un signal dont on peut déduire

aussi bien la direction que la vitesse du glissement de l’objet.

122

Page 124: Introduction à la robotique

5.4 Mesures de forces et de couples

Les senseurs de force et couple servent en général aux mesures d’efforts à l’interface d’assem-

blages mécaniques. En robotique, on s’intéresse surtout aux efforts produits par la manipulateur

sur son environnement : par exemple pour le contrôle d’effort en cas d’usinage ou d’assemblage

de précision par insertion. Le capteur doit donc être complété par une chaîne d’asservissement qui

rétro-agit sur les mouvements du robot.

Ces capteurs doivent être localisés le plus près possible de l’endroit où on désire mesurer les

efforts : le plus souvent, on les intercale au niveau de l’interface qui sépare le bras de robot de son

organe terminal. Il existe également des dispositifs propres à l’assemblage (montage de gyroscopes)

où la pièce réceptrice est montée sur une plate-forme mobile et commandée par retour d’effort.

Dans ce cas, les capteurs sont insérés à la plate-forme.

Un exemple de capteur destiné à être monté sur le poignet et dont le design est compact (environ

10 cm de diamètre sur 3 cm d’épaisseur pour une charge dynamique de 100 kg) est illustré figure

5.33. Huit paires de jauges de contrainte sont montées sur quatre bases compliantes (une jauge

Fig. 5.33: Coeur d’un capteur force 6-axes

sur chaque face). Les jauges situées dos à dos sur une même base sont électriquement connectées

en mode différentiel : la différence de tension, qui est le signal de sortie, est ainsi proportionnelle

à la composante Wi de l’effort qui est normale au plan des deux jauges. Ce montage permet de

compenser automatiquement les effets de dilatation thermique. Comme les huit composantes Wi du

signal de sortie sont alignées sur les axes x, y et z, il sera possible de déterminer les 6 composantes

de forces et couples transmis par le poignet par simple opération d’additions et soustractions des

tensions de sortie ou par l’intermédiaire d’une matrice de calibration (voir plus loin).

123

Page 125: Introduction à la robotique

Il est évidemment primordial que le capteur ne détériore pas les performances de précision du

robot et il doit satisfaire aux spécifications suivantes :

1. rigidité : pour diminuer les erreurs de positionnement de l’organe terminal. En outre, la rigidité

implique une fréquence naturelle élevée : les vibrations seront par conséquent rapidement

amorties, ce qui permet une mesure précise même sur un court intervalle de temps.

2. compacité : outre l’aspect encombrement relatif aux dangers de collisions, la compacité permet

de monter le capteur à proximité de l’outil : on réduit ainsi le rapport entre les amplitudes

des couples qui sont mesurés et celles des forces (un long bras de levier augmente inutilement

le moment dû à une force appliquée).

3. faible hystérésis et amortissement interne : l’amortissement interne du matériau compliant

réduit la sensibilité du capteur (les forces doivent vaincre le frottement interne avant de

produire une déflection mesurable) et engendre un effet d’hystérésis en empêchant les forces

de rappel élastique de ramener le dispositif dans sa configuration initiale.

4. linéarité : pour simplifier la procédure de calibration exposée ci-après.

CALIBRATION En admettant que le couplage entre les jauges est négligeable, que le capteur

opère dans le domaine élastique et que les jauges sont linéaires, la relation qui lie le signal de sortie

aux composantes de force et couple à mesurer est donnée par :

F = R.W

où F = (Fx, Fy, Fz,Mx,My,Mz)T et W = (W1, ........,W8)

T , les 8 tensions différentielles de sortie.

La matrice (6 × 8) R contient les éléments nécessaires à la conversion des volts en Newton et

Newton-mètre. Dans le cas de l’arrangement de la figure 6.22, cette matrice est de la forme :

R =

0 0 r13 0 0 0 r17 0

r21 0 0 0 r25 0 0 0

0 r32 0 r34 0 r36 0 r38

0 0 0 r44 0 0 0 r48

0 r52 0 0 0 r56 0 0

r61 0 r63 0 r65 0 r67 0

Bien souvent, cette forme simplifiée n’est pas suffisante en raison du couplage entre les différentes

jauges et elle peut conduire à des erreurs de l’ordre de 5%. Il est donc nécessaire de considérer

que la matrice est pleine et d’en déduire le contenu par une procédure de calibration. On procède

expérimentalement en appliquant des efforts connus (par exemple au moyen de poids) suivant les

différents axes du capteur. Six expériences sont nécessaires (au minimum) et on mesure à chaque

fois les sorties correspondantes : ceci permet de déterminer les 6 colonnes de la matrice R∗ dans la

relation :

W = R∗F (5.1)

La matrice R sera choisie comme étant la pseudo-inverse de R∗, obtenue par moindres carrés : en

multipliant 5.1 par (R∗)T , on obtient :

(R∗)TW = R∗TR∗F

124

Page 126: Introduction à la robotique

où le produit R∗TR∗ de dimension 6× 6 peut être inversé, d’où :

F =³R∗

TR∗´−1

R∗TW

On a donc finalement :

R =³R∗

TR∗´−1

R∗T

Fig. 5.34: Capteur forces 6-axes

5.5 Conclusions générales

Les capteurs décrits dans ce chapitre sont une illustration de l’état d’avancement de la technique

et on peut remarquer que les possibilités qu’ils offrent restent encore fort éloignées de celles permises

par les sens de l’être humain.

La plupart des robots industriels actuels ne répètent que des tâches pré-programmées, sans

rétroaction extéroceptive. Mais l’intérêt grandissant pour l’automatisation flexible induit de plus en

plus d’efforts pour le développement et l’amélioration de capteurs nouveaux. Des dispositifs inédits

voient régulièrement le jour : nous nous sommes donc volontairement limités ici aux principes de

base pouvant servir de fondements à des études plus poussées dans le domaine.

125

Page 127: Introduction à la robotique

Chapitre 6

Vision industrielle

6.1 Introduction

Remplacer le sens de la vue de l’oeil humain par une machine, si possible plus performante, tel

est l’enjeu de la vision par ordinateur.

L’oeil est présent tout au long du cycle de fabrication d’un produit, que ce soit pour vérifier la

conformité des pièces (contrôle qualitatif), mais aussi pour compter différents éléments (contrôle

quantitatif) ou rechercher leurs emplacements dans l’espace (localisation avec commande de mé-

canismes automatiques du type robot par exemple). Même en dehors de la production pure, la

vision a sa place pour la lecture de code-barre ou de données alphanumériques (reconnaissance de

caractères même manuscrits) par exemple.

L’avantage de l’oeil humain est de pouvoir effectuer ces différentes visualisations tout en faisant

un autre travail, le cerveau nous donne la possibilité de regarder une chose tout en pensant à une

autre. Mais il demeure un inconvénient qui reste de taille : la fatigue, qui dans le cas de contrôle

continu ne permet pas de garantir une fiabilité à 100% de l’opérateur. De plus la vision indus-

trielle autorise maintenant la réalisation d’opérations impossibles avec les moyens visuels humains

(contrôle dimensionnel au centième de millimètre). Par contre, il manque encore à la vision indus-

trielle beaucoup d’intelligence car nous voyons davantage avec notre cerveau qu’avec nos yeux, et il

serait irréaliste de vouloir plagier la manière de voir de l’homme, pour l’incorporer complètement

dans une machine.

Fig. 6.1: Illusion solaire

126

Page 128: Introduction à la robotique

Pour fonctionner correctement un système de vision artificielle devra posséder deux parties, une

correspondant à la phase de perception, l’autre à la phase de décision. Du côté de la perception,

il s’agit de remplacer l’oeil par un système similaire qui permet de ”photographier” des images

avec le maximum de renseignements utiles. Pour la décision, tout se complique, car des multitudes

de procédés existent, certains pouvant être considérés comme effectivement industriels, c’est à dire

capables de travailler 24 heures sur 24, d’autres restent bien souvent des systèmes de développement.

Si les capteurs d’images ont tendance à se ”standardiser”, le traitement reste une sorte de tarte à

crème qui vient se rajouter.

6.1.1 Définition d’une machine de vision

Une machine de vision ou, automate de vision est une machine informatique dédiée composée

d’un ou plusieurs capteurs de vision, d’une chaîne de numérisation, de processeurs spécialisés, et

d’un ensemble de logiciels et qui est destinée à se substituer totalement ou partiellement à l’homme

dans une tâche où il utilise son sens visuel.

6.1.2 Quelques exemples d’illusions optiques

Judd Müller-Lyer T renversé

Ponzo Poggendorff Lipps

Zôliner Delboeuf Titchener

Dans les figures de Müller-Lyer et de Ponzo, les lignes horizontales ont la même longueur. Les

lignes obliques de la figure de Zôliner sont parallèles. Les lignes obliques de la figure de Poggendorff

sont colinéaires. Dans la figure de Lipps, les lignes obliques, au milieu, sont parallèles. Dans la

127

Page 129: Introduction à la robotique

figure de Titchener, les deux cercles intérieurs sont identiques. Dans la figure de Delboeuf, le cercle

extérieur gauche a la même taille que le cercle intérieur droit. Les lignes verticale et horizontale du

T renversé ont la même longueur. Enfin, dans la figure de Judd, le point est au milieu de la ligne

horizontale.

6.1.3 Généralités sur la vision par ordinateur

A partir des années 75, l’intégration croissante des composants électroniques a permis de faire

chuter considérablement les prix des machines informatiques tout en augmentant leurs perfor-

mances. Dès lors les seuils de rentabilité industrielle des systèmes de vision par ordinateur ont été

atteints et une nouvelle industrie est née avec des potentialités d’applications considérables.

Les premiers systèmes de vision par ordinateur ont été industrialisés et commercialisés aux USA

dès les années 1980-82. L’Europe a suivi le même processus avec un retard de 2 ou 3 ans. La figure

6.2 donne une idée de l’évolution du marché de la vision, et la figure 6.3 la répartition entre les

différents domaines d’applications industrielles.

Fig. 6.2: Statistique du marché de la vision

Fig. 6.3: Répartition de la vision pour les différentes applications industrielles

128

Page 130: Introduction à la robotique

6.1.4 Analyse fonctionnelle du processus de vision par ordinateur

L’idée forte que nous souhaitons communiquer est de considérer le problème de la vision par

ordinateur selon les 4 grandes étapes classiques de la démarche d’automatisation des processus :

— la mesure

— la modélisation

— l’identification

— la commande.

L’étape mesure correspond à la perception de l’environnement et traite du grand problème des

capteurs. Il s’agira principalement en vision :

— des caméras vidicon

— des caméras solides matricielles ou linéaires

— des imageurs télémétriques, ultra-sonores ou tactiles

— des stéréoviseurs actifs ou passifs

L’étape de modélisation représente les méthodologies utilisées pour modéliser la connaissance à

partir d’indices visuels. Nous ignorons tout de la manière dont cette modélisation est faite dans la

vision humaine. Les modèles utilisés en visionique sont des représentations paramétriques, structu-

relles ou des modèles hybrides de plusieurs approches.

Dans l’étape identification, il s’agit après traitement du signal image, mise en forme, extraction

des caractéristiques, d’affecter des valeurs numériques ou des paramètres de structure au modèle

choisi de manière à ce que le modèle paramétré et simulé restitue l’information pertinente contenue

dans l’image délivrée par le capteur à l’étape mesure.

La dernière étape ou étape commande est l’aboutissement du processus de vision et peut prendre

divers aspects :

— reconnaissance de forme

— classification

— tri

— localisation en position et orientation d’un objet connu et ce en vue d’effectuer une préhension

suivie d’une manipulation par exemple.

Les diverses fonctionnalités d’un système de vision se retrouvent sur la figure 6.4. Le flux

d’information se rétrécit selon un effet ”entonnoir” pour aboutir à la décision finale qui peut être

binaire, comme par exemple dans l’acceptation ou le rebut d’une pièce. Ainsi, au niveau de l’objet

physique, l’information est de dimension infinie. A la sortie du capteur d’image, l’information brute

est de dimension N , grande mais finie (par exemple N = 65536 ou 262144). Après une mise en

forme et un pré-traitement de l’image brute, on a conservé l’essentiel de l’information utile en N1

valeurs (N1 < N). L’objet (ou la scène) après modélisation et identification sera représenté par R

attributs. Enfin, la décision finale dans l’espace des classes conduit encore à un nombre de cas plus

129

Page 131: Introduction à la robotique

Fig. 6.4: Schéma du processus de vision artificielle

faible (par exemple M = 26 en reconnaissance de caractères ou M = 2 en tri binaire de pièces).

Ainsi le flux initialement grand d’informations se rétrécit tout au long du processus de vision.

∞ > N > N1 > R > M

Au travers de ce mécanisme nous avons retrouvé les diverses étapes : perception de l’environnement

- pré-traitement - modélisation - reconnaissance des formes et classification qui vont constituer le

plan des chapitres suivants.

6.1.5 Typologie des problèmes de vision en productique

La vision par ordinateur est utilisée dans de nombreux autres domaines que la productique

notamment, en lecture automatique, en astronomie, en météorologie, en médecine... Une carac-

téristique essentielle de l’imagerie robotique tient au caractère tridimensionnel des objets. Sans

être exhaustif, nous proposons quelques lignes directrices permettant de dresser une typologie des

problèmes de vision en productique.

Classification selon le nombre et les positions relatives des objets

— objet isolé en équilibre plan,

— plusieurs objets en équilibre plan mais séparés,

— plusieurs objets en équilibre plan avec recouvrement partiel (vrac planaire),

— objets entreposés les uns sur les autres dans un container (vrac volumique).

130

Page 132: Introduction à la robotique

Vrac planaire Vrac volumique

Classification selon le mouvement relatif de la scène

— scène à l’arrêt,

— objets en mouvement de translation uniforme. Ce cas est assez fréquent dans les industries

manufacturières : bandes transporteuses - balancelles,

— objets en mouvement quelconque.

Classification selon des aspects géométriques

— objets plats,

— objets tridimensionnels quelconques (exemple : ailettes de turbines).

Difficultés liées à :

— la texture,

— la couleur,

— les caractéristiques optiques,

— l’hétérogénéité de composition.

Chaque problème à résoudre est donc un cas d’espèce.

6.1.6 Quelques grandes difficultés permanentes en visionique

Les problèmes à résoudre en vision par ordinateur sont nombreux et beaucoup sont encore non

résolus. Nous ne citons ici que quelques grands problèmes rencontrés dans toutes les applications

”productique”.

— le volume important des informations délivrées par le capteur. L’exemple classique d’une

image 512 x 512 points codés sur 8 bits équivaut à une information de 262 Ko qu’il faut

traiter.

— les impératifs de temps de traitement. A la différence des applications médicales, météoro-

logiques, militaires... autorisant un traitement en temps différé sur des grosses machines, la

productique impose des contraintes de temps réel sur des machines, à des conditions écono-

miquement acceptables.

— la non invariance des images en rotation / translation. La figure 6.5 montre l’image d’une

même clé qui a tourné autour de l’un de ses points. L’oeil humain reconnaît immédiatement

131

Page 133: Introduction à la robotique

Fig. 6.5: Non-invariance

Fig. 6.6: Perspective

une clé dans les 2 cas. Les deux images informatiques sont différentes et l’exemple montre que

pour reconnaître la clé il faut extraire de l’information image des ”indices ” ou ” primitives”

qui soient indépendants de la position en translation ou en rotation de la clé. On dit que ces

informations utiles constituent des invariants.

— les problèmes de perspectives. Dans la scène illustrée sur la figure 6.6, un observateur humain,

reconnaît instantanément 2 cubes placés sur un plan dont le premier cache partiellement le

second. Il sait même que les 2 cubes ne se touchent pas face contre face. Cette interprétation

volumique d’une image plane utilise les effets de perspective et met à contribution un modèle

de représentation du cerveau humain. On conçoit la difficulté de transposer cette connaissance

à une machine de vision.

— les problèmes d’éclairages. Tous les praticiens de la vision par ordinateur citent les problèmes

d’éclairage comme un souci permanent. Une même scène prise en lumière naturelle conduit

à des images différentes selon l’ensoleillement (figure 6.7). Dans de nombreuses applications,

on est conduit à contrôler soigneusement les conditions d’éclairage (boîtes noires - éclairage

isotrope). Par ailleurs, la maîtrise de l’éclairage (faisceau directionnel - plans lumineux) peut

contribuer à résoudre des problèmes et donner des informations partielles sur le relief.

Eclairage isotrope Eclairage non-isotrope

L’éclairage est un point crucial et il faut dire que tous les constructeurs sans exception s’y

132

Page 134: Introduction à la robotique

Fig. 6.7: Influence de la luminosité

sont cassés les dents. Certains d’entre eux en sont arrivés rapidement à embaucher de vrais

opticiens. Le coût d’un bon éclairage est loin d’être négligeable, il peut même correspondre

à plus de 20% de la facture globale. Un conseil, ne croyez pas le constructeur qui consi-

dère l’éclairage comme un phénomène mineur ne posant aucun souci. Les figures qui suivent

donnent quelques idées de solutions à ce problème.

133

Page 135: Introduction à la robotique

6.1.7 Quelques définitions préliminaires

Définitions relatives à l’image

Une image est une fonction continue de 2 variables I = f(x, y) où I peut être une grandeur phy-

sique mesurable quelconque : intensité lumineuse, couleur, profondeur, pression acoustique... Deux

problèmes sont préalablement à résoudre pour assurer le traitement informatique d’une image : la

discrétisation et la quantification.

La discrétisation : La discrétisation spatiale d’une image conduit à la notion de ”pixel” qui

est un noeud de la représentation maillée de l’image. Si le maillage cartésien est le plus répandu il

n’est toutefois pas forcément le meilleur au sens de certaines opérations sur les images. Les formats

d’images les plus usuels sont des formats carrés, par exemple : 256× 256, 512× 512, 1024× 1024,... mais on trouve aussi des formats moins standards.

La quantification : Lorsque la discrétisation spatiale est effectuée, la grandeur physique associée

à chaque pixel reste une grandeur analogique qu’il faut numériser. Diverses lois de conversion

(linéaire - logarithmiques - ou autres...) peuvent être utilisées mais le nombre de bits de codage

doit aussi être fixé.

— images binaires (n = 1) on ne décèle que le blanc et le noir par un seuillage fixe. De nom-

breux systèmes industriels utilisent ce codage qui permet de résoudre déjà un grand nombre

d’applications.

— images multiniveaux : on trouve principalement 8, 16, 64, 128, 256 niveaux de gris. L’infor-

mation contenue dans l’image est à la fois plus riche et plus difficile à traiter.

Pour fixer un ordre de grandeur, prenons le cas d’une image de 256 lignes sur 256 colonnes

et 64 niveaux de gris. La matrice correspondante comportera 64K pixels codés sur 6 bits. On

voit donc que le traitement d’images concerne des ”paquets” d’informations qui deviennent vite

considérables. Pour appréhender les aspects temporels et les débits d’information, examinons la

procédure de digitalisation de l’image fournie par une caméra TV ordinaire répondant au standard

RS170 fort répandu de CCTV (Closed Circuit Television, voir figure 6.8). L’image est fournie

ligne par ligne. Chaque ligne est constituée par un signal vidéo analogique variant de 0 volt (noir)

à 1 volt (blanc), compris entre 2 impulsions de synchronisation. Chaque ligne dure 64µs et la

caméra fournit 50 demi-images entrelacées de 312, 5 lignes chacune par seconde (note : un poste de

télévision ordinaire affiche 625 lignes). Si à chaque synchronisation de ligne on lance une horloge

dont la période est 64/256 = 250ns et si à chaque flanc montant de cette horloge on convertit sur 6

bits le signal analogique vidéo en ne retenant que 256 lignes sur les 312, 5 de chaque demi-image, on

obtient une image de 256× 256 sur 6 bits en 20ms. Ceci conduit à des débits de 19, 66 megabauds

et à des convertisseurs analogique digitaux travaillant à 4 MHz.

Analyse et synthèse d’une image. L’analyse de l’image est constituée de l’ensemble des opé-

rations qui assurent le passage d’une image physique à sa représentation informatique en machine.

La synthèse est la transformation inverse qui permet la matérialisation d’une image informatique. Il

134

Page 136: Introduction à la robotique

Fig. 6.8: Standard RS 170

est vrai que l’analyse d’image est le processus usuel dans les applications industrielles de visionique

alors que la synthèse d’images voit ses principales applications en CAO, en imagerie synthétique

pour le cinéma, les bandes dessinées, la publicité... Néanmoins la visionique industrielle a besoin de

visualiser les images informatiques saisies et traitées, ne serait-ce que pour apprécier visuellement

l’action des algorithmes. Les figures 6.9 et 6.10 explicitent les principaux éléments qui assurent la

discrétisation spatiale et la quantification dans les processus d’analyse et de synthèse de l’image.

Fig. 6.9: Schéma d’acquisition d’images

Fig. 6.10: Schéma de visualisation d’images

135

Page 137: Introduction à la robotique

6.2 Les capteurs de vision 2-D

Le capteur de vision 2-D (voir figure 6.11) établit une application de l’espace tridimensionnel

Fig. 6.11: Limites de la vision 2-D

de l’émetteur E sur une image bidimensionnelle au niveau du capteur R au travers d’une optique.

Les seuls problèmes véritablement 2-D sont donc la saisie d’image d’un émetteur plan (lecteur

automatique de caractères pour la bureautique par exemple). Si la profondeur de scène AZ est

faible devant la distance d de l’émetteur et du capteur, en parlera néanmoins de vision 2-D.

6.2.1 Couleur ou noir et blanc ?

Bonne question ! Il est évident que les progrès technologiques vont faire évoluer les choses. Mais

rien ne sert de compliquer inutilement. Une image couleur correspond à trois image en noir en

blanc, alors que ce noir et blanc suffit amplement pour la majorité des applications industrielles

(voir figure 6.12). La figure 6.13 montre que la majorité de ces applications se satisfont du noir et

blanc.

Fig. 6.12: Codage RGB (reg-green-blue) d’une image couleur

136

Page 138: Introduction à la robotique

Fig. 6.13: Utilisation de la couleur en vision industrielle

6.2.2 Les tubes électroniques

Les tubes vidicon

C’est le capteur de vision qui était le plus utilisé à l’origine, avant l’apparition des capteurs

CCD.

L’image formée par l’optique de focalisation (1) est projetée sur une électrode plane recouverte

d’une couche photoconductrice (9) (voir figure 6.14). L’intensité lumineuse en chaque point pro-

Fig. 6.14: Principe du tube vidicon

voque la création d’un nombre proportionnel de charges électriques qui s’accumulent entre deux

balayages. L’image optique est ainsi transformée en une image de charges. La lecture de l’informa-

tion est effectuée séquentiellement par un faisceau électronique à balayage périodique, analysant

l’image ligne par ligne. En restituant l’état de charge initial, ce faisceau crée un courant propor-

tionnel à la luminance en chaque point de l’image.

Si l’on utilise de tels capteurs pour réaliser des systèmes de numérisation d’images, le découpage

de l’image en un certain nombre de lignes est réalisé par le dispositif de balayage électronique et la

137

Page 139: Introduction à la robotique

discrétisation de chaque ligne est ensuite réalisée par un échantillonnage à cadence appropriée du

signal vidéo. Dans le cas d’un balayage selon les normes internationales de télévision, la durée de

balayage d’une ligne est de 64µs. Si l’on veut discrétiser chaque ligne sur un ensemble de 256 points,

on devra réaliser un système d’échantillonnage et de conversion analogique / digitale capable de

fonctionner à une fréquence de 4 MHz.

Pour les applications courantes, deux diamètres de cibles sont utilisés : 25 mm et 17 mm. Les

vidicons de 25 mm de diamètre ont une meilleure définition mais sont en contre partie plus coûteux.

Différentes substances chimiques peuvent être utilisées au niveau de la cible, permettant d’obtenir

des sensibilités plus ou moins grandes ou de travailler hors du spectre visible. On trouve ainsi des

vidicons pyroélectriques sensibles à l’infrarouge. Les trois principaux tubes ayant un spectre dans

le visible sont décrits dans le tableau ci-dessous.

Type nature de la cible utilisation

Standard Trisulfure d’antimoine caméras noir et blanc

Newicon hétérojonction au sulfure de cadmium caméras noir et blanc performantes

Plumbicon oxyde de plomb caméras couleurs

Ce que certains reprochent à ces produits pour des applications industrielles, hormis le fait de

la fragilité, est la distorsion géométrique due au système de balayage. Car l’image obtenue n’est

pas carrée : elle est dans un rapport de 4/3, cette non-linéarité pouvant être gênante pour des

applications réclamant des précisions importantes.

Le dissecteur d’images

L’image illumine une cathode recouverte d’une couche photoémissive. Une optique électronique

Fig. 6.15: Dissecteur d’image

composée de bobines de focalisation et de déflexion, projette axialement les photo-électrons émis

sur une plaque polarisée comportant une très petite ouverture en son centre. Seuls les électrons

provenant d’une zone déterminée par le système de déflexion, pourront passer par cette ouverture et

parvenir à une chaîne de multiplicateurs d’électrons. On obtiendra ainsi un signal vidéo proportion-

nel à la luminance d’un point image. La commande des bobines de déflexion permet de sélectionner

un point particulier. Il est possible d’utiliser un tube dissecteur pour analyser une image complète

138

Page 140: Introduction à la robotique

en utilisant un balayage régulier, mais ce tube est mieux adapté à des tâches d’exploration aléa-

toires telles que la poursuite de contours par exemple. Le dissecteur d’image, à la différence du

tube vidicon, ne procède pas par accumulation de charge ; en conséquence il ne présente aucun

phénomène de rémanence.

6.2.3 Les caméras solides (solid state camera)

Les cibles (ou senseurs) de ces capteurs peuvent se présenter sous forme linéaire (barrette)

ou matricielle (mosaïque). Les caméras correspondantes, n’ayant plus de tube à vide, sont moins

encombrantes et plus résistantes. On distingue les réseaux de photodiodes et les réseaux à transfert

de charges.

Les réseaux de photodiodes sont formés par un ensemble de jonctions réalisées sur la même

plaquette de silicium et placées à une distance très faible les unes des autres (quelques µm). Ces

jonctions sont disposées soit en ligne, soit selon une structure matricielle. Chaque jonction est

couplée à la fois à une capacité et à un circuit de multiplexage. La capacité sert à intégrer les

charges créées au niveau de la jonction sous l’effet de l’énergie lumineuse incidente. Le circuit de

multiplexage assure la lecture séquentielle des charges accumulées et fournit un signal d’amplitude

proportionnelle à la distribution spatiale de l’intensité lumineuse sur le réseau.

La largeur des réseaux linéaires est actuellement comprise entre 64 et 4.096 photodiodes. Les

réseaux matriciels comprennent jusqu’à 10000 photodiodes groupées en une structure cartésienne

de 100× 100 éléments.

Les réseaux à éléments à transfert de charges (CCD) sont également réalisés selon des structures

Fig. 6.16: Schéma d’un capteur matriciel CCD

linéaires ou matricielles. Ils sont constitués par un réseau de condensateurs réalisés en technologie

M.O.S. Les charges libérées dans le silicium, sous l’effet de l’énergie lumineuse incidente, sont ac-

cumulées dans des puits de potentiel. Chaque paquet de charges transite d’un élément à l’autre,

139

Page 141: Introduction à la robotique

en fonction d’un signal d’horloge approprié, par l’intermédiaire de registres de transfert verticaux

et horizontaux, assurant ainsi une lecture séquentielle de l’information. Les figures 6.16 et 6.17

montrent l’organisation d’un capteur matriciel CCD. Le transfert des charges dans le registre ho-

rizontal RTAH est piloté par les signaux d’horloge φH1 et φH2. Le transfert des charges dans les

registres verticaux RTAVj (j = 1, p) est piloté par les signaux d’horloge φV 1 et φV 2 et ce de ma-

nière synchrone pour tous les registres verticaux. Il y a lieu également de synchroniser les signaux

d’horloge entre eux.

Ces capteurs permettent d’avoir une résolution accrue par rapport aux réseaux de photodiodes,

par exemple 163 840 éléments groupés dans une matrice de 512 lignes et 320 colonnes.

Fig. 6.17: Principe de fonctionnement des CCD

140

Page 142: Introduction à la robotique

6.2.4 Eléments de comparaison des capteurs de vision 2 D

Il faut préciser qu’une proportion importante des applications de la vision en robotique se satis-

fait d’images binaires (noir et blanc obtenues par seuillage) et ne nécessite pas d’image multiniveaux

impliquant une numérisation fine du niveau de gris de chaque pixel.

Les capteurs à tube électronique

Du fait de la discrétisation horizontale de l’image par balayage, les capteurs à tube peuvent

présenter des phénomènes de distorsion géométrique et de dérive spatiale.

Les tubes vidicons ont une bonne sensibilité et une bonne résolution spatiale ; par contre ils

peuvent présenter des défauts d’homogénéité et une rémanence non négligeable gênante pour l’ob-

servation de scènes rapides. En outre, des dérives techniques et un vieillissement des circuits de

balayage peuvent apparaître. Les tubes plumbicons conduisent à une amélioration de la sensibilité

et de la rémanence. Les tubes dissecteurs, qui autorisent un balayage aléatoire, présentent une

grande résolution et une absence de rémanence ; par contre ils ont un faible rapport signal/bruit et

leur prix reste élevé.

Les capteurs à réseaux

Ces capteurs ne présentent ni distorsion géométrique, ni dérive spatiale. Ils sont caractérisés

par leur solidité et offrent d’intéressantes possibilités de miniaturisation. Leur sensibilité dépend

de la vitesse de lecture et on doit donc réaliser un compromis sensibilité-vitesse. Les cibles peuvent

présenter des défauts d’homogénéité (points noirs dus à des pixels défaillants). Enfin il faut noter

que les caméras à photodiodes ont un effet de ”blooming” (éblouissement) moins prononcé que les

caméras CCD.

Par rapport aux tubes, les caméras solides présentent les avantages d’une faible rémanence,

d’une dynamique meilleure, d’une faible consommation et d’une très haute résolution possible en

1-D par concaténation de plusieurs barrettes.

Comparaison

Les progrès des réseaux CCD sur support MOS ont été rapides et ont permis de traiter l’image

en couleur avec des dispositifs très miniaturisés ; il faut reconnaître que les couleurs obtenues par

matrice CCD sont moins contrastées et réelles que celles obtenues avec les tubes cathodiques ; ces

derniers ont un avenir assuré pour plusieurs années dans les domaines de la télévision, du cinéma

professionnel et de la photographie industrielle en couleur. En mettant à part l’imagerie en couleur,

il faut reconnaître que les matrices ou barrettes CCD ont pris un avantage irréversible dans toutes

les applications de la vision artificielle comme celles de la robotique, de la surveillance, du tri et de

l’inspection des procédés industriels. Le tableau 6.18 reprend l’essentiel des éléments de comparaison

entre caméras CCD et vidicon.

141

Page 143: Introduction à la robotique

Fig. 6.18: Tableau de comparaison : Tube cathodique-Matrice CCD

6.2.5 La vision tridimensionnelle

Contrairement à la vision 2-D, l’appréhension du relief reste un problème très ouvert. De

nombreux travaux de laboratoires sont en cours tant sur les aspects technologiques que métho-

dologiques, mais on dénombre encore peu de véritables capteurs 3-D en exploitation industrielle.

Le classement des méthodes de vision 3-D peut être envisagé de plusieurs manières. On peut par

exemple distinguer les méthodes télémétriques des méthodes stéréoscopiques.

Les télémètres sont en général actifs, c’est-à-dire qu’ils font appel à une source spécifique qui

émet un signal : ultrasons, hyperfréquences, laser, infrarouge... Le but est alors de mesurer une

distance (ou une profondeur).

La stéréoscopie, au contraire, vise à obtenir une cartographie 3-D d’un environnement. Elle

est donc associée à une modélisation géométrique de la scène. La stéréovision peut elle-même être

active (sur-éclairement ponctuel, franges ou grilles de lumière structurée) ou être passive.

142

Page 144: Introduction à la robotique

Fig. 6.19: Géométrie de la stéréovision

Principe de la stéréoscopie en environnement tridimensionnel

Soient O1 et O2 les centres optiques de 2 systèmes de vision, C1 et C2 deux senseurs plans sur

lesquels les images P 1 et P 2 d’un point P de l’environnement sont formées. Soit R le repère de

base x, y, z. dans lequel on définit les repères R1 (x1, y1, z1) et R1 (x2, y2, z2). Les repères R1 et R2

sont d’axes parallèles à R et°°OO1

°° = °°OO2°° = d.

Les relations de projection du point P en P 1 et P 2 par rapport aux 2 centres O1 et O2 permettent

d’écrire :

x1

x=

y1

y + d=

z1

z;

x2

x=

y2

y + d=

z2

z

où (x1, y1, z1), (x2, y2, z2) sont respectivement les coordonnées de P 1 et P 2 dans les repères R1

et R2 alors que (x, y, z) représentent les coordonnées recherchées de P dans le repère de base R.

Connaissant les valeurs de (x1, y1, z1) et (x2, y2, z2), on peut calculer les valeurs (x, y, z) recherchées.

En général, les coordonnées (x1, y1, z1) et (x2, y2, z2) ne sont pas accessibles directement. On

peut connaître les coordonnées (u1, v1, w1) de P 1 dans un repère R01 associé à la couche sensible de

détection C1, et de même (u2, v2, w2) pour P 2. Si on note ϕ, θ,ψ les angles d’Euler qui permettent

de passer du repère R1(x1, y1, z1) au repère R01(u1, v1, w1), le passage des coordonnées (u1, v1, w1)

aux coordonnées (x1, y1, z1) s’obtient par : x1

y1

z1

=

cosψ − sinψ 0

sinψ cosψ 0

0 0 1

1 0 0

0 cosϑ − sinϑ0 sinϑ cosϑ

cosϕ − sinϕ 0

sinϕ cosϕ 0

0 0 1

u1

v1

w1

Dans la pratique on cherchera des configurations géométriques qui simplifient ces relations de

passage.

143

Page 145: Introduction à la robotique

Stéréoscopies passive et active

Dans le cas d’un éclairage total de la scène, l’association des images P 1 et P 2 d’un même point

objet P n’est pas immédiate comme on peut s’en rendre compte sur la figure 6.20 qui représente les

deux images vues par les deux caméras. La recherche des correspondants se fait par des méthodes

Fig. 6.20: Images des caméras gauche et droite

de corrélation d’images. Pour chercher avec précision P 2 (u2, v2), on prélève une fenêtre W de

dimension (K,L) dans l’image 1 autour de P 1. On considère ensuite cette fenêtre comme un masque

dont on calcule la fonction de corrélation avec une fenêtre de même dimension choisie sur l’image

2 dans le voisinage de P 01 (voir figure 6.21) :

R(u, v) =

PKi=1

PLj=1W (i, j)S(u+ i, v + j)qPK

i=1

PLj=1W 2(i, j)

PKi=1

PLj=1 S2(u+ i, v + j)

(6.1)

Lorsque la fenêtre choisie dans l’image 2 correspond au point cherché P 2, la corrélation est maximum

et R vaut (théoriquement) l’unité.

Remarque : la formule de corrélation paraît compliquée, mais il n’en est rien. Si on considère

que les différents éléments du masque sont rangés (colonne par colonne) dans un vecteur colonne

W et que les éléments de la fenêtre mobile S de l’image 2 sont rangés de la même manière, la

formule 6.1 peut se ré-écrire tout simplement :

R =WTS

kWk kSkR n’est donc rien d’autre que le produit scalaire (normalisé) de deux vecteurs. Il a donc la dimension

du ”cosinus” formé par ces deux vecteurs : lorsque les vecteurs sont les mêmes (sont alignés), R est

égal à 1.

La formule 6.1 montre toutefois que les méthodes de stéréoscopie vraie impliquent des temps

calculs importants puisqu’il faut chercher le maximum de R sur l’ensemble de toutes les valeurs

(u, v) avoisinant P 01.Des pré-traitements - notamment la description géométrique des contours dans les images -

peuvent accélérer considérablement le traitement de mise en correspondance des 2 images. Une

telle méthode est développée à l’INRIA (photo 6.22). La recherche des correspondances devient

144

Page 146: Introduction à la robotique

Fig. 6.21: Stéréoscopie par corrélation

inutile si le point P peut être particularisé. On parle alors de stéréoscopie active. Le cas le plus

simple est le sur-éclairement par un rayon laser avec un balayage régulier ou aléatoire du spot

pour reconstituer une cartographie de l’environnement. Les points P 1 et P 2, tous deux sur-éclairés,

sont détectés immédiatement et leurs coordonnées permettent de calculer les coordonnées x, y, z du

point physique P.

A noter que des éclairages structurés (plans ou grilles), judicieusement choisis, permettent aussi

des gains de temps appréciables.

Fig. 6.22: Mise en corresondance des contours (image INRIA)

145

Page 147: Introduction à la robotique

6.3 Traitement numérique et modélisation des images

6.3.1 Définitions préliminaires

Le capteur nous a délivré une image numérisée qui constitue un tableau de N × M points

élémentaires appelés pixels, (”picture elements”) codés sur P bits représentant 2P niveaux de gris.

Dans cette section nous allons examiner l’ensemble des techniques qui permettent de manipuler

cette grande quantité d’information afin d’en tirer une représentation compacte et pertinente de

l’information réellement utile.

Il convient, dans un premier temps, de pouvoir construire des agrégats de pixels ayant certaines

caractéristiques communes. Ces agrégats seront appelés des primitives d’images. On distinguera

deux types principaux de primitives : les primitives de type surface et celles de type contour. Ces

primitives sont construites à partir de relations entre les pixels.

La première notion que nous utilisons est la relation de voisinage ou de connexité entre pixels.

Si A et B sont des pixels de coordonnées (i, j) et (k, l), nous définissons une métrique appartenant

à l’image J :

d1(A,B) , max |i− k| , |j − l|d2(A,B) , |i− k|+ |j − l|

si d1(A,B) ≤ 1⇒ A et B sont 8-connexes

si d2(A,B) ≤ 1⇒ A et B sont 4-connexes

Le signification de ces deux notions de connexité est immédiatement perçue au niveau visuel sur la

figure 6.23.

Fig. 6.23: Notion de 4-connexité Notion de 8-connexité

La second notion que nous introduisons est la relation de liaison entre pixels. Chaque pixel se

voit associé une caractéristique F (...) telle que : niveau de gris, couleur, température, gradient-

pression... Deux pixels sont liés s’ils sont connexes et s’il existe une relation entre leurs caractéris-

tiques.

Dès lors nous pouvons définir de rigoureuse une primitive comme étant un ensemble de points

liés dans une image. Une primitive sera une région homogène R de l’image de caractéristique P tel

que :

R = (i, j) : F (i, j) = P et ∃ (k, l) tel que F (k, l) = P et la paire (i, j) , (k, l) est connexe

Pour modéliser les images on utilise principalement 2 grandes classes de primitives :

146

Page 148: Introduction à la robotique

— primitives de type région ou surface : un point P peut être lié à plusieurs autres pixels.

— primitives de type contour : chaque point P a au plus 2 relations de liaisons.

L’importance des relations de connexité est illustré par le paradoxe de l’anneau fermé, sans

intérieur. Chacun sait qu’une courbe fermée définit une zone ”intérieure” et une zone extérieure,

comme illustré sur la figure 6.24. Supposons que la pièce vue sous la caméra (de basse résolution)

Fig. 6.24: Intérieur et extérieur d’une courbe fermée

ait la forme d’un anneau circulaire. Etant donné la faible résolution de notre exemple illustré sur

la figure 6.25, seuls quatre pixels (marqués 1) sont allumés car suffisamment couverts par l’anneau.

Les autres pixels (ainsi que les pixels extérieurs à la fenêtre représentée sur la figure) sont ”éteints”

et marqués 0.

En 4-connexité, les 4 pixels allumés ne sont pas voisins : on considérera donc que l’image contient

4 objets distincts, marqués O1, O2,O3, O4. Toujours en 4-connexité, nous devons aussi admettre

que le pixel central (noté B2 sur la figure) n’est voisin d’aucun des autres pixels éteints. Or ce pixel,

tout comme les autres pixels marqués B1, appartient au fond de l’image sur lequel reposent les

objets. Nous arrivons ainsi à la conclusion qu’il y a 4 objets distincts qui reposent sur deux fonds

différents... ce qui est pour le moins paradoxal !

Fig. 6.25: Illustration du paradoxe de l’anneau

En 8-connexité, tous les pixels forment un seul et même objet. Mais le pixel central communique

avec les autres pixels éteints. On interprétera donc l’image comme celle d’un anneau fermé dont

l’intérieur communique avec l’extérieur. Nouveau paradoxe !

Notons que ce paradoxe n’existerait pas avec un maillage hexagonal (en nid d’abeilles).

Une solution à ce paradoxe de l’anneau fermé consiste à utiliser une 4-connexité pour l’objet et

une 8-connexité pour le fond. Toutefois, cette asymétrie entre le traitement des objets et celui du

fond n’est pas souhaitable et peut être évitée au moyen d’un autre type d’asymétrie : la 6-connexité

telle qu’illustrée sur la figure 6.26. Pour cette connexité, les pixels voisins du pixel central sont les

147

Page 149: Introduction à la robotique

Fig. 6.26: Définition de la 6-connexité

pixels Nord, Sud, Est, Ouest, ainsi que deux pixels choisis suivant une seule diagonale (Nord-Ouest,

Sud-Est ou Nord-Est, Sud-Ouest). En effet, la notion de voisinage doit rester symétrique : si un

pixel A est voisin d’un pixel B, il est clair que B doit aussi être voisin de A. En traitant les objets

et le fond en 6-connexité, il n’y a plus de paradoxe sans pour autant que l’interprétation de l’image

soit totalement correcte1 : on conclura en effet qu’il y a deux demi-anneau sur un seul et même

fond. La figure 6.27 illustre la manière dont la 6-connexité s’inspire du maillage hexagonal (par le

biais d’un cisaillement horizontal des pixels).

Fig. 6.27: Origine de la 6-connexité

6.3.2 Recherche d’une primitive surface (dans une image binaire)

Voici un exemple type d’algorithme séquentiel permettant de rechercher une primitive surface

au sein d’une image binaire (à deux niveaux de gris).

On utilise un masque de dimension 2× 2 que l’on balaye séquentiellement sur l’image de haut

en bas et de gauche à droite (voir figure 6.28). En examinant en chaque position la valeur du pixel

situé sous le cellule du masque notée A, on décidera que :

— si le pixel situé sous A est éteint (A = 0), alors le pixel appartient au fond

— si le pixel situé sous A est allumé (A 6= 0), alors :

— si on a observé précédemment que B, C et/ou D appartiennent à un objet Ri, on décide

que A appartient aussi à cet objet Ri,

— si on a observé précédemment que les trois pixels B, C et D appartiennent au fond, on

décide qu’un nouvel objet Ri+1 est découvert.

Au cours de ce processus on peut être amené à constater que deux régions, considérées comme

distinctes au départ, sont en fait connexes et ne constituent qu’une seule primitive. Il faudra dans

ce cas ré-unifier les deux labels Ri et Rj concernés comme illustré sur la figure 6.29.

1 il ne peut y avoir de miracle avec une faible résolution...

148

Page 150: Introduction à la robotique

Fig. 6.28: Recherche d’une surface : balayage du masque

Fig. 6.29: Ré-unification de deux portions d’une même primitive.

6.4 Traitement numérique des images

En fonction du contexte de l’application on peut imaginer une quasi-infinité d’opérations numé-

riques, simples ou complexes, applicables aux images. Nous n’évoquerons ici que quelques ”grands

classiques” de l’imagerie numérique.

6.4.1 Les prétraitements simples

Seuillage

Il s’agit d’une opération destinée à éliminer soit des défauts d’homogénéité du capteur, soit des

zones d’ombre.

Le seuil s est choisi comme appartenant à l’ensemble [0, 1...M = 2n] où n est le nombre de bits

de codage utilisé pour chaque pixel. Il suffit d’appliquer pour tout (i, j) de l’image :

P (i, j) = P (i, j) si P (i, j) ≥ s

P (i, j) = 0 si P (i, j) < s

Cette opération conserve, dans le cas général, le caractère multi-niveaux de l’image utile de l’objet.

149

Page 151: Introduction à la robotique

Autrement dit, le fond plus les ombres portées ou des taches sur le fond qui sont éliminées par des

critères de surfaces et d’intensité, sont mis à zéro et l’objet (ou les objets utiles) avec leurs dégradés

d’intensité sont mis en valeur.

Un cas particulier est la binarisation de l’image pour laquelle :

P (i, j) = 1 si P (i, j) ≥ s

P (i, j) = 0 si P (i, j) < s

Cette opération de seuillage, qui paraît triviale, est en fait une opération très délicate qui dépend

des conditions d’éclairage, des coefficients de réflexion des objets de la scène, des ombres... Ainsi

dans le cas d’un objet placé sur un fond bien contrasté et en éclairage isotrope, l’histogramme des

niveaux de gris sera bi-modal (figure 6.30). Si au contraire, l’éclairage est oblique par rapport à la

Fig. 6.30: Histogramme-bi-modal

scène, un troisième mode lié aux ombres apparaît dans l’histogramme (figure 6.31). On seuille alors

à la vallée la plus proche de l’objet pour immerger l’ombre dans le fond de l’image.

D’une manière générale le problème de l’éclairage constitue une difficulté permanente. On s’ef-

force d’obtenir des éclairages isotropes par utilisation de sources multiples, de néons circulaires...

Fig. 6.31: Histogramme tri-modal.

150

Page 152: Introduction à la robotique

Les 3 photographies suivantes illustrent l’importance du problème de seuillage en montrant les ré-

sultats d’un seuillage moyen, trop haut ou trop bas sur une même image de pièces mécaniques sur

un fond uniforme.

Fig. 6.32:

Dans certains cas, il n’est pas possible de trouver un seuil convenable pour l’ensemble de l’image.

On peut recourir dans ce cas au seuillage dynamique. La figure 6.33 illustre le résultat obtenu avec

un seuil unique, commun à l’entièreté de l’image. La figure 6.34 montre les différents histogrammes

trouvés pour chacune des portions (carrées) de l’image, ainsi que les niveaux de gris qui en sont

déduits et choisis comme seuils. Lorsque les histogramme partiels son simples (bi ou tri-modaux),

les niveaux de seuils peuvent en être déduits. Pour les régions où l’histogramme est trop complexe,

on choisit une valeur de seuil calculée par interpolation des valeurs voisines. La figure 6.35 montre

le résultat obtenu en appliquant ce seuillage dynamique à l’image de la figure 6.33.

Contrastage

Le but de cette opération est d’utiliser au mieux la plage disponible du codage numérique.

Chaque niveau de gris s est transformé en un nouveau niveau r par une loi linéaire2 tel qu’illustré

sur la figure 6.36

Le contrastage peut être partiel ou total. Il peut être figé, ou à l’aide de bornes variables

(N1,N2) calculées à partir d’un histogramme de l’image complète. Le résultat d’un contrastage

2Tout autre loi est acceptable pour peu que la fonction utilisée soit monotone (croissante ou décroissante) sur

l’intervalle considéré.

151

Page 153: Introduction à la robotique

Fig. 6.33: Résultat d’un seuillage à seuil unique

Fig. 6.34: Niveaux de seuils basés sur les histogrammes partiels de l’image 6.33

Fig. 6.35: Résultat du seuillage dynamique

152

Page 154: Introduction à la robotique

0 255

Niveau s

s

r

Fig. 6.36: Transformation (linéaire) des niveaux de gris

est illustré sur la figure 6.37. On notera que cette opération ne modifie en rien l’information (nu-

Fig. 6.37: a) image d’origine et son histogramme b) image contrastée et son histogramme

mérique) contenue dans l’image mais peut en changer complètement l’appréciation visuelle. Cette

appréciation3 aide l’opérateur qui est amené à décider quelles opérations peuvent être utiles par la

suite pour traiter l’image.

3Sur une échelle de gris allant de 0 à 255, un opérateur ne peut faire la distinction entre deux niveaux de gris

voisins.

153

Page 155: Introduction à la robotique

Contrastage avec égalisation de l’histogramme

Cette opération est une variante de l’opération de contrastage. Elle permet de transformer une

image en lui donnant un histogramme plat (d’où le nom : égalisation) ou un histogramme de forme

prédéfinie quelconque.

Désignons par la variable r l’intensité normalisée (niveaux de gris compris entre 0 et 1) des

pixels de l’image d’origine. L’histogramme de cette image est donné par la fonction pr(r), que nous

supposons également normalisée4, càd : Z 1

r=0pr(r)dr = 1

En modifiant les niveaux de gris r en niveaux s au moyen de la transformation5

s = T (r) ,Z r

w=0pr(w)dw

on obtient une image dont l’histogramme est plat. En effet, tous les pixels originaux contenus

dans une tranche de gris dr sont répartis dans la nouvelle image sur une tranche ds. Mais bien

évidemment, le nombre (ou le pourcentage) de pixels reste le même, càd. :

pr(r)dr = ps(s)ds

où ps(s) représente l’histogramme de l’image transformée. Comme

ds

dr=

dT

dr= pr(r)

on obtient

ps(s) ≡ 1

qui signifie que l’histogramme est plat.

Contrastage avec imposition de l’histogramme

Rappelons que dans toute opération de contrastage, il n’y a théoriquement pas de perte d’in-

formation6. Puisque nous sommes capables de transformer un histogramme mesuré sur une image

originale en un histogramme plat, nous pouvons aussi faire une transformation inverse. Autrement

dit, transformer un histogramme plat en un histogramme (normalisé) dont nous pouvons choisir la

forme pu(u). En désignant la transformation d’égalisation de cet histogramme normalisé par

s = G(u) ,Z r

w=0pu(w)dw

4pour obtenir l’histogramme normalisé, on divise le nombre de pixels de chacun des niveaux de gris par le nombre

total de pixels de l’image.5on observera que la fonction T est monotone croissante.6Des effets de bords peuvent éventuellement apparaître si la transformation est appliquée sur une zone qui ”élimine”

certains pixels. D’autres effets peuvent survenir en raison de la discrétisation numérique.

154

Page 156: Introduction à la robotique

nous pouvons, au moyen de la fonction inverse G−1, transformer toute image dont l’histogramme

est pr(r) en une nouvelle image dont l’histogramme aura la forme désirée pu(u) à l’aide de la double

opération :

u = G−1(T (r))

Ce traitement est illustré sur la figure 6.38.

Fig. 6.38: a) image originale b) résultat de l’égalisation de l’histogramme) c) histogramme imposé

d) résultat obtenu par imposition de l’histogramme

Filtrages temporel et spatial

Le but de ces filtrages est de réduire l’influence des éclairages parasites et des bruits de mesure.

Filtrage temporel : Si la possibilité existe de prendre plusieurs images de la même scène (ce

qui suppose une scène immobile), on peut filtrer en moyennant les valeurs de gris obtenues pour

chaque pixels sur les différentes prises de vues.

Filtrage spatial : Supposant qu’une seule prise de vue est disponible, on peut filtrer en donnant

à chaque pixel une intensité de gris basée sur les intensités des pixels voisins. Considérant une

”fenêtre” 3 × 3 que nous balayons sur l’image, nous pouvons en chaque position donner comme

valeur de gris au pixel central :

155

Page 157: Introduction à la robotique

— soit la valeur moyenne des intensités des 9 pixels couverts par la fenêtre (filtrage par moyen-

nage)

— soit la valeur médiane de ces 9 valeurs. Pour obtenir cette valeur médiane, on ordonne les 9

valeurs en ordre croissant et on choisit pour résultat la valeur classée en 5eme position.

Alors que dans le cas du filtrage moyen, le résultat peut être corrompu par des pixels totalement

défaillants (tout blanc ou tout noir par exemple), ce n’est pas le cas pour le filtrage médian car les

valeurs de gris ”hors normes” sont éliminées. La figure 6.39 illustre ces deux modes de filtrage.

Fig. 6.39: a) image originale b) image corrompue par du bruit aléatoire c) filtrage moyen de

l’image corrompue d) filtrage médian de l’image corrompue

Les transformations d’image

Ces techniques de transformation, généralement point à point, s’utilisent peu dans les applica-

tions temps réel en raison de l’importance des temps de calcul. Elles permettent parfois l’extraction

156

Page 158: Introduction à la robotique

d’invariants dans l’espace transformé avant retour dans l’espace image d’origine par transforma-

tion inverse. Citons comme principale transformation la transformée de Fourier discrète à deux

dimensions qui, pour une image carrée N ×N, peut s’écrire :

F (u, v) =1

N

N−1Xj=0

N−1Xk=0

f(j, k) exp−2πiN

(uj+vk)

f(j, k) =1

N

N−1Xu=0

N−1Xv=0

F (u, v) exp2πiN(uj+vk)

Cette transformation permet aussi le filtrage de certaines fréquences spatiales dans le plan de

Fourier avant le retour à l’image réelle. En outre, cette opération peut dans certaines conditions

s’effectuer instantanément par des moyens optiques, alors que les temps de calcul numérique restent

importants même avec les techniques F.F.T. (Fast Fourier Transform).

Fig. 6.40: Image et son spectre FFT

6.4.2 Techniques d’extraction de contours.

Une image 256 x 256 contient 65 536 pixels. L’ensemble des points des contours des objets de

cette image excède rarement 1 000 pixels, soit moins de 2 % de l’image. Ces 1 ou 2 % des pixels

contiennent cependant une partie importante de l’information contenue dans l’image. On conçoit

dès lors l’intérêt des méthodes numériques utilisées pour extraire les contours et ensuite modéliser

ces contours. On peut imaginer des méthodes globales où l’appartenance de chaque point à un

contour est testée, ou mieux, des méthodes séquentielles où l’on recherche un point du contour

avant de le ”poursuivre” point par point.

De très nombreuses techniques sont utilisées, que nous essayons de classer.

157

Page 159: Introduction à la robotique

Méthodes de dérivation

Opérateurs 3×3 Si on considère 2 matrices 3×3, A et B, on commence par définir un opérateur

produit scalaire matriciel par :

A⊗B ,3Xi=1

3Xj=1

A(i, j)×B(i, j)

Autrement dit, cet opérateur fait la somme des produits, terme à terme, des différents éléments des

deux matrices7.

On considère ensuite une ”fenêtre” 3 × 3, notée G, qu’on balaye sur l’image. On définit enfin

deux ”masques” Wx et Wy également de dimension 3× 3. Différents auteurs ont proposé différents

masques :

Sobel : Wx =

−1 0 1

−2 0 2

−1 0 1

et Wy =

1 2 1

0 0 0

−1 −2 −1

Prewitt : Wx =

−1 0 1

−1 0 1

−1 0 1

et Wy =

1 1 1

0 0 0

−1 −1 −1

opérateur ”croix” : Wx =

0 0 0

−1 0 1

0 0 0

et Wy =

0 1 0

0 0 0

0 −1 0

Les composantes en x et y du gradient, au centre de la fenêtre G, sont alors estimées par :

Gx = G⊗Wx

Gy = G⊗Wy

Avec ces formules, et quelque soit la paire de masques utilisée, on constate qu’on calcule simplement

une différence entre les intensités de gris dans le sens horizontal pour Gx, et dans le sens vertical

pour Gy. On peut donc considérer que Gx et Gy sont les composantes d’un vecteur−→G indiquant

G Gy

Gx

Fig. 6.41: Illustration du vecteur gradiant

7Si on range les 9 éléments de ces deux matrices dans deux vecteurs colonnes a et b de dimension 9, l’opérateur

A⊗B revient à calculer le produit scalaire aT b.

158

Page 160: Introduction à la robotique

l’amplitude et la direction du gradiant de niveau de gris au centre de la fenêtre considérée. Le point

situé au centre de la fenêtre G sera reconnu comme appartenant au contour si le module°°°−→G°°° du

gradient est supérieur à un seuil donné. Accessoirement, la direction du gradiant (orthogonal à la

direction tangente au contour) sera donnée par l’angle :

ϑ = arctan

µGy

Gx

¶Opérateurs 2 × 2 Il s’agit de versions simplifiées d’approximations des dérivées qui n’utilisent

qu’une fenêtre de 2× 2 pixels. On peut citer :

— l’opérateur ligne : D = g(x, y)− g(x, y − 1)

— l’opérateur mixte ligne/colonne : D = |g(x, y)− g(x, y − 1)|+ |g(x, y)− g(x− 1, y)|

— l’opérateur de Roberts : D = |g(x, y)− g(x− 1, y − 1)|+ |g(x, y − 1)− g(x− 1, y)|

les opérateurs 3 × 3 de gradients circulaires Nous les citons car ils permettent le codage

direct des contours selon la technique de Freeman. Le principe est globalement le même que pour

la méthode de gradiant basée sur les opérateurs 3× 3, avec pour différence que nous travaillons ici

de manière discrète. On définit pour cela huit masques Hi qui correspondent au 8 directions de la

rose des vents illustrées sur la figure 6.42.

Fig. 6.42: Directions de la rose des vents

159

Page 161: Introduction à la robotique

H1 =

1 1 1

1 −2 1

−1 −1 −1

H2 =

1 1 1

−1 −2 1

−1 −1 1

H3 =

−1 1 1

−1 −2 1

−1 1 1

H4 =

−1 −1 1

−1 −2 1

1 1 1

nord nord-est est sud-est

H5 =

−1 −1 −11 −2 1

1 1 1

H6 =

1 −1 −11 −2 −11 1 1

H7 =

1 1 −11 −2 −11 1 −1

H8 =

1 1 1

1 −2 −11 −1 −1

sud sud-ouest ouest nord-ouest

La valeur du gradiant en un point sera alors donnée par la formule :

D = maxHi

H1 ⊗G, H2 ⊗G, ...Hi ⊗G, ...H8 ⊗G

et on décidera que le centre de la fenêtre G appartient au contour si cette valeur est supérieure à

un seuil donné. Simultanément, on retiendra la valeur de l’indice i qui donne, de façon discrète, la

direction de ce gradiant.

Ceci dit, il n’y a pas de miracle : toute opération de dérivation numérique s’accompagne pres-

qu’inévitablement de bruit, comme on peut le constater sur les figures 6.43 et 6.44.

Fig. 6.43: Image originale

Fig. 6.44: Résultat de l’extraction de contour avec un opérateur simple

160

Page 162: Introduction à la robotique

Ces diverses méthodes d’extraction de contour ont été abondamment testées et comparées dans

la littérature. Les ”packages” logiciels de ”visionique” les comprennent tous, et les utilisateurs

peuvent les appeler lors du développement d’applications. Toutefois la mise en oeuvre des algo-

rithmes de détection des contours sur un calculateur conventionnel conduit à de longs temps de

calcul, aussi de nombreux constructeurs ont réalisé des processeurs câblés de détection de contours

à la volée à la cadence vidéo. La figure 6.45 en donne un exemple.

Fig. 6.45: La photo du haut représente un coup de billard avec un temps de pose assez long

qui permet de visualiser les traînées des boules. La photo du bas montre les images délivrées par

l’extracteur de contour qui traite l’image complète à la cadence vidéo.

Méthode de suivi

Cette méthode consiste à binariser l’image au préalable et à suivre le contour des objets. On

explore l’image (de bas en haut et ligne par ligne) jusqu’au moment où on trouve un pixel appar-

tenant à l’objet. Ce pixel est noté pixel 1 sur la figure 6.46. On applique alors l’ensemble de règles

suivantes :

— quand on se trouve sur un pixel de l’objet, on tourne à gauche,

— quand on se trouve sur un pixel de l’arrière-plan, on tourne à droite,

161

Page 163: Introduction à la robotique

Fig. 6.46: Extraction de contour par suivi séquentiel

— on arrête le processus lorsqu’on retombe sur le pixel de départ (c’est-à-dire le pixel 1).

Le chemin parcouru est indiqué en pointillé. Les pixels appartenant au contour de l’objet sont

notés 1,2,3,... Cet algorithme ne fournit le contour correct de la région correspondant à l’objet que

si celle-ci ne contient que des pixels connexes de type 4. En cas de connexité de type 8, certaines

parties de la région pourraient être prises ou ignorées par le suivi de contour : tout dépend du point

de départ de l’algorithme !

6.4.3 Extraction de primitives géométriques dans un contour : la transforméede Hough

La transformée de Hough a été historiquement introduite pour la détection de droites dans

des images binaires. L’image originale a donc préalablement fait l’objet d’un calcul de gradient et

l’image gradient a été ensuite binarisée.

Considérons un pixel blanc quelconque P de coordonnées (x, y) appartenant à cette image

binaire. L’équation d’une droite passant par ce point, est :

y = ax+ b (6.2)

Cette même équation définit dans l’espace (a, b) - dit espace des paramètres - une droite

b = −xa+ y

dont les coefficients sont −x (coefficient angulaire) et y (ordonnée à l’origine). Les différents points

(a, b) de cette dernière droite définissent donc toutes les droites passant par P dans le plan (x, y).

En d’autres termes, à tout point P de l’espace (x, y) correspond une droite dans l’espace (a, b) et in-

versement. Cette dualité est schématisée sur la figure 6.47. Nous voyons donc que la recherche d’une

droite dans le plan-image se ramène à la recherche d’un point dans l’espace dual des paramètres.

On peut donc imaginer la procédure suivante :

162

Page 164: Introduction à la robotique

Fig. 6.47: Plan image et espace des paramètres

— on définit en chaque point (a, b) du plan des paramètres un compteur C(a, b)

— pour chaque point blanc P (x, y) de l’image gradient, on incrémente les compteurs C(a, b)

correspondant aux points de coordonnées (a, b) qui vérifient l’équation : y = ax+ b

— s’il existe réellement une droite y = ax+ b dans l’image, le compteur C(a, b) correspondant

aura une valeur élevée à la fin de la procédure.

L’identification des droites présentes dans l’image revient donc à identifier les compteurs C

ayant une valeur élevée. Si on considère le plan (a, b) comme une image dont la luminosité reflète

la valeur des compteurs associés, les points lumineux de l’image duale correspondent aux droites

de l’image de base. Pour obtenir ces dernières, il suffit donc de binariser l’image duale.

Les principes que nous venons d’énoncer demandent certaines adaptations pour que l’on puisse

en faire un usage pratique. En effet, l’équation 6.2 ne convient pas pour des droites verticales.

Plutôt que d’utiliser cette forme d’équation, on utilisera la forme polaire :

% = x cos θ + y sin θ

dans laquelle les paramètres sont % et θ (voir figure 6.48). A chaque point (x, y) de l’image correspond

alors une courbe sinusoïdale dans l’espace des paramètres, mais cela ne change rien au principe de

la méthode dont on peut voir une illustration sur la figure 6.48.

( , )x y

x

y

ρ

ϑ

Fig. 6.48: Equation polaire d’une droite

163

Page 165: Introduction à la robotique

6.4.4 Opérations diverses

Il s’agit d’opérations utilisées fréquemment dans les applications de traitement d’images. Citons

en quelques-unes à titre d’exemples.

Signature d’un objet ou codage polaire

Si on a extrait le contour d’un objet et déterminé son centre de gravité, on peut à partir d’un

axe Ox, tracer la courbe r = r(θ) quand θ varie de 0 à 2π. Cette courbe s’appelle la signature ou

le codage polaire de l’objet.

O 2π

r

On observera que la signature est un invariant en translation grâce au choix du centre de gravité

comme centre. Par contre, elle n’est pas invariante en rotation : elle est périodique de période 2π

mais dépend de l’orientation de l’objet (et du point choisi comme point de départ). La signature

peut néanmoins servir à classifier un objet (ou déterminer son orientation) : la comparaison d’une

signature inconnue à une signature d’objet donné se fera en recherchant un maximum de corrélation

entre cette signature mesurée et les signatures obtenues par décalage (horizontal) de la signature

de référence.

La signature peut aussi servir à d’autres applications, comme illustré sur la figure 6.49.

Fig. 6.49: Détection de défaut, à l’aide de la signature

164

Page 166: Introduction à la robotique

Histogramme des cercles de rayons croissants.

Fig. 6.50: Empreinte digitale d’un objet

Si on trace une série de cercles, tous centrés autour du centre de gravité d’un objet, et que l’on

trace la fonction pourcentage de la surface de l’objet couverte par le cercle en fonction du rayon,

on obtient une courbe qui peut tenir lieu d’empreinte digitale de l’objet (figure 6.50).

6.5 Modélisation des images

6.5.1 Descriptions des contours

Codage de Freeman

Si on reprend les notations de codage des gradients circulaires on peu coder aisément un contour

fermé par une chaîne numérique. Cette représentation associe un attribut gradient à chaque pixel

du contour. Sur l’exemple de la figure 6.51, cela donne :

88233333344446667772111661177

Le codage de Freeman est invariant en translation de l’objet mais pas en rotation. A la discrétisation

près, une rotation engendrera une variation modulo 8 des chiffres du codage. De plus, le codage

dépend du point choisi comme point de départ. Comme la chaîne est cyclique, un changement de

point de départ provoquera une permutation cyclique des chiffres contenu dans le codage. Pour

classifier un objet, il faudra donc faire une double opération :

— calculer les 8 variantes obtenues par incrémentation (modulo 8) des valeurs contenues dans

la chaîne du contour observé

— comparer toutes ces variantes à toutes les permutations cycliques du codage du contour de

référence.

On peut aussi compacter aisément la représentation en convenant par exemple que :

i p = i, i, ..., ip fois

165

Page 167: Introduction à la robotique

Fig. 6.51: Illustration du codage de Freeman

Codage par différence

En remplaçant la chaîne de Freeman par une chaîne contenant les différences (modulo 8) entre

chaque paire de valeurs successives, par exemple

88233333344446667772111661177

devient

0210000010002001003700503060

on s’affranchit du problème de non invariance en rotation. Mais le problème du choix du point de

départ subsiste...

Codage par concavité-convexité

Cette technique associe un attribut à chaque sommet Sk :

Sk = 0 si le sommet est convexe

Sk = 1 si le sommet est concave

A chaque sommet d’un contour, le test de convexité sur Sk s’exprime simplement en calculant :

x0 =1

2(xk+1 + xk−1)

y0 =1

2(yk+1 + yk−1)

et

si¡x0, y0

¢ ∈ objet, alors Sk = 0

si¡x0, y0

¢/∈ objet, alors Sk = 1

166

Page 168: Introduction à la robotique

Cette technique simple s’applique bien lorsque les contours peuvent être approximés par des seg-

ments de droites. Chaque sommet peut se voir associé un second attribut qui peut être la longueur

du segment de droite suivant.

Fonction intrinsèque courbure

La fonction intrinsèque d’un contour est définie en tout point par la courbure en fonction de

l’abscisse curviligne :

K(s) =dθ

ds

ou θ représente la pente de la courbe (du contour). L’intérêt de cette fonction est son invariance en

rotation et translation. De plus un changement d’origine des abscisses curvilignes correspond à une

simple translation horizontale de la courbe K(s). En numérique, l’algorithme le plus simple pour

déterminer K(si) est le suivant :

θ(si) ' arctanyi − yi−1xi − xi−1

K(si) ' θ(si)− θ(si−1)

Le lecteur attentif constatera la similitude entre cette fonction de courbure et la chaîne des diffé-

rences !

6.5.2 Description des primitives surfaces

Une région sera caractérisée par un niveau de gris uniforme ou une texture uniforme délimite

par un contour fermé. Le problème de l’analyse des textures dépassant le cadre de ce cours, nous

ne l’aborderons pas.

Codage à ”longueur variable”.

Cette représentation est particulièrement bien adaptée au système d’acquisition d’image ligne

par ligne et permet une bonne compression de données sans nécessiter d’information a priori sur

les contours de la région. Elle peut être vue comme une structure de listes. Chaque élément de la

liste principale correspond à une ligne y du balayage de l’image. Chaque ligne de balayage est codée

comme une liste des coordonnées x des points sur la ligne : la première coordonnée x correspond

au début du segment appartenant à la région, la suivante correspond à la fin de ce segment, et ainsi

de suite pour les autres segments de la région. La liste des coordonnées relative à une ligne dépend

donc du nombre de segments de l’objet situé sur cette ligne (d’où l’appellation codage à longueur

variable). Comme illustré sur la figure 6.52, on peut tirer de cette liste le nombre hi de pixels de

chaque ligne i appartenant à l’objet. Par sommation des hi on obtient la surface m de l’objet (i.e.

le nombre total de pixels de l’objet). De même, grâce aux formules :

yG =1

m

Xi

yi hi

Iy =1

m

Xi

y2i hi

167

Page 169: Introduction à la robotique

Fig. 6.52: Illustration du codage à longeur variable

Fig. 6.53: Extraction des informations ”colonnes” à partir du codage ligne par ligne

168

Page 170: Introduction à la robotique

on obtient respectivement l’ordonnée yG (par rapport au bas de l’image, si yi représente l’ordonnée

de la ligne i) du centre de gravité de l’objet et le moment d’inertie Iy (également par rapport au

bas de l’image). Les formules ci-dessus tirent parti du fait que l’objet a été codé ligne par ligne. En

codant colonne par colonne, on obtiendrait immédiatement xG, l’abscisse du centre de gravité, et

Ix le moment d’inertie par rapport à un axe vertical. Toutefois, une fois le codage ligne par ligne

réalisé (i.e. l’image n’est plus disponible en tant que telle), quelques opérations simples permettent

de retrouver aussi xG et Ix. En effet (voir figure 6.53), du codage ligne on peut déduire les indices

des pixels qui ”entrent” dans l’objet (noté +1), et les indices de ceux qui en sont ”sortis” (notés

−1). Comme illustré sur la figure 6.53, en dénombrant dans les listes relatives aux lignes le nombre

de fois que, par exemple, le chiffre 7 apparaît en position impaire, nous déduisons que la ”colonne

7” rentre deux fois dans l’objet. Ce même chiffre 7 apparaît une fois en position paire dans les

listes : la colonne 7 est donc aussi sortie une fois de l’objet. Globalement, la colonne 7 couvre un

pixel (2− 1 = 1) de l’objet en plus que la colonne précédente : c’est ce que représente la valeur v7.

Les sommes partielles vj =Pji=1 vi nous donnent ainsi le nombre de pixels contenus dans chaque

colonne j, au même titre que les hj le faisaient pour les lignes. Ainsi, nous pouvons calculer xG

et Ix sans avoir à re-coder l’image. D’autres opérations peuvent être réalisées sur de telles listes,

comme par exemple les opérations d’union et d’intersection.

Codage par arbre quaternaire (quad-tree).

Le codage par arbre quaternaire exploite la cohérence bidimensionnelle de l’image en la décom-

posant récursivement en zones carrées de même intensité. Le code généré possède une structure

d’arbre où la racine correspond à l’image entière. Chaque zone de niveau n de l’image est décompo-

sée en quatre quadrant, au niveau n+1 représentés chacun dans l’arbre par un noeud. Les noeuds

sont des feuilles quand les quadrants qu’ils représentent sont homogènes, autrement ils sont de

nouveau subdivisés en zones plus petites. La subdivision, et donc la croissance de l’arbre, s’arrête

lorsqu’une résolution suffisamment fine est atteinte ou lorsque tous les noeuds sont des feuilles.Un

Fig. 6.54: Codage d’une primitive surface par quad-tree

des principaux avantages de ce codage vient de sa structure hiérarchisée : un noeud non terminal

du graphe correspond à une zone dans l’image définie par le sous graphe dont la racine est ce

noeud. Cette propriété permet d’effectuer des opérations d’unions et d’intersections dans l’image

169

Page 171: Introduction à la robotique

en reportant ces opérations sur la structure des arbres. Le principal inconvénient provient du fait

qu’une modification même infime de l’image (modification d’un pixel), peut entraîner des modi-

fications de la structure de l’arbre. De plus cette représentation n’est pas invariante vis-à-vis des

transformations rigides (homothétie, translation, rotation).

Description par attributs

Dans le cas des images binaires, une primitive surface est en fait un objet. Dans le cas d’une

image multiniveaux, un objet est formé par un ensemble de primitives surface liées 2 à 2 par des

relations de connexité ou d’inclusion. A chaque primitive surface, on peut affecter des attributs qui

la caractérisent. Par exemple la surface, le nombre d’inclusions (trous) dans une région, le périmètre

de la région, les rayons maximum et minimum des cercles centrés au centre de gravité, la surface du

rectangle circonscrit minimum, ...(figure 6.55). On construit fréquemment des ratios sans dimension

Fig. 6.55: Exemples d’attributs

qui sont des attributs dérivés, comme par exemple : P2

A = perimetre2

surface , δA =

diametresurface ... qui sont des

invariants par translation rotation et homothétie. La figure 6.56 permet d’intuiter immédiatement

l’utilisation de ces ratios dans des domaines tels que la cytologie, la métallurgie...Les moments

généralisés sont des attributs calculables sur des images quelconques. Si on associe à chaque pixel

une fonction F (i, j) (par exemple son niveau de gris), le moment d’ordre (p, q) est défini par :

Ψpq =Xi

Xj

xpi yqj F (i, j)

Sur une image binaire (F (i, j) = 1 si (i, j) ∈ objet), le moment d’ordre 0 représente la surface

A = Ψ00 de l’objet. Les moments d’ordre 1

Ψ10 =Xi

Xj

xi F (i, j) et Ψ01 =Xi

Xj

yj F (i, j)

permettent de calculer les coordonnées du centre de gravité par :

xG =Ψ10

A, yG =

Ψ01

A

170

Page 172: Introduction à la robotique

Fig. 6.56: Attributs sans dimension

Les moments centrés d’ordre (p, q), définis par :

Ψpq =Xi

Xj

¡xi − xG

¢p ¡yi − yG

¢pF (i, j)

sont invariants par translation de l’image. Les moments d’ordre 2

Ψ20 =Xi

Xj

¡xi − xG

¢2F (i, j)

Ψ02 =Xi

Xj

¡yi − yG

¢2F (i, j)

Ψ11 =Xi

Xj

¡xi − xG

¢ ¡yi − yG

¢F (i, j)

permettent notamment de trouver les axes principaux d’inertie de l’objet.

6.5.3 Reconnaissance des formes et classification

L’étape reconnaissance de forme constitue la phase finale du processus de vision par ordinateur.

Dans les 4 étapes classiques d’un processus d’automatisation : mesure-modélisation-identification-

commande, elle correspond à la phase de commande. En fait, elle conduit à une décision binaire sur

un objet accepté ou refusé (contrôle dimensionnel, contrôle qualité) ou encore à une décision sur

la position et l’orientation d’un objet destiné à être manipulé ou suivi par un système robotique

(suivi de joint de soudure ou préhension d’objets par un robot). L’expression reconnaissance de

formes recouvre donc ici un sens large et représente notamment la reconnaissance d’une forme avec

classification, la reconnaissance d’une position d’équilibre d’un objet, la reconnaissance de défauts

(contrôle métrologique ou d’aspect), la localisation d’un objet. Il existe de nombreux ouvrages sur

ce sujet et nous nous limiterons au survol des principales méthodes utilisées.

171

Page 173: Introduction à la robotique

Fig. 6.57: Localisation d’un objet à partir des moments

Superposition et comparaison directe d’images

Considérons la cas de la reconnaissance de caractères dactylographiés. Notons MOk le modèle

d’objet de la classe k qui est par exemple une matrice N ×N codée en 0 et 1 associée à chacune de

lettres de l’alphabet. Soit IM l’image de dimension L×L associée à une lettre à reconnaître (dans

l’exemple : la lettre A). On va rechercher sur les 26 classes d’objets (représentés par 26 masques

MOk de lettres) lequel correspond le mieux à la lettre inconnue au sens d’un critère.

méthode des moindres carrés sur les pixels : On déplace chaque masque MOk sur l’image

IM selon x et y de façon à minimiser une distance dk(x, y)

δk = minx,y

dk(x, y) = minx,y

NXi=1

NXj=1

[MOk(i, j)− IM(i+ x, j + y)]2

On obtient ainsi M grandeurs δk (ici 26) et on prend pour décision finale la valeur de k qui

correspond à

mink

δk

172

Page 174: Introduction à la robotique

cross corrélation normalisée On déplace chaque masque MOk de la même manière et on

calcule8 pour chaque valeur de k :

δk = maxx,y

PNi=1

PNj=1MOk(i, j) IM(i+ x, j + y)qPN

i=1

PNj=1 [MOk(i, j)]

2qPN

i=1

PNj=1 [IM(i+ x, j + y)]2

On affecte alors l’objet inconnu à la classe k pour laquelle δk est maximum (idéalement égal à 1).

Ces méthodes sont bien évidemment sensibles au bruit sur les images et supposent les objets

orientés toujours de la même manière. Les comparaisons sont faites en effet en déplaçant les masques

en translation x et y et non en rotation.

Reconnaissance par arbre de classification

Nous allons expliquer cette méthode sur un exemple simple qui est la reconnaissance des 10

chiffres (0, 1, 2....8, 9) représentés sur des matrices 5× 4 selon les codes ci-dessous :

Pour construire un arbre de décision binaire, on construit une matrice 5 × 4 et on note dans

chaque case le nombre de classes qui sont noires dans cette case :

Si N est le nombre de formes à reconnaître (ici N = 10), un test binaire sur une case qui

contient le nombre N/2 (ici la case (1, 4) qui contient 5) permet de diviser l’espace des formes en

2 sous-ensembles de cardinal N/2. Le processus est répété par chaque sous-ensemble ainsi crée. La

puissance de discrimination est 2 pour n tests binaires effectués en séquence dans l’arbre de décision.

La méthode est donc très rapide mais elle est très sensible aux petites variations de formes.

D’autres approches sont utilisées pour construire des arbres de décision avec des tests binaires

ou plus et sur des modèles de type structurels ou autres.8 remarquez l’analogie de cette formule avec la formule 6.1

173

Page 175: Introduction à la robotique

Classification sur modèles paramétriques.

Position du problème - hypothèses de travail On suppose que l’on dispose de M classes

d’objets ou de ”formes” (par exemple 26 lettres différentes en lecture automatique - 15 types de

pièces mécaniques...) :

— Ω est ’ensemble des classes : Ω = Ω1,Ω2,Ω3,Ω4, ...ΩM— L’objet inconnu est caractérisé par un vecteur de N paramètres (attributs) :

X = [x1, x2, ...xi, ...xN ]T qui est obtenu à partir de l’analyse d’image et de la modélisation

— Pour ”reconnaître” une forme, il est évident qu’il faut préalablement la ”connaître”, ce qui

nécessite une phase d’apprentissage. La connaissance apprise est consignée dans un tableau

de vecteurs Y ki où k est l’indice des classes (donc k varie de 1 à M) et où i est l’indice d’un

échantillon appris dans cette classe k (i varie de 1 à Mk où Mk est le nombre de prototypes

appris dans la classe k). Pour chacun des échantillons i de chaque classe k, Y ki contient donc

les valeurs apprises pour les différents paramètres (attributs) :

Y ki =

hY ki,1, Y

ki,2, Y

ki,3, ...Y

ki,N

iAssimilons ces notations sur 2 exemples

exemple n1 : on a 3 types d’objets différents sur lesquels on peut relever 2 mesures.Sur les 3 classes on a appris respectivement6, 8, 10 prototypes différents.

exemple n2 . Il s’agit de reconnaître des objets plats. Il y a 3 classes (M = 3) et 3

mesures sur chaque échantillon :x1 = A, surface de l’objet

x2 = L, périmètre de l’objet

x3 = S, surface des trous dans l’objetDans l’espace des paramètres, les différents échantillons appris se trouvent dans des ellipsoïdes

autour de la représentation moyenne de la classe.

174

Page 176: Introduction à la robotique

Classification par distance euclidienne minimale. Cette méthode la plus simple et la plus

usitée suppose que l’on puisse définir une métrique et que les diverses composantes xi du vecteur

formé puissent contribuer proportionnellement au critère de classification. Examinons le cas le plus

simple où il y a un seul prototype par classe :

Y k =£Y k1 , Y k

2 , Y k3 , ...Y k

N

¤prototype connu de la classe k,

X = [x1, x2, ...xi, ...xN ]T vecteur mesuré pour l’objet inconnu.

On calcule la distance euclidienne de l’inconnue X à la classe k par :

dk =°°°X − Y k

°°° =q(X − Y k)T(X − Y k)

On calcule ces valeurs dk pour k = 1,M et on affecte X à la classe Ωi pour laquelle di est minimale.

Si plusieurs prototypes par classe ont été appris, on peut décider d’affecter X à la classe qui

présente le plus proche voisin :

dk = mini=1,Mk

°°°X − Y ki

°°° =q¡X − Y ki

¢T ¡X − Y k

i

¢En choisissant la valeur minimale di, la forme inconnue X sera affectée à la classe Ωi qui possède

le prototype le plus proche de X.

Une version améliorée et bien connue est la méthode KNN (K Next Neighbours, ou K plus

proches voisins), pour laquelle on prend pour distance de la forme X à la classe Ωi la somme des

distances des K plus proches prototypes de la classe Ωi à X.

Enfin si on souhaite utiliser tous les échantillons traités dans la phase apprentissage on utilisera

la distance point à classe minimale :

dk =1

Mk

Xi=1,Mk

q¡X − Y k

i

¢T ¡X − Y k

i

¢

175

Page 177: Introduction à la robotique

Classification statistique

La classification par distance euclidienne minimale ne prend pas en compte 2 éléments im-

portants. Chaque classe k se voit affecter le même poids. Or il arrive que les classes ne soient

pas équiprobables et que les probabilités des classes soient connues à priori (pair exemple dans la

langue française, en lecture automatique, les diverses lettres de l’alphabet ne se rencontrent pas

avec la même fréquence, ou encore si on fait du tri de pièces mécaniques on peut savoir à priori

qu’il y a 30% de pièces de type A, 60% de type B et seulement 10% de type C). Le deuxième point

important est que dans l’espace des paramètres X, les divers points n’ont pas la même probabilité

de représenter une forme réelle.

Définissons :

— p(X) : la fonction densité de probabilité d’obtenir au terme du traitement de l’image un jeu

de valeurs X pour les paramètres. Cette fonction n’a qu’un existence théorique : il nous est

évidemment impossible de déterminer l’allure de cette fonction p(X) en toute généralité.

— p(X /Ωi) : la fonction densité de probabilité (probabilité conditionnelle) d’obtenir au terme

du traitement un jeu de valeurs X pour une pièce de la classe Ωi. A l’opposé de la précédente,

cette fonction peut être déterminée au cours d’une phase d’apprentissage. En faisant défiler un

nombre suffisant de pièces de la classe Ωi sous la caméra, nous pouvons appliquer le traitement

et déterminer pour chacune d’elles les valeurs de X. Nous obtiendrons ainsi statistiquement

une estimation de cette fonction p(X /Ωi).

— p(Ωi) : la probabilité de la classe Ωi. Cette fonction est supposée connue à priori, par exemple :

30% de pièces de type A, 60% de type B, etc...

— p(Ωi /X) : la fonction densité de probabilité (conditionnelle) que la pièce appartienne à la

famille Ωi étant donné une mesure X. Cette dernière fonction est celle qui nous intéresse : c’est

sur base de sa valeur que, ayant obtenu une mesure X, nous déciderons si le pièce appartient ou

non à la classe Ωi. Malheureusement, nous ne pouvons pas la déterminer expérimentalement

cette fonction par apprentissage.

Supposons que nous ayons seulement 2 classes Ω1 et Ω2 et que étant donné une valeur X on

puisse calculer p(Ωi / X). Il est évident que la décision d’affectation de X sera :

X ∈ Ω1 si p(Ω1 /X) > p(Ω2 /X)

ou

X ∈ Ω2 si p(Ω2 /X) > p(Ω1 /X)

Mais nous ne connaissons pas les valeurs des p(Ωi /X). En utilisant la formule de Bayes :

p(Ωi /X) p(X) = p(X /Ωi) p(Ωi)

on établit néanmoins facilement la règle de décision baysienne dans laquelle on calcule un rapport

de vraisemblance L(X) :

L(X) , p(X /Ω1)

p(X /Ω2)

176

Page 178: Introduction à la robotique

et un seuil de décision :

S , p(Ω2)

p(Ω1)

Alors :

X ∈ Ω1 si L(X) > S

et

X ∈ Ω2 si L(X) ≤ S

Cette règle se généralise au cas multiclasse sous le nom de classifieur baysien : on calcule une

fonction de décision :

dk = p(X /Ωk) p(Ωk)

et on décide :

X ∈ Ωi si p(X /Ωi) p(Ωi) > p(X /Ωk) p(Ωk) ∀k = 1, ...M

La mise en couvre du classifieur est traduit par le graphe de la figure 6.58. Il traduit l’idée simple

suivante : on affecte l’inconnue à la classe i pour laquelle étant donné X, la probabilité à poste-

riori d’avoir p(X /Ωi) est la plus grande ; mais cette probabilité étant toutefois pondérée par la

probabilité intrinsèque de la classe elle-même.

Fig. 6.58: Schéma du classifieur baysien

177

Page 179: Introduction à la robotique

Classification séquentielle : le SPRT.

Dans les méthodes de classification statistiques exposées précédemment, on acquiert dès le

départ la totalité des mesures X. Dans la classification séquentielle, on acquiert x1, et on cherche à

classer. Si cela est possible, on s’arrête ; sinon on prend une deuxième mesure x2...et ainsi de suite.

L’intérêt est l’économie de mesures et éventuellement le gain de temps. Par contre le problème du

nombre de mesures est remplacé par celui de l’ordre dans lequel on effectue ces mesures.

Cette approche est connue sous le nom de ”SPRT” : Séquentiel Probabilité Ratio Test, dont

nous expliquons le principe sur un problème a 2 classes. A l’étape n, on calcule un rapport de

vraisemblance séquentiel :

Ln =p(x1, x2, ...xn /Ω1)

p(x1, x2, ...xn /Ω2)

Ln appartient à l’intervalle [0,∞]. Si Ln = ∞, alors on peut dire que X ∈ Ω1. Si Ln = 0, on dira

de même que X ∈ Ω2. Par contre, si Ln = 1, on ne peut évidemment rien dire. Par ”précaution”,

on va alors se donner 2 seuils A et B qui divisent [0,∞] en 3 régions.

Il reste évidemment à choisir A et B. On donne à priori :

l21 = probabilité d’affecter X à.Ω2 alors que X ∈ .Ω1

l12 = probabilité d’affecter X à.Ω1 alors que X ∈ .Ω2

On calcule alors simplement :

A =l21

1− l21B =

l121− l12

On notera que cette méthode n’est guère utilisable (et source d’économies dans la pratique) que si

les mesures sont indépendantes, c’est-à-dire si :

p(x1, x2, ...xn /Ωi) = p(x1 /Ωi) p(x2 /Ωi) ... p(xn /Ωi)

178

Page 180: Introduction à la robotique

Bibliographie

[1] ‘Génération et identification des lois du mouvement’. Technical report.

[2] ‘http ://www.ifr.org’. Technical report.

[3] ‘http ://www.jautomatise.com’. Technical report.

[4] ‘R. Gorez : Notes du cours d’Introduction à la robotique, 1991’. Technical report, UCL,

Louvain-la-Neuve.

[5] Boothroyd, G. and P. Dewhurst : 1989, Product Design for Assembly. Boothroyd Dewhurst

Inc.

[6] Brain Carisle, e. a. : 1994, ‘Pivoting Gripper for Feeding Industrial Parts’. In : IEEE Interna-

tional Conference on Robotics and Automation Proceedings. pp. 1650—1655.

[7] Brown, R. G. and R. C. Brost : 1997, ‘A 3-d Modular Gripper Design Tool’. In : IEEE

International Conference on Robotics and Automation Proceedings. pp. 2332—2339.

[8] Frank L. Merat, e. a. : 1997, ‘Advances in Agile Manufacturing’. In : IEEE International

Conference on Robotics and Automation Proceedings, Vol. 54 of IEEE International Conference

on Robotics and Automation Proceedings. pp. 11216—1222.

[9] Greg Causey, e. a. : 1997, ‘Design of a Flexible Parts Feeding System’. In : IEEE International

Conference on Robotics and Automation Proceedings. pp. 1235—1240.

[10] Walsh, S. : 1984, ‘Gripper design : guidelines for effective results’. In : Manufacturing Engi-

neering, Vol. 93 of Manufacturing Engineering. pp. 53—55.

179