Robotique mobile


précédentsommairesuivant

I. Introduction

I-A. Robot mobile

La robotique est un très bon exemple de domaine pluridisciplinaire qui implique de nombreuses thématiques telles que la mécanique, la mécatronique, l'électronique, l'automatique, l'informatique ou l'intelligence artificielle. En fonction du domaine d'origine des auteurs, il existe donc diverses définitions du terme robot, mais elles tournent en général autour de celle-ci :

Un robot est une machine équipée de capacités de perception, de décision et d'action qui lui permettent d'agir de manière autonome dans son environnement en fonction de la perception qu'il en a.

 
Image non disponible
Figure 1.1 - Schéma des interactions d'un robot avec son environnement. Selon les approches, un modèle interne de l'environnement peut être utilisé ou non.
 

Cette définition s'illustre par un schéma classique des interactions d'un robot avec son environnement (Figure 1.1). Les différentes notions que nous présenterons dans ce cours sont essentiellement issues de cette vision de la robotique, très orientée sur l'intelligence artificielle, qui place au centre des préoccupations l'enchaînement de ce cycle perception/décision/action. La manière dont un robot gère ces différents éléments est définie par son architecture de contrôle, qui la plupart du temps va faire appel à un modèle interne de l'environnement qui lui permettra de planifier ses actions à long terme.

I-B. Objectif du cours

L'objectif de ce cours est de fournir un aperçu des problèmes de la robotique mobile et des solutions actuelles. Ce cours se veut proche de la recherche, en présentant des méthodes apparues dans les dernières années, mais il présente également les notions de base nécessaires à leur compréhension, ainsi qu'un panorama de techniques classiques dont la portée va au-delà de leur application en robotique mobile. La lecture des articles scientifiques ou des ouvrages de référence (la plupart du temps en anglais) mentionnés à de nombreuses reprises, n'est évidement pas requise pour la compréhension du cours, mais doit permettre d'approfondir des points particuliers hors de la portée de ce cours.

La robotique mobile est un domaine dans lequel l'expérience pratique est particulièrement illustratrice et importante pour la compréhension des problèmes. Au-delà des méthodes présentées dans ce texte, les travaux dirigés ou le projet pratique associé que réalisent les étudiants apporteront également leur lot de connaissances irremplaçables.

I-C. (Très) bref aperçu historique

 
Image non disponible
Figure 1.2 - La tortue de Grey Walter (nommée « machina speculatrix » et surnommée Elsie) et une illustration de sa trajectoire pour rejoindre sa niche.

Le terme de « robot » apparaît pour la première fois dans une pièce de Karel Capek en 1920 : Rossum's Universal Robots. Il vient du tchèque « robota » (qui signifie à peu près « servitude ») et présente une vision des robots comme serviteurs dociles et efficaces pour réaliser les tâches pénibles, mais qui déjà vont se rebeller contre leurs créateurs.

La Tortue, construite par Grey Walter dans les années 1950 (Figure 1.2), est l'un des premiers robots mobiles autonomes. Grey Walter n'utilise que quelques composants analogiques, dont des tubes à vide, mais son robot est capable de se diriger vers une lumière qui marque un but, de s'arrêter face à des obstacles et de recharger ses batteries lorsqu'il arrive dans sa niche. Toutes ces fonctions sont réalisées dans un environnement entièrement préparé, mais restent des fonctions de base qui sont toujours des sujets de recherche et de développement technologiques pour les rendre de plus en plus génériques et robustes.

 

Image non disponible

Figure 1.3 - À gauche : le robot « Beast » de l'université John Hopkins dans les années 1960. À droite : le robot Shakey de Stanford en 1969, une plate-forme de démonstration des recherches en intelligence artificielle.

Dans les années 1960, les recherches en électronique vont conduire, avec l'apparition du transistor, à des robots plus complexes, mais qui vont réaliser des tâches similaires. Ainsi, le robot « Beast » (Figure 1.3) de l'université John Hopkins est capable de se déplacer au centre des couloirs en utilisant des capteurs ultrason, de chercher des prises électriques (noires sur des murs blancs) en utilisant des photo-diodes et de s'y recharger.

 

Image non disponible

Figure 1.4 - Le Stanford Cart date de la fin des années 1970. Le robot Hilare du LAAS a été construit en 1977.

Les premiers liens entre la recherche en intelligence artificielle et la robotique apparaissent à Stanford en 1969 avec Shakey (Figure 1.3). Ce robot utilise des télémètres à ultrason et une caméra et sert de plate-forme pour la recherche en intelligence artificielle, qui à l'époque travaille essentiellement sur des approches symboliques de la planification. La perception de l'environnement, qui à l'époque est considérée comme un problème séparé, voire secondaire, se révèle particulièrement complexe et conduit là aussi à de fortes contraintes sur l'environnement. Ces développements se poursuivent avec le Stanford Cart dans la fin des années 1970, avec notamment les premières utilisations de la stéréo-vision pour la détection d'obstacles et la modélisation de l'environnement. En France, le robot Hilare est le premier robot construit au LAAS, à Toulouse (Figure 1.4).

Une étape importante est à signaler au début des années 1990 avec la mise en avant de la robotique réactive, représentée notamment par Rodney Brooks. Cette nouvelle approche de la robotique, qui met la perception au centre de la problématique, a permis de passer de gros robots très lents à de petits robots (Figure 1.5), beaucoup plus réactifs et adaptés à leur environnement. Ces robots n'utilisent pas ou peu de modélisation du monde, problématique qui s'est révélée être extrêmement complexe.

 
Image non disponible
Figure 1.5 - Genghis, développé par Rodney Brooks au MIT au début des années 1990.

Ces développements ont continué et l'arrivée sur le marché depuis les années 1990 de plates-formes intégrées telles que le pioneer de la société Mobile Robots, a permis à de très nombreux laboratoires de travailler sur la robotique mobile et à conduit à une explosion de la diversité des thèmes de recherche. Ainsi, même si les problèmes de déplacement dans l'espace et de modélisation de l'environnement restent difficiles et cruciaux, des laboratoires ont pu par exemple travailler sur des approches multirobot, la problématique de l'apprentissage ou sur les problèmes d'interactions entre les hommes et les robots.

I-D. Exemples d'applications

Aujourd'hui, le marché commercial de la robotique mobile est toujours relativement restreint en dehors des robots aspirateurs vendus à plusieurs millions d'exemplaires. Cependant, il existe de nombreuses perspectives de développement qui en feront probablement un domaine important dans le futur. Les applications des robots peuvent se trouver dans de nombreuses activités « ennuyeuses, salissantes ou dangereuses » (3 D en anglais pour dull, dirty, dangerous), mais également pour des applications ludiques ou de service, comme l'assistance aux personnes âgées ou handicapées.

 
Image non disponible
Figure 1.6 - Exemples de robots commerciaux ou de recherche.

Parmi les domaines d'application possibles de la robotique, citons :

  • la robotique de service (hôpital, bureaux, maison) ;
  • la robotique de loisir (jouets, robot « compagnon ») ;
  • la robotique industrielle ou agricole (entrepôts logistiques, récolte de productions agricoles, mines) ;
  • la robotique en environnement dangereux (spatial, industriel, militaire, catastrophes naturelles).

À cela s'ajoutent à l'heure actuelle de nombreuses plates-formes conçues essentiellement pour les laboratoires de recherche. La Figure 1.6 montre quelques exemples de robots existants.

I-E. Pour aller plus loin

Les illustrations de ce chapitre sont, entre autres, tirées du livre « ROBOT : Mere Machine to Transcendent Mind » de Hans Moravec [102], dont les illustrations sont disponibles en ligne(1).

Le livre de Daniel Ichbiah Robots, Genèse d'un peuple artificiel [71] donne également un bon aperçu « grand public » de la robotique et de son histoire(2).

II. Navigation

Dans cette partie, nous présentons les différentes catégories de méthodes de navigation utilisables pour un robot mobile et les architectures de contrôle associées. Nous présentons ensuite les informations qu'un robot pourra utiliser pour se déplacer, ainsi que les capteurs et les plates-formes couramment utilisées en robotique.

II-A. Types de navigation

II-A-1. Stratégies de navigation

Les stratégies de navigation permettant à un robot mobile de se déplacer pour rejoindre un but sont extrêmement diverses, de même que les classifications qui peuvent en être faites. Afin de situer les différentes méthodes de navigation que nous allons étudier dans un contexte général, nous reprenons ici une classification établie par Trullier et al. [138,140]. Cette taxinomie a été établie en prenant en compte à la fois les stratégies des robots et des animaux. Elle présente l'avantage de distinguer les stratégies sans modèles internes et les stratégies avec modèle interne.

