• No se han encontrado resultados

Filtros de estimación para sistemas lineales

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. ˆxk = Aˆxk−1+ Buk−1+ wk−1 Pk= Eh xk− ˆxk  xk − ˆxk 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 = ˆxk + Kkzk− H ˆxk

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 −1Kk = PkHT  HPkHT + 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.

Documento similar