Vous êtes sur la page 1sur 18

Chapitre 11 Cartographie

11.1
11.1.1

Les problmes de la cartographie


Limitation des mthodes de localisation

Comme nous lavons expliqu dans le chapitre 8 la cartographie est indissociable de la localisation, ce qui implique de disposer dune mthode de localisation robuste pour esprer avoir une carte correcte. Ceci est le principal problme lors de la phase de cartographie, car une localisation correcte repose en gnral sur une bonne carte de lenvironnement. La tche de cartographie est donc intrinsquement plus complexe que celle de localisation. En effet, la localisation revient rechercher, parmi les positions possibles reprsentes dans la carte, celle qui correspond le mieux la position courante du robot. Cette recherche se droule donc dans un espace ferm, car on postule que la position recherche se trouve parmi les positions enregistres dans la carte. Cet espace est de plus de faible dimension (3 en gnral). Dans le cas de la cartographie, une difcult importante provient du fait que lestimation de la position du robot et la construction de la carte se droulent dans un espace de recherche ouvert et de beaucoup plus grande dimension. Lincompltude de la carte rend de plus la plupart des mthodes de localisation globale prcdemment voques difciles utiliser car elles supposent une comparaison des probabilits des diffrentes hypothses de position. Or avec une carte en cours de construction, le robot peut se situer dans une zone qui nest pas encore cartographie et il sera donc impossible dvaluer la probabilit de cette position. La plupart des systmes reposent donc sur une mthode de localisation qui ralise un suivi de position. En effet, si le robot atteint un lieu qui nest pas reprsent dans la carte, il est possible, grce ces mthodes locales, de dnir sa position par rapport une position prcdente connue au sein de la carte. Lutilisation de systmes de localisation effectuant un suivi de position lors de 137

138

CHAPITRE 11. CARTOGRAPHIE

F IG . 11.1: Un exemple simple denvironnement contenant un cycle.

la cartographie pose cependant certains problmes car, comme nous lavons vu au chapitre prcdent, ces mthodes peuvent diverger et conduire une estimation errone de la position sans possibilit de retrouver la position relle du robot. Ce problme est particulirement important au cours du processus de cartographie car les erreurs de localisation conduisent des mises jour errones de la carte, ce qui peut conduire des erreurs durables dans les futures tentatives de localisation. Ces erreurs sont cruciales dans les environnements cycliques, cest--dire dans des environnements contenant des boucles dont les diffrentes parties ne sont pas toutes visibles les unes partir des autres (cf. gure 11.1). En effet, dans de tels environnements, les erreurs de cartographie durant le parcours du cycle peuvent empcher la reconnaissance de la fermeture du cycle et conduire des cartes la topologie errone (cf. gure 11.2).

Environnement rel

Carte topologique

Carte mtrique

F IG . 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).

11.1. LES PROBLMES DE LA CARTOGRAPHIE

139

Un autre problme important de la cartographie est le choix de la reprsentation utilise pour mmoriser les informations qui serviront par la suite au robot. Nous avons dj prsent les rponses ce problme en prsentant les diverses structures de cartes, mais il faut garder lesprit que le choix de cette structure a une grande inuence sur la qualit du processus de cartographie. Le choix de la reprsentation va dterminer la possibilit de faire ou non des mises jour globales et efcaces lorsque de nouvelles informations sont disponibles. Nous dtaillons ce problme dans la section suivante.

11.1.2

Cartographie incrmentale et retour en arrire

