Gรฉnรฉralitรฉs
La robotique est une science ร la croisรฉe de plusieurs disciplines scientifiques et techniques (mรฉcanique, รฉlectronique, informatique, . . .). Ses applications sont actuellement principalement connues dans lโindustrie. Ici nous nous intรฉresserons ร la robotique mobile autonome, qui se diffรฉrencie de la robotique industrielle par lโajout de fonctions perceptuelles et dรฉcisionnelles permettant lโรฉvolution du robot dans un environnement complexe.
Les missions martiennes de la NASA ont permis au grand public de dรฉcouvrir des robots autonomes. Le robot Sojourner de la mission Mars Pathfinder est le premier rover semi-autonome envoyรฉ dans lโespace. Il se posa sur Mars le 4 juillet 1997 et au cours de ses 83 jours de fonctionnement, il envoya 550 photos vers la Terre ainsi que des analyses de roches. Le robot dirigรฉ depuis la Terre embarquait une fonction dโรฉvitement dโobstacles autonome, sa vitesse de dรฉplacement รฉtant de 1cm par seconde. La mission Mars Exploration Rover (MER), qui a pour objectif la recherche de traces de vie, est la plus ambitieuse ร ce jour. Deux rovers Spirit et Opportunity, de dimensions imposantes (1,5 m de haut, 2,3 m de large et 1,6 m de long pour 185 kg, en comparaison des 10,6 kg de Sojourner), se sont posรฉs sur Mars les 3 et 24 janvier 2004. Les rovers sont dotรฉs dโun planificateur de trajectoires et dโun algorithme dโรฉvitement dโobstacles. Si dans ces deux missions les robots ne planifient pas leurs actions (elles sont envoyรฉes depuis la Terre), elles montrent en revanche le gain dโautonomie des robots dโexploration planรฉtaire.
Dans le domaine civil, la robotique autonome commence ร faire son apparition. Passons les robots commerciaux (robot Sony AIBO, robots aspirateurs . . .) qui nโintรจgrent peu ou pas de capacitรฉs de dรฉcision, et regardons des applications souvent encore expรฉrimentales. Le robot Rackham du LAAS-CNRS a รฉvoluรฉ pendant plusieurs semaines ร la Citรฉ de lโEspace ร Toulouse en prรฉsence du public. Ce robot, dotรฉ dโun trรจs grand nombre de fonctionnalitรฉs (capacitรฉs de dรฉcision, de perception, de locomotion, dโinteraction avec le public . . .), a servi de guide interactif pour les visiteurs. De mรชme des projets actuels de recherche concernant la robotique domestique, montrent lโintรฉrรชt croissant pour la robotique autonome. Ainsi le projet europรฉen COGNIRONย sโintรฉresse au robot cognitif compagnon, lโobjectif ultime รฉtant dโarriver ร concevoir des robots capables dโassister lโhomme dans la vie de tous les jours. Ceci requiert des capacitรฉs cognitives avancรฉes et une capacitรฉ ร interagir en รฉtroite collaboration avec lโhomme.
Les recherches actuelles en robotique autonome visent toutes ร donner plus dโautonomie au robot, que ce soit en dรฉveloppant de nouvelles capacitรฉs ou en rendant plus robustes celles existantes.
La notion dโautonomie
Tout dโabord, diffรฉrencions les systรจmes dit automatiques des systรจmes dit autonomes. Dans [Clough, 2002], les systรจmes automatiques, sont ceux qui ont รฉtรฉ prรฉ-programmรฉs, qui nโont pas le choix de leurs actions, en opposition aux systรจmes autonomes qui peuvent dรฉcider. On voit trรจs bien que la frontiรจre entre les deux nโest pas franche. On pourrait รชtre tentรฉ de dire quโun systรจme dรฉterministe est automatique, et que les autres sont autonomes. Mais si lโon considรจre par exemple, un robot purement rรฉactif naviguant par la mรฉthode des champs de potentiels, il peut รชtre considรฉrรฉ comme dรฉterministe (si lโon considรจre que les incertitudes attachรฉes aux capteurs ne sont pas trop grandes, sachant lโenvironnement, les points de dรฉpart et dโarrivรฉe, on peut prรฉdire son chemin), pourtant nous aurons tendance ร le classer dans les systรจmes autonomes, car il est capable dโagir sur sa trajectoire en fonction de lโenvironnement. Nous considรฉrerons quโun systรจme est autonome sโil est capable dโadapter son comportement ร lโenvironnement, tandis que les systรจmes automatiques sont ceux qui รฉvoluent dans des environnements complรจtement prรฉvisibles. La distinction se fera sur la variabilitรฉ des conditions extรฉrieures, le systรจme automatique agissant dans un environnement assez maรฎtrisรฉ, son comportement ayant รฉtรฉ conรงu en fonction de cela (on pense tout de suite aux tรขches rรฉpรฉtitives de lโindustrie manufacturiรจre, gourmande en automatismes).
Cette distinction faite, nous nโavons toujours pas dรฉfini lโautonomie en robotique. Concrรจtement il est trรจs difficile de donner une dรฉfinition ร lโautonomie. La principale raison รฉtant quโil sโagit dโune notion trรจs subjective et relative. Subjective, dans le sens oรน deux utilisateurs qui รฉvaluent le mรชme systรจme, ne le verront pas de la mรชme faรงon, selon les critรจres quโils privilรฉgieront. Et relative car on ne peut รฉvaluer et comparer lโautonomie dโun systรจme sur deux tรขches diffรฉrentes. A cela sโajoute une confusion dans la communautรฉ IA qui est de comparer โlโintelligenceโ et lโautonomie des systรจmes. Si lโon qualifie souvent les systรจmes autonomes comme รฉtant des systรจmes intelligents, la dรฉfinition de lโintelligence รฉtant elle mรชme trรจs vague, cela ne rend pas le terme autonomie plus clair. Lโintelligence est une notion que lโon a dรฉjร bien du mal ร dรฉfinir pour lโhomme (en particulier, les tests de QI sont souvent critiquรฉs). De plus dans notre cas, lโintelligence se rapporte bien souvent aux composants dรฉcisionnels dโun robot et ร ses capacitรฉs de calcul. Or comme nous lโavons prรฉcisรฉ, un robot purement rรฉactif ne peut รชtre considรฉrรฉ comme non autonome pour la seule raison quโil possรจde une โintelligenceโ limitรฉe.
Le grand nombre de dรฉfinitions de lโautonomie dans la littรฉrature, illustre bien le caractรจre subjectif de cette notion. Ici nous ne retiendrons que la dรฉfinition donnรฉe par le National Institute of Standards and Technology (NIST).
Les capacitรฉs des robots
Classiquement on distingue deux types dโautonomie en robotique : lโautonomie opรฉrationnelle et lโautonomie dรฉcisionnelle. Cette distinction vient du dรฉcoupage que lโon trouve dans les architectures de contrรดle sur les robots. implรฉmentรฉe et utilisรฉe au LAAS. On retrouve les capacitรฉs opรฉrationnelles vers le bas de lโarchitecture, jusquโau niveau fonctionnel. Les capacitรฉs dรฉcisionnelles se trouvent tout en haut. Par la suite nous prendrons cette architecture comme base pour illustrer la prรฉsentation des capacitรฉs des robots. Mรชme si toutes les architectures robotique ne sont pas de type hiรฉrarchique, les architectures les plus รฉvoluรฉes embarquent des composants fonctionnels et des organes dรฉcisionnels.
Capacitรฉs fonctionnelles
Les capacitรฉs fonctionnelles sont les briques de base qui permettent de faire fonctionner les robots. Elles servent de liens entre les composants physiques du robot (capteurs et actionneurs) et la partie qui sert ร la supervision et ร la dรฉcision. Dans lโarchitecture LAAS les modules fonctionnels ont par exemple la charge de :
โ convertir des informations de haut niveau en des commandes pour le matรฉriel (consignes de position ou de vitesse converties en commandes moteur)
โ convertir des donnรฉes capteur en des informations exploitables (impulsions des capteurs odomรฉtriques convertis en des dรฉplacements relatifs)
โ fournir des services utilisables par dโautres modules fonctionnels ou par les organes dรฉcisionnels (planification dโune trajectoire)
โ effectuer des traitements sur des donnรฉes issues dโautres modules fonctionnels (localisation dโaprรจs une carte de segments grรขce aux donnรฉes issues du module qui gรจre le tรฉlรฉmรจtre laser plan) .
Chacune de ces capacitรฉs (ou modules) fournit un service spรฉcifique qui traduit un besoin prรฉcis pour le robot (contrรดle de la locomotion, รฉvitement dโobstacles, planification de trajectoire, . . .). Plus on dote un robot de capacitรฉs fonctionnelles diffรฉrentes et variรฉes et plus on augmente son potentiel et son spectre dโaction. Par exemple un robot qui est capable de planifier des trajectoires est capable dโagir dans des environnements plus complexes que le robot qui ne le peut pas. De plus la redondance de capacitรฉs fonctionnelles peut รชtre un avantage dans certains cas (par exemple avoir plusieurs moyens diffรฉrents pour se localiser donne plus de chances de le faire correctement). Dans lโarchitecture LAAS, lโoutil GenoM a รฉtรฉ spรฉcifiquement dรฉveloppรฉ afin de concevoir et dรฉvelopper des modules fonctionnels.
Capacitรฉs dรฉcisionnelles
Les capacitรฉs fonctionnelles doivent รชtre coordonnรฉes et organisรฉes afin de garantir un bon fonctionnement du robot. On peut le faire de maniรจre prรฉรฉtablie en figeant lโorganisation des fonctions (quel module est client et/ou fournisseur dโun autre module ?) et en donnant des rรจgles fixes pour gรฉrer les diffรฉrentes situations que lโon peut rencontrer. Mais pour avoir un robot plus autonome, on le dote de capacitรฉs dรฉcisionnelles plus รฉlaborรฉes qui lui permettent de faire face ร un plus grand nombre de situations et qui permettent une organisation dynamique des modules fonctionnels selon la tรขche. Dans lโarchitecture LAAS, on distingue plusieurs capacitรฉs dรฉcisionnelles. Le niveau dรฉcisionnel qui est le plus haut dans la hiรฉrarchie comporte un planificateur et un exรฉcutif procรฉdural. Le niveau de contrรดle dโexรฉcution sert de tampon entre les deux autres niveaux et peut รชtre considรฉrรฉ comme un organe dรฉcisionnel. Le planificateur (nommรฉ IXTET) planifie lโordre des actions quโil faut exรฉcuter afin de remplir une mission donnรฉe. Il sโagit dโun planificateur symbolique qui prend en compte les contraintes temporelles. Lโexรฉcutif procรฉdural dรฉcompose les actions gรฉnรฉrรฉes par le planificateur en des sรฉquences de requรชtes comprรฉhensibles par le niveau fonctionnel. Par exemple pour une action de dรฉplacement il peut demander une localisation, ensuite une planification de trajectoire, puis il demandera au module chargรฉ du dรฉplacement de sโinitialiser et de suivre la trajectoire planifiรฉe. Le niveau de contrรดle dโexรฉcution a un rรดle particulier, il sโagit surtout dโun organe pour la sรปretรฉ de fonctionnement. Il est chargรฉ dโanalyser la cohรฉrence des ordres produits par lโexรฉcutif procรฉdural avec des rรจgles prรฉรฉtablies et de vรฉrifier le bon dรฉroulement dโune sรฉquence dโactions รฉlรฉmentaires.
|
Table des matiรจres
I Introduction
I.1 Gรฉnรฉralitรฉs
I.2 La notion dโautonomie
I.3 Ce qui se cache dans les pages suivantes
II Etat de lโart
II.1 Les capacitรฉs des robots
II.1.1 Capacitรฉs fonctionnelles
II.1.2 Capacitรฉs dรฉcisionnelles
II.2 Les niveaux dโautonomie
II.2.1 Le systรจme de classification ALFUS
II.2.2 FCS
II.2.3 Difficultรฉs – Limitations
II.3 Benchmarking
II.3.1 Sur des algorithmes
II.3.2 Compรฉtitions robotiques
II.4 Autonomie partagรฉe
II.4.1 Interaction homme/robot
II.4.2 La coopรฉration multi-robots
II.5 Conclusion
III Mรฉthodologie
III.1 Dรฉmarche gรฉnรฉrale
III.1.1 Spรฉcification dโune mission
III.1.2 Paramรจtres influents sur le dรฉroulement de la mission
III.1.3 Une analogie : le systรจme de lโรฉducation nationale
III.2 Mรฉtriques liรฉes aux performances
III.3 Mรฉtriques liรฉes ร lโenvironnement
III.3.1 Complexitรฉ de lโenvironnement
III.3.2 Information possรฉdรฉe sur lโenvironnement
III.3.3 Mise en ลuvre : les calculs en pratique
III.4 Une nouvelle mรฉthode dโanalyse : les โsystem mapsโ
III.4.1 Les rรฉseaux bayรฉsiens dynamiques
III.4.2 Les system maps
III.4.3 A quoi cela peut-il nous servir ?
III.5 Conclusion
IV Mise en ลuvre et expรฉrimentation
IV.1 Simulation et benchmark
IV.1.1 Maรฎtrise de lโenvironnement
IV.1.2 Le choix de la simulation
IV.2 Intรฉgration dans une architecture robotique
IV.3 Scรฉnarios รฉtudiรฉs
IV.3.1 Corridor
IV.3.2 Exploration du laboratoire
V Analyse des donnรฉes
V.1 Premier scรฉnario : le corridor
V.1.1 Mesures globales
V.1.2 Mesures locales
V.1.3 Confrontation des deux analyses
V.2 Second scรฉnario : exploration du laboratoire
V.2.1 Les System Maps
V.2.2 Analyse des donnรฉes
V.2.3 Extensions
V.2.4 Remarque sur la rรฉactivitรฉ
V.3 Conclusion
VI Conclusion