Tu haces conectar todos estos sensores directamente a un microcontrolador. El filtro Kalman no es un filtro electrónico como un filtro LRC que va entre los sensores y el microcontrolador. El filtro Kalman es un filtro matemático implementado como rutina de software dentro del microcontrolador.
Los sensores que ha enumerado le dan al microcontrolador 14 o 15 números sin procesar cada vez que se actualizan.
Cuando vuelo un pequeño avión, lo que realmente quiero saber es su posición y orientación y qué tan lejos está del suelo: 7 números.
Necesito algo que me dé esos 7 números.
Idealmente, quiero una nueva estimación de esos 7 números cada vez a través de mi ciclo de control. Las actualizaciones de una vez por segundo que obtengo de mi GPS barato no son lo suficientemente rápidas. ( ¿A qué frecuencia necesita mi bucle de actualización de salida-sentido-cálculo-salida de quadcopter para mantenerse estable? me dicen que incluso 50 veces por segundo no será lo suficientemente rápido).
De alguna manera voy a tener que reducir esos 14 o 15 números en bruto que tengo, algunos de los cuales solo se actualizan ocasionalmente, en (estimaciones de) los 7 números que realmente quiero.
Como señaló Josh, hay muchas formas ad-hoc para convertir esos números sin procesar en datos utilizables. Cualquier rutina que convierta 15 números en 7 números puede describirse como un "filtro".
No tienes que usar el filtro óptimo. Pero usará algún tipo de filtro, es decir, algo que convierta de los 15 números de datos sin procesar que tiene en (estimaciones de) los 7 números que realmente desea.
El filtro de Kalman es, en algunas condiciones, el filtro "óptimo", la mejor manera de convertir esos datos en bruto en los 7 números que realmente quiero.
Puede tomar menos trabajo de su parte usar un filtro de Kalman que otra persona ya haya escrito y depurado, que escribir otro filtro desde cero, depurarlo y seguir agregando cosas hasta que sea utilizable, un filtro que inevitablemente resulta ser subóptimo.
Los datos del sensor son ruidosos. Si no lo filtra, su vehículo al menos actuaría de manera errática si fuera lo suficientemente estable como para volar. El filtrado, a través de un filtro Kalman o de otro modo, puede reducir el ruido cuando se realiza correctamente, mejorando la estabilidad a su vez.
Un filtro Kalman es un filtro particularmente poderoso. Toma un modelo del sistema y modelos de ruido tanto para el sistema como para sus sensores. Luego estima el estado del vehículo en función de una estimación de estado proporcionada y los controles aplicados en cualquier momento. Este estado estimado será más preciso de lo que informan los sensores.
fuente
También podrías usar filtros de partículas. Para la introducción básica a los filtros de partículas, puede echar un vistazo a los videos del profesor Thrun en Programación de un automóvil robótico.
http://www.youtube.com/watch?v=H0G1yslM5rc
http://www.youtube.com/watch?v=QgOUu2sUDzg
Los filtros de partículas son más robustos y tienen una probabilidad mucho menor del error de cierre del bucle, que ocurre comúnmente al implementar un EKF.
Los videos describen el funcionamiento de un filtro de partículas.
fuente
Un filtro de Kalman es un algoritmo que se usa comúnmente en UAV para fusionar múltiples mediciones de sensores para proporcionar una estimación "óptima" de la posición y / u orientación del UAV. Por ejemplo, un filtro Kalman puede fusionar mediciones de acelerómetro, giroscopio y magnetómetro con una estimación de velocidad para estimar la inclinación, inclinación y balanceo del UAV.
Para obtener más información sobre los sensores y algoritmos utilizados en la estimación del estado de los UAV, pruebe el artículo independiente Fundamentos del vuelo de pequeñas aeronaves no tripuladas .
El artículo también enlaza con el código de Matlab que acompaña la implementación de los algoritmos de estimación de estado de UAV de Kalman Filter descritos.
fuente