• Aucun résultat trouvé

2. Étude bibliographique

2.2. Génération des plans

Afin de pouvoir naviguer efficacement en mode autonome dans un environnement inconnu, le robot a besoin de mémoriser le chemin déjà parcouru. En cas de souci (arrivée dans une impasse), un nouveau chemin pourra être généré, en s'appuyant sur le chemin déjà parcouru. Bien entendu, si l'opérateur a plus d'informations sur l'environnement que le robot, il pourra le diriger sur le bon chemin, avant que celui-ci arrive dans une impasse ou, si plusieurs chemins sont possibles, d’emprunter celui qui intéresse le plus l'opérateur (le robot essaie d'utiliser le plus court chemin pour arriver à son objectif).

Dans cette partie de l'étude bibliographique je présente différentes façons de générer des plans de l'environnement. On s’est concentré sur des cartes basées sur des grilles d'occupation, parce que l'évitement d'obstacles est plus facile à réaliser en utilisant directement ce type de cartes qu'en utilisant des cartes topologiques.

[Elfes 1989] est un des premiers auteurs à utiliser les grilles d'occupation probabilistes. Il est possible d'utiliser des modèles probabilistes des capteurs dans la construction de la grille. Un exemple (pour un capteur Gaussien bidimensionnel) est montré dans la Figure 27. Le plan précédemment obtenu est actualisé en fonction des mesures courantes des capteurs. Les cases sont initialisées à 0,5 (pas d'information sur leur état).

Parce que l'odométrie du robot n'est pas parfaite, deux manières d'intégrer des nouvelles mesures sont avancées : soit on rajoute de l'incertitude sur les anciennes mesures (méthode centré robot), soit on rajoute de l’incertitude sur la position du robot (méthode centré environnement).

Parce que les traitements qui peuvent être effectués sur la grille ainsi obtenue sont proches de ceux de traitement d'images, les équivalences sont données dans le Tableau 1.

Tableau 1 Techniques similaires pour traiter les grilles d’occupation et les images

Dans [Elmenreich 2008] l'auteur montre deux méthodes pour construire une grille d'occupation en utilisant des capteurs peu fiables. La première nécessite que les cônes de trois capteurs ultrasons soient partiellement superposés (Figure 28). La valeur médiane des résultats des capteurs est enregistrée dans la carte. Le souci avec cette méthode est que la bonne détection des obstacles par les capteurs dépend de l’orientation de l'objet par rapport au robot.

Figure 28 Zone de superposition des capteurs

Pour la seconde méthode, on fait plusieurs hypothèses sur les défaillances des capteurs. D'abord, on les considère comme étant indépendants, la défaillance d'un capteur n'entrainant pas des défaillances dans d’autres. Trois types de défaillances sont identifiés : une défaillance passagère est déclenchée de façon aléatoire et le capteur enregistre une seule mesure dégradée ou fausse. Ce type peut être considéré comme négligeable. Un deuxième type de défaillance est une défaillance intermittente (à cause d'un miroir d’un capteur laser couvert par la poussière, par exemple). Le dernier type est une défaillance permanente, qui nécessite une intervention explicite pour réparer le capteur. En ce qui concerne la grille d’occupation générée, chaque case aura un capteur attaché. La valeur donnée par ce capteur sera retenue (avec prise en compte de la valeur précédente) dans la case.

Pour cette méthode, chaque capteur produira sa grille d'occupation indépendamment des autres capteurs. Le plan sera construit en fusionnant toutes ces grilles. Chaque case finale doit être vue par au moins trois capteurs pour qu'elle soit actualisée. L'identifiant du capteur considéré est aussi enregistré pour la case actualisée.

L'algorithme de mise à jour est le suivant : si la case n'a pas de capteur attaché ou si le capteur attaché est le même que le capteur courant, alors elle est actualisée. Si le capteur est diffèrent, on compare la valeur associée à la case avec celle fournie par le capteur. Si elle est au dessus d'un seuil de confirmation, les confiances dans le capteur actuel et le capteur qui avait précédemment actualisé la case sont accrues. Si la différence est au dessous d'un seuil d'infirmation, les confiances dans le capteur actuel et le capteur qui avait précédemment actualisé la case sont diminuées. Si la comparaison n'est pas significative, on n'a ni une confirmation, ni une contradiction. La nouvelle valeur de la case est une moyenne pondérée entre l'ancienne valeur et la mesure courante. Les poids sont dérivés à partir des confiances dans les capteurs et de l'importance de la mesure. Plus une mesure est éloignée de 0,5, plus elle est importante. La contribution du capteur à une case donne une idée sur la cohérence de la mesure enregistrée dans cette case et la valeur que le capteur mesure. Si cette contribution

