DEPARTAMENTO DE ELECTRONICA FACULTAD DE CIENCIAS EXACTAS, INGENIERIA Y AGRIMENSURA UNIVERSIDAD NACIONAL DE ROSARIO CONTROL AVANZADO I TRABAJO PRACTICO 2: REALIMENTACION DE ESTADOS Marzo de 2011 CONTROL AVANZADO I 2011 1. INTRODUCCION El objetivo del trabajo práctico es aplicar la técnica de realimentación de estados a diferentes sistemas, mostrando algunos ejemplos donde la elección de los autovalores para el lazo cerrado puede resultar una tarea comprometida. A través de la simulación de dichos sistemas realimentados podrán observarse tales situaciones. 1.1. Realimentación de estados en sistemas continuos Sea el siguiente sistema dinámico lineal, multivariable, invariante en el tiempo, continuo de orden n, con m entradas y p salidas, expresado a través de sus variables de estados por el sistema de ecuaciones matriciales: Xɺ = A. X + B.U [ X ]nx1 , [ A]nxn , [ B]nxm , [U ]mx1 Y = C. X (1.1) [Y ]px1 , [C ]pxn donde X es el vector de estados, Y es el vector de salidas, A es la matriz de evolución, B es la matriz de control y C es la matriz de salida. El mismo puede representarse también a través del siguiente diagrama de bloques: U Xɺ B X Y C A La respuesta dinámica de dicho sistema continuo está determinada por los autovalores de la matriz de evolución A. Para modificar la dinámica del mismo la estrategia de control debe modificar dichos autovalores. Una de estas estrategias es la llamada realimentación de estados, la misma consiste en realimentar una combinación lineal de las variables de estado como la que se muestra en la siguiente ecuación: U = −K .X [ K ]mxn (1.2) la que gráficamente se refleja como: U B Xɺ X C Y A K Esta realimentación modifica la respuesta dinámica del vector de estados de la siguiente forma: Xɺ = A. X + B.U = A. X + B.(− K . X ) = ( A − B.K ). X = Aˆ . X (1.3) Aˆ = A − B.K Si el sistema es controlable siempre existe una matriz de realimentación K tal que los autovalores del sistema puedan ubicarse en un lugar arbitrario del plano complejo. Puede verse que la Trabajo Práctico 2 Realimentación de estados Pág. 2 de 9 CONTROL AVANZADO I 2011 nueva matriz de evolución Aˆ depende de las matrices A y B del sistema a controlar (matrices no modificables) y de la matriz K de la realimentación. Modificando los valores de K se modifican los de Aˆ , y en particular sus autovalores. 1.2. Realimentación de estados en sistemas discretos En este caso se parte de las ecuaciones diferencia del sistema: X (k + 1) = Φ. X (k ) + Γ.U (k ) Y ( k ) = C. X ( k ) [ X ]nx1 , [Φ]nxn , [Γ]nxm , [U ]mx1 (1.4) [Y ]px1 , [C ]pxn y la realimentación propuesta es: U ( k ) = − Kd . X ( k ) [ Kd ]mxn (1.5) la que gráficamente se refleja como: U(k) Γ X(k+1) Z-1 X(k) C Y(k) Φ Kd Esta realimentación modifica la respuesta dinámica del vector de estados de la siguiente forma: ˆ . X (k ) X (k + 1) = Φ. X (k ) + Γ.U (k ) = Φ. X (k ) + Γ.(− Kd . X (k )) = (Φ − Γ.Kd ). X (k ) = Φ (1.6) ˆ = Φ − Γ.Kd Φ Las mismas consideraciones realizadas para sistemas continuos se trasladan a los sistemas discretos: Si el sistema es controlable siempre existe una matriz de realimentación Kd tal que los autovalores del sistema puedan ubicarse en un lugar arbitrario del plano complejo. Modificando los valores de Kd se modifican los de Φ̂ , y en particular sus autovalores. Trabajo Práctico 2 Realimentación de estados Pág. 3 de 9 CONTROL AVANZADO I 2011 2. CALCULO DE LA MATRIZ K UTILIZANDO MATLAB Para calcular la matriz de realimentación K existen en MATLAB dos funciones. Estas funciones son acker y place. A continuación se muestra el help de cada una de ellas: » help acker ACKER Pole placement gain selection using Ackermann's formula. K = ACKER(A,B,P) calculates the feedback gain matrix K such that the single input system . x = Ax + Bu with a feedback law of u = -Kx has closed loop poles at the values specified in vector P, i.e., P = eig(A-B*K). See also PLACE. Note: This algorithm uses Ackermann's formula. This method is NOT numerically reliable and starts to break down rapidly for problems of order greater than 10, or for weakly controllable systems. A warning message is printed if the nonzero closed loop poles are greater than 10% from the desired locations specified in P. » help place PLACE K = place(A,B,P) computes the state feedback matrix K such that the eigenvalues of A-B*K are those specified in vector P. The complex eigenvalues in the vector P must appear in consecutive complex conjugate pairs. No eigenvalue may be placed with multiplicity greater than the number of inputs. The displayed "ndigits" is an estimate of how well the eigenvalues were placed. The value seems to give an estimate of how many decimal digits in the eigenvalues of A-B*K match the specified numbers given in the array P. A warning message is printed if the nonzero closed loop poles are greater than 10% from the desired locations specified in P. See also: LQR and RLOCUS. Trabajo Práctico 2 Realimentación de estados Pág. 4 de 9 CONTROL AVANZADO I 2011 3. DESARROLLO DEL TRABAJO PRACTICO 3.1. Influencia de los ceros en una realimentación de estados Dado el siguiente sistema continuo: Xɺ = A. X + B.U Y = C. X − 18 − 107 − 210 A = 1 0 0 0 1 0 3.1.1) 1 B = 0 0 C = [1 3 2] Calcular las matrices de realimentación de estados del sistema a lazo cerrado en los siguientes valores: i) K1 λ1 = λ 2 = λ 3 = −10 K1 , K2 y K3 que ubican los autovalores λ1 = λ 2 = λ3 = −25 iii) K3 λ1 = λ 2 = λ 3 = −40 ii) K2 [ --- Insertar aquí los cálculos pedidos --- ] 3.1.2) Observar y comparar la evolución de la salida de cada uno de los diferentes sistemas calculados anteriormente, actuando éstos como regulador, para cada una de las siguientes condiciones iniciales del vector de estado: i) X 01 = [10 0 0] ii) X 02 = [1 10 0] T T Realizar SOLAMENTE dos gráficas con tres trazos en cada una de las mismas, organizadas de la siguiente manera: K1 y condiciones iniciales X 01 sistema a L.C. realimentado con K2 y condiciones iniciales X 01 sistema a L.C. realimentado con K3 y condiciones iniciales X 01 Gráfica 1: sistema a L.C. realimentado con K1 y condiciones iniciales X 02 sistema a L.C. realimentado con K2 y condiciones iniciales X 02 Gráfica 2: sistema a L.C. realimentado con sistema a L.C. realimentado con K3 y condiciones iniciales X 02 [ --- Insertar aquí las gráficas pedidas --- ] 3.1.3) Verificar el cumplimiento del teorema 1 descripto en el apéndice presente en el final de esta guía. Extraer conclusiones. [ --- Insertar aquí la verificación pedida --- ] Trabajo Práctico 2 Realimentación de estados Pág. 5 de 9 CONTROL AVANZADO I 2011 3.2. Realimentación de estados en sistemas continuos El apunte Modelos Matemáticos presenta la descripción de diversos sistemas físicos junto con las ecuaciones que describen la dinámica de los mismos. Cada grupo trabajará con un modelo matemático de dicho apunte, aplicando sobre el sistema elegido los diversos temas tratados en cada trabajo práctico a lo largo del año. En este trabajo práctico las tareas a desarrollar sobre el sistema dado son las siguientes: 3.2.1) Comprender físicamente el sistema, reconocer cada una de las variables de estado, entradas (control y perturbación) y salidas del mismo; estudiar el comportamiento del sistema a lazo abierto: estabilidad, polos, ceros, matriz transferencia, controlabilidad, observabilidad y respuesta al escalón. [ --- Insertar aquí los estudios realizados sobre el sistema a lazo abierto --- ] 3.2.2) Mejorar la respuesta dinámica del sistema a través de una realimentación de estados, dicha mejora puede consistir en una disminución del tiempo de respuesta del sistema o la eliminación de un comportamiento no deseado. Consultar en cada caso la información adjunta a cada sistema. [ --- Insertar aquí los cálculos y simulaciones realizadas sobre el sistema a lazo cerrado --- ] Trabajo Práctico 2 Realimentación de estados Pág. 6 de 9 CONTROL AVANZADO I 2011 3.3. Realimentación de estados en sistemas discretos El siguiente sistema continuo corresponde a un motor de CC con excitación de armadura (dicho modelo ya fue utilizado en el Trabajo Práctico 1): Xɺ = A. X + Bu .u + Bt .τ − 65 A= 25 Ia X = ω − 25 −2 50 Bu = 0 0 Bt = − 50 donde Ia : corriente de armadura [A] ω : velocidad angular en [rad/seg] u : tensión de armadura [V] (entrada de control del sistema) τ: torque externo [Nm] (perturbación al sistema) A partir de dicho sistema continuo se construye el siguiente sistema discreto: τ T e Σ u B0 X=Y Kd Realizar sobre el mismo los siguientes cálculos: 3.3.1) Con T = 0.1 seg calcular Kd para que el sistema discreto a lazo cerrado tenga como autovalores λd los siguientes valores: i) λd1 = [0.65 0.65] ii) λd 2 = [0.25 0.25] iii) λd 3 = [0 0] 3 3 j − 0.5 − j 2 2 iv) λd 4 = − 0.5 + iv) λd 5 = [0.25 − 0.95] vi) λd 6 = [− 0.25 − 0.25] [ --- Insertar aquí los cálculos pedidos --- ] 3.3.2) Graficar la respuesta del vector de estados X y de la entrada u ante la entrada escalón e = 100 para los casos del ítem 3.3.1 i), ii) y iii), comparar las respuestas y extraer conclusiones. Para poder comparar las respuestas de cada una de las variables ( u, Ia, ω ) mostrar en una sola gráfica las evoluciones de cada una de ellas para cada uno de los tres conjuntos de autovalores pedidos. Considerar para todos los casos la entrada de perturbación τ = 0. [ --- Insertar aquí las tres gráficas y las conclusiones pedidas --- ] Trabajo Práctico 2 Realimentación de estados Pág. 7 de 9 CONTROL AVANZADO I 2011 3.3.3) Graficar la respuesta del vector de estados X y de la entrada u ante la entrada escalón e = 100 para los casos del ítem 3.3.1 iv), v) y vi), comparar las respuestas y extraer conclusiones. Para poder comparar las respuestas de cada una de las variables ( u, Ia, ω ) mostrar en una sola gráfica las evoluciones de cada una de ellas para cada uno de los tres conjuntos de autovalores pedidos. Considerar para todos los casos la entrada de perturbación τ = 0. [ --- Insertar aquí las tres gráficas y las conclusiones pedidas --- ] Trabajo Práctico 2 Realimentación de estados Pág. 8 de 9 CONTROL AVANZADO I 2011 4. APENDICE 4.1. Teorema 1 Sea el siguiente sistema continuo Xɺ = A. X + B.U X ( 0) ≠ 0 ; y = C. X Se aplica sobre el mismo la siguiente realimentación de estados para asignar polos U = −K.X El sistema a lazo cerrado queda descripto por Xɺ = ( A − B.K ). X ; X ( 0) ≠ 0 y = C. X Se define el siguiente funcional ∞ J= ∫ y (t ) 2 .dt 0 Cuando los polos del sistema a lazo cerrado tienden a menos infinito, el funcional J depende de la amplitud máxima de la salida y(t). Teorema: A medida que los polos del sistema a lazo cerrado tienden a menos infinito que J → 0 si X (0) ∈ V , mientras J → ∞ si X (0) ∉ V , donde V es el espacio engendrado por { V = s.e. B donde } A.B ... A n − z −1 .B n es el orden del sistema y z es la cantidad de ceros del sistema. Trabajo Práctico 2 Realimentación de estados Pág. 9 de 9