Explique el principio del filtrado de Kalman en detalle.

Leí mucha información sobre el filtrado de Kalman y descubrí que gran parte de la información es muy oscura y difícil de entender para los principiantes. Revisé mucha información en línea y encontré que esta publicación de blog es muy clara y fácil de entender. Por la presente traduzco este registro para uso futuro. Para garantizar la autenticidad de la traducción, lo siguiente se expresa en primera persona.

Debo mencionar el filtro de Kalman, porque lo que puede hacer es simplemente asombroso.

Desafortunadamente, pocos ingenieros de software y científicos tienen un conocimiento profundo de esto. Esto me frustra porque el filtro de Kalman es una herramienta muy versátil y poderosa para combinar información en condiciones de incertidumbre. Por momentos, su capacidad para extraer información precisa parece increíble. Si parece que estoy hablando demasiado, eche un vistazo a este video publicado anteriormente que demuestra un método de uso de un filtro de Kalman para observar la velocidad de un objeto que flota libremente y determinar su dirección. ¡Muy bien!

Puedes utilizar el filtro de Kalman en cualquier sistema dinámico con información incierta para hacer una suposición informada sobre el próximo movimiento del sistema. Incluso en el caso de todo tipo de interferencias, el filtro de Kalman siempre señala lo que sucede en el mundo real. ¡Puede explotar conexiones entre fenómenos extraños en los que quizás no hayas pensado!

Los filtros Kalman son ideales para sistemas que varían continuamente. Dado que el filtro Kalman no necesita retener otra información de la memoria histórica excepto el estado anterior, es liviano y extremadamente rápido, lo que lo hace muy adecuado para tratar problemas en tiempo real y sistemas integrados.

La mayoría de las descripciones matemáticas del filtrado de Kalman que se encuentran en Google son oscuras. ¡Esta es una situación muy mala! Porque el filtrado de Kalman puede ser simple y fácil de entender. Así que este artículo es un buen tema e intentará utilizar muchas imágenes claras y hermosas para ilustrarlo. La premisa de este artículo es simple: solo necesita una comprensión básica de probabilidad y matrices.

Este artículo utilizará un ejemplo sencillo para ilustrar los problemas que el filtro de Kalman puede resolver. Pero si quieres pasar directamente al arte y las matemáticas, no dudes en saltar.

Por poner un ejemplo sencillo: hiciste un pequeño robot que puede nadar en la jungla. Para garantizar la navegación, el robot necesita conocer su ubicación.

Nuestro robot también dispone de un sensor GPS con una precisión de unos 10 metros, pero necesita conocer su posición con mayor precisión. Hay muchos barrancos y acantilados en el bosque. Si el robot se desvía más de unos pocos pies, podría caer por un acantilado. Por lo tanto, no basta con depender únicamente del GPS para el posicionamiento.

También podemos saber cómo se mueve el robot: el robot conoce las instrucciones enviadas a los motores de las ruedas. Si se mueve en una dirección sin ninguna perturbación, puede continuar moviéndose en la misma dirección en el momento siguiente. Por supuesto, no comprende completamente su propio movimiento: puede ser arrastrado por el viento, sus ruedas pueden patinar o puede rodar sobre terreno accidentado, por lo tanto, el número de veces que giran las ruedas puede no representar con precisión hasta qué punto las ruedas giran; El robot realmente ha viajado, y tales predicciones tampoco serán completamente precisas.

El sensor GPS nos dice cierta información sobre el estado, pero esta es sólo indirecta y tiene cierta incertidumbre e inexactitud. Nuestras predicciones le dicen al robot cómo moverse, pero son sólo indirectas, inciertas e inexactas.

Pero si utilizamos toda la información disponible, ¿podemos obtener una respuesta mejor que estas dos estimaciones por sí solas? Por supuesto la respuesta es sí, esto es lo que hace el filtro de Kalman.

Veamos una escena que queremos interpretar. Sigamos con el último ejemplo. El robot contiene sólo estados simples de posición y velocidad.

Aún más interesante es el siguiente ejemplo: la posición y la velocidad están relacionadas. La probabilidad de observar una ubicación en particular depende de su velocidad:

Esta relación es importante porque nos brinda más información: una medida nos dice cuáles es probable que sean otras medidas. ¡El filtro de Kalman debe usarse para comprimir la información de objetivos inciertos tanto como sea posible!

Esta correlación se llama matriz de covarianza.

En resumen, cada elemento de la matriz

Establecemos la variable de estado en función de la distribución gaussiana, por lo que en el tiempo

A continuación, necesitamos alguna forma de comprender el estado actual (tiempo)

Para todas las fórmulas matemáticas anteriores, solo necesitas implementar las fórmulas (7), (18) y (19). (Si olvida la fórmula anterior, también puede derivarla de las fórmulas (4) y (5).

Esto le permitirá simular con precisión cualquier sistema lineal. Para sistemas no lineales, se requiere filtrado de Kalman extendido. La diferencia es que EKF tiene un proceso de linealización adicional para predicción y medición.