UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN Facultad de Ingeniería Mecánica y Eléctrica Control Moderno Ene.-Jun. 2007 Diseño de controlador con referencia a la entrada, servosistemas Dr. Rodolfo Salinas mayo 2007 Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas
Resumen de clase Objetivo: Formula de Ackermann forma estructurada de encontrar las ganancias de retroalimentación Reguladores (Diseño de controlador por retroalimentación de estado) y Seguimiento (Servosistemas) Entender el comportamiento de un regulador y el concepto de tener una señal de referencia Observadores - Estructuras de retroalimentación que sirve para estimar variable de estado Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 1
Existen varias formas de obtener la ganancia K del controlador: Asignación de polos 1. Verificar controlabilidad C = [B AB A n 1 B], condición ρ(c) = n 2. Obtener la matriz lazo cerrado A c y su ecuación característica Φ c (s) = 3. Determinar ecuación característica deseada polos deseados Φ d (s) = 4. Encontrar ganancias de retroalimentación K por asignación de polos y escribir control u = Kx igualar términos similares de ec. caract. de lazo cerrado y deseada resolver para las ganancias de retro. K R n desconocidas Fórmula de Ackermann Lyapunov Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 2
ẋ = [ 1 3 3 1 Ejemplo ] [ 1 x + 0 Φ(s) = (s 1) 2 9 = s 2 2s 8 = (s 4)(s+2), ] u, y = [ 1 0 ] x s = 4, s = 2 inestable Consideramos control por retroalimentación de estado u = r [k 1 k 2 ]x ẋ = = [ ] [ 1 3 1 x + 3 1 0 [ 1 k1 3 k 2 3 1 ] u ] [ 1 x + 0 ] r Φ c (s) = (s 1 + k 2 )(s 1) 3(3 k 2 ) = 0 = s 2 + (k 1 2)s + (3k 2 k 1 8) Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 3
Valores propios de Φ c (s) pueden ubicarse en cualquier posición mediante elección adecuada de k 1 y k 2 Se desea ubicar los polos en α = 1 ± j2, Φ d (s) = (s + 1 j2)(s + 1 + j 2 ) = s 2 + 2s + 5 k 1 1 = 2 k 1 = 4 3k 2 k 1 8 = 5 3k 2 = 17, k 2 = 17/3 K = [4 17/3] Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 4
Fórmula de Ackermann Se explicó el procedimiento general del método de asignación de estados para encontrar las ganancias de controlador en sistemas de un sistema en general. Este proceso a mano puede resultar tedioso para sistemas de mayor dimensión. No tiene una estructura definida. Múltiples operaciones que pueden causar error de cálculo al realizarlas por separado. A continuación se explica un método para hacer este diseño en un solo paso. Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 5
ẋ = Ax + Bu y = Cx + Du Asuma que el sistema está en forma canónica controlable, y sea C la matriz de controlabilidad Φ d (s) la ecuación característica deseada polos de lazo cerrado evaluada en s = A condición del sistema controlable sea satisfecha C no singular. La fórmula de Ackerman para obtener la ganancia de retroalimentación es K = [ 0 0 1 ] C 1 Φ d (A) (1) Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 6
Procedimiento para obtener fórmula de Ackerman En general, un sistema en forma canónica controlable con matrices: A = 0 0 1 0 1 0 a 1 a 2 a 3, B = 0 0 1, C = [b 1 b 2 b 3 ] Trabajar con esta forma es muy útil ya que su ecuacion característica está representada de la siguiente manera det(si A) = s 3 + a 3 s 2 + a 2 s + a 1 = 0 Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 7
La matriz de lazo cerrado de este sistema es A c = A BK = 0 1 0 0 0 1 0 0 a 1 a 2 a 3 1 0 1 0 = 0 0 1 a 1 k 1 a 2 k 2 a 3 k 3 [ k 1 k 2 k 3 ] cuya ecuación característica es de la misma forma que la anterior Φ c (s) = det(si A c ) = 0 = s 3 + (a 3 + k 3 )s 2 + (a 2 + k 2 )s + (a 1 + k 1 ) = 0 Al comparar esto con la ecuación característica deseada para los polos deseados de lazo cerrado tenemos que Φ d (s) = s 3 + α 3 s 2 + α 2 s + α 1 = 0 Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 8
obtenemos lo siguiente a 1 + k 1 = α 1 k 1 = α 1 a 1. a n + k n = α n k n = α n a n En resumen para obtener la ganancia K por la formula de Ackermann: Para un sistema arbitrario ẋ = Ax + Bu, transformar a la forma canónica controlable z = T 1 x Resolver para las ganancias K como se especifica por las ecuaciones anteriores u = Kz Transformar la ganancia para expresar como variable x, K = KT 1, la entrada es u = Kx. Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 9
Procedimiento general Considerando que el sistema está en forma canónica controlable, ż(t) = Ā z(t) + B u(t) z(t 0 ) (2) y(t) = C T z(t) (3) Ā = 0 1 0. 0 0 0 1. 0..... 0 0 0. 1 a 1 a 2 a 3. a n, B = 0. 0 1, C = c 1 c 2. c n. (4) Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 10
Esta forma canónica tiene las siguientes propiedades: El polinomio caracteristico se puede determinar a partir de la última fila de Ā Φ(s) = det(s I Ā) = a 1 + a 2 s + a 3 s 2 +... + a n s n 1 + s n. (5) Sistema con esta estructura siempre es controlable porque matriz controlabilidad tiene rango maximo. Función de tranferencia dada por G(s) = c 1 + c 2 s + c 3 s 2 +... + c n s n 1 a 1 + a 2 s + a 3 s 2 +... + a n s n 1 + s n. Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 11
La retroalimentación esta dada por u(t) = K T z(t) (6) donde K = k 1 k 2. k n. Para sistema de lazo cerrado, la matriz A c es Ā B K T = 0 1 0. 0 0 0 1. 0..... 0 0 0. 1 a 1 k 1 a 2 k 2 a 3 k 3. a n k n (7) Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 12
y su polinomio característico Q(s) = (a 1 + k 1 ) + (a 2 + k 2 ) s + (a 3 + k 3 ) s 2 +... + (a n + k n ) s n 1 + s n. Igualando este polinomio con el polinomio de los polos deseados, se obtiene por comparación de los términos correspondientes, los parámetros del controlador k i = α i a i for i = 1, 2,..., n. (8) En la forma canónica controlable, el cálculo de las ganancias de retroalimentación se convierte a calcular la diferencia entre los coeficientes de dos polinomios. Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 13
Ejemplo Considerese el ejemplo de la clase anterior: [ ] [ 1 1 1 ẋ = x + 1 2 0 ] u es controlable, donde la condición necesaria es verificar que ρc = dimensión del sistema n = 2 C = [B AB]. AB = [ 1 1 1 2 ] [ 1 0 ] = [ 1 1 ], C = [B AB] = [ 1 1 0 1 ] K = [ 0 1 ] [ 1 1 0 1 = [ 0 1 ]( [ 43 14 14 57 ] 1 ( [ ] 2 1 1 + 11 0 1 ] ) = [ 14 57 ] [ 1 1 0 1 ] + 30I Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 14
Diseño para un sistema en forma arbitraria En general para utlilzar cuando un sistema no está en la forma canónica controlable, previamente se debe convertir a esta forma mediante una transformación de estado. z(t) = T x(t), (9) Las ganancias del controlador f c se obtienen de la manera anterior. La retroalimentación de estado u(t) = ( K T T )x(t) = f T x(t). (10) y la ganancia f c se obtiene de acuerdo a la matriz de transformación T K T = K T T. (11) Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 15
Para sistemas que no estan en forma canónica controlable, la parte clave está dada en la determinación de la matriz de transformación T. Cuando se transforma la ecuación de estado original, también se transforma Ā = T A T 1 (12) y B = T B. (13) de lo cual al multiplicar por T se obtiene Ā T = T A. la matriz T cuyas filas son t T i Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 16
y la ecuación anterior se expresa como 0 1 0. 0 0 0 1. 0..... 0 0 0. 1 a 1 a 2 a 3. a n t T 1 t T 2. t T n 1 t T n = t T 1 t T 2. t T n 1 t T n A (14) después de multiplicar obtenemos t T 2 t T 3. t T n a 1 t T 1 a 2 t T 2... a n 1 t T n 1 a n t T n = t T 1 A t T 2 A. t T n 1 A t T n A. (15) Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 17
y de ambos lados de las primeras n 1 filas se obtiene la relación recursiva t T i+1 = t T i A for i = 1, 2,..., n 1, Usando estos resultados, la expresión anterior se expresa como t T 1 t T t T 1 B 2 t T 1 AB.. B c = T b = o en forma transpuesta t T n 1 t T n B = t T 1 A n 2 B t T 1 A n 1 B B (16) B T c = t T 1 [ B AB... A n 2 B A n 1 B ] = t T 1 C. (17) La matriz de controlabilidad del sistema es C cuyo rango es completo si el sistema es controlable. Ante esta condición se puede obtener la primer Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 18
fila como t T 1 = B c T C 1 la cual es la última fila de la C 1. En resumen, procedimiento asignación de polos p/sistema cuya estructura no está en forma canónica controlable Calcular C, C 1, y extraer última fila segun la ecuación anterior t 1, la cual corresponde a la primera fila de la matriz de transformación T. Calcular filas restantes de matriz transformación T, de misma forma. Escoger los valores propios deseados. Determinar coeficientes α i de la ec. caract. deseada Transformación de matriz A de Ā = T AT 1 extraer coeficientes del polinomio característico de lazo abierto a i de la última fila de la T. Calcular los coeficientes de ganancias de retroalimentación de sistema ecuaciones k i = α i a i Transformación inversa de ganancias K T = K T T Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 19
Comandos de asignación de polos en Matlab Asignación de polos convencional, comando place.m K = place(a,b,p), donde A, B son las matrices del sistema y entrada calcula la matriz de retroalimentación K tal que los valores propios de A BK son los especificados en el vector P. Mulciplicidad de valores propios debe ser número de entradas. >> A=[1 1; 1 2], B=[1; 0], P=[-5; -6] A = 1 1 1 2 Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 20
B = 1 0 P = -5-6 >> K=place(A,B,P) K = 14.0000 57.0000 Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 21
Asignación de polos por fórmula de Ackermann, comando acker(a,b,p) K = acker(a,b,p), donde A, B son las matrices del sistema y entrada calcula la matriz de retroalimentación K tal que los valores propios de A BK son los especificados en el vector P. Se utiliza generalmente solo para sistemas de una entrada u = Kx con polos de lazo cerrado cuyo valor esta dado en P = eig(a-b*k) Desventaja: Este método no es confiable numéricamente y puede resultar en cálculos erroneos para problemas del orden > 10, o para sistemas controlables débiles Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 22
Diseño de controlador con referencia a la entrada El sistema dinámico es ẋ = Ax + Bu, x R n, u R 1 y = Cx u x = Ax+Bu y = Cx+Du y De lo cual, recordamos lo siguiente: Los polos estan dados por los valores propios de matriz A Queremos usar la entrada u(t) para modificar los valores propios de A tal que cambie la dinámica del sistema. Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 23
Si asumimos una retroalimentación de estado de la forma u = r Kx donde r es una entrada de referencia y la ganancia K R 1 n r u x = Ax+Bu y = Cx+Du y K Consideremos ẋ = Ax + Bu, y = Cx + Du, si r = 0, este sistema es regulador La dinámica de lazo cerrado es ẋ = Ax + B(r Kx) = (A BK)x + Br = A c x + Br y = Cx Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 24
Objetivo: Escoger K tal que A c tiene las propiedades deseadas Estabilización (asignación de polos) Esquemas de regulación y seguimiento de una seal (desempeño y robustez) Regulación y Seguimiento El problema de regulación se da cuando la referencia r es nula, se pretende que el sistema sea asintóticamente estable y la respuesta a condiciones iniciales producidas por perturbaciones tienda a cero. El problema de seguimiento (o del servomecanismo se da cuando se prente que la salida reproduza asintóticamente (que tienda a) la referncia r. Es común que la referencia sea un valor constante r(t) = a, t 0 El problema de regulación es un caso particular del de seguimiento con a = 0. Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 25
Si el sistema es controlable, sabemos que podemos asignar los valores propios del lazo cerrado calculando K para obtener la matriz lazo cerrado Ac = A BK. La respuesta del sistema con retro de edo es y = Ce (A BK)t x(0) + C t 0 e (A BK)(t τ) Br(τ)dτ Asi el problema de regulación r = 0 queda resuleto si K se obtiene para que A BK tenga valores propios negativos y el sistema sea estable (matriz Hurwitz), entonces y = Ce (A BK)t x(0) 0, t, x(0) Para el problema de seguimiento de referencia constante r = a 0, además de que A BK tenga valores propios negativos y el sistema sea estable (matriz Hurwitz), se requiere una condición de ganancia de precompensación N, para que y(t) a, t, y = Ce (A BK)t x(0) + NC t 0 e (A BK)(t τ) Br(τ)dτ Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 26
donde el primer termino tiene a cero y el segundo tiende a a para t. N 0 Ce (A BK)σ Bdσ = 1 NC(SI A + BK) 1 B s=0 = 1 1 N = C(A BK) 1 B r N u x = Ax+Bu y = Cx+Du y K C(sI A + BK) 1 B es la función de tranferencia de lazo cerrado G c (s) = β ns n 1 + + β 1 s n + α n s n 1 + + α 1 Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 27
la condición de N es equivalente a N = α 1 /β 1, Por lo tanto la condición necesaria es β 1 0. En resumen, Para regulación es necesario (A, B) sea controlable diseñar K para que valores propios de A BK tengan parte real negativa. Para seguimiento de referencias constantes es necesario que (A, B) sea controlable y β 1 = lim s 0 C(sI A) 1 B 0 1. diseñar K para que todos valores propios A tengan parte real negativa 2. diseñar N = 1/C(A BK) 1 B Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 28
Ejemplo [ ] [ ] 1 3 1 ẋ = x + u, y = [ 1 0 ] x 3 1 0 calculamos antes ganancia K = [4 17/3] para colocar polos en 1 ± j2 Suponga que se desea seguir asintóticamente una referencia constante. La función de transferencia de lazo cerrado es s 1 G c (s) = s 2 + 2s + 5 como G c (0) = 1/5 1, y(t) tomará el valor de a/5 para una referencia cte. r(t) = a, es necesario incluir precompensación u(t) = Nr(t) Kx(t), donde N = 5. La función de transferencia del sistema de lazo cerrado con precompensador resulta en G c (s) = 5s + 5 s 2 + 2s + 5, G c(0) = 1 y(t) a, t Control Moderno N1 mayo 2007 Dr. Rodolfo Salinas 29