Está en la página 1de 14

Filtros de Kalman

Filtros de Kalman
Maria Alejandra Vélez Clavijo, Alejandra Palacio Jaramillo, Valentina Moreno Ramírez
Ingeniería matemática, Universidad EAFIT, Medellín, Colombia

Resumen Abstract

Con este artículo se pretende brindar los


This article is intended to provide the basic
conocimientos básicos y necesarios para la
and necessary knowledge to understand
comprensión del funcionamiento del
the operation of the algorithm called
algoritmo denominado filtro de Kalman.
Kalman filter. In the development of this
En el desarrollo de este artículo se
article, the origin of the filter, the bases
presentará el origen del filtro, las bases y
and generalities of its operation will be
generalidades de su funcionamiento, y se
presented and the one-dimensional and
mostrará el filtro de Kalman
multidimensional Kalman filters will be
unidimensional y el multidimensional.
shown. Finally, some general conclusions
Finalmente se darán unas conclusiones
about these filters will be given.
generales acerca de estos filtros.
Key Words: Kalman filter, prediction,
Palabras clave: Filtro de Kalman,
correction, noise, estimate, dynamic
predicción, corrección, ruido, estimación,
system.
sistema dinámico.

Universidad EAFIT
2020
Filtros de Kalman

Introducción futuro, aun cuando la naturaleza precisa

del sistema modelado es desconocida [1].


Los filtros de Kalman son una técnica de

asimilación de datos enfocada en la I. Recuento histórico

predicción y corrección de datos. Estos En 1960, el matemático Rudolf E. Kalman,

filtros son uno de los algoritmos de publicó el artículo llamado A New

estimación más importantes y utilizados, Approach to Linear Filtering and

ya que resuelven el problema de Prediction Problems, el en cuál se

estimación en variables de estado en un presentaba el algoritmo conocido

sistema dinámico, basándose en el método actualmente como filtro de Kalman en

de mínimos cuadrados. El algoritmo honor a su nombre. Este artículo describe

estima el estado de un sistema en cada una solución recursiva al problema de

momento, aprovechando la información filtrado lineal de datos discretos [2].

disponible en el tiempo t-1 y actualizando El filtro de Kalman tuvo su mayor

dichas estimaciones con la información del implementación en el año 1960

tiempo t, proporcionando así una solución precisamente cuando se inició el programa

recursiva óptima. Estos filtros son muy espacial Apolo y dichos filtros fueron

utilizados en sistemas de localización y incluidos en el sistema del computador

navegación, radares, sistemas de control, Guidance de Apolo. Estos filtros se

evoluciones de pandemias, entre otros, y lo implementaron en el sistema de

que hace que se destaque de otros navegación de Apolo para la estimación de

algoritmos de estimación, es que este la trayectoria y control del proyecto.

permite estimar el estado de un sistema en La aplicabilidad de estos filtros en

el pasado, presente y diversos campos se evidencia en la

Universidad EAFIT
2020
Filtros de Kalman

actualidad con la predicción de la por factores externos, estos se filtrarán,

evolución de pandemias, como es la obteniendo así mediciones mejoradas que

pandemia actual causada por el permitirán tener como resultado una

coronavirus. predicción más acertada. Cabe destacar

II. Conceptos básicos que estos errores se denominan ruido de

El filtro de Kalman se puede aplicar medición y ruido del proceso,

siempre y cuando el sistema sea lineal, respectivamente.

cuente con una ecuación de estado y su


Dentro de las matemáticas involucradas en
respectivo modelo dinámico. El
la implementación del filtro de Kalman, es
modelo dinámico de un filtro de Kalman
importante tener en cuenta que, al ser un
se resume básicamente al conjunto de
sistema lineal el que se utiliza para su
ecuaciones de estado, y de esta forma el
aplicación, el álgebra lineal y sus
estado del sistema puede representarse
componentes juegan un papel principal.
como los parámetros del objetivo.
En los elementos relevantes de esta área

Es relevante aclarar que, cuando se habla para los filtros de Kalman, se encuentran

de estado actual del sistema, se hace las matrices, matrices transpuestas,

referencia a la entrada de información del inversas, espacios vectoriales, entre otros.

