¿Cómo modelar ruido impredecible en Kalman Filter?
9
Antecedentes:
Estoy implementando un filtro Kalman simple que estima la dirección de rumbo de un robot. El robot está equipado con una brújula y un giroscopio.
Mi punto de vista:
Estoy pensando en representar mi estado como un vector 2D , donde es la dirección de rumbo actual y es la velocidad de rotación informada por el giroscopio.(x,x˙)xx˙
Preguntas:
Si mi comprensión es correcta, no habrá término de control, en mi filtro. ¿Es verdad? ¿Qué sucede si tomo el estado como un vector 1D ? Entonces, ¿mi convierte en el término de control ? ¿Estos dos métodos producirán resultados diferentes?u(x)x˙u
Como sabemos, la fuente principal de ruido proviene de la brújula cuando la brújula está en un campo magnético distorsionado. Aquí, supongo que el ruido gaussiano es menos significativo. Pero la distorsión magnética es totalmente impredecible. ¿Cómo lo modelamos en el filtro de Kalman?
En Kalman Filter, ¿es necesario suponer que "todos los ruidos son blancos"? Digamos, si mi distribución de ruido es en realidad una distribución laplaciana, ¿puedo seguir usando un filtro Kalman? ¿O tengo que cambiar a otro filtro, como el filtro Kalman extendido?
Modelaría esto como un sistema de un estado (x), con el giroscopio como entrada de control. El ruido del giroscopio se convierte en ruido de entrada de estado, el ruido de la brújula se convierte en ruido de medición. Entonces, su modelo de sistema se convierte en donde es la estimación de dirección del filtro, que usted compara con la dirección de la brújula para obtener su Kalman actualizar.
θ˙^=ωgyro+w
y^=x^
y^
La distorsión magnética será difícil, porque si te sientas en cualquier lugar aparecerá como un término de compensación constante: el filtro de Kalman no se ocupará de esto bien. Estoy bastante seguro de que necesitarás mapear la distorsión, obtener alguna segunda referencia de dirección absoluta o simplemente aceptar la distorsión.
Estás confundiendo el contenido espectral con la distribución de probabilidad. Si el ruido es blanco, entonces cada muestra es perfectamente independiente de cualquier otra muestra. Si el ruido es laplaciano, cada muestra obedece a la distribución de Laplace. A los filtros de Kalman no les gusta el ruido de color (pero puedes lidiar con eso agregando estados). Un filtro de Kalman es solo el filtro óptimo general cuando el ruido es de distribución gaussiana y la función de costo es la suma de cuadrados. Para cualquier otra función de ruido y costo, el filtro óptimo es probablemente no lineal. Pero para cualquier función de costo de cero blanco, ruido blanco y suma de cuadrados, el filtro de Kalman es el mejor filtro lineal que se puede encontrar.
(Tenga en cuenta que el modelo del sistema que proporcioné termina con un filtro de Kalman bastante trivial: puede que esté mejor si no puede encontrar otros medios para estimar el desplazamiento de la brújula, utilizando un filtro complementario para combinar estas dos entradas de sensor. todos los cálculos de Kalman terminarán tosiendo un filtro complementario de todos modos, y es probable que tenga suficientes conjeturas para sus constantes que también puede adivinar el punto de cruce en un filtro complementario y terminar con eso).
(Tenga en cuenta, también, que si tiene alguna referencia de posición absoluta , y algunos significa estimar la velocidad, y un vehículo que siempre va en la dirección en que lo señala, que puede usar un filtro Kalman extendido de manera muy rentable para corregir la distorsión de la brújula usando la dirección en la que realmente se mueve para corregir la dirección de la brújula).
Optimal State Estimation de Dan Simon, Wiley 2006, es, en mi opinión, un tratamiento muy rico y claro sobre el tema del filtrado de Kalman y sus hermanos más sofisticados (H-infinito, Kalman extendido, Kalman sin perfume, e incluso un poco en Baysian y filtrado de partículas). No le dirá cómo aplicar eso a problemas de navegación como este, pero ¿dónde sería la diversión en la vida si se resolvieran todos los problemas? Si no puede seguir las matemáticas en el libro de Simon, entonces probablemente debería preguntarse si podrá aplicar un filtro de Kalman de alguna manera inteligente.
+1 Para filtro complementario para esta aplicación parece más adecuado. También el libro de Dan Simon es muy bueno. Este artículo es una buena introducción al filtro de Kalman (por el mismo autor) masys.url.tw/AU/2013SP/OpenCV/0513/kalman-dan-simon.pdf
ddevaz
@ddevaz Sí, en realidad AHORA estoy implementando un filtro complementario. Pero el problema es que no produce muy buenos resultados. Así que estoy pensando en cambiar a otro filtro "más sofisticado" ...
Sibbs Gambling
Veo. Edité mi respuesta para incluir material de referencia sobre la implementación del filtro Kalman con giroscopios, acelerómetros y un magnetómetro.
ddevaz
3
No habrá término de entrada de control. Debe tomar (x, xdot) como su vector de estado para formular el filtro de Kalman correctamente.
Las principales fuentes de ruido son la brújula y el giroscopio . El ruido y la deriva del giroscopio son significativos. Es bastante difícil superar la distorsión magnética en general, pero existen técnicas de compensación .
La suposición de ruido de distribución normal multivariante medio cero es necesaria, sin embargo, el ruido blanco es solo un caso especial de esto. Para el filtro extendido de Kalman, esta suposición aún debe ser cierta. Puede buscar otros tipos de filtros ( filtro de partículas , filtro de Kalman sin perfume ).
Entonces, no puedo dejar que el KF maneje la impredecible distorsión magnética, ¿verdad? Debería descartar los valores distorsionados primero y luego dejar que el KF se ocupe del ruido del sensor. ¿Derecha?
Sibbs Gambling
Si. El filtro Kalman no podrá compensar con precisión la distorsión magnética porque los cambios podrían ser drásticos. Intentaría implementar una compensación magnética primero y luego implementar el filtro Kalman.
No habrá término de entrada de control. Debe tomar (x, xdot) como su vector de estado para formular el filtro de Kalman correctamente.
Las principales fuentes de ruido son la brújula y el giroscopio . El ruido y la deriva del giroscopio son significativos. Es bastante difícil superar la distorsión magnética en general, pero existen técnicas de compensación .
La suposición de ruido de distribución normal multivariante medio cero es necesaria, sin embargo, el ruido blanco es solo un caso especial de esto. Para el filtro extendido de Kalman, esta suposición aún debe ser cierta. Puede buscar otros tipos de filtros ( filtro de partículas , filtro de Kalman sin perfume ).
Kalman Filter Design / Implementation Paper:
Implementación de un algoritmo de fusión de sensores para detección de orientación 3D con sensores inerciales / magnéticos
fuente