• Aucun résultat trouvé

Fondu enchaîné, Chahl & Srinivasan

Dans le cas où l’on souhaite faire naviguer un robot avec quelques vues mémorisées éventuelle-ment éloignées les unes des autres (déplaceéventuelle-ment fini et non infinitésimal), cette méthode ne peut être utilisée telle quelle car le problème de l’appariement se pose alors plus fermement et n’est pas résolu.

Le travail de Röfer que nous aborderons en section4.6complète ce modèle.

Enfin, bien que nous l’ayons conçue avant de connaître le modèle d’Aloimonos, notre méthode de calcul de la direction à suivre par élimination que nous présentons dans la prochaine partie a des éléments communs, tout en étant applicable aux mouvements finis et aux panoramas segmentés.

4.3 Fondu enchaîné, Chahl & Srinivasan

Chahl & Srinivasan [CHA 96] traitent le problème de l’orientation en introduisant une méthode

d’estimation de translation ou de rotation de conception assez simple, applicable à un robot muni de deux capteurs panoramiques. La signature d’un lieu est la même que pour l’ALV : une fonction f (θ) qui associe à chaque direction un niveau de gris indiquant la luminosité mesurée dans cette direction.

Le principe de cette méthode est de disposer de deux panorama f0(θ) et f1(θ) correspondant aux

valeurs « extrêmes » de la grandeur à estimer, et d’un panorama f (θ) correspondant à la situation observée. On considère la fonction

ˆ

f (θ) = (1 − α)f0(θ) + αf1(θ)

qu’on pourrait appeler un « fondu enchaîné » par analogie avec la technique de montage utilisée au cinéma ou en vidéo qui fait passer progressivement d’une image à une autre image en fonction du

temps par une simple somme pondérée. De la même façon, le paramètre α fait passer de f0(θ) à

f1(θ). Le principe fondamental de la méthode est qu’il existe une valeur de α qui minimise l’écart

entre ˆf (θ) et f (θ).

Chahl et Srinivasan ont choisi ce qu’on appelle la norme 2, c’est-à-dire l’intégrale du carré de la différence entre fonctions, comme mesure de l’écart. La valeur de α cherchée est celle qui minimise

Z

0

[(1 − α)f0(θ) + αf1(θ) − f (θ)]2

Elle se calcule par l’intégrale suivante :

α =

R2π

0 [f (θ) − f0(θ)][f1(θ) − f0(θ)]dθ

R2π

0 [f1(θ) − f0(θ)]2

D’après les auteurs, la valeur de α calculée par cette méthode diffère de 5% à 10% de la valeur idéale, dans des conditions réalistes.

4.3.1 Rotation

Un seul capteur est utilisé et on suppose que l’animat tourne autour du centre de ce capteur. On dispose d’un panorama avant rotation, et d’un panorama après rotation. On suppose que l’angle de

rotation est compris entre -6 et 6. On prend pour f0 le panorama initial tourné de 6 à gauche, et

pour f1 le panorama initial tourné de 6 à droite. La valeur de α indique approximativement l’angle

du panorama après rotation entre -6(α = 0) et 6 (α = 1).

4.3.2 Translation

L’estimation de translation nécessite que le robot dispose de deux capteurs et que le vecteur trans-lation soit parallèle au vecteur allant du premier au second capteur, de même sens et de norme infé-rieure.

On prend pour f0 le panorama pris du premier capteur avant translation, et pour f1 le panorama

pris du second capteur toujours avant translation. La valeur de α indique approximativement la dis-tance parcourue. Les valeurs extrêmes correspondent à l’immobilité (α = 0) et à la disdis-tance entre les deux capteurs (α = 1 correspond au cas où après la translation, le premier capteur se trouve à l’endroit où se trouvait le second).

4.3.3 Analyse de la méthode 4.3.4 Analyse théorique

Nous analysons avec plus de détail le cas de la rotation que celui de la translation car il est for-mellement plus simple.

Décomposons la fonction f en sa série de Fourier. On choisit la notation complexe car elle sim-plifie le calcul. f0(θ) = X n=−∞ Aneinθ

On introduit β. On suppose que le robot a tourné d’un angle γ tel que 0 < γ < β

f1(θ) =

X

n=0

Anein(θ−β)

La fonction qu’on cherche à minimiser est

(1 − α)f0(θ) + αf1(θ) | {z } ˆ f (θ) X n=0 Anein(θ−γ)

4.3. FONDU ENCHAÎNÉ, CHAHL & SRINIVASAN 91

Focalisons sur le terme associé à un n particulier. C’est :

(1 − α)Aneinθ+ αAnein(θ−β)− Anein(θ−γ)

On factorise Aneinθ

Aneinθ(1 − α) + αein(−β)− ein(−γ)

On factorise α

Aneinθ−α(1 − ein(−β)) + 1 − ein(−γ)

Si knβk  2π alors knγk  2π aussi et on peut remplacer les exponentielles par leur dévelop-pement limité au premier ordre.

Aneinθ(−iαβ + iγ)

Lorsque αβ = γ, sous l’hypothèse knβk  2π, le nème terme de la série de Fourier est nul.

f n’est pas le nème terme mais la somme de tous. Or, dans un cas réel, l’essentiel de l’énergie du

signal est dans les composantes de basses fréquences, et le bruit dans les hautes fréquences. Autrement

dit, les Ansont importants pour les n faibles. Ou encore, la valeur α qui minimise la fonction d’erreur

est proche de celle qui annule les premiers termes, à savoir α = γ/β qui est bien la grandeur attendue (fraction de la rotation effectuée sur la rotation maximale attendue).

Dans le cas translationnel, on ne peut mener le même calcul mais on estime que les mêmes raisons fondamentales se maintiennent.

Cela explique pourquoi la méthode fonctionne, suggère pourquoi elle n’est applicable qu’aux petits angles, et suggère aussi qu’on obtiendra probablement une meilleure précision en appliquant un filtre passe-bas à toutes les fonctions avant d’appliquer la méthode.

4.3.5 Analyse critique

Cette méthode n’est pas une méthode complète d’estimation d’orientation. Elle ne peut pas donner l’orientation de l’animat ou sa position, ni donner le chemin à suivre depuis un point arbitraire. Elle peut seulement estimer pas à pas les déplacements effectués.

4.3.6 Conclusion

La nécessité de traiter seulement des mouvements de translation ou de rotation cantonne cette méthode à un substitut d’odométrie, avec les défauts qui en résultent (intégration au cours du temps

avec accumulation d’erreurs). Cette méthode ne fournit pas de moyen de retrouver son orientation ni de retourner à un point qui permettrait de recaler l’information de mouvement propre.