algoritmo de predicción en un tiempo t, y Por último y no menos importante,

el siguiente estado en un tiempo t+1 es la también se ven aplicados conceptos

salida del algoritmo. físicos, de modelado matemático,

estadísticos y estocásticos.
Otro aspecto característico de los filtros de

Kalman es que así las medidas tomadas

tengan errores causados por la medición o

Universidad EAFIT
2020
Filtros de Kalman

III. Filtro de Kalman unidimensional Como se ha mencionado anteriormente, el

filtro de Kalman es un algoritmo que


Para comprender cómo es el
predice recursivamente, es decir utiliza la
funcionamiento de los filtros de Kalman se
información del pasado y la actualiza en el
hace necesario dar a conocer los pasos en
presente para obtener sus futuras
los que se fundamenta el mismo: el
estimaciones.
algoritmo se divide en dos grandes fases,

una de predicción y otra de corrección, y En este proceso es fundamental la

estas a su vez tienen subprocesos que ecuación que permitirá hacer las

permiten llevar a cabo dicho algoritmo. En respectivas actualizaciones del estado del

el caso de los filtros de Kalman sistema, a continuación, se mostrará cómo

unidimensionales, en primera instancia es obtenerla:

necesario obtener los valores de entrada, es


Sea 𝑥̂𝑛,𝑛 la estimación de x en el tiempo n,
decir recibir las mediciones; luego de tener
𝑥̂𝑛,𝑛−1 la estimación que se realizó en el
las mediciones se pasa a la fase de
tiempo n-1, 𝑥̂𝑛+1,𝑛 la estimación del
actualización de estado, en la cual se debe
estado futuro n+1 de x, y 𝑧𝑛 el valor de la
calcular la ganancia de Kalman y recibir la
medición en el instante n.
estimación inicial, es decir la conjetura
Como se trata de un proceso recursivo, se
inicial del estado del sistema y estimar el
pretende que la estimación de 𝑥̂𝑛,𝑛 se
estado actual usando la ecuación de

actualización de estado. Posteriormente, se obtenga utilizando la estimación anterior y

debe calcular el estado previsto para la agregando a esta un ajuste o mejor llamada

próxima iteración utilizando el modelo Ganancia de Kalman.

dinámico del sistema.

Universidad EAFIT
2020
Filtros de Kalman

Haciendo uso de conceptos de estadística 1 1


= 𝑥̂𝑁,𝑁−1 − 𝑁 𝑥̂𝑁,𝑁−1 + 𝑁 𝑧𝑁

básica, se tiene:
(Se distribuye el término 𝑥̂𝑁,𝑁−1)
1
𝑥̂𝑛,𝑛 = 𝑁 ∑𝑁
𝑛=1 𝑧𝑁
1
= 𝑥̂𝑁,𝑁−1 + 𝑁 (𝑧𝑁 − 𝑥̂𝑁,𝑁−1 )
(Fórmula del promedio)
(Reordenando la expresión)
1
= 𝑁 [∑𝑁−1
𝑛=1 (𝑧𝑛 ) + 𝑧𝑁 ]
Por tanto,

(Sumatoria de los N-1 términos anteriores 1


𝑥̂𝑛,𝑛 = 𝑥̂𝑁,𝑁−1 + 𝑁 (𝑧𝑁 − 𝑥̂𝑁,𝑁−1 ) ,
más la última medición)

de una forma mucho más explícita


1 1
= 𝑁 ∑𝑁−1
𝑛=1 (𝑧𝑁 ) + 𝑁 𝑧𝑁
después de realizar las anteriores
1
(Se aplica distributiva de 𝑁 ) operaciones se llega a que la ecuación de

estimación del estado actual tiene la forma


1 𝑁−1 1
= ∑𝑁−1(𝑧 ) + 𝑧𝑁
𝑁 𝑁−1 𝑛=1 𝑁 𝑁

(Se multiplica y divide el primer término

de la ecuación por N-1)