On peut distinguer deux grandes catgories de mthodes de cartographie. La cartographie incrmentale [98] constitue une premire mthode simple de construction de carte. Elle permet simplement dajouter localement de nouvelles informations dans la carte partir de lestimation courante de la position du robot. Cependant, si cette estimation se rvle fausse a posteriori, il est impossible de revenir sur les modications qui ont t effectues. Cette limitation se rvle problmatique dans les environnements contenant des cycles parce que la fermeture dun tel cycle donne une information importante sur les erreurs des estimations prcdentes de la position du robot. Cette information est ignore par les systmes de cartographie incrmentale et conduit, dans le casdenvironnements cycliques des cartes dans lesquelles les erreurs vont se concentrer dans une petite zone (cf. gure 11.2). La cartographie incrmentale constitue la mthode de base de nombreux systmes utilisant des cartes topologiques. Cette mthode est galement utilise pour la cration de grilles doccupation que nous dcriront plus loin. La seconde catgorie de systmes de cartographie regroupe les systmes qui permettent dintgrer des informations a posteriori sur les positions passes du robot. Il faut noter que lintgration de donnes a posteriori sur les positions passes est relativement simple dans les cartes topologiques grce la sparation des donnes proprioceptives et des perceptions que cette reprsentation implique. En effet, des erreurs dans lestimation de la position du robot ninuent que sur les informations mmorises dans les liens de la carte, et non sur les perceptions qui sont mmorises dans les nuds. Ainsi, revenir sur une modication passe de la carte, lorsque des nouvelles informations sur la position du robot sont disponibles, requiert simplement de modier les informations mmorises dans les liens et ne concerne pas les perceptions mmorises. Dans le cas des cartes mtriques, la modication dune position passe va avoir des rpercussions sur les perceptions (via le modle mtrique) et va donc rendre les modications dues aux retours en arrire assez profondes. Pour permettre de tels retours en arrire, il faut alors utiliser

140

CHAPITRE 11. CARTOGRAPHIE

un moyen de mmoriser les perceptions en les reliant la position depuis laquelle elles ont t perues. Cela peut se faire en mmorisant les perceptions indpendemment (des scans lasers par exemple), mais nest pas possible pour certaines reprsentations (notamment les grilles doccupation).

11.2

Cartographie incrmentale

Les modles de cartographie incrmentale utilisent donc une mthode de suivi de position pour estimer la position du robot par rapport la carte existante. Au vu de cette position, si la carte ne reprsente pas le lieu ou les objets perus par le robot, ceux-ci sont ajouts la carte. En revanche, si ce lieu est dj reprsent, la carte est adapte en fonction des nouvelles perceptions.

11.2.1

Cartes Topologiques

Pour construire une carte topologique, nous commenons donc par estimer la position du robot. Dans les cartes topologiques sans perceptual aliasing [89, 18, 67, 38, 107, 41, 8], il suft de comparer les perceptions courantes avec les donnes mmorises dans chacun des nuds de la carte. Si aucun des nuds ne correspond sufsamment bien aux donnes courantes, cela signie 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 sufsante, ce nud sera reconnu comme la position courante du robot. Le choix entre ces deux alternatives est le point difcile du processus de cartographie. En effet, dans le cas de la simple localisation, il suft 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 perceptions qui correspondent un lieu dj mmoris ne sont pas sufsantes 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 [60, 33, 62, 25, 106, 61, 104, 77, 9]. Certains

11.2. CARTOGRAPHIE INCRMENTALE

141

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 [4, 99, 24, 71]. 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 caractrisant le lieu grce au ltrage du bruit sur ces donnes. Les donnes proprioceptives recueillies depuis le nud prcdent sont ensuite utilises pour crer ou modier larte qui joint le nud prcdent au nud courant. Ce processus de cartographie est dcrit par lalgorithme 11.1
Algorithm 11.1: Algorithme de cartographie topologique pour un dplacement u et des perceptions Y
1: 2: 3: 4: 5: 6: 7:

if Il existe noeudi compatible avec u, Y et Positiont 1 then Positiont = noeudi else Positiont = nouveau noeud end if Mettre jour donnes de Positiont avec Y Mettre jour la connexion Positiont 1 - Positiont avec u

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 [4, 99, 24, 71, 62, 25], ou par une adaptation locale des valeurs des liens. Dans le cas o ces valeurs sont simplement utilises de manire locale, sans chercher estimer les relations mtriques entre lieux distants, le maintien de la cohrence peut tre simplement nglig [60, 33].

11.2.2

Cartes mtriques : corrlation de scan

