Upload
lamine-algeria
View
328
Download
4
Tags:
Embed Size (px)
Citation preview
MECA 2732 : Introduction à la robotique
Titulaires : P. Fisette, H. Buyse, J.C. Samin
10 novembre 2004
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
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
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
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
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
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
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
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
ê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
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
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
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
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
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
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
— 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
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
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
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
— 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
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
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
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
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
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
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
— à 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
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
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
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
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
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
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
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
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
— 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
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
à 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
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
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
Fig. 2.9: Transmission par vis sans fin et parallélogramme
Fig. 2.10: Transmission par chaînes
41
— 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
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
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
Fig. 2.11: Préhension par constriction dédicacée
Fig. 2.12: Préhension par constriction universelle
45
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
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
Fig. 2.15: Mécanismes de transmission
48
Fig. 2.16: Exemples de pinces à action mécanique
49
Fig. 2.17: Autres préhensions mécaniques
50
Fig. 2.18: Autres types de préhenseurs
51
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
Fig. 2.20: Formules de calcul de serrage
53
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
— 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
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
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
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
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
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
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
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
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
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
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
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
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
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
— 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
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
ˆ
ˆ
ˆˆ
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
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
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
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
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
ˆ
ˆ
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
ˆ
ˆ
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
2τ
µ∆C
TC − TB− ∆B
TB − TA
¶de telle sorte que la vitesse :
x =t− (TB − τ)
2τ
µ∆C
TC − TB
¶− t− (TB + τ)
2τ
µ∆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
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
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
2τ
µ∆C
TC − TB− ∆B
TB − TA
¶ce qui donne successivement
x =t− (TB − τ)
2τ
µ∆C
TC − TB
¶− t− (TB + τ)
2τ
µ∆B
TB − TA
¶et x(t) = xB +
(t− (TB − τ))2
4τ
µ∆C
TC − TB
¶− (t− (TB + τ))2
4τ
µ∆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
4τ
µϑAB
TB − TA
¶!·Rot
ÃnBC , −(t− (TB − τ))2
4τ
µϑ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
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
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
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
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
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
Fig. 4.17:
Fig. 4.18: Diagramme de couples moteurs (4 premiers axes)
100
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
— 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
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
Fig. 5.2: Eclairage structuré
Fig. 5.3: Eclairage structuré : vue de dessus
104
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
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
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
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
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
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
Fig. 5.13: Principe de Lorentz
Fig. 5.14: Capteur à effet HALL
111
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
— 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
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
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
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
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
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
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
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
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
— 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
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
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
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
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
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
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
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
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
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
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
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
Fig. 6.52: Illustration du codage à longeur variable
Fig. 6.53: Extraction des informations ”colonnes” à partir du codage ligne par ligne
168
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
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
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
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
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
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
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
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
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
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
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