• Aucun résultat trouvé

Réduction de la mixture de gaussiennes

Approche de localisation coopérative proposée

4.5.4 Réduction de la mixture de gaussiennes

Avec les différentes solutions de partitionnement présentées, le nombre de particules des mixtures représentant les états d’un robot ne peuvent qu’augmenter avec le temps. L’objectif étant de n’avoir qu’une seule particule représentant l’état lorsque les conditions sont bonnes, il est nécessaire de réduire le nombre de particules quand cela est possible. Une première réduc-tion est faite en filtrant les particules dont le poids est négligeable. Ce filtrage est déjà réalisé lorsque l’observation à fusioner a été partitionnée afin d’éviter de calculer des particules qui seront par la suite éliminées. Le seuil utilisé wminest choisi suffisament bas pour que la suppres-sion de particules n’est pas d’impact sur la PDF que représente la mixture. Avec l’avancement d’une expérimentation et les observations successives, les particules de la mixture se trouvant loin de la réalité vont assez rapidement diminuer en poids et finir par être éliminées par cette étape de filtrage. Cependant, cet outil ne permet d’éliminer que les particules divergentes, mais il n’a aucun effet sur les particules dont la justesse est bonne.

Les particules qui sont proches de l’état réel du robot vont se ressembler de plus en plus avec la prise en compte successive des observations. L’idée est donc de réduire la mixture en

cherchant une autre mixture avec moins de particules mais donnant une qualité d’estimation équivalente. C’est un problème assez bien connu dans la littérature, et il existe actuellement beaucoup de solutions différentes. Par exemple il y a l’algorithme de Salmond (Salmond1989) ou l’algorithme de Runnalls (Runnalls2007). Il existe également des améliorations de solutions existantes comme le GMRC (Gaussian Mixture Reduction via Clustering) (Schieferdecker et Huber2009) ou le COWA (Constraint Optimized Weight Adaptation) (Chen et al.2010). Cer-taines de ces méthodes ont été comparées par les auteurs de (Crouse et al.2011), et ils ont mon-tré que les approches se basant sur la divergence de Kullback-Leibler (c’est à dire la solution de Runnalls et le GMRC) donnaient de bons résultats. De plus, l’amélioration de GMRC n’est pas significative par rapport de la méthode de Runnalls. La solution que nous avons utilisée pour résoudre notre problème est donc la méthode de Runnalls dont l’algorithme est suffisamment simple et flexible pour être adapté à notre configuration.

L’objectif de la méthode de réduction de Runnalls est d’approximer une mixture de gaus-siennes contenant N particules par une mixture contenant M < N particules tout en minimisant la divergence de Kullback-Leibler entre ces deux mixtures. La réduction consiste à approximer le couple de particules minimisant une fonction de coût particulière par une nouvelle particule dont le poids, l’espérance et la covariance correspondent à la mixture que représente le couple de particules. Cette approximation est appelée réduction de mixture standard et est décrite dans la section 2.7.2. L’opération est répétée jusqu’à ce que la mixture n’ait plus que M particules. La fonction de coût utilisée correspond au calcul d’une borne supérieure de la divergence de Kullback-Leibler. Avec (wi, xi, Pi), (wj, xj, Pj) le couple de particules et (wm, xm, Pm) la parti-cule obtenue après réduction, le coût a pour expression :

ci, j = 1 2 w

m

log |Pm| − wi log |Pi| − wj log |Pj|. (4.49) Dans la version de l’algorithme de réduction de Runnalls que nous utilisons ici (algorithme

3), le test de fin de réduction est différent. Plutôt que de réduire la mixture à un nombre M de particules, nous réduisons la mixture tant que les coûts de réduction des couples de particules sont supérieurs à un seuil minimal cmin. Cela permet d’être plus dynamique sur le niveau de réduction que nécessite la mixture. Cette version évite également de simplifier les couples de particules si jamais la particule résultante ne respecte pas le test de linéarité. Une réduction trop importante de la mixture pourrait en effet nuire à l’objectif initial qui était de modéliser au mieux l’estimation de l’état du robot après la prise en compte d’une observation de balise.

Grâce à cette étape de réduction, le nombre de particules de la mixture converge toujours vers une unique particule lorsque le robot reçoit suffisamment d’informations des balises envi-ronnantes. Dans la pratique, le nombre de particules est élevé (plus de 10 particules) au début d’une expérimentation, lorsque l’état du robot est initialisé avec une très importante incertitude de position et d’orientation. La première observation de balise va alors générer un grand nombre

de particules à différentes positions (en cercle) pour chaque particule créée lors du partitionne-ment à l’évolution. Pour que cette observation ait un impact sur l’estimation de l’état du robot, il faut cependant que la balise observée corresponde à un robot ou un objet statique ayant déjà une bonne estimation de sa position. Si le robot peut observer une autre balise ayant une bonne localisation, le nombre de particules de l’estimation de l’état va alors descendre à 2 particules, correspondant à l’ambiguïté classique de l’intersection de deux cercles. Le nombre peut, par la suite, passer à 1 particule après quelques observations supplémentaires pendant le déplacement du robot. Il est également possible que l’estimation descende à 1 particule en observant qu’une seule balise sous certaines conditions qui seront illustrées dans le prochain chapitre. La réduc-tion de la mixture est donc une bonne soluréduc-tion pour remplir l’objectif d’une unique particule pour représenter l’état quand les conditions le permettent.

Entrée : Un ensemble I de particules gaussiennesn(wi, xi, Pi)o

i∈I

Entrée : le coût minimal d’une réduction cmin

Sortie : Un ensemble O de particules gaussiennesn(wi, xi, Pi

)o

i∈O

Copier les particules de l’ensemple I dans l’ensemble O tant que il y a plus d’une particule dans l’ensemble O

pour chaque couple de particules {(i, j) ∈ O2, i , j} Caluler la particule réduite (wm, xm, Pm

) à partir de (wi, xi, Pi

) et (wj, xj, Pj

) Calculer le coût ci, j de la réduction.

si la particule m valide le test de linéarité et que ci, jest actuellement le coût minimal alors

Conserver les paramètres i, j, m et ci, j comme i0, j0, m0 et c0i, j fin

fin

si aucune fusion n’a été effectuée, ou c0

i, j > cminalors Quitter fin Ajouter m0 à l’ensemble O Supprimer i0 et j0de l’ensemble O fin

Chapitre 5