Cette classification comporte cinq catégories, de la plus simple à la plus complexe :

  • approche d'un objet : cette capacité de base permet de se diriger vers un objet visible depuis la position courante du robot. Elle est en général réalisée par une remontée de gradient basée sur la perception de l'objet, comme dans l'exemple célèbre des véhicules de Valentino Braitenberg [19] (voir section II.A.1Véhicules de Braitenberg) qui utilisent deux capteurs de lumière pour atteindre ou fuir une source lumineuse. Cette stratégie utilise des actions réflexes, dans lesquelles chaque perception est directement associée à une action. C'est une stratégie locale, c'est-à-dire fonctionnelle uniquement dans la zone de l'environnement pour laquelle le but est visible ;
  • guidage : cette capacité permet d'atteindre un but qui n'est pas un objet matériel directement visible, mais un point de l'espace caractérisé par la configuration spatiale d'un ensemble d'objets remarquables, ou amers, qui l'entourent ou qui en sont voisins. La stratégie de navigation, souvent une descente de gradient également, consiste alors à se diriger dans la direction qui permet de reproduire cette configuration. Cette capacité semble utilisée par certains insectes, comme les abeilles [26] et a été utilisée sur divers robots [54, 86, 58, 114] (voir sections II.A.2Modèle de Cartwright et Collet et II.A.3Asservissement visuel). Cette stratégie utilise également des actions réflexes et réalise une navigation locale qui requiert que les amers caractérisant le but soient visibles ; 

    Image non disponible

    Figure 2.1 - Action associée à un lieu. En chaque lieu, représenté par un cercle, l'action à accomplir pour rejoindre le but A est représentée par une flèche indiquant la direction à suivre à partir de ce lieu. Cette stratégie permet de rejoindre un but distant dans l'environnement, mais repose sur des chemins figés. Dans cet exemple, le chemin joignant le lieu D au lieu A et passant par la droite de l'obstacle a été appris. Rejoindre le lieu A depuis le lieu D ne pourra alors être réalisé que par ce chemin. Le raccourci empruntant le chemin de gauche, par exemple, est inutilisable.

  • action associée à un lieu : cette capacité est la première qui réalise une navigation globale, c'est-à-dire qui permet de rejoindre un but depuis des positions pour lesquelles ce but ou les amers qui caractérisent son emplacement sont invisibles (par exemple [114]). Elle requiert une représentation interne de l'environnement qui consiste à définir des lieux comme des zones de l'espace dans lesquelles les perceptions restent similaires et à associer une action à effectuer à chacun de ces lieux (cf. Figure 2.1). L'enchaînement des actions associées à chacun des lieux reconnus définit une route qui permet de rejoindre le but. Ces modèles permettent donc une autonomie plus importante, mais sont limités à un but fixé. Une route qui permet de rejoindre un but ne pourra en effet pas être utilisée pour rejoindre un but différent. Changer de but entraînera l'apprentissage d'une nouvelle route, indépendante des routes permettant de rejoindre les autres buts ; 

    Image non disponible

    Figure 2.2 - Navigation topologique. Cette stratégie permet de mémoriser un ensemble de lieux et les possibilités de passer de l'un à l'autre, indépendamment de tout but. Pour rejoindre un but, il faut alors une étape de planification qui permet de rechercher, parmi tous les chemins possibles, le chemin rejoignant le but. Dans notre exemple, le chemin le plus court entre D et A peut alors être calculé, mais uniquement parmi les lieux et les chemins déjà connus. Cette stratégie permet, par exemple, de contourner l'obstacle par la gauche, mais ne permet pas de le traverser en ligne droite de D à A.

  • navigation topologique : cette capacité est une extension de la précédente qui mémorise dans le modèle interne, les relations spatiales entre les différents lieux. Ces relations indiquent la possibilité de se déplacer d'un lieu à un autre, mais ne sont plus associées à un but particulier. Ainsi, le modèle interne est un graphe qui permet de calculer différents chemins entre deux lieux arbitraires. Ce modèle ne permet toutefois que la planification de déplacements parmi les lieux connus et suivant les chemins connus (cf. Figure 2.2) ;
 

Image non disponible

Figure 2.3 - Navigation métrique. Cette stratégie permet de calculer le chemin le plus court entre deux lieux mémorisés, permettant même de planifier des raccourcis au sein de zones inexplorées de l'environnement. Pour cela, la carte mémorise la position métrique relative de chacun des lieux visités par le robot. Ainsi, il est possible de prévoir un déplacement entre deux lieux, même si la possibilité de ce déplacement n'est pas enregistrée dans la carte. Dans cet exemple, cette stratégie permet d'aller du lieu A au lieu D en traversant la zone inexplorée.

  • navigation métrique : cette capacité est une extension de la précédente, car elle permet au robot de planifier des chemins au sein de zones inexplorées de son environnement. Elle mémorise pour cela les positions métriques relatives des différents lieux, en plus de la possibilité de passer de l'un à l'autre. Ces positions relatives permettent, par simple composition de vecteurs, de calculer une trajectoire allant d'un lieu à un autre, même si la possibilité de ce déplacement n'a pas été mémorisée sous forme d'un lien (cf. Figure 2.3).

Les modèles des trois premières catégories utilisent des actions réflexes pour guider le robot et se différencient essentiellement par le type de perceptions utilisées pour déclencher ces actions. Ils se regroupent sous le terme générique de navigation réactive dont nous parlerons dans la partie IINavigation réactive. Ils peuvent être très simples, ne nécessitent pas de modèle global de l'environnement, mais ont un domaine d'application souvent restreint. Dans le monde vivant, ces stratégies sont très répandues, notamment chez les insectes. Les comportements de ce type restent toutefois essentiels dans les robots modernes, car, du fait de leur simplicité, ils sont généralement exécutés très rapidement et ils permettent de réaliser des tâches de bas niveau, comme l'évitement des obstacles imprévus, tâches essentielles à la sécurité d'un robot.

Les modèles des deux dernières catégories autorisent pour leur part une navigation globale et permettent de rejoindre un but arbitraire au sein de l'environnement. Ils s'appuient pour cela sur un modèle interne du monde, une carte, qui supporte une planification. Ce modèle interne mémorise donc la structure spatiale de l'environnement, indépendamment d'un but précis. Chacune des positions mémorisées dans ce modèle interne peut alors être utilisée comme but par le processus de planification dont le rôle est de calculer une route vers ce but. Ce sont ces deux stratégies qui sont regroupées sous le terme de navigation par carte, objet du chapitre IIINavigation utilisant une carte.

 

L'utilisation de cartes par un robot mobile comme le font les hommes est probablement hors de notre portée pendant quelques années, cependant, il existe également des preuves de l'existence de représentations internes similaires à de telles cartes chez les animaux, par exemple chez les rats. Ces représentations sont identifiables au niveau neurologique dans certaines parties de leur cerveau, notamment dans l'hippocampe. Cela montre que des cartes sont utilisées par des êtres vivants, sans le support de concepts abstraits tels que les utilisent les humains. Ce type de carte qui fait appel à des structures neurologiques de base et probablement à des perceptions relativement simples est un paradigme intéressant pour les robots mobiles.

En robotique mobile, comme pour l'homme ou certains animaux, l'utilisation de cartes est quasiment indispensable pour permettre d'effectuer des tâches de navigation dans des conditions environnementales complexes, qui ne sont pas spécialement adaptées pour le robot. La construction et l'utilisation de telles cartes posent cependant de nombreux problèmes, notamment pour garantir l'adéquation entre la carte et le monde réel. Pour cette raison, la plupart des robots trouvent aujourd'hui un compromis entre une approche réactive et une approche utilisant une carte afin de bénéficier de la rapidité et de la robustesse de la première et de la capacité de déplacement à long terme de la seconde.

II-A-2. Architectures de contrôle

Un robot est un système complexe qui doit satisfaire à des exigences variées et parfois contradictoires. Un exemple typique pour un robot mobile est l'arbitrage qui doit être fait entre l'exécution la plus précise possible d'un plan préétabli pour atteindre un but et la prise en compte d'éléments imprévus, tels que les obstacles mobiles. Ces arbitrages, que ce soit au niveau du choix de stratégie, ou au niveau de l'utilisation des capteurs, des effecteurs ou des ressources de calcul, sont réglés par un ensemble logiciel appelé architecture de contrôle du robot. Cette architecture permet donc d'organiser les relations entre les trois grandes fonctions que sont la perception, la décision et l'action.

Nous pouvons reprendre la définition de Ronald Arkin [4] de l'art de concevoir de telles architectures :

Robotic architecture is the discipline devoted to the design of highly specific and individual robots from a collection of common software building blocks.

Selon cette définition, une architecture doit donc être conçue pour un robot précis, mais en utilisant des modules génériques. De manière plus générale, il existe également des règles de conception relativement générales qui permettent de réaliser ces implémentations. En fonction de ces règles, les architectures de contrôle peuvent être classées en trois grandes catégories que nous détaillerons par la suite : les contrôleurs hiérarchiques, les contrôleurs réactifs et les contrôleurs hybrides (Figure 2.4). Comme le précise cette définition, toutes ces architectures ne diffèrent pas forcément par les méthodes élémentaires employées, mais plutôt par leur agencement et leurs relations.

 

Image non disponible

Figure 2.4 - Illustration des architectures classiques des contrôleurs pour les robots mobiles : hiérarchique (A), réactive (B) et hybride (C) (voir le texte pour la description détaillée).

II-A-2-a. Contrôleurs hiérarchiques

Historiquement, les premiers robots mobiles dérivés des recherches en intelligence artificielle utilisaient des contrôleurs hiérarchiques (cf. Figure 2.4 A) dont le fonctionnement repose essentiellement sur la capacité de décision travaillant sur un modèle du monde supposé quasiment-parfait. Ces architectures fonctionnent selon un cycle rigide de modélisation de l'environnement : planification des actions au sein de cette représentation, puis exécution du plan. La capacité de décision était issue des premiers travaux en intelligence artificielle et reposait essentiellement sur des traitements de données symboliques. Ces architectures ont rapidement montré leurs limites et leur incapacité à fonctionner dans un environnement qui ne soit pas statique et simplifié à l'extrême.