Une premire mthode simple de cartographie mtrique consiste simplement utiliser une mthode de corrlation de cartes locales. Lorsque le robot progresse dans une zone encore non cartographie, la corrlation est simplement effectue entre la carte locale courante et la carte locale prcdente. La nouvelle carte locale est ensuite ajoute la carte de lenvironnement sa position estime (Figure 11.3). Lorsque le robot revient ensuite dans une zone dj cartographie, la corrlation est faite entre la nouvelle carte locale et la portion de la carte globale la plus proche de la position actuelle.

142

CHAPITRE 11. CARTOGRAPHIE

F IG . 11.3: Exemple de carte mtrique cre par corrlation de scans. Chacun des cercles reli par une ligne indique le centre dun scan ajout la carte.

11.2. CARTOGRAPHIE INCRMENTALE

143

Cette mthode est en gnral sufsante lorsquelle est utilises avec les donnes dun tlmtre 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 corrlation. La mthode choue alors, mais il est possible dajouter des procdures spciques qui font une recherche globale lorsquun cycle semble tre ferm et permettent de rattraper ces checs.

11.2.3

Cartes mtriques : grilles doccupation

Rappelons que les grilles doccupation sont une reprsentation de lenvironnement dans laquelle lespace est discrtis en cellules rgulires et dont chaque cellule a une probabilit associe dtre occupe par un obstacle (Figure 11.4).

F IG . 11.4: Exemple de grille doccupation cre partir de mesures dun tlmtre laser.

Dans les premiers travaux de leurs crateurs, Moravec et Elves [74, 95], la

144

CHAPITRE 11. CARTOGRAPHIE

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 le chapitre 10.1 Aprs avoir estim la position du robot, les valeurs des diffrentes cellules de la grille doccupation sont mises jour en fonction des perceptions. Pour cela, nous disposons dun modle 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 la capteur. Ce modle probabiliste est en gnral similaire ceux prsents dans le chapitre 4 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(occT i )= P(occi |s1 , ..., sT ). Pour cela, nous utilisons, comme souvent, la formule de Bayes pour extraire la probabilit fonction de la dernire mesure : P(occT i )= P(sT |occi , s1 , ..., sT 1 )P(occi |s1 , ..., sT 1 ) P(sT |s1 , ..., sT 1 )

En faisant lhypothse que le monde est statique, qui se traduit par le fait que toutes les mesures sont conditionnellement indpendantes si lon connat la valeur dune cellule de la carte (ce qui est faux en pratique et produit des limitations de la mthode), nous pouvons simplier : P(occT i )=
1 Ces

