kalman
TRANSCRIPT
![Page 1: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/1.jpg)
Introducción al filtro de
KalmanJhon James Quintero Osorio
![Page 2: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/2.jpg)
Rudolf E. Kalman nació en Budapest en 1930, emigró a Estados Unidos durante la Segunda Guerra Mundial y se doctoró en el M.I.T. en Ingeniería Eléctrica en 1954.
En 1958 cuando viajaba en tren de Princeton a Baltimore el tren se detuvo durante una hora a las 11 pm en las afueras de Baltimore, entonces se le ocurrió aplicar el concepto devariables de estado al filtro de Wiener.
![Page 3: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/3.jpg)
Definición
Un algoritmo optimo
recursivo para
procesamiento de
datos [Maybeck79].
Usado para la
estimación eficiente
del estado de un
proceso.
Uso común de filtro de Kalman
Optimal estimate
of system states
![Page 4: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/4.jpg)
Introducción al filtro de Kalman
Suponga que usted conoció a alguien, pacta una cita con ella, y usted
no sabe que tan puntal será. Basado lo que le dijo, usted hace un
estimado de cuando esa persona llegará, usted no quiere llegar
temprano pues odia esperar y tampoco quiere llegar tarde, desea llegar
en el momento exacto.
El día de la cita ella llega 30 minutos tarde, esa información usted la
puede usar para predecir a que hora llegará ella para la próxima cita.
El filtro de Kalman funciona de una forma parecida, se utiliza la
información disponible con el fin de hacer un estimado inicial y a medida
que se tiene más información se usa para mejorar el estimado inicial.
![Page 5: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/5.jpg)
Sistemas dinámicos lineales
El filtro de Kalman se usa para estimar el estado de sistemas dinámicos
lineales regidos por un modelo como el siguiente:
Del cual se pueden realizar medidas según
Los últimos términos de las ecuaciones anteriores
representan el ruido en el proceso en las medidas tomadas al mismo
respectivamente, los cuales tiene media cero, matrices de covarianza
conocidas y no están correlacionados.
![Page 6: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/6.jpg)
Sistemas dinámicos lineales
Un ejemplo simple es el caso de tomar la medida de una cierta cantidad
constante con un sensor ruidoso, en cuyo caso la ecuación del sistema
sería :
Si se tiene una sola medida lo más lógico es pensar que el valor medido
es el correcto, pero en caso de tener múltiples medidas de la cantidad
nos gustaría hacer uso de la información dada por ellas para estimar de
la mejor forma posible el valor de x. Típicamente se toma un promedio y
listo.
Si lo que tenemos es una cantidad que varía con el tiempo y hemos
tomado una cierto número de medidas (N), de tal modo que en algún
momento en el tiempo se tiene
![Page 7: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/7.jpg)
Sistemas dinámicos lineales
Deseamos conocer el conjunto
No podemos obtener el vector anterior mediante el cálculo de la media,
pues el resultado es solo un valor, además se promedia también sobre la
variación de x, lo que introduce una nueva fuente de error.
Podemos proceder entonces de la siguiente manera, para estimar el
valor de no vamos a usar todos los datos de , sino algunos
pocos,
y promediemos este conjunto de valores. Si x cambia lentamente y el
ruido rápidamente tiene sentido usar una ventana grande de valores
para la estimación. Si ocurre que la señal cambia rápidamente y el nivel
del ruido es bajo, lo mejor es solo usar el valor medido como estimación.
![Page 8: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/8.jpg)
Sistemas dinámicos lineales
podríamos hacer algo mejor aun, realizar un promedio ponderado
(filtrado).
Los anteriores planteamientos intuitivos, son plausibles pero no son
sistemáticos, por eso se propone un modelo probabilístico que capture
la evolución en el tiempo y el proceso de medida y se procede entonces
a aplicar inferencia y aprendizaje.
El modelo planteado tiene como parámetros
Donde las matrices son determinísticas y generalmente
provienen del análisis del problema.
Las matrices son las matrices de covarianza de
respectivamente.
![Page 9: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/9.jpg)
Derivación del Filtro de Kalman discreto
Si como dijimos antes tenemos todas las medidas hasta un tiempo k,
podemos usarlas todas para estimar , lo que se llama el estimado a
posteriori
Si lo que tenemos es todas las medidas pero sin incluir el tiempo k,
tenemos el estimado a priori
Las covarianzas de los errores de estimación son
![Page 10: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/10.jpg)
Derivación del Filtro de Kalman discreto
El primer objetivo es encontrar una ecuación que permita para calcular el
estimado del estado a posteriori como una combinación lineal de un
estimado a priori y la diferencia ponderada entre la medida actual
y una predicción de dicha medida . Es decir
El último termino de la ecuación es llamado comúnmente innovación de
medida o residual. Y la matriz K es una ganancia que minimiza la
covarianza del error, dada por
Existen otras formas de presentar la ecuación anterior.
Los resultados anteriores se obtienen de mínimos cuadrados recursivos.
![Page 11: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/11.jpg)
Algoritmo del Filtro de Kalman discreto
El filtro de Kalman estima un proceso usando una forma de control
realimentado, el filtro estima el proceso y se realimenta de las medidas
(ruidosas) , de este modo las ecuaciones que rigen el filtro de Kalman se
clasifican en dos grupos actualización en tiempo o predicción y
actualización de observación o corrección.
Las primeras son las encargadas de obtener las estimaciones del estado
y la covarianza y las siguientes de responsables de la realimentación,
para tener en cuenta las últimas medidas para el estimado a priori con el
fin de obtener una mejora en la estimación posteriori .
![Page 12: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/12.jpg)
Algoritmo del Filtro de Kalman discreto
Las ecuaciones de actualización en tiempo:
Las ecuaciones de actualización en medidas
![Page 13: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/13.jpg)
Algoritmo del Filtro de Kalman discreto
1. Se supone que para el primer instante (k=1) se conocen y
. Es decir y , llamados estimados iniciales, estos se calculan
de las condiciones del problema a resolver. Recordando que :
2. Usamos las ecuaciones de predicción.
3. Usamos las ecuaciones de corrección.
4. Vamos al paso 2.
![Page 14: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/14.jpg)
Ejemplo 1
El ejemplo típico para experimentar con el filtro de Kalman es la
estimación del valor de una constante inmersa en un ruido, digamos,
medir una variable con un sensor ruidoso (con media cero y una
varianza conocida dada por las características del sensor). El modelo es
entonces
Escribir un programa en matlab para realizar la estimación dando como
datos de entrada: El número de datos, el valor real de la constante, la
varianza del sensor, valor de la estimación inicial, varianza de la medida
y varianza de los estados.
![Page 15: Kalman](https://reader036.vdocumento.com/reader036/viewer/2022081720/55953ffa1a28ab366d8b460f/html5/thumbnails/15.jpg)
Ejemplo 2
Estimación de una variable inmersa en ruido.