• Aucun résultat trouvé

Les solution exposées jusque-là sont toutes fortement liées à un cadre d’estimation pour le SLAM (i.e., FKE ou RBpf). Par conséquent, elles ne possèdent pas de modèle interne ni de représentation de l’environ- nement qui soient développés spécialement pour la tâche de détection de fermeture de boucle : elles reposent complètement sur une information qui est contrainte en qualité et en quantité par l’algorithme de SLAM. Une approche alternative qui découple clairement l’estimation de la position et de la carte de la détection de fermeture de boucle a été développée par les auteurs de [Ho and Newman, 2007] et de [Newman et al., 2006]. La méthode de détection de fermeture de boucle est basée sur la vision et repose sur la mise en oeuvre d’une matrice de similarité pour gérer les hypothèses et pour trouver les cycles dans la trajectoire d’un robot mobile (voir section 1.3.2 du chapitre 1 de la partie I). L’estimation de l’état est réalisée grâce à un algorithme de SLAM à états retardés basé sur le FKE et fonctionnant à partir de mesures renvoyées par un télémètre laser : l’historique complet de la trajectoire du robot est maintenu dans un vecteur d’état comme une séquence de positions estimées, avec les observations considérées comme des transformations relatives entre ces positions. Lorsqu’une fermeture de boucle a été détectée, les positions dans le vecteur d’état qui correspondent aux vues mises en correspondance grâce à la matrice de similarité sont alignées par le biais d’une procédure itérative d’appariements de scans laser. Ainsi, la totalité de la trajectoire estimée est mise à

jour en fonction de la fermeture de boucle, aboutissant en une estimation plus cohérente de la position et de l’orientation de du robot lorsqu’un cycle est achevé dans sa trajectoire. Cependant, il est regrettable que le processus sous-jacent pour l’estimation ne repose pas lui aussi sur la vision (on peut notamment mentionner les travaux de [Eustice et al., 2004] sur le SLAM a états retardés basés sur le FKE et la vision).

En abordant le problème de la détection de fermeture de boucle dans le cadre d’une méthode de filtrage en particulier (i.e., le FKE ou le RBpf), on se retrouve confronté à plusieurs limitations. Cela implique d’une part le développement d’heuristiques complexes pour l’association de données, utilisant une information qui est optimisée pour le SLAM et non pour la détection de fermeture de boucle. Cela requiert d’autre part la prise en compte des spécificités de la méthode de filtrage du SLAM (comme l’épuisement des particules par exemple). A l’inverse, en traitant le problème de la détection de fermeture de boucle dans un cadre dédié, il est possible de sélectionner à partir des différents capteurs l’information pertinente pour la tâche considérée, offrant ainsi l’opportunité de construire une représentation de l’environnement qui soit cohérente et adaptée. De plus, cela permet d’associer la solution ainsi obtenue avec tout type d’algorithme de SLAM, même ceux qui ne sont pas basés sur la vision.

9.5 Conclusion

D’après les solutions mentionnées dans cet état de l’art, il semble que l’on puisse distinguer les ap- proches qui sont directement liées à un processus d’estimation pour le SLAM de celles qui sont indé- pendantes et qui peuvent être associées à différents formalismes pour le SLAM. Dans le premier cas, les méthodes mises en oeuvre pour la détection de fermeture de boucle sont généralement des heuristiques, qui peuvent dans certains cas être assez complexes, essayant de tirer profit de l’information contenue dans la carte et de celle renvoyée par les capteurs pour reconnaître les lieux déjà cartographiés. On peut notam- ment remarquer dans ce genre d’approche que l’emploi de la vision semble être plus à même de fournir une information consistante pour résoudre ce problème. Dans le second cas, le modèle de l’environnement est optimisé pour la tâche de reconnaissance des lieux passés, avec un cadre clairement établi pour aborder la problématique correspondante : les taux de succès s’en retrouvent dès lors grandement améliorés lorsque comparés aux heuristiques des approches “intégrées”. En particulier, ce sont les performances dans des environnements présentant un aliasing perceptuel important qui sont principalement augmentées.

Recalage de position dans le SLAM

métrique

Dans cette application, notre algorithme Bayésien de détection de fermeture de boucle (BayesianLCD) est utilisé en conjonction avec un algorithme de SLAM métrique visuel : MonoSLAM [Davison et al., 2004]. Le but des travaux décrits ici est de recaler la position de la caméra dans MonoSLAM suite à un kidnapping par une détection de fermeture de boucle.

10.1 Enjeux et difficultés

Plusieurs difficultés entrent en jeu dans ce type d’expérience. Pour commencer, il faut pouvoir détecter le kidnapping, afin d’arrêter temporairement le processus d’estimation de l’algorithme de SLAM métrique. En effet, la méthode de filtrage mise en oeuvre dans MonoSLAM ne permet pas de suivi d’hypothèses multiples au cours du temps : il s’agit d’une méthode de suivi de position. Ainsi, continuer le processus d’estimation sur la base des images acquises depuis la position suivant le kidnapping reviendrait à considérer que la caméra se situe dans un voisinage très proche de sa position avant le kidnapping. Dans cette situation, l’association de données conduirait à l’inférence d’une position et d’une orientation invalides.

La deuxième difficulté apparaît ensuite : après le kidnapping, il faut être capable de déterminer si la caméra se trouve dans une zone déjà cartographiée de l’environnement. C’est pour cette tâche que nous employons notre méthode de détection de fermeture de boucle. Pour cette étape, il est indispensable de pouvoir se fier sans hésitations aux informations apportées par l’algorithme de détection de fermeture de boucle. Dit autrement, cet algorithme ne doit pas proclamer être revenu en un lieu déjà visité si ce n’est pas le cas (i.e., il ne doit pas y avoir de faux positifs). Nous avions déjà insisté sur ce point dans les parties précédentes, et nous verrons dans cette partie encore une fois à quel point c’est crucial : dans une application au SLAM métrique, chercher à positionner géométriquement la caméra à une position erronée conduirait à

une dérive fatale de tout le processus d’estimation.

Enfin, la dernière difficulté majeure dans l’expérience proposée ici vient de l’association de données une fois que la localisation qualitative de la caméra a été retrouvée par l’algorithme de détection de fermeture de boucle : à ce stade, nous savons que la caméra est retournée dans une zone déjà cartographiée de l’envi- ronnement, cette zone est identifiée de manière symbolique (i.e., elle correspond à un lieu dans le modèle de l’environnement correspondant), et il faut maintenant calculer une position et une orientation viables pour la caméra. Pour cela, il faut inférer une localisation géométrique précise. Nous choisissons ici d’utili- ser l’information retournée par l’algorithme de géométrie multi-vues (voir chapitre 2 de la partie I, section 2.3.3) comme point de départ pour l’inférence. A partir de là, nous employons une méthode d’association de données avancée pour raffiner l’estimation.