Académique Documents
Professionnel Documents
Culture Documents
Robotique Mobile
2
Cette cration est mise disposition selon le Contrat Paternit-Pas dUtilisation Commerciale-
Partage des Conditions Initiales lIdentique 2.0 France disponible en ligne :
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
ou par courrier postal Creative Commons, 171 Second Street, Suite 300, San Francisco,
California 94105, USA.
Si vous avez des remarques ou des suggestions pour maider le faire progresser, ou sim-
plement si il vous a t utile, nhsitez pas mcrire : david.filliat@ensta-paristech.fr
1 Introduction 9
1.1 Robot Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Objectifs du cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 (Trs) Bref aperu historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Exemples dapplications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5 Pour aller plus loin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
II Navigation ractive 53
5 Navigation vers un but 57
5.1 Vhicules de Braitenberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.2 Modle de Cartwright et Collet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3 Asservissement visuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6 vitement dobstacles 61
6.1 Mthode des champs de potentiel . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.2 Mthode Vector Field Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.3 Mthode de la fentre dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10 Localisation 103
10.1 Diffrentes capacits de localisation . . . . . . . . . . . . . . . . . . . . . . . . . 103
10.2 Estimation de la position par les perceptions . . . . . . . . . . . . . . . . . . . . 105
10.2.1 Cartes topologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
10.2.2 Cartes mtriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.2.3 Corrlation de cartes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10.2.4 Limitations de lestimation de la position par les perceptions . . . . . . . . 110
10.3 Suivi dune hypothse unique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
10.3.1 Cartes topologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.3.2 Cartes mtriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.3.3 Le filtrage de Kalman pour la localisation . . . . . . . . . . . . . . . . . . . 112
10.3.4 Limitations du suivi de position . . . . . . . . . . . . . . . . . . . . . . . . 119
10.4 Suivi de plusieurs hypothses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
10.4.1 Suivi explicite de plusieurs hypothses . . . . . . . . . . . . . . . . . . . . 120
10.4.2 Le filtrage Baysien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.4.3 Filtrage Baysien dans le cas discret . . . . . . . . . . . . . . . . . . . . . 126
10.4.4 Filtrage particulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
10.5 Comparaison des mthodes de localisation . . . . . . . . . . . . . . . . . . . . . 133
11 Cartographie 135
11.1 Les problmes de la cartographie . . . . . . . . . . . . . . . . . . . . . . . . . . 135
11.1.1 Limitation des mthodes de localisation . . . . . . . . . . . . . . . . . . . 135
11.1.2 Fermetures de boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
11.1.3 Cartographie incrmentale et retour en arrire . . . . . . . . . . . . . . . . 136
11.2 Cartographie incrmentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
11.2.1 Cartes Topologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
11.2.2 Cartes mtriques : corrlation de scan . . . . . . . . . . . . . . . . . . . . 140
11.2.3 Cartes mtriques : grilles doccupation . . . . . . . . . . . . . . . . . . . . 141
11.2.4 Stratgies dexploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
11.3 Retour sur les modifications passes . . . . . . . . . . . . . . . . . . . . . . . . 144
12 Planification 155
12.1 Espace des configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
12.2 Discrtisation de lespace de recherche . . . . . . . . . . . . . . . . . . . . . . . 156
12.3 Recherche de chemin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
12.3.1 Deux types de plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
12.3.2 Calcul de politique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
12.3.3 Calcul dun chemin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
12.4 Exemples de politiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
12.5 Choix de laction avec une position incertaine . . . . . . . . . . . . . . . . . . . . 162
12.6 Pour aller plus loin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Index 164
Bibliographie 165
Chapitre 1
Introduction
F IGURE 1.1 Schma des interactions dun robot avec son environnement. Selon les ap-
proches, un modle interne de lenvironnement peut tre utilis ou non.
Cette dfinition sillustre par un schma classique des interactions dun robot avec son envi-
ronnement (Figure 1.1). Les diffrentes notions que nous prsenterons dans ce cours sont es-
sentiellement issues de cette vision de la robotique, trs oriente sur lIntelligence Artificielle, qui
F IGURE 1.2 La tortue de Grey Walter (nomme machina speculatrix et surnomme Elsie)
et une illustration de sa trajectoire pour rejoindre sa niche.
Le terme de robot apparat pour la premire fois dans une pice de Karel Capek en 1920 :
Rossums Universal Robots. Il vient du tchque robota ( servitude) et prsente une vision des
robots comme serviteurs dociles et efficaces pour raliser les taches pnibles mais qui dj vont
se rebeller contre leurs crateurs.
La Tortue construite par Grey Walter dans les anne 1950 (Figure 1.2), est lun des premiers
robots mobiles autonomes. Grey Walter nutilise que quelques composants analogiques, dont
des tubes vide, mais son robot est capable de se diriger vers une lumire qui marque un
but, de sarrter face des obstacles et de recharger ses batteries lorsquil arrive dans sa niche.
Toutes ces fonctions sont ralises dans un environnement entirement prpar, mais restent des
fonctions de base qui sont toujours des sujets de recherche et de dveloppement technologiques
pour les rendre de plus en plus gnriques et robustes.
F IGURE 1.3 A gauche : Robot "Beast" de luniversit John Hopkins dans les annes 1960.
A droite : Le robot Shakey de Stanford en 1969 a t une plate-forme de dmonstration des
recherches en intelligence artificielle.
Dans les annes 60, les recherches en lectronique vont conduire, avec lapparition du tran-
sistor, des robots plus complexes mais qui vont raliser des tches similaires. Ainsi le robot
"Beast" (Figure 1.3) de luniversit John Hopkins est capable de se dplacer au centre des cou-
loirs en utilisant des capteurs ultrason, de chercher des prises lectriques (noires sur des murs
blanc) en utilisant des photo-diodes et de sy recharger.
Les premier liens entre la recherche en intelligence artificielle et la robotique apparaissent
Stanford en 1969 avec Shakey (Figure 1.3). Ce robot utilise des tlmtres ultrason et une
camra et sert de plate-forme pour la recherche en intelligence artificielle, qui lpoque travaille
essentiellement sur des approches symboliques de la planification. La perception de lenviron-
nement, qui lpoque est considre comme un problme spar, voire secondaire, se rvle
particulirement complexe et conduit l aussi de fortes contraintes sur lenvironnement. Ces
dveloppements de poursuivent avec le Stanford Cart dans la fin des annes 1970, avec notam-
ment les premires utilisations de la stro-vision pour la dtection dobstacles et la modlisation
F IGURE 1.4 Le Stanford Cart date de la fin des annes 1970. Le robot Hilare du LAAS a t
construit en 1977.
de lenvironnement. En France, le robot Hilare est le premier robot construit au LAAS, Toulouse
(Figure 1.4).
Une tape importante est signaler au dbut des annes 1990 avec la mise en avant de
la robotique ractive, reprsente notamment par Rodney Brooks. Cette nouvelle approche de la
robotique, qui met la perception au centre de la problmatique, a permis de passer de gros robots
trs lents de petits robots (Figure 1.5), beaucoup plus ractifs et adapts leur environnement.
Ces robots nutilisent pas ou peu de modlisation du monde, problmatique qui sest avre tre
extrmement complexe.
F IGURE 1.5 Genghis, dvelopp par Rodney Brooks au MIT au dbut des annes 1990.
Ces dveloppements ont continu et larrive sur le march depuis les annes 1990 de plates-
formes intgres telles que le pioneer de la socit Mobile Robots a permis de trs nombreux
laboratoires de travailler sur la robotique mobile et conduit une explosion de la diversit des
thmes de recherche. Ainsi, mme si les problmes de dplacement dans lespace et de mo-
dlisation de lenvironnement restent difficiles et cruciaux, des laboratoires ont pu par exemple
travailler sur des approches multi-robot, la problmatique de lapprentissage ou sur les problmes
dinteractions entre les hommes et les robots.
Chapitre 2
A Obstacles
Lieux mmoriss
a
a a a Zone inexplore
a a Direction prendre pour atteindre le lieu A
a
D
F IGURE 2.1 Action associe un lieu. En chaque lieu, reprsent par un cercle, laction
accomplir pour rejoindre le but A est reprsente par une flche indiquant la direction suivre
partir de ce lieu. Cette stratgie permet de rejoindre un but distant dans lenvironnement
mais repose sur des chemins figs. Dans cet exemple, le chemin joignant le lieu D au lieu
A et passant par la droite de lobstacle a t appris. Rejoindre le lieu A depuis le lieu D ne
pourra alors tre ralis que par ce chemin. Le raccourci empruntant le chemin de gauche,
par exemple, est inutilisable.
ce but ou les amers qui caractrisent son emplacement sont invisibles (par exemple [114].
Elle requiert une reprsentation interne de lenvironnement qui consiste dfinir des lieux
comme des zones de lespace dans lesquelles les perceptions restent similaires, et as-
socier une action effectuer chacun de ces lieux (cf. figure 2.1). Lenchanement des
actions associes chacun des lieux reconnus dfinit une route qui permet de rejoindre le
but. Ces modles permettent donc une autonomie plus importante mais sont limits un
but fix. Une route qui permet de rejoindre un but ne pourra en effet pas tre utilise pour
rejoindre un but diffrent. Changer de but entranera lapprentissage dune nouvelle route,
indpendante des routes permettant de rejoindre les autres buts.
A Obstacles
Lieux mmoriss
B Zone inexplore
Navigation topologique : cette capacit est une extension de la prcdente qui mmo-
rise dans le modle interne les relations spatiales entre les diffrents lieux. Ces relations
indiquent la possibilit de se dplacer dun lieu un autre, mais ne sont plus associes
un but particulier. Ainsi le modle interne est un graphe qui permet de calculer diffrents
chemins entre deux lieux arbitraires. Ce modle ne permet toutefois que la planification de
dplacements parmi les lieux connus et suivant les chemins connus (cf. figure 2.2).
A Obstacles
Lieux mmoriss
Zone inexplore
F IGURE 2.3 Navigation mtrique. Cette stratgie permet de calculer le chemin le plus court
entre deux lieux mmoriss, permettant mme de planifier des raccourcis au sein de zones
inexplores de lenvironnement. Pour cela, la carte mmorise la position mtrique relative de
chacun des lieux visits par le robot. Ainsi il est possible de prvoir un dplacement entre
deux lieux, mme si la possibilit de ce dplacement nest pas enregistre dans la carte.
Dans cet exemple, cette stratgie permet de daller du lieu A au lieu D en traversant la zone
inexplore.
Navigation mtrique : cette capacit est une extension de la prcdente car elle permet
au robot de planifier des chemins au sein de zones inexplores de son environnement.
Elle mmorise pour cela les positions mtriques relatives des diffrents lieux, en plus de
la possibilit de passer de lun lautre. Ces positions relatives permettent, par simple
composition de vecteurs, de calculer une trajectoire allant dun lieu un autre, mme si la
possibilit de ce dplacement na pas t mmorise sous forme dun lien (cf. figure 2.3).
Les modles des trois premires catgories utilisent des actions rflexes pour guider le robot
et se diffrencient essentiellement par le type de perceptions utilises pour dclencher ces ac-
tions. Ils se regroupent sous le terme gnrique de navigation ractive dont nous parlerons dans
la partie II. Ils peuvent tre trs simple, ne ncessitent pas de modle global de lenvironnement
mais ont un domaine dapplication souvent restreint. Dans le monde vivant, ces stratgies sont
trs rpandues, notamment chez les insectes. Les comportements de ce type restent toutefois
essentiels dans les robots modernes car, du fait de leur simplicit, il sont gnralement excuts
trs rapidement et ils permettent de raliser des taches de bas-niveau, comme lvitement des
obstacles imprvus, essentielles la scurit dun robot.
Les modles des deux dernires catgories autorisent pour leur part une navigation globale
et permettent de rejoindre un but arbitraire au sein de lenvironnement. Ils sappuient pour cela
sur un modle interne du monde, une carte, qui supporte une planification. Ce modle interne
mmorise donc la structure spatiale de lenvironnement, indpendamment dun but prcis. Cha-
cune des positions mmorises dans ce modle interne peut alors tre utilise comme but par
le processus de planification dont le rle est de calculer une route vers ce but. Ce sont ces deux
stratgies qui sont regroupes sous le terme de navigation par carte, objet du chapitre III .
Une telle reprsentation interne est naturelle pour les tres humains, pour lesquels des pro-
cessus cognitifs de haut niveau sont utiliss pour crer et utiliser une carte. Ces processus de
haut niveau sont toutefois trs difficile copier pour un robot rel qui ne dispose que de sys-
tmes rudimentaires de perception et de traitement des informations en comparaison avec un
homme. Par exemple, en environnement urbain, le processus de mise en correspondance de la
carte avec lenvironnement rel afin de dterminer sa position fait souvent appel, pour lhomme,
la lecture du nom des rues inscrit sur les btiments, ce qui est relativement difficile automa-
tiser, cause de la diversit des configurations dans lesquelles peuvent ce trouver ces noms.
On notera au passage que lhomme a quasiment toujours recours des amnagements particu-
liers de lenvironnement pour connaitre sa position, par exemple celui qui consiste nommer les
rues ou lancer des satellites dans lespace pour bnficier du GPS. Le systme de navigation
idal pour un robot mobile sera probablement celui qui sera capable de tirer partie de toutes ces
informations, qui ne lui taient pas destines lorigine.
Lutilisation de cartes par un robot mobile comme le font les hommes est probablement hors de
notre porte pendant quelques annes, cependant il existe galement des preuves de lexistence
de reprsentations internes similaires de telles cartes chez les animaux, par exemple chez les
rats. Ces reprsentations sont identifiables au niveau neurologiques dans certaines parties de
leur cerveau, notamment dans lhippocampe. Cela montre que des cartes sont utilise par des
tres vivants, sans le support de concept 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 intressant pour les robots mobiles.
En robotique mobile, comme pour lhomme ou certains animaux, lutilisation de cartes est
quasiment indispensable pour permettre deffectuer des tches de navigation dans des condi-
tions environnementales complexes, qui ne sont pas spcialement adaptes pour le robot. La
construction et lutilisation de telles cartes posent cependant de nombreux problmes, notam-
ment pour garantir ladquation entre la carte et le monde rel. Pour cette raison, la plupart des
robots trouvent aujourdhui un compromis entre une approche ractive et une approche utilisant
une carte afin de bnficier de la rapidit et de la robustesse de la premire et de la capacit de
dplacement long terme de la seconde.
dcision et laction .
Nous pouvons reprendre la dfinition de Ronald Arkin [4] de lart de concevoir de telles archi-
tectures :
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 dfinition une architecture doit donc tre conue pour un robot prcis, mais en
utilisant des modules gnriques. De manire plus gnrale il existe galement des rgles de
conception relativement gnrales qui permettent de raliser ces implmentations. En fonction
de ces rgles, les architectures de contrle peuvent tre classes en trois grandes catgories
que nous dtaillerons par la suite : les contrleurs hirarchiques, les contrleurs ractifs et les
contrleurs hybrides (Figure 2.4). Comme le prcise cette dfinition, toutes ces architectures ne
diffrent pas forcement par les mthodes lmentaires employes mais plutt par leur agence-
ment et leur relations.
A B C
PERCEPTION PLANIFICATION
ACTION
F IGURE 2.4 Illustration des architectures classiques des contrleurs pour les robots mo-
biles : Hirarchique (A), Ractive (B) et Hybride (C) (Voir le texte pour la description dtaille).
Ces architectures supposent premirement quun modle informatique du monde puisse re-
prsenter toutes les informations pertinentes pour le dplacement du robot. Or un tel modle ne
peut tre suffisant dans un environnement dynamique car au moment de la ralisation de lac-
tion lenvironnement peut avoir suffisamment chang pour que la dcision ne soit plus valide. Ce
problme tait particulirement crucial au dbut de la robotique mobile ou les capacits de calcul
limites entranaient des temps de planification de lordre de plusieurs dizaines de minutes. Mais
laugmentation des capacits de calcul ne suffit pas rsoudre ce problme qui ne permet pas
de grer un environnement de travail raliste. Cest un problme intrinsque li dune part la
trop grande longueur de la boucle qui relie la perception laction et dautre part linvalidit de
lhypothse de monde clos faite en intelligence artificielle 1 .
De plus, ces architectures permettent peu de contrle sur lexcution des actions. En effet,
une fois laction choisie, elle est excute en supposant le modle du monde correct et il ny a pas
de retour direct de la perception sur lexcution de laction. Les carts modles/environnement ne
peuvent tre pris en compte que via un nouveau cycle perception/modlisation/planification, ce
qui, par dfinition, est trs peu ractif et conduit rapidement de graves problmes.
Rodney Brooks [20] a propos une solution radicale tous ces problmes sous la forme dune
architecture ractive (cf. figure 2.4 B). Dans cette architecture, un ensemble de comportements
ractifs, fonctionnant en parallle, contrle le robot sans utiliser de modle du monde. Cette ar-
chitecture supprime videmment les problmes ds aux diffrences entre la ralit, dune part,
et le modle de lenvironnement du robot, dautre part, mais limite clairement les tches que peut
effectuer le robot (cf. [77] pour une critique). En effet, sans reprsentation interne de ltat de
lenvironnement, il est trs difficile de planifier une suite dactions en fonction dun but atteindre.
Les robots utilisant cette architecture sont donc en gnral efficaces pour la tche prcise pour
laquelle ils ont t conus, dans lenvironnement pour lequel ils ont t prvus, mais sont souvent
difficiles adapter une tche diffrente.
Les russites de ces architectures sont lies au couplage direct entre la perception et laction
qui permet une prise en compte trs rapide des phnomnes dynamiques de lenvironnement.
En donc une bonne robustesse dans des environnements complexes.
Comme nous lavons mentionn, ces architectures sont en gnral bases sur plusieurs com-
portements : vitement dobstacles, dplacement alatoire, dplacement vers un but, fuite dun
point... Pour guider le robot, il faut donc choisir chaque instant lequel de ces comportements
activer. Ce problme est connu dans la litrature scientifique sous le nom de slection de laction.
La solution propose par Brooks, larchitecture de subsomption [21] est devenue un classique et
utilise une hirarchie des comportements qui se dclenchent donc selon un ordre de priorit en
fonction des perceptions du robot.
1. Lhypothse de monde clos dit que la reprsentation symbolique dun problme va tre suffisante pour pouvoir
reprsenter toutes les consquences des actions ralises dans ce monde. Cela savre impossible en pratique pour
des problmes autre que des problmes jouets (par exemple un monde de cubes poss sur une table).
Chapitre 3
Tous les capteurs utiliss en robotique mobile fournissent des informations appartenant lune
de deux grandes catgories dinformations : les informations proprioceptives et les informations
extroceptives.
Les informations proprioceptives sont des informations internes au robot qui le renseignent,
dans le cas de la navigation, sur son dplacement dans lespace. Ces informations peuvent
provenir de la mesure de la rotation de ses roues ou de la mesure de lacclration grce
une centrale inertielle. Un processus dintgration permet alors, en accumulant ces in-
formations au cours du temps, destimer la position relative de deux points par lesquels le
robot est pass.
Les informations extroceptives ou plus simplement les perceptions, sont des informations
caractristiques dune position que le robot peut acqurir dans son environnement. Ces
informations peuvent tre de nature trs varie. Par exemple, un robot peut mesurer la
distance des obstacles avec des capteurs infrarouges ou utiliser une camra.
Ces deux sources dinformation ont des proprits opposes que nous dtaillons dans les
deux sections suivantes.
les informations proprioceptives fourniront une information identique, que lenvironnement 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 lenvironnement, les informations perceptives
ne permettent pas de les diffrencier. Les informations proprioceptives sont alors le seul moyen
de les distinguer.
En robotique, cette information a de plus lavantage de la simplicit de manipulation. En ef-
fet, le processus dintgration fournit directement une estimation de la position du robot dans un
espace euclidien dot dun repre cartsien. Dans ce type de repre, tous les outils de la gom-
trie mathmatique sont utilisables. Ils permettent, par exemple, deffectuer des calculs de chemin
relativement simples lorsque lon connat la position du but et des obstacles.
les lieux dun environnement. Cette situation est trs courante lorsque les robots utilisent des
capteurs de distance aux obstacles tels que les capteurs ultrasons. Dans un environnement
intrieur 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 dun couloir rectiligne.
Toutes les positions le long dun couloir correspondent alors des perceptions identiques.
Il est possible dutiliser des capteurs qui fournissent des donnes plus prcises ou plus dis-
criminantes. Dans le cas des capteurs de distance, il est, par exemple, possible dutiliser un
tlmtre laser qui pourra distinguer les renfoncements des portes et sera ainsi plus prcis. Mais
mme en utilisant des capteurs plus informatifs, comme une camra, ce problme finit par ap-
paraitre lorsque la taille de lenvironnement augmente. Il existe toujours une limite matrielle ou
logicielle au del de laquelle lidentification unique de toutes les positions dun environnement
est impossible. Il nest donc pas possible, en gnral, de rgler compltement le problme du
perceptual aliasing, mais seulement den repousser lapparition. Il faut donc bien tudier les cap-
teurs ncessaires en fonction des traitements ralisables et de lenvironnement vis pour limiter
ce problme.
Les capteurs sur un robot mobile peuvent tre de nature trs varie et tre utiliss de nom-
breuses faons diffrentes. Il est toutefois possible de distinguer deux utilisations distinctes de
leurs donnes pour la navigation. Ces deux utilisations dpendent de lutilisation ou non dun mo-
dle mtrique associ au capteur, modle qui permet de traduire les valeurs brutes du capteur
en informations sur la gomtrie de lenvironnement. Ce modle permet notamment de prvoir la
variation des mesures renvoyes par ce capteur en fonction du dplacement du robot.
Les perceptions peuvent tre utilises de manire directe, sans aucun modle mtrique, pour
comparer directement deux positions en examinant les perceptions recueillies en ces lieux. Cette
mthode ne permet cependant que de reconnatre des lieux de lenvironnement pralablement
explors par le robot. Sans modle de la variation des capteurs, il est en effet impossible de
prvoir les valeurs que les capteurs relveront dans un lieu inexplor, mme sil est proche ou
entour de lieux connus.
Pour une telle utilisation directe, seules deux procdures permettant, dune part, de mmoriser
une perception et, dautre part, de comparer deux perceptions, sont alors ncessaires. Ces pro-
cdures peuvent tre mises en uvre partir de tous les types de capteurs existants. Il est, par
exemple, possible dutiliser la couleur dominante de lenvironnement autour du robot, la tempra-
ture (en supposant quelle caractrise une zone de lenvironnement, comme pour une chambre
froide), la force du signal wifi ou le temps de retour dune onde sonore quand elle est envoye
dans une direction donne. La seule proprit utilise est la constance des valeurs mesures
par un capteur pour un lieu donn. Cette constance permet de reconnatre un lieu dj visit ou
didentifier un lieu nouveau dans lenvironnement.
a b
F IGURE 3.1 Un modle mtrique pour un capteur permet deux utilisations de ses donnes.
La premire est similaire celle qui traite de telles donnes sans modle mtrique et requiert
la simple mmorisation de ce qui est peru en un lieu donn (Partie a). La seconde utilise ces
donnes pour reconstituer les objets rencontrs dans lenvironnement, objets qui pourront
tous tre mmoriss dans un cadre de rfrence commun, indpendamment de la position
depuis laquelle ils ont t perus (Partie b).
Avec un tel modle, les valeurs des capteurs peuvent tre utilises simplement pour caractri-
ser chaque lieu atteint par le robot (cf. figure 3.1a). La mthode est alors la mme que celle mise
en place quand les capteurs sont utiliss sans modle mtrique. Lutilisation dun modle m-
trique prsente toutefois lavantage que les informations recueillies ont une smantique plus forte
et une certaine indpendance au point de vue du robot. En effet, ces informations caractrisent la
structure spatiale locale de lenvironnement, en plus de la simple apparence de lenvironnement
depuis la position du robot. Cette structure spatiale peut alors tre utilise lors de la comparaison
de diffrents lieux. Il est par exemple possible de reconnatre un couloir en fonction de sa largeur,
indpendamment de la position du robot dans ce couloir. En effet, sans utilisation de modles
mtriques, deux perceptions recueillies en des positions diffrentes du couloir seront simplement
diffrentes. En utilisant un modle mtrique, il est possible de calculer la largeur du couloir, par
exemple, partir des donnes recueillies et ainsi de dterminer si ces deux positions peuvent
correspondre au mme couloir.
Cependant, grce un modle mtrique, les perceptions peuvent tre utilises de manire
diffrente. En effet, dans lutilisation prcdente, sans modle mtrique, elles sont utilises pour
a b c
Modle mtrique
Modle mtrique
Odomtrie
A3
y ?
x
A1
Cadre de rfrence commun
I1
A3 ?
I2 A2
I1
A1 A2
I2 A3 ?
Environnement
?
Pas de modle mtrique
Odomtrie
Mmorisation directe
F IGURE 3.2 Un modle mtrique des perceptions permettent dinfrer les valeurs qui de-
vraient tre perues pour des positions encore non visites. Dans cet exemple, les donnes
A1 et A2 sont perues en deux positions relies par des donnes proprioceptives I1 (partie
a). Lutilisation dun modle mtrique permet de fusionner ces informations dans un cadre de
rfrence commun o des objets sont reprsents, ici deux murs orthogonaux (partie b, haut).
Sans modle mtrique, ces donnes peuvent seulement tre mmorises de manire spa-
re (partie b, bas). Dans le cas de lutilisation dun modle mtrique, les donnes peuvent
ensuite tre utilises pour estimer la perception A3 pour une nouvelle position relie la pr-
cdente par les donnes proprioceptives I2. Ici, le modle permet dinfrer que les donnes
A3 correspondent un coin de murs (partie c, haut). Sans un tel modle, seules les positions
visites peuvent tre reconnues, et aucune infrence ne peut tre faite pour les positions non
visites (partie c, bas).
dune mme reprsentation, qui permet le passage dun type dinformation lautre.
a b c
Correspondance
A1
Modle mtrique
I1 I1
A2
A1 A2
I1?
Correspondance
Environnement A1
DIFFERENT I1 = 0
F IGURE 3.3 Un modle mtrique des capteurs permet dinfrer la position relative I1 de deux
lieux depuis lesquelles des perceptions A1 et A2 ont t ralises (partie a). Cette estimation
requiert dabord la recherche dun objet de lenvironnement commun aux deux perceptions
(partie b, haut). Lutilisation de cet objet commun rend alors possible lestimation de la position
relative I1 des deux lieux (partie c, haut). Sans modle mtrique, seule la similarit de deux
perceptions peut tre mesure (partie b, bas). Il est alors seulement possible destimer si ces
deux situations peuvent correspondre au mme lieu ou non, cest--dire si I1 est nulle ou non
(partie c, bas).
Toutefois, la mise au point dun tel modle mtrique peut tre difficile. La relation qui lie la
valeur mesure par un capteur la position des objets du monde rel peut tre, en effet, trs
complexe. Dans le cas des capteurs ultrasons, par exemple, si un mur se trouve juste dans laxe
du capteur, sa distance est simplement mesure par le temps mis par londe sonore pour revenir
au capteur. Mais, dans le cas o le mur est fortement inclin par rapport au capteur, lcho peut ne
pas revenir en direction du capteur qui ne dtectera alors aucun obstacle. Un autre problme vient
de la texture des murs. Un mur recouvert de textile ou dun matriau souple renverra les chos
trs diffremment dun mur de bton. En consquence, pour une distance donne, le capteur
percevra des distances diffrentes suivant le matriau des murs. Ces deux exemples montrent
que le modle mtrique associ un capteur ne dpend pas que du capteur. Il dpend aussi
fortement de proprits locales de lenvironnement qui sont difficiles ou impossibles prendre en
compte dans un modle du capteur seul.
Comme nous le verrons dans ce cours, il existe de nombreuses mthodes pour utiliser conjoin-
tement les deux sources dinformations. Ces mthodes diffrent par leur capacit utiliser de
manire plus ou moins efficace les avantages des deux types dinformations. Dune manire g-
nrale, la qualit dun systme de navigation dpend fortement de cette capacit.
Chapitre 4
4.1.1 Holonomie
En robotique, une plateforme est dite holonome lorsque que le nombre de degrs de liberts
contrlables est gal au nombre total de degrs de libert.
Pour un robot se dplaant sur un plan, il y a 3 degrs de libert (deux translations et une ro-
tation). A partir dune position donne, une plateforme holonome devra donc pouvoir se dplacer
en avant, sur le cot et tourner sur elle-mme. Cette capacit permet de contrler trs simplement
le robot car tous les dplacements imaginables sont ralisables, ce qui simplifie le problme de
planification de trajectoire.
De nombreuses plateformes simples ne sont pas holonomes. Cest par exemple le cas des
voitures, ce qui oblige manuvrer pour raliser certaines trajectoires. Par exemple, il est n-
cessaire de faire un crneau pour raliser un dplacement latral. Ces contraintes devront donc
tre prises en compte lors de la planification de trajectoires. Nous allons cependant voir quelques
mcanismes permettant dobtenir des plateformes holonomes, ou sen approchant.
et permet de plus au robot de tourner sur place. Cette possibilit permet de traiter dans certains
cas le robot comme un robot holonome, ce qui va simplifier la planification de dplacement et la
commande du robot.
l
v
r
1
Lestimation du dplacement par odomtrie est galement trs simple partir de la mesure
des vitesses de rotation des deux roues w1 et w2 . Les vitesses de translation v et de rotation w
sont en effet donnes par :
w1 r + w2 r
v =
2
w1 r w2 r
w =
2l
Ce type de plate-forme peut galement tre utilis avec des chenilles ce qui fournit une capa-
cit de franchissement de petits obstacles intressante (Figure 4.1). Ces plates-formes peuvent
ainsi tre utilises en extrieur ou dans des dcombres. Lutilisation de chenilles conduit cepen-
dant une odomtrie trs bruite cause du contact mal dfini entre les chenilles et le sol qui
glissent beaucoup, notamment lors des rotations. Lestimation de la direction par lodomtrie sur
ce type de plates-formes est donc en gnral rapidement inutilisable.
roues tournent dans le mme sens, la mme vitesse. Lorsque une roue est fixe, et que les deux
autres tournent en sens oppos, la plateforme avance en direction de la roue fixe. Diffrentes
combinaisons de vitesses permettent dobtenir des dplacements quelconques.
Des plates-formes non holonomes, telles que les voitures, sont galement utilises en ro-
botique mobile (Figure 4.4). Cest plus particulirement le cas dans le domaine des vhicules
intelligents. Ces plates-formes sont toutefois plus difficile commander car elle ne peuvent pas
tourner sur place et doivent manuvrer, ce qui peut tre difficile dans des environnements en-
combrs. La commande de ces plates-formes pour raliser un dplacement particulier est un
problme part entire que nous naborderons pas dans ce cours. Par contre, il est possible
de prendre en compte ces contraintes de manire relativement simple dans la planification (voir
chapitre III).
F IGURE 4.5 Exemples de robots pattes. Hexapode de AAI Canada, Aibo de Sony, Nao de
Aldebarran Robotics.
Des plates-formes deux, quatre ou six pattes peuvent galement tre utilise. Elle ont lavan-
tage thorique de pouvoir se dplacer sur des terrains assez complexes, mme 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 contrle. Les plates-formes deux ou quatre
pattes sont plus complexes commander et le simple contrle de la stabilit et dune allure de
marche correcte reste aujourdhui difficile, ce qui les rend en gnral relativement lentes. Lodo-
mtrie de ce type de plates-formes est de plus gnralement dassez faible qualit. Ces diffrents
facteurs font que ces plates-formes sont rarement utilises quand lapplication vise a un besoin
prcis de positionnement et de navigation. De telles plates-formes commencent cependant
apparatre relativement grande chelle (par exemple le robot Nao de Aldebarran Robotics).
Odomtrie
Modle probabiliste
Au lieu de mesurer le dplacement par des mesures sur les roues, il est possible dutiliser
un radar point vers le sol qui permet de mesurer la vitesse du vhicule par effet Doppler. Il
existe aussi des systmes optiques, bass sur le mme principe que les souris dordinateur,
qui mesurent le dplacement du vhicule en analysant le mouvement relatif du sol (figure 4.7).
Ces systmes prsentent lavantage dtre plus prcis que la mesure passant par les roues,
notamment car ils sont indpendants des drapages possible de ces roues. Il sont cependant en
gnral relativement chers et encombrants et sont assez rares sur les petites plates-formes.
F IGURE 4.7 Exemple dodomtre optique Correvit L-CE de CORRSYS- DARTON Sensor-
systeme GmbH.
Tlmtres ultrason
Les tlmtres ultrason sont historiquement les premiers avoir t utiliss. Il utilisent la
mesure du temps de vol dune onde sonore rflchie par les obstacles pour estimer la distance
Tlmtre Obstacle
Distance mesure
Zone aveugle
cone de diffusion de londe sonore
(Figure 4.9). Ces tlmtres sont trs simple et peu cher, et sont donc trs rpandus, mais pos-
sdent de nombreux inconvnients.
En premier lieu, deux tlmtres voisins ne peuvent tre utiliss simultanment, car il est
impossible de savoir par lequel des deux tlmtres une onde rflchie a t mise (phnomne
de crosstalk). Un robot possdant plusieurs tlmtres doit donc les activer lun aprs lautre,
ce qui entrane un taux de rafrachissement global des mesures relativement faible.
Ces tlmtres possdent une zone aveugle, de quelques centimtres, en dessous de la-
quelle ils ne peuvent dtecter les obstacles. Cette zone est due a une temporisation entre lmis-
sion de londe sonore et le dbut de la dtection de londe rflchie qui est ncessaire pour ne
pas perturber cette mesure.
De plus, londe rflchie est trs sensible aux conditions environnementales locales. Ainsi, si
langle entre lobstacle et la direction de londe sonore est trop faible, il ny aura pas de retour de
londe sonore et lobstacle ne sera pas peru. Londe de retour dpend galement de la texture
de lobstacle. Un mur couvert de moquette pourra par exemple ne pas tre dtect.
Les tlmtres ultrason dtectent les obstacles se situant dans un cne relativement large
(dangle au sommet denviron 30 degrs). Cette caractristique peut tre la fois un avantage
et un inconvnient. Cest un inconvnient car un obstacle dtect nest pas localis en angle
lintrieur du cne de dtection, et on obtient donc une mesure de la position relativement
imprcise. Cest par contre un avantage car des lments relativement fins (les pieds de table ou
de chaise par exemple) sont dtects dans ce cne, alors quil pourraient ne pas tre dtects
par des tlmtres ayant un angle douverture trs fin.
Tlmtres infrarouge
Les tlmtres infrarouges possdent lavantage davoir un cne de dtection beaucoup plus
restreint. Il utilisent une lumire infrarouge au lieu dune onde sonore pour la dtection et peuvent
tre bass sur diffrentes techniques qui permettent de recueillir plus ou moins dinformation.
Il est possible de mesurer simplement le retour ou le non-retour dune impulsion code, ce
qui permet de dtecter la prsence ou labsence dun obstacle dans une certaine portion de
lespace. Il est galement possible de raliser une triangulation sur le faisceau de retour de londe
lumineuse, ce qui permet davoir une mesure de la distance de lobstacle (figure 4.10).
Les inconvnients de ces tlmtres sont lis leur porte, en gnral relativement restreinte,
et leur sensibilit aux sources de lumires qui contiennent un fort rayonnement infrarouge. Un
projecteur du type de ceux utiliss pour la tlvision point sur le robot, par exemple, sature en
gnral compltement le rcepteur et empche toute dtection dobstacle. Ils sont galement
trs sensibles la couleur et la nature de la surface de lobstacle (par exemple, ils dtectent
difficilement les vitres et les obstacles noir mats).
Tlmtres laser
Les tlmtres les plus utiliss lheure actuelle pour des applications de cartographie et de
localisation sont les tlmtres laser balayage. Ils utilisent un faisceau laser mis en rotation afin
de balayer un plan, en gnral horizontal, et qui permet de mesurer la distance des objets qui
coupent ce plan (Figure 4.11, 4.11). Cette mesure peut tre ralise selon diffrentes techniques
soit en mesurant le temps de vol dune impulsion laser, soit par triangulation.
Les tlmtres courants ont une bonne rsolution angulaire car ils permettent dobtenir une
mesure de distance tout les demi degrs, sur une zone de 180 ou 360 degrs selon les modles.
La mesure est de plus relativement prcise (avec un bruit de lordre de quelques centimtres)
une distance relativement grande (plusieurs dizaines de mtres). La frquence dacquisition est
en gnral de lordre de la dizaine de Hertz, voire proche de la centaine pour certains modles.
Ces tlmtres sont trs utiliss en environnement intrieur car il fournissent des donnes
abondantes et prcises sur la position des objets caractristiques de lenvironnement tels que
les murs. Ils possdent toutefois un certain nombre dinconvnients. En premier lieu, leur zone
de perception est restreinte un plan et ne permet donc pas de dtecter les obstacles situs
hors de ce plan (un petit objet pos au sol par exemple). Ils ne peuvent pas non plus dtecter les
objets ne rflchissant pas correctement la lumire du laser (en premier lieu les vitres, mais aussi
certains objets trs rflchissants, tels que les objets chroms). Pour limiter ces inconvnients,
il est possible de les utiliser en conjonction avec des capteurs ultrason qui ont un cne de
Tlmtre
Mesure obtenue
Il existe des tlmtres laser balayant lespace selon deux axes 4.12. Ils permettent ainsi
dobtenir une image de distance selon un angle solide de lordre de quelques dizaines de degrs
dans les deux dimensions. Ces tlmtres restent toutefois cher et fragile du fait de la mcanique
ncessaire au balayage. De plus, la frquence dacquisition est relativement faible (de lordre de
quelques Hertz), ce qui pose problme lorsque le robot est en mouvement. Ces tlmtres sont
donc plutt destins des applications relativement statiques comme la cration de modles 3D.
Il existe galement des systmes sans balayage permettant dobtenir une image de profon-
deur de la mme manire quune camra couleur standard. Plusieurs technologies sont utilises,
soit par mesure de temps de vol dune impulsion laser ou infrarouge, soit par triangulation partir
de projecteurs infrarouges. Ces capteurs sont rcents, mais sont trs intressants pour la robo-
tique mobile car ils permettent dobtenir une information dense une frquence assez leve
(image de profondeur de 320x240 30 Hz pour la camra Kinect par exemple, figure 4.12). Ces
informations peuvent tre couples une image couleur, on parle alors de camra RGBD (D pour
Depth). Il reste cependant certaines limitations, notamment pour lemploi en extrieur o linfor-
mation de profondeur peut tre perdue cause de la lumire du soleil qui masque la lumire
infrarouge.
F IGURE 4.13 Un exemple de tlmtre laser balayage a 64 nappes conu par Velodyne.
Enfin, principalement pour les vhicules intelligents, il existe un compromis qui consiste
utiliser plusieurs nappes laser avec diffrentes inclinaisons afin davoir des modles assez prcis
de lenvironnement sur 360 degrs (figure 4.13). Ces capteurs restent assez lourds et chers, mais
permettent de raliser quasiment lensemble des tches ncessaires pour un vhicule comme la
localisation, la cartographie et la dtection de pitons ou de vhicules.
Modle probabiliste
M
P(Scan|Obstacles) = P(mesurei |Obstacles)
i=1
Pour estimer la probabilit dune mesure individuelle, il est possible dutiliser une simple loi
gaussienne autour de la distance relle comme modle probabiliste, mais les modles sont en
gnral un peu plus volus et utilisent une combinaison de lois qui modlisent plusieurs phno-
mnes qui peuvent tre responsables de la mesure (Figure 4.14) :
Les paramtres de cette combinaison de lois peuvent tre rgls manuellement ou estims
partir dun ensemble de mesures, par exemple en utilisant un algorithme de maximisation de
lesprance. Ces modles peuvent tre adapts tout les types de tlmtres (figure 4.14).
Camras simples
Une camra standard peut tre utilise de diffrentes manires pour la navigation dun robot
mobile. Elle peut tre utilise pour dtecter des amers visuels (des points particuliers qui servent
de repre, 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 gnral
simplement possible destimer leur direction. Dans le cas ou les amers sont des objets connus
en 2 ou 3 dimensions, il sera en gnral possible destimer compltement la position du robot par
rapport la leur. Elle peut galement tre utilise pour dtecter des guides de navigation pour
le robot, tels que des routes ou des couloirs.
Il est galement possible dutiliser globalement une image pour caractriser une position ou
un point de vue dans lenvironnement. 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 diffrentes techniques, notamment celles utilises dans le domaine de lindexation
dimage.
Lorsque le robot est en mouvement, il est galement possible de tirer parti du flot optique
(le mouvement apparent des objets dans limage, voir figure 4.15), afin davoir une estimation de
la distance des objets. En effet, les objets les plus proches ont un dplacement apparent plus
important que les objets lointains. Cette mthode permet notamment de raliser un vitement
dobstacles ou de raliser une reconstruction tridimensionnelle de lenvironnement (par des tech-
niques connues sous le nom de structure from motion, voir section 4.2.3).
Camras stroscopiques
Lorsque lon dispose de deux camras observant la mme partie de lenvironnement partir
de deux points de vue diffrents, il est possible destimer la distance des objets et davoir ainsi
une image de profondeur (Figure 4.16), qui peut tre utilise pour lvitement dobstacles ou la
cartographie. Cette mthode suppose toutefois un minimum dlments saillants dans lenviron-
nement (ou un minimum de texture) et peut tre limite, par exemple dans un environnement dont
les murs sont peint de couleurs uniformes. La qualit de la reconstruction risque galement de
dpendre fortement des conditions de luminosit. La rsolution et lcartement des deux camras
impose galement les profondeurs minimum et maximum qui peuvent tre perues, ce qui peut
tre limitatif pour la vitesse de dplacement du robot.
Des techniques similaires peuvent galement tre utilises pour estimer la profondeur partir
dune camra en mouvement (mthodes de structure from motion, voir par exemple [67]), la
difficult tant alors destimer la fois la profondeur et les positions relatives de la camra lors de
la prise des deux images.
Camras panoramiques
Les camras panoramiques (catadioptriques) sont constitues dune camra standard poin-
tant vers un miroir de rvolution (par exemple un simple cne, ou un profil plus complexe qui
peut sadapter la rsolution exacte que lon veut obtenir sur le panorama) (figure 4.17). Limage
recueillie permet davoir une vision de lenvironnement sur 360 degrs autour de la camera. Le
secteur angulaire vertical observ dpend de la forme du miroir et peut tre adapt aux besoins
de chaque application (Figure 4.17).
Ce type de camra est trs pratique pour la navigation car une image prise par une camera
panoramique oriente verticalement permet de caractriser une position, indpendamment de la
direction du robot. En effet, pour une position donne et pour deux orientations diffrentes, la
mme image sera forme par la camra, une rotation autour du centre prs, tandis que pour
une camra standard, oriente horizontalement, la scne serait diffrente.
Ces camras sont donc trs pratiques lorsque lon caractrise une position de manire glo-
bale, mais peuvent aussi tre utilises pour dtecter des amers ou pour estimer le flux optique.
Dans ce cas, toutefois, comme la gomtrie de limage forme est relativement complexe et
F IGURE 4.17 Principe des camras panoramiques catadioptriques, exemple dimage obte-
nue et illustration du flux optique.
comme la rsolution obtenue varie normment selon la direction observe, les algorithmes
doivent tre adapts, ce qui pose un certain nombre de problmes.
Concernant le flux optique, cependant, les camras panoramiques possdent lavantage de
contenir toujours le point dexpansion et le point de contraction dans limage, ce qui rend lestima-
tion du mouvement beaucoup plus aise (figure 4.17).
Les robots peuvent tre quips de capteurs tactiles, qui sont le plus souvent utiliss pour
des arrts durgence lorsquil rencontre un obstacle qui navait pas t dtect par le reste du
systme de perception.
Ces capteurs peuvent tre de simples contacteurs rpartis sur le pourtour du robot. Il ne
dtectent alors le contact quau dernier moment. Il est galement possible dutiliser des petites
tiges arques autour du robot pour servir dintermdiaire ces contacteurs, ce qui permet une
dtection un peu plus prcoce et donne ainsi plus de marge pour arrter le robot.
Les balises
Dans certaines applications, il est galement possible dutiliser des balises dont on connat la
position, et qui pourront tre facilement dtectes par le robot, afin de faciliter sa localisation.
Des techniques trs diverses peuvent tre utilises pour ces balises. On peut par exemple
utiliser un signal radio, mis de manire omnidirectionnel par la balise. Le robot sera alors quip
dune antenne directionnelle qui lui permettra de dtecter la direction des diffrentes balises, afin
de dduire sa position par triangulation.
On peut galement utiliser des codes couleurs ou des codes barres qui pourront tre dtects
par une camra.
Le GPS
Les besoins de localisation tant omniprsents dans de trs nombreux secteurs de la vie
actuelle, lide davoir un systme de localisation le plus universel possible donn lieu lap-
parition du Global Positionning System (GPS). Cest un systme de balises dont on a plac les
balises sur des satellites en orbite terrestre et qui est par consquent accessible de quasiment
partout la surface du globe. Ce systme permet donc davoir une mesure de sa position dans
un repre global couvrant la terre avec une prcision variant de quelques dizaines de mtres
quelques centimtres suivant les quipements.
Ce systme est cependant loin de rsoudre tous les problmes de localisation des robots mo-
biles. Il fonctionne en effet difficilement dans des environnements urbains, et nest pas utilisable
lintrieur des btiments. Sa prcision est de plus souvent trop faible pour quun robot terrestre
puissent utiliser ces informations seules. En pratique, il est souvent coupl un systme inertiel
qui permet de palier aux pertes du signal GPS et il ne remplace de toute faon pas les capteurs
du robot qui lui permettent de percevoir son environnement immdiat, qui constitue la source
dinformation principale pour la navigation court terme (par exemple lvitement dobstacles, par
opposition la navigation long terme qui consiste rejoindre un but distant).
Navigation ractive
Chapitre 5
Nous commenons ici par des mthodes de navigation correspondant aux deux premires
catgories de stratgies de navigation dfinies dans le chapitre 2, cest dire lapproche dun but
dfini par un objet ou une configuration damers.
But
C2
C1
2
M
1
M
F IGURE 5.1 Dans les vhicules de Braitenberg, la vitesse de chacun des deux moteurs du
robot dpend de la valeurs de deux capteurs qui dtectent la lumire mise par le but.
Dans le livre de Braitenberg, le but est matrialis par une lumire, visible depuis tout lenvi-
ronnement. Le robot est simplement une plate-forme diffrentielle, constitue de deux roues dont
on commande les vitesses de rotation et munie de deux capteurs de lumire situs de part et
dautre de lavant du robot (Figure 5.1). Larchitecture interne du robot est simplement constitue
de liens entre ces capteurs et les moteurs qui permettent de calculer la vitesse des moteurs en
fonction des valeurs des capteurs.
En faisant varier les paramtres des connexions, il est alors possible de dfinir diffrents
comportements du robot. Si la vitesse de chaque moteur est relie la valeur du capteur du cot
oppos avec un coefficient positif, le robot se dirigera naturellement vers le but. Si, par contre,
la vitesse de chaque moteur est relie la valeur du capteur du mme cot avec un coefficient
positif, le robot fuira le but.
Ces vhicules ralisent simplement une remonte ou une descente de gradient sur lintensit
de la lumire. Ils correspondent un simple contrleur proportionnel en automatique et sont donc
relativement sujets des oscillations dans le comportement du robot. Ils supposent de plus que
le but est visible depuis tout lenvironnement, ce qui est rarement le cas en pratique. Ce modle
est donc intressant car cest la mthode la plus simple possible pour raliser un dplacement
vers un but, mais est difficile utiliser dans une application relle.
Amer
Amer
Amer
Le systme perceptif du robot doit lui permettre de dtecter la direction et la taille des amers
autour de lui. Le robot commence par mmoriser le but en enregistrant la configuration des amers
vus depuis la position de ce but (un snapshot, Figure 5.2).
Perception courantes
F IGURE 5.3 Pour atteindre le but, chaque amer peru est associ un des amers mmo-
riss. Pour chaque appariement, on dduit un vecteur tangentiel dont la norme augmente
avec lcart entre amer perus et mmoriss. La somme de ces vecteurs donne la direction
prendre pour atteindre le but.
Lorsque, par la suite, le robot veut rejoindre ce but, il prend une nouvelle image des amers
et, par comparaison entre la configuration courante et la configuration mmorise au but, il peut
dduire de manire trs simple la direction dans laquelle se dplacer pour atteindre le but. Cette
comparaison est base sur un appariement entre les amers perus et les amers mmoriss,
chaque appariement permettant de calculer un vecteur dont la somme, pour tous les apparie-
ments damers, donne la direction prendre pour rejoindre le but (Figure 5.3). Le robot effectue
alors un dplacement de longueur fixe dans cette direction puis recommence le processus tant
que le but nest pas atteint.
L encore, le systme est trs simple et ralise une descente de gradient sur la configuration
des amers afin datteindre le but. Il ne fonctionne cependant pas sur lensemble de lenviron-
nement et la qualit du comportement obtenu dpend beaucoup de la configuration des amers
qui sont utiliss, un ensemble damers lointains et bien rpartis tout autour du robot donnant les
meilleurs rsultats. La qualit de lappariement entre les amers est galement primordiale, en
effet, si un amer peru est associ au mauvais amer mmoris, le vecteur de dplacement dduit
sera faux. Le modle original supposait des amers noirs sur fond blanc, sans identit particulire,
pour lequel lappariement est relativement hasardeux. Il nest donc pas applicable en pratique.
Dautres travaux ont utilis des amers colors et diffrentes contraintes sur lappariement qui
permettent une meilleur robustesse et sont donc applicables des robots rels [58].
La plupart des implantations de ce modles supposent de plus que la direction du robot est
connue afin de faciliter lappariement. Avoir une estimation correcte de cette direction peut se
rvler difficile en pratique.
F IGURE 5.4 Illustration du principe de lasservissement visuel : lerreur entre une image
courante et une image but (cart entre les croix rouges et vertes ici) est utilise pour calculer
une commande qui permettra au robot datteindre la position correspondant limage but.
Dans ces approches, le but atteindre est spcifi par limage que le robot devra percevoir
depuis cette position. Diffrentes mesures sont ralises sur cette image (par exemple la dtec-
tion de points dintrts) et la commande du robot est conue pour amener 0 lcart entre la
mesure ralise sur limage courante et la mesure ralise sur limage cible (figure 5.4). Les choix
de mesures dans limage et de la loi de commande peuvent tre trs varis, et vont conditionner
les trajectoires obtenues par le robot, leur stabilit, leur robustesse aux mauvaises perceptions
ou aux mauvaises modlisations du systme, etc...
Nous ne dtaillerons pas ici ces approches, mais il existe plusieurs applications intressantes
en robotique mobile [15, 123, 34]. Notons que ces modles sont souvent tendus pour fournir une
navigation long terme en enchainant des tches de contrle local sur des squences dimages.
Par exemple, [15] prsente un systme permettant de guider un robot en environnement intrieur
partir du suivi de motifs dtects sur le plafond par une camra pointe la verticale. En
enchanant des asservissements sur une squence dimages, ce systme permet au robot de
refaire une trajectoire qui a t montre au pralable par un oprateur. De mme, [123] et [34]
ralisent le guidage dun vhicule en extrieur laide dune camra pointe vers lavant.
1. http://www.irisa.fr/lagadic/pdf/2002_hermes_chaumette.pdf
Chapitre 6
vitement dobstacles
Lvitement dobstacles est un comportement de base prsent dans quasiment tous les ro-
bots mobiles. Il est indispensable pour permettre au robot de fonctionner dans un environnement
dynamique et pour grer les carts entre le modle interne et le monde rel.
Les mthodes que nous prsentons sont efficaces condition davoir une perception correcte
de lenvironnement. Elles seront par exemple trs efficaces avec un tlmtre laser, mais donne-
ront des rsultats plus bruits avec des sonars. Pour limiter ce problme, il est possible dappliquer
ces mthodes sur une reprsentation locale (cest--dire de lenvironnement proche du robot et
centre sur le robot) de lenvironnement qui sera construite en fonction des donnes de quelques
instants prcdents. Cette reprsentation intermdiaire permettra de filtrer une grande partie du
bruit des donnes individuelles (en particulier pour les sonars).
Il faut galement faire attention ce que les capteurs dtectent tous les obstacles. Par
exemple un laser balayage ne verra pas les objets au dessous ou au dessus de son plan
de balayage, et pourra voir du mal percevoir les vitres. Pour cette raison, on utilise souvent une
nappe laser couple des sonars, ou un systme de plusieurs nappes laser inclines.
Potentiel
Ligne de
courant
F IGURE 6.1 Illustration de potentiels primitifs dont la combinaison guide les dplacements
du robot. Le robot se dplacera selon les lignes de courant.
Obstacle
+1 1
6 8
+1 1 5 3
5 3 8
6 5
2
1
6 8
1 5 3
5 3 8
6 5
2
... Seuil
...
0 11
Secteur
11 1
0
F IGURE 6.4 Partie suprieure : Grille doccupation locale construite par la mthode "Histo-
grammic in motion mapping". La grille est construite dans le rfrentiel du robot : un compteur
est incrment pour chaque cellule appartenant au secteur angulaire dans lequel un obstacle
a t dtect et les valeurs sont dplaces dune cellule lautre en fonction des dplace-
ments du robot. Partie Infrieure : Utilisation de lhistogramme des obstacles pour dterminer
la direction de dplacement du robot.
lorsquil est appliqu au robot, produit une trajectoire circulaire, pour laquelle la satisfaction des
diffrentes contraintes peut tre value. A lissu de lvaluation de toutes les contraintes pour
tous les couples de vitesses possibles, la mthode de la fentre dynamique permet de slection-
ner le couple le plus pertinent (qui rpond le mieux aux contraintes).
La premire contrainte est la contrainte dvitement dobstacles. Cest une contrainte dure au
sens ou elle est binaire (succs / chec) et doit obligatoirement tre satisfaite. Elle est value
pour chacune des trajectoires possibles partir de la perception locale de lenvironnement
un instant donn et de la position estime du robot un pas de temps fix dans le futur pour
la trajectoire courante. Si le robot na pas rencontr dobstacles cet horizon, la contrainte est
respecte ; dans le cas contraire, elle ne lest pas (Figure 6.5).
min max
Vitesses accessibles au
Vitesses courantes
prochain pas de temps
F IGURE 6.6 Fentre de slection des vitesses tenant compte de la dynamique du robot.
Le respect ou le non respect de cette contrainte est report dans un graphe des vitesses qui
indique, pour chaque couple de vitesses possible (donc chaque trajectoire), si le robot va ou ne va
pas rencontrer un obstacle (Figure 6.6). Dans ce graphe, il est alors possible de tracer la fentre
des vitesses accessibles au prochain pas de temps partir des vitesses courantes du robot et
des valeurs dacclration et dclration maximales. Cest cette fentre qui donne son nom la
mthode car elle permet de prendre en compte la dynamique du robot ( travers la capacit de
freinage et dacclration). Il reste alors choisir, au sein de cette fentre, un couple de vitesses
qui ne conduise pas percuter un obstacle pour garantir un dplacement sr du robot.
v
vmax
min max
Direction prfrentielle
F IGURE 6.7 Contrainte souple exprimant une prfrence sur la direction prendre.
Pour faire le choix parmi toutes les vitesses possibles au sein de cette fentre, il est possible
dutiliser des contraintes souples supplmentaires pour exprimer des prfrences au sein de cet
espace des vitesses accessibles. Ces contraintes sexpriment par une fonction de cot G(v, w)
qui est en gnral la somme de plusieurs termes. Ces termes peuvent exprimer une prfrence
a priori sur les vitesses, une prfrence pour les trajectoires sloignant le plus des obstacles, ou
une prfrence de direction si lon dispose par exemple dune estimation de la direction dun but
long terme (Figure 6.7). Le couple de vitesses minimisant ce cot au sein de la fentre est alors
slectionn. Il garantit un dplacement sans rencontrer dobstacles et le meilleur respect possible
des contraintes souples dans ce cadre.
Dans la pratique, les valeurs des diffrentes contraintes sont values en diffrents points du
graphe des vitesses, le nombre de points dpendant notamment de la puissance de calcul dispo-
nible et de la complexit de lvaluation de chaque contrainte. Lutilisation de la fentre dynamique
est trs intressante pour un robot se dplaant rapidement, ou pour un robot ayant des capaci-
ts dacclration et de ralentissement limites. Elle permet alors de produire un dplacement du
robot sr et rgulier. Pour des robots qui ont une forte capacit dacclration et de dclration
(par exemple un robot lger avec de bons moteurs lectriques), on peut considrer que toutes les
vitesses sont accessibles presque instantanment. Il peut alors tre suffisant de ne considrer
que la cinmatique, et non la dynamique, ce qui se traduit par la prise en compte dun seul point
du graphe, et non dune fentre. La recherche du couple de vitesse est ainsi simplifie.
Chapitre 7
Les mthodes que nous avons vu jusqu prsent sont des associations entre perceptions
et actions conues par des ingnieurs. Or il existe des techniques dapprentissage (notamment
lapprentissage par renforcement) permettant de crer des associations de ce type partir din-
formations dassez haut niveau sur la tche raliser.
Lapprentissage par renforcement est une mthode qui permet de trouver, par un processus
dessais et derreurs, laction optimale effectuer pour chacune des situations que le robot va
percevoir afin de maximiser une rcompense. Cest une mthode dapprentissage oriente ob-
jectif qui va conduire un contrleur optimal pour la tche spcifie par les rcompenses. Cette
mthode est de plus non supervise car la rcompense ne donne pas laction optimale raliser
mais simplement une valuation de la qualit de laction choisie. Elle permet enfin de rsoudre les
problmes de rcompense retarde pour lesquels il faut apprendre a sacrifier une rcompense
court terme pour obtenir une plus forte rcompense long terme et donc apprendre de bonnes
squences dactions qui permettront de maximiser la rcompense long terme.
Du fait de toutes ces caractristiques, lapprentissage par renforcement est une mthode
particulirement adapte la robotique.
7.1 Formalisation
Le problme de lapprentissage par renforcement pour un agent se formalise partir des
lments suivants :
Un ensemble dtats S correspondant la perception que lagent a de lenvironnement,
Un ensemble dactions possibles A ,
Une fonction de rcompense R : {S , A } ! R.
Lagent va interagir avec son environnement par pas de temps discrets, en percevant ltat
de lenvironnement st , en choisissant une action at en fonction de cet tat et en recevant la
rcompense rt+1 associe (Figure 7.1).
Lvolution du robot dans son environnement est rgi par un Processus de Dcision Markovien
(MDP en anglais) qui dcrit lvolution de ltat et de la rcompense en fonction des actions du
robot. Ce MDP (7.2), qui spcifie compltement la tche du robot par le jeu des rcompenses, se
tat S
rcompense R
action A
Environnement
F IGURE 7.2 Exemple de MDP trs simple. Chaque case correspond un tat et, pour
chaque tat, 4 actions sont possibles qui conduisent aux cases voisines. La rcompense est
nulle partout, sauf pour les actions qui mnent la case "S", pour lesquelles la rcompense
est 1.
Le comportement de lagent est dfini par une politique p : {S , A } ! [0, 1], qui guide lagent
de manire probabiliste en spcifiant, pour chaque tat s la probabilit de raliser laction a (et
donc a p(s, a) = 1). Le but de lapprentissage par renforcement va tre de trouver la politique
optimale p maximisant la rcompense long terme 1 .
1. Lapprentissage par renforcement nutilise que ltat courant pour prendre une dcision, il suppose donc que
toute linformation ncessaire est contenue dans cet tat. Le problme est donc considr comme tant Markovien,
ce qui est rarement le cas en pratique en robotique. Si le problme est non markovien, cest a dire si pour un
mme tat deux actions diffrentes sont optimales en fonction dune variable inconnue au robot, lapprentissage par
La rcompense long terme, que nous appellerons revenu Rt , peut tre dfinie de diffrentes
manires en fonction de la tche considre. Si la tche consiste rpter des pisodes qui
durent un nombre de pas de temps fixe, le revenu pourra tre la somme des rcompenses ins-
tantanes pendant un pisode. Si au contraire la tche se droule de manire continue, le revenu
pourra se dfinir comme la somme des rcompenses futures pondres par une exponentielle
dcroissante :
Rt = gk rt+k+1
k=0
o g 2 [0, 1] est un facteur indiquant limportance que lon accorde aux rcompenses futures.
Les algorithmes dapprentissage par renforcement que nous verrons plus loin utilisent qua-
siment tous une fonction de valeur V p (Figure 7.3) qui permet, pour une politique p donne,
destimer le revenu moyen (les rcompenses futures) pour un tat donn si lon suit la politique
considre :
V p (s) = Ep (Rt |st = s)
F IGURE 7.3 La fonction de valeur optimale dans notre exemple : pour chaque tat, le niveau
de gris indique la rcompense long terme qui sera obtenue en prenant le chemin le plus
court vers le but.
Ces fonctions de valeurs peuvent aussi se dfinir non pas pour un tat mais pour un tat et
une action ralise dans cet tat :
La fonction de valeur pour un tat s tant la moyenne des Qp (s, a), pondres par la probabi-
lit de chaque action :
V p (s) = p(s, a)Qp (s, a)
a
renforcement fournira la politique optimale, mais seulement dans lensemble des politiques myopes, nayant pas
toutes les informations pour une dcision optimale.
Une proprit essentielle de ces fonctions de valeur va permettre de crer les diffrents algo-
rithmes dapprentissage, il sagit de la relation de rcurrence connue sous le nom dquation de
Bellman :
V p (s) = p(s, a) Pssa 0 Rssa0 + gV p (s0 )
a s0
Cette quation traduit une cohrence de la fonction de valeur en reliant la valeur dun tat
la valeur de tous les tat qui peuvent lui succder . Elle se dduit simplement de la dfinition de
vp de la manire suivante :
V p (s) = Ep (Rt |st = s)
= Ep ( gk rt+k+1 |st = s)
k=0
= Ep (rt+1 + g gk rt+k+2 |st = s)
k=0
" !#
= p(s, a) 0 Pssa 0 Rssa0 + gEp g rt+k+2|st+1 = s
k 0
a s k=0
= p(s, a) 0 Pssa 0 Rssa0 + gV p (s0 )
a s
La fonction de valeur permet de caractriser la qualit dune politique, elle donne, pour chaque
tat, le revenu futur si lon suit cette politique. Elle permet galement de comparer les politiques
en dfinissant un ordre partiel :
Intuitivement, cette quation traduit par loprateur maxa le fait que la politique optimale choisit
laction qui va maximiser le revenu.
Si lenvironnement est un MDP fini, ces quations de Bellman ont une solution unique qui
va donc donner pour chaque tat la rcompense maximale que pourra recueillir lagent partir
de cet instant. A partir de la connaissance de V , il est trs simple de construire une politique
optimale, en associant chaque tat la ou les actions a0 qui permettent de raliser le maximum
de lquation doptimalit de Bellman :
Bellman, soit en utilisant une procdure itrative, que nous prfrerons car elle sapplique plus
naturellement, notamment en cas de contraintes temps-rel. Cette procdure utilise le fait que la
fonction de valeur V p est le point fixe de lquation de Bellman :
V (s) = p(s, a) Pssa 0 Rssa0 + gV (s0 )
a s0
Nous pouvons ainsi utiliser cette quation comme tape de mise--jour permettant de calculer
une suite de fonctions V k qui convergera vers V p :
h i
V k+1 (s) = p(s, a) Pssa 0 Rssa0 + gV k (s0 )
a s0
La mthode de programmation dynamique va donc utiliser cette mise--jour tant que les modifi-
cations maxs (|V k+1 V k ) seront suprieures un seuil donn pour fournir une approximation de
V p.
est meilleure ou quivalente la politique p, ce qui nous permet damliorer notre politique initiale.
De plus, si la politique p0 ainsi dfinie nest pas meilleure que p (cest dire si V p = V p ), la
0
dfinition de p0 (eq 7.1) est lquation doptimalit de Bellman, qui prouve donc que la politique
obtenue est optimale.
Une autre mthode pour converger vers la politique optimale est damliorer la politique avant
mme davoir une estimation correcte de sa valeur. On peut par exemple faire un nombre fixe
ditrations dvaluation avant de faire une amlioration. Le cas ou on ne fait quune itration
dvaluation de la politique est lalgorithme ditration de valeur, pour lequel les deux tapes se
rduisent une seule : h i
V k+1 (s) = max Pssa 0 Rssa0 + gV k (s0 )
a
s0
et qui converge vers V .
Pour les problmes avec de trs grands espaces dtats, le fait de parcourir tout les tats
pour la mise--jour peut tre difficile en soit. Il est dans ce cas possible dutiliser une mthode de
programmation dynamique asynchrone qui ralise la mise--jour de litration de valeur pour un
tat slectionn au hasard, ou en fonction du comportement de lagent. Cette mthode converge
galement vers V condition de visiter la limite tout les tats un nombre infini de fois. Elle
possde lavantage de fournir rapidement une approximation de la fonction de valeur.
1
N(s)
V (s) = Revenu(s)
o N(s) est le nombre de squences ou apparat s et Revenu(s) est le revenu aprs la premire
visite de ltat s, cest dire la somme pondre des rcompenses aprs cette visite 2 .
Cette mthode de Monte-Carlo a de plus lavantage destimer la valeur de chaque tat ind-
pendemment, contrairement la programmation dynamique qui doit estimer simultanment tout
les tats, ce qui permet par exemple de se concentrer sur des zones de lespace dtats plus
importantes pour lobjectif du robot.
Cette mthode sapplique de la mme faon pour une fonction Q(s, a), ce qui est encore plus
intressant, car pour trouver la politique optimale partir de V il faut disposer dun modle de
2. Il est galement possible dintgrer les nouvelles squences de manire itrative en utilisant un mise jour du
type V (s) V (s) + a [R(s) V (s)].
F IGURE 7.4 Illustration de la mthode des diffrences temporelles. La valeur dun tat est
mise jour en fonction de la rcompense immdiate (exemple du schma 2) et des estima-
tions prcdentes de la fonction de valeur (exemple du schma 4).
Cet algorithme fait converger Q vers Q indpendemment de la politique suivie, tant que cette
politique garanti une exploration exhaustive (cad une probabilit non nulle pour toutes les actions
dans tous les tats).
Comme pour les autres mthodes, la politique optimale se dduit simplement de la fonction
valeur optimale.
Rt = ai Rti
i
avec ai = 1.
Un cas particulier interessant de cette dernire mthode est lutilisation dune pondration
exponentielle qui va faire dcroitre limportance des expriences au fur et a mesure de leur loi-
gnement dans le temps :
Rt = (1 l) li Rti
i=1
Ce cas particulier est intressant car il peut sappliquer simplement en utilisant les valeurs
passes des rcompenses, au lieu des valeurs futures (on dmontre que les mises jour sont
les mmes). On utilise pour cela une valeur auxiliaire appele trace dligibilit que lon dfinit de
la manire rcursive suivante :
glet 1 (s) si s 6= st
et (s) =
glet 1 (s) + 1 si s = st
F IGURE 7.5 Illustration de la mthode des traces deligibilits. La mthode des diffrences
temporelles est utilise, mais propage avec une dcroissance tous les tats de lhistorique
de lagent.
La mise jour des valeurs se fait alors pour chaque tat proportionellement la valeur de son
ligibilit (Figure 7.5) :
Lide de cette mise jour est de remplacer la mise jour dun tat en utilisant des rcom-
penses futures par la mise jour des tats passs en utilisant la rcompense courante. Cela
donne au final lalgorithme TD(l) 3 (algorithme 7.1). Cet algorithme se dcline simplement pour
les extension Sarsa(l) et Q(l).
choix peut tre relativement simple pour des capteurs intuitifs comme les capteurs de distance,
mais tre complexe voir impossible si lespace dentre est plus abstrait ou si sa structure est peu
connue (par exemple pour un jeu comme le backgammon).
Q(s,a)
s a
F IGURE 7.6 Exemple de rseau de neurones simple permettant lapproximation de Q(s, a).
La seconde mthode va permettre de travailler directement dans les espaces dtats conti-
nus des capteurs en utilisant des mthodes dapproximation de fonction. En effet, pour utiliser
lapprentissage par renforcement, il est simplement ncessaire destimer correctement la fonc-
tion Q(s, a) (par exemple). Or cette estimation peut se faire directement par un approximateur de
fonction continu, par exemple un rseau de neurones (figure 7.6), que lon entraine laide des
donnes recueillies sur le problme. Lutilisation de ce type dapproximation permet de travailler
directement dans lespace continu et donc de limiter les effets parasites qui pourraient appa-
ratre suite un mauvais choix de discrtisation. Ces mthodes peuvent possder cependant des
inconvnients, notamment de raliser un apprentissage non local (comme dans le cas des r-
seaux de neurones), ce qui entraine des modifications incontrles de valeurs pour des couples
(s, a) qui ne sont pas ceux pour lesquels on ralise lapprentissage. Certaines mthodes utilisant
dautres types dapproximation (comme la rgression pondre localement [118]) permettre de
saffranchir de ces contraintes.
3 4
2
5
6
0
c b a
F IGURE 7.7 Discrtisation de lespace dtats : pour chaque secteur, de 0 6, une valeur
Oi est calcule en fonction de la prsence ou de labsence dobstacles dans les zones a, b
et c : 0 si un obstacle est dans a, 1 si un obstacle est dans b et 2 sinon. Ltat s est la valeur
en base 3 fournie par les des Oi : k 3k Ok . Dans lexemple, O0 = 2, O1 = 2, O2 = 1, O3 =
1, O4 = 2, O5 = 2, O6 = 2 et donc s = 2150.
simple tableau de 2187x3 cases pour reprsenter la fonction Q. La courbe 7.8 donne lvolution
au cours du temps des rcompenses obtenues sur des pisodes de 100 pas de temps. Les pas
de temps ont une longueur variable et correspondent aux changements dtat. Un pisode dure
en moyenne 35 secondes. La figure illustre galement les trajectoires alatoires initiales et le
rsultat aprs convergence de lalgorithme.
150
100
Rcompense
50
-50
-100
-150
0 50 100 150 200 250 300 350
Expriences
4. http://www.cs.ualberta.ca/~sutton/book/the-book.html
Chapitre 8
Mais la relation entre les deux premires phases est plus subtile quune simple relation dan-
triorit : cest le mme problme que pour luf et la poule. Chacun des deux lments peut, en
effet, tre considr comme pralable lautre mais dpend aussi de lautre pour sa ralisation.
Dans le cas de la cartographie et de la localisation, nous avons dj vu que la localisation repose
sur une phase pralable de cartographie. Mais pour construire une carte, il est ncessaire de
savoir o ajouter, dans la carte partielle dj existante, toute nouvelle information recueillie par
le robot. Cela requiert donc une phase pralable de localisation au sein de la carte partielle dj
existante. Pour un robot compltement autonome, il est donc impossible de ne pas traiter ces
Ceci dit, la majorit des systmes mtriques (voir section 9.2) vont nanmoins estimer la
position et la direction ensemble, soit en 2D (3 degrs de libert), soit en 3D (6 DDL).
donc modliser la partie statique des environnements qui va tre utile pour la localisation et
la planification. Il faut toutefois noter que ces systmes, qui ne modlisent pas les lments dy-
namiques de la seconde catgorie, sont nanmoins capable dvoluer dans des environnements
qui contiennent de tels lments. Pour ce faire, ces systmes sont en gnral capables de v-
rifier que la trajectoire planifie est correctement excute. En cas de problme dexcution, un
chemin alternatif ne passant pas par la zone qui ne peut tre atteinte est alors recherch. Cette
mthode, qui ne modlise pas explicitement les portes, par exemple, est nanmoins capable de
provoquer des dtours si une porte ferme bloque un chemin.
Chapitre 9
Les deux utilisations possibles des perceptions prsentes dans le chapitre 3 (avec et sans
modle mtrique) trouvent un parallle dans deux types de reprsentations de lenvironnement.
Lorsquaucun modle mtrique nest utilis pour les capteurs, les donnes sont en gnral
mmorises dans une carte topologique [82, 131] (cf. figure 9.1). Dans une telle carte, un en-
semble de lieux et leurs relations de voisinage sont mmorises. Chaque lieu est dfini au moyen
de perceptions recueillies lorsque le robot se trouve la position correspondante. Les relations
entre lieux sont en gnral dduites des donnes proprioceptives.
En revanche, lorsquun modle mtrique des capteurs est utilis, les donnes peuvent tre
mmorises au sein dune carte mtrique [101, 29] (cf. figure 9.1) qui rassemble dans un mme
cadre de rfrence les donnes proprioceptives et les perceptions. La carte contient alors un en-
semble dobjets, ayant chacun une position associe. Naturellement, il est possible de construire
une carte topologique lorsquun modle mtrique est utilis. Dans ce cas, toutefois, les percep-
tions ne sont en gnral pas utilises pour estimer la position relative des lieux visits, mais
seulement pour caractriser ces lieux.
Il est galement possible dutiliser des reprsentation hybrides qui vont avoir des caract-
ristiques la fois topologiques et mtriques afin de bnficier des avantages de chacune des
approches.
Notons que la notion de topologique et de mtrique est diffrente de celle mentionne pour
les stratgies de navigation dans lintroduction. Ici, cette notion fait rfrence la manire dont
les informations sont mmorises et non la stratgie de navigation utilise. Ainsi une carte to-
pologique pourra contenir des informations mtriques et pourra tre utilise pour une stratgie
de navigation mtrique, au sens donn dans lintroduction. Dans la suite de ce cours, le concept
topologique/mtrique fera toujours rfrence au type de carte utilis, et non la stratgie corres-
pondante.
F IGURE 9.1 Les cartes utilises en robotique peuvent tre de deux types : les cartes topo-
logiques, dune part, qui mmorisent un ensemble de lieux, ainsi que les manires de se d-
placer de lun lautre (dans cet exemple, des pices et des couloirs) et les cartes mtriques,
dautre part, qui mmorisent un ensemble dobjets perus (des murs dans cet exemple) avec
une position dans un cadre de rfrence global.
9.1.1 Description
Les cartes topologiques permettent de reprsenter lenvironnement du robot sous forme de
graphe. Les nuds du graphe correspondent des lieux, cest--dire des positions que le ro-
bot peut atteindre. Les artes liant les nuds marquent la possibilit pour le robot de passer
directement dun lieu un autre et mmorisent en gnral la manire de raliser ce passage.
La dtection et la mmorisation des lieux reposent en gnral sur deux procdures qui uti-
lisent les perceptions. La premire permet simplement de comparer deux perceptions et donc de
reconnatre un lieu de la carte ou de dtecter un lieu nouveau. La seconde procdure permet de
mmoriser un nouveau lieu ou dadapter la dfinition dun lieu lors des passages successifs du
robot en ce lieu. Comme nous lavons dj mentionn, la reconnaissance dun lieu est soumise
aux problmes de la variabilit perceptuelle et du perceptual aliasing . En consquence, la pre-
mire procdure peut donner des rsultats errons. Par exemple, un lieu dj visit peut ne pas
tre reconnu, ou un lieu nouveau peut tre confondu avec un lieu dj mmoris. Pour rsoudre
ces problmes, la reconnaissance des lieux fera donc appel aux donnes proprioceptives en plus
des perceptions. De nombreuses mthodes, dont les plus importantes seront dcrites dans la
9.1.2 Avantages
Un avantage important des cartes topologiques est quelles ne requirent pas de modle m-
trique des capteurs pour fusionner les donnes proprioceptives et les perceptions au sein dune
reprsentation unifie de lenvironnement. Cela est avantageux pour deux raisons. Dune part,
ces modles mtriques peuvent, comme nous lavons vu, tre difficiles obtenir ou savrer peu
fiables. Se passer de modle mtrique permet ainsi par exemple dutiliser simplement des images
panoramiques pour la reconnaissance de lieux. Dautre part, le fait de ne pas fusionner les deux
sources dinformations permet de sparer les influences des erreurs correspondantes. En effet,
lestimation de la position dobjets, lorsque lon utilise un modle mtrique, dpend la fois des
valeurs mesures par les capteurs et de la position du robot. Une erreur sur la position dun
objet peut donc provenir des deux sources. Dterminer la contribution de chacune des sources
peut tre difficile. Dans les cartes topologiques, au contraire, le bruit sur les mesures des cap-
teurs influe principalement sur la reconnaissance des lieux, tandis que le bruit sur les donnes
proprioceptives influe principalement sur la position associe chaque lieu.
La mmorisation de lenvironnement sous forme dun ensemble de lieux distincts autorise
en gnral une dfinition des lieux plus directement relie aux capacits perceptives du robot.
En effet, comme les perceptions ne sont pas transformes dans un repre mtrique, il ny a
pas de limitation au type de capteurs utilisables (cf. la section 3.2). Cette utilisation directe des
perceptions permet un meilleur ancrage dans lenvironnement, cest--dire une meilleure mise en
relation du robot avec son environnement. Puisque la carte est trs proche des donnes brutes
perues par le robot, il est en gnral assez simple de comparer et de mmoriser des lieux de
lenvironnement.
Cette proximit avec les donnes brutes conduit en gnral la reprsentation topologique
utiliser beaucoup moins de concepts de haut niveau que les reprsentations mtriques. La carte
topologique reste ainsi proche des possibilits du robot, en mmorisant ses perceptions et ses
dplacements possibles, indpendamment de concepts de plus haut niveau tels que des objets
ou des obstacles.
La discrtisation de lenvironnement correspondant au choix des lieux reprsents dans la
carte est un autre point fort des cartes topologiques. Cette discrtisation est en effet trs utile
pour la planification des mouvements du robot, qui se rduit alors la recherche de chemin dans
un graphe. Cette recherche est, en terme de complexit algorithmique, beaucoup plus simple
que la recherche dun chemin dans un espace continu deux dimensions. Cet avantage est
encore plus important lorsque les lieux reprsents dans la carte correspondent des structures
humaines telles que les portes, les couloirs ou les pices. La discrtisation permet alors de dcrire
et de rsoudre les problmes de manire naturelle pour les humains, par exemple en donnant
lordre daller au bureau B744, plutt que de dire daller la position dfinie par les coordonnes
x=354,y=285.
9.1.3 Inconvnients
Comme nous lavons dj mentionn, lutilisation directe des perceptions sans modle m-
trique empche destimer ces donnes pour des positions non visites. En consquence, les
cartes topologiques ncessitent en gnral une exploration trs complte de lenvironnement
pour le reprsenter avec prcision. En particulier, tous les lieux intressants que lon souhaite
trouver dans la carte devront tre visits au moins une fois au cours de la construction de la
carte, parce quils ne peuvent pas tre perus distance. Dans le cas o les lieux reprsents
sont des structures dassez haut niveau (comme des couloirs ou des pices), cela nest pas g-
nant car ces lieux sont peu nombreux et une exploration exhaustive est donc relativement rapide.
En revanche, dans les cartes topologiques reprsentant des lieux avec une assez grande densit
spatiale, cela peut tre un inconvnient, car lexploration complte de lenvironnement demandera
un temps important.
La reconnaissance des lieux de lenvironnement peut galement tre difficile dans le cas de
capteurs trs bruits, ou denvironnements trs dynamiques. Elle est, de plus, trs sensible au
problme de perceptual aliasing . Ces difficults conduisent des problmes de fausse recon-
naissance, cest--dire la reconnaissance dun lieu donn alors que le robot se trouve dans un
autre lieu. leur tour, ces fausses reconnaissances conduisent une mauvaise topologie de la
carte et des liens qui relient des nuds de la carte qui ne sont pas physiquement relis dans
lenvironnement. Ces difficults rendent problmatique la construction de cartes topologiques
dans des environnements de grande taille, car la carte rsultante risque dtre incohrente. Il de-
vient alors trs difficile destimer correctement la position du robot au sein de cette carte et de lui
ajouter de nouvelles informations sans erreurs.
Comme nous lavons vu, la reprsentation de lenvironnement peut tre assez proche des
donnes brutes des capteurs du robot, ce qui peut tre un avantage du point de vue de lautono-
mie du robot. Toutefois, cette reprsentation centre sur lindividu peut poser des problmes pour
la rutilisation de la carte. En effet, le manque de reprsentation de lenvironnement indpen-
dante de lindividu et labsence de modle mtrique des capteurs ne permettra pas dadapter la
carte un robot avec des capteurs lgrement diffrents. En effet, si lon dispose dun tel modle,
ladaptation se fait simplement au niveau du modle de capteur, sans modification de la carte
elle-mme. Cela est plus difficile avec une carte topologique, au sein de laquelle il est quasiment
impossible de changer les donnes recueillies par un capteur pour les transformer en donnes
telles quun autre capteur aurait pu les acqurir. De plus, cette reprsentation centre sur un in-
dividu est moins naturelle pour un oprateur humain, plus habitu aux reprsentations objectives
du type plan darchitecte, ce qui peut tre gnant lorsque lon souhaite une interaction forte entre
un oprateur et le robot.
Le choix de ce que vont reprsenter les nuds de la carte dtermine tout le processus de
construction de la carte topologique. Ce choix est li aux capacits de perception dont on a dot
le robot, lequel devra tre capable de dtecter les lieux en question. La localisation et la mise
jour de la carte se feront chaque fois quun tel lieu aura t dtect. La dtection de ces lieux
peut tre contrainte par les choix dun oprateur humain ou tre compltement autonome.
F IGURE 9.2 Exemples de cartes topologiques avec des noeuds dfinis des positions
canoniques et des liens mtriques ( gauche) et avec des noeuds denses et des positions
mtriques associes ( droite).
Les artes reliant les nuds permettent de mmoriser des donnes sur les relations de voi-
sinage entre lieux reprsents par les nuds. Ces donnes sont en gnral obtenues grce
aux informations proprioceptives. Elles peuvent tre plus ou moins prcises et reprsentes sous
diverses formes.
Relation dadjacence
La premire information que porte une arte est une information dadjacence entre les deux
lieux reprsents par les nuds quelle connecte. Cette relation peut tre bidirectionnelle ou non.
Lexistence dune arte signifie donc que le robot peut passer directement dun lieu lautre, sans
passer par un lieu intermdiaire. Si certains modles ne mmorisent que cette information dad-
jacence [51, 55, 69, 79, 106, 141], cette information est prise en compte dans tous les modles,
mme si des informations supplmentaires sont enregistres dans les artes.
Relations mtriques
Des informations mtriques sur la position relative des lieux peuvent tre mmorises dans
les artes. Ces informations portent en gnral sur la position relative des lieux relis par larte
[43, 66, 82, 83, 105, 125, 127, 142] (figure 9.2, gauche). Elles sont fournies et quantifies
par les donnes proprioceptives lorsque le robot se dplace dun lieu lautre. Cette mthode
prsente lavantage de limiter laccumulation de lerreur des donnes proprioceptives, puisque
ces donnes ne sont utilises que sur la distance reliant un nud un autre. Cette distance
est en gnral assez courte pour viter une accumulation derreurs trop importante. Les cartes
topologiques utilisant de telles informations mtriques sont appeles par certains auteurs cartes
diktiomtriques [43], ou carte topo-mtriques [13].
Relation implicite
Dans certains cas, il est possible de retrouver les relations de position entre les lieux au vu
des seules perceptions qui les reprsentent. Cela est possible, par exemple, lorsque les lieux
sont dfinis par la configuration damers distants qui peuvent tre perus par le robot lorsquil
se trouve cette position. Un certain nombre damers communs, visibles depuis deux lieux diff-
rents permettront davoir des informations sur la position relative de ces lieux. Lexistence damers
communs peut donc tre utilise comme lien implicite [93, 124, 25].
9.2.1 Description
Dans une carte mtrique, lenvironnement est reprsent par un ensemble dobjets auxquels
sont associes des positions dans un espace mtrique, gnralement en deux dimensions. Cet
espace est, la plupart du temps, celui dans lequel sexprime la position du robot estime par
les donnes proprioceptives. Les perceptions permettent, en utilisant un modle mtrique des
capteurs, de dtecter ces objets et destimer leur position par rapport au robot. La position de ces
objets dans lenvironnement est alors calcule en utilisant la position estime du robot. La fusion
des deux sources dinformation au sein dun mme cadre de reprsentation est caractristique
des cartes mtriques.
Les objets mmoriss dans la carte peuvent tre trs divers et seront dtaills dans la suite
de cette section. Dans certaines implantations, ces objets correspondent aux obstacles que le
robot pourra rencontrer dans son environnement. La carte de lenvironnement correspond alors
directement lespace libre, cest--dire lespace dans lequel le robot peut se dplacer.
9.2.2 Avantages
Lavantage principal des cartes mtriques est de permettre de reprsenter lensemble de len-
vironnement, et non un petit sous-ensemble de lieux comme le font les cartes topologiques. Cette
reprsentation complte permet ainsi destimer avec prcision et de manire continue la position
du robot sur lensemble de son environnement. De plus, cette reprsentation complte ne se li-
mite pas aux positions physiquement explores, mais stend toutes les zones que le robot a
pu percevoir depuis les lieux quil a visits. Cette proprit peut permettre la construction dune
carte plus exhaustive de lenvironnement en un temps plus court.
Un autre avantage des cartes mtriques est li au fait que la position du robot est dfinie de
manire non ambigu par ses coordonnes au sein de lespace dans lequel la carte est reprsen-
te. Il sensuit une utilisation simple et directe de toutes les informations mtriques fournies par les
donnes proprioceptives ou les perceptions. Cela est un avantage par rapport aux cartes topolo-
giques o les positions possibles du robot sont limites aux nuds prsents dans la carte et sont
donc relativement imprcises. Une telle reprsentation, dans laquelle chaque nud peut couvrir
une zone tendue de lenvironnement, rend plus difficile lutilisation des donnes mtriques car
la position relative de deux zones est moins bien dfinie.
La reprsentation de lenvironnement indpendante de lindividu utilise dans les cartes m-
triques apporte un certain nombre davantages supplmentaires. Comme nous lavons mentionn
propos des cartes topologiques, une telle reprsentation permet une rutilisation plus facile
dune carte sur des robots diffrents, quips de capteurs diffrents, lessentiel de ladaptation se
droulant au niveau des modles mtriques des capteurs. Ce type de reprsentation est aussi
facilement interprtable par un humain, ce qui peut tre important dans le cas o il doit intervenir
dans les dplacements du robot.
Cette reprsentation peut de plus utiliser des concepts de plus haut niveau, tels que des
objets, des obstacles ou des murs. Cela permet un apport de connaissance plus facile de la
part des humains, par exemple pour imposer que les murs dtects soient perpendiculaires ou
parallles.
9.2.3 Inconvnients
Lors de lutilisation de cartes mtriques, les donnes proprioceptives ont en gnral une im-
portance suprieure celle quelles ont dans lutilisation dun carte topologique. Par consquent,
une odomtrie plus fiable peut tre requise. Le niveau de fiabilit ncessaire peut tre atteint en
imposant des limitations sur lenvironnement du robot. Par exemple, il est possible dimposer que
tous les couloirs soient orthogonaux, afin de pouvoir corriger efficacement la drive de lestimation
de la position.
Comme nous lavons mentionn dans la section 3.2, un modle mtrique des capteurs peut
tre difficile obtenir. Les problmes lis au bruit des capteurs et la difficult de modliser
de manire fiable leur relation avec lenvironnement constituent donc un point faible des cartes
mtriques.
Enfin, le calcul de chemin au sein des cartes mtriques peut tre plus complexe, car la pla-
nification se droule dans un espace continu et non dans un espace pralablement discrtis,
comme cest le cas pour les cartes topologiques. De nombreuses mthodes recourent dailleurs
lextraction dune carte topologique depuis la carte mtrique pour raliser cette opration de
planification [87].
Reprsentation dobjets
Points
Les objets les plus simples qui peuvent tre utiliss sont des points [93, 111, 44] que lon
appelle dans ce cas amers (terme de marine dsignant des points de repre remarquables). Ces
points correspondent des objets de lenvironnement de taille suffisamment petite, ou situs suf-
fisamment loin du robot, pour pouvoir tre considrs comme ponctuels (figure 9.3, gauche).
Ils possdent linconvnient que la perception dun point de lenvironnement ne suffit pas d-
terminer de manire unique la position du robot. Ce type de points de repre est par consquent
relativement pauvre et contraint la dtection de plusieurs objets pour assurer une localisation
prcise. De plus, reconnatre un tel point de manire non ambigu est souvent difficile et requiert
une bonne capacit de discrimination de la part des capteurs. Cependant, certains modles ne
requirent pas cette identification et utilisent des points indistinguables.
Certains modles ont recours des ensembles de points dissmins sur la surface des objets
de lenvironnement [94, 63, 134] (figure 9.3, droite). Ces points sont en gnral obtenus par
des tlmtres laser, qui permettent den recueillir un grand nombre avec une rsolution spatiale
leve. Les objets sont ainsi dfinis par la configuration densembles de points, et non plus par
des points uniques. Cette mthode prsente donc lavantage de ne pas recourir lidentification
individuelle de chaque point.
Points orients
Afin dobtenir plus dinformation sur la position du robot par la perception dun seul objet, il
est possible de doter chaque objet ponctuel dune orientation. La perception dun tel point orient
permet alors destimer la position du robot de manire unique. Un tel type de point peut cor-
respondre un point de rfrence sur un objet non ponctuel de lenvironnement [68, 129], par
exemple langle dun obstacle, peru grce un tlmtre laser [18].
F IGURE 9.3 Exemples de cartes mtriques base de points isols (on parle alors damers,
gauche, repris de [109]) et de carte base de scans lasers (chaque cercle est le centre
dun scan laser regroupant les points de la mme couleur, droite).
F IGURE 9.4 Exemple de carte base de segments dtects par un tlmtre laser (repris
de [52]).
polygones sont trs souvent utiliss (figure 9.4). Ces objets sont extraits densemble de points
perus par des capteurs ultrasons [39, 53] ou des tlmtres laser [103, 41, 28, 52]. Des
cylindres et des plans, dtects par des capteurs ultrasons sont aussi utiliss [92], ainsi que
des structures de plus haut niveau, comme des plans en trois dimension, dtects par stro-
vision [8].
Reprsentation de lincertitude
Dans la plupart des systmes, la manire dont est reprsente et gre lincertitude est
cruciale. Lincertitude concernant les objets mmoriss dans la carte est de deux types. Le
premier concerne lincertitude sur les paramtres des objets, par exemple sur leur position
dans lenvironnement. Ce type dincertitude provient des erreurs de localisation du robot lors
de la perception dun objet, ou dun bruit au niveau du capteur. Il est, dans la majorit des
cas, reprsent de manire probabiliste, notamment par la variance de paramtres considrs
[129, 8, 103, 92, 68, 44, 28]. Toutefois, dautres mthodes peuvent tre utilises, par exemple des
intervalles [43] ou des ensembles flous [53].
Le second type dincertitude se place un niveau plus fondamental. Il porte sur la qualit
de la correspondance entre la carte et lenvironnement. Il mesure avec quelle confiance un objet
prsent dans la carte correspond effectivement un objet de lenvironnement. En effet, il peut
arriver que des erreurs de perception fassent apparatre des objets qui nexistent pas dans lenvi-
ronnement. Cette incertitude est caractristique des environnements dynamiques, dans lesquels
des objets sont susceptibles de se dplacer, dapparatre ou de disparatre. Elle est gre, pour
une grande partie, au niveau des capteurs, les procdures permettant la dtection dobjet m-
moriser tant conues pour ignorer au maximum les lments instables de lenvironnement. Au
niveau de la carte, la plupart des modles traitent ce problme au moment de la mise jour. Il
est par exemple possible de supprimer les objets qui auraient d tre perus, mais qui restent
introuvables par le robot. Certain modles toutefois modlisent explicitement cette incertitude au
moyen dun paramtre de crdibilit [92]. Ce paramtre permet une plus grande tolrance aux
accidents de perception en mesurant la fiabilit dobjets comme point de repre.
Un des premiers modles pour ce type de reprsentation est celui de la grille doccupation
[101, 131, 147]. Dans ce modle, lenvironnement est entirement discrtis suivant une grille
rgulire avec une rsolution spatiale trs fine (cf. figure 9.5). Une probabilit doccupation est
associe chaque lment de cette grille. Cette probabilit mesure la confiance dans le fait que
lespace correspondant dans lenvironnement est effectivement occup par un obstacle. Lavan-
tage dune telle reprsentation est quelle utilise directement les valeurs des capteurs de distance
afin de mettre jour les probabilits doccupation des cellules. Elle permet donc de supprimer la
phase dextraction dobjets qui est souvent coteuse en temps de calcul et source de bruit.
Les grilles doccupation utilisent cependant une quantit de mmoire importante, qui crot
proportionnellement la surface de lenvironnement. Pour saffranchir de ce problme, certains
modles font appel des discrtisations irrgulires de lespace [5] ou des discrtisations hi-
rarchiques. De telles discrtisations permettent de sadapter la complexit de lenvironnement,
en reprsentant de manire grossire les grands espaces libres et plus finement les contours des
obstacles.
F IGURE 9.6 Un exemple de carte hybride mlangeant des cartes mtriques locales pour les
pices et une carte topologique globale. Les positions relatives des cartes locales sont alors
connues de manire imprcise car les couloirs ne sont pas cartographis prcisment, mais
simplement suivis pour aller dune porte une autre.
F IGURE 9.7 Un exemple de carte hirarchique se basant sur une carte mtrique dont est
extrait une carte topologique. Les nuds de cette carte topologique sont ensuite associs
une catgorie (repris de [112]).
types de reprsentations sont souvent hirarchiques : sur la base dune carte mtrique, une carte
topologique est construite, puis les nuds sont classifis suivant leur types et permettent de m-
moriser les objets associs (figure 9.7). Les informations smantiques peuvent tre utiles dans de
nombreuses situations, par exemple pour chercher un objet (une assiette sera plus probablement
dans la cuisine), ou pour la navigation : la connaissance du type dobstacle peut ainsi permettre
denvisager de pousser certains objets tels que les chaises.
Nous ne dtaillerons pas dans ce cours la construction de ce types de cartes car elle font
en gnral appel lintgration de trs nombreuses mthodes diffrentes et sont lobjet de re-
cherches trs actives.
Chapitre 10
Localisation
Ce chapitre prsente les principales mthodes de localisation. On pourra trouver une descrip-
tion succincte dun grand nombre dautres mthodes dans [45]. La prsentation est ralise selon
une classification personnelle en trois grandes catgories qui me semble utile la comprhen-
sion, mais qui nest pas forcement utilise couramment dans la littrature.
Les capacits de suivi de position et de localisation globale ont des proprits duales. Comme
le note Piasecki [110], dans le contexte dune carte mtrique, le suivi de position est une mthode
locale, continue, qui effectue rgulirement de petites corrections lestimation de la position du
robot. Cette mthode effectue de telles corrections en se basant sur des objets de lenvironnement
et la manire dont ils ont t perus par le robot. Lidentification de ces objets est de plus simplifie
grce lestimation initiale de la position qui permet, en cas de perceptual aliasing, de dcider
quel est lobjet qui a t peru parmi les diffrents objets correspondant aux perceptions.
Au contraire, la localisation globale est une mthode globale, discontinue, qui effectue excep-
tionnellement des corrections de grande ampleur de la position estime. Sa premire tche, avant
destimer une position, est de dterminer quels objets de lenvironnement correspond chacune
des perceptions du robot. Cette tche peut tre trs simple dans le cas o la carte ne contient que
des amers diffrents, mais est en gnral assez complexe car plusieurs amers sont identiques
cause du perceptual aliasing.
Comme nous lavons soulign, le suivi de position permet de fusionner et de tirer parti des in-
formations proprioceptives et des perceptions disponibles pour le robot. Cette mthode ne conduit
toutefois qu une estimation qui est localement la meilleure approximation possible de la posi-
tion. En effet, la recherche est contrainte par lestimation prcdente de cette position. La position
estime sera donc celle qui est la plus en accord avec les donnes recueillies, dans le voisinage
de cette estimation prcdente. Lestimation rsultante peut donc trs bien ne pas correspondre
la position qui, sur lensemble de la carte, correspond le mieux aux donnes.
En principe, la localisation globale permet une telle estimation optimale. Au niveau de lutili-
sation des donnes disponibles pour le robot, il existe de nouveau deux classes de mthodes de
localisation globale :
La premire, qui ne fonctionne que dans des environnements o il nexiste aucun percep-
tual aliasing, fait appel uniquement aux perceptions disponibles en une position donne.
Nous lappellerons dans ce cours infrence directe de position.
La seconde, qui fonctionne dans tous les environnements, fusionne au contraire les infor-
mations proprioceptives et les perceptions, comme le fait le suivi de position. Toutefois, au
lieu de restreindre la recherche par une estimation prcdente de la position, elle estime
parmi toutes les positions possibles au sein de la carte celle qui correspond le mieux aux
donnes prsentes et passes recueillies par le robot. Les mthodes de cette catgorie
reposent, dune faon ou dune autre, sur le suivi de plusieurs hypothses de position, ce
qui permet de gnraliser le suivi de position en utilisant de manire plus efficace les infor-
mations disponibles.
Dans la suite de ce chapitre, nous allons prsenter plus prcisment les diffrentes mthodes
de localisation. Nous allons dabord voir comment il est possible destimer la position dun robot
au vu des seules perceptions (section 10.2). Puis, dans le cas de systmes perceptifs soumis au
perceptual aliasing, nous verrons comment il est possible dintgrer les informations propriocep-
tives, de manire locale (section 10.3) puis globale (section 10.4), afin de lever les ambiguts
restantes.
en composantes principales 1 qui va dterminer une base sur laquelle il sera possible de projeter
chaque image. Les coordonnes de chaque images dans cette base fournissent ainsi un repr-
sentation de faible dimension de chaque nud de la carte. Pour la localisation, il suffit de projeter
limage courante sur la base et de chercher limage ayant les coordonnes les plus proches.
Lorsquune position dans un espace mtrique est associe chacun des nuds de la carte,
la localisation permet en outre de dterminer la position mtrique du robot. Cette position peut
simplement tre la position du nud reconnu, mais il est souvent possible dobtenir une prci-
sion supplmentaire. En effet, au lieu de tenir simplement compte du nud le plus conforme aux
perceptions courantes, il est possible de tenir compte de chacun des nuds, selon son degr de
similarit avec ces perceptions. La mthode mise en uvre dans de tels modles pour raliser
cette estimation de position sappelle dans la terminologie des neurosciences le codage par po-
pulation de vecteurs [56]. Cette mthode consiste estimer la position du robot par la moyenne
des positions des diffrents nuds, pondres par le degr de similarit de chaque nud avec
les perceptions du robot. Cette mthode donne une estimation prcise de la position du robot,
mais suppose une relative continuit de lenvironnement. Elle suppose en effet que des lieux si-
milaires seront proches les uns des autres pour que la moyenne des positions ait un sens. Les
perceptions doivent donc varier de manire relativement continue avec la position.
Lorsque les modles permettent la gestion du perceptual aliasing (par une des mthodes d-
crites dans les paragraphes suivants), les lieux peuvent galement tre dfinis par des images
panoramiques de leur environnement [6, 40, 66, 141, 113, 142], ou par la configuration des po-
sitions damers distants [12, 137]. Mais, puisque le perceptual aliasing sera gr par ailleurs,
des dfinitions plus simples des nuds peuvent galement tre adoptes, au prix dune moins
grande discrimination. Certains modles utilisent ainsi les valeurs brutes de capteurs de distance
[105, 98, 82, 69, 66, 108], ou la configuration des murs autour du robot afin de dtecter des angles
de couloirs ou des embranchements [83, 33, 125, 27, 106, 127, 130].
Perception
Positions possibles
F IGURE 10.1 Les amers que peut reprer un robot fournissent plus ou moins dinformation
sur sa position en 2 dimensions. La dtection dun amer ponctuel permet de savoir que le
robot se trouve sur un cercle entourant lamer. Un amer rectiligne permet de connatre la
distance du robot perpendiculairement cet amer, mais pas sa position le long de cet amer.
Enfin, un amer ayant une tendue spatiale en deux dimensions permet de dfinir la position
du robot de manire unique.
permettre une estimation non ambigu de la position. Par exemple, cest le cas des murs dont la
perception fournit une information sur la distance du robot ce mur, mais pas sur sa position le
long de ce mur (cf. figure 10.1). Certains modles utilisent de tels types dobjets, qui permettent
daffiner une estimation prcdente de la position, mais pas destimer directement cette position
[28, 73, 117].
Lorsque les objets mmoriss dans la carte ont une certaine tendue spatiale en deux dimen-
sions, il est par contre possible dutiliser la perception dun seul objet afin destimer directement la
position du robot. Les amers utiliss peuvent alors tre des objets tridimensionnels dtects par
une camra [126], les angles des obstacles dtects par un tlmtre laser [7, 18, 57, 73] ou un
capteur ultrason [92, 117], des segments dtects en utilisant une camra [8] ou un tlmtre
laser [28, 31, 103].
Comparaison
F IGURE 10.2 Pour estimer la position dun robot, il est possible de construire une carte
locale reprsentant lenvironnement proche de la position courante. La comparaison de cette
carte locale et de la carte globale de lenvironnement permet alors de trouver la position.
Dautre modles, enfin, nestiment pas directement la position du robot au vu des perceptions,
mais reposent sur la comparaison dune carte mtrique locale avec la carte mtrique globale (cf.
figure 10.2). La carte mtrique locale est construite soit partir des seules perceptions courantes,
soit partir des donnes proprioceptives et des perceptions recueillies sur un court laps de temps.
Le problme est alors de trouver la portion de carte globale qui correspond le mieux la carte
locale. Cette mthode est trs souvent utilise avec les grilles doccupation [107, 119, 122, 131],
ainsi quavec des donnes brutes de tlmtres laser [94, 65, 41]. Le polygone de visibilit, qui
entoure la zone despace libre visible depuis la position courante du robot peut aussi tre utilis
[62, 75]. Comme nous le verrons dans la section suivante, ces mthodes sont souvent utilises
sur un espace de recherche restreint par une estimation initiale de la position. Elles peuvent
cependant tre utilises pour la localisation globale [107, 62, 75].
F IGURE 10.3 Exemple de rsultat de corrlation de mesures laser. La partie gauche montre
les mesures affiches la position mesure par lodomtrie. La partie droite montre le rsultat
de la corrlation.
D
ej
e2 i
e1
On construit ensuite lhistogramme des directions de ces tangentes, aprs avoir filtr les points
pour lesquels la qualit de lapproximation des tangentes est trop faible. Cet histogramme contient
alors des pics lorsque des ensembles de points correspondent un mur rectiligne de lenviron-
nement. Aprs avoir construit ces histogrammes de direction pour les deux scans, on cherche le
dcalage de ces histogrammes qui fournit la meilleure corrlation. Dans lhypothse o les deux
scans ont t perus en des points de lenvironnement assez proches et reprsentent donc a peu
prs la mme zone, ce dcalage correspond la rotation qui aligne les deux scans (Figure 10.5
gauche).
dx
dx
Une fois la direction recale, pour corriger la translation, on projette les points selon la direc-
tion principale des tangentes. On construit ensuite lhistogramme du nombre de points projets
sur la perpendiculaire cette direction et, en cherchant le maximum de corrlation entre les
histogrammes correspondant aux deux scans, on corrige le dcalage en translation selon cette
direction (Figure 10.5 droite). On recommence ensuite cette procdure dans la direction perpen-
diculaire.
Cette mthode fonctionne bien ds quil y a des structures rectilignes dans lenvironnement
qui conduisent des histogrammes contenant des pics pour lesquels le recalage par corrlation
fonctionne bien. Ils faut toutefois prendre un certain nombre de prcautions qui ne sont pas d-
tailles ici, notamment faire un filtrage intelligent des scan afin de ne garder que les points qui ne
correspondent ni du bruit, ni des lments dynamiques. Il faut galement veiller ne raliser
ce recalage que pour des scans qui ont t perus des positions effectivement proches, sous
peine de recueillir des rsultats trs fantaisistes. Pour sassurer de ce point, il est possible de v-
rifier la qualit de la corrlation des histogrammes afin de vrifier a posteriori que les deux scans
reprsentaient des portions similaires de lenvironnement.
Le filtre de Kalman [99] permet destimer ltat dun systme partir dune prdiction bruite
de son volution et de mesures bruites de cet tat. Cest un filtre rcursif optimal, qui suppose
que le systme considr est linaire et les bruits blancs (de moyenne nulle). Pour la localisation
en robotique mobile, ltat du systme est la position du robot, la prdiction de lvolution provien-
dra des donnes odomtriques et les mesures proviendront des perceptions, qui permettent de
calculer la position grce la carte. Dans la suite, nous prsentons succinctement la description
mathmatique du filtre avant de donner un exemple dapplication.
Le filtre donne chaque instant une estimation Xt de la valeur de ltat Xt du systme, ainsi
quune estimation de la prcision de cette estimation sous forme de sa matrice de covariance
Pt 2 .
Lvolution de ltat du systme est modlise par lquation linaire suivante :
o A et B sont des matrices, ut est lodomtrie releve par le robot ou le vecteur des com-
mandes qui lui sont donnes et eevo est le bruit sur lestimation de ltat, suppos desprance
nulle et de variance Q = E{eevo eTevo }.
Une mesure Yt effectue sur ltat du systme sera donne par lquation linaire :
Observation Y PY
Odometrie reelle
^ Prdiction
X PX X * PX* Mise jour
de letat
Prdiction Y*
de lobservation
Pt = A.Pt 1 .A
T
+ B.Q.BT (10.4)
Yt = H.Xt (10.5)
Xt = Xt + K(Yt Yt ) (10.6)
Pt = Pt KHPt (10.7)
ou K est le gain de Kalman, calcul pour minimiser lerreur destimation au sens des
moindres carrs et donn par la formule :
K = Pt H T .(H.Pt .H T + PY ) 1
(10.8)
Ces quatre tapes sont utilises chaque nouvelle information de dplacement et de percep-
tion, afin de mettre jour lestimation de ltat du systme.
Pour montrer le fonctionnement intuitif de ce filtre, prsentons son application dans un cas
trivial : le cas o ltat du systme est dcrit par une variable scalaire X = x, de variance Pt = sx 2 .
Si on suppose de plus que lobservation permet dobtenir directement la valeur de ltat : Yt = y = x
avec une variance PY = sy 2 , le gain du filtre scrit simplement :
sx 2
K = 2
sx + sy 2
et lquation de mise jour devient :
sx 2
x = x + 2 (y x ) (10.9)
sx + sy 2
sx 2 y + sy 2 x
= (10.10)
sx 2 + sy 2
La mise jour revient donc faire une moyenne pondre par la variance de la prdiction
et de lobservation. Cette moyenne donne plus dimportance la valeur ayant la variance la plus
faible et donc la plus fiable (Figure 10.7).
2
x* = 10 x* = 10
1
y = 20 y2 = 50
^x = 11.66 ^2 = 8.33
x
0
0 ^
x* x y 40
F IGURE 10.7 Illustration du filtre de Kalman dans le cas mono variable. La valeur estime est
la moyenne des valeurs prdites et observes pondres par leurs variances. Ici, lestimation
x est plus proche de x qui une variance plus faible.
Intuitivement, le filtre de Kalman va donc accorder plus dimportance aux valeurs pour les-
quelles lincertitude est la plus faible et les privilgier lors de la mise jour. En pratique ces
variances sont souvent bases sur des estimations empiriques (notamment en robotique pour
lodomtrie et les capteurs). Il faut donc faire trs attention ne pas sous-estimer ces incerti-
tudes de mesure, car, dans ce cas, le filtre de Kalman convergerait vers ces mesures, ce qui
peu conduire une divergence du filtre si ces mesures ne sont pas rellement aussi fiable que
lestimation de covariance le laisse penser.
Le filtre prsent dans la section prcdente suppose des quations dvolution et dobser-
vation linaires, ce qui nest pas le cas en robotique mobile ds que lon reprsente la direction
du robot. Pour tendre le filtrage aux systmes non-linaires, le filtre de Kalman tendu linarise
simplement les quations grce un dveloppement de Taylor.
Partant des quations non linaires suivante :
fi
Ai j = (10.13)
x j
hi
Hi j = (10.14)
x j
Avec ces deux matrices Jacobiennes, le principe du filtre de Kalman reste exactement le
mme, en remplaant simplement les quations du filtre de Kalman original par les quations
suivantes :
Xt = f (Xt 1 , ut ) (10.15)
Pt = A.Pt 1 .AT + B.Q.BT (10.16)
Yt = h(Xt ) (10.17)
K = Pt H T .(H.Pt .H T + PY ) 1
(10.18)
Xt = Xt + K(Yt Yt ) (10.19)
Pt = Pt KHPt (10.20)
Xt = f (Xt 1 , ut )
Pt = A.Pt 1 .AT + B.Q.BT
Yt = Xt
K = Pt (Pt + PY ) 1
Xt = Xt + K(Y Xt )
Pt = Pt KPt
Pour linitialisation de lalgorithme, nous supposons connatre une estimation de la position du
robot :
23
x0
X0 = 4 y0 5
q0
2 3
sx0 0 0
P0 = 4 0 sy0 0 5
0 0 sq0
et nous appliquons les quations de mise jour pour chaque nouveau dplacement ou
chaque nouvelle perception.
Y2 X
Y1
1
d 2 = (X Y )T (PX + PY ) 1 (X Y) (10.21)
2
ce qui se traduit dans le cas scalaire par une simple pondration par les variances :
(x y)2
d2 =
2(s2x + s2y )
Dans le cas du filtrage de Kalman, cette distance est utilise entre lobservation prdite et les
diffrentes observations faites sur le systme :
1
d2 = (Y Y )T (PY + PY ) 1 (Y Y )
2
1
= (H.X Y )T (H.Pt .H T + PY ) 1 (H.X Y)
2
117 Robotique Mobile - david.filliat@ensta-paristech.fr
10.3. SUIVI DUNE HYPOTHSE UNIQUE
F IGURE 10.9 Principe de fonctionnement du filtre de Kalman sans parfum, illustr sur un
exemple mono dimensionnel. Le filtre tendu (EKF) peut conduire de fortes erreurs pour
des fonctions non-linaires car il nutilise que la moyenne et la drive en ce point. Le filtre
sans parfum (UKF) utilise plusieurs points pour estimer les paramtres de la gaussienne
transforme.
La linarisation utilise par le filtre de Kalman tendu peut poser problme lorsque le modle
est fortement non-linaire ou lorsque les dplacements ou les erreurs de perception sont grandes.
Dans certain cas, lestimation de la covariance aprs transformation peut tre trs mauvaise
(Figure 10.9). Pour ces cas l, il existe une autre manire de linariser les quations qui conduit
au filtre de Kalman "sans parfum" (Unscented) [74].
Au lieu de linariser lquation non-linaire autour de la moyenne de la variable, ce filtre utilise
plusieurs point dchantillonnage partir de la gaussienne de dpart, calcule leurs correspon-
dants via lquation non-linaire et estime la variance de la gaussienne partir de ces corres-
pondants (Figure 10.9). Cette stratgie permet une bien meilleure prdiction de ltat, que ce soit
pour lvolution ou lobservation et permet donc dtendre le domaine de fonctionnement du filtre
de Kalman pour traiter des problmes avec des mises jour de plus grande ampleur. Elle est
cependant plus couteuse en calcul que le simple EKF.
Donnes proprioceptives
Estimation initiale
Estimation initiale
F IGURE 10.10 La position estime par le suivi de position dpend fortement de lestimation
initiale de la position. Dans cet exemple, le robot mesure son dplacement dans un couloir (1
et 3) dans lequel il dtecte des portes (2 et 4) sans tre capable de les reconnatre individuel-
lement (Partie a). Le systme de localisation va estimer la position du robot en intgrant ces
donnes. Si lestimation initiale de la position est proche de la position correcte, le systme
de localisation sera capable destimer prcisment la position relle du robot (Partie b). Tou-
tefois, si lestimation initiale de la position est trop loigne de la position relle, le systme
fournira une estimation de la position qui nest que localement optimale et ne correspondra
pas la position relle (Partie c).
La limitation principale de toutes ces mthodes de suivi de position est quelles ne garan-
tissent une bonne estimation de la position que localement, autour de lestimation initiale de la
position. En pratique, si cette estimation initiale est trop loigne de la position relle, ces mo-
dles ne pourront pas estimer correctement la position du robot (cf. figure 10.10). Ces modles
ne garantissent donc pas que la position calcule soit la position de la carte qui corresponde glo-
balement le mieux aux donnes recueillies par le robot et donc la position relle la plus probable.
Ce problme prend toute son importance lorsque lestimation de la position est perturbe la
suite dinformations proprioceptives ou de perceptions errones. En effet, de telles informations
errones peuvent faire diverger lestimation de la position de telle manire que le systme soit
par la suite incapable de retrouver une estimation correcte de la position.
La position correcte du robot pourra cependant tre retrouve par lune des mthodes de
localisation globale dcrites dans la section prcdente. Cette position pourra ensuite tre utilise
comme nouvelle position initiale dans le processus de suivi de position. Toutefois, il est galement
possible dutiliser une des mthodes de localisation globale dcrites dans la fin de ce chapitre qui
permettent de ne plus dpendre dune estimation initiale correcte de la position. Cette seconde
solution, qui ne requiert pas lutilisation spare de deux mthodes de localisation sera en gnral
plus robuste, mais parfois moins prcise.
Perceptions
Environnement rel
1 3
2
a
Donnes proprioceptives
Utilisation de la perception 1
Utilisation de la perception 3
divergence du filtre de Kalman employ seul. Cette technique est connue sous le nom de multi
hypothesis tracking (MHT) [73].
ce qui permet dutiliser la loi de Bayes pour calculer les probabilits P(X|Y ) de la manire sui-
vante :
quelle permet de transposer une quantit simple valuer, P(Y |X), en une quantit plus difficile
estimer et qui nous intresse, P(X|Y ). La vraisemblance P(Y |X) est simple valuer car elle
est le produit dun raisonnement causal : connaissant une carte, un modle de capteur et une po-
sition, on peut facilement prvoir les mesures que devraient renvoyer ce capteur. P(X|Y ), pour sa
part, est le fruit dun raisonnement de diagnostic et il est difficile valuer car une perception Y ne
permet pas de dfinir simplement une position, mais peut correspondre plusieurs, notamment
dans le cas du perceptual aliasing 3 .
Nous venons de voir comment la loi de Bayes permet de mettre jour une probabilit de
position en fonction dune perception. Pour la localisation dun robot mobile, il faut galement
pouvoir intgrer leffet dun dplacement sur une distribution de probabilit. Cela se fait aussi trs
simplement grce lquation suivante (loi des probabilits marginales) :
P(X|U) = P(X|U, X 0 )P(X 0 ) (10.23)
X0
Dans cette quation, P(X|U, X 0 ) est un modle du dplacement du robot, qui donne la proba-
bilit dune position X si le robot excute laction U dans la position X 0 . Ce modle ne dpend
que du robot et correspond souvent au modle dodomtrie que nous avons vu au dbut du
cours. Comme prcdemment, la probabilit a priori, P(X 0 ), est le fruit dune estimation ltape
prcdente.
Yt-1 Yt Yt+1
Ut-1 Ut
Xt-1 Xt Xt+1
F IGURE 10.12 Illustration des dpendances considres pour la localisation dun robot
partir dune suite de perceptions et de dplacements. Une flche indique que la valeur la
pointe dpend de la valeur lorigine.
Pour localiser un robot, nous cherchons videment estimer la position partir de nombreux
dplacements et de nombreuses observations : P(xt |u1 , y2 , ..., ut 1 , xt 1 ). Pour pouvoir raliser
les calculs de manire rcursive, lhypothse de Markov est utilise : on suppose que les percep-
tions ne dpendent que de ltat courant et que la position aprs un dplacement ne dpend que
de la position prcdente. Ceci est illustr par le rseau baysien de la figure 10.12 qui montre
les dpendances entre variables et correspond aux simplifications suivantes :
3. Ceci est trs gnral et tout a fait intuitif. Dans le domaine mdical, par exemple, il est simple de prvoir de la
fivre (lobservation) si lon sait que lon a la grippe (ltat). Le raisonnement inverse est plus difficile car la fivre peut
correspondre plusieurs maladies.
Partant de ces diffrents lments, le filtrage Baysien permet donc destimer de manire
rcursive ltat dun systme partir dune estimation de son volution et de mesures sur cet tat.
Pour pouvoir appliquer ce filtrage, nous avons besoin des lments suivants, qui sont tous connus
ou qui peuvent tre dfinis grce aux modles du robot, des capteurs et de lenvironnement :
Un modle dobservation (de capteur) P(y|x) qui donne, pour une position x donne, la
probabilit de la mesure y.
Un modle dvolution (daction) P(x|u, x0 ) qui donne la probabilit que le robot arrive en x
si il excute laction u en x0 .
Une suite dactions et de perceptions u1 , y2 , ..., ut 1 , yt .
Une estimation initiale de la position P0 (x), qui peut, par exemple, tre uniforme dans le cas
de la localisation globale ou qui peut tre une rpartition gaussienne si nous connaissons
la position initiale du robot.
Le filtre permet destimer la position en fonction des donnes mesures :
P(xt |u1 , y2 , ..., ut 1 , yt ), ce que nous noterons par la suite (en version continue) Bel(xt ) (de
langlais Belief State). Lquation de mise jour rcursive permet alors destimer Bel(xt ) en
fonction de Bel(xt 1 ). Cette quation se drive de la manire suivante, en utilisant les loies
prsentes ci-dessus :
Pour rsumer, lestimation de ltat par un filtre Baysien correspond lutilisation de lqua-
tion de mise jour suivante, pour une perception yt et un dplacement ut 1 :
Z
Bel(xt ) = hP(yt |xt ) P(xt |ut 1 , xt 1 )Bel(xt 1 )dxt 1 (10.24)
Le filtrage Baysien regroupe en fait un grand nombre dapproches connues sous des noms
diffrents qui se diffrentient par la manire dont la distribution de probabilit Bel(xt ) est re-
prsente (figure 10.13). Le filtre de Kalman est par exemple une implantation de ce filtre avec
des distributions de probabilits gaussiennes et des modles linaires. Le filtre de kalman multi-
hypothses correspond une reprsentation sous forme de somme de gaussiennes. Nous allons
voir dans la fin de ce chapitre deux autres mthodes qui utilisent soit une reprsentation discrte
soit une reprsentation sous forme dun ensemble dchantillon. Dans ce dernier cas, le filtre
sappelle le filtre particulaire.
Reprsenter la position du robot par une telle distribution de probabilits permet dintgrer la
totalit des informations recueillies au cours du temps. Elle est mise jour, dune part chaque
dplacement du robot, et donc chaque nouvelle donne proprioceptive, et dautre part chaque
nouvelle perception. De manire image, les donnes proprioceptives permettent de dplacer
les probabilits dune position une autre pour reflter le dplacement du robot. Les perceptions
permettent de moduler les probabilits de chaque position. Ainsi, les positions pour lesquelles
les perceptions prvues laide de la carte sont similaires aux donnes perues voient leurs
probabilits augmenter, tandis que les autres voient leurs probabilits diminuer.
Lorsquon utilise une telle distribution de probabilit, la position du robot calcule est en g-
nral donne par lhypothse ayant la plus forte probabilit [66, 69, 125, 127, 24, 49]. Cependant
dautres estimations telles que la moyenne des positions pondres par leurs probabilits peuvent
tre utilises [27], ou des versions intermdiaires telle que la moyenne des x% des meilleurs po-
sitions.
La distribution de probabilits obtenue dpend faiblement des conditions initiales et peut donc
tre initialise une distribution uniforme lorsquaucune information nest disponible sur la posi-
tion du robot. La position sera alors retrouve, mme si le robot est soumis un trs fort percep-
tual aliasing, assurant ainsi la localisation globale du robot dans tous les environnements. Ces
mthodes sont extrmement robustes en pratique et mettent en uvre un systme de localisation
compltement autonome, ne dpendant daucune intervention extrieure [133].
Ces qualits reposent toutefois de manire importante sur le fait que la carte de lenviron-
nement est complte. En effet, les systmes de suivi de plusieurs hypothses ncessitent une
estimation correcte des probabilits des diffrentes positions possibles. Or une carte partielle de
lenvironnement rend une telle estimation partir des perceptions difficile. Pour cette raison, ces
systmes sont en gnral utiliss pour la localisation sur des cartes construites dans une phase
pralable.
1: h=0
2: for all xi do
3: Bel 0 (xi ) = P(y|xi )Bel(xi )
4: h = h + Bel 0 (xi )
5: end for
6: for all xi do
7: Bel 0 (xi ) = Bel 0 (xi )/h
8: end for
9: Return Bel 0 (xi )
1: for all xi do
2: Bel 0 (xi ) = xk P(xi |u, xk )Bel 0 (xk )
3: end for
4: Return Bel 0 (xi )
Quelle que soit la discrtisation choisie, lalgorithme reste le mme. Il sagit dvaluer la pro-
babilit Bel(xi ) que le robot soit situ sur ltat xi de la carte. Ceci est fait par deux procdures
diffrentes selon que lon cherche intgrer une perception ou des donnes proprioceptives. Pour
une perception, on utilisera la procdure de lalgorithme 10.1. Les probabilits P(y|xi ) proviennent
soit dun modle de capteur mtrique pour les grilles doccupation, soit dun modle comparant
une perception avec les donnes mmorises dans les nuds pour la carte topologique. Pour
un dplacement on utilisera lalgorithme 10.2. La figure 10.14, tire de [48] montre un exemple
dvolution de la probabilit de position dun robot.
Limplantation nave de cet algorithme conduit une mise jour quadratique en fonction du
nombre dtats (O(N)), ce qui peut tre rapidement lourd calculer. Cependant, le modle proba-
biliste de dplacement P(x|u, x0 ) est en gnral nul ds que lon sloigne de la position spcifie
par la commande u depuis ltat x0 . Si lon note p le nombre dtats pour lequel le modle est non
nul, on peut facilement crire un algorithme en O(np), qui est donc linaire en le nombre dtats
de la carte.
Supposons par ailleurs que lon soit capable de gnrer un ensemble de N chantillons de po-
sition qi , que nous appellerons particules, selon la distribution de probabilit Bel(x) (Figure 10.15
P
P f
X
X
w
Ainsi la distribution Bel(x) peut sapprocher sous la forme dun ensemble de particules tires
selon une loi p(x), chaque particule ayant un poids associ w(x) (Figure 10.15 droite). La diffi-
cult dchantillonner selon Bel(x) reste cache dans la difficult de calculer le poids de chaque
particule w(x), mais grce un choix judicieux de p(x) nous pouvons arriver rendre ce calcul
possible en utilisant lquation de mise jour du filtrage Baysien.
En effet, dans le cas qui nous intresse :
Z
Bel(xt ) = hP(yt |xt ) P(xt |ut 1 , xt 1 )Bel(xt 1 )dxt 1 (10.25)
R
en choisissant (intelligemment) p(x) = P(x|ut 1 , xt 1 )Bel(xt 1 )dxt 1 , nous obtenons :
Belt (q)
w(q) =
p(q)
R
hP(yt |q) P(q|ut 1 , x) Belt 1 (x)dx
= R
P(q|ut 1 , xt 1 )Bel(xt 1 )dxt 1
= hP(yt |q)
Cette valeur est simple calculer car elle ne dpend que de la carte et du modle de capteurs
pour la position dun chantillon q.
w U
F IGURE 10.16 Illustration de la mise jour de lensemble des particules en utilisant les
dplacements.
Le problme du calcul des poids est donc rgl avec ce choix de p(x) =
R
P(x|ut 1 , xt 1 )Bel(xt 1 )dxt 1 . Reste a voir comment il est possible dchantillonner des par-
ticules selon cette loi. Comme nous utilisons une mthode rcursive, Bel(xt 1 ) est approche
sous la forme dun ensemble de particules qt 1 , chacune associe un poids wt 1 . A partir de
ces particules, lchantillonnage selon p(x), se droule en deux tapes : une mise jour selon le
modle dvolution P(x|ut 1 , xt 1 ), puis un r-chantillonnage des particules pour correspondre
la loi p(x).
Pour la premire tape, les particules sont mises jour partir du modle de dplacement
en tirant de manire alatoire, pour chaque particule qi , une particule di selon la loi P(x|ut 1 , di ).
R
Lensemble des di reprsente alors la distribution P(x|ut 1 , xt 1 )Bel(xt 1 )dxt 1 , mais la fonc-
tion dimportance selon laquelle ils sont rpartis nest pas celle que nous voulons (Figure 10.16).
v= w
1
w N w 1 v= w
2
1
w2
v= w
3 3
v v= w
4 4
1
v= w
v 5
v =. w
4
2
w
3 6 5
.
.
w
4
v
i
w i
1: for all i do
2: Tirer une particule di selon la loi P(x|u, qti 1 )
3: end for
t 1
4: r-chantillonner les particules di selon les poids wi .
5: h=0
6: for all i do
7: Calculer le poids wti = p(y|di )
8: h = h + wti
9: end for
10: for all i do
11: Normaliser les poids wti = wti /h
12: end for
13: Return qti = di , wti
En rsum, la localisation par filtrage particulaire seffectue selon lalgorithme 10.3, et est
illustr sur la figure 10.19. Intuitivement, lalgorithme permet de concentrer les particules dans les
F IGURE 10.18 Illustration de leffet de la mthode de r-chantillonnage. Les particules
ayant initialement un poids fort conduisent des zones de particules plus denses. Les parti-
cules ayant initialement un poids faible conduisent des zones de particules moins denses.
zones de plus fortes probabilits, o elles auront des poids plus fort. Cest un algorithme au final
extrmement simple et particulirement robuste.
Cette version de base demande cependant un rglage relativement prcis des paramtres,
notamment des modles probabilistes de perception et de lodomtrie pour donner des rsultats
satisfaisant.
Le nombre de particules utiles pour approcher correctement la probabilit de position peut
galement tre relativement dlicat choisir. En effet, si il y a trop peu de particules, les zones de
fortes probabilits risquent de ne pas tre bien reprsentes et le r-chantillonnage ne permettra
pas de concentrer les particules autour de la position la plus probable, et le filtre ne convergera
donc pas. On parle alors de rarfaction des particules.Ce problme est dautant plus important
pour la localisation globale, pour laquelle les particules sont initialises alatoirement sur tout
lenvironnement. Si il ny a pas initialement de particule proche de la position relle du robot, le
filtre ne pourra pas la dcouvrir.
Augmenter le nombre de particules permet en gnral de rsoudre le problme, mais aug-
mente proportionnellement le temps de calcul, ce qui est rapidement problmatique. Il existe donc
de nombreuses variantes et amliorations de la mthode, qui permettent par exemple de slec-
tionner automatiquement le nombre de particules optimal pour fournir une approximation correcte
de la position [50], ou de raliser des mises jour partielles pour respecter un temps de calcul
limite [85].
Position t-1
Particules t-1
Position t
R-chantillonage
Les mthodes topologiques sont en gnral assez simples implanter puisquil sagit essen-
tiellement de crer une procdure de comparaison de perceptions. Cependant, pour obtenir une
robustesse correcte, cette procdure doit nanmoins tre faite avec soin et peut devenir com-
plexe. La localisation directe a partir des seules perceptions est difficile envisager dans des
environnements non triviaux. Lajout de suivi multi-hypothses dans ce cadre permet cependant
damliorer la robustesse de manire assez simple. Les cartes topologiques conduisent cepen-
dant une localisation relativement imprcise et demandent un certain nombre de comporte-
ments sensori-moteurs efficaces pour les dplacements entre lieux. Un des gros inconvnients
des cartes topologiques, comme nous le verrons plus loin, se situe plutt au niveau de leur cra-
tion, qui peut tre complexe automatiser.
Concernant les mthodes mtriques, le filtre de Kalman connat un grand succs mais peut
tre difficile rgler et risque de diverger. Lutilisation de multi-Kalman permet damliorer sensi-
blement les choses et donne une trs bonne prcision, mais conduit des implantations assez
complexes et difficiles matriser. Les filtres particulaires sont une bonne solution, en particulier
pour leur robustesse et leur simplicit dimplantation, mais peuvent aussi tre difficiles rgler et
lourds en temps de calcul.
Chapitre 11
Cartographie
dans la carte, il est possible, grce ces mthodes locales, de dfinir sa position par rapport
une position prcdente connue au sein de la carte.
F IGURE 11.2 Lorsque la position du robot est estime par une mthode de suivi de position,
les erreurs saccumulent pendant le parcours dun cycle. Lors de la fermeture de ce cycle, le
systme peut alors tre incapable de reconnatre la position initiale du robot, ce qui conduit
a une carte incorrecte, dans le cas topologique (partie gauche) comme dans le cas mtrique
(partie droite).
F IGURE 11.3 Illustration des capacits de cartographie sur une carte topologique. En bas
gauche, la cartographie incrmentale ne fera que des corrections locales lors dune fermeture
de boucles. En bas droite, une mthode de cartographie avec retour en arrire pourra
potentiellement corriger toute la carte pour rduire les erreurs.
damment (des scans lasers par exemple), mais nest pas possible pour certaines reprsentations
(notamment les grilles doccupation).
signifie que le lieu nest pas reprsent dans la carte et quil devra donc tre ajout. Au contraire,
si la similitude des donnes courantes avec un nud de la carte est suffisante, ce nud sera
reconnu comme la position courante du robot. Le choix entre ces deux alternatives est le point
difficile du processus de cartographie. En effet, dans le cas de la simple localisation, il suffit de
trouver le nud correspondant le mieux la situation courante pour trouver la position du robot.
Dans le cadre de la cartographie, il faut de plus utiliser un seuil pour dcider si le lieu le plus
similaire est la position courante du robot ou non : si la similitude est suprieure ce seuil, le
nud est reconnu, sinon un nouveau lieu est cr. Cette utilisation dun seuil rend le processus
de cartographie potentiellement plus instable que la localisation seule.
Lorsque le perceptual aliasing est pris en compte, percevoir un lieu diffrent de tous les lieux
mmoriss dans la carte permet toujours de conclure que ce lieu est nouveau. Mais des per-
ceptions qui correspondent un lieu dj mmoris ne sont pas suffisantes pour dterminer si
le lieu est nouveau ou sil est connu car un lieu nouveau peut tre similaire un lieu dj visit.
La position prcdente du robot doit donc tre prise en compte pour dterminer si un lieu est
nouveau ou sil correspond un nud mmoris. Si la position prdite par lodomtrie depuis le
lieu prcdent ne correspond pas au lieu dj mmoris, le lieu est considr comme nouveau et
ajout la carte [82, 43, 84, 145, 83, 142, 105, 12]. Certains modles intgrent directement les
informations perceptuelles et la position pour la reconnaissance des nuds, se ramenant ainsi
au cas o il ny a pas de perceptual aliasing [6, 137, 33, 98].
Une fois le noeud reconnu ou cr, les perceptions sont utilises pour corriger les donnes
mmorises dans ce nud. Cela permet davoir une meilleure estimation des perceptions carac-
trisant le lieu grce au filtrage du bruit sur ces donnes. Les donnes proprioceptives recueillies
depuis le nud prcdent sont ensuite utilises pour crer ou modifier larte qui joint le nud
prcdent au nud courant. Ce processus de cartographie est dcrit par lalgorithme 11.1
Comme nous lavons mentionn prcdemment, dans le cas o des informations mtriques
sont mmorises entre les lieux, la carte obtenue peut alors se rvler incohrente. Dans les
mthodes de cartographie incrmentale, la cohrence peut tre assure par lassociation dune
position chacun des nuds de la carte [6, 137, 33, 98, 84], ou par une adaptation locale des
valeurs des liens (figure 11.3). Dans le cas o ces valeurs seront ensuite simplement utilises de
manire locale 1 , sans chercher estimer les relations mtriques entre lieux distants, le maintien
1. Par exemple pour guider un robot entre deux nuds voisins via lodomtrie relative
F IGURE 11.4 Exemple de carte mtrique cre par corrlation de scans. Chacun des cercles
reli par une ligne indique le centre dun scan ajout la carte (repris de [32]).
Lorsque le robot revient ensuite dans une zone dj cartographie aprs avoir parcouru une
boucle, la corrlation peut tre faite entre la carte locale courante et la portion de la carte globale
la plus proche de la position actuelle (en non uniquement avec la carte locale prcdente). Ceci
permet de r-estimer la position du robot dans la portion de carte dj construite, mais ne corrige
pas la carte le long de la boucle. Nous verrons plus loin (section 11.3.1) comment tendre ces
mthodes pour corriger ces erreurs.
Cette mthode est en gnral suffisante lorsquelle est utilises avec les donnes dun tl-
mtre laser et dans un environnement de taille limite ne contenant pas de grands cycles. Lors
de la fermeture de grands cycles, par contre, elle montre rapidement ses limites car les erreurs de
localisation ne permettent pas de trouver la bonne portion de carte avec laquelle faire la corrla-
tion. La mthode choue alors, mais il est possible dajouter des procdures spcifiques qui font
une recherche globale lorsquun cycle semble tre ferm et permettent de rattraper ces checs
[64].
F IGURE 11.5 Exemple de grille doccupation cre partir de mesures dun tlmtre laser.
Dans les premiers travaux de leurs crateurs, Moravec et Elves [101, 131], la construction de
grilles doccupation supposait la position du robot connue. Dans des dveloppements ultrieurs,
toutefois, la grille en cours de construction est utilise pour estimer la position du robot. On utilise
pour cela des techniques de mise en correspondance de grilles similaires celles prsentes
dans la section 10.2.3. Ces mthodes de recalage permettent de limiter la drive de lodom-
trie, mais ne sont en gnral pas suffisantes pour garantir une cartographie correcte dans les
environnement cycliques. Pour rsoudre ce problme, il est possible dutiliser des hypothses
sur lenvironnement, afin de permettre le recalage de lodomtrie durant la cartographie. Lhypo-
thse la plus couramment utilise suppose que les murs de lenvironnement sont rectilignes et
orthogonaux [131, 83], ce qui permet de corriger facilement lestimation de la direction du robot.
Aprs avoir estim la position du robot, les valeurs des diffrentes cellules de la grille doc-
cupation sont mises jour en fonction des perceptions. Pour cela, nous disposons dun modle
des capteurs P(occi |s) qui, pour une perception s donne, nous fournit la probabilit doccupation
des cellules dans le champ de vision du capteur en fonction de la valeur renvoye par le capteur.
Ce modle probabiliste est en gnral similaire ceux prsents dans la section 4.2.2 pour la
distance au capteur et utilise une erreur gaussienne pour lcart entre la direction de la cellule et
la direction du capteur.
Nous cherchons donc accumuler ces mesures pour estimer la probabilit pour la cellule i
dtre occupe en fonctions de toutes mesures prcdentes : P(occTi ) = P(occi |s1 , ..., sT ). Pour
cela, nous utilisons, comme souvent, la formule de Bayes pour extraire la probabilit de la dernire
mesure en fonction des autres variables :
P(occ
i |sT )P(sT ) P(occ Ti 1 )
Ti ) =
P(occ
P(occ i) P(sT |s1 , ..., sT 1 )
et nous permet en utilisant le rapport des deux valeurs, de se dbarrasser des termes g-
nants.
Ti
P(occTi ) P(occi |sT ) P(occ 1
) P(occ
i)
=
Ti ) P(occ
P(occ i |sT ) P(occTi 1 P(occ )
) i
Il existe galement des moyens plus simples de mise jour des grilles, qui consistent sim-
plement estimer la probabilit doccupation dune cellule en fonction du nombre de perceptions
de cette cellule qui ont eu lieu. Ainsi, si on note occ(x, y) le nombre de fois o un obstacle a t
dtect dans cette cellule et vide(x, y) le nombre de fois o cette cellule est apparue vide car le
faisceau du tlmtre a travers cette cellule, on peut simplement estimer la probabilit par :
occ(x, y)
Pocc (x, y) =
vide(x, y) + occ(x, y)
Une variante encore plus simple pour crer une grille doccupation est une mise jour utilisant
un simple dcompte dans lequel on ajoute une certaine valeur fixe la probabilit doccupation
dune cellule si un obstacle y est dtect et on retranche une autre valeur fixe si la cellule a t
traverse par le faisceau [78] (voir aussi la section 6.2). Cette mthode, nomme "histogrammic in
motion mapping (HIMM)" prsente cependant linconvnient de ne pas converger vers une valeur
fixe lorsque le nombre de perceptions dune cellule tend vers linfini. Elle est de plus relativement
sensible au bruit et suppose des rglages dlicats de paramtres pour tre adapte un robot
spcifique.
Dune manire gnrale, de telles procdures permettent donc, dune part, de limiter les er-
reurs de cartographie en insistant sur les zones incertaines et en vitant que lestimation de la
position ne devienne trop mauvaise et, dautre part, de garantir une exploration exhaustive de
lenvironnement.
Une premire mthode pour prendre en compte la nouvelle information de position est de
propager lerreur tout le long du cycle parcouru par le robot. Cette mthode peut sappliquer
des cartes topologiques ou des cartes de scans (voir section 11.2.2). Intuitivement, cela
correspond identifier la carte un rseau de ressorts, dont les positions au repos correspondent
aux positions relatives des nuds (figure 11.6). Lerreur lors de la fermeture de boucle correspond
alors un dsquilibre dans ce rseau de ressort. Pour obtenir une carte globalement cohrente
et qui respecte au mieux les positions relatives des nuds, il suffit de calculer la position de repos
du rseau de ressorts (dou le terme de mthodes de relaxation).
Il existe diffrents algorithmes de relaxation. Nous prsentons ici un algorithme itratif trs
simple qui donne de bons rsultats [35, 2]. Le principe de cet algorithme est de calculer la position
de chaque nud partir de celle de ses voisins itrativement jusqu convergence des positions
(figure 11.7). Ainsi pour chaque nud i, les trois tapes suivantes sont appliques :
Estimation de la position du nud i depuis chaque voisin j :
(v0i ) j = v j + v ji
ni
vi = (11.5)
j (v10 ) j
i
(11.6)
ses voisins :
1 (xi0 ) j vi
ni
xi = 0 (11.7)
j (vi ) j
1 (y0i ) j vi
ni
yi = 0 (11.8)
j (vi ) j
0 sin((q0 ) ) 1
j
j (v0 )ij
qi = arctan @ cos((q0 ) ) A
i
(11.9)
j
j (v0 ) ij
i
(11.10)
La figure 11.8 montre un exemple de lapplication de cet algorithme une carte topo-mtrique.
Les nuds entours montrent les fermetures de boucles, cest dire les retours dtects une
position prcdente qui sont utiliss pour contraindre le graphe.
F IGURE 11.8 Exemple de carte topo-mtrique obtenue par vision pour la dtection de fer-
meture de boucle et relaxation, superpose une carte mtrique de rfrence obtenue par
corrlation de scans lasers (tir de [2]).
Cet algorithme donne de bons rsultats, mais peut tre assez lent converger. En effet, si
lon applique la mise jours tous les nuds dans un ordre fixe (lordre de cration des nuds
par exemple), lerreur qui est localise sur une seule arte au dpart ne sera propage que sur un
voisin supplmentaire chaque tour. Pour acclrer la convergence, il est possible de simplement
r-ordonner la mise jour des nuds afin que lerreur se diffuse plus rapidement.
Cest ce que propose par exemple lalgorithme TORO (Tree-based netwORk Optimizer) [61]
qui construit un arbre associ au graphe de la carte pour dterminer un ordre optimal de mise
jour. Cet arbre est construit simplement en ajoutant chaque nouveau nud comme fils du plus
ancien de ses voisins (figure 11.9). La mthode de mise jour de la position des nuds est en-
suite applique dans lordre donn par le parcours descendant de larbre. Ainsi dans lexemple de
la figure 11.9, lerreur 2 initialement concentre sur larte entre les noeuds 1 et 9 sera propage
lors du premier parcours de la carte aux nuds 9 et 2, puis 3, 4, 7. Avec une mise jour dans
lordre de cration des nuds, la propagation aurait simplement t faite aux nuds 2, 3, 4... La
premire mise jour naurait donc modifi que la position du nuds 9 et aurait t nulle pour les
autres.
Z Z
Bel(xt , ct ) = hp(yt |xt , ct ) p(xt , ct |xt 1 , ct 1 , ut 1 )Bel(xt 1 , ct 1 )dxt 1 dct 1
2. Dfinie comme lcart entre la position relative des nuds enregistre dans larte et la position relative cal-
cule par la diffrence de leur position absolue
Cette quation peut tre simplifie en utilisant lhypothse de monde statique, qui est utilise
dans la plupart des modles, et qui entrane donc que la carte de lenvironnement reste la mme
au cours du temps (ct = ct 1 ). Il faut bien distinguer cette hypothse du fait que notre estimation
de la probabilit des diffrentes cartes (Bel(xt , ct )) volue au cours du temps, et donc que la carte
que nous supposons reprsenter lenvironnement (la plus probable en gnral) change au cours
du temps. En utilisant cette hypothse, lquation du filtrage devient alors :
Z Z
Bel(xt , ct ) = hp(yt |xt , ct ) p(xt |xt 1 , ut 1 )Bel(xt 1 , ct 1 )dxt 1 dct 1
Comme pour la localisation, ce filtrage peut tre implment de diffrentes manires, par
exemple en utilisant un filtre de Kalman ou un filtrage particulaire (voir section suivante). Il peut
galement tre utilis avec diffrentes formes de cartes, qui rendent son implantation plus ou
moins aise. La technique communment nomme EKF SLAM consiste en limplantation de ce
filtrage sous la forme dun filtre de Kalman tendu, en utilisant une carte contenant des amers qui
peuvent tre des points ou des segments. Cest historiquement la premire implantation de ce
type de cartographie [129].
Dtaillons a titre dexemple une implantation de cette mthode utilisant une carte contenant
des amers ponctuels. Dans un tat o la carte contient N amers, on utilise un vecteur dtat
contenant la position du robot et des diffrents amers. Le vecteur dtat est donc de dimension
2N+3 :
2 3
x
6 y 7
6 7
6 q 7
6 7
6 xa1 7
6 7
Bel(xt , ct ) = 6 ya1 7
6 7
6 .. 7
6 . 7
6 7
4 xaN 5
yaN
La matrice de covariance associe permet de mmoriser les relations qui ont t perues
entre les amers et entre les amers et le robot. Cest lutilisation de ces covariances lors de la
mise jour qui permettra un retour sur les modifications passes au sens ou elle permettra de
propager toute nouvelle information de position du robot vers les lments dont la position relative
avec le robot est connue (cd les lments avec lesquels la covariance est non nulle).
Supposons que lon commande les vitesses de rotation et de translation du robot u = (v, w),
lquation dvolution ne modifiera que la position du robot et sera alors :
2 3
x + v.dt.cos(q)
6 y + v.dt.sin(q) 7
6 7
6 q + w.dt 7
6 7
6 xa1 7
6 7
f (Xt , u) = 6 ya1 7
6 7
6 .. 7
6 . 7
6 7
4 xaN 5
yaN
Ce qui donne la matrice jacobienne :
2 3
1 0 sin(q) 0 ... 0
6 0 1 cos(q) 0 ... 70
6 7
6 0 0 1 0 ... 70
6 7
A=6 0 ... ... ... ... 70
6 7
6 .. .. .. .. .. .. 7
4 . . . . . . 5
0 ... ... ... ... 0
enfin si lon suppose que lors de la perception de lamer i, on mesure sa position relative dans
le repre li au robot en coordonnes polaires (ri , fi ), lquation dobservation sera :
" p #
(x xai )2 + (y yai )2
hi (Xt ) =
atan2( xyaiai xy ) q
Pour estimer la fois la position des amers et du robot, il suffira alors de drouler les quations
du filtrage de Kalman tendu :
Prdiction de ltat :
Xt = f (Xt 1 , ut ) (11.11)
et de la covariance :
Pt = A.Pt 1 .A
T
+Q (11.12)
Prdiction de lobservation :
Yt = h(Xt ) (11.13)
Pt = Pt KHPt (11.15)
ou K est le gain de Kalman :
K = Pt H T .(H.Pt .H T + PY ) 1
(11.16)
Cette mise jour suppose que lamer peru soit dj dans la carte et donc dans le vecteur
dtat. Si lamer dtect par le robot nest pas dans la carte, il est simplement ajout la fin
du vecteur dtat et toutes les matrices sont agrandies de 2 lignes (et ventuellement colonnes)
correspondantes.
F IGURE 11.10 Illustration de lalgorithme de SLAM par filtrage de Kalman. Dans la partie A,
le robot, dans sa position initiale, peroit les amers 1 et 2 qui sont ajouts la carte. Dans
la partie B, le robot sest dplac (on dispose dune estimation bruite de sa position par
lodomtrie) et il peroit les deux amers 3 et 4. Dans la partie C, on a considr que les amers
2 et 3 taient le mme amer, ce qui a permis de mieux estimer sa position et de corriger
lestimation de la position du robot. Lamer 4 a t ajout la carte.
Il reste un problme important dans la mthode dcrite car elle suppose que lon soit ca-
pable didentifier les amers, cest dire de savoir quel amer i correspond un amer peru. Or,
en utilisant de simples points ou segments de droites, cela se rvle difficile cause du trs fort
perceptual aliasing. Comme pour la localisation, il y a deux mthodes possibles pour rsoudre ce
problme. La premire est de particulariser chaque amer, par exemple en utilisant une image de
lenvironnement autour de lamer afin de pouvoir lidentifier individuellement. Cette mthode est
rarement suffisante car avec laugmentation de la taille de lenvironnement on retombe en gnral
sur le problme de perceptual aliasing. La seconde solution repose sur des amers indistinguables
et slectionne lamer correct en se basant sur sa position estime. Pour cela, on estime la po-
sition absolue de lamer peru partir de la position estime du robot, puis on considre quil
correspond lamer de la carte dont la position est la plus proche. Cette mise en correspondance
peut galement utiliser une distance de Mahalanobis (voir section 10.3.3), ou utiliser des critres
supplmentaires qui caractrisent les amers. Si les amers sont des segments, par exemple, on
peut chercher le segment le plus proche qui ait la mme direction que le segment peru.
Lalgorithme 11.2 dcrit finalement le processus complet de cette mthode de cartographie.
Cette mthode est galement illustre graphiquement dans la figure 11.10.
La principale faiblesse de cette mthode rside dans la phase dappariement qui peut en-
traner une divergence de lalgorithme en cas derreur. En effet, dans ce cas, non seulement la
position de lamer appari par erreur sera mal estime, mais cette mauvaise estimation sera pro-
page aux autres amers, via la matrice des covariances, ainsi qua la position du robot. Cette
mauvaise estimation de la position du robot produira par la suite de nouvelles erreurs dapparie-
ment qui se succderont et entraneront la divergence complte de lalgorithme.
Un autre inconvnient est la complexit des calculs requis, qui augmente en O(N 2 ) avec le
nombre damers de la carte. Ceci est li la taille de la matrice de covariances qui est N N .
Or cette matrice mmorise les interrelations entre les positions des amers et du robot et est
ncessaire la bonne estimation de ces positions.
Pour rduire la complexit des calculs, il est cependant possible de rduire la taille de cette
matrice en ngligeant certaines interrelations entre amers. Ceci peut se faire par exemple en ne
mmorisant les covariances quau sein de cartes locales, dont lassemblage couvre lensemble
de lenvironnement. Diverses mthodes existent, utilisant diffrentes manires de dcouper la
carte globale et de propager les informations entre cartes locales (par exemple [109]).
On peut donc remarquer que si la position du robot est parfaitement connue, le problme se sim-
plifie normment car la mise en correspondance ne pose plus de problme et il reste simplement
estimer correctement la position des amers, ce qui est relativement trivial (sous lhypothse de
la connaissance de la position du robot).
Cette remarque a inspir la mthode de cartographie nomme Fast SLAM [100, 70, 60]. Dans
cette mthode, on mmorise un grand nombre de trajectoires possibles, dont on value la pro-
babilit, et pour ces trajectoires, on construit simplement la carte partir des perceptions. Cet
ensemble de trajectoires correspond en fait un chantillonage de la distribution de probabilit
sur ces trajectoires au moyen dun filtre particulaire . Pour la construction de la carte partir de
lune de ces trajectoires, on utilise le filtrage de Kalman, mais dans des conditions beaucoup plus
favorables. En effet, comme la trajectoire est connue, les perceptions successives des diffrents
amers deviennent indpendantes et il nest plus ncessaire de mmoriser lensemble des cova-
riances, mais seulement les variances des amers individuels. On passe ainsi dune complexit
en O(N 2 ) une complexit en O(N) pour la partie filtrage de Kalman. Il faut cependant y ajouter
la complexit du filtrage particulaire sur les trajectoires, mais globalement, lalgorithme est plus
stable et moins gourmand en calculs que le SLAM original.
Cette mthode de sparation du problme de SLAM et un filtre particulaire pour la partie non
gaussienne et en un filtre de Kalman pour une partie du sous problme est une mthode trs
gnrale connue sous le nom de Rao-Blackwellisation du filtre.
F IGURE 11.11 Avant la fermeture dun cycle, un trs grand nombre de trajectoires sont va-
lues. Aprs fermeture, le filtre particulaire sur les trajectoires slectionne automatiquement
celle correspondant effectivement au cycle (image tire de [70]).
La force de ces mthodes est surtout apparente lors de la fermeture de grands cycles. En
effet, avant la fermeture, un grand nombre de trajectoires diffrentes sont mmorises, ce qui
permet davoir une forte probabilit que lune delle corresponde la trajectoire prcise du cycle.
Aprs la fermeture du cycle, le r-chantillonage du filtre particulaire slectionne naturellement
les trajectoires correctes et permet ainsi une cartographie correcte du cycle (Figure 11.11). Ce
r-chantillonage entraine cependant une forte perte dinformation, puisque la plupart des tra-
jectoires estimes avant la fermeture de boucle sont ignores (cest le problme classique de
rarfaction des particules des mthodes de filtrage particulaire, voir section 10.4.4). Cette perte
dinformation devient problmatique dans des environnements contenant plusieurs cycles, no-
tamment dans le cas de cycles imbriqus.
F IGURE 11.12 Exemple de carte construite par la mthode du FastSLAM. Cette carte
contient de nombreux couloirs et plusieurs boucles et reprsente donc un problme difficile
pour le SLAM (image tire de [60]).
Une mthode de cartographie trs similaire au FastSLAM permet de construire une carte
mtrique directement partir des donnes laser [70]. Elle nutilise pas de filtre de Kalman, mais
repose sur un chantillonage des trajectoires possibles par un filtre particulaire et sur un algo-
rithme rapide de corrlation de scans pour lvaluation des probabilits des trajectoires. Cette
mthode permet de construire de trs grandes carte contenant plusieurs cycles (Figure 11.12).
Le livre "Probabilitic Robotics" de Sebastian Thrun, Wolfram Burgard et Dieter Fox [135] d-
taille de manire trs prcise lensemble des algorithmes de SLAM.
Chapitre 12
Planification
F IGURE 12.1 Illustration de lespace des configurations dans le cas 2D. Gauche : Carte des
obstacles. Droite : espace des configurations contenant les positions accessibles au robot
sans percuter les obstacles (en blanc).
Dans le cas 2D pour un robot holonome , lespace des configurations que nous utiliserons
sera donc simplement lespace de travail auquel nous enlverons toutes les positions conduisant
percuter un obstacle (figure 12.1), cest dire les obstacles euxmme, plus une marge de
scurit autour des obstacles correspondant au rayon du robot.
F IGURE 12.2 Exemples de dcompositions en cellules de lespace libre dans les cartes
mtriques.
Il existe deux catgories de mthodes pour discrtiser lespace de recherche des cartes m-
triques. Les mthodes de la premire catgorie font appel des dcompositions en cellules, de
diffrents types, qui permettent de reprsenter la topologie de lespace libre [87, 104] (cf. figure
12.2). La dcomposition exacte permet de reprsenter lensemble de lespace libre, laide de
cellules de formes irrgulires qui joignent les sommets des obstacles. La dcomposition en cel-
lules rgulires pave lespace libre de carrs, sur-estimant donc la surface des obstacles, ce qui
peut tre gnant si les cellules sont grandes. Ce type de reprsentation peut aussi correspondre
en pratique une grille doccupation pour laquelle ce problme ne se pose pas. Enfin une re-
prsentation hirarchique telle que le quadtree permet dutiliser des cellules de taille variable
en fonction de la complexit locale de lenvironnement et de reprsenter donc finement lespace
libre tout en limitant loccupation mmoire. Les cellules obtenues sont ensuite utilises de ma-
nire similaire aux nuds des cartes topologiques dans le processus de planification, les cellules
adjacentes tant considres comme relies par une arte.
Les mthodes de la seconde catgorie font appel au pr-calcul de chemins entre des points
rpartis dans lenvironnement [87, 88] (cf. figure 12.3). Le graphe de visibilit utilise les angles
dobstacles qui sont les points que le robot devra contourner pour viter ces obstacles. Le dia-
gramme de Vorono utilise les points quidistants de plusieurs obstacles qui permettent de g-
nrer des chemins passant le plus loin possible des obstacles. La mthode "Rapidly exploring
Random Trees" [89] quant elle, construit un arbre alatoirement en vrifiant que les branches
cres ne rencontrent pas les obstacles. Cette mthode est trs efficace car elle permet dchan-
tillonner lespace sans le parcourir de manire exhaustive et peut aussi prendre en compte les
contraintes de non-holonomie du robot. Les point sont ensuite utiliss comme les nuds dune
carte topologique, tandis que les chemins pr-calculs reliant les nuds seront utiliss comme
les artes de cette carte.
F IGURE 12.4 Exemple de planification de chemin dans une carte mtrique. Deux portions
de trajectoire sont calcules pour relier le point de dpart et le but des points de lespace
discrtis (points 1 et 2 dans cet exemple). Un chemin est ensuite calcul dans lespace
discrtis entre ces deux points. La trajectoire rsultante peut ensuite tre optimise pour
supprimer les effets de la discrtisation.
tapes. La premire tape permet de calculer un chemin direct entre, dune part, le point de dpart
et le point le plus proche dans lespace discrtis et, dautre part, le point de lespace discrtis
le plus proche du but et le but en question. La seconde tape permet ensuite de calculer un
chemin entre ces deux points de lespace discrtis, en utilisant une des mthodes dcrites dans
le prochain paragraphe. Ces trois parties de trajectoires sont ensuite assembles pour obtenir
le chemin reliant le point de dpart au but. Une phase doptimisation supplmentaire peut tre
utilise pour limiter les effets de la discrtisation et lisser la trajectoire (cf. figure 12.4). Dans le cas
de la dcomposition de lespace libre en cellules, les points de lespace discrtis utiliss peuvent
tre les centres des cellules ou les milieux des cts des cellules. Dans le cas de lutilisation de
chemins pr-calculs, ces points sont simplement les points de passage de ces chemins.
Une politique est plus lourde calculer que les plans du type prcdent car toutes les positions
de la carte doivent tre envisages, sans utiliser les heuristiques des algorithmes prcdents qui
permettent de restreindre lexploration de lespace de recherche. Toutefois, cette augmentation
est rapidement compense si le robot scarte du chemin direct vers le but. Dans ce cas, en
effet, la planification doit tre reprise pour le premier type de plan, alors que cest inutile pour une
politique. Le calcul dune politique reste donc en gnral praticable pour les cartes de taille limite
typiques de la robotique mobile.
La mthode la plus simple pour calculer le potentiel est lalgorithme de Dijkstra (12.1), qui,
partant du but fait chaque tape la mise jour du nuds suivant de potentiel le plus faible. Cet
algorithme suppose que tous les cots utiliss sont positifs ou nuls.
Une seconde mthode pour calculer ces potentiels lorsque certains cots sont ngatifs est
lutilisation de lalgorithme de programmation dynamique de Bellman-Ford (12.2), aussi connu
sous le nom de value itration, notamment en apprentissage par renforcement [22, 131, 23]. Une
itration de cet algorithme utilise quasiment la mme mthode de mise a jour que lalgorithme
de Dijkstra mais sans utiliser le mme ordre dans les mises jour des nuds. En prsence de
cots ngatifs, cette itration doit tre rpte autant de fois quil y a de nuds pour garantir la
convergence. De plus il peut arriver quun cycle du graphe ait un poids total ngatif, ce qui ne
permet pas de trouver de chemin de cot minimal. Lalgorithme retourne FAUX dans ce cas.
La figure 12.5 permet de comparer lordre des mises jour des valeurs de potentiels pour
lalgorithme de Dijkstra et pour Value Iteration, qui aboutissent au mme rsultat.
F IGURE 12.5 Propagation des valeurs de potentiel selon lalgorithme utilis. Les poids as-
socis aux noeuds (ici les cases dune grille doccupation) sont nuls, et les poids des liens
sont la distance entre deux noeuds. La range du haut montre les rsultats de lalgorithme de
Dijkstra, celle du bas ceux de Value Iteration.
F IGURE 12.6 Gauche : Potentiel et exemple de trajectoires avec des poids de liens gaux
la distance entre noeuds. Centre : Poids associ aux noeuds fonction de la distance aux
obstacles. Droite : Exemples de trajectoires obtenues en utilisant les poids de limage du
centre.
La figure 12.6 donne gauche un exemple de champ de potentiel obtenu en utilisant un poids
nul pour les nuds et la distance entre nuds comme poids sur les liens. Avec ce type de carte,
ce choix pose le problme de gnrer des trajectoires trs proche des obstacles, qui peuvent tre
dangereuses pour le robot.
Pour viter ce problme, il est possible dassocier un poids dpendant de la distance lobs-
tacle le plus proche chacun des noeuds. Ceci a pour but de pnaliser les trajectoires proches
des murs et de guider le robot selon laxe des couloirs au lieu de longer un des murs. La figure
12.6 montre droite le poids associ aux nuds et les trajectoires obtenues.
Probabilit de prsence
0.1 0.1 0.2
la position correspondante
F IGURE 12.7 Exemple de lintrt dune procdure de vote dans le cas o la situation du
robot est incertaine. Si lon choisit laction associe la position la plus probable, le robot
ira en haut, ce qui correspondra laction correcte avec une probabilit 0, 2. En utilisant une
mthode de vote, laction choisie sera daller droite, ce qui sera correct avec une probabilit
0, 8.
de la position (par exemples les zones o se trouvent des points de repre fiables). Cette mthode
a t prsente sous le nom de "Coastal Navigation" [115].
Planning algorithms de Steven M. LaValle, Cambridge University Press, 2006 [90]. Disponible
en ligne :
http://planning.cs.uiuc.edu/
Index
FastSLAM, 150
Filtre de Kalman, 110, 145
Filtre de Kalman tendu, 113
Filtre particulaire, 122, 125, 150
Informations proprioceptives, 25
MDP, 65
Modle mtrique, 27, 28
Modle Probabiliste, 37, 44
Navigation mtrique, 19
Navigation par carte, 20
Navigation ractive, 19
Navigation topologique, 18
Perception/Dcision/Action, 7, 8, 20
Perceptions, 26
Perceptual aliasing, 26, 88, 90, 103
Planification, 19, 83, 153
Politique, 66, 156, 157
Q-Learning, 73
Rao-Blackwellisation, 150
Bibliographie
[1] A. Angeli, D. Filliat, S. Doncieux, and J.-A. Meyer. A fast and incremental method for loop-
closure detection using bags of visual words. IEEE Transactions On Robotics, Special Issue
on Visual SLAM, 2008. Cit page 136
[2] A. Angeli, D. Filliat, S. Doncieux, and J.-A. Meyer. Visual topological slam and global locali-
zation. In Proceedings of the International Conference on Robotics and Automation (ICRA),
2009. 2 citations pages 145 et 146
[3] R. Arkin. Towards the unification of navigational planning and reactive control. In Procee-
dings of the AAAI Spring Symposium on Robot Navigation, pages 15, 1989. Cit page 25
[4] Ronald Arkin. Behavior-Based Robotics. The MIP Press, 1998. 2 citations pages 23 et 62
[5] A. Arleo, J. del R. Milln, and D. Floreano. Efficient learning of variable-resolution cognitive
maps for autonomous indoor navigation. In IEEE Transactions on Robotics and Automation,
volume 15, pages 9901000, 1999. 3 citations pages 99, 156, et 158
[6] A. Arleo and W. Gerstner. Spatial cognition and neuro-mimetic navigation : A model of
hippocampal place cell activity. Biological Cybernetics, Special Issue on Navigation in Bio-
logical and Artificial Systems, 83 :287299, 2000. 5 citations pages 94, 95, 106, 111, et 139
[7] A. Arsenio and M. I. Ribeiro. Absolute localization of mobile robots using natural landmarks.
In Proceedings of the International Conference on Electronics, Circuits and Systems, 1998.
Cit page 107
[9] I. A. Bachelder and A. M. Waxman. Mobile robot visual mapping and localization : A view-
based neurocomputational architecture that emulates hippocampal place learning. Neural
Networks, 7(6/7) :10831099, 1994. 2 citations pages 94 et 105
[11] J. E. Baker. Reducing bias and inefficiency in the selection algorithm. In Proceedings of the
Second International Conference on Genetic Algorithms, pages 1421. Lawrence Erlbaum
Associates (Hillsdale), 1987. Cit page 130
[12] K. Balakrishnan, O. Bousquet, and V. Honavar. Spatial learning and localization in rodents :
A computation model of the hippocampus and its implications for mobile robots. Adaptive
Behavior, 7(2) :173216, 1999. 5 citations pages 94, 95, 106, 111, et 139
[13] S. Bazeille and D. Filliat. Incremental topo-metric slam using vision and robot odometry.
In Proceedings of the International Conference on Robotics and Automation (ICRA), 2011.
2 citations pages 95 et 100
[14] M. Betke and K. Gurvits. Mobile robot localization using landmarks. In Proceedings of the
IEEE International Conference on Robotics and Automation (ICRA-94), volume 2, pages
135142, 1994. 2 citations pages 106 et 112
[15] G. Blanc, Y. Mezouar, and P. Martinet. Indoor navigation of a wheeled mobile robot along
visual routes. In Proceedings of the IEEE International Conference on Robotics and Auto-
mation, 2005. Cit page 60
[16] D. Boley, E. Steinmetz, and K. Sutherland. Robot localization from landmarks using recur-
sive total least squares. In Proceedings of the IEEE International Conference on Robotics
and Automation (ICRA-96), volume 4, pages 13811386, 1996. Cit page 112
[17] J. Borenstein and Y. Koren. The vector field histogram - fast obstacle avoidance for mobile
robots. IEEE Journal of Robotics and Automation, 7 :278288, 1991. Cit page 63
[18] G. Borghi and D. Brugali. Autonomous map learning for a multi-sensor mobile robot using
diktiometric representation and negotiation mechanism. In Proceedings of the International
Conference on Advanced Robotics (ICAR-95), 1995. 3 citations pages 97, 107, et 112
[19] Valentino Braitenberg. Vehicles : Experiments in Synthetic Psychology. The MIT Press,
1986. 2 citations pages 19 et 57
[20] R. A. Brooks. Intelligence without representation. Artificial Intelligence, 1(47) :139159,
1991. Cit page 24
[21] Rodney A. Brooks. How to Build Complete Creatures Rather than Isolated Cognitive Simu-
lators. In Architectures for Intelligence, pages 225239, 1991. Cit page 24
[22] J. Buhmann, W. Burgard, A. B. Cremers, D. Fox, T. Hofmann, F. Schneider, J. Strikos, and
S. Thrun. The mobile robot rhino. AI Magazine, 16(1), 1995. 2 citations pages 156 et 160
[23] W. Burgard, A. B. Cremers, D. Fox, D. Hhnel, G. Lakemeyer, D. Schulz, W. Steiner, and
S. Thrun. The interactive museum tour-guide robot. In Proceedings of the Fifteenth National
Conference on Artificial Intelligence (AAAI-98). The MIT Press, 1998. Cit page 160
[24] W. Burgard, D. Fox, D. Hennig, and T. Schmidt. Estimating the absolute position of a mobile
robot using position probability grids. In Proceedings of the Thirteenth National Conference
on Artificial Intelligence (AAAI-96), pages 896901, 1996. 2 citations pages 125 et 126
[25] N. Burgess, M. Recce, and J. OKeefe. A model of hippocampal function. Neural Networks,
7 :10651081, 1994. 4 citations pages 94, 95, 105, et 138
[26] B. A. Cartwright and T. S. Collett. Landmark maps for honeybees. Biol. Cybern., 57 :8593,
1987. Cit page 19
[57] J. Gomes-Mota and M. I. Ribeiro. Mobile robot localisation on reconstructed 3d models. Ro-
botics and Autonomous Systems, 31(1-2) :1730, 2000. 3 citations pages 107, 111, et 112
[58] S. Gourichon and J.-A. Meyer. Using colored snapshots for short-range guidance in mobile
robots. International Journal of Robotics and Automation, submitted for publication, Special
Issue on Biologically Inspired Robots, 2001. 2 citations pages 19 et 59
[59] R. Greiner and R. Isukapalli. Learning to select useful landmarks. IEEE Transactions on
Systems, Man, and Cybernetics-Part B,Special Issue on Learning Autonomous Robots,
26(3), 1996. Cit page 106
[60] G. Grisetti, C. Stachniss, and W. Burgard. Improving Grid-based SLAM with Rao-
Blackwellized Particle Filters by Adaptive Proposals and Selective Resampling. In Robotics
and Automation, 2005. ICRA 2005. Proceedings of the 2005 IEEE International Conference
on, pages 24322437, 2005. 2 citations pages 152 et 153
[61] Giorgio Grisetti, Cyrill Stachniss, and Wolfram Burgard. Nonlinear constraint network opti-
mization for efficient map learning. Trans. Intell. Transport. Sys., 10 :428439, September
2009. 2 citations pages 146 et 147
[62] L. J. Guibas, R. Motwani, and P. Raghavan. The robot localization problem. Algorithmic
Foundations of Robotics, pages 269282, 1995. Cit page 108
[63] J. Gutmann and K. Konolige. Incremental mapping of large cyclic environments. In Procee-
dingsof the IEEE International Symposium on Computational Intelligence in Robotics and
Automation (CIRA-2000), 2000. Cit page 97
[64] J. Gutmann and Kurt Konolige. Incremental mapping of large cyclic environments. In Proc.
IEEE International Symposium on Computational Intelligence in Robotics and Automation
(CIRA), page 318325, Monterey, California, 1999. Cit page 140
[65] J. S. Gutmann and C. Schlegel. Amos : Comparison of scan matching approaches for
self-localization in indoor environments,. In Proceedings of the 1st Euromicro Workshop on
Advanced Mobile Robots. IEEE Computer Society Press, 1996. Cit page 108
[67] R. I. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge
University Press, ISBN : 0521540518, second edition, 2004. Cit page 49
[68] P. Hbert, S. Betg-Brezetz, and R. Chatila. Decoupling odometry and exteroceptive per-
ception in building a global world map of a mobile robot : The use of local maps. In Pro-
ceedings of the IEEE International Conference on Robotics and Automation (ICRA-1996),
pages 757764, 1996. 2 citations pages 97 et 99
[70] D. Hhnel, D. Fox, W. Burgard, and S. Thrun. A highly efficient fastslam algorithm
for generating cyclic maps of large-scale environments from raw laser range measure-
ments. In Proceedings of the Conference on Intelligent Robots and Systems (IROS), 2003.
2 citations pages 152 et 153
[71] Daniel Ichbiah. Robots, Gnse dun peuple artificiel. Minerva, 2005. Cit page 14
[72] I. Jebari, S. Bazeille, E. Battesti, H. Tekaya, M. Klein, A. Tapus, D. Filliat, C. Meyer, S. Ieng,
R. Benosman, E. Cizeron, J.-C. Mamanna, and B. Pothier. Multi-sensor semantic mapping
and exploration of indoor environments. In Proceedings of the 3rd International Conference
on Technologies for Practical Robot Applications (TePRA), 2011. Cit page 100
[73] P. Jensfelt and S. Kristensen. Active global localisation for a mobile robot using multiple hy-
pothesis tracking. In Proceedings of the IJCAI-99 Workshop on Reasoning with Uncertainty
in Robot Navigation, 1999. 3 citations pages 107, 120, et 122
[74] S. Julier and J. Uhlmann. A new extension of the Kalman filter to nonlinear systems. In Int.
Symp. Aerospace/Defense Sensing, Simul. and Controls, Orlando, FL, 1997. Cit page 118
[75] O. Karch and T. Wahl. Relocalization theory and practice. Discrete Applied Mathematics :
Special Issue on Computational Geometry, 93, 1999. Cit page 108
[76] Hee-Young Kim, Sung-On Lee, and Bum-Jae You. Robust laser scan matching in dyna-
mic environments. In Proceedings of the 2009 international conference on Robotics and
biomimetics, ROBIO09, pages 22842289. IEEE Press, 2009. Cit page 108
[77] D. Kirsh. Today the earwig, tomorrow man ? Artificial Intelligence, 47 :161184, 1991.
Cit page 24
[78] Y. Koren and J. Borenstein. Histogramic in-motion mapping for mobile robot obstacle avoi-
dance. IEEE Transaction on Robotics and Automation, 7(4) :535539, 1991. Cit page 143
[79] D. Kortenkamp, M. Huber, F. Koss, W. Belding, J. Lee, A. Wu, C. Bidlack, and S. Rogers.
Mobile robot exploration and navigation of indoor spaces using sonar and vision. In Procee-
dings of the AIAA/NASA Conference on Intelligent Robots in Field, Factory, Service, and
Space (CIRFFSS 94), pages 509519, 1994. 3 citations pages 94, 126, et 158
[80] D. Kortenkamp and T. Weymouth. Topological mapping for mobile robots using a combina-
tion of sonar and vision sensing. In Proceedings of the Twelfth National Conference on Arti-
ficial Intelligence (AAAI-94), pages 979984, Seattle, WA, 1994. 2 citations pages 93 et 105
[81] B. J. Kuipers. The spatial semantic hierarchy. Artificial Intelligence, (119) :191233, 2000.
Cit page 158
[82] B. J. Kuipers and Y. T. Byun. A robot exploration and mapping strategy based on a semantic
hierarchy of spatial representations. Robotics and Autonomous Systems, 8 :4763, 1991.
8 citations pages 89, 93, 94, 106, 111, 139, 140, et 143
[83] C. Kunz, T. Willeke, and I. Nourbakhsh. Automatic mapping of dynamic office environments.
In In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA-
97), volume 2, pages 16811687, 1997. 7 citations pages 93, 94, 106, 111, 139, 141, et 143
[84] A. Kurz. Alef : An autonomous vehicle which learns basic skills and construct
maps for navigation. Robotics and Autonomous Systems, 14 :172183, 1995.
4 citations pages 94, 95, 111, et 139
[85] C. Kwok, D. Fox, and M. Meila. Adaptive real-time particle filters for robot localization. In
Proc. of the IEEE International Conference on Robotics & Automation, 2003. Cit page 131
[86] D. Lambrinos, R. Mller, T. Labhart, R. Pfeifer, and R. Wehner. A mobile robot employing
insect strategies for navigation. Robotics and Autonomous Systems, special issue : Biomi-
metic Robots, 30 :3964, 2000. Cit page 19
[87] J.-C. Latombe. Robot Motion Planning. Boston : Kluwer Academic Publishers, Boston,
1991. 3 citations pages 97, 156, et 157
[88] J.-P. Laumond. Robot Motion Planning and Control. Lectures Notes in Control and Infor-
mation Sciences 229. Springer, 1998. 3 citations pages 155, 157, et 163
[89] Steven M. Lavalle. Rapidly-exploring random trees : A new tool for path planning. Technical
report, 1998. Cit page 157
[90] Steven M. LaValle. Planning Algorithms. Cambridge University Press, May 2006.
2 citations pages 155 et 163
[91] J. J. Leonard and H. F. Durrant-Whyte. Simultaneous map building and localization for an
autonomous mobile robot. pages 14421447, 1991. Cit page 147
[92] J. J. Leonard, H. F. Durrant-Whyte, and I. J. Cox. Dynamic map building for an auto-
nomous mobile robot. International Journal of Robotics Research, 11(4) :8996, 1992.
4 citations pages 99, 107, 111, et 112
[93] T. S. Levitt and D. T. Lawton. Qualitative navigation for mobile robots. Artificial Intelligence,
44 :305360, 1990. 8 citations pages 85, 94, 95, 97, 105, 106, 138, et 158
[94] F. Lu and E. Milios. Globally consistent range scan alignment for environment mapping.
Autonomous Robots, 4 :333349, 1997. 3 citations pages 97, 108, et 112
[95] F. Lu and E. Milios. Globally consistent range scan alignment for environment mapping.
Auton. Robots, 4 :333349, October 1997. Cit page 108
[96] C. Madsen, C. Andersen, and J. rensen. A robustness analysis of triangulation-based robot
self-positioning. In Proceedings of the 5th Symposium for Intelligent Robotics Systems,
1997. Cit page 106
[97] O. Martnez Mozos, R. Triebel, P. Jensfelt, A. Rottmann, and W. Burgard. Supervised se-
mantic labeling of places using information extracted from sensor data. Robotics and Auto-
nomous Systems, 55(5) :391402, May 2007. Cit page 100
[98] M. J. Mataric. Integration of representation into goal-driven behaviour-based ro-
bots. IEEE Transactions on Robotics and Automation, 8(3) :304312, 1992.
6 citations pages 94, 95, 106, 111, 139, et 159
[99] P. S. Maybeck. Stochastic Models, Estimation and Control. Academic Press, 1979.
Cit page 112
[100] M. Montemerlo, S. Thrun, D. Koller, and B. Wegbreit. FastSLAM : A factored solution to
the simultaneous localization and mapping problem. In Proceedings of the AAAI National
Conference on Artificial Intelligence, Edmonton, Canada, 2002. AAAI. Cit page 152
[101] H. Moravec and A. Elfes. High resolution maps from wide angular sensors. In Proceedings
of the IEEE International Conference On Robotics and Automation (ICRA-85), pages 116
121, St. Louis, 1985. IEEE Computer Society Press. 3 citations pages 89, 99, et 141
[102] Hans Moravec. ROBOT : mere machine to transcendent mind. Oxford University Press,
1995. Cit page 14
[103] P. Moutarlier and R. Chatila. An experimental system for incremental environment modeling
by an autonomous mobile robot. In Experimental Robotics 1, pages 327346. Springer-
Verlag, 1990. 4 citations pages 99, 107, 111, et 112
[104] R. R. Murphy. Introduction to AI Robotics. The MIT Press, 2000.
3 citations pages 25, 156, et 159
[105] U. Nehmzow and C. Owen. Robot navigation in the real world : Experiments with man-
chesters fortytwo in unmodified, large environments,. Robotics and Autonomous Systems,
33(4) :223242, 2000. 4 citations pages 94, 106, 111, et 139
[106] I. Nourbakhsh, R. Powers, and S. Birchfield. Dervish, an office navigating robot. AI Maga-
zine, 16(2) :5360, 1995. 4 citations pages 94, 106, 126, et 158
[107] C. F. Olson. Probabilistic self-localization for mobile robots. IEEE Transactions on Robotics
and Automation, 16(1), 2000. Cit page 108
[108] S. Oore, G. Hinton, and G. Dudek. A mobile robot that learns its place. Neural Computation,
9 :683699, 1997. 3 citations pages 95, 106, et 126
[109] D. Glvez-Lpez P. Pinis, L. M. Paz and J.D. Tards. Ci-graph slam for 3d reconstruction
of large and complex environments using a multicamera system. International Journal of
Field Robotics, September/October 2010. 2 citations pages 98 et 151
[110] M. Piasecki. Global localization for mobile robots by multiple hypothesis tracking. Robotics
and Autonomous Systems, 16 :93104, 1995. 2 citations pages 104 et 120
[111] T. J. Prescott. Spatial representation for navigation in animats. Adaptive Behavior, 4(2),
1995. 2 citations pages 97 et 106
[112] Andrzej Pronobis. Semantic Mapping with Mobile Robots. PhD thesis, Royal Institute of
Technology (KTH), Stockholm, Sweden, June 2011. 2 citations pages 100 et 101
[113] D. Radhakrishnan and I. Nourbakhsh. Topological localization by training a vision-based
transition detector. In Proceedings of the 1999 IEEE/RSJ International Conference on In-
telligent Robots and Systems (IROS-99), 1999. Cit page 106
[114] A. Remazeilles and F. Chaumette. Image-based robot navigation from an image memory.
Robotics and Autonomous Systems, 55(4), 2007. 2 citations pages 19 et 20
[115] Nicholas Roy and Sebastian Thrun. Coastal navigation with mobile robots. In In Advances
in Neural Processing Systems 12, pages 10431049, 1999. Cit page 163
[116] Thomas Rfer. Building consistent laser scan maps. In In Proc. of the 4th European Work-
shop on Advanced Mobile Robots (Eurobot 2001), volume 86 of Lund University Cognitive
Studies, pages 83 ? 90, pages 8390, 2001. Cit page 108
[117] A. Saffiotti and L. P. Wesley. Perception-based self-localization using fuzzy locations.
In Reasoning with Uncertainty in Robotics, volume 1093 of Lecture Notes in Computer
Science. Springer-Verlag, 1995. Cit page 107
[118] S. Schaal, C. G. Atkeson, and S. Vijayakumar. Real-time robot learning with locally weigh-
ted statistical learning. In International conference on robotics and automation (icra2000),
2000. Cit page 78
[119] B. Schiele and J. Crowley. A comparison of position estimation techniques using occupancy
grids. In Proceedings of the IEEE International Conference on Robotics and Automation
(ICRA-94), pages 16281634, 1994. 3 citations pages 108, 111, et 112
[120] B. Scholkopf and H. A. Mallot. View-based cognitive mapping and path planning. Adaptive
Behavior, 3(3) :311348, 1995. Cit page 158
[121] M. J. Schoppers. Universal plans for reactive robots in unpredictable environments. In
Proceedings of the 10th International Joint Conference on Artificial Intelligence (IJCAI 87),
pages 10391046, Milan, Italy, 1987. Cit page 158
[122] A. C. Schultz and W. Adams. Continuous localization using evidence grids. In Proceedings
of the IEEE International Conference on Robotics and Automation (ICRA-98), pages 2833
2839, 1998. 2 citations pages 108 et 111
[123] S. Segvic, A. Remazeilles, A. Diosi, and F. Chaumette. A mapping and localization frame-
work for scalable appearance-based navigation. Computer Vision and Image Understan-
ding, 113(2) :172187, February 2009. Cit page 60
[124] P. E. Sharp. Computer simulation of hippocampal place cells. Psychobiology, 19(2) :103
115, 1991. 4 citations pages 94, 95, 105, et 138
[125] H. Shatkay and L. P. Kaelbling. Learning topological maps with weak local odometric infor-
mation. In Proceedings of the Fifteenth International Joint Conference on Artificial Intelli-
gence, 1997. 5 citations pages 93, 94, 106, 125, et 126
[126] R. Sim and G. Dudek. Learning visual landmarks for pose estimation. In Proceedings
of the IEEE International Conference on Robotics and Automation (ICRA-1999), 1999.
Cit page 107
[127] R. Simmons and S. Koenig. Probabilistic navigation in partially observable environments.
In S. Mellish, editor, Proccedings of IJCAI95, Montreal,Canada, 1995. Morgan Kaufman
Publishing. 5 citations pages 94, 106, 125, 126, et 162
[128] Danijel Skocaj, Horst Bischof, and Ales Leonardis. A robust pca algorithm for building
representations from panoramic images. In Proceedings of the 7th European Conference
on Computer Vision-Part IV, ECCV 02, pages 761775, London, UK, UK, 2002. Springer-
Verlag. Cit page 105
[129] R. Smith, M. Self, and P. Cheeseman. Estimating uncertain spatial relationships in robotics.
In J. F. Lemmer and L. N. Kanal, editors, Uncertainty in Artificial Intelligence, pages 435
461. Elsevier, 1988. 6 citations pages 97, 99, 111, 112, 147, et 148
[130] G. Theocharous, K. Rohanimanesh, and S. Mahadevan. Learning hierarchical partially
observable markov decision processes for robot navigation. In Proceedings of the IEEE
Conference on Robotics and Automation, 2001. 2 citations pages 106 et 126
[131] S. Thrun. Learning metric-topological maps for indoor mo-
bile robot navigation. Artificial Intelligence, 99(1) :2171, 1999.
10 citations pages 89, 99, 100, 108, 111, 112, 141, 143, 156, et 160
[132] S. Thrun. Probabilistic algorithms in robotics. AI Magazine, 21(4) :93109, 2000.
Cit page 162
[133] S. Thrun, M. Bennewitz, W. Burgard, A. B. Cremers, F. Dellaert, D. Fox, D. Haehnel, C. Ro-
senberg, N. Roy, J. Schulte, and D. Schulz. Minerva : A second generation mobile tour-
guide robot. In Proceedings of the IEEE International Conference on Robotics and Auto-
mation (ICRA-1999), 1999. 2 citations pages 125 et 126
[134] S. Thrun, W. Burgard, and D. Fox. A real-time algorithm for mobile robot mapping with appli-
cations to multi-robot and 3d mapping. In Proceedings of the IEEE International Conference
on Robotics and Automation (ICRA-2000), 2000. 2 citations pages 97 et 136
[135] Sebastian Thrun, Wolfram Burgard, and Dieter Fox. Probabilistic Robotics (Intelligent Ro-
botics and Autonomous Agents series). Intelligent robotics and autonomous agents. The
MIT Press, 2005. 2 citations pages 47 et 154
[136] Nicola Tomatis, Illah R. Nourbakhsh, and Roland Siegwart. Hybrid simultaneous locali-
zation and map building : a natural integration of topological and metric. Robotics and
Autonomous Systems, 44(1) :314, 2003. Cit page 100
[137] D. S. Touretzky, H. S. Wan, and A. D. Redish. Neural representations of space in rats and ro-
bots. In J. M. Zurada, R. J. Marks, and C. J. Robinson, editors, Computational Intelligence :
Imitating Life, pages 5768. IEEE Press, 1994. 5 citations pages 94, 95, 106, 111, et 139
[138] O. Trullier and J. A. Meyer. Biomimetic navigation models and strategies in animats. AI
Communications, 10 :7992, 1997. Cit page 19
[139] O. Trullier and J. A. Meyer. Animat navigation using a cognitive graph. Biological Cyberne-
tics, 83(3) :271285, 2000. Cit page 105
[140] O. Trullier, S. Wiener, A. Berthoz, and J. A. Meyer. Biologically-based artificial naviga-
tion systems : Review and prospects. Progress in Neurobiology, 51 :483544, 1997.
Cit page 19
[141] I. Ulrich and I. Nourbakhsh. Appearance-based place recognition for topological localiza-
tion. In Proceedings of the IEEE International Conference on Robotics and Automation
(ICRA-2000), 2000. 3 citations pages 94, 106, et 111
[142] G. Von Wichert. Mobile robot localization using a self-organised visual envi-
ronment representation. Robotics and Autonomous Systems, 25 :185194, 1998.
5 citations pages 94, 95, 106, 111, et 139
[143] Chieh-Chih Wang, Charles Thorpe, Sebastian Thrun, Martial Hebert, and Hugh Durrant-
Whyte. Simultaneous localization, mapping and moving object tracking. The International
Journal of Robotics Research, 26(9) :889916, September 2007. Cit page 87
[144] O. Wijk and H. I. Christensen. Localization and navigation of a mobile robot using natural
point landmarks extracted from sonar data. Robotics and Autonomous Systems, 31(1-
2) :3142, 2000. 3 citations pages 106, 111, et 112
[145] B. Yamauchi and R. Beer. Spatial learning for navigation in dynamic environments. IEEE
Transactions on Systems, Man, and Cybernetics-Part B,Special Issue on Learning Autono-
mous Robots, 26(3) :496505, 1996. 3 citations pages 94, 111, et 139
[146] B. Yamauchi and P. Langley. Place recognition in dynamic environments. Jour-
nal of Robotic Systems, Special Issue on Mobile Robots, 14(2) :107120, 1997.
2 citations pages 95 et 138
[147] B. Yamauchi, A. Schultz, and W. Adams. Integrating exploration and localization for mobile
robots. Adaptive Behavior, 7(2) :217230, 1999. 4 citations pages 99, 111, 112, et 143