L'essentiel des problèmes de ces architectures provient de l'utilisation d'un modèle interne central qui est le seul pris en compte pour guider le robot. Ces architectures se trouvent confrontées à tous les problèmes des premiers développements de l'intelligence artificielle symbolique.

Ces architectures supposent qu'un modèle informatique du monde puisse représenter toutes les informations pertinentes pour le déplacement du robot. Or, un tel modèle ne peut être suffisant dans un environnement dynamique, car au moment de la réalisation de l'action, l'environnement peut avoir suffisamment changé pour que la décision ne soit plus valide. Ce problème était particulièrement crucial au début de la robotique mobile où les capacités de calcul limitées entraînaient des temps de planification de l'ordre de plusieurs dizaines de minutes. Mais l'augmentation des capacités de calcul ne suffit pas à résoudre ce problème qui ne permet pas de gérer un environnement de travail réaliste. C'est une difficulté intrinsèque, liée d'une part à la trop grande longueur de la boucle qui relie la perception à l'action et d'autre part à l'invalidité de l'hypothèse de monde clos faite en intelligence artificielle (3).

De plus, ces architectures permettent peu de contrôle sur l'exécution des actions. En effet, une fois l'action choisie, elle est exécutée en supposant le modèle du monde correct et il n'y a pas de retour direct de la perception sur l'exécution de l'action. Les écarts modèles/environnement ne peuvent être pris en compte que via un nouveau cycle perception/modélisation/planification, ce qui, par définition, est très peu réactif et conduit rapidement à de graves problèmes.

II-A-2-b. Contrôleurs réactifs

Rodney Brooks [20] a proposé une solution radicale à tous ces problèmes sous la forme d'une architecture réactive (cf. Figure 2.4 B). Dans cette architecture, un ensemble de comportements réactifs, fonctionnant en parallèle, contrôle le robot sans utiliser de modèle du monde. Cette architecture supprime évidemment les problèmes dus aux différences entre la réalité, d'une part et le modèle de l'environnement du robot, d'autre part, mais limite clairement les tâches que peut effectuer le robot (cf. [77] pour une critique). En effet, sans représentation interne de l'état de l'environnement, il est très difficile de planifier une suite d'actions en fonction d'un but à atteindre. Les robots utilisant cette architecture sont donc en général efficaces pour la tâche précise pour laquelle ils ont été conçus, dans l'environnement pour lequel ils ont été prévus, mais sont souvent difficiles à adapter à une tâche différente.

Les réussites de ces architectures sont liées au couplage direct entre la perception et l'action qui permet une prise en compte très rapide des phénomènes dynamiques de l'environnement. Ces solutions présentent donc une bonne robustesse dans des environnements complexes.

Comme nous l'avons mentionné, ces architectures sont en général basées sur plusieurs comportements : évitement d'obstacles, déplacement aléatoire, déplacement vers un but, fuite d'un point… Pour guider le robot, il faut donc choisir à chaque instant lequel de ces comportements activer. Ce problème est connu dans la littérature scientifique sous le nom de sélection de l'action. La solution proposée par Brooks, l'architecture de subsomption [21] est devenue un classique et utilise une hiérarchie des comportements qui se déclenchent donc selon un ordre de priorité en fonction des perceptions du robot.

II-A-2-c. Contrôleurs hybrides

La plupart des contrôleurs actuellement utilisés choisissent une solution intermédiaire entre ces deux approches sous la forme d'une architecture hybride [104, 3] (cf. Figure 2.4 C). Cette architecture se compose de deux niveaux. Le premier est chargé des tâches de navigation de haut niveau, telles que la localisation, la cartographie et la planification. Pour cela, le contrôleur s'appuie sur un second niveau réactif qui est chargé d'exécuter les commandes avec le plus de précision possible et de gérer les éléments non modélisés de l'environnement, tels que les obstacles inconnus ou dynamiques. L'action conjointe de ces deux niveaux permet de réagir rapidement face aux variations imprévues de l'environnement, tout en permettant la réalisation d'actions planifiées à plus long terme.

Le bas niveau de ces architectures peut être réalisé sous forme de comportements, tels que ceux utilisés dans les architectures réactives. Ces comportements sont des boucles sensorimotrices qui relient les actions aux perceptions avec une phase de décision très courte, qui assure la réactivité. Dans le même temps, les informations sensorielles sont utilisées par le haut niveau dans une boucle sensorimotrice à une échelle de temps beaucoup plus longue. C'est la mise en parallèle de ces deux échelles de temps qui fait la force de ces architectures.

Les exemples d'architectures hybrides foisonnent (4D/RCS, 3T, Harpic…), car de très nombreux laboratoires et organismes travaillant sur la robotique ont développé leur architecture de ce type.

II-A-2-d. Pour aller plus loin

Deux livres intéressants sur le sujet :

  • Introduction to AI Robotics de Robin Murphy, MIT Press
  • Behavior based robotics de Ronald C. Arkin, MIT Press

II-B. Sources d'information

Tous les capteurs utilisés en robotique mobile fournissent des données appartenant à l'une des deux grandes catégories d'informations : les informations proprioceptives et les informations extéroceptives.

  • Les informations proprioceptives sont des informations internes au robot qui le renseignent, dans le cas de la navigation, sur son déplacement dans l'espace. Ces informations peuvent provenir de la mesure de la rotation de ses roues ou de la mesure de l'accélération grâce à une centrale inertielle. Un processus d'intégration permet alors, en accumulant ces données au cours du temps, d'estimer la position relative de deux points par lesquels le robot est passé.
  • Les informations extéroceptives ou plus simplement les perceptions sont des informations caractéristiques d'une position que le robot peut acquérir dans son environnement. Ces informations peuvent être de natures très variées. Par exemple, un robot peut mesurer la distance des obstacles avec des capteurs infrarouges ou utiliser une caméra.

Ces deux sources d'information ont des propriétés opposées que nous détaillons dans les deux sections suivantes.

II-B-1. Informations proprioceptives

Les informations proprioceptives renseignent sur le déplacement du robot dans l'espace. Elles constituent donc une source de renseignements très importante pour la navigation. Cependant, la précision de cette information se dégrade continuellement au cours du temps, la rendant inutilisable comme seule référence à long terme. Cette dégradation continuelle provient de l'intégration temporelle des mesures effectuées par les capteurs internes. En effet, chaque capteur produit une mesure bruitée du déplacement instantané, de la vitesse ou de l'accélération du robot. Ce bruit, via le processus d'intégration qui a pour but d'estimer le déplacement, conduit inévitablement à une erreur croissante.

Malgré ce défaut important, les informations proprioceptives ont l'avantage de dépendre assez peu des conditions environnementales qui perturbent fortement les informations perceptives. La vision, par exemple, sera fortement perturbée si l'environnement est plongé dans le noir, mais les informations proprioceptives fourniront une donnée identique, que l'environnement soit éclairé ou non. De plus, comme nous le verrons dans la section suivante, si deux lieux identiques du point de vue des perceptions se trouvent dans l'environnement, les informations perceptives ne permettent pas de les différencier. Les informations proprioceptives sont alors le seul moyen de les distinguer.

En robotique, cette information a aussi l'avantage de la simplicité de manipulation. En effet, le processus d'intégration fournit directement une estimation de la position du robot dans un espace euclidien doté d'un repère cartésien. Dans ce type de repère, tous les outils de la géométrie mathématique sont utilisables. Ils permettent, par exemple, d'effectuer des calculs de chemin relativement simples lorsque l'on connaît la position du but et des obstacles.

II-B-2. Informations extéroceptives

Les informations extéroceptives, ou plus simplement les perceptions fournissent un lien beaucoup plus fort entre le robot et son environnement. En effet, les informations proprioceptives fournissent des données sur le déplacement du robot, alors que les informations perceptives fournissent directement des données sur la position du robot dans l'environnement. Ces informations assurent un ancrage dans l'environnement, en permettant de choisir des perceptions qui peuvent être utilisées comme points de repère. Ces points de repère sont indépendants des déplacements du robot et pourront être reconnus, quelle que soit l'erreur accumulée par les données proprioceptives. La reconnaissance de ces points est évidemment soumise à une incertitude, mais pas à une erreur cumulative, ce qui les rend utilisables comme référence à long terme.

II-B-2-a. Variabilité perceptuelle

Pour être utile, un système de perception doit donc permettre de distinguer le plus de lieux possible. Pour cela, il doit être capable de distinguer le plus de détails possible, afin de faire la différence entre deux lieux différents, mais d'apparences similaires. Or l'augmentation de cette capacité à distinguer de petites variations dans l'environnement rend le système sensible au problème de la variabilité perceptuelle, c'est-à-dire au changement de perception au cours du temps pour un lieu donné. Cette variabilité peut être due au bruit inhérent au processus de mesure ou à des variations de l'environnement non significatives pour le problème de navigation qui nous concerne, par exemple le changement de luminosité. Pour s'affranchir de ce problème, il faut en général mettre en place des processus de traitement des perceptions qui permettront de ne pas dépendre de ces variations et de correctement identifier un lieu donné.

II-B-2-b. Ambiguïté des perceptions

En cherchant à limiter la dépendance aux variations de l'environnement, le concepteur de robot aboutit en général au problème du perceptual aliasing ou d'ambiguïté des perceptions. Ce problème désigne l'incapacité d'un système de perception à distinguer de manière unique tous les lieux d'un environnement. Cette situation est très courante lorsque les robots utilisent des capteurs de distance aux obstacles tels que les capteurs à ultrasons. Dans un environnement intérieur, de tels capteurs sont par exemple capables de mesurer la position du robot par rapport à un coin, mais ne fournissent aucune information sur la position le long d'un couloir rectiligne. Toutes les positions le long d'un couloir correspondent alors à des perceptions identiques.

Il est possible d'utiliser des capteurs qui fournissent des données plus précises ou plus discriminantes. Dans le cas des capteurs de distance, il est par exemple possible d'utiliser un télémètre laser, qui pourra distinguer les renfoncements des portes et sera ainsi plus précis. Mais même en utilisant des capteurs plus informatifs, comme une caméra, ce problème finit par apparaître lorsque la taille de l'environnement augmente. Il existe toujours une limite matérielle ou logicielle au-delà de laquelle l'identification unique de toutes les positions d'un environnement est impossible. Il n'est donc pas possible, en général, de régler complètement le problème d'ambiguïté des perceptions, mais seulement d'en repousser l'apparition. Il faut donc bien étudier les capteurs nécessaires en fonction des traitements réalisables et de l'environnement visé pour limiter ce problème.

II-B-2-c. Utilisation directe

Les capteurs sur un robot mobile peuvent être de nature très variée et être utilisés de nombreuses façons différentes. Il est toutefois possible de distinguer deux utilisations distinctes de leurs données pour la navigation. Ces deux utilisations dépendent de l'utilisation ou non d'un modèle métrique associé au capteur, modèle qui permet de traduire les valeurs brutes du capteur en informations sur la géométrie de l'environnement. Ce modèle permet notamment de prévoir la variation des mesures renvoyées par ce capteur en fonction du déplacement du robot.

Les perceptions peuvent être utilisées de manière directe, sans aucun modèle métrique, pour comparer directement deux positions en examinant les perceptions recueillies en ces lieux. Cette méthode ne permet cependant que de reconnaître des lieux de l'environnement préalablement explorés par le robot. Sans modèle de la variation des capteurs, il est en effet impossible de prévoir les valeurs que les capteurs relèveront dans un lieu inexploré, même s'il est proche ou entouré de lieux connus.

Pour une telle utilisation directe, seules deux procédures permettant, d'une part, de mémoriser une perception et, d'autre part, de comparer deux perceptions, sont alors nécessaires. Ces procédures peuvent être mises en œuvre à partir de tous les types de capteurs existants. Il est par exemple possible d'utiliser la couleur dominante de l'environnement autour du robot, la température (en supposant qu'elle caractérise une zone de l'environnement, comme pour une chambre froide), la force du signal Wi-Fi ou le temps de retour d'une onde sonore quand elle est envoyée dans une direction donnée. La seule propriété utilisée est la constance des valeurs mesurées par un capteur pour un lieu donné. Cette constance permet de reconnaître un lieu déjà visité ou d'identifier un lieu nouveau dans l'environnement.

II-B-2-d. Utilisation d'un modèle métrique

La seconde méthode d'utilisation d'un capteur consiste à utiliser un modèle métrique associé. Un tel modèle permet de traduire les informations données par le capteur dans un espace métrique qui est en général le même que celui utilisé pour estimer la position du robot grâce à l'odométrie. Il est ainsi possible d'estimer la position d'objets de l'environnement par rapport au robot et ainsi de prévoir les données que ce capteur relèvera pour des positions différentes du robot. L'utilisation d'un tel modèle n'est toutefois possible que pour certains capteurs. Il est par exemple possible d'utiliser un tel modèle associé à un capteur à ultrasons, à un télémètre laser ou à une paire de caméras stéréoscopique, mais pas à un capteur d'odeur.

 

Image non disponible

Figure 3.1 - Un modèle métrique pour un capteur permet deux utilisations de ses données. La première est similaire à celle qui traite de telles données sans modèle métrique et requiert la simple mémorisation de ce qui est perçu en un lieu donné (Partie kitxmlcodeinlinelatexdvpafinkitxmlcodeinlinelatexdvp). La seconde utilise ces données pour reconstituer les objets rencontrés dans l'environnement, objets qui pourront tous être mémorisés dans un cadre de référence commun, indépendamment de la position depuis laquelle ils ont été perçus (Partie kitxmlcodeinlinelatexdvpbfinkitxmlcodeinlinelatexdvp).

Avec un tel modèle, les valeurs des capteurs peuvent être utilisées simplement pour caractériser chaque lieu atteint par le robot (cf. Figure 3.1a). La méthode est alors la même que celle mise en place quand les capteurs sont utilisés sans modèle métrique. L'utilisation d'un modèle métrique présente toutefois l'avantage que les informations recueillies ont une sémantique plus forte et une certaine indépendance par rapport au point depuis lequel le robot a pris la mesure. En effet, ces informations caractérisent la structure spatiale locale de l'environnement, en plus de la simple apparence de l'environnement depuis la position du robot. Cette structure spatiale peut alors être utilisée lors de la comparaison de différents lieux. Il est par exemple possible de reconnaître un couloir en fonction de sa largeur, indépendamment de la position du robot dans ce couloir. En effet, sans utilisation de modèles métriques, deux perceptions recueillies en des positions différentes du couloir seront simplement différentes. En utilisant un modèle métrique, il est possible, par exemple, de calculer la largeur du couloir à partir des données recueillies et ainsi de déterminer si ces deux positions peuvent correspondre au même couloir.

 

Image non disponible

Figure 3.2 - Un modèle métrique des perceptions permet d'inférer les valeurs qui devraient être perçues pour des positions encore non visitées. Dans cet exemple, les données kitxmlcodeinlinelatexdvpA1finkitxmlcodeinlinelatexdvp et kitxmlcodeinlinelatexdvpA2finkitxmlcodeinlinelatexdvp sont perçues en deux positions reliées par des données proprioceptives kitxmlcodeinlinelatexdvpI1finkitxmlcodeinlinelatexdvp (partie kitxmlcodeinlinelatexdvpafinkitxmlcodeinlinelatexdvp). L'utilisation d'un modèle métrique permet de fusionner ces informations dans un cadre de référence commun où des objets sont représentés, ici deux murs orthogonaux (partie kitxmlcodeinlinelatexdvpbfinkitxmlcodeinlinelatexdvp, haut). Sans modèle métrique, ces données peuvent seulement être mémorisées de manière séparée (partie kitxmlcodeinlinelatexdvpbfinkitxmlcodeinlinelatexdvp, bas). Dans le cas de l'utilisation d'un modèle métrique, les données peuvent ensuite être utilisées pour estimer la perception kitxmlcodeinlinelatexdvpA3finkitxmlcodeinlinelatexdvp d’une nouvelle position reliée à la précédente par les données proprioceptives kitxmlcodeinlinelatexdvpI2finkitxmlcodeinlinelatexdvp. Ici, le modèle permet d'inférer que les données kitxmlcodeinlinelatexdvpA3finkitxmlcodeinlinelatexdvp correspondent à un coin de murs (partie kitxmlcodeinlinelatexdvpcfinkitxmlcodeinlinelatexdvp, haut). Sans un tel modèle, seules les positions visitées peuvent être reconnues et aucune inférence ne peut être faite pour les positions non visitées (partie kitxmlcodeinlinelatexdvpcfinkitxmlcodeinlinelatexdvp, bas).

Cependant, grâce à un modèle métrique, les perceptions peuvent être utilisées de manière différente. En effet, dans l'utilisation précédente sans modèle métrique, elles sont utilisées pour caractériser l'apparence de l'environnement depuis un lieu. Cette caractérisation ne permet pas d'identifier individuellement des objets distants du robot qui pourraient servir de points de repère, les amers. L'utilisation d'un modèle métrique rend possible l'identification de tels points (cf. Figure 3.1b). La perception de ces amers permet alors, en retour, d'obtenir des informations sur la position du robot. Cette utilisation des perceptions offre l'avantage supplémentaire de permettre au robot d'inférer les valeurs que mesureront les capteurs dans des positions différentes, mais voisines de sa position courante (cf. Figure 3.2). Par exemple, si un robot perçoit un mur à cinq mètres devant lui, il peut prédire qu'en avançant d'un mètre, il percevra le mur à quatre mètres. Un autre moyen de présenter cette propriété est de dire que les perceptions seules permettent d'estimer la position métrique relative de deux lieux (cf. Figure 3.3). Ainsi, si un robot perçoit deux fois un mur devant lui, d'abord à cinq mètres puis à quatre mètres, il pourra en déduire qu'il a avancé d'un mètre. Cette propriété permet au robot d'estimer sa position avec précision sur une part plus importante de son environnement et ne limite plus la localisation aux lieux déjà visités. Cet avantage est une conséquence directe de la fusion des informations proprioceptives et des perceptions au sein d'une même représentation, qui permet le passage d'un type d'information à l'autre.

 

Image non disponible

