Cet ouvrage fait partie de la bibliothèque YouScribe
Obtenez un accès à la bibliothèque pour le lire en ligne
En savoir plus
ou
Achetez pour : 49,00 €

Lecture en ligne + Téléchargement

Format(s) : PDF

sans DRM

Planification et contrôle en robotique: application aux robots mobiles et manipulateurs (Traité des nouvelles technolo gies Série Robotique)

De
252 pages
Cet ouvrage présente un modèle général d'architecture pour un système robotique, composé de trois couches logicielles superposées. Ces trois niveaux de contrôle sont successivement détaillés, sur la base d'outils mathématiques et algorithmiques. Le cadre proposé s'applique aussi bien aux robots manipulateurs que mobiles.
1. Cinématique des robots manipulateurs et mobiles2. Actions reflexes et contrôle d'exécution3. Planification de trajectoiresConclusionAnnexesBibliographieIndex
Voir plus Voir moins

Traité des Nouvelles Technologies
série Robotique
Planification
et contrôle
en robotique
application aux robots mobiles
et manipulateurs
Pierre Tournassoud
niion s Planification et contrôle
en robotique COLLECTION DIRIGÉE PAR PHILIPPE COIFFET
Titres parus
Philippe COIFFET, La robotique, principes et applications. Ire édition, 198 6 ; 3e
édition revue et complétée, 1992.
Pierre GASPART, Langages de programmation de la robotique, 1987 .
Jean-Daniel BOISSONNAT, Bernard FAVERJON, Jean-Pierre MERLET, Techniques de la
robotique, t. 1 : architectures et commandes, 1988 ; t. 2 : perception et
planification, 1988.
Etienne DOMBRE, Wisama KHALIL, Modélisation et commande des robots, 1988.
Pierre TOURNASSOUD, Géométrie et intelligence artificielle pour les robots, 1988.
Jean-Pierre MERLET, Les robots parallèles, 1990. Traité des Nouvelles Technologies
série Robotique
Planificatio n
e t contrôle
e n robotique
application aux robots mobiles
et manipulateurs
Pierre Tournassoud
HERMES © Hermès, Paris, 1992
Éditions Hermès
34, rue Eugène Flachat
75017 Paris
ISBN 2-86601-322-0
ISSN 0981-7824 Sommaire
Avant-propos 7
Introduction 13
I Cinématique 27
1e des robots manipulateurs9
2e dess mobiles 5
II Actions réflexes et contrôle d'exécution 6
3 Navigation réflexe 71
4 Contrôle d'exécution 95
III Planification de trajectoires 113
5 Le problème de la planification de trajectoires
6 Les problèmes plans 13
7 Planification de trajectoires pour les robots manipulateurs 15
8 Les problèmes à grand nombre de degrés de liberté 179
9n de trajectoires pour les robots mobiles 19
Conclusion 20
Annexes 217
Table des matières détaillée 235
Bibliographie9
Index 24
5 Avant-propo s
Enjeux industriels et verrous techniques
Si les robots sont appelés à jouer un rôle de moins en moins timide
dans notre environnement quotidien, il reste cependant une distance
importante entre la vision de la robotique inspirée par la science fiction,
déjà vivace dans l'imaginaire des années 50, et les réalisations actuelles.
Bien des difficultés doivent encore être surmontées avant d'atteindre
la robustesse et la versatilité nécessaires pour explorer avec un
véhicule autonome un environnement mal connu, site industriel
après un incident, sol de la lune ou de Mars. Les modes d'utilisa­
tion des robots demeurent en effet peu flexibles : les trajectoires des
robots manipulateurs industriels leur sont encore le plus souvent
apprises manuellement pax un opérateur ; les trajectoires des robots
mobiles sont le plus souvent spécifiées par une séquence de points de
passage prédéterminés, matérialisés par exemple à l'aide de balises
magnétiques déposées dans le sol.
Ces procédés sont cependant peu à peu enrichis par l'utilisation en
ligne des mesures des capteurs embarqués, et par couplage avec des
modèles CAO de l'environnement. Les applications de cette robotique
"intelligente" sont nombreuses et variées, et concernent à la fois les
robots manipulateurs et les robots mobiles. 8
En ce qui concerne la manipulation avancée, on distingue deux
classes d'applications à la frontière du savoir-faire actuel :
• les tâches en environnement hostile (maintenance nucléaire ou
applications spatiales par exemple) ;
• les tâches non encore automatisées de l'industrie manufacturière,
nécessitant la gestion d'interactions complexes entre le robot et
son environnement, telles que des mouvements à proximité ou au
contact des objets (dans l'industrie automobile par exemple, les
tâches de montage, par opposition aux tâches de soudure et de
peinture déjà automatisées).
En ce qui concerne la robotique mobile, trois domaines d'applica­
tion apparaissent particulièrement prometteurs.
• Le premier d'entre eux est celui de la robotique mobile d'inter­
vention, avec des applications possibles dans le domaine nucléaire,
militaire, spatial, ou de la sécurité civile. Le développement de
robots mobiles d'intervention pose des problèmes de recherche
difficiles, en particulier celui de la navigation en environnement
imparfaitement connu, éventuellement sur un terrain accidenté.
• Le deuxième domaine est celui de la robotique de service en
intérieur. L'environnement est ici plus simple, structuré, connu
a priori, totalement ou au moins en partie. On envisage ainsi à
court terme l'utilisation opérationnelle de robots pour le nettoyage
ou la surveillance.
• Le troisième domaine est voisin du précédent, mais concerne les
applications en extérieur. Si l'environnement est de même structuré
et connu a priori, il est cependant sujet à divers aléas (météorologi­
ques, etc.). On peut noter comme illustration de cette classe d'appli­
cations les systèmes robotisés de transbordement rapide
dans les gares de marchandises ou les ports. Se posent alors des
problèmes de productivité qui se traduisent par des contraintes AVANT-PROPOS 9
d'exploitation sévères, telles que la vitesse élevée des véhicules et
la coordonnation de leurs mouvements, le tout dans de bonnes
conditions de sécurité.
Planification de trajectoires et actions réflexes
L'objet de la robotique est de gérer intelligemment l'interface entre
capteurs et actionneurs, pour des machines dotées de capacités de
mouvement et d'action sur l'environnement.
Les points durs de la robotique sont d'ordre matériel (temps de
réponse et fiabilité des mesures pour les capteurs, précision du contrôle
pour les actionneurs) et plus encore d'ordre informatique. Développer
une architecture logicielle pour un système temps réel complexe pose des
problèmes difficiles. L'objectif est en effet de parvenir à une intégration
tout à la fois :
• robuste pour être peu sensible aux aléas lors de l'exécution d'une
tâche particulière,
• ouverte pour être à même d'étendre l'architecture à diverses tâches.
Le résultat de l'exécution d'une tâche est conditionné par d'éventuelles
erreurs de contrôle ou des variations de l'environnement, même infimes :
s'il existe a priori un large ensemble de trajectoires solutions pour
une tâche donnée, de faibles perturbations de paramètres du système
peuvent conduire, pour une trajectoire de consigne particulière, à des
"catastrophes" telles qu'une collision avec les obstacles ou l'occultation
d'un capteur.
Pour atteindre les objectifs de robustesse et d'ouverture définis
cidessus, l'interface entre capteurs et actionneurs doit se situer simulta­
nément à plusieurs niveaux.
Au niveau inférieur, elle consiste en des actions réflexes, en boucle
fermée sur les mesures des capteurs. Les modèles utilisés à ce niveau
sont fondés sur une représentation géométrique simple des interactions 10
entre le robot et l'environnement, en vue de leur utilisation en temps
réel.
Au niveau intermédiaire, elle consiste en des mécanismes de
contrôle d'exécution, pour gérer un enchaînement d'actions réflexes
bien adaptées à l'environnement courant.
Au niveau supérieur, elle consiste en des algorithmes de
planification de trajectoires, de nature géométrique. La modélisa­
tion est ici nécessairement plus poussée : des outils mathématiques et
algorithmiques nombreux sont tout à la fois mis à contribution.
Ce sont ces fonctions, du type actions réflexes, contrôle d'exécution
et planification de trajectoires, qui donnent aux robots leur autonomie
d'action. Le degré d'intelligence du système sera alors caractérisé par
la dynamique des interactions avec l'environnement. Celle-ci résultera
de la capacité des comportements réflexes et du contrôle d'exécution
à prendre en charge un grand nombre de situations, ainsi que de la
capacité du planificateur à raisonner correctement sur l'environnement
et à réagir rapidement face à des situations imprévues.
Nous présentons successivement les trois niveaux de contrôle dans
cet ouvrage, en nous efforçant autant que possible de définir des outils
mathématiques et algorithmiques communs.
Une autre originalité du cadre mathématique et algorithmique
proposé est qu'il s'applique aussi bien aux robots manipulateurs
qu'aux robots mobiles, malgré les spécificités de chacun (chaînes
cinématiques complexes, déplacements dans l'espace tridimensionnel et
utilisation importante de modèles CAO pour les robots manipulateurs,
cinématiques non holonomes et utilisation plus intensive des capteurs
pour les robots mobiles). Des exemples d'application sont ainsi
systématiquement présentés pour ces deux familles de robots.
Pierre Tournassoud Remerciements
Je remercie tous ceux qui par leurs travaux ont contribué aux développements exposés
dans cet ouvrage, et en particulier Hélène Chochon, Fabrice Noreils, François-Xavier
Pôtel, François Richard et Emmanuel Schalit à Alcatel Alsthom Recherche, Bernard
Faverjon à PINRIA puis chez Aleph Technologies, Jean-Daniel Boissonnat, Elizabeth
Mehlman et Claude Samson à l'INRIA, enfin Jean-Philippe Nominé au CEA.
Des versions préliminaires de cet ouvrage ont servi de support de cours à l'Ecole
Nationale Supérieure des Techniques Avancées, à l'Ecole Nationale des Ponts et
Chaussées, au DEA d'Informatique de l'Université de Paris-Orsay, et au DEA de
Mathématiques Appliquées de Paris-Dauphine. Les réactions des étudiants ont contribué
à l'aspect final, plus didactique je l'espère, de l'ouvrage.
Philippe Coiffet enfin, directeur de la collection Robotique chez Hermès, a pris le
temps de se pencher sur des versions préliminaires du livre. Celui-ci a beaucoup bénéficié
de sa ténacité.
Cet ouvrage a été réalisé alors que l'auteur était chercheur à l'INRIA, puis respon­
sable du Groupe Robotique à Alcatel Alsthom Recherche. Sa rédaction n'aurait sans
doute pas été possible sans l'environnement scientifique de ces deux centres de recherche. Introduction
Système robotique
Un robot est un système mécanique composé de corps mobiles reliés
par des actionneurs qui lui donnent des capacités de mouvement dans
l'espace physique. Les structures mécaniques utilisées sont de types
très divers, qu'il s'agisse de robots manipulateurs constitués d'un bras
terminé par un outil ou un organe de préhension (pince, main
multidoigts, etc.), ou encore de robots mobiles avec des principes de locomo­
tion adaptés à divers environnements (roues, chenilles, pattes, etc.).
Un robot est équipé de capteurs multiples. Les mesures obtenues
permettent de construire des représentations de l'état du système et de
l'environnement bien adaptées à la tâche assignée, par la mise en œuvre
de techniques de fusion de données multi-capteurs.
L'architecture informatique supporte diverses fonctions du robot dans
une architecture de contrôle en modules. Les différentes possibilités
d'interaction entre ces modules réalisent des comportements élémen­
taires du robot. L'intelligence du système pourra alors être caractérisée
par le comportement global du robot et l'adéquation de ce comporte­
ment vis-à-vis de l'environnement.
Les interactions entre modules fonctionnels sont organisées en
diverses boucles de rétroaction entre capteurs et actionneurs.
L'originalité d'un système robotique, par rapport aux simples systèmes
asservis, est que l'interface entre capteurs et actionneurs se situe à
plusieurs niveaux, avec, outre le niveau des asservissements, des niveaux
de réaction et de décision.
L'objet de cette introduction est de définir les différents niveaux de 14
rétroaction entre capteurs et actionneurs caractéristiques d'un système
robotique, après avoir précisé les notions d'architecture mécanique et
de capteurs sur un exemple. L'introduction se termine par l'exposé du
plan de l'ouvrage.
Actionneurs et capteurs s du robot de navigation
L'exemple choisi est celui d'un robot mobile destiné à naviguer à l'inté­
rieur d'un bâtiment. Sa structure mécanique lui permet de se déplacer
sur sol plan. D est doté de capteurs pour la navigation en environnement
structuré partiellement connu.
Le robot (fig. 0.1) se déplace grâce à deux roues motrices coaxiales,
commandées indépendamment. La stabilité est assurée par deux paires
de roues libres à l'avant et à l'arrière du robot.
Sur la figure 0.2, nous notons q = (a^, y M ,#) ' le vecteur de
configuration du robot, c'est-à-dire le vecteur permettant de spécifier
sa position dans le plan.
• XM et i/jif sont les coordonnées dans le plan du point M du robot
situé sur l'axe des roues motrices, equidistant des deux roues ;
• 6 est l'orientation du robot.
1
Nous notons v = (rà, m') le vecteur de commande, avec rcV et rà' le
produit du rayon des roues par leur vitesse angulaire, soit encore les
vitesses d'avance des roues, droite et gauche respectivement.
Ce robot constitue un système mécanique non holonome. Si son
espace des configurations est de dimension trois, nous ne disposons que
de deux paramètres de commande : ainsi, le robot ne peut se déplacer
que perpendiculairement à l'axe des roues motrices. Cette contrainte
cinématique doit être prise en compte explicitement dans les algorithmes
de navigation réflexe et de planification de trajectoires. Introduction 15
Figure 0.1 : Le robot mobile de navigation Rami-Na. Le robot se déplace de façon
autonome dans un environnement d'intérieur, à partir d'une description géométrique ou
symbolique de la tâche à effectuer. Ses capteurs sont un profilomètre laser, une ceinture
de capteurs ultrasoûores, et un odomètre (Rami-Na est un démonstrateur réalisé dans le
cadre du programme de R&D en robotique Réuni mené par Alcatel Alsthom Recherche
et Framatome). 16
Figure 0.2 : Cinématique du robot mobile.
Capteurs du robot de navigation
Le robot possède trois classes de capteurs, de type a) vision pour le
profilomètre laser, b) acoustique pour la ceinture de capteurs
ultrasonores, et c) odométrique.
a) Le profilomètre laser est fixé à l'avant du robot : il permet de
détecter les obstacles situés devant lui et de calculer leur position
relative. Un ensemble de diodes émettent en permanence des faisceaux
laser focalisés dans une nappe plane inclinée vers le sol. Par simple
triangulation, l'observation avec une caméra de l'intersection du plan
laser et de l'environnement permet de reconstruire un profil dans
l'espace à trois dimensions. Le robot dispose en fait de deux caméras,
ceci pour élargir son champ de vision. L'axe du profilomètre est
orientable en site de telle façon que l'angle du plan laser avec le sol
varie entre 36,7 et 16,2°. Ceci correspond au sol à une distance
d'observation variable de 0,56 à 1,98 m. La largeur totale du champ n varie alors de 1,14 à 1,65 m, et la précision en profondeur
de 2,5 à 13 mm, tandis que la résolution transversale reste excellente,
entre 2 et 4 mm.
b) La ceinture acoustique est constituée de 16 capteurs ultrasonores.
Chaque capteur calcule la distance à l'obstacle qui lui est le plus proche,
par mesure du temps de vol entre le signal acoustique émis et son écho. Introduction 17
En première approximation, un capteur renvoie la distance à l'obstacle
le plus proche dans un cône de 30 à 50° environ. Si la conception même
de ces capteurs implique qu'ils n'ont pas une bonne résolution angulaire,
ils mesurent la distance avec une précision satisfaisante, de l'ordre de 1 à
2 cm, jusqu'à une profondeur maximale variable entre 1,5 et 3 m environ
(par réglage du temps d'écoute de l'écho). Les capteurs ultrasonores, de
faible coût, sont souvent disposés sur une "ceinture" autour du robot
mobile : ils réalisent ainsi une bonne couverture volumique et permet­
tent en particulier d'assurer sa sécurité. Les capteurs ultrasonores sont
cependant sujets à divers problèmes :
• l'imprécision sur l'estimée de la direction relative de l'obstacle ;
• leur spéculante (si l'angle d'incidence entre le cône d'émission et
la surface de l'obstacle est faible, la puissance du signal renvoyé
dans la direction du capteur n'est pas suffisante pour assurer sa
détection) ;
• de nombreux problèmes d'échos multiples, par exemple entre deux
surfaces formant un dièdre (dans ce cas l'obstacle sera observé
d'autant plus loin qu'il y aura eu d'échos parasites dans le dièdre) ;
• la non-détection de certains matériaux qui piègent l'onde
ultrasonore ;
• l'éventualité d'interférences entre deux capteurs, le signal émis par
un capteur étant détecté par un autre capteur.
c) Uodomètre est, en l'absence de système inertiel, le seul capteur de
positionnement dont dispose ce robot. L'odomètre se fonde sur l'obser­
vation des mouvements de rotation des roues motrices pour calculer une
estimation de la configuration courante par intégration des équations de
la cinématique. Ces calculs sont entachés d'erreurs : erreurs de lecture
au niveau des codeurs, imprécisions sur le modèle cinématique résultant
par exemple d'une incertitude sur la position des points de contact
solroue, glissements, etc. Ces erreurs et leurs effets sur l'estimation de la 18
configuration du robot doivent être modélisés. Lorsque le robot dispose
d'un plan de l'environnement, les calculs de Podomètre sont recalés par
mise en correspondance d'une part des mesures réelles retournées par
les capteurs, d'autre part des mesures simulées sur le plan, en mettant
en œuvre des techniques de fusion de type filtrage de Kalman.
Une classification des capteurs utilisés en robotique
Plus généralement, on peut proposer la classification suivante pour les
capteurs utilisés en robotique.
1• Les capteurs internes ou proprioceptifs renseignent sur l'état du
système (configuration, vitesses, efforts... ) .
• Les capteurs externes ou extéroceptifs renseignent sur l'environne­
ment du robot. Ils sont de deux types.
2Les capteurs proximétriques renvoient des mesures sur
l'environnement proche, de quelques dizaines de centimètres à
quelques mètres.
Les capteurs de vision ont en général une portée plus importante.
On distingue les capteurs de vision passifs, qui fonctionnent par
mise en correspondance de primitives dans des couples d'images, à
l'imitation de la vision humaine (cf. par exemple [Fau88, Aya91]),
et les capteurs actifs, qui ont une action sur l'environnement. Les
télémètres laser à mesure de temps de vol, avec une portée pouvant
atteindre 10 m ou plus, sont les prototypes de cette dernière classe
de capteurs.
'Dans l'exemple ci-dessus, l'odomètre.
'Les capteurs ultrasonores et le profilomètre laser. Introduction 19
Architecture fonctionnelle et logicielle
Trois niveaux de rétroaction
L'architecture de contrôle est organisée en modules fonctionnels dont les
interactions réalisent des boucles de rétroaction entre capteurs et
actionneurs. Ces boucles implémentent des comportements du robot à
divers niveaux de compétence, et correspondent à des temps de réaction
très distincts.
• Le "haut niveau" : la planification de trajectoires
Le planificateur de trajectoires raisonne sur des modèles de nature
géométrique tels que des plans de l'environnement, élaborés à partir des
informations a priori et des données accumulées au cours du
déplacement du robot. Son horizon s'étend donc au-delà du champ de
perception des capteurs extéroceptifs à un instant donné, et il peut
satisfaire à des critères d'optimalité globale tels que minimiser la
longueur de la trajectoire ou le temps d'exécution.
• Le "bas niveau" : la navigation réflexe
Un système de contrôle qui reposerait sur une simple exécution de la
trajectoire planifiée, à partir de sa description sous forme de séquence
de consignes élémentaires pour les actionneurs, ne serait pas robuste.
Outre les erreurs de contrôle qui peuvent rendre délicat le suivi exact
de la trajectoire, les erreurs de modèle d'environnement, elles-mêmes
conséquence de l'imprécision des capteurs et des informations a priori,
font que la trajectoire planifiée ne peut être strictement compatible
avec l'environnement réel. Au-delà, l'environnement peut présenter un
caractère dynamique, avec la présence éventuelle d'objets déplaçables ou
d'autres mobiles. Pour pallier les aléas qui surviennent durant le trajet
du robot, l'exécution du mouvement doit donc être confiée à un module
de navigation réflexe. Celui-ci, grâce au faible temps de réponse entre
prise de mesure et action, permet une adaptation aux conditions locales
de l'environnement, indépendamment d'éventuelles erreurs de contrôle Modèle
d'environnement
Modélisation Temps
Planification
Localisation masqué
Événements
Con trôle Asynchrone Surveillances
d'exé cution
i
Navigation Synchrone
réflexe
Contrôle des Perception
multi-capteurs actionneurs
Figure 0.3 : Trois niveaux de rétroaction. Introduction 21
et de modèle. Les capteurs mis en oeuvre au niveau réflexe seront alors
essentiellement less proximétriques.
• Un intermédiaire : le contrôle d'exécution
Le contrôleur d'exécution joue dans cette vue d'un système robotique
un rôle central d'intermédiaire entre planification et navigation réflexe :
il supervise l'exécution du mouvement planifié, et permet de réagir
immédiatement à certains événements particuliers, sans avoir recours
systématiquement à une replanification. Pour donner plus de robustesse
au système, il faudra alors s'efforcer de décrire le plan à exécuter non
plus en simples termes géométriques, mais sous forme d'une séquence de
primitives de mouvement dont l'exécution et la supervision sera facilitée.
Ces trois niveaux de contrôle principaux sont représentés par le
schéma de principe de la figure 0.3.
Un exemple simplifié de mise en œuvre d'une telle architecture de
contrôle est présenté en figure 0.4.
Architecture logicielle et temps réel
Les modules fonctionnels sont implémentés par des modules logiciels
eux-mêmes supportés par des processus répartis sur l'architecture
informatique distribuée. Cess s'exécutent respectivement :
• de façon synchrone (à des fréquences de l'ordre de 10 à 50 Hz)
pour les comportements de type réflexe, par asservissement des
actionneurs sur les mesures des capteurs après quelques traitements
informatiques simples ;
• de façon asynchrone, sur détection d'événements correspondant à
des valeurs critiques des variables d'état ou des mesures capteurs, et
avec des temps de réponse très brefs, pour le contrôle d'exécution ;
• en temps masqué, pour la planification de trajectoires, et aussi pour
la mise à jour des modèles géométriques, les fonctions graphiques
des interfaces opérateurs, etc. 22
1
2 Introduction 2 3
3
La mission assignée au robot est de se rendre de la pièce A à la pièce B.
1. Le robot exécute pour parcourir le couloir un comportement réflexe de type suivi de
mur, par exemple avec asservissement sur les mesures de ses capteurs ultrasonorcs
latéraux.
2. Un obstacle est rencontré sur son chemin. Le contrôleur d'exécution décide de
basculer sur un autre comportement de type ralliement d'objectif avec activation
des fonctions d'évitement d'obstacles.
3. Un nouvel obstacle obstrue complètement le passage. Le système de modélisation
de l'environnement modifie la carte en conséquence et le planificateur de trajec­
toires calcule un nouveau chemin. Celui-ci sera par exemple traduit en un ensemble
de sous-objectifs dont le séquencement est confié au contrôleur d'exécution. Le
ralliement des sous-objectifs successifs est pris en charge par le module réflexe.
Figure 0.4 : Un exemple simplifié.

Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin