• Aucun résultat trouvé

Critère d’arrêt : comment l’animat sait-il quand il est arrivé ?

À la fin d’une trajectoire, un critère permettant à l’animat d’interrompre le cycle prise de pano-rama – déplacement est nécessaire. De même que pour le calcul du gain, ce problème ne se pose pas véritablement dans de courtes expériences, car l’expérimentateur peut se contenter de donner un nombre fixé de pas. Si ce nombre est trop petit, la trajectoire s’interrompt trop tôt. S’il est trop grand, l’animat piétinera autour du but avant de s’arrêter. C’est cette solution que nous avons choisie dans

notre test de navigation avec compas visuel (section 9.6), parce que c’est la plus simple et qu’elle

garantit que l’expérience se termine. Mais d’autres sont souhaitables de façon plus générale. Dans toutes nos expériences, un critère de nombre maximal de pas était imposé, assez large, complété ou non par un autre.

Un critère externe est possible. Par exemple, dans les expériences de retour d’un robot réel à une

station de recharge que nous présenterons en section 9.2, nous avons utilisé le fait que le robot était

directionnel (c.f. 4.7) et n’avait pas d’objet proche derrière lui pendant sa trajectoire, sauf quand il

arrivait au but. Il utilisait alors les sonars arrières après chaque déplacement pour détecter s’il était arrivé au but. Un tel critère externe reste spécifique à une situation.

Un critère simple, mais pas toujours satisfaisant, est la norme du vecteur indiquant la direction à prendre pour rejoindre le but, dans le modèle PV. Bien qu’apparemment très satisfaisante, cette information ne doit pas être utilisée seule car, si l’animat arrive sur un mauvais attracteur dû à une défaillance de la méthode (par exemple mauvais appariement ou erreur sur l’orientation courante, ce

dernier cas a été illustré en section3.2), ce vecteur peut s’annuler et pourtant l’animat ne sera pas

arrivé au but.

On peut penser à un critère fondé sur la ressemblance de la vue actuelle avec la vue mémorisée. Par exemple, énumérer les parallaxes observées pour extraire la plus grande en valeur absolue. Si elle est inférieure à un seuil, on estime que l’animat est arrivé. La difficulté en pratique avec ce genre de critère est qu’il faut choisir un seuil. La valeur choisie sera typiquement quelques degrés. Si on prend un seuil trop grand, l’animat s’arrêtera trop tôt et la précision sera mauvaise. Si on prend un seuil trop petit, l’animat piétinera et n’estimera jamais être arrivé. Ce critère est sensible aux erreurs d’orientation : le seuil doit être supérieur aux erreurs d’orientation qui risquent de frapper l’animat.

On peut utiliser un critère d’arrêt lié à la trajectoire, comme un seuil de tortuosité locale. En termes plus concrets, si l’angle entre deux éléments de trajectoires est proche d’un demi-tour, c’est que l’animat vient probablement de dépasser le but. Cette méthode a été utilisée par Röfer. Elle est applicable si la trajectoire ne fait pas de zig-zag ailleurs que près du but, ce qui est normalement le cas.

Un bon critère d’arrêt combine une information de type ressemblance de vues (seuil sur la plus grande des parallaxes observées) avec une information en rapport avec la trajectoire (norme du vecteur indiquant la direction à suivre, ou bien seuil de tortuosité). En effet, si le second critère indique un arrêt, mais que le premier indique sans ambiguïté que l’animat n’est pas au but, alors l’animat sait qu’il est coincé dans un attracteur indésirable. Ce genre d’association de critère peut devenir important

5.6. CONCLUSION 147

dans des expériences où l’on donne de plus en plus d’autonomie à l’animat. En permettant à l’animat de détecter le cas où la méthode de navigation a échoué, on lui donne la possibilité de prendre une décision, un changement de stratégie.

Le critère que nous avons conservé, notamment pour les expériences de construction de carte est une combinaison d’un nombre maximal absolu de cycles, d’un critère de parallaxe maximale, et d’un petit délai accordé à l’animat pour qu’il affine la trajectoire.

– Il y a un nombre limité de cycles qu’on ne peut en aucun cas dépasser. Il est fixé généralement à 20 ou 50. Si la trajectoire est interrompue à cause de ce critère, l’animat considère le trajet comme un échec à rejoindre le point voulu ;

– Si la qualité de guidage (cf. section3.4.2.1) est inférieure à 0.5, on continue la trajectoire et on

annule un éventuel compte à rebours ;

– Si la parallaxe maximale à un instant donné est inférieure à 8 degrés, on démarre un compte à rebours qui arrêtera la trajectoire au bout de 5 pas ;

– Si la parallaxe maximale à un instant donné est inférieure à 4 degrés, on démarre un compte à rebours qui arrêtera la trajectoire au bout de 3 pas ;

– Si un compte à rebours atteint 0, la trajectoire est arrêtée et le point visé réputé atteint.

Cette combinaison a l’avantage de toujours finir, n’arrête pas la trajectoire trop tôt – ce qui serait nuisible à la précision – et évite à l’animat de piétiner à l’arrivée.

5.6 Conclusion

Nous avons présenté les unes après les autres nos contributions à la question de la navigation locale par panorama dans la cas où l’orientation est connue.

Nous avons choisi pour notre animat l’utilisation de panoramas segmentés, qui sont plus légers à traiter car plus compacts que les panoramas échantillonnés. Le système visuel utilisé (que nous détaillerons dans la prochaine partie dédiée à l’expérimentation) fournit la couleur dans l’espace lu-minance, teinte, saturation, ce qui facilite la segmentation.

Nous utilisons une méthode de programmation dynamique qui exploite les informations distin-guant les amers, et dont les propriétés permettent d’apparier des panoramas d’orientations variées, voire inconnues.

Une fois l’appariement effectué, et si l’orientation relative des deux panoramas est connue, l’ani-mat peut comparer les azimuts des amers dans les deux vues, et estimer la direction à suivre pour passer du point actuel au but en utilisant notre méthode par élimination. Cette méthode est plus pré-cise que les méthodes fondées sur une somme vectorielle et permet de vérifier la cohérence des infor-mations obtenues. Sous certaines hypothèses, elle indique aussi un intervalle de direction approchant avec certitude l’animat du but.

Nous avons montré que l’animat ne peut déterminer a priori le gain des composantes tangentielles ou radiales à appliquer pour éviter une disproportion entre les mouvements commandés et la taille de

l’environnement. En revanche, nous avons proposé deux méthodes pour ajuster le gain sans connais-sance préalable de la taille de l’environnement. Nous avons aussi évoqué la nécessité pour l’animat de déterminer quand arrêter la trajectoire. Nous avons utilisé une méthode composite qui donne un bon compromis entre précision et nombre de pas.

Revenons sur la problématique d’apparier correctement des panoramas d’orientation arbitraire voire inconnue, car elle est importante. Nous avons vu que l’animat a besoin de connaître son orienta-tion pour naviguer efficacement. S’il a aussi besoin de connaître son orientaorienta-tion pour pouvoir réaliser des appariements, il est en mauvaise posture dès qu’il est désorienté. Au contraire, s’il est capable, même désorienté, de reconnaître les environs grâce à une méthode d’appariement suffisamment per-formante, l’information perçue va lui permettre de retrouver son orientation. Nous ne connaissons pas de méthode de navigation par mesure d’angles dans des panoramas segmentés, et préalable à la nôtre, qui en soit capable, en particulier sur un robot réel.

Nous arrivons maintenant, pour continuer notre exposé, à la présentation de notre méthode d’esti-mation de l’orientation.

Chapitre 6

Le compas visuel

Ce chapitre aborde maintenant notre contribution personnelle au problème de l’estimation de son orientation par un robot mobile.

Nous présentons dans ce chapitre deux méthodes. Elles ont en commun des hypothèses relati-vement faibles : pour l’orientation locale dans une zone, elles ont besoin de trois vues correctement orientées et non alignées prises dans la zone. Ces vues servent à extraire une information par un cal-cul à faire une seule fois. Ensuite, l’une comme l’autre méthode permettent d’estimer l’orientation de toute vue prise dans la zone.

La première méthode, que nous présentons dans la première section de ce chapitre, est simple et approximative mais nous démontrerons théoriquement et expérimentalement qu’elle est suffisante dans certains cas pour faire fonctionner les modèles de navigation utilisant la composante tangentielle. La seconde est plus élaborée et plus précise. Elle peut être considérée comme un raffinement de la première, utilisant des relations linéaires entre azimuts. Nous avons étudié comme l’étendre en combinant plusieurs zones de proche en proche. C’est cette seconde méthode que nous avons appelé le « compas visuel ».

À notre connaissance c’est la première fois qu’une telle méthode d’orientation exploitant des relations linéaires entre azimuts dans des panoramas circulaires segmentés est utilisée.

Nous précisons que le compas visuel n’a pas besoin, pour estimer l’orientation de l’animat, de connaître la position de ce dernier par rapport à un repère lié à l’environnement, ni de connaître celle des amers utilisés, ni même de connaître les positions relatives des trois vues sur lesquelles il s’appuie. Il ne vise pas à reconstituer toutes ces informations à partir des vues, mais seulement à déterminer l’orientation de l’animat.

6.1 Trouver séparément l’orientation de l’animat

Nous avons vu précédemment que les modèles CC et la plupart des modèles qui en découlent supposent que l’animat connaît la direction à laquelle il faisait face lors de chaque acquisition de panorama. L’algorithme Panama, l’algorithme de déformation, ainsi que la méthode par minimisation de Nelson et Aloimonos, résolvent le problème en modifiant l’algorithme qui décide de la direction à suivre de sorte qu’il trouve l’orientation actuelle au cours de la même étape.

En ce qui nous concerne, nous conservons les modèles de navigation par mesures d’angles comme base intéressante pour le cas où la direction de l’animat est connue. Dans le nouveau cas où l’orien-tation de l’animat n’est plus connue, le compas visuel permet de retrouver l’orienl’orien-tation de façon indépendante de la position. Alors, l’animat se retrouve dans le cas précédent d’orientation connue et nous pouvons à nouveau appliquer les méthodes qui ont fait leurs preuves jusque-là.