Subido por frankzsale

TIT-Anibal-2007-Cap 5 observadores estado

Anuncio
Capítulo 5
Observadores de Estados
Como se vio en el capítulo anterior, existen distintos enfoques dentro de la
comunidad FDI a la hora de generar residuos para la detección y diagnóstico.
Entre estas técnicas se encuentran los observadores de estados. En este capítulo se van a mostrar los fundamentos de los observadores de estados, tanto
para sistemas lineales como para sistemas no lineales, y se ejemplificará su
uso para tareas de detección y aislamiento o localización.
5.1
Conceptos Fundamentales
En determinadas circunstancias resulta necesario estimar el valor de ciertas
variables de estado que no son medidas en un sistema. La estimación de este
tipo de variables se determina observación. Un dispositivo (o programa)
que estima u observa las variables de estado se llama observador de estados
(o simplemente observador ).
A la hora de precisar qué es un observador de estado, nos encontramos
con múltiples definiciones. Según Ogata [79]:
“Un observador de estados estima las variables de estado con base
en las mediciones de las variables de salida y de control.”
Para Pouliezos y Stavrakakis [84] los observadores son:
“Sistemas dinámicos cuyo propósito es reconstruir el estado x de
un modelo en espacio de estados basándose en las entradas
medidas u y en las salidas y.”
Más recientemente podemos destacar la definición acuñada por Kinnaert [59]:
“Un observador de estados es un filtro que recibe como entradas
las señales de entrada, u(t), y de salida, y(t), de un sistema
y genera una estimación sobre el estado x(t)”.
A la hora de dar una clasificación de los tipos de observadores, Ogata [79]
se fija en el número de variables que son observadas. De esta manera propone
una clasificación de observadores en tres tipos:
53
54
5.2. Observadores de Estado para Sistemas Lineales
• Orden completo: el observador capta todas las variables del sistema,
sin importar si algunas están disponibles para una medición directa.
• Orden reducido: el observador estima menos de n variables de estado,
en donde n es la dimensión del vector de estado.
• Orden mínimo: es un observador de orden reducido con el mínimo
orden posible, es dedir, si n es la dimensión del vector de estado y m
es la dimensión del vector de salidas, el observador de orden mínimo
observa n-m variables.
Dentro de cada una de estas familias, podemos tener, a su vez, otras
subdivisiones. Por ejemplo, si consideramos el tipo de sistema que estamos
tratando podemos tener observadores para sistemas lineales y observadores
para sistemas no lineales.
A continuación se mostrará los fundamentes de observadores de estados
para el caso más general, el de observadores de orden completo para sistemas
lineales. Posteriormente se realizará una extensión para sistemas no lineales.
5.2
5.2.1
Observadores de Estado para Sistemas Lineales
Observador de Orden Completo
Consideramos que tenemos un sistema en espacio de estados de la siguiente
forma:
ẋ(t) = A · x(t) + B · u(t)
(5.1)
y(t) = C · x(t)
(5.2)
En donde x(t) es el vector de estado (vector de dimensión n), u(t) es el
vector de entradas, y(t) es el vector de salidas, y A, B y C son matrices de
coeficientes constantes.
Podemos definir un observador de estados genérico 1 para dicho sistema
como [59, 79]:
˙
x̂(t)
= A · x̂(t) + B · u(t) + Ke · (y(t) − C · x̂(t))
(5.3)
ŷ(t) = C · x̂(t)
(5.4)
El último término, es un valor de corrección que contiene la diferencia entre la
salida medida y la salida estimada. El término de corrección ayuda a reducir
los efectos producidos por la diferencia entre el modelo dinámico y el sistema
real [79]. La matriz Ke funciona como una matriz de ponderación.
En la figura 5.1 se puede ver de manera esquemática el sistema en espacio
de estados y su observador genérico correspondiente.
1
A este observador de estados también se le conoce como observador de estados de
Luenberger, debido a que inicialmente fue propuesto por Luenberger [67, 68]
5. Observadores de Estados
u
B
55
++
f
x
y
C
A
B
++
++
f
x̂
C
ŷ
- +
A
Ke
Observador de estados de orden completo
Figura 5.1: Esquema de un observador de estados de orden completo.
Podemos obtener la dinámica del error en la estimación del estado restando la ecuación 5.1 de la ecuación 5.3:
˙
ẋ(t) − x̂(t)
= A · x(t) − A · x̂(t) − Ke · (C · x(t) − C · x̂(t))
= (A − Ke C) · (x(t) − x̂(t))
Y definiendo la diferencia entre x(t) y x̂(t) como el vector de error ex (t):
ex (t) = x(t) − x̂(t)
Entonces el error en la estimación del estado, nos queda:
ėx (t) = (A − Ke C) · ex (t)
(5.5)
A partir de la ecuación 5.5 podemos ver que el comportamiento dinámico
del vector de error se determina mediante los valores característicos de la
matriz (A − Ke C). Si la matriz es estable, el vector convergerá a cero para
cualquier vector de error inicial (e(0)). Es decir que x̂(t) convergerá a x(t) sin
considerar los valores de x̂(0) y x(0). Si se eligen los valores característicos de
la matriz A − Ke C de manera que el comportamiento dinámico del vector de
error sea asintóticamente estable y suficientemente rápido, cualquier vector
de error tenderá a 0 con una velocidad adecuada.
Al igual que para el error en la estimación del estado, podemos obtener
el error en la estimación de la salida como:
ey (t) = y(t) − C · x̂(t)
56
5.2. Observadores de Estado para Sistemas Lineales
Que está directamente relacionado con el error en la estimación del estado
de la siguiente manera:
ey (t) = C · ex (t)
5.2.2
Problema Dual
Como acabamos de ver, el problema a la hora de diseñar un observador es
determinar la matriz Ke tal que la dinámica del error sea asintóticamente
estable con una velocidad de respuesta suficiente, es decir, determinar Ke ,
tal que A − Ke C tenga los valores característicos deseados. Este problema
se corresponde con el problema de ubicación de polos [79].
Consideramos el siguiente sistema lineal en espacio de estados:
ẋ = A · x + B · u
y = C ·x
Al diseñar el observador de estados de orden completo, resolvemos el
problema dual, es decir, solucionamos el problema de ubicación de polos
para el sistema dual:
ż = A∗ · z + C ∗ · v
n = B∗ · z
Suponiendo que la señal de control v es (realimentación de estado):
v = −K · z
Si el sistema dual es de estado completamente controlable, la matriz de
ganancias de realimentación del estado K se determina de tal modo que
la matriz A∗ − C ∗ · K produzca un conjunto de los valores característicos
deseados.
Si µ1 , µ2 , . . . , µn son los valores característicos de la matriz del observador
de estado, tomando los mismos µi que los valores característicos deseados
de la matriz de ganancias de realimentación del estado del sistema dual,
obtenemos:
|sI − (A∗ − C ∗ K)| = (s − µ1 )(s − µ2 ), . . . , (s − µn )
Considerando que los valores característicos de A∗ − C ∗ K y los de A −
son iguales, tenemos que,
K ∗C
|sI − (A∗ − C ∗ K)| = |sI − (A − K ∗ C)|
Comparando el polinomio característico |sI − (A − K ∗ C)| y el polinomio
característico |sI − (A − Ke C)| para el sistema observador, encontramos que
Ke y K ∗ se relacionan mediante
Ke = K ∗
Por tanto, usando la matriz K determinada mediante el enfoque de ubicación de polos en el sistema dual, la matriz de ganancias del observador Ke
para el sistema original se determina a partir de la relación Ke = K ∗ [79].
5. Observadores de Estados
57
Condición necesaria y suficiente para la observación del estado La
condición necesaria y suficiente para la determinación de la matriz de ganancias del observador Ke para los valores característicos deseados de A − Ke C
es que el dual del sistema original:
ż = A∗ z + C ∗ v
sea de estado completamente controlable. La condición de controlabilidad
completa del estado para este sistema dual es que el rango de:
.
. .
[C ∗ ..A∗ C ∗ .. · · · ..(A∗ )n−1 C ∗ ]
sea n. Por tanto, ésta es la condición para una observabilidad completa
del sistema original.
5.2.3
Diseño de Observadores
La señal de realimentación a través de Ke funciona como una señal de corrección para el modelo de la planta. Si tenemos implícitos factores desconocidos
de la planta con valores significativos, la señal de realimentación debería ser
grande (es decir, el valor de Ke ). Sin embargo, si la salida está excesivamente
contaminada con ruidos o perturbaciones, esta señal ya no es confiable y por
lo tanto la señal de realimentación debería ser relativamente pequeña. A la
hora de diseñar la matriz Ke debemos prestar atención a los efectos de perturbaciones y ruido. Habitualmente se suele diseñar como un compromiso
una respuesta rápida y la sensibilidad frente a perturbaciones y ruido.
Existen diversas técnicas que podemos destacar a la hora de realizar un
diseño automático de la matriz de ganancias. Según Ogata [79] podemos
destacar principalmente tres técnicas para el diseño:
• Enfoque directo
• Enfoque de sustitución
• Fórmula de Ackerman
Debido a que la Fórmula de Ackerman es la más genérica, así como la
más usada, a continuación se procederá a describir esta técnica, dejando al
lector la consulta de las otras dos en [79].
5.2.3.1
Fórmula de Ackerman
La fórmula de Ackerman para la determinación de la matriz de ganancias
del observador Ke , viene dada por la siguiente ecuación:
58
5.2. Observadores de Estado para Sistemas Lineales