De esto se tiene que la ganancia de Kalman
𝑁−1 1 1
= ∑𝑁−1(𝑧 ) + 𝑁 𝑧𝑁
𝑁 𝑁−1 𝑛=1 𝑁
es el peso que se le da a la medición y (1-
(Reorganizando la ecuación se puede
ganancia de Kalman) es el peso que se le
observar que la expresión en color azul
da a estimación.
hace referencia al promedio del instante
Es importante señalar que la Ganancia de
anterior, es decir N-1)
Kalman representada con 𝐾𝑛 , toma valores
𝑁−1 1
= 𝑥̂𝑁,𝑁−1 + 𝑁 𝑧𝑁 entre 0 y 1, y no siempre es igual en cada
𝑁

(Se reescribe la expresión)

Universidad EAFIT
2020
Filtros de Kalman

iteración, es decir que esta puede variar en de 4 centímetros () , entonces se deben

el tiempo. hacer mediciones hasta que la

1 incertidumbre de la medición () sea


Como 𝐾𝑛 = 𝑁, se puede analizar que
menor a 16 centímetros.
cuando N se hace muy grande, es decir,

cuándo la cantidad de mediciones es En casos en que se tenga sistemas con

elevada, va a ser menos significativo el velocidad constante y se necesite, por

aporte de cada nueva medición en el estado ejemplo, estimar la posición de un objeto,

del sistema. el modelo dinámico para este sistema

podría escribirse mediante dos ecuaciones:


La ganancia de Kalman también puede

expresarse como: 𝑥𝑛+1 = 𝑥𝑛 + ∆𝑡𝑥𝑥̇ 𝑛

𝑝𝑛,𝑛−1 𝑥̇ 𝑛+1 = 𝑥̇ 𝑛
𝐾𝑛 =
𝑝𝑛,𝑛−1 + 𝑟𝑛
A estas ecuaciones se les llama
donde
extrapolación de estado, y siguiendo su

𝑝𝑛,𝑛−1 lógica, la posición del objeto en el

siguiente momento va a estar dada por la


es la incertidumbre de la estimación la cuál
posición actual más la velocidad
es una salida del filtro, y 𝑟𝑛 es la
multiplicada por el cambio de tiempo o
incertidumbre de la medición.
tiempo de seguimiento.
La ganancia de Kalman se puede expresar
Como se ha mencionado anteriormente los
cuándo se quiere cambiar la estimación
filtros de Kalman son una técnica de
que se tiene respecto a una medición, es
corrección y predicción que toma en
decir, si se estuviera midiendo una
cuenta el ruido para proporcionar
carretera y se tiene interés en una precisión

Universidad EAFIT
2020
Filtros de Kalman

resultados más exactos. Siguiendo esta Resumen filtros de Kalman

idea, este algoritmo cuenta con una unidimensionales

ecuación de actualización de covarianza,

la cual actualiza la incertidumbre estimada Inicialización


Entradas al algoritmo
del estado actual y se expresa de la Incertidumbre Estado del
estimada inicial sistema inicial
siguiente manera:
Paso 1
Medición
Entradas al algoritmo
𝑝𝑛,𝑛 = (1 − 𝐾𝑛 ) 𝑝𝑛,𝑛−1 Incertidumbre
Valor medido
de Medición

De esta ecuación se tiene que Paso 2


Actualización
Actualizar la
Calcular Estimar
𝐾𝑛 es la ganancia de Kalman, incertidumbre
ganancia de estado
del estado
Kalman actual
actual
𝑝𝑛,𝑛−1 es la incertidumbre estimada que se Salida 2
Salida 1
Estimación del estado del incertidumbre de la
obtuvo de la estimación anterior, y sistema estimacion

Paso 3
𝑝𝑛,𝑛 es la incertidumbre estimada del
Predicción

estado actual. Calcular el


Extrapolar la
estado para la
incertidumbre
próxima
de estimación
iteración
La incertidumbre estimada se va a hacer

más pequeña cada que se dé una iteración,


Ejemplo de aplicación:
puesto que el peso que le damos a la

estimación va a ser menor o igual a 1. De

aquí se puede resaltar que cuando la

ganancia de Kalman sea alta y la

incertidumbre de medición sea baja,

entonces la incertidumbre estimada va a

tender a cero [3].

Universidad EAFIT
2020
Filtros de Kalman

Suponiendo que se necesita determinar la el modelo se sobrecarga de muchas

longitud del Puente de Occidente ubicado mediciones, estas al final no aportarán