Figure 3.3 - Un modèle métrique des capteurs permet d'inférer la position relative kitxmlcodeinlinelatexdvpI1finkitxmlcodeinlinelatexdvp de deux lieux depuis lesquels des perceptions kitxmlcodeinlinelatexdvpA1finkitxmlcodeinlinelatexdvp et kitxmlcodeinlinelatexdvpA2finkitxmlcodeinlinelatexdvp ont été réalisées (partie kitxmlcodeinlinelatexdvpafinkitxmlcodeinlinelatexdvp). Cette estimation requiert d'abord la recherche d'un objet de l'environnement commun aux deux perceptions (partie kitxmlcodeinlinelatexdvpbfinkitxmlcodeinlinelatexdvp, haut). L'utilisation de cet objet commun rend alors possible l'estimation de la position relative kitxmlcodeinlinelatexdvpI1finkitxmlcodeinlinelatexdvp des deux lieux (partie kitxmlcodeinlinelatexdvpcfinkitxmlcodeinlinelatexdvp, haut). Sans modèle métrique, seule la similarité de deux perceptions peut être mesurée (partie kitxmlcodeinlinelatexdvpbfinkitxmlcodeinlinelatexdvp, bas). Il est alors seulement possible d'estimer si ces deux situations peuvent correspondre au même lieu ou non, c'est-à-dire si kitxmlcodeinlinelatexdvpI1finkitxmlcodeinlinelatexdvp est nulle ou non (partie kitxmlcodeinlinelatexdvpcfinkitxmlcodeinlinelatexdvp, bas).

Toutefois, la mise au point d'un tel modèle métrique peut être difficile. La relation qui lie la valeur mesurée par un capteur à la position des objets du monde réel peut être, en effet, très complexe. Dans le cas des capteurs à ultrasons, par exemple, si un mur se trouve juste dans l'axe du capteur, sa distance est simplement mesurée par le temps mis par l'onde sonore pour revenir au capteur. Mais, dans le cas où le mur est fortement incliné par rapport au capteur, l'écho peut ne pas revenir en direction du capteur qui ne détectera alors aucun obstacle. Un autre problème vient de la texture des murs. Un mur recouvert de textile ou d'un matériau souple renverra les échos très différemment d'un mur de béton. En conséquence, pour une distance donnée, le capteur percevra des distances différentes suivant le matériau des murs. Ces deux exemples montrent que le modèle métrique associé à un capteur ne dépend pas que du capteur. Il dépend aussi fortement de propriétés locales de l'environnement qui sont difficiles ou impossibles à prendre en compte dans un modèle du capteur seul.

II-B-3. Fusion d'informations

En résumé, les informations proprioceptives sont simples à utiliser, mais dérivent au cours du temps, tandis que les perceptions ne dérivent pas, mais souffrent des problèmes de variabilité perceptuelle et d'Ambiguïté.

La solution pour résoudre ces problèmes est de fusionner ces deux types d'information. Il est par exemple possible d'utiliser les informations proprioceptives afin de distinguer deux positions physiquement différentes, mais similaires pour le système perceptif. Ainsi deux lieux, dont la position relative mesurée par les données proprioceptives est non nulle, ne seront pas confondus. Cette solution est celle qui est mise en œuvre dans la majorité des systèmes de navigation, car elle permet d'utiliser les deux sources d'informations en limitant les défauts inhérents à chacune. Ainsi la dégradation progressive des informations proprioceptives est compensée par la reconnaissance de positions de l'environnement grâce aux perceptions. Inversement, le problème de perceptual aliasing est réglé par l'utilisation des données proprioceptives.

Comme nous le verrons dans ce cours, il existe de nombreuses méthodes pour utiliser conjointement les deux sources d'informations. Ces méthodes diffèrent par leur capacité à utiliser de manière plus ou moins efficace les avantages des deux types d'information. D'une manière générale, la qualité d'un système de navigation dépend fortement de cette capacité.

II-C. Matériel courant en robotique mobile

II-C-1. Bases mobiles

Nous présentons rapidement les différents types de bases mobiles utilisées en robotique, en nous focalisant sur les plates-formes mobiles terrestres pour le milieu intérieur. Ce cours ne portant pas sur les méthodes de commande, nous ne rentrerons pas en détail dans les modèles cinématiques ou dynamiques associés. Nous ne parlerons pas non plus des effecteurs permettant au robot d'agir sur son environnement, tels que les bras articulés.

II-C-1-a. Holonomie

En robotique, une plate-forme est dite holonome lorsque que le nombre de degrés de liberté contrôlables est égal au nombre total de degrés de liberté.

Un robot se déplaçant sur un plan, dispose de trois degrés de liberté (deux translations et une rotation). À partir d'une position donnée, une plate-forme holonome devra donc pouvoir se déplacer en avant, sur le côté et tourner sur elle-même. Cette capacité permet de contrôler très simplement le robot, car tous les déplacements imaginables sont réalisables, ce qui simplifie le problème de planification de trajectoire.

De nombreuses plates-formes simples ne sont pas holonomes. C'est par exemple le cas des voitures, ce qui oblige à manœuvrer pour réaliser certaines trajectoires. Par exemple, il est nécessaire de faire un créneau pour réaliser un déplacement latéral. Ces contraintes devront donc être prises en compte lors de la planification de trajectoires. Nous allons cependant voir quelques mécanismes permettant d'obtenir des plates-formes holonomes ou s'en approchant.

II-C-1-b. Plates-formes différentielles

L’une des configurations les plus utilisées pour les robots mobiles d'intérieur est la configuration différentielle qui comporte deux roues commandées indépendamment. Une ou plusieurs roues folles sont ajoutées à l'avant ou à l'arrière du robot pour assurer sa stabilité (Figure 4.1). Cette plate-forme est très simple à commander, puisqu'il suffit de spécifier les vitesses des deux roues. Elle autorise en plus une rotation sur place du robot. Cette possibilité permet de traiter dans certains cas le robot comme un robot holonome, ce qui simplifie la planification du déplacement et la commande du robot.

Figure 4.1 - Exemple de plate-forme différentielle. Pioneer 2 DX de la société MobileRobots. Urban Robot de la société iRobot.

Image non disponible

L'estimation du déplacement par odométrie est également très simple à partir de la mesure des vitesses de rotation des deux roues kitxmlcodeinlinelatexdvp\omega_1finkitxmlcodeinlinelatexdvp et kitxmlcodeinlinelatexdvp\omega_2finkitxmlcodeinlinelatexdvp. Les vitesses de translation kitxmlcodeinlinelatexdvpvfinkitxmlcodeinlinelatexdvp et de rotation kitxmlcodeinlinelatexdvp\omegafinkitxmlcodeinlinelatexdvp sont en effet données par:

kitxmlcodelatexdvp\begin{eqnarray*} v & = & \frac{\omega_1r+\omega_2r}{2} \\ \omega & =& \frac{\omega_1r-\omega_2r}{2l} \end{eqnarray*}finkitxmlcodelatexdvp

Ce type de plates-formes peut également être utilisé avec des chenilles ce qui fournit une capacité de franchissement de petits obstacles intéressante (Figure 4.1). Ces plates-formes peuvent ainsi être utilisées en extérieur ou dans des décombres. L'utilisation de chenilles conduit cependant à une odométrie très bruitée à cause du contact mal défini entre les chenilles qui glissent beaucoup notamment lors des rotations et le sol . L'estimation de la direction par l'odométrie sur ce type de plates-formes est donc en général rapidement inutilisable.

II-C-1-c. Plates-formes omnidirectionnelles

Les plates-formes omnidirectionnelles permettent de découpler de manière plus nette le contrôle de la rotation et de la translation d'un robot et sont donc quasiment holonomes.

Figure 4.2 - Exemple de plate-forme omnidirectionnelle à roues orientables.

Image non disponible

Il existe différents types de plates-formes omnidirectionnelles. Le premier utilise trois ou quatre roues qui tournent à la même vitesse pour fournir une translation et un mécanisme qui permet d'orienter simultanément ces roues dans la direction souhaitée du déplacement (Figure 4.2). Le corps du robot lui-même n'effectue pas de rotation, mais uniquement des translations. Ce système permet un contrôle très simple et relativement rapide, car les changements de direction ne concernent que les roues et peuvent donc se faire très vite. Par contre, ces plates-formes sont relativement limitées en capacité de franchissement et requièrent un sol très plan.

Image non disponible

Figure 4.3 - Exemple de plate-forme omnidirectionnelle à roues suédoises.

Une deuxième catégorie de plates-formes utilise des roues dites « suédoises », qui n'offrent pas de résistance au déplacement latéral (Figure 4.3). La plate-forme comporte trois roues dont les axes sont fixes. Les déplacements dans toutes les directions et en rotation sont obtenus en faisant varier individuellement les vitesses des roues. La plate-forme tourne sur place lorsque les trois roues tournent dans le même sens, à la même vitesse. Lorsqu’une roue est fixe et que les deux autres tournent en sens opposé, la plate-forme avance en direction de la roue fixe. Différentes combinaisons de vitesses permettent d'obtenir des déplacements quelconques.

II-C-1-d. Plates-formes non holonomes

 
Image non disponible
Figure 4.4 - Exemple de plate-forme non holonome de type Ackerman.

Des plates-formes non holonomes, telles que les voitures, sont également utilisées en robotique mobile (Figure 4.4). C'est plus particulièrement le cas dans le domaine des véhicules intelligents. Ces plates-formes sont toutefois plus difficiles à commander, car elles ne peuvent pas tourner sur place et doivent manœuvrer, ce qui peut être difficile dans des environnements encombrés. La commande de ces plates-formes pour réaliser un déplacement particulier est un problème à part entière que nous n'aborderons pas dans ce cours. Par contre, il est possible de prendre en compte ces contraintes de manière relativement simple dans la planification (voir chapitre IIINavigation utilisant une carte).

