4.3 Filtros para la estimación de estados
4.3.1 Filtros de estimación para sistemas lineales
Para el desarrollo de los filtros de estimación es necesario conocer las propie- dades estadísticas (valor esperado, varianza, covarianza, función de densidad de probabilidad pdf, etc.) de una variable aleatoria X, éstas se resumen con- venientemente en el apéndice B (un desarrollo más extenso puede consultarse en [151]). Entre éstas propiedades conviene destacar la evolución en el tiem- po de la media ¯xk y la covarianza del estado xk, Pk, de un sistema lineal
[151]. La media se obtiene al obtener el valor esperado del modelo (4.1) tal y como se muestra en la ecuación (4.5), en donde se considera que wk tiene
media cero.
xk = Ak−1xk−1+ Bk−1uk−1+ wk−1
⇒ E (xk) = ¯xk = Ak−1¯xk−1+ Bk−1uk−1
(4.5) Con este resultado se puede obtener la evolución de la covarianza Pk de xk
según se muestra en la ecuación (4.6), al utilizar la definición de covarianza (ecuación (B.5), apéndice B) y considerando que el ruido wk es gaussiano y
blanco con covarianza Qk.
Pk = E h (xk− ¯xk) (xk− ¯xk)T i = Ak−1Pk−1ATk−1+ Qk−1 (4.6) 4.3.1.1 Filtro de Kalman (KF):
En el caso de sistemas lineales, el filtro de estimación por excelencia es el filtro de Kalman (KF,figura 4.3) [91, 64, 165, 151], el cual busca estimar el estado xk del sistema lineal (modelo (4.1)) considerando que tanto wk
como nk (ruido del proceso y medición) se pueden caracterizar mediante una
distribución de probabilidad independiente, blanca y normal (Gaussiana) con media cero [151].
Para realizar la estimación, la información de la que se dispone correspon- de a las matrices de covarianza Qk para wk y Rk para nk, las cuales son
variantes en el tiempo pero asumibles como constantes en ciertas condicio- nes, además de las matrices A, B y H del modelo (4.1) (LTI ) junto con las
entradas uk y mediciones zk realizadas. Con esto, el filtro debe obtener la
estimación del estado ˆx junto con la covarianza Pk del error de esta estima-
ción ǫx,k= (xk− ˆxk). Para un sistema lineal [151], se inicia el algoritmo con
la actualización temporal (o predicción a priori), al calcular la evolución en el tiempo de ˆxk y Pk. Ésta se define recursivamente mediante la ecuación
(4.7) en la que se ha utilizado el modelo (4.1) para definir ˆx−
k y para Pk− se
emplea la ecuación (4.6) pero utilizando ˆx en lugar de ¯x (ver apéndice B y [151]). Cabe destacar que el superíndice “−” indica la estimación a priori de
la variable. ˆx− k = Aˆxk−1+ Buk−1+ wk−1 Pk−= Eh xk− ˆx−k xk − ˆx−k Ti= AP k−1AT + Qk (4.7) Para incorporar la información de la medición de los sensores en la etapa a posteriori, el filtro de Kalman estimará ˆxk según la ecuación recursiva
(4.8), en la cual ˆx−
k se obtiene de la actualización temporal realizada con la
ecuación (4.7).
ˆxk = ˆx−k + Kkzk− H ˆx−k
zk = Hkxk+ nk
(4.8) La obtención de la ganancia del filtro de Kalman Kk se realiza según un
criterio basado en el error de estimación ǫx,k= (xk− ˆxk). Su valor esperado
E(ǫx,k) se obtiene en la ecuación (4.9) utilizando la ecuación (4.8).
E(ǫx,k) = E (xk− ˆxk) = E (xk− ˆxk−1− Kk[zk− H ˆxk−1])
= E (ǫx,k−1− Kk[Hxk+ nk − H ˆxk−1])
= (I − KkH) E (ǫx,k−1) − KkE(nk)
(4.9)
En concreto, el filtro de Kalman obtiene una Kk que minimiza la suma de
las varianzas de los errores de estimación ǫx,k para cada estado (x1, . . . , xn)
(4.10) en el que se sustituye la definición de Pk = E ǫx,kǫTx,k . Jk = E [x1,k− ˆx1,k]2 + . . . + E[xn,k− ˆxn,k]2 = Eǫ2x1,k+ . . . + ǫ2xn,k= EǫTx,kǫx,k = ETrhǫx,kǫTx,ki= Tr Pk (4.10)
Para proceder con la optimización se desarrolla primeramente la covarianza del error de estimación Pk según su definición y sustituyendo (ǫx,k) de (4.9)
tal como se muestra en la ecuación (4.11). Pk = E ǫx,kǫTx,k = En[(I − KkH) ǫx,k−1− Kknk] [(I − KkH) ǫx,k−1− Kknk]T o = (I − KkH) E ǫx,k−1ǫTx,k−1(I − KkH)T − KkE nkǫTx,k−1(I − KkH) − (I − KkH) Eǫx,k−1nTkKkT + KkE nknTkKkT (4.11)
Debido a que el ruido en el instante k no puede afectar la estimación en el instante anterior k − 1, ǫx,k−1 y nk son independientes (no hay correlación
entre ambos términos). De esta forma EnkǫTx,k−1
= E (nk) E (ǫx,k−1) y
E ǫx,k−1nT k
= E (ǫ
x,k−1) E (nk). Además, ambos términos son iguales a cero
debido a que el valor esperado de nk es E (nk) = 0 (ruido blanco normal
con media cero). De esta forma, la ecuación (4.11) se reduce a (4.12) en donde además se sustituye la definición [151] de la matriz de covarianza Rk = E nknTk . Pk = E ǫx,kǫTx,k = (I − KkH) Pk−1(I − KkH)T + KkRkKkT (4.12)
Se obtiene la ganancia del filtro de Kalman al sustituir (4.12) en (4.10). Con esto se deriva el índice Jk y se iguala a cero para despejar la Kk que minimiza
Jk. Al ser Pk una matriz de covarianzas tiene como propiedad ser simétrica y
con la propiedad ∂ ∂XTr
XY XT= 2XY (si Y es simétrica) para obtener el
índice ˙Jk mostrado en la ecuación (4.13). ˙ Jk = ∂Jk ∂Kk = 2 (I − Kk H) Pk−1−HT+ 2KkRk = 0 = −2Pk−1HT + 2KkHPk−1HT + 2KkRk = 0 = −2Pk−1HT + 2Kk HPk−1HT + Rk = 0 ⇒ Kk = Pk−1HT HPk−1HT + Rk −1 ∴Kk = Pk−HT HPk−HT + Rk −1 (4.13)
Al obtener la segunda derivada ¨Jk respecto a Kk se comprueba que ¨Jk =
Mk = HPk−1HT + Rk >0 al ser Mk definida positiva, por lo que la Kk
obtenida hace que Jk sea mínimo. Es posible simplificar la ecuación (4.12)
con el valor de la ganancia obtenido, obteniéndose una versión más compacta [151] para calcular Pk, tal y como se muestra en la ecuación (4.14).
Pk= (I − KkH) Pk−1(I − KkH)T + KkRkKkT
= (I − KkH) Pk−1
∴Pk= (I − KkH) Pk−
(4.14)
En resumen, el filtro de Kalman utiliza las ecuaciones (4.7),(4.8), (4.12) (o (4.14)) y (4.13) para realizar la estimación del estado tomando en cuenta la influencia del ruido en el sistema (wk, nk) de forma que se minimiza la
covarianza del error de estimación Pk. El procedimiento es el mismo en ca-
so de tener un sistema lineal variante en el tiempo sustituyendo en estas ecuaciones las correspondientes matrices (A, B, H)k.
Por otra parte, en ciertos sistemas en donde se puede considerar que las ma- trices (Ak, Hk, Qk, Rk) son invariantes en el tiempo, el cálculo de Kk puede
realizarse fuera de línea con el fin de obtener la ganancia en régimen per- manente y ahorrar recursos computacionales al permitir la implementación del filtro en sistemas con recursos muy limitados, ya que no se requeriría el cálculo de matrices inversas (ecuación (4.13)) dentro de la unidad de control. Esto, sin embargo, puede no ser conveniente en el caso de fusión sensorial
en donde puede requerirse ajustar dinámicamente, durante el tiempo de eje- cución del algoritmo, los valores de Rk según el tipo de sensor o la cantidad
disponible de los mismos; con lo que al depender Kk de Rk no puede reali-
zarse su cálculo fuera de línea, requiriendo obtener la inversa dentro de la unidad de control.
El filtro de Kalman es la solución óptima en caso de que (wk, nk) se pue-
dan caracterizar mediante una distribución de probabilidad independiente, blanca y normal (Gaussiana) con media cero [151]. Si (wk, nk) cumplen las
condiciones anteriores pero no son ruidos Gaussianos, el filtro de Kalman es la mejor solución lineal posible en este problema (el KF es el filtro óptimo lineal para realizar la combinación de mediciones) aunque podría darse el caso de poder obtener un filtro no lineal con mejores resultados. Además, en el caso donde alguno de los ruidos (wk, nk) sea coloreado o no independientes
(correlacionados entre sí), el filtro puede modificarse para tomar en cuenta estas condiciones durante el diseño. Finalmente, existen aspectos a tomar en cuenta al implementar este filtro, tales como la correcta inicialización de (xk, Px) en el instante inicial, además de la precisión asociada a las variables
y al modelo. Debido a esto, las matrices (QR, RR) pueden ajustarse poste-
riormente, después de realizar el diseño inicial, para mejorar el desempeño del filtro (de forma que se puedan considerar errores de modelado o iniciali- zación) además de asignar la suficiente precisión a cada variable dentro de la unidad de control.
Cabe destacar que, a pesar de que el KF es óptimo en cuanto a minimizar error de estimación, no siempre es una solución conveniente para todos los sistemas. Debido a esto, existen distintas variantes del KF adaptados según cada situación (tipo de ruido, modelo parcial o desconocido, configuración del bucle de control, sistemas continuos, restricciones en el estado etc. [151]) y tipo de unidad de control (recursos disponibles, precisión, memoria, proce- sador, comunicaciones, etc.). Estas variantes se obtienen siguiendo el mismo procedimiento expuesto en el caso del KF por el cual se conocen como filtros de varianza mínima, debido a que minimizan la traza de la matriz de cova- rianzas Pk establecida mediante un índice de coste similar al de la ecuación
4.3.1.2 Filtro H∞
Existen también otros tipos de filtros para sistemas lineales que utilizan otros índices de coste en lugar del de mínima varianza (ecuación (4.10)) aunque en general son obtenidos mediante un procedimiento similar al del KF manteniendo la estructura de predicción/corrección (figura 4.3). Un ejemplo es el filtro conocido como H∞, el cual busca minimizar el peor caso del error de estimación (optimización minmax) y cuya obtención se puede realizar mediante multiplicadores de Lagrange y teoría de juegos [151]. Los filtros H∞ son diseñados para considerar tanto los posibles errores de modelado (variaciones en las matrices (A, B, H)) como los errores en la caracterización del ruido del proceso y la medida (errores en las matrices (Q, R)). De esta forma se consideran filtros robustos a estas variaciones que son tomadas en cuenta desde su diseño.
El filtro H∞ en particular, no realiza suposiciones en las características de (wk, nk) por lo que es más general que el KF y aplicable en distintos tipos
de ruido (incluso sin información de los mismos). Sin embargo, su implemen- tación puede ser compleja computacionalmente en algunos casos de fusión sensorial ya que pueden requerirse múltiples inversiones de matrices en tiem- po real, requiriendo más tiempo de procesador y memoria que el KF. Además el desempeño de este filtro es muy sensible al ajuste de sus parámetros, re- quiriendo mayor tiempo en el diseño de los mismos con el fin de garantizar un comportamiento adecuado. Finalmente, cabe mencionar que existen dis- tintas combinaciones entre el KF/H∞ que pueden establecerse con el fin de obtener los beneficios de ambas estrategias, al utilizar un índice de coste combinado entre minimizar Pk y minimizar el peor error de estimación o
bien mediante una combinación lineal de las ganancias de ambos algoritmos, con el respectivo incremento en la complejidad computacional que conlleva ejecutar dos filtros de forma simultánea.
En el caso de sistemas no lineales, los filtros lineales descritos pueden adap- tarse con el fin de solucionar el problema de estimación tal y como se describe a continuación.