Filtre de Kalman étendu utilisant un modèle de mouvement d'odométrie

14

Dans l'étape de prédiction de la localisation EKF, la linéarisation doit être effectuée et (comme mentionné dans Probabilistic Robotics [THRUN, BURGARD, FOX] page 206) la matrice jacobienne lors de l'utilisation du modèle de mouvement de vitesse, défini comme

[Xyθ]=[Xyθ]+[v^tω^t(-péchéθ+péché(θ+ω^tΔt))v^tω^t(cosθ-cos(θ+ω^tΔt))ω^tΔt]

est calculé comme

GT=[10υtωt(cosμt1,θ+cos(μt1,θ+ωtΔt))01υtωt(sinμt1,θ+sin(μt1,θ+ωtΔt))001] .

Est-ce la même chose lorsque vous utilisez le modèle de mouvement d'odométrie (décrit dans le même livre, page 133), où le mouvement du robot est approximé par une rotation , une traduction et un deuxième rotation ? Les équations correspondantes sont: δ δ rot2δ^rot1δ^δ^rot2

[xyθ]=[xyθ]+[δ^cos(θ+δ^rot1)δ^sin(θ+δ^rot1)δ^rot1+δ^rot2] .

Dans ce cas, le jacobien est

gT=[10-δ^sjen(θ+δ^rot1)01-δ^cos(θ+δ^rot1)001] .

Est-ce une bonne pratique d'utiliser le modèle de mouvement d'odométrie au lieu de la vitesse pour la localisation du robot mobile?

zSt
la source
Je crois que votre terme d_y / d_theta devrait être positif plutôt que négatif (c'est-à-dire devrait être + \ hat {\ delta} cos (θ + \ hat {\ delta} _ {rot1}))
rcv

Réponses:

9

Vous avez posé deux questions. Comme je les interprète, ils sont:

  1. Est-il nécessaire de linéariser le modèle de mouvement d'odométrie pour l'utiliser avec un filtre de Kalman étendu (EKF)?
  2. Est-il préférable d'utiliser le modèle de mouvement d'odométrie au lieu du modèle de mouvement de vitesse.

Concernant la question 1, la réponse courte est "oui". Les garanties du filtre de Kalman (KF) ne s'appliquent qu'aux systèmes linéaires. Nous linéarisons un système non linéaire dans l'espoir de conserver certaines de ces garanties pour les systèmes non linéaires. En fait, la linéarisation des composantes non linéaires d'un système (c'est-à-dire le modèle de mouvement et / ou le modèle d'observation) est la chose même qui différencie les KF et les EFK.

En ce qui concerne la question 2, le Dr Thrun fait valoir à la page 132 de Probabilistic Robotics que "[p] l'expérience pratique suggère que l'odométrie, bien que toujours erronée, est généralement plus précise que la vitesse". Cependant, je n'interpréterais pas cette affirmation comme un argument pour supplanter le modèle de vitesse. Si vous disposez à la fois d'informations sur la vitesse et l'odométrie, il est généralement préférable d'utiliser les deux sources d'informations.

DaemonMaker
la source
Une autre alternative à la linéarisation basée sur Taylor est le KF non parfumé: seas.harvard.edu/courses/cs281/papers/unscented.pdf
Alex Kreimer
2

D'après mon expérience, la réponse à votre dernière question est «oui». J'ai eu beaucoup plus de chance en utilisant l'odométrie au lieu de la prédiction dynamique (vitesse). Cependant, je n'ai jamais utilisé le modèle de mouvement que vous décrivez (du livre de Thrun). Au lieu de cela, j'ai utilisé le modèle que j'ai décrit ici .

Josh Vander Hook
la source
Dans le livre, le modèle est traité comme un problème cinématique, donc je pense que c'est un bon modèle pour un problème de simulation.
CroCo
2

À votre première question: «La même chose s'applique-t-elle lors de l'utilisation du modèle de mouvement d'odométrie?», La réponse est oui.

L'EKF est à peu près la même chose que le KF, avec l'ajout de l'étape de linéarisation. Ce que vous linéarisez ici, c'est le modèle de mouvement, quel que soit le modèle.

Pour votre deuxième question: «Est-ce une bonne pratique d'utiliser un modèle de mouvement d'odométrie au lieu de la vitesse pour la localisation de robots mobiles?»: Je pense que la réponse est «cela dépend».

Si vous utilisez un ensemble de données contenant des informations sur la vitesse et que la localisation est suffisamment bonne pour vos besoins, la simplicité de ce modèle est probablement préférée. Si vous contrôlez directement le robot et avez accès aux informations de l'odométrie, vous obtiendrez probablement de meilleurs résultats.

munk
la source