II-C-1-e. Plates-formes à pattes

Des plates-formes à deux, quatre ou six pattes peuvent également être utilisées. Elles ont l'avantage théorique de pouvoir se déplacer sur des terrains assez complexes, même si en pratique la plupart de ces plates-formes ne fonctionnent que sur des sols plans.

Les plates-formes à six pattes sont relativement pratiques, car le robot peut être en équilibre permanent sur au moins 3 pattes, ce qui facilite le contrôle. Les plates-formes à deux ou quatre pattes sont plus complexes à commander et le simple contrôle de la stabilité et d'une allure de marche correcte reste aujourd'hui difficile, ce qui les rend le plus souvent relativement lentes. L'odométrie de ce type de plates-formes est en outre généralement d'assez faible qualité. Ces différents facteurs font que ces plates-formes sont rarement utilisées quand l'application visée a un besoin précis de positionnement et de navigation. De telles plates-formes commencent cependant à apparaître à relativement grande échelle (par exemple le robot Nao de Aldebarran Robotics).

II-C-2. Capteurs

Figure 4.5 - Exemples de robots à pattes. Hexapode de AAI Canada, Aibo de Sony, Nao de Aldebarran Robotics.

Image non disponible

Nous présentons dans cette section les capteurs les plus couramment utilisés en robotique mobile pour les besoins de la navigation ainsi que des modèles probabilistes associés qui seront utilisés dans plusieurs méthodes de navigation.

II-C-2-a. Capteurs proprioceptifs

Les capteurs proprioceptifs permettent une mesure du déplacement du robot. Ce sont les capteurs que l'on peut utiliser le plus directement pour la localisation, mais ils souffrent d'une dérive au cours du temps qui ne permet pas en général de les utiliser seuls.

II-C-2-a-i. Odométrie

L'odométrie permet d'estimer le déplacement de la plate-forme à partir de la mesure de rotation des roues (ou du déplacement des pattes). La mesure de rotation est en général effectuée par un codeur optique disposé sur l'axe de la roue, ou sur le système de transmission (par exemple sur la sortie de la boîte de vitesse pour une voiture). Le problème majeur de cette mesure est que l'estimation du déplacement fournie dépend très fortement de la qualité du contact entre la roue (ou la patte) et le sol. Elle peut être relativement correcte pour une plate-forme à deux roues motrices sur un sol plan de qualité uniforme, mais est en général quasiment inutilisable seule pour un robot à chenille par exemple. Pour limiter ce problème, il peut être intéressant de positionner le codeur optique sur une roue non motrice qui glissera moins. Notons cependant que l'erreur de ces méthodes se retrouve en général principalement sur l'estimation de la direction du robot, tandis que la mesure de la distance parcourue est souvent de meilleure qualité.

II-C-2-a-ii. Modèle probabiliste

La majorité des modèles de localisation et de cartographie présentés dans ce cours (voir chapitre IIINavigation utilisant une carte) vont faire appel à un modèle probabiliste de cette mesure. Il existe deux types de modèles : les modèles directs (donnant la probabilité de la mesure en fonction du déplacement réel) et les modèles inverses (donnant la probabilité du déplacement réel en fonction de la mesure). Dans le cas de l'odométrie, la plupart des méthodes utilisent un modèle inverse afin d'interpréter les mesures réalisées.

 
Image non disponible
Figure 4.6 - Modèle probabiliste de l'odométrie. Paramètres du déplacement à gauche. Exemple de densité de probabilité après un déplacement rectiligne à droite.

Il existe divers types de modèles, mais les plus simples et les plus utilisés sont des modèles supposant que les paramètres du mouvement (direction kitxmlcodeinlinelatexdvp\thetafinkitxmlcodeinlinelatexdvp et longueur kitxmlcodeinlinelatexdvpdfinkitxmlcodeinlinelatexdvp du déplacement, changement de direction kitxmlcodeinlinelatexdvp\phifinkitxmlcodeinlinelatexdvp du robot, cf. Figure 4.6, gauche) sont statistiquement indépendants et soumis à un bruit Gaussien :

kitxmlcodelatexdvpP(d,\theta,\phi|d_o,\theta_o,\phi_o)=e^{-\left( \frac{d-d_o}{\sigma_d}\right)^2 } \times e^{-\left(\frac{\theta-\theta_o}{\sigma_\theta}\right)^2} \times e^{-\left(\frac{\phi-\phi_o}{\sigma_\phi}\right)^2}finkitxmlcodelatexdvp

où kitxmlcodeinlinelatexdvpd,\theta,\phifinkitxmlcodeinlinelatexdvp sont les valeurs réelles et kitxmlcodeinlinelatexdvpd_o,\theta_o,\phi_ofinkitxmlcodeinlinelatexdvp les valeurs observées.

En général, les écarts types de ces différentes gaussiennes (kitxmlcodeinlinelatexdvp\sigma_d, \sigma_\theta, \sigma_\phifinkitxmlcodeinlinelatexdvp) dépendent de la valeur de la mesure : l'erreur sur la longueur du déplacement pourra par exemple être proportionnelle à cette longueur : kitxmlcodeinlinelatexdvp\sigma_d = \gamma \times dfinkitxmlcodeinlinelatexdvp

Il est possible d'utiliser des modèles beaucoup plus fins de l'odométrie reposant sur le processus physique utilisé pour la mesure du déplacement. Il est par exemple possible de faire une hypothèse de bruit gaussien sur le capteur réalisant la mesure de rotation de chaque roue puis, par calcul, d'en déduire l'erreur sur l'estimation du déplacement du robot. Cependant, une telle précision n'est souvent pas nécessaire dans de nombreux algorithmes.

Comme nous le verrons au chapitre sur la localisation, ces modèles probabilistes peuvent être utilisés pour générer des positions possibles du robot selon la distribution de probabilité déduite de la mesure de l'odométrie.

II-C-2-a-iii. Systèmes radars doppler et optiques
 
Image non disponible
Figure 4.7 - Exemple d'odomètre optique Correvit L-CE de CORRSYS- DARTON Sensorsysteme GmbH.

Au lieu de mesurer le déplacement par des mesures sur les roues, il est possible d'utiliser un radar pointé vers le sol qui permet de mesurer la vitesse du véhicule par effet Doppler. Il existe aussi des systèmes optiques, basés sur le même principe que les souris d'ordinateur, qui mesurent le déplacement du véhicule en analysant le mouvement relatif du sol (Figure 4.7). Ces systèmes présentent l'avantage d'être plus précis que la mesure passant par les roues, notamment car ils sont indépendants des dérapages possibles de ces roues. Ils sont cependant en général relativement chers et encombrants et sont assez rares sur les petites plates-formes.

II-C-2-a-iv. Systèmes inertiels

La mesure de déplacement potentiellement la plus fiable provient de la mesure des accélérations de la plate-forme par des capteurs inertiels. Cette mesure est potentiellement fiable, car elle ne dépend pas de la nature locale de l'environnement, cependant les capteurs inertiels sont tous entachés de bruit de mesure qui produit une dérive de l'estimation de la position au cours du temps.

La qualité des mesures inertielles dépend très fortement du type des capteurs utilisés. Historiquement, les premiers capteurs ont été réalisés à base de systèmes mécaniques et peuvent fournir des mesures extrêmement précises, au prix d'un coût et d'une masse très élevés. Ces dernières années ont vu apparaître de nouvelles technologies de capteurs, notamment basées sur les techniques de microélectronique, qui ont permis la réalisation de capteurs inertiels « bas coût » et l'apparition de ces capteurs dans des produits grand public. La précision de ces capteurs est toutefois de quelques ordres de grandeur plus faible, ce qui rend leur utilisation isolée quasiment impossible. Ces capteurs fournissent toutefois un très bon complément à l'odométrie, notamment pour l'estimation de la direction.

L'accélération en translation de la plate-forme est mesurée par des accéléromètres. On dispose en général deux accéléromètres pour prendre des mesures dans deux directions perpendiculaires du plan de déplacement du robot. Un troisième peut être disposé verticalement afin de mesurer l'accélération en trois dimensions.

L'accélération angulaire est mesurée par des gyromètres. On dispose en général un gyromètre selon l'axe vertical, qui permet ainsi de mesurer l'angle de lacet du robot. Deux autres gyromètres peuvent être positionnés selon deux axes du plan de déplacement afin d'estimer la direction en trois dimensions.

Il est également possible de mesurer la rotation du robot par rapport à un axe de référence en utilisant un gyroscope. Cette mesure s'effectue en général par rapport à un axe de référence mis en rotation et isolé mécaniquement le plus possible du robot, ce qui rend sa direction indépendante de la direction du robot. Cette mesure peut être moins bruitée que l'intégration du signal d'accélération, mais dépend très fortement de la qualité de la réalisation mécanique du système, qui dépend très directement du prix du gyroscope.

Enfin, les magnétomètres permettent, par la mesure du champ magnétique terrestre, de déduire la direction du nord. Ces capteurs peuvent utiliser différentes technologies et ont l'avantage de fournir une direction de référence stable au cours du temps (au contraire des gyroscopes qui dérivent). Ces capteurs sont toutefois très délicats à utiliser en intérieur, car ils sont très sensibles aux masses métalliques présentes dans les bâtiments et leur structure. En pratique, on les utilise donc principalement en extérieur en apportant le plus grand soin à leur positionnement sur le robot pour éviter les influences des composants du robot, notamment les moteurs électriques.