1 ) P(sT |occi )P(occT i P(sT |s1 , ..., sT 1 )

mthodes de recalage permettent de limiter la drive de lodomtrie, mais ne sont en gnral pas sufsantes pour garantir une cartographie correcte long terme. Pour rsoudre ce problme, de nombreux systmes utilisent des mthodes supplmentaires de correction de lodomtrie, indpendantes du processus de localisation utilisant la carte. Deux grandes catgories de mthodes sont utilises. La premire catgorie regroupe les mthodes utilisant des capteurs supplmentaires ou plus prcis, tels que les compas magntiques ou des senseurs inertiels [49, 77]. Ces capteurs sont utiliss principalement pour corriger lestimation de la direction qui est souvent linformation la plus difcile estimer partir des donnes proprioceptives. Lintrt des capteurs magntiques est quils fournissent une mesure directe de la direction, indpendante dun processus dintgration. La qualit de cette mesure ne se dgrade donc pas au cours du temps et permet dobtenir une meilleure estimation de la position du robot. La seconde catgorie regroupe les mthodes qui se basent sur des hypothses sur lenvironnement, an de permettre le recalage de lodomtrie. Lhypothse la plus couramment utilise suppose que les murs de lenvironnement sont rectilignes et orthogonaux [95, 61], ce qui permet de corriger facilement lestimation de la direction du robot.

11.2. CARTOGRAPHIE INCRMENTALE

145

notre modle de capteur nous donnant P(occi |sT ), nous le faisons apparatre en utilisant Bayes une nouvelle fois : P(occT i )=
T 1 ) P(occi P(occi |sT )P(sT ) P(occi ) P(sT |s1 , ..., sT 1 )

Dans cette quation nous ne connaissons pas P(sT ) ni P(sT |s1 , ..., sT 1 ). Pour pouvoir estimer P(occT i ), nous allons utiliser le fait que la valeur doccupation est binaire. Nous commenons par calculer la probabilit que la cellule soit vide P(occ T i ), ce qui se fait de la mme manire :
T 1 ) P(occ i P(occ i |sT )P(sT ) P(occ i) P(sT |s1 , ..., sT 1 ) et nous permet en utilisant le rapport des deux valeurs, de se dbarrasser des termes gnants.

P(occ T i )=

T 1 ) P(occ i P(occT P(occi |sT ) P(occ i) i ) = T T 1 i |sT ) P(occi ) P(occi ) P(occ i ) P(occ

et en utilisant le fait que P(occ i ) = 1 P(occi ), nous obtenons :


T 1 ) 1 P(occi ) P(occT P(occi |sT ) 1 P(occi i ) = T T 1 P(occi ) 1 P(occi ) 1 P(occi |sT ) P(occi )

il est alors possible dextirper P(occT i ) de cette expression, mais il est plus simple de chercher estimer directement la valeur li dnie par : liT = log qui se calcule simplement par : 1 P(occi ) P(occi |sT ) + log + liT 1 1 P(occi |sT ) P(occi ) ce qui nous fournit une rgle simple de mise jour incrmentale des valeurs T li en fonction des valeurs prcdentes et du modle de capteur. La valeur P(occi ) est une valeur initiale de la probabilit doccupation. Elle est en gnral choisie gale 0,5 mais peut tre plus faible ou plus forte si lon souhaite intgrer un a priori sur le fait que lenvironnement contient une densit plus ou moins grande dobstacles. On retrouve ensuite la probabilit doccupation par : liT = log p(occT i ) = 1 1 eli
T

P(occT i ) 1 P(occT i )

146

CHAPITRE 11. CARTOGRAPHIE

Il existe galement des moyens plus simples de mise jour des grilles, qui consistent simplement 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 : Pocc (x, y) = occ(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 xe la probabilit doccupation dune cellule si un obstacle y est dtect et on retranche une autre valeur xe si la cellule a t traverse par le faisceau [56] (voir aussi la section 6.2). Cette mthode, nomme "histogrammic in motion mapping (HIMM)" prsente cependant linconvnient de ne pas converger vers une valeur xe lorsque le nombre de perceptions dune cellule tend vers linni. Elle est de plus relativement sensible au bruit et suppose des rglages dlicats de paramtres pour tre adapte un robot spcique.

11.2.4

Stratgies dexploration

Pour limiter les erreurs de cartographie dans ce types de mthodes, il est possible dutiliser une exploration active de lenvironnement, plutt que de passivement mmoriser les donnes recueillies par le robot. Dans le cadre des cartes topologiques, il est par exemple possible, lorsquun nud a t reconnu, de chercher atteindre un des nuds voisins mmoris dans la carte [60]. Si ce second nud est correctement dtect, il permet de conrmer la dtection du nud prcdent qui est alors mis jour. Dautre modles utilisent une exploration active de lenvironnement pour diriger le robot vers les zones pour lesquelles lincertitude de la carte est grande [32]. Enn certains modles sont capables de gnrer des hypothses sur des portions non visites de lenvironnement qui sont ensuite vries grce une procdure qui dirigera le robot dans les zones o de telles hypothses ont t faites [61]. Des stratgies dexplorations peuvent galement tre utilises an de garantir un exploration rapide et exhaustive de lenvironnement [95, 61, 108]. Dune manire gnrale, de telles procdures permettent donc, dune part, de limiter les erreurs 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.

11.3. RETOUR SUR LES MODIFICATIONS PASSES

147

11.3

Retour sur les modications passes

Dans les mthodes de cartographie prcdentes, les modications apportes la carte au cours du processus de cartographie se font donc en supposant que lestimation de la position du robot au moment de cette modication est correcte. Or cette estimation se rvle en gnral fausse, ou entache derreur, a posteriori. Dans ce cas, les modications de la carte ont t effectues de manire incorrecte, et il serait souhaitable de pouvoir revenir sur ces modications pour prendre en compte les nouveaux indices sur les positions passes du robot. La plupart des modles de cartographie utiliss actuellement, que nous prsentons dans ce paragraphe, en sont capables.

11.3.1

Simultaneous Localization And Mapping (SLAM)

La premire de ces mthodes de cartographie est une mthode utilisant le ltrage de Kalman tendu. Ce ltrage est ici utilis non seulement pour estimer la position du robot, mais aussi pour estimer la position des diffrents lments enregistrs dans la carte. Cette mthode est en gnral utilise avec des cartes reprsentant lenvironnement sous forme dobjets gomtriques simples tels que des points ou des segments. Elle va permettre dutiliser les relations mesures entre le robot et ces objets pour estimer leurs diffrentes positions. Plus gnralement, lide est donc dutiliser un ltrage Baysien estimant la fois les positions du robot (xt ) et des objets de la carte (ct ) : Bel (xt , ct ) = p(yt |xt , ct )
Z Z

p(xt , ct |xt 1 , ct 1 , ut 1 )Bel (xt 1 , ct 1 )dxt 1 dct 1

Cette quation peut tre simplie 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 ltrage devient alors : Bel (xt , ct ) = p(yt |xt , ct )
Z Z

p(xt |xt 1 , ut 1 )Bel (xt 1 , ct 1 )dxt 1 dct 1

Comme pour la localisation, ce ltrage peut tre implment de diffrentes manires, par exemple en utilisant un ltre de Kalman ou un ltrage particulaire. Il peut galement tre utilis avec diffrentes formes de cartes, qui rendent son implantation plus ou moins aise. La technique communment nomme SLAM

148

CHAPITRE 11. CARTOGRAPHIE

consiste en limplantation de ce ltrage sous la forme dun ltre de Kalman, 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. 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 : x y xa1 ya1 . . .

Bel (xt , ct ) = xaN 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 modications 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, ), lquation dvolution ne modiera que la position du robot et sera alors : f (Xt , u) = x + v.dt .cos() y + v.dt .sin() + .dt xa1 ya1 . . . xaN yaN

Ce qui donne la matrice jacobienne :

11.3. RETOUR SUR LES MODIFICATIONS PASSES A= 1 0 sin() 0 0 1 cos() 0 0 0 1 0 0 ... ... ... . . . . . . . . . . . . 0 ... ... ... ... ... ... ... . . .

149

0 0 0 0 . . .

... 0

enn 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 , i ), lquation dobservation sera : hi (Xt ) = ((x xai )2 + (y yai )2 ) ( f aireenexercice...)

