Sistemas dinamicos Realimentacion de la salida 1 /59 Contenido 1. El estimador de estado 2. El observador a lazo abierto 3. El observador a lazo cerrado 4. Diseño del observador 5. El observador de orden reducido 2 /59 EL ESTIMADOR DE ESTADO 3 /59 El observador de estado El control por realimentacion de estados asume la disponibilidad de todas las variables de estado. u r Kx » En la practica, sin embargo, este puede no ser el caso, ya sea porque ciertos estados no son medibles, o es muy dificil o muy caro medirlos. 4 /59 El observador de estado A fin de implementar una realimentacion de estados debemos entonces diseñar un dispositivo dinamico cuya salida sea una estimacion del vector de estados: El observador de estados x̂ x Ax Bu y Cx es una estimacion de x 5 /59 Arquitectura del control Se asume el sistema conocido, con D = 0 u t u t Kxˆ t Se usa una estimacion del estado para generar el control x Ax Bu y Cx Resultados validos si D 0 remplazando y(t) por y t y t Du t Open Loop System x t 1 C sI A B xˆ t K State Observer Compensator 6 /59 EL OBSERVADOR A LAZO ABIERTO 7 /59 El observador a lazo abierto u (t ) b x Idea: 1 s x A Conociendo A y B, duplicar la ecuacion de estados original b x̂ 1 s A Usando solo la entrada para exitar el estimador de lazo abierto Si el sistema y el observador tienen las mismas condiciones iniciales, entonces, x̂ t x t para, t 0 para cualquier entrada c y (t ) x Ax Bu y Cx x̂ xˆ Axˆ Bu 8 /59 Calculo del estado inicial ¿Como hallar el estado inicial x(0) del sistema para usarlo en el observador? Si el sistema es observable, su estado inicial x(0) puede ser calculado de u y y en cualquier intervalo de tiempo, por ejemplo, [0, t1]. 9 /59 Calculo del estado inicial Pasos a implementar en el observador: 1. Calcular el estado inicial x(0) 2. Calcular el estado en t2 y hacer xˆ (t2 ) x(t2 ) t2 t1 Entonces: xˆ (t ) x(t ) para todo t t2. ¿algun problema? 10 /59 Dinamica del error La ecuacion del error de estimacion esta dada por At ˆ x t x t x t e x 0 Si A es Hurwitz, entonces x t → 0 cuando t → ∞. Por lo tanto, la dinamica del error esta completamente determinada por la dinamica en lazo abierto del sistema (los valores propios de la matriz A). ¿algun problema? 11 /59 Limitaciones del observador a lazo abierto El observador en lazo abierto tiene las siguientes importantes desventajas: Aun con la matriz A estable, esta dinamica pudiera ser muy lenta. Si A tiene autovalores con parte real positiva, » entonces cualquier pequeña diferencia entre x(t 0 ) y xˆ (t0 ) para algun t0, causada por un disturbio o una imperfeccion en la estimacion del estado inicial, hara que: x t xˆ t crezca con el tiempo 12 /59 EL OBSERVADOR A LAZO CERRADO 13 /59 El observador a lazo cerrado Observador a lazo cerrado = estimador asintotico Usando la entrada y la salida A, B and C son conocidos 14 /59 El observador a lazo cerrado Estimador a lazo cerrado = estimador asintotico A, B and C son conocidos y t y t Cxˆ t El error de estimacion de la salida, y t pasando por una ganancia constante L, es usado como un termino de correccion. Si el error es cero, no es necesaria ninguna correcion. 15 /59 El observador a lazo cerrado Estimador a lazo cerrado = estimador asintotico A, B and C son conocidos Forma simplificada Si la diferencia no es cero y si la ganancia L se diseña apropiadamente, la diferencia llevara al estado estimado a su estado real xˆ Axˆ Bu L( y Cxˆ ) ( A LC ) xˆ Bu Ly 16 /59 El error de estimacion x Ax Bu; y Cx El estado verdadero: El estado de estimado: xˆ ( A LC )xˆ Bu Ly El error de Estimacion: x : x xˆ La dinamica del error x x xˆ ( A LC ) x Si todos los autovalores de (A LC) pueden ser asignados arbitrariamente, podemos controlar la velocidad con que el error de estimacion se aproxima a cero No hay necesidad de calcular el estado inicial de la ecuación de estado original. 17 /59 Teorema Teorema de la asignacion de Autovalores en observadores Considere el par (A, C) Todos los autovalores de (A LC) pueden asignarse arbitrariamente seleccionando un vector real L si y solo si (A, C) es observable. x x xˆ ( A LC ) x 18 /59 Teorema Teorema de la signacion de Autovalores en observadores Considere el par (A, C). Todos los autovalores de (A LC) pueden asignarse arbitrariamente seleccionando un vector real L si y solo si (A, C) es observable. Prueba: Recurriendo a la dualidad controlabilidad/observabilidad, el par (A, C) es observable si y solo si (AT, CT) es controlable. Si (AT, CT) es controlable todos los autovalores de (AT CTK) pueden asignarse arbitrariamente mediante una eleccion adecuada de K. La transpuesta de (AT CTK) es (A KTC) y por lo tanto, hacemos L = KT. 19 /59 Teorema Teorema de la signacion de Autovalores en observadores Considere el par (A, C). Todos los autovalores de (A LC) pueden asignarse arbitrariamente seleccionando un vector real L si y solo si (A, C) es observable. Si (AT, CT) es controlable todos los autovalores de (AT CTK) pueden asignarse arbitrariamente mediante una eleccion adecuada de K. La transpuesta de (AT CTK) es (A KTC) y por lo tanto, hacemos L = KT. El mismo procedimiento usado para calcular la matriz de realimentacion de estados K sirven para calcular la matriz L del observador. 20 /59 Procedimiento de diseño del observador Obtener el par (AT, CT). Si el par es controlable continuar Elegir los valores propios deseados del observador en lazo cerrado Usando (AT, CT), calcular la matriz de realimentacion K mediante el procedimiento para la asignacion de autovalores, via la forma canonica. con la funcion K = place(AT, CT,P) de MATLAB Obtener L = KT 21 /59 REALIMENTACION DE LA SALIDA 22 /59 Arquitectura del control Se asume el sistema conocido, con D = 0 u t Kxˆ t u t Se usa una estimacion del estado para generar el control x Ax Bu y Cx Resultados validos si D 0 remplazando y(t) por y t y t Du t Open Loop System x t 1 sI A B xˆ t K Compensator y t C B sI A C 1 L Estimator 23 /59 Dinamica del estado en lazo cerrado Definiendo el estado del sistema aumentado, en lazo cerrado x I 0 x xa xˆ x I I » Partiendo de las ecuaciones x Ax Bu; y Cx x 0 x0 xˆ ( A LC )xˆ Bu Ly xˆ 0 xˆ0 u Kxˆ 24 /59 Dinamica del estado en lazo cerrado » Dinamica del estado, en lazo cerrado x Ax BKxˆ u Kxˆ Ax BKxˆ BKx BKx A BK x BK x xˆ A BK x t BKx » Dinamica del error x x xˆ ( A LC ) x 25 /59 Dinamica del estado en lazo cerrado La dinamica del sistema aumentado: x A BK x t BKx A BK xa 0 BK x A LC x x x xˆ ( A LC ) x x0 xa 0 ˆ x0 x0 xa Los autovalores del sistema realimentado son la union de los autovalores de A BK y A LC 26 /59 Caracteristicas x A BK x 0 BK x B r A LC x 0 x y C 0 x La ecuacion de estado resultante no es controlable y la funcion de transferencia es igual a x ( A BK )x Br y Cx ˆg f ( s ) C ( sI A BK ) 1 B Esta es la funcion de transferencia del sistema realimentado original sin usar el estimador de estado El estimador es completamente cancelado en la funcion de transferencia desde r a y 27 /59 Diseño del control Los autovalores del sistema realimentado son la union de los autovalores de A BK y A LC Esta es la propiedad de la separacion: la solucion en dos diseños separados Obtener los autovalores deseados de A – BK seleccionando la ganancia de realimentacion Obtener los autovalores deseados de A – LC seleccionando la ganancia del observador 28 /59 Ejemplo 1 Diseñar la realimentacion de estado u = r Kx para ubicar los autovalores en 1 y 2. 0 1 0 x x u 1 1 1 y 1 0x Solucion: 1 0 0 1 0 A BK k1 k2 1 k 1 k 1 1 1 1 2 f ( s) sI ( A BK ) s 2 (k2 1) s (1 k1 ) ( s 1)( s 2) k1 3, k2 4 29 /59 Ejemplo 1 Diseñar la realimentacion de estado u = r Kx para ubicar los autovalores en 1 y 2. Realimentacion de estado: u r 3 4x 1 0 0 x x r 2 3 1 y 1 0x 30 /59 Ejemplo 1 Sistema original: 0 1 0 x x u 1 1 1 y 1 0x 1 0 0 x r Sistema realimentado: x 2 3 1 y 1 0x 1 1 u r 3 4x r + u + x 2 x2 x1 1 y -4 -3 31 /59 Ejemplo 1 Diseñar el estimador de estado completo con autovalores en 4 y 5. Solucion: l1 1 0 1 l1 A LC 1 0 l 1 l 1 1 1 2 2 o ( s) sI ( A LC ) s 2 (l1 1) s (l2 l1 1) ( s 4)( s 5) l1 10, l2 31 32 /59 Ejemplo 1 Diseñar el estimador de estado completo con autovalores en 4 y 5. 1 1 Es estimador de estado: r + u + x 2 xˆ ( A LC )xˆ Bu Ly x1 1 y 1 1 10 1 0 10 xˆ u y 30 1 1 31 x2 31 10 + x̂2 + 1 x̂1 -10 -30 -3 -4 33 /59 Ejemplo 2 Diseñar el observador para el pendulo invertido en el carro m 0 0 x t 0 0 l 0 0 1 0 1 0 x t u t 0 0 1 0 2 0 5 0 1 0 A u b 1 0 0 0 y t x t 0 0 1 0 M C y x1 y x2 y x3 x4 34 /59 Ejemplo 2 Comprobamos si el par (AT, CT) es controlable desde la primera salida y1 y y2 T Q C CA T C 1 0 0 0 1 0 3 T CA 0 0 CA 2 T x1 0 1 0 0 0 1 0 0 0 1 0 0 matlab sysO = ss(A',C',C,D) Q = ctrb(sysO) 35 /59 Ejemplo 2 Se seleccionan los autovalores deseados del observador escogidos por las propiedades de la respuesta 3 10 10 j 4 10 10 j 1 15 5 j 2 15 5 j Polinomio caracteristico deseado en lazo cerrado q s s 10 10 j s 10 10 j s 15 5 j s 15 5 j s 2 20s 200 s 2 30s 250 s 4 50 s3 1050 s 2 11000 s1 50000 s 0 3 2 1 0 36 /59 Ejemplo 2 Polinomio caracteristico en lazo abierto q s det sI A 4 3 2 1 s 0 s 5 s 0s 0 s 3 2 1 0 0 Ganancia del observador, para el sistema en la forma canonica L1 0 0 1 1 2 2 3 3 T T L1 50000 11000 1055 50 37 /59 Ejemplo 2 La ganancia de realimentacion en las coordenadas originales es, L L P L CC T T P 1 B Finalmente T AB 1 A2 B 1 1 2 3 0 1 1 2 A3 B 0 0 1 1 0 0 0 1 T L1 50 1055 11250 55275 38 /59 Ejemplo 2 L L1 0 El observador xˆ A LC xˆ Bu Ly y Cxˆ 50 1055 xˆ 11250 55275 0 0 50 1 1055 0 1 0 xˆ u 0 0 1 0 11250 2 55275 0 5 0 1 0 0 0 y 0 0 39 /59 Ejemplo 2 El observador con realimentacion Para K 5 3 11 u Kxˆ r 103 13 3 12 2 1 0 0 50 50 1053 3.667 1055 7.583 4.333 xˆ xˆ 0 0 1 11250 11250 55272 7.333 12.167 8.667 55275 0 1 r 0 2 0 0 y 0 0 40 /59 Ejemplo 2 0.1 Comparacion Observer feedback State feedback 0 Cart position -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 0 1 2 3 4 5 6 7 Time (s) 0.1 Observer feedback State feedback Cart position 0.05 0 -0.05 -0.1 -0.15 0 1 2 3 4 Time (s) 5 6 7 41 /59 Ejemplo 3 Considere el péndulo invertido del ejemplo anterior Sean los autovalores deseados 1.50.5j y 1j . EJERCICIO: Diseñar el controlador con observador y construir y observar el comportamiento del sistema en lazo cerrado en Simulink MATLAB tiene la funcion K = place(A,B,P) que calcula K para ubicar los autovalores en los valores dados en el vector P. 42 /59 EL OBSERVADOR DE ORDEN REDUCIDO 43 /59 El observador de orden reducido Se supondra, ahora, que q de los n estados del sistema pueden ser medidos en forma directa. » Estos estados se agrupan en el vector x1 x1T x1 , x2 , , xq » mientras que los restantes n − q estados se agrupan en x2T xq 1 , xq 2 , , xn » La ecuacion de estado original x Ax Bu : y Cx A : n n, B : n p, C : q n C tiene rango completo de fila 44 /59 El observador de orden reducido Si C = [ I 0 ], entonces y(t) son los primeros q estados definiendo, 1 T Q1 CT CC R nq CQ1 I q 45 /59 El observador de orden reducido definiendo Q2 R n n q : CQ2 0 y rank Q2 n q Una base para Null(C) 1 T T nq R Q2 Q2 Q2 R 1 T T RQ2 Q2 Q2 Q2 Q2 I n q n q 46 /59 El observador de orden reducido 47 /59 El observador de orden reducido Definiendo la transformacion P Q : P 1 Q1 Q 2 Q1 : n q, Q 2 : n (n q ) CQ1 CQ2 I q 0 C I n PQ Q1 Q2 0 I RQ RQ R nq 1 2 Por la transformacion x Px x1 A11 A12 x1 B1 x PAP x PBu u x2 A 21 A 22 x2 B2 : 1 y C P x I q 0 x y I q 0 x x1 1 48 /59 El observador de orden reducido Todos los estados x1 son accesibles. Solo necesitan ser estimados los ultimos nq elementos de x Usando y x1 , tenemos x2 A 21 y A 22 x2 B2u y A11 y A12 x2 B1u Definiendo, u A 21y B2u w y A11y B1u x1 A11 A12 x1 B1 u x2 A 21 A 22 x2 B2 y I q 0 x x1 En la ecuacion de salida se ha puesto de manifiesto que todos los estados x1 son accesibles y seran tomados como salidas para su realimentacion x 2 A 22 x 2 u w A12 x 2 49 /59 El observador de orden reducido El problema se reduce a diseñar un observador para el sistema: x 2 A 22 x 2 u w A12 x 2 Definiendo, u A 21y B2u w y A11y B1u 50 /59 El observador de orden reducido El observador: xˆ 2 A 22 xˆ2 u L w A12 xˆ2 Definiendo, u A 21y B2u w y A11y B1u Requiere derivar la salida!! 51 /59 El observador de orden reducido Para eliminar la derivada, definir t xˆ 2 t Ly t Entonces, d d d t xˆ 2 t L y t dt dt dt 52 /59 El observador de orden reducido Para eliminar la derivada, definir t xˆ 2 t Ly t Entonces, d t A 22 LA12 t B 2 LB1 u t dt A 21 LA11 A 22 LA12 L y t 53 /59 El observador de orden reducido Entonces, d t A 22 LA12 t B 2 LB1 u t dt A 21 LA11 A 22 LA12 L y t Estimar: y t xˆ t t Ly t 54 /59 Realimentacion de los estados estimados El control se genera por la realimentacion de los estados estimados y t u t K P xˆ t K1 K 2 t Ly t y t u t Kxˆ t K1 K 2 y t t Ly t K1 K 2L K 2 y tt K1 K 2 L K 2 t 55 /59 Realimentacion de los estados estimados Sistema aumentado en lazo cerrado A BK d xa t dt 0 xa t A 22 LA12 BK 2 Existe separacion de los problemas de la estimacion de los estados y el control 56 /59 Realimentacion de los estados estimados Si (A, C) es observable, puede ser construido un estimador completo o de orden reducido con valores propios arbitrarios Si las variables de estado NO estan disponibles para realimentacion, podemos diseñar un estimador de estado u r kxˆ r (t ) u (t ) Plant k x̂ y (t ) Estimator 57 /59 Bibliografia A. D. Lewis, A Mathematical Approach to Classical Control, 2003, on line acces http://www.mast.queensu.ca/~andrew/teaching/ math332/notes.shtml Robert L., Williams, Douglas A. Lawrence “Linear State-Space Control Systems”, Wiley, 2007 58 /59 FIN 59 /59