Image non disponible
Figure 4.8 - Centrale inertielle Crista de Cloud Cap Technology.

L'ensemble de ces éléments (accéléromètres, gyromètres, magnétomètres) peut être réuni pour former une centrale inertielle qui permet d'estimer complètement les six degrés de liberté de la position dans un espace à 3 dimensions. Les centrales inertielles « bas coût » sont cependant aujourd'hui de qualité insuffisante pour une utilisation isolée, tandis que les centrales de qualité correcte restent très chères. Ce domaine est toutefois en évolution rapide avec l'arrivée de nouvelles technologies et l'apparition de centrales « bas coût » de bonne qualité devrait se faire dans les prochaines années.

L'utilisation des données fournies par ce type de senseurs passe aussi en général par un modèle probabiliste, qui peut être du type de celui présenté pour l'odométrie. Cependant, la gestion du bruit interne de ces capteurs demande en général des modèles beaucoup plus précis, qui estiment explicitement la dérive des capteurs afin de la corriger. Ceci permet de bénéficier de modèles plus précis en sortie également.

II-C-2-b. Télémètres

Il existe différents types de télémètres, qui permettent de mesurer la distance aux éléments de l'environnement, utilisant divers principes physiques.

II-C-2-b-i. Télémètres à ultrason

Les télémètres à ultrason sont historiquement les premiers utilisés. Il utilisent la mesure du temps de vol d'une onde sonore réfléchie par les obstacles pour estimer la distance (Figure 4.9). Ces télémètres sont très simples et peu chers et sont donc très répandus, mais possèdent de nombreux inconvénients.

Figure 4.9 - Principe du télémètre à ultrasons et exemple de télémètre réel.

Image non disponible

En premier lieu, deux télémètres voisins ne peuvent être utilisés simultanément, car il est impossible de savoir par lequel des deux télémètres une onde réfléchie a été émise (phénomène de « crosstalk »). Un robot possédant plusieurs télémètres doit donc les activer l'un après l'autre, ce qui entraîne un taux de rafraîchissement global des mesures relativement faible.

Ces télémètres possèdent une « zone aveugle » de quelques centimètres, en dessous de laquelle ils ne peuvent détecter les obstacles. Cette zone est due a une temporisation entre l'émission de l'onde sonore et le début de la détection de l'onde réfléchie, temporisation qui est nécessaire pour ne pas perturber cette mesure.

De plus, l'onde réfléchie est très sensible aux conditions environnementales locales. Ainsi, si l'angle entre l'obstacle et la direction de l'onde sonore est trop faible, il n'y aura pas de retour de l'onde sonore et l'obstacle ne sera pas perçu. L'onde de retour dépend également de la texture de l'obstacle. Un mur couvert de moquette pourra par exemple ne pas être détecté.

Les télémètres à ultrason détectent les obstacles se situant dans un cône relativement large (d'angle au sommet d'environ 30 degrés). Cette caractéristique peut être à la fois un avantage et un inconvénient. C'est un inconvénient, car un obstacle détecté n'est pas localisé en angle à l'intérieur du cône de détection et on obtient donc une mesure de la position relativement imprécise. C'est par contre un avantage, car des éléments relativement fins (les pieds de table ou de chaise par exemple) sont détectés dans ce cône, alors qu'ils pourraient ne pas être détectés par des télémètres ayant un angle d'ouverture très fin.

II-C-2-b-ii. Télémètres à infrarouge

Les télémètres à infrarouges possèdent l'avantage d'avoir un cône de détection beaucoup plus restreint. Ils utilisent une lumière infrarouge au lieu d'une onde sonore pour la détection et peuvent être basés sur différentes techniques qui permettent de recueillir plus ou moins d'informations.

 
Image non disponible
Figure 4.10 - Principe du télémètre infrarouge à triangulation et exemple de télémètre réel (Sharp).

Il est possible de mesurer simplement le retour ou le non-retour d'une impulsion codée, ce qui permet de détecter la présence ou l'absence d'un obstacle dans une certaine portion de l'espace. Il est également possible de réaliser une triangulation sur le faisceau de retour de l'onde lumineuse, ce qui permet d'avoir une mesure de la distance de l'obstacle (Figure 4.10).

Les inconvénients de ces télémètres sont liés à leur portée, en général relativement restreinte et à leur sensibilité aux sources de lumières qui contiennent un fort rayonnement infrarouge. Par exemple, un projecteur du type de ceux utilisés pour la télévision qui est pointé sur le robot, sature en général complètement le récepteur et empêche toute détection d'obstacle. Les télémètres à infrarouge sont également très sensibles à la couleur et à la nature de la surface de l'obstacle (par exemple, ils détectent difficilement les vitres et les obstacles noirs mats).

II-C-2-b-iii. Télémètres laser

Les télémètres les plus utilisés à l'heure actuelle pour des applications de cartographie et de localisation sont les télémètres laser à balayage. Ils utilisent un faisceau laser mis en rotation afin de balayer un plan, en général horizontal et qui permet de mesurer la distance aux objets qui coupent ce plan (Figure 4.11). Cette mesure peut être réalisée selon différentes techniques soit en mesurant le temps de vol d'une impulsion laser, soit par triangulation.

Figure 4.11 - Illustration du principe de fonctionnement d'un télémètre Laser et un exemple de Télémètre Laser à balayage, fournissant 720 mesures réparties sur 360 degrés, à 5 Hz (marque Ibeo).

Image non disponible

Les télémètres courants ont une bonne résolution angulaire, car ils permettent d'obtenir une mesure de distance tous les demi-degrés, sur une zone de 180 ou 360 degrés selon les modèles. La mesure est de surcroît relativement précise (avec un bruit de l'ordre de quelques centimètres) à une distance relativement grande (plusieurs dizaines de mètres). La fréquence d'acquisition est en général de l'ordre de la dizaine de Hertz, voire proche de la centaine pour certains modèles.

Ces télémètres sont très utilisés en environnement intérieur, car ils fournissent des données abondantes et précises sur la position des objets caractéristiques de l'environnement tels que les murs. Ils possèdent toutefois un certain nombre d'inconvénients. En premier lieu, leur zone de perception est restreinte à un plan et ne permet donc pas de détecter les obstacles situés hors de ce plan (un petit objet posé au sol par exemple). Ils ne peuvent pas non plus détecter les objets ne réfléchissant pas correctement la lumière du laser (en premier lieu les vitres, mais aussi certains objets très réfléchissants, tels que les objets chromés). Pour limiter ces inconvénients, il est possible de les utiliser en conjonction avec des capteurs à ultrasons qui ont un cône de détection plus large et qui peuvent détecter les vitres.

Enfin, la plupart des algorithmes de cartographie et de localisation existants supposent que le plan de mesure du télémètre laser reste horizontal et à hauteur constante, ce qui n'est plus vrai en cas de sol irrégulier ou, dans la majorité des cas, en extérieur. Il est alors nécessaire de passer à une localisation et une cartographie en 3D.

Figure 4.12 - Un exemple de télémètre laser à balayage selon 2 axes (à gauche) et de camera permettant d'obtenir une image de profondeur de 320x240 pixels (à droite).

Image non disponible