la matrice jacobienne de lquation dobservation scrira alors ( faire en exercice) : Hi = x x x x x x x x

Pour estimer la fois la position des amers et du robot, il sufra alors de drouler les quations du ltrage de Kalman (tendu) : Prdiction de ltat : t 1 , ut ) Xt = f (X et de la covariance : t 1 .AT + Q Pt = A.P Yt = h(Xt ) (11.1) (11.2)

Prdiction de lobservation : (11.3)

Observation : on obtient une mesure Y , dont on estime le bruit PY grce au modle du processus de perception. Correction de ltat prdit : t = Xt + K (Y Yt ) X t = Pt KHPt P ou K est le gain de Kalman : K = Pt H T .(H .Pt .H T + PY )1 (11.6) (11.4) (11.5)

150

CHAPITRE 11. CARTOGRAPHIE

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 n du vecteur dtat et toutes les matrices sont agrandies de 2 lignes correspondantes. Il reste un problme important dans la mthode dcrite car elle suppose que lon soit capable didentier 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 difcile 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 an de pouvoir lidentier individuellement. Cette mthode est rarement sufsante 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 position 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 nalement le processus complet de cette mthode de cartographie. Cette mthode est galement illustre graphiquement dans la gure 11.5.
Algorithm 11.2: Algorithme de SLAM pour un dplacement u et un amer peru Y
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:

t 1 , ut ) Prdiction de ltat Xt = f (X Estimation de la position et de la variance de lamer peru xY , yY , xY , yY for all Amer i do T 1 Calcul de la distance de Mahalanobis di2 = 1 2 (Y Yi ) (PY + PYi ) (Y Yi ) end for Slection de lamer j de la carte tel que d j soit minimal if d j < Seuil : lamer est dj dans la carte then Prdiction de lobservation Y j = h j (Xt ) t t = Xt + K (Y Y j ) Correction de ltat prdit X t else ajout de lamer peru la carte end if

11.3. RETOUR SUR LES MODIFICATIONS PASSES


2 1 1 2 3 4 1 2 4

151

F IG . 11.5: Illustration de lalgorithme de SLAM. 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.

La principale faiblesse de cette mthode rside dans la phase dappariement qui peut entraner 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 propage 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 dappariement 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.

11.3.2

Fast SLAM

La mthode dappariement des amers utilise dans la mthode du SLAM est la source de la plupart des problmes de cette mthode. Elle repose en effet sur lhypothse que lestimation de la position du robot est approximativement

152

CHAPITRE 11. CARTOGRAPHIE

correcte pour fournir un appariement correct. On peut donc remarquer que si la position du robot est parfaitement connue, le problme se simplie 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 [73]. Dans cette mthode, on mmorise un grand nombre de trajectoires possibles, dont on value la probabilit, 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 ltre particulaire. Pour la construction de la carte partir de lune de ces trajectoires, on utilise le ltrage 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 covariances, mais seulement les variances des amers individuels. On passe ainsi dune complexit en O(N 2 ) une complexit en O(N ) pour le ltrage de Kalman. Il faut cependant y ajouter la complexit du ltrage 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 ltre particulaire pour la partie non gaussienne et en un ltre de Kalman pour une partie du sous problme et une mthode trs gnrale connue sous le nom de Rao-Blackwellisation du ltre.

F IG . 11.6: Avant la fermeture dun cycle, un trs grand nombre de trajectoires sont values. Aprs fermeture, le ltre particulaire sur les trajectoires slectionne automatiquement celle correspondant effectivement au cycle.

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

11.3. RETOUR SUR LES MODIFICATIONS PASSES

153

sont mmorises, ce qui permet davoir une forte probabilit que lune delle corresponde la trajectoire prcise du cycle. Aprs la fermeture du cycle, le rchantillonage du ltre particulaire slectionne naturellement les trajectoires correctes et permet ainsi une cartographie correcte du cycle (Figure 11.6).

F IG . 11.7: Exemple de carte construite par la mthode du FastSLAM.

Une mthode de cartographie trs similaire au FastSLAM permet de construire une carte mtrique directement partir des donnes laser [52]. Elle nutilise pas de ltre de Kalman, mais repose sur un chantillonage des trajectoires possibles par un ltre particulaire et sur un algorithme 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.7).

154

CHAPITRE 11. CARTOGRAPHIE

11.4

Comparaison des mthodes de cartographie

Les mthodes de cartographie les plus simples sont les mthodes de cartographie incrmentales topologiques, elles montrent cependant rapidement leurs limites en terme de robustesse et demandent souvent une mise au point importante. Concernant la cartographie mtrique, les mthodes de corrlation damers et de grille doccupation sont galement simples mettre en oeuvre et sont sufsantes pour des environnements de taille restreinte, ne contenant notamment pas trop de cycles. Elles sont donc trs populaires. Les mthodes de SLAM seront en gnral plus efcaces, mais plus complexes mettre en oeuvre. La version basique du SLAM utilisant un ltre de Kalman reste cependant assez simple, mais au prix dun manque de robustesse en cas de mauvaises perceptions ou de mauvaise odomtrie. Le FastSLAM quant lui est plus complexe mais apporte de rels gains de robustesse.

Vous aimerez peut-être aussi