est au-delà d'un certain seuil, le capteur devient le nouveau propriétaire de la case. Sinon, le propriétaire est marqué comme étant inconnu.

Dans [Thrun 2003] l'auteur propose l'utilisation du modèle direct des capteurs pour l'acquisition des plans. De manière classique [Elfes 1989], le modèle inverse des capteurs était utilisé. Le plan était généré à partir des mesures des capteurs. En utilisant le modèle direct, on calcule la vraisemblance des mesures pour tout plan et position du robot, afin de trouver un plan qui maximise la vraisemblance. Les capteurs ultrason sont utilisés pour illustrer ce concept. Le modèle direct utilisé prend en compte deux causes pour les mesures des capteurs : le cas non-aléatoire, quand chaque case comprise dans le cône de mesure d'un capteur a une possibilité de réfléchir le son, et le cas aléatoire, quand le capteur a la possibilité de fournir un résultat aléatoire, généré par une distribution uniforme, repartie sur toute la plage de mesures possibles du capteur. À la suite des expériences en simulation et avec un robot réel (Figure 29), l'auteur constate que l'algorithme proposé offre des performances meilleures évidentes pour des discontinuités dans l'environnement (portes, par exemple), ou quand il y a un fort bruit dans les mesures (capteurs ultrason et des murs lisses). Un désavantage est que les objets en mouvement ne sont pas exclus.

Figure 29 Plan obtenu avec le modèle inverse (gauche) et direct (droite)

Dans la Figure 29, gauche, on ne peut pas observer les portes ouvertes, mais on n'a pas la personne qui se déplace autour du robot (les points dans la figure de droite).

Dans [Thrun 1998] l'auteur propose d'utiliser un plan mixte, métrique-topologique. La représentation topologique est construite à partir d’une grille d'occupation. La planification de la trajectoire du robot est faite à partir de la représentation topologique de l'espace. Pour chaque triplet de points de la représentation topologique, une trajectoire utilisant des points de la grille qui font aussi partie du triplet couramment considéré est calculée. La dernière étape est de déplacer le robot vers sa destination, qui se trouve dans une certaine région topologique. Le plan topologique est toujours consistant avec la grille d'occupation. Pour chaque plan abstrait généré en utilisant le plan topologique, il est possible de trouver un plan correspondant dans la grille d’occupation. Malheureusement, il y a une certaine perte de détails dans la représentation topologique, qui peut entrainer la génération des chemins sous-optimaux. Le grand avantage de ce type de représentation d’environnement est la rapidité avec laquelle un plan d'action est généré.

La mise en correspondance des mesures courantes avec un plan historique, sauvegardé en utilisant les quadtrees, est présentée dans [Visser 2009]. Les auteurs considèrent que, à partir d'une mesure laser, trois types d’erreurs sur l'incertitude du déplacement effectif du robot peuvent être faites : à cause du bruit de la mesure, à cause du biais du capteur et à cause de la mise en correspondance de la mesure avec l’historique. La mise en correspondance de deux mesures uniquement revient à retrouver la translation et rotation du robot. Parce que faire ça de façon parfaite n'est pas possible, le problème revient à minimiser cette erreur. En comparant le scan courant avec l'intégration des mesures proches (obtenues à partir de plusieurs scans antérieurs), l'erreur de correspondance est, non plus en fonction de la distance, mais en fonction de la densité des mesures proches. Un quadtree est utilisé pour garder toutes les mesures pertinentes. La pertinence d'un scan est déterminée à partir de seuils (fixes) sur le déplacement estimé. Si la translation et/ou la rotation du robot les dépassent, alors le scan est enregistré dans le quadtree. Une comparaison avec des approches basées sur des techniques de SLAM est également montrée. La comparaison a été faite à partir des bases de données publiques, non pas en utilisant un robot. Un exemple est montré dans la Figure 30.

Figure 30 Comparaison avec SLAM

À gauche on peut observer le plan obtenu en utilisant l'algorithme présenté pour la mise en correspondance des mesures. À droite on a le plan produit en utilisant un algorithme de SLAM [CARMEN 2008].