Estimadores de Estado

Anuncio
PS2316. Estimadores de estado
Williams Colmenares M.
Universidad Simón Bolı́var
Departamento de Procesos y Sistemas
11 de marzo de 2006
1.
Introducción
En el enfoque que utiliza los estados del sistema para control y que comúnmente denominamos
de realimentación de estados se realiza, de entrada, una suposición y es que todos los estados
están disponibles para poder ser realimentados.
¿Qué podemos hacer cuando queremos utilizar este enfoque de realimentación de estados pero
no todos los estados están disponibles para su realimentación?. Esta situación puede presentarse
con mucha frecuencia, ello porque o bien no es posible, o rentable, hacer una medición de
algunos de los estados o bien porque el modelo que se tiene del sistema fue obtenido de pruebas
experimentales de entrada - salida del sistema y poco o nada se sabe de las variables internas.
En este caso podemos implantar un sistema que, en función de las entradas y salidas del
sistema real haga una estimación de los estados (o variables internas) del sistema. A ese sistema
paralelo lo denominaremos Observador o Estimados de Estados.
Quizás el más famoso de los observadores es el Observador de Luenberger que describiremos
en la próxima sección.
Hay que señalar que la función principal de un observador es la de estimar los estados y que
se supone que hay un conocimiento perfecto del sistema, esto es, que el modelo que se tiene del
sistema refleja perfectamente la relación entre la entrada y la salida del sistema. El problema
es que, no teniendo acceso a todos los estados, no es posible conocer todas sus condiciones
iniciales. La función del observador es, entonces, ir reduciendo, a medida que avanza el tiempo,
la diferencia entre los estados reales y los estados estimados producto de esa diferencia en las
condiciones iniciales.
2.
El observador de Luenberger
Consideremos un sistema modelado en variables de estado representado por las ecuaciones:
ẋ(t) = Ax(t) + Bu(t)
y(t) = Cx(t), x(0) = x0 6= 0
(1)
en el que x(t) ∈ Rn , el par (u(t), y(t)) es escalar y las matrices (A, B, C) son perfectamente
conocidas.
1
El estimador de estados está compuesto por una reproducción del sistema más un término
adicional de corrección. La arquitectura del observador es:
˙
ξ(t)
= Aξ(t) + Bu(t) + L(y(t) − Cξ(t))
(2)
Observe que el observador reproduce la entrada y la salida del sistema y además corrige la
ecuación dinámica con un término que es proporcional al error entre la salida del sistema real
(y(t)) y la salida estimada (Cξ(t)).
Definiremos el error entre los estados reales del sistema y los estimados como: e(t) = x(t) −
ξ(t).
Entonces, la dinámica del error (ė(t)) será:
˙ = A(x(t) − ξ(t)) − LC(x(t) − ξ(t)) = (A − LC)e(t)
ė(t) = ẋ(t) − ξ(t)
y, entonces, ξ(t) → x(t) si los autovalores de la matriz A − LC son todos estables , i.e., están en
el semiplano izquierdo. Ello porque la solución de la ecuación ẋ(t) = (A − LC)e(t) es:
e(t) = e(A−LC)t e0 = e(A−LC)t (x(0) − ξ(0)) = e(A−LC)t x0
De modo que, si los autovalores de A − LC tienen todos partes reales negativas, el error
(e(t)) tiende a cero sin importar su condición inicial. Lo que quiere decir que, el observador
de Luenberger, bajo la suposición de conocimiento perfecto del sistema, a medida que pasa el
tiempo, mejora asintóticamente la estimación de los estados.
Remarcamos que, tal como estructurado el observador propuesto, el problema de diseño de
un estimador de estados se reduce a la determinación de una ganancia del observador L tal que
los autovalores de la matriz A − LC estén todos en el semiplano izquierdo (i.e., que todos tengan
parte real negativa), en ese sentido, el problema de diseño de un observador es equivalente a
aquel de localización de polos por realimentación de estados y, por ejemplo, podemos usar los
mismos comandos de MATLABr , a saber, place o acker, para calcular L. En este caso AT juega
el papel de A y C T juega el papel de B. La K obtenida de esta manera es la transpuesta de L,
(L = K T ).
Para la ubicación de los polos del observador sólo debemos tomar en cuenta que éstos deben
estar más a la izquierda en el Semiplano Izquierdo que los polos del sistema con realimentación
de estados, esto es, que la dinámica del observador debe ser más rápida que la del sistema que
debe observar si queremos tener un estimado de los estados adecuado.
Nos preguntamos ahora si es posible utilizar el estimado de los estados para fines de control.
Respondemos a esta pregunta en la próxima sección.
3.
Diseño de sistemas de control basados en estimadores
En esta sección presentaremos un esquema de realimentación de estados para control pero,
en lugar de utilizar los estados se utilizarán los estimados de los estados, esto es, u(t) = −Kξ(t).
En lo que sigue supondremos que tanto la K de realimentación de estados como la L del
observador han sido calculadas.
Al cerrar el lazo (reemplazando u(t)) resulta:
ẋ(t) = Ax(t) − BKξ
˙
ξ(t)
= Aξ(t) − BKξ(t) + L(y(t) − Cξ(t)) = (A − BK − LC)ξ(t) + LCx(t)
2
En forma matricial resulta:
¸
·
¸·
¸ ·
ẋ(t)
x(t)
A
−BK
=
˙
ξ(t)
LC A − BK − LC
ξ(t)
(3)
Observe que en (3) hemos tomado como variables de estado del sistema aumentado a los
estados del sistema original (x(t)) y a los estimados de los estados (ξ(t)). En lugar de esos estados,
hubiésemos tomado a los estados del sistema original (x(t)) y al error (e(t) = x(t) − ξ(t)), lo que
es equivalente a:
·
¸ ·
¸
¸·
x(t)
x(t)
I 0
=
e(t)
ξ(t)
I −I
| {z }
T
En cuyo caso hubiésemos obtenido (observe que T = T −1 ):
¸
·
¸ ·
¸·
x(t)
ẋ(t)
A − BK
BK
=
e(t)
ė(t)
0
A − LC
{z
}
|
(4)
Ā
Como la matriz Ā es diagonal en bloques entonces sus autovalores serán aquellos de las
matrices de su diagonal, es decir, los autovalores de A − BK y los de A − LC.
Este resultado, que comúnmente es conocido como el teorema de separación, lo que nos dice
es que si usamos el observador de Luenberger para estimar los estados y usamos esa estimación
para controlar, los polos del sistema de lazo cerrado serán aquellos que hubiésemos obtenido
del esquema de realimentación de estados más los polos de la dinámica del error y que cada
problema lo podemos trabajar de manera independiente (separados) como uno de ubicación de
polos (la K para A − BK y la L para A − LC).
4.
Una visión clásica del estimador de estados en control
Aunque no deja de ser interesante tener una arquitectura de estimación de los estados que no
pueden ser directamente medidos, en estos apuntes nos concentraremos en su uso para control.
Por ello revisemos con un poco más de detalle la ecuación del observador cuando se usa para
control, esto es:
˙
ξ(t)
= Aξ(t) + Bu(t) + L(y(t) − Cξ(t))
(5)
u(t) = −Kξ(t)
Al reemplazar u(t) resulta:
˙
ξ(t)
= (A − BK − LC)ξ(t) + Ly(t)
u(t) = −Kξ(t)
(6)
y que nosotros podrı́amos interpretar, desde el enfoque clásico de entrada salida, como un controlador cuya entrada es y(t) y cuya salida es u(t). En ese caso la matriz de dinámica del controlador
es A − BK − LC, el vector de entrada es L y el de salida es K y el signo − lo pondremos en el
lazo cerrado para construir la realimentación negativa.
De este modo, al conjunto realimentación de estados + estimador de estados podemos interpretarlo como un controlador cuya función de transferencia es:
Gc (s) = K(sI − A + BK + LC)−1 L
3
(7)
5.
Comentarios
En estos apuntes estamos concentrados en sistemas que tienen una entrada y una salida.
Además hemos supuesto que la salida que se desea controlar es, junto con las entrada del sistema,
la única información que se da al observador para que pueda realizar su trabajo de estimación.
En muchas circunstancias, aunque no todos los estados están disponibles para su realimentación, sı́ hay información directa de algunos estados no todos controlados. En ese caso, ¿para
qué estimar aquellos estados que pueden ser directamente medidos?. Su estimación sólo se justificarı́a si la medición fuese sumamente ruidosa y, de alguna manera, quisiera filtrarse la medición.
En los casos en los que se pueden medir más estados que los que se controlan se podrı́an
aplicar estimadores de estado de orden reducido, de modo que sólo se estimaran aquellos no
directamente medibles. Dejamos al lector la pesquisa requerida sobre los estimadores de orden
reducido.
Muy asociado al hecho de las salidas medibles y las controlables que acabamos de comentar
está la situación en la que a priori añadimos un integrador en el lazo porque se nos especifican
condiciones de seguimiento o rechazo perfecto (lo que ocurre en el 90 % de los controladores).
En ese caso, al añadir el integrador a la salida como hemos hechoR en casos anteriores, lo que
estamos haciendo es añadiendo una variable de estado adicional ( y) que además también es
medible. Para efectos
R del enfoque de control con observadores, lo que haremos es considerar que
esa nueva salida ( y) es la salida controlable del sistema (la que va al observador) y para ese
sistema (con el integrador) calculamos el controlador basado en el estimador (ver ecuación (7)).
Formalmente lo que tendrı́amos entonces es un lazo de realimentación unitaria con el controlador calculado (Gc (s)) luego la planta a controlar (G(s)) y el integrador. Pero en la implantación
lo que haremos es añadir el integrador a Gc (s) haciendo que en realidad nuestro controlador sea
C(s) = Gc (s)/s). Ello lo podemos justificar porque en el ámbito de los sistemas lineales de una
entrada y una salida al integrador lo podemos llevar de “después” de la planta a “antes”
de la
R
planta y en realidad lo que estamos es cambiando la salida que queremos controlar de y a y(t).
También porque en los enfoques que usan los estados y sus estimados lo que se hace realmente es
ubicar los polos del lazo y ellos son independientes de las entradas y salidas que luego escojamos
en el lazo (suponiendo que no hay cancelación de polos y ceros), entonces, podemos escoger para
la entrada aquella en la que podemos comparar en las mismas dimensiones con la salida que
queremos controlar y además lograr que el modelo de la perturbación o seguimiento esté en la
trayectoria adecuada del lazo.
6.
Caso de estudio
Retomemos el sistema que hemos venido trabajando en estos apuntes, al que le hemos añadido
un integrador (la tercera variable de estado) para asegurar rechazo perfecto de perturbaciones
4
estacionarias.



 
−3 −0,25 0
ẋ1 (t)
x1 (t)
 ẋ2 (t)  =  8