Ke



φ(A)
=
·


C
CA
CA2
..
.
−1 









·


CAn−1
0
0
0
..
.







1
en donde φ(A) es igual a φ(S) que es el polinomio característico deseado
para el observador de estado. Viene dado por la expresión 5.6:
n
Y
φ(S) =
(S − µi ) = (S − µ1 )(S − µ2 ) . . . (S − µn )
(5.6)
i=1
en donde µ1 , µ2 , . . . , µn son los valores característicos deseados. La elección
de dicho conjunto de valores en muchos casos, no es única [79]. Por tanto, podrían elegirse muchas ecuaciones características diferentes como ecuaciones
características deseadas. Para cada ecuación característica deseada, tenemos
una matriz Ke diferente.
A la hora de diseñar un observador de estado, resulta conveniente calcular varias matrices de ganancias del observador Ke con base en varias
ecuaciones características deseadas distintas. Para cada una de las matrices
de ganancias que obtenemos, deben realizarse pruebas en simulación con el
fin de ver el comportamiento y la respuesta del observador generado. Como
se ha comentado previamente, en muchos casos prácticos la elección de la
mejor matriz Ke se resuelve en un compromiso entre la respuesta rápida y
la sensibilidad ante perturbaciones y ruidos.
5.2.4
Observadores de Estados para Detección y Diagnóstico
de Fallos
Considerando que tenemos el mismo sistema en espacio de estados que hemos utilizado anteriormente (ecuaciones 5.1 y 5.2), podemos ampliar este
sistema de modo que se considere la influencia de fallos y perturbaciones de
la siguiente manera:
ẋ(t) = A · x(t) + B · u(t) + f (t) + w(t)
(5.7)
y(t) = C · x(t) + ∆C(t) + v(t)
(5.8)
donde f (t) denota los fallos en el proceso, ∆C(t) los fallos en los sensores, y
w(t), v(t) los ruidos en el proceso y en el sensor, respectivamente.
Considerando esta nueva descripción de sistema, se modifican las ecuaciones de error en la estimación de la salida y del estado, obteniendo lo
siguiente:
ėx (t) = (A − Ke C) · ex (t) + w(t) + f (t)
5. Observadores de Estados
59
ey (t) = C · ex (t) + ∆C + v(t)
En ausencia de fallos y perturbaciones f (t), ∆C, w(t) y v(t) son cero y
por lo tanto la matriz A − Ke C hace que el error en la estimación de la salida
(ey (t)) tienda a 0 (después de los transitorios en los instantes iniciales). En
cambio, si ocurre un fallo, la señal ey (t) se va a ver afectada por este fallo,
por eso podemos utilizar el error en la estimación de la salida como
residuo para la detección y el diagnóstico de fallos.
A la hora de explotar las cualidades de estos residuos se proponen varias técnicas. En la literatura se proponen diversas clasificaciones de estas
técnicas, aunque según Kinnaert [59] podemos destacar principalmente dos
técnicas:
• La primera consiste en seleccionar matriz de ganancias del observador
de manera que las trayectorias generadas por cada tipo de fallo se confinen es subespacios independientes del espacio ey . Proyectando ey (t)
en cada uno de esos subespacios y analizando la magnitud de cada
proyección podemos lograr el aislamiento de los fallos.
• La segunda técnica consiste en utilizar un banco de observadores, y
ofrece más flexibilidad que la anterior. El banco de observadores estará
formado por p observadores de estados, diseñados de tal manera que
cada observador i sea sensible únicamente al fallo i (esquema de observador dedicado o simplificado [28, 27]), o que cada observador
i sea sensible a todos los fallos excepto al fallo i (esquema de observador generalizado [41]). En la figura 5.2 se puede ver un esquema
de observador de estados dedicado.
u
Sistema
Observador 1
..
.
y1
y2
yp
ey1
.
.
.
Observador p
eyp
Figura 5.2: Esquema de observador dedicado.
60
5.3. Observadores de Estado para Sistemas No Lineales
Otros autores, como Isermann [51] considera un mayor espectro de técnicas que Kinnaert y considera técnicas que éste no tenía en cuenta, como
filtros de Kalman o bancos de observadores excitados por todas las salidas
(además de los ya mencionados bancos de observadores excitados por una
salida y por todas las salidas excepto una).
Por su parte, Pouliezos y Stavrakakis [84], hacen una clasificación de
técnicas fijándose en el tipo de fallo que queremos aislar. Así consideran tres
tipos: esquemas de detección de fallos en sensores, actuadores y componentes.
5.3
Observadores de Estado para Sistemas No Lineales
Al contrario que para los sistemas lineales, que han sido ampliamente estudiados y existe un campo teórico bien fundado, para los sistemas no lineales
no ocurre lo mismo [86]. Los fundamentos teóricos están lejos de la solidez
que tienen para sistemas lineales, y su aplicación práctica tampoco es comparable. Otro problema con los sistemas no lineales es que no existe una
técnica genérica para diseñar este tipo de observadores, y su resultado final
dependerá directamente del tipo de sistema con el que estemos trabajando.
Existen múltiples aproximaciones para el diseño de observadores no lineales [59, 3, 86, 16, 54]. Algunas consisten en emplear directamente los
conocimientos existentes para la generación de observadores lineales, o en
extenderlos para sistemas no lineales (como el observador de Luenberger extendido [121] o el filtro de Kalman extendido [6, 43]), otras son únicamente
aplicables en determinados tipo de sistemas no lineales (como, por ejemplo,
para sistemas bilineales [59, 3]), también existen aproximaciones basadas en
técnicas de optimización (observador de horizonte móvil [71, 94], observador
con algoritmos genéticos [119, 83]), etc...
En el presente apartado se pretende dar un introducción a las técnicas
más conocidas y usadas en la literatura.
5.3.1
Diseño básico
Consideremos un sistema no lineal con la siguiente forma2 :
ẋ = f (x)x ∈ <n
y = h(x)x ∈ <p
Recordando lo que habíamos visto previamente, un observador de estados
para un sistema lineal viene definido por las ecuaciones 5.9 y 5.10.
˙
x̂(t)
= A · x̂(t) + B · u(t) + Ke · (y(t) − C · x̂(t))
2
(5.9)
Este tipo de sistema no lineal, en el que el estado es función únicamente del estado
y no de la entrada, se considerará únicamente en este apartado de “diseño básico”. Posteriormente se ampliará la definición sistema no lineal.
5. Observadores de Estados
ŷ(t) = C · x̂(t)
61
(5.10)
El último término de la ecuación 5.9 (Ke · (y(t) − C · x̂(t))) se conoce
habitualmente como inyección de salida. Utilizando esta inyección de salida
directamente sobre el sistema no lineal podemos tener una primera aproximación a un observador de estados no lineal. Esta técnica se conoce como
aproximación lineal [86].
5.3.1.1
Aproximación Lineal
Como primer intento para la construcción de un observador de estados para
un sistema no lineal, empleamos la misma técnica que utilizamos para sistemas lineales [86]. El observador de estados nos quedará como se puede ver
en las ecuaciones 5.11 y 5.12.
x̂˙ = f (x̂) + Ke · (ŷ − y)
(5.11)
ŷ = h(x̂)
(5.12)
A la hora de diseñar la matriz de ganancias Ke existen diversas propuestas en la literatura. Entre ellas podemos destacar [121], en donde Zeitz
presenta una extensión del observador de Luenberger para ser aplicado en
sistemas no lineales. En este artículo se propone un conjunto de ecuaciones
para el cálculo de la matriz Ke . Posteriormente, Adjallah et al. [2] también
proponen un método para el cálculo de dicha matriz.
Al igual que ocurría en el caso lineal, consideramos el error en la estimación del estado de la siguiente manera:
ė = x̂˙ − ẋ = f (x̂) − f (x) + Ke · (h(x̂) − h(x))
Aunque en este caso la dinámica del error será no lineal, por lo que no queda
del todo clara la estabilidad en la dinámica del error.
Debido a que la estabilidad de un sistema linealizado en torno a un
punto fijo implica estabilidad local para el sistema no lineal correspondiente
en torno a dicho punto fijo, podemos intentar linealizar la dinámica del error
en torno a su punto fijo (e = 0) [86]:
ė = f (x̂) − f (x) + Ke (h(x̂) − h(x))
= f (x + e) − f (x) + Ke (h(x + e) − h(x))
δh
2
= ( δf
δx (x) + Ke δx (x))e + O(e )
De tal forma que el sistema linealizado es [86]:
δf
δh
(x) + Ke (x))e
δx
δx
Desafortunadamente, dicha linealización depende directamente de un estado x que, por una parte no es una cantidad fija, y, por otra parte es
desconocida para nosotros, por lo que no podemos garantizar la estabilidad
del sistema.
ė = (
62
5.3.1.2
5.3. Observadores de Estado para Sistemas No Lineales
Métodos de Lyapunov
Los métodos de Lyapunov [86] intentan solucionar el problema de la falta
de estabilidad en la aproximación lineal. Se trata de utilizar la teoría de
estabilidad de Lyapunov para analizar y determinar las condiciones bajo las
cuales la dinámica del error no lineal tiene un comportamiento estable en
torno a un punto fijo (e = 0). Como resultados más importantes dentro de
esta aproximación podemos destacar los trabajos de Kou et al. [61] y de
Thau [105].
Por lo general se trata de una aproximación teórica, que raramente ofrece
la posibilidad de construir dichos observadores, ya que no da ninguna pista
sobre la manera en la que construir las funciones de Lyapunov ni cómo
diseñar el observador.
5.3.1.3
Método de Linealización Extendida
El método de linealización extendida utiliza la inyección de salida, al igual
que para la aproximación lineal, excepto que ahora este término inyectado
es de tipo no lineal. El método de linealización extendida fue propuesto por
Baumann y Rugh [11]. El método propuesto consiste en utilizar la inyección de salida no lineal con la intención de lograr que la dinámica del error
linealizado tenga autovalores localmente constantes.
A pesar de que Baumann y Rugh demostraron para el sistema del péndulo invertido que los resultados obtenidos son mejores que los que se pueden
obtener linealizando el sistema y diseñando un observador lineal, la aproximación tiene ciertas limitaciones. Primero, cabe destacar que el observador
está diseñado de manera que sólo puede operar en torno a un conjunto de
puntos del sistema original (aunque esto hace que funcione bien como controlador). Además, resulta complicada su extensión para sistemas con múltiples
entradas.
5.3.1.4
Técnicas Lie-algebraic
La idea básica de estas técnicas consiste en transformar los sistemas no lineales en sistemas en los que sea válida la teoría para sistemas lineales. En la
literatura podemos encontrar múltiples aportaciones, entre las que cabe destacar el trabajo Keller [58] y el trabajo de Krener e Isidori [62]. La ventaja
de estas técnicas es que explotan el enorme conocimiento disponible para
el diseño de observadores lineales reduciendo el problema del observador no
lineal a un problema que pueda ser manejado con técnicas lineales.
El problema a la hora de su aplicación es que el sistema lineal sobre el que
aplicarla debe cumplir una serie de restrictivas propiedades, y que (aunque
las cumpla) encontrar la transformación del sistema no resulta una tarea
sencilla.
5. Observadores de Estados
5.3.2
63
Métodos Basados en el Filtro de Kalman
Una de las herramientas más usadas para la construcción de observadores de
estados (y para otro gran número de aplicaciones) es el filtro de Kalman. En
1960 Rudolph E. Kalman publicó su famoso artículo [56] en el que establece
los fundamentos de esta técnica. Desde entonces, han surgido multitud de
aplicaciones, herramientas, trabajos y libros describiendo y ampliando las
cualidades de este filtro. Entre ellos cabe destacar [43] y [6] como dos de los
libros más completos sobre el tema, y más recientemente el curso de Welch
y Bishop [118] como una completa introducción.
El filtro de Kalman es esencialmente un conjunto de ecuaciones matemáticas que implementan un estimador del tipo predictor-corrector que es
óptimo en el sentido de que minimiza la covarianza del error estimado. La
gran ventaja del filtro de Kalman es su relativa “sencillez” y su robustez, ya
es capaz de trabajar considerablemente bien en multitud de situaciones.
5.3.2.1
Filtro de Kalman Discreto
Supongamos que tenemos un sistema lineal discreto en espacio de estado con
la siguiente forma:
xk = Axk−1 + Buk + wk−1
yk = Cxk + vk
Donde wk es una variable que representa el ruido en el proceso y vk representa
el ruido en la medida. Ambas variables son independientes la una de la otra
(no correlacionadas), blancas, y con una distribución normal de probabilidad:
p(wk−1 ) ∼ N (0, Q)
p(vk ) ∼ N (0, R)
El filtro de Kalman realiza estimaciones de las variables de estado de un
proceso utilizando una especie de “control realimentado”: el filtro estima el
estado del proceso en un instante de tiempo y posteriormente obtiene una
realimentación de las medidas. Por esto, podemos dividir las ecuaciones del
filtro de Kalman en dos grupos: actualización en el tiempo (conocida como
predicción) y actualización en las medidas (conocida como corrección)3 .
En la figura 5.3 podemos ver un esquema a “alto nivel” del funcionamiento
del filtro de Kalman dividido en estas dos etapas.
3
Para una clara compresión de los conceptos del filtro de Kalman, las variables y
algunas matrices llevan un doble subíndice (por ejemplo, x̂k−1|k−1 ). El significado del
primer término del subíndice se corresponde con el instante de tiempo (k es el instante
actual, mientras que k − 1 es el instante anterior). El significado del segundo término del
subíndice se corresponde con la fase del filtro de Kalman (k − 1 es la fase de predicción,
mientras que k es la fase de corrección).
64
5.3. Observadores de Estado para Sistemas No Lineales
xk|k-1
Pk|k-1
PREDICCIÓN
Valores
iniciales
yk
CORRECCIÓN
xk|k
Pk|k
Figura 5.3: Lazo del filtro de Kalman.
En la fase de predicción se realiza el cálculo del estado actual (ecuación 5.13) y de la covarianza del error (conocida como P ) a partir de la
covarianza del error en instante anterior (ecuación 5.14).
x̂k|k−1 = Ax̂k−1|k−1 + Buk
(5.13)
Pk|k−1 = APk−1|k−1 AT + Q
(5.14)
Durante la fase de corrección se realiza la actualización de la ganancia
de Kalman usando la covarianza del error calculada en la fase de predicción
(ecuación 5.15), se toman las medidas y se corrige la estimación del estado
calculado en la fase de predicción (ecuación 5.16), y por último se actualiza
la covarianza del error (P ) con la ganancia de Kalman y la covarianza del
error calculada en el instante anterior (ecuación 5.17).
Kk = Pk|k−1 C T (CPk|k−1 C T + R)−1
(5.15)
x̂k|k = x̂k|k−1 + Kk (yk − C x̂k|k−1 )
(5.16)
Pk|k = (I − Kk C)Pk|k−1
(5.17)
El filtro de Kalman resulta bastante fácil de calcular debido que es prácticamente lineal (excepto por la inversión de la matriz). También se puede
probar que el filtro de Kalman es un estimador óptimo del estado de un
proceso, dada una métrica de error cuadrática. Para más información sobre
el filtro de Kalman, aplicaciones y fundamentos tanto computacionales como
estadísticos, se recomienda [6], [43] o [118] entre otros.
5.3.2.2
Filtro de Kalman Extendido
El filtro de Kalman extendido (EKF, extended Kalman filter) [6, 43, 118] es
una variación del filtro de Kalman para tratar el problema de la estimación
de estados cuando estamos trabajando con un sistema que es no lineal.
5. Observadores de Estados
65
Supongamos que tenemos un sistema no lineal con la siguiente forma:
xk = f (xk−1 , uk , wk−1 )
yk = h(xk , vk )
Al igual que para el filtro de Kalman discreto, wk es una variable que
representa el ruido en el proceso y vk representa el ruido en la medida. Ambas
variables son independientes la una de la otra (no correladas), blancas, y con
una distribución normal de probabilidad:
p(wk−1 ) ∼ N (0, Qk−1 )
p(vk ) ∼ N (0, Rk )
La forma del filtro de Kalman extendido es similar a la del filtro de Kalman discreto, sólo que ahora estamos tratando con un sistema no lineal que,
por tanto, tiene que ser linealizado para poderle aplicar el filtro de Kalman.
EKF soluciona este problema de la linealización calculando las matrices jacobianas de f y h en torno al estado estimado:
• A será la jacobiana de la función de estado f respecto al estado x:
A[i,j] =
δf[i]
(x̂
, uk , 0)
δx[j] k−1|k−1
(5.18)
• W será la jacobiana de la función de estado f respecto al ruido en el
modelo w:
W[i,j] =
δf[i]
(x̂
, uk , 0)
δw[j] k−1|k−1
(5.19)
• C será la jacobiana de la función de salida h respecto al estado x:
C[i,j] =
δh[i]
(x̂
, 0)
δx[j] k|k−1
(5.20)
• V será la jacobiana de la función de salida h respecto al ruido en el
sensor v:
V[i,j] =
δh[i]
(x̂
, 0)
δv[j] k|k−1
(5.21)
Al igual que antes, en la fase de predicción se realiza el cálculo del
estado actual (ecuación 5.22) y de la covarianza del error (conocida como P )
a partir de la covarianza del error en instante anterior (ecuación 5.23).
x̂k|k−1 = f (x̂k−1|k−1 , uk , 0)
(5.22)
Pk|k−1 = Ak Pk−1|k−1 ATk + Wk Qk−1 WkT
(5.23)
66
5.3. Observadores de Estado para Sistemas No Lineales
Para la fase de corrección del filtro de Kalman extendido, también se
realiza la actualización de la ganancia de Kalman usando la covarianza del
error calculada en la fase de predicción (ecuación 5.24), se toman las medidas y se corrige la estimación del estado calculado en la fase de predicción
(ecuación 5.25), y por último se actualiza la covarianza del error (P ) con
la ganancia de Kalman y la covarianza del error calculada en el instante
anterior (ecuación 5.26).
Kk = Pk|k−1 CkT (Ck Pk|k−1 CkT + Vk Rk VkT )−1
(5.24)
x̂k|k = x̂k|k−1 + Kk (yk − h(x̂k|k−1 , 0))
(5.25)
Pk|k = (I − Kk Ck )Pk|k−1
(5.26)
Como vemos, el filtro de Kalman extendido es una forma de obtener
aproximaciones de primer orden de los términos óptimos. Cuando el modelo
es extremadamente no lineal, estas aproximaciones pueden generar esperanzas y covarianzas muy distintas a las esperanzas y covarianzas reales. Estas
discrepancias, pueden conducir a un mal funcionamiento del filtro o incluso
a su divergencia [116]. Otro inconveniente del filtro de Kalman extendido es
que requiere el cálculo de las matrices jacobianas (ecuaciones 5.18 a 5.21),
lo cual no es trivial en la mayoría de los casos, pudiendo producirse errores
de cálculo difíciles de detectar.
5.3.2.3
Unscented Kalman Filter
A pesar de las ventajas que EKF proporciona para su uso en sistemas no
lineales, como acabamos de ver también tiene ciertos problemas o inconvenientes. Con la intención de solucionar estos problemas surgió el Unscented
Kalman Filter (UKF). UKF fue propuesto por Julier y Uhlmann [55] y posteriormente ampliado y perfeccionado por Wan y van der Merwe [116].
En lugar de utilizar linealización de funciones, Julier y Uhlmann proponen realizar la transformación unscented. Esta transformación utiliza un
conjunto de puntos y los propaga a lo largo de la función no lineal, eliminando
así la linealización.
Al igual que EKF, el filtro de Kalman Unscented es recursivo y requiere
las dos etapas de predicción-corrección. La gran ventaja de esta técnica frente
a EKF es que evita el cálculo de las matrices Jacobianas, presentando además
una complejidad de cálculo numérico comparable a la del EKF, y además
genera estimaciones de mayor orden. Existen diversos trabajos que comparan
experimentalmente los resultados de ambas técnicas, entre ellos cabe destacar [80], que aplica ambas técnicas a un sistema de seguimiento de aviones
por radar, o [111] para un sistema de navegación.
5. Observadores de Estados
5.3.3
67
Métodos de Horizonte Móvil
Los métodos de horizonte móvil (Moving Horizon Estimator, MHE) [71], [94],
[47] realizan estimaciones de estados sin utilizar linealización del modelo ni
información estadística de las perturbaciones. MHE realiza las estimaciones
ajustando el modelo de acuerdo a un horizonte de datos pasados y estimando,
a partir del modelo ajustado, los nuevos datos.
La idea básica de estimación con horizonte móvil es utilizar únicamente
los N últimos datos para realizar la estimación. El horizonte se mueve hacia
delante en cada instante de muestreo para poder así utilizar las medidas
actuales. Supongamos que el horizonte comienza en un instante de muestreo
k − N , siendo k el instante de tiempo actual. MHE realiza un proceso de dos
pasos:
• Minimizar una función de coste (ecuación 5.27) con respecto al estado
inicial (x(k − N )) y a las perturbaciones del modelo (wk ). La función
de coste empleada (ecuación 5.27), es la medida de la distancia entre
la salida del sistema y la salida del estimador (ecuación 5.28) a lo largo
de un intervalo de tiempo anterior al instante de tiempo para el que se
requiere la estimación del estado (N intervalos hacia el pasado).
minx̂k−N |k ,ŵk−N |k ,...,ŵk−1|k
k−1
X
T
ŵj|k
Q−1 ŵj|k
j=k−N
v̂j|k = yj − hj (xj )
+
k
X
T
v̂j|k
R−1 v̂j|k(5.27)
j=k−N
(5.28)
• Posteriormente, partiendo del estado inicial óptimo y de las perturbaciones óptimas, se itera recursivamente el modelo desde el instante
t − N hacia el futuro para estimar el estado en el instante o instantes
siguientes.
En la figura 5.4 puede verse un esquema del funcionamiento del MHE.
En la literatura cabe destacar el trabajo de Haseltine y Rawlings [49]
en el que se compara “de manera crítica” la aproximación del estimador con
horizonte deslizante y el filtro de Kalman extendido como estimadores para
sistemas no lineales.
5.3.4
Programación Genética
Una propuesta adicional a la hora de estimar los estados de un sistema no
lineal consiste en utilizar algoritmos genéticos [119, 120, 83, 16]. Algunos
autores proponen la utilización de algoritmos evolutivos como solución a la
hora de seleccionar los valores más adecuados de la matriz de ganancias del
68
5.3. Observadores de Estado para Sistemas No Lineales
Estado x
Estimación para k
Estimación para k+1
k-N
k-N+1
k
k+1
Tiempo
N
Figura 5.4: Estimación por horizonte móvil.
observador. Consideremos el sistema no lineal de las ecuaciones 5.29 y 5.30:
xk = f (xk−1 , uk−1 )
(5.29)
yk = h(xk )
(5.30)
Para solucionar el problema de la construcción de un observador de estados se propone la siguiente estructura (ecuaciones 5.31 y 5.32):
x̂k|k = x̂k|k−1 + K(²k|k−1 , uk−1 ) · ²k|k−1
²k|k−1 = yk − h(x̂k|k−1 )
(5.31)
(5.32)
Donde ²k|k−1 indica el error a priori de la salida, x̂k|k−1 es el estado estimado
a priori, y K(·) es una función que depende directamente de las funciones del
error a priori del sistema y de la entrada. El problema radica en identificar
la función K(·) de tal manera que se minimice la media normalizada del
error en la salida (ecuación 5.33) dado un conjunto de pares entrada salida
{uk , yk }nk=1 .
s =
N
1 X
k²k k
N
(5.33)
k=1
En el caso de que se desconozca el modelo del sistema el problema se
puede reducir a la identificación simultánea del modelo del sistema y de la
matriz de ganancia [119].
Descargar