Filtro Kalman extendido usando el modelo de movimiento de odometría

14

En el paso de predicción de la localización EKF, se debe realizar la linealización y (como se menciona en Probabilistic Robotics [THRUN, BURGARD, FOX] página 206) la matriz jacobiana cuando se usa el modelo de movimiento de velocidad, definido como

[Xyθ]=[Xyθ]+[v^tω^t(-pecadoθ+pecado(θ+ω^tΔt))v^tω^t(cosθ-cos(θ+ω^tΔt))ω^tΔt]

se calcula como

solT=[10 0υtωt(-Cosμt-1,θ+Cos(μt-1,θ+ωtΔt))0 01υtωt(-syonorteμt-1,θ+syonorte(μt-1,θ+ωtΔt))0 00 01] .

Lo mismo se aplica cuando se usa el modelo de movimiento de odometría (descrito en el mismo libro, página 133), donde el movimiento del robot se aproxima mediante una rotación δ^rot1 , una traducción δ^ y un segunda rotación δ^rot2 ? Las ecuaciones correspondientes son:

[Xyθ]=[Xyθ]+[δ^cos(θ+δ^rot1)δ^pecado(θ+δ^rot1)δ^rot1+δ^rot2] .

En cuyo caso el jacobiano es

solT=[10 0-δ^syonorte(θ+δ^rot1)0 01-δ^Cos(θ+δ^rot1)0 00 01] .

¿Es una buena práctica usar el modelo de movimiento de odometría en lugar de la velocidad para la localización de robots móviles?

zSt
fuente
Creo que su término d_y / d_theta debería ser positivo en lugar de negativo (es decir, debería ser + \ hat {\ delta} cos (θ + \ hat {\ delta} _ {rot1}))
rcv

Respuestas:

9

Has hecho dos preguntas. Según los interpreto son:

  1. ¿Es necesario linealizar el modelo de movimiento de odometría para usarlo con un filtro Kalman extendido (EKF)?
  2. ¿Es mejor usar el modelo de movimiento de odometría en lugar del modelo de movimiento de velocidad?

Con respecto a la pregunta 1, la respuesta corta es "sí". Las garantías del filtro Kalman (KF) solo se aplican a sistemas lineales. Linealizamos un sistema no lineal con la esperanza de retener algunas de esas garantías para sistemas no lineales. De hecho, la linealización de los componentes no lineales de un sistema (es decir, el modelo de movimiento y / o el modelo de observación) es lo que diferencia a los KF y EFK.

Con respecto a la pregunta 2, el Dr. Thrun argumenta en la página 132 de Probabilistic Robotics que "[p] la experiencia práctica sugiere que la odometría, aunque todavía es errónea, generalmente es más precisa que la velocidad". Sin embargo, no interpretaría esta afirmación como un argumento para suplantar el modelo de velocidad. Si tiene información tanto de velocidad como odométrica, generalmente es mejor usar ambas fuentes de información.

DaemonMaker
fuente
Otra alternativa a la linealización basada en Taylor es el KF sin perfume
Alex Kreimer
2

En mi experiencia, la respuesta a su última pregunta es "sí". He tenido mucha más suerte usando odometría en lugar de predicción dinámica (velocidad). Sin embargo, nunca he usado el modelo de movimiento que describe (del libro de Thrun). En cambio, he usado el modelo que describí aquí .

Josh Vander Hook
fuente
En el libro, el modelo se trata como un problema cinemático, por lo que creo que es un buen modelo para el problema de simulación.
CroCo
2

A su primera pregunta: "¿Se aplica lo mismo cuando se usa el modelo de movimiento de odometría?", La respuesta es Sí.

El EKF es casi lo mismo que el KF, con la adición del paso de linealización. Lo que está linealizando aquí es el modelo de movimiento, sea cual sea el modelo que sea.

Para su segunda pregunta: "¿Es una buena práctica usar el modelo de movimiento de odometría en lugar de la velocidad para la localización de robots móviles?": Creo que la respuesta es 'depende'.

Si está utilizando un conjunto de datos que tiene información de velocidad y la localización es lo suficientemente buena para sus propósitos, entonces probablemente se prefiera la simplicidad de ese modelo. Si está controlando directamente el robot y tiene acceso a la información de odometría, es probable que obtenga un mejor resultado.

Munk
fuente