+
0
0   R x2 (t)
0
0,5 0
y(t)
(y(τ )dτ )
|
|
{z
}
A


x1 (t)
£
¤

0 0,5 0  R x2 (t)
y(t) =
(y(τ )dτ )

x
1 (t)
£
¤
R


x2 (t)
0 0 1
y(τ )dτ =
{z
} R (y(τ )dτ )
|
C


0,5
0  u(t)
0
{z }
B
que equivale,Ren representación entrada salida, entre la señal de control y la nueva variable de
estado (u → y), a:
2
G(s) =
2
s(s + 3s + 2)
Observe Rel integrador añadido y que se ve en la función de transferencia porque la salida
escogida es y.
Para este sistema, en ejercicios previos, hemos calculado, usando la estrategia de control
óptimo, una ganancia de realimentación de estados que asegura un tiempo de respuesta del
sistema en el orden de 10 s (tiempo de estabilización criterio de 2 %) y un margen de fase de 60 o
sin, prácticamente, sobrepico.
La ganancia calculada fue:
£
¤
K = 0,7656 0,3054 0,4714
Los polos del sistema a lazo cerrado están en: −2,0177 y −0,6825 ± 0,0375i.
Para el cálculo de la ganancia del observador lo único que necesitamos es la ubicación de sus
polos y que, sabemos, deben estar más a la izquierda en el semiplano izquierdo.
Escogemos para el observador un tiempo de respuesta de 4 segundos y usamos los polinomios de Bessel para determinar los polos requeridos que, en este caso son: p = (−0,9917 ±
0,9461i; −1,2523).
Usamos la función place para determinar L (LT =place(AT , C T , p)) obteniendo:


−0,7712
L =  3,3106 
0,2357
El controlador dinámico obtenido del controlador es:
0,5318s2 + 1,629s + 1,109
Gc (s) = 3
s + 3,619s2 + 5,674s + 4,217
y el controlador
C(s) =
(0,5318s2 + 1,629s + 1,109)
s(s3 + 3,619s2 + 5,674s + 4,217)
Al ensayar el controlador en el sistema resulta la respuesta que se presenta en la figura (1).
5
Step Response
1
0.9
0.8
0.7
Amplitude
0.6
0.5
0.4
0.3
0.2
0.1
0
0
1
2
3
4
5
6
7
8
9
10
Time (sec)
Figura 1: Respuesta temporal del sistema a lazo cerrado.
6
Descargar