en Antioquia con base en diferentes información significativa al sistema.

mediciones realizadas con un odómetro

impreciso, se utilizarán filtros de Kalman

para dicho fin.

Ya que la longitud de este puente no

variará en el tiempo, se utilizará el filtro de

Kalman unidimensional.

Inicialmente, se debe tener en cuenta que

el odómetro tiene una imprecisión de 0,5

metros por cada 100 metros.

Es importante destacar que la iteración

cero corresponde a la fase de inicialización

del proceso, en la cual se tiene la

incertidumbre estimada inicial (en este De la última iteración se tiene que la

caso el error de medición humano) y el medida de la longitud del puente es de

estado inicial del sistema. 291.4 metros. Cabe destacar que es una

medida bastante acertada, puesto que se


A modo de observación se tiene que a
sabe que la medida original de este puente
medida que la cantidad de mediciones van
es de 291 metros.
aumentando, la ganancia de Kalman tiende

a ser un poco menor, esto debido a que, si

Universidad EAFIT
2020
Filtros de Kalman

IV. Filtro de Kalman Multidimensional 𝑥̂𝑛+1,𝑛 = 𝐹𝑥̂𝑛,𝑛 + 𝐺𝑢̂𝑛,𝑛

Retomando la implementación y
Ruido
contextualización de filtros de Kalman

unidimensionales, es importante aclarar

que para la implementación

multidimensional se necesitaran matrices Variables de estado


Entradas Salidas

que contengan los vectores de variables de

estado. La lógica de dicha implementación


De acuerdo con lo explicado respecto a la
es la misma que en los filtros
extrapolación de covarianza en los filtros
unidimensionales.
de Kalman unidimensionales, en esta
A continuación, se enunciará la ecuación ocasión se derivará la ecuación de
de extrapolación de estado, la cual extrapolación de covarianza en la
permitirá predecir el siguiente estado del notación matricial. Esta ecuación será la
sistema utilizando la información del ecuación de covarianza para la predicción.
estado actual:
𝑃𝑛+1,𝑛 = 𝐹𝑃𝑛,𝑛 𝐹 𝑇 + 𝑄
Sean las variables de estado los atributos
De aquí se tiene que 𝑃𝑛,𝑛 es la matriz de
del sistema, 𝑥̂𝑛,𝑛 la estimación del vector
incertidumbre estimada (covarianza) del
de estado en el tiempo n, 𝑥̂𝑛+1,𝑛 la
estado actual, 𝑃𝑛+1,𝑛 es una matriz de
estimación del estado futuro n+1, 𝑢̂𝑛,𝑛 es
incertidumbre estimada predicha para el
la variable de estrada al sistema, F es la
siguiente estado, F es la matriz de estado y
matriz de transición de estado y G es la
Q es la matriz del ruido del proceso.
matriz de control de entrada.

Universidad EAFIT
2020
Filtros de Kalman

Para el proceso de actualización y mostrará un poco sobre la estructura

corrección es fundamental hacer uso de matricial de estas:

una ecuación que se encargue del filtrado, 𝑧1


𝑧
𝑧(𝑛) = [ 2 ] (vector de salida)
otra que corrija y finalmente una ecuación 𝑧3
que represente la ganancia de información.
𝑥̂1
𝑥̂2
Para actualizar el estado con la nueva 𝑥(𝑛) = 𝑥̂3 (Vector de estado)
𝑥̂4
información que le llega al sistema se [𝑥̂5 ]

utiliza la ecuación de actualización de 𝑥̂1


𝑧1 1 0 0 0 0 𝑥̂2
estado que básicamente concuerda con la (𝑧𝑛 − 𝐻𝑥̂𝑛,𝑛−1 ) = [𝑧3 ] − [0 0 1 0 0] 𝑥̂3
𝑧5 0 0 0 0 1 𝑥̂4
[𝑥̂5 ]
actualización de estado en los filtros

unidimensionales excepto por la ganancia (𝑧1 − 𝑥̂1 )


(𝑧𝑛 − 𝐻𝑥̂𝑛,𝑛−1 ) = [(𝑧3 − 𝑥̂3 )] (Innovación)
de Kalman que en este caso está dada en (𝑧5 − 𝑥̂5 )

