Méthodologie d’évaluation du degré d’autonomie d’un robot mobile terrestre
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 15 16 Chapitre I. Introduction 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 Rackham1 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 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”3 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.
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 21 22 Chapitre II. Etat de l’art Fig. II.1 – Architecture générique trois niveaux du LAAS. du découpage que l’on trouve dans les architectures de contrôle sur les robots. Par exemple la figure II.1 représente l’architecture développée, 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 G en oM a été spécifiquement développé afin de concevoir et développer des modules fonctionnels .
I Introduction |