kalman

15
Introducción al filtro de Kalman Jhon James Quintero Osorio

Upload: jhon-james-quintero-osorio

Post on 02-Jul-2015

5.345 views

Category:

Travel


2 download

TRANSCRIPT

Page 1: Kalman

Introducción al filtro de

KalmanJhon James Quintero Osorio

Page 2: Kalman

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

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

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

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

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

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

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

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

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

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

Algoritmo del Filtro de Kalman discreto

Las ecuaciones de actualización en tiempo:

Las ecuaciones de actualización en medidas

Page 13: Kalman

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

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

Ejemplo 2

Estimación de una variable inmersa en ruido.