una notación matricial. Para el proceso de corrección se requiere

𝑥̂𝑛,𝑛 = 𝑥̂𝑛,𝑛−1 + 𝐾𝑛 (𝑧𝑛 − 𝐻𝑥̂𝑛,𝑛−1 ) la actualización de la covarianza, la cual

necesita una matriz de incertidumbre


Donde 𝑧𝑛 es una medida en el tiempo n, z
estimada (covarianza) del estado actual
es un vector de salida, H es una matriz de
(𝑃𝑛,𝑛 ), matriz de incertidumbre de
observación con dimensiones 𝑛𝑧 × 𝑛𝑥 y
estimación previa del estado actual
𝐾𝑛 es la ganancia de Kalman con
predicha en el estado anterior (𝑃𝑛,𝑛−1 ), la
dimensiones 𝑛𝑥 × 𝑛𝑧 .
ganancia de Kalman 𝐾𝑛 , la matriz de
Al término (𝑧𝑛 − 𝐻𝑥̂𝑛,𝑛−1 ) se le llama observación H y una matriz de covarianza
innovación del estado del sistema, ahora se de ruido de medición 𝑅𝑛 . Dicha ecuación

viene dada por:

Universidad EAFIT
2020
Filtros de Kalman

𝑃𝑛,𝑛 = (𝐼 + 𝐾𝑛 𝐻)𝑃𝑛,𝑛−1 (𝐼 + 𝐾𝑛 𝐻)𝑇 + 𝐾𝑛 𝑅𝑛 𝐾𝑛𝑇 Siendo 𝑧𝑛 el valor de medida en el tiempo

Uno de los aspectos más importantes de la n del sistema.

corrección es encontrar una ganancia de La incertidumbre de la medición está


Kalman que permita minimizar la varianza determinada por la esperanza matemática
estimada. Para ello se minimiza la del producto entre el error de medición
diagonal principal de la matriz de (𝑣𝑛 ) y su transpuesta (𝑣𝑛𝑇 ), expresado de
covarianza, luego de hacer procedimientos otra manera,
algebraicos se obtiene la ecuación de la
𝑅𝑛 = 𝐸(𝑣𝑛 𝑣𝑛𝑇 )
ganancia de Kalman que minimiza dicha
Donde 𝑅𝑛 será una matriz de covarianza
varianza:
de medida.
𝐾𝑛 = 𝑃𝑛,𝑛−1 𝐻𝑇 (𝐻𝑃𝑛,𝑛−1 𝐻𝑇 + 𝑅𝑛 )−1

Por otro lado, la incertidumbre del ruido


Dichos parámetros que la componen ya
de proceso está dada por la esperanza del
fueron descritos anteriormente.
producto entre el ruido del proceso (𝑤𝑛 ) y
La ecuación medida del sistema representa
su matriz transpuesta(𝑤𝑛𝑇 ), es decir,
el valor del sistema en el tiempo n, puesto
𝑄𝑛 = 𝐸(𝑤𝑛 𝑤𝑛𝑇 )
que se compone de la suma del valor

medido y el ruido en esta medición. De tal forma que 𝑄𝑛 será la matriz de

covarianza del ruido del proceso.


Sea 𝐻 la matriz de observaciones, 𝑥𝑛 el

estado verdadero del sistema, 𝑣𝑛 el ruido Finalmente, la incertidumbre de

aleatorio en la medición, entonces se estimación se calcula con la esperanza

obtiene que: matemática del producto entre un error de

𝑧𝑛 = 𝐻𝑥𝑛 + 𝑣𝑛

Universidad EAFIT
2020
Filtros de Kalman

estimación (𝑒𝑛 ) y su transpuesta (𝑒𝑛𝑇 ), en Resumen de ecuaciones del filtro de

otras palabras, Kalman multidimensional [5]:

𝑃𝑛,𝑛 = 𝐸(𝑒𝑛 𝑒𝑛𝑇 ) = 𝐸((𝑥𝑛 − 𝑥̂𝑛,𝑛 )(𝑥𝑛 − 𝑥̂𝑛,𝑛 )𝑇 ) Rol en el Nombre de la Ecuación

proceso ecuación