Il existe des télémètres laser balayant l'espace selon deux axes 4.12. Ils permettent ainsi d'obtenir une image de distance selon un angle solide de l'ordre de quelques dizaines de degrés dans les deux dimensions. Ces télémètres restent toutefois chers et fragiles du fait de la mécanique nécessaire au balayage. De plus, la fréquence d'acquisition est relativement faible (de l'ordre de quelques Hertz), ce qui pose problème lorsque le robot est en mouvement. Ces télémètres sont donc plutôt destinés à des applications relativement statiques comme la création de modèles 3D.

Il existe également des systèmes sans balayage permettant d'obtenir une image de profondeur de la même manière qu'une caméra couleur standard. Plusieurs technologies sont utilisées, soit par mesure de temps de vol d'une impulsion laser ou infrarouge, soit par triangulation à partir de projecteurs infrarouges. Ces capteurs sont récents, mais sont très intéressants pour la robotique mobile, car ils permettent d'obtenir une information dense à une fréquence assez élevée (image de profondeur de 320x240 à 30 Hz pour la caméra Kinect par exemple, Figure 4.12). Ces informations peuvent être couplées à une image couleur, on parle alors de caméra RGBD (D pour Depth). Il reste cependant certaines limitations, notamment pour l'emploi en extérieur où l'information de profondeur peut être perdue à cause de la lumière du soleil qui masque la lumière infrarouge.

 
Image non disponible
Figure 4.13 - Un exemple de télémètre laser à balayage à 64 nappes conçu par Velodyne.

Enfin, principalement pour les véhicules intelligents, il existe un compromis qui consiste à utiliser plusieurs nappes laser avec différentes inclinaisons afin d'avoir des modèles assez précis de l'environnement sur 360 degrés (Figure 4.13). Ces capteurs restent assez lourds et chers, mais permettent de réaliser quasiment l'ensemble des tâches nécessaires pour un véhicule, comme la localisation, la cartographie et la détection de piétons ou de véhicules.

II-C-2-b-iv. Modèle probabiliste

Les modèles probabilistes associés aux télémètres permettent de donner la probabilité de la mesure en fonction de la distance réelle de l'obstacle. Pour les capteurs réalisant plusieurs mesures, les probabilités sont en général estimées pour chacune des mesures individuelles prises depuis une position, puis agglomérées par produit en supposant les mesures indépendantes :

kitxmlcodelatexdvpP(Scan|Obstacles) = \prod_{i=1}^{M}P(mesure_i|Obstacles)finkitxmlcodelatexdvp

Image non disponible  

Figure 4.14 - Modèle probabiliste de télémètre par composition d'événements élémentaires et exemple d'application sur des données réelles de sonars ou de télémètres laser (tiré de [135]).

Pour estimer la probabilité d'une mesure individuelle, il est possible d'utiliser une simple loi gaussienne autour de la distance réelle comme modèle probabiliste, mais les modèles sont en général un peu plus évolués et utilisent une combinaison de lois qui modélisent plusieurs phénomènes qui peuvent être responsables de la mesure (Figure 4.14) :

  • la mesure effective de l'obstacle visé, modélisé par une gaussienne en général ;
  • la perception d'un obstacle imprévu, par exemple une personne ou un objet dynamique non présent dans la représentation du monde, modélisé par une loi décroissante telle qu'une exponentielle ;
  • la non-détection d'un écho, qui donne une mesure à la distance maximale du télémètre, modélisé par un pic.

Les paramètres de cette combinaison de lois peuvent être réglés manuellement ou estimés à partir d'un ensemble de mesures, par exemple en utilisant un algorithme de maximisation de l'espérance. Ces modèles peuvent être adaptés à tous les types de télémètres (Figure 4.14).

II-C-2-c. Caméras

L'utilisation d'une caméra pour percevoir l'environnement est une méthode attractive, car elle semble proche des méthodes utilisées par les humains et fournit une grande quantité d'information sur l'environnement. Le traitement des données volumineuses et complexes fournies par ces capteurs est néanmoins souvent difficile, mais c'est une voie de recherche très explorée et prometteuse pour la robotique.

II-C-2-c-i. Caméras simples

Une caméra standard peut être utilisée de différentes manières pour la navigation d'un robot mobile. Elle peut être utilisée pour détecter des amers visuels (des points particuliers qui servent de repère, tels que des portes ou des affiches) à partir desquels il sera possible de calculer la position du robot. Si ces amers sont simplement ponctuels, ou de petite taille, il sera en général simplement possible d'estimer leur direction. Dans le cas où les amers sont des objets connus en 2 ou 3 dimensions, il sera en général possible d'estimer complètement la position du robot par rapport à la leur. La caméra peut également être utilisée pour détecter des « guides » de navigation pour le robot, tels que des routes ou des couloirs.

 
Image non disponible
Figure 4.15 - Illustration du principe de base du flot optique.

Il est également possible d'utiliser globalement une image pour caractériser une position ou un point de vue dans l'environnement. Il faudra alors comparer cette image aux nouvelles images acquises par le robot pour savoir si le robot est revenu à cette position. Cette comparaison peut faire appel à différentes techniques, notamment celles utilisées dans le domaine de l'indexation d'image.

Lorsque le robot est en mouvement, il est également possible de tirer parti du flot optique (le mouvement apparent des objets dans l'image, voir Figure 4.15), afin d'avoir une estimation de la distance aux objets. En effet, les objets les plus proches ont un déplacement apparent plus important que les objets lointains. Cette méthode permet notamment de réaliser un évitement d'obstacles ou de réaliser une reconstruction tridimensionnelle de l'environnement (par des techniques connues sous le nom de structure from motion, voir section I.C.2.c.iiCaméras stéréoscopiques).

II-C-2-c-ii. Caméras stéréoscopiques
 
Image non disponible
Figure 4.16 - Exemple de données fournies par des caméras stéréoscopiques.

Lorsque l'on dispose de deux caméras observant la même partie de l'environnement à partir de deux points de vue différents, il est possible d'estimer la distance aux objets et d'avoir ainsi une image de profondeur (Figure 4.16), qui peut être utilisée pour l'évitement d'obstacles ou la cartographie. Cette méthode suppose toutefois un minimum d'éléments saillants dans l'environnement (ou un minimum de texture) et peut être limitée, par exemple dans un environnement dont les murs sont peints de couleurs uniformes. La qualité de la reconstruction risque également de dépendre fortement des conditions de luminosité. La résolution et l'écartement des deux caméras imposent également les profondeurs minimales et maximales qui peuvent être perçues, ce qui peut être limitatif pour la vitesse de déplacement du robot.

Des techniques similaires peuvent également être utilisées pour estimer la profondeur à partir d'une caméra en mouvement (méthodes de structure from motion, voir par exemple [67]), la difficulté étant alors d'estimer à la fois la profondeur et les positions relatives de la caméra lors de la prise des deux images.

II-C-2-c-iii. Caméras panoramiques
 
Image non disponible
Figure 4.17 - Principe des caméras panoramiques catadioptriques, exemple d'image obtenue et illustration du flux optique.

Les caméras panoramiques (catadioptriques) sont constituées d'une caméra standard pointant vers un miroir de révolution (par exemple un simple cône ou un profil plus complexe qui peut s'adapter à la résolution exacte que l'on veut obtenir sur le panorama) (Figure 4.17). L'image recueillie permet d'avoir une vision de l'environnement sur 360 degrés autour de la caméra. Le secteur angulaire vertical observé dépend de la forme du miroir et peut être adapté aux besoins de chaque application (Figure 4.17).

Ce type de caméra est très pratique pour la navigation, car une image prise par une caméra panoramique orientée verticalement permet de caractériser une position, indépendamment de la direction du robot. En effet, pour une position donnée et pour deux orientations différentes, la même image sera formée par la caméra, à une rotation autour du centre près, tandis que pour une caméra standard, orientée horizontalement, la scène serait différente.

Ces caméras sont donc très pratiques lorsque l'on caractérise une position de manière globale, mais elles peuvent aussi être utilisées pour détecter des amers ou pour estimer le flux optique. Dans ce cas toutefois, comme la géométrie de l'image formée est relativement complexe et comme la résolution obtenue varie énormément selon la direction observée, les algorithmes doivent être adaptés, ce qui pose un certain nombre de problèmes.

Cependant, concernant le flux optique, les caméras panoramiques possèdent l'avantage de contenir toujours le point d'expansion et le point de contraction dans l'image, ce qui rend l'estimation du mouvement beaucoup plus aisée (Figure 4.17).

II-C-2-d. Autres capteurs

II-C-2-d-i. Capteurs tactiles

Les robots peuvent être équipés de capteurs tactiles, qui sont le plus souvent utilisés pour des arrêts d'urgence lorsqu'ils rencontrent un obstacle qui n'avait pas été détecté par le reste du système de perception.

Ces capteurs peuvent être de simples contacteurs répartis sur le pourtour du robot. Ils ne détectent alors le contact qu'au dernier moment. Il est également possible d'utiliser des petites tiges arquées autour du robot pour servir d'intermédiaire à ces contacteurs, ce qui permet une détection un peu plus précoce et donne ainsi plus de marge pour arrêter le robot.

II-C-2-d-ii. Balises

Dans certaines applications, il est également possible d'utiliser des balises dont on connaît la position et qui pourront être facilement détectées par le robot, afin de faciliter sa localisation.

Des techniques très diverses peuvent être utilisées pour ces balises. On peut par exemple utiliser un signal radio, émis de manière omnidirectionnelle par la balise. Le robot sera alors équipé d'une antenne directionnelle qui lui permettra de détecter la direction des différentes balises, afin de déduire sa position par triangulation.

On peut également utiliser des codes couleur ou des codes barres qui pourront être détectés par une caméra.

II-C-2-d-iii. GPS

Les besoins de localisation étant omniprésents dans de très nombreux secteurs de la vie actuelle, l'idée d'avoir un système de localisation le plus universel possible a donné lieu à l'apparition du Global Positionning System (GPS). C'est un système de balises placées sur des satellites en orbite terrestre et qui est par conséquent accessible de quasiment partout à la surface du globe. Ce système permet donc d'avoir une mesure de sa position dans un repère global couvrant la terre avec une précision variant de quelques dizaines de mètres à quelques centimètres suivant les équipements.

Ce système est cependant loin de résoudre tous les problèmes de localisation des robots mobiles. Il fonctionne en effet difficilement dans des environnements urbains et n'est pas utilisable à l'intérieur des bâtiments. Sa précision est de plus souvent trop faible pour qu'un robot terrestre puisse utiliser ces informations seules. En pratique, il est souvent couplé à un système inertiel qui permet de pallier les pertes du signal GPS. Il ne remplace de toute façon pas les capteurs du robot qui lui permettent de percevoir son environnement immédiat, qui constitue la source d'information principale pour la navigation à court terme (par exemple l'évitement d'obstacles, par opposition à la navigation à long terme qui consiste à rejoindre un but distant).

II-C-3. Pour aller plus loin

Sensors for Mobile Robots: Theory and Application, Everett
Une version en ligne est disponible :

http://www-personal.engin.umich.edu/~johannb/my_book.htm


précédentsommairesuivant
L'hypothèse de monde clos dit que la représentation symbolique d'un problème va être suffisante pour pouvoir représenter toutes les conséquences des actions réalisées dans ce monde. Cela se révèle impossible en pratique pour des problèmes autres que ceux posés par des jouets (par exemple un monde de cubes posés sur une table).

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Licence Creative Commons
Le contenu de cet article est rédigé par David Filliat et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé.
Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright © 2016 Developpez.com.