Donde 𝑃𝑛,𝑛 es una matriz de covarianza del Extrapolación de 𝑥̂𝑛+1,𝑛 = 𝐹𝑥̂𝑛,𝑛 + 𝐺𝑢̂𝑛,𝑛

Predicción estado
error de estimación. Extrapolación de 𝑃𝑛+1,𝑛 = 𝐹𝑃𝑛,𝑛 𝐹𝑇 + 𝑄

covarianza

Adicionalmente, esta incertidumbre de Actualización de 𝑥̂𝑛,𝑛

estado = 𝑥̂𝑛,𝑛−1 + 𝐾𝑛 (𝑧𝑛 − 𝐻𝑥̂𝑛,𝑛−1)


estimación se puede calcular

análogamente como la esperanza Actualización de 𝑃𝑛,𝑛

covarianza = (𝐼 + 𝐾𝑛 𝐻)𝑃𝑛,𝑛−1(𝐼 + 𝐾𝑛 𝐻)𝑇


matemática del producto entre un estado Actualización y
+ 𝐾𝑛 𝑅𝑛 𝐾𝑛𝑇
corrección
Ganancia de 𝐾𝑛 = 𝑃𝑛,𝑛−1𝐻 𝑇 (𝐻𝑃𝑛,𝑛−1𝐻 𝑇
oculto o verdadero del sistema menos el
Kalman + 𝑅𝑛 )−1

vector de estado del sistema en el tiempo n


Ecuación de 𝑧𝑛 = 𝐻𝑥𝑛 + 𝑣𝑛
(𝑥𝑛 − 𝑥̂𝑛,𝑛 ) y su transpuesta medida

Incertidumbre de 𝑅𝑛 = 𝐸(𝑣𝑛 𝑣𝑛𝑇 )

((𝑥𝑛 − 𝑥̂𝑛,𝑛 )𝑇 ) . medición

Auxiliares Incertidumbre del 𝑄𝑛 = 𝐸(𝑤𝑛 𝑤𝑛𝑇 )

ruido del proceso

Incertidumbre de 𝑃𝑛,𝑛 = 𝐸(𝑒𝑛 𝑒𝑛𝑇 ) = 𝐸((𝑥𝑛 −

estimación 𝑥̂𝑛,𝑛 )(𝑥𝑛 − 𝑥̂𝑛,𝑛 )𝑇 )

Universidad EAFIT
2020
Filtros de Kalman

V. Conclusiones el Programa Espacial Apolo hasta la

actualidad.
El proceso que realiza el algoritmo de

filtro de Kalman se puede dividir en dos

etapas, sobre todo:

1. La fase predicción donde, con base en

el estado anterior del sistema y las

ecuaciones que rigen su evolución, se

predecirá el estado actual del sistema.

2. La segunda parte es la corrección, parte

en la cual, con los datos de medición

tomados, se corrige la primera predicción

para tener una mejor estimación.

La importancia actual de los filtros de

Kalman radica en que su campo de

aplicación es muy amplio, por tanto, el

filtro servirá para hacer estimaciones

óptimas en diferentes áreas de

conocimiento y, el hecho de ser un método

recursivo, lo hace más llamativo.

En síntesis, los filtros de Kalman han

facilitado la predicción eficaz de sistemas

no estáticos, lo cual ha sido evidente desde

Universidad EAFIT
2020
Filtros de Kalman

VI. Referencias

[1] Anónimo. Control automático: introducción al filtro de Kalman, from

http://www.ie.tec.ac.cr/einteriano/control/clase/11.ControlconFiltrodeKalman.pdf

[2] Becker, A. Mirada General: Acerca del filtro de Kalman, from

https://www.kalmanfilter.net/ES/default_es.aspx

[3] Becker, A. The α−β−γ Filter: ejemplo 1-pesando oro, from

https://www.kalmanfilter.net/ES/alphabeta_es.html

[4] Ramírez, E. A New Approach to Linear Filtering and Prediction Problems: a.k.a.

Kalman Filters. Nueva York, Estados Unidos, Agosto del 2016.

[5] Becker, A. Filtro de Kalman: Resumen, from

https://www.kalmanfilter.net/multiSummary.html

Universidad EAFIT
2020

También podría gustarte