Universidad Nacional de Ingenierı́a - Facultad de Ingenierı́a Mecánica Departamento Académico de Ingenierı́a Aplicada CONTROL MODERNO Y ÓPTIMO (MT 227C) Clase10-02 Elizabeth Villota Cerna 09/06/2010 Semestre 2010I - UNI 5. Problema del Regulador Cuadrático Lineal (LQR, por sus siglas en inglés) Consideremos ahora el problema con planta lineal y criterio de desempeño cuadrático. En esta parte investigaremos el uso de la ecuación de Hamilton-Jacobi-Bellman como una forma de resolver la forma general del problema del regulador cuadrático lineal. El sistema a ser controlado es descrito por las ecuaciones espacio de estado: ẋ(t) = A(t)x(t) + B(t)u(t), y(t) = Cx(t) x(to ) = xo , (1) y el ı́ndice de desempeño asociado a ser minimizado es: Z tf 1 T 1 T J(x) = x (tf )F x(tf ) + x (t)Q(t)x(t) + uT (t)R(t)u(t) dt, 2 2 to (2) donde Q = QT ≥ 0 y F = F T son matrices reales simétricas semidefinidas positiva y R = RT > 0 es una matriz real simétrica y definida positiva, el estado inicial to y el estado final tf son especificados, y u(t) y x(t) no estan restringidos. 5.1. Ecuación de Riccati Diferencial (DRE, por sus siglas en inglés) Para usar la ecuación de Hamilton-Jacobi-Bellman, primero escribimos el Hamiltoniano H: H(x(t), u(t), Jx∗ , t) = 1 T [x (t)Q(t)x(t) + uT (t)R(t)u(t)] + Jx∗ (x(t), t)[A(t)x(t) + B(t)u(t)], 2 (3) Una condición necesaria para u(t) que minimiza H es que ∂H/∂u = 0; entonces: ∂H (x(t), u(t), Jx∗ , t) = R(t)u(t) + B T (t)Jx∗ (x(t), t) = 0. ∂u (4) La condición suficiente está dada por ∂ 2 H/∂u2 > 0, luego se tiene que: ∂2H (x(t), u(t), Jx∗ , t) = R(t), ∂u2 (5) que es definida positiva y H posee forma cuadrática en u. El control que satisface (4) minimiza H (globalmente). Resolviendo (4) para u∗ (t) resulta: u∗ (t) = −R−1 (t)B T (t)Jx∗ (x(t), t). (6) Reemplazando u∗ (t) en (3) se obtiene: H(x(t), u∗ (t), Jx∗ , t) 1 Cuando 1 T x Qx + 2 1 T = x Qx − 2 = 1 ∗T J BR−1 B T Jx∗ + Jx∗T Ax − Jx∗T BR−1 B T Jx∗ 2 x 1 ∗T J BR−1 B T Jx∗ + Jx∗T Ax 2 x sea evidente se ha omitido la dependencia del tiempo 1 (7) CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL La ecuación de Hamilton-Jacobi-Bellman se reduce a: 1 1 0 = Jt∗ + xT Qx − Jx∗T BR−1 B T Jx∗ + Jx∗T Ax 2 2 (8) De (2) la condición de frontera es: J ∗ (x(tf ), tf ) = 1 T x (tf )F x(t). 2 (9) Del análisis de estabilidad realizado en secciones anteriores para sistemas lineales, debe existir una función de Lyapunov V (t) = xT (t)P (t)x(t) que garantice la estabilidad asintótica en lazo cerrado; esto es, existe alguna matriz definida positiva P (t) y la derivada en función del tiempo dV /dt evaluada en las trayectorias del sistema en lazo cerrado es definida negativa. Luego, asumiendo la solución J ∗ (x(t), t) de la siguiente forma: J ∗ (x(t), t) = 1 T x (t)P (t)x(t), 2 (10) donde P (t) es una matriz real simétrica definida positiva que debe ser determinada. Sustituyendo la solución asumida en (8) resulta: 0= 1 1 1 T x Ṗ x + xT Qx − xT P BR−1 B T P x + xT P Ax 2 2 2 (11) La matriz P A que aparece en el último término puede ser escrita como la suma de una parte simétrica y otra parte anti-simétrica, 1 1 (12) P A = [P A + (P A)T ] + [P A − (P A)T ]. 2 2 Usando la propiedad de matrices (P A)T = AT P T y sabiendo que la transpuesta de un escalar es igual a si misma se puede demostrar que sólo la parte simétrica de P A contribuye en (26). Luego (26) puede ser escrita como: 1 1 1 1 1 0 = xT Ṗ x + xT Qx − xT P BR−1 B T P x + xT P Ax + xT AT P x. (13) 2 2 2 2 2 Esta ecuación debe cumplirse para todo x(t), luego: 0 = Ṗ (t) + Q(t) − P (t)B(t)R−1 (t)B T (t)P (t) + P (t)A(t) + AT (t)P (t), (14) y la condición de frontera de (9) y (10). P (tf ) = F (15) La ecuación en (14) es conocida como la ecuación diferencial de Riccati. A continuación consideremos las implicancias del resultado obtenido: primero, la ecuación diferencial parcial de H-J-B se reduce a un conjunto de ecuaciones diferenciales no lineales ordinarias. Segundo, la matriz P (t) puede ser determinada por integración numérica de (14) retrocediendo en el tiempo - a partir de t = tf hacia t = to - usando la condición de frontera P (tf ) = F . En realidad dado que la matriz P (t) es simétrica, necesitamos integrar solo n(n + 1)/2 ecuaciones diferenciales. Una vez que P (t) ha sido determinado, la ley de control óptima está dada por: u∗ (t) = −R−1 (t)B T (t)P (t)x(t), (16) donde al haber asumido (10), la ley de control óptima es lineal, variante en el tiempo y por realimentación de estados. Por similitud con el control por realimentación de estados podemos reescribir: u∗ (t) = −K(t)x(t). (17) La Fig. 1 muestra el diagrama de bloques de la realimentación de estados para el regulador cuadrático lineal. Se observa que en general la ganancia LQR será dependiente del tiempo aún cuando el sistema sea Clase10-02, pág. 18 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL Figura 1: Sistema en lazo cerrado con LQR. LTI y la función de costo tenga matrices de ponderación Q y R constantes. Nótese que la ganancia del controlador LQR es un controlador lineal por realimentación de estados y que la ganancia LQR sólo depende de parámetros que se conocen con anticipación y luego podrı́a ser calculado fácilmente offline. Una vez obtenida la ley de control óptima, el sistema en lazo cerrado está dado por: ẋ(t) = Ac (t)x(t) = [A(t) − B(t)K(t)]x(t) 5.2. (18) Valor del Índice de Desempeño El valor del ı́ndice de desempeño puede ser evaluado en base a la solución de la ecuación de Riccati. Primero, notar que: d T (x P x) = ẋT P x + xT Ṗ x + xT P ẋ. dt Usando las ecuaciones (1), (14) y (16), se encuentra que: d T (x P x) = −xT Qx − uT Ru. dt Luego en el ı́ndice de desempeño (2) se obtiene: J(u∗ ) 1 T x (tf )F x(tf ) − 2 1 = xT (tf )F x(tf ) − 2 = Z 1 tf d T x (t)P (t)x(t) dt, 2 to dt 1 T 1 x (tf )P (tf )x(tf ) + xT (to )P (to )x(to )dt 2 2 Usando (15) los dos primeros términos desaparecen y el valor óptimo (mı́nimo) del ı́ndice de desempeño es: Jmı́n = 21 xT (to )P (to )x(to ) 5.3. Ejemplo integrador doble con LQR Considere un integrador doble descrito por la ecuación espacio de estado: 0 1 p(t) 0 ẋ(t) = Ax(t) + Bu(t) = + u(t) 0 0 v(t) 1 Clase10-02, pág. 19 (19) CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL El vector de estados está formado por la posición p(t) y la velocidad v(t) y la entrada de control es la aceleración u(t). El ı́ndice de desempeño a ser minimizado es: 1 1 J = xT (tf )F x(tf ) + 2 2 Z tf to Aqui las matrices han sido seleccionadas como: F = Q= T x (t)Qx(t) + ρu2 (t) dt f11 f12 f12 f22 rp 0 0 rv ρ > 0. , , Para que F y Q sean semidefinidas positivas, los parámetros rp , rv y ρ y los autovalores de F deben ser no negativos. Introduciendo las matrices de ponderación en la ecuación de Riccati diferencial resulta: −Ṗ (t) = Q(t) − P (t)B(t)R−1 (t)B T (t)P (t) + P (t)A(t) + AT (t)P (t) = rp 0 0 rv − P (t) 0 1 1 0 1 P (t) + P (t) ρ 0 0 1 0 + 0 0 1 0 P (t) Como P (t) es simétrico tenemos que resolver tres ecuaciones para los elementos de P (t) = −ṗ11 −ṗ12 −ṗ22 p11 p12 p12 p22 : = rp − ρ1 p212 = p11 − ρ1 p12 p22 = rv + 2p12 − ρ1 p222 Estas ecuaciones tienen que ser resueltas retrocediendo en el tiempo desde el valor inicial en el tiempo tf donde P (tf ) = F . Integración numérica con los valores f11 = f12 = f22 = 1, rp = 3, rv = 4 y ρ = 1 resulta en la solución mostrada en la Fig. 2. Se observa de la figura que los tres valores de los elementos de la matriz P (t) se aproximan a una constante cuando tf − t comienza a crecer. 5 p11 4 3 P(t) p22 2 p12 1 0 4 8 10 time [sec] Figura 2: Solución de la ecuación de Ricatti para el integrador doble. La Fig. 3 muestra la respuesta del control óptimo para diversos valores de la matriz Q. Se observa que para grandes valores de los elementos de la matriz Q, la respuesta es más rápida pero con un mayor esfuerzo de control (señal de control más grande). Clase10-02, pág. 20 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL 1 position 0 velocity –1 0 1 2 3 0 Control signal rp = 3 , rv = 4 rp = rv = 100 rp = rv = 10000 –4 NB. The dotted signal has a minimum at –60. –8 0 1 2 3 time [sec] Figura 3: Respuesta del sistema integrador doble con LQR. 6. Regulador Cuadrático Lineal en Estado Estacionario - Horizonte Infinito El control LQR antes mostrado es el control óptimo que minimiza el ı́ndice de desempeño sobre un intervalo de tiempo finito [to , tf ]. Se ha demuestra que lleva a una ganancia de control variante en el tiempo que puede ser calculada offline. En la mayoria de los casos es más conveniente tener una matriz de ganancia constante. Es preferible entonces analizar el problema de control óptimo con un ı́ndice de desempeño extendido hasta el infinito: Z t T T T [x (t)Qx (t) + u (t)Ru(t) dt. (20) J(u) = lı́m t→∞ to Adicionalmente asumiremos que el sistema es invariante en el tiempo: ẋ(t) = Ax(t) + Bu(t), (21) tal que todas las matrices son consideradas constantes y Q = QT ≥ 0 y R = RT > 0. Siendo que el problema de control LQR estándar consiste en mover los estados del sistema hacia cero de forma óptima, el vector de estados x(t) se aproximará al vector cero a medida que tf → ∞ si el sistema en lazo cerrado es estable. Luego no es relevante incluir el término del estado final en el ı́ndice de desempeño, que es lo mismo que considerar F = 0 en (2). El valor óptimo del ı́ndice está dado por (14). Siendo que el sistema es LTI, el valor de Jmı́n es independiente del tiempo, lo que significa que la matriz P debe ser constante. Esto implica que Ṗ = 0 y la ecuación de Riccati se reduce a: 0 = Q − P BR−1 B T P + P A + AT P. (22) Este es un conjunto de ecuaciones algebraicas no lineales acopladas cuadráticas. En la práctica se le llama ecuación de Riccati algebraica. Clase10-02, pág. 21 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL La ecuación (34) pueda tener múltiples soluciones pero solo una de ellas provee una matriz P semidefinida positiva (siempre y cuando el sistema sea estabilizable) y la solución particular lleva a: Jmı́n = 21 xTo P∞ xo . (23) donde P∞ es la solución constante de (34). La matriz de ganancias óptima para el control LQR en estado estacionario queda definida por: K∞ = R−1 B T P∞ , (24) u(t) = −K∞ x(t). (25) y la señal de control resulta: En conclusión, el controlador lineal por realimentación de estados óptimo que minimiza el ı́ndice de desempeño: Z t T T T [x (t)Qx (t) + u (t)Ru(t) dt. J(u) = lı́m t→∞ 0 sujeto a ẋ(t) = Ax(t) + Bu(t), x(0) = xo satisface el teorema a continuación. El objetivo es construir un controlador lineal por realimentación de estados de la forma u = −Kx que estabiliza al sistema y minimiza el ı́ndice de desempeño J(u). Denotar dicha ley de control lineal como u∗ . Primero, asumimos que el controlador lineal por realimentación de estados óptimo existe tal que el sistema en lazo cerrado óptimo ẋ = (A − BK)x es asintóticamente estable. Esta suposición implica que existe una función de Lyapunov V = xT P x para el sistema en lazo cerrado; esto es, para alguna matriz definida positiva P la derivada en función del tiempo dV dt evaluada en las trayectorias del sistema en lazo cerrado es definida negativa. Teorema 1. Si el controlador por realimentación de estados u∗ = −Kx es tal que dV T T + x Qx + u Ru = 0, minu dt (26) para algún V = xT P x, entonces el controlador es óptimo. ⋄ Demostración Podemos escribir la condición del teorema como: dV + xT Qx + u∗T Ru∗ = 0. dt u=u∗ Luego, dV = −xT Qx − u∗T Ru∗ . dt u=u∗ Integrando ambos lados de la ecuación resultante con respecto al tiempo desde 0 hasta ∞, obtenemos Z ∞ (xT Qx + u∗T Ru∗ )dt. V (x(∞)) − V (x(0) = − 0 Debido a la suposición de que el sistema en lazo cerrado es asintóticamente estable, x(∞) = 0, y luego Z ∞ (xT Qx + u∗T Ru∗ )dt. V (x(0) = xTo P xo = 0 Entonces, hemos demostrado que si un controlador lineal por realimentación de estados satisface la suposición del teorema, entonces el valor del ı́ndice de desempeño para tal controlador es J(u∗ ) = xTo P xo . Clase10-02, pág. 22 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL Para demostrar que tal controlador es de hecho óptimo, usamos una prueba por contradicción. Asumimos que (26) se cumple y que u∗ no es óptima. Supóngase que ũ resulta en un menor valor de J, esto es, J(ũ) < J(u∗ ). De (26) tenemos que dV + xT Qx + ũT Rũ ≥ 0, dt u=ũ esto es, dV ≥ −xT Qx − ũT Rũ. dt u=ũ Integrando la expresión arriba con respecto al tiempo de 0 a ∞ resulta Z ∞ (xT Qx + ũT Ru)dt V (x(0)) ≤ 0 lo que implica que J(u∗ ) ≤ J(ũ), lo que es una contradicción, y la demostración se ha completado. 6.1. Ejemplos 6.1.1. Ejemplo 1 ⋄ Considere el siguiente modelo de un sistema dinámico: ẋ = 2u1 + 2u2 , x(0) = 3, asi como el ı́ndice de desempeño asociado J= Z ∞ (x2 + ru21 + ru22 )dt, 0 donde r > 0 es un parámetro. 1. Primero encontramos las solución de ARE correspondiente al controlador lineal por realimentación de estados óptimo. Tenemos A = 0, B= 2 2 , Q = 1, R = rI2 . La ARE para este problema es 8 0 = AT P + P A + Q − P BR−1 B T P = 1 − p2 , r cuya solución es p= r r . 8 2. Ahora escribimos el sistema en lazo cerrado que se obtiene usando el controlador óptimo. El controlador óptimo tienen la forma 1 1 −1 T √ u = −R B P x = − x. 2r 1 Entonces, el sistema en lazo cerrado óptimo es descrito por ẋ = 2 2 4 u = − √ x. 2r 3. Finalmente, encontramos el valor de J para el sistema en lazo cerrado óptimo. Tenemos que r 9 r J = x(0)T P x(0) = . 2 2 Clase10-02, pág. 23 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL 6.1.2. Ejemplo integrador doble con LQR en estado estacionario Considere un integrador doble descrito por la ecuación espacio de estado: 0 0 1 u(t) x(t) + ẋ(t) = 1 0 0 El controlador tiene que minimizar el siguiente ı́ndice de desempeño: Z ∞ T x (t)Qx(t) + ρu2 (t) dt J= 0 Aqui las matrices han sido seleccionadas como: Q= rp 0 0 rv , ρ > 0, donde rp y rv son los pesos de posición y velocidad respectivamente. Con los valores dados la ecuación de Riccati algebraica resulta en las siguientes ecuaciones acopladas: 0 0 0 = rp − ρ1 p212 = p11 − ρ1 p12 p22 = rv + 2p12 − ρ1 p222 p11 p12 Aqui, P = , es la solución de la ARE. Resolviendo estas ecuaciones algebraicas se obtiene p12 p22 la solución definida positiva única: √ p √ p11 = rp 2ρ rp ρ + rv ρ √ p12 = prp ρ √ p22 = 2ρ rp ρ + rv ρ El controlador resulta en el control por realimentación de estados con la señal de control: u(t) = −K∞ x(t) = −(R−1 B T P∞ )x(t) # "r s r rp rp rv 2 x(t) + =− ρ ρ ρ Se observa que la ganancia de control se incrementa a medida que los pesos de los estados se incrementan, en otras palabras, rp y rv se incrementan en comparación al peso de la señal de control. La ecuación caracterı́stic del sistema en lazo cerrado puede ser encontrada como: s r rp rv rp 2 + s+ =0 s + 2 ρ ρ ρ La frecuencia natural correspondiente al sistema en lazo cerrado ω y el factor de amortiguamiento ζ son calculados como: r rp ω= 4 ρ r 1 rv ζ=√ 1+ √ √ 2 ρ rp 2 √ Para ρ = 1, si rv = 0 los polos en lazo cerrado tienen un factor de amortiguamiento de 1/ 2 ≈ 0,71. El “root locus” como función de las ponderaciones se observa en la Fig. (4), donde rp varia desde 0 hasta 10. Para este sistema en particular se observa que el factor de amortiguamiento de los polos en lazo cerrado siempre seran mayores que 0.71 para elementos de la matriz de ponderación positivos. Clase10-02, pág. 24 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL 1.5 1 0.5 0 rv = 5 1 0.5 0.1 0 2 –0.5 –1 –1.5 –2 –1.5 –1 –0.5 0 0.5 1 Figura 4: Root-locus del sistema integrador doble con LQR en estado estacionario para una variación de rp . 6.2. Resolviendo la ARE usando el Método del Autovector A continuación presentamos un método para resolver la ARE referido como el método del autovector. Comenzamos representando la ARE de la forma A −BR−1 B T In P −In = 0. (27) P −Q −AT La matriz 2n × 2n en la mitad es denominada de matriz Hamiltoniana. usamos el sı́mbolo H para denotar a la matriz Hamiltoniana, esto es, A −BR−1 B T . H= −Q −AT Entonces, la ARE puede ser representada como P −In H In P =0 Si premultiplicamos la ecuación arriba por X −1 y luego postmultiplicamos esta por X, donde X es una matriz no singular n × n, −1 X X P −X −1 H = 0. (28) PX Observar que si pudiésemos encontrar matrices X y P X tal que X X H = Λ, PX PX luego la ecuación (28) resulta en X −1 P −X −1 X PX Λ = 0. Luego hemos reducido el problema de resolver la ARE a aquel en el que construimos matrices X y P X apropiadas. Continuando, sea vi el autovector de H y sea si el autovalor correspondiente; entonces Hvi = si vi . Si asumimos que H tiene al menos n autovalores reales distintos entre sus 2n autovalores. (Los resultados obtenidos pueden ser generalizados para el cado cuando los autovalores de H son complejos o iguales.) Entonces, podemos escribir s1 0 ... 0 0 s2 ... 0 H v1 v2 ... vn = v1 v2 ... vn . . . . .. .. .. 0 Clase10-02, pág. 25 0 ... sn CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL Sea y X PX Λ= v1 v2 ... s1 0 .. . 0 s2 .. . ... ... 0 0 .. . 0 0 ... sn = vn . La selección de X y P X constituye una posible solución de la ecuación −1 X −1 X P −X Λ = 0. PX Para construir P , particionamos la matriz de autovectores v1 v2 submatrices de orden n × n como sigue W v1 v2 ... vn = . Z ... vn de orden 2n × n en dos Luego, X PX = W Z . Tomando X = W y P X = Z y asumiendo que W es invertible, obtenemos P = ZW −1 . (29) Ahora tenemos que elegir que conjunto de n autovalores elegir, dentro de todos los autovalores de H, para poder contruir P . En el caso en que los 2n autovalores de H son diferentes, el número de matrices P generadas con el método descrito arriba son (2n)! . (n!)2 Sea Q = C T C una factorización de rango completo de Q. Del Teorema 3 de Kucera (ver referencias al final) se concluye que la matriz Hamiltoniana H tiene n autovalores en el semiplano complejo izquierdo y n en el semiplano complejo derecho si y sólo si el sistema como definido en (1) es estabilizable y detectable. La matriz P que nosotros buscamos corresponde a los autovalores asintóticamente estables de H. Con P construido como deseado, tenemos el siguiente resultado. Teorema 2. Los polos del sistema en lazo cerrado ẋ(t) = (A − BR−1 B T P )x(t) son aquellos autovalores de H que tienen parte real negativa. W , podemos escribir Demostración Siendo que v1 v2 ... vn = Z W A −BR−1 B T W = Λ. Z Z −Q −AT ⋄ Realizando las multiplicaciones apropiadas de bloques de matrices n × n resulta AW − BR−1 B T Z = W Λ, o A − BR−1 B T ZW −1 = A − BR−1 B T P = W ΛW −1 , dado que P = ZW −1 . Entonces, la matriz A − BR−1 B T P es similar a la matriz Λ cuyos autovalores son los autovalores asintóticamente estables de H. Luego, la demostración ha sido completada. ⋄ Clase10-02, pág. 26 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL 6.2.1. Ejemplo 1 Considere el siguiente modelo de un sistema dinámico ẋ = 2x + u, asi como el ı́ndice de desempeño asociado J= Z ∞ (x2 + ru2 )dt. 0 Encuentre el valor de r tal que el sistema en lazo cerrado óptimo tenga un polo en −3. 1. Formamos la matriz Hamiltoniana asociada A −BR−1 B T 2 − 1r . = H= −Q −AT −1 −2 2. La ecuación caracterı́stica de H es det(sI2 − H) = s2 − 4 − 1 = 0. r Luego, 1 5 resulta en el sistema en lazo cerrado óptimo teniendo su polo localizado en −3. r= 6.2.2. Ejemplo 2 Considere un modelo simple de un robot manipulador como mostrado en la Fig. 5. El movimiento del brazo del robot es controlado por un motor DC a través de un engranaje. El motor DC es controlado por armadura y su figura esquemática es presentada en la Fig. 6. Asumimos que el momento de inercia del motor es despreciable en comparación con el del brazo del robot. Modelamos el brazo como una masa puntual m ubicada en el extremo final de la barra (sin masa) de longitud l. Entonces el momento de inercia del brazo Ib = ml2 . Asumimos que el tren de engranajes no tiene juego, y que todos los ejes conectores son rı́gidos. Como podemos ver de la Fig. 5, la rotación del brazo en sentido contrario a las agujas del reloj es definida como positiva, y la rotación siguiendo las agujas del reloj es considerada como negativa; mientras que la rotación del eje del motor en sentido contrario a las agujas del reloj es definida como negativa, y la rotación del eje siguiendo las agujas del reloj es definida como positiva. El torque entregado por el motor es Tm = Km ia , donde Km es la constante del torque del motor, y ia es la corriente de armadura. Sea N la razón de los engranajes. Luego tenemos: θp radio del engranaje del motor número de dientes del engranaje del motor 1 = = = . θm radio del engranaje del brazo número de dientes del engranaje del brazo N Esto ocurre puesto que los engranajes estan en contacto y luego θp × radio del engranaje del brazo = θm × radio del engranaje del motor, y los radios de los engranajes son proporcionales a sus números de dientes. El trabajo realizado por cada engranaje debe ser igual. Sea Tp que denota el torque aplicado al brazo del robot. Entonces, Tp θ p = Tm θ m . Entonces, el torque aplicado al péndulo es Tp = N Tm = N Km ia . Clase10-02, pág. 27 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL Mass m p Massless rod of length l 1: N Gear DC motor u ⫹ ⫺ Control voltage Figura 5: Robot manipulador controlador por un motor DC via un engranaje. La Ra ⫹ ia u eb ⫽ back emf ⫹ m ⫽ motor shaft position ⫺ ⫺ Armature circuit if ⫽ constant Field circuit Figura 6: Figura esquemática de un motor DC controlado por armadura. Usando la segunda Ley de Newton para escribir la ecuación que modela la dinámica del brazo, Ib d2 θ p = mgl sin θp + Tp . dt2 (30) Sustituyendo en (30) las expresiones para Ib y Tp y luego rearreglando tenemos ml2 d2 θ p = mgl sin θp + N Km ia dt2 (31) donde g = 9,8m/s2 es la aceleración de la gravedad. Aplicado la Ley de Kirchhoff (voltaje) al circuito de armadura resulta en dia dθp La + Ra ia + Kb N = u, dt dt donde Kb es la constante emf. Asumiendo que La ≈ 0. Entonces, u = Ra ia + Kb N dθp , dt A continuación calculamos ia de (32) y sustituimos el resultado en (31) para obtener ! dθ 2 Kb N dtp u 2 d θp ml = mgl sin θp + N Km − . dt2 Ra Ra (32) (33) Ahora podemos construir el modelo de espacio de estados para el robot de un brazo. Escogiendo los siguientes estados y variables de salida: dθp x1 = θp , x2 = = ωp , y y = x1 . dt Entonces, usando (33), obtenemos el siguiente modelo de espacio de estados simple del robot manipulador: # " x2 ẋ1 = g Kb Km N 2 N Km ẋ2 l sin x1 − ml2 Ra x2 + ml2 Ra u Clase10-02, pág. 28 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL y = x1 . Parámetros razonables para el robot son: l = 1m, m = 1kg, N = 10, Km = 0,1Nm/A, Kb = 0,1Vsec/rad, Ra = 1Ω. Usando los valores de los parámetros el modelo del robot toma la siguiente forma: ẋ1 x2 = ẋ2 9,8 sin x1 − x2 + u y = x1 . Respuestas en el tiempo para las trayectorias de estado del sistema no lineal sin control, u = 0, son mostrados en la Fig. 7 para las condiciones iniciales x1 (0) = 1 y x2 (0) = 0. Un plano de fase del sistema no lineal sin control es mostrado en la Fig. 8. El modelo linealizado alrededor de x = 0, u = 0 tiene la forma 0 1 0 d ∆x + ∆u, dt ∆x = 1 (34) 9,8 −1 ∆y = 1 0 ∆x. 5 4 x1 3 x1 , x 2 2 1 x2 0 ⫺1 ⫺2 ⫺3 0 2 4 6 8 10 Time (sec) Figure 5.13 Figura 7: Gráficas de y = x1 y x2 versus tiempo para el sistema no lineal sin control. 10 8 6 4 2 x2 0 ⫺2 ⫺4 ⫺6 ⫺8 ⫺10 ⫺10 0 x1 ⫺5 5 10 Figura 8: Un plano de fase del sistema no lineal sin control. En la Fig. 9 son mostradas las gráficas de y = x1 y x2 versus tiempo para el sistema lineal sin control. Un plano de fase del sistema linealizado es mostrado en la Fig. 10. Sea Z ∞ (y 2 + u2 )dt. J= 0 Encontraremos una ley de control lineal por realimentación de estados u = −kx que minimice J sujeto a las ecuaciones dadas por (34). Tenemos 1 0 Q = cT c = y R = [1]. 0 0 Clase10-02, pág. 29 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL 25 20 x2 x 1, x 2 15 10 x1 5 0 0 0.2 0.4 0.6 Time (sec) 0.8 1 Figura 9: Gráficas de y = x1 y x2 versus tiempo para el sistema linealizado sin control. 10 8 6 4 2 x2 0 ⫺2 ⫺4 ⫺6 ⫺8 ⫺10 ⫺10 ⫺5 0 x1 10 5 Figura 10: Un plano de fase del sistema linealizado sin control. Resolviendo la ecuación de Riccati, se define la matriz Hamiltoniana asociada como 0 1 0 0 9,8 −1 0 −1 A −BR−1 B T , = H= −1 0 0 −9,8 −Q −AT 0 0 −1 1 y calculando los autovalores y autovectores de H tenemos que −0,3443 −0,0485 0,2604 −0,9298 −0,1770 −0,9499 H −0,1124 −0,9196 0,1691 0,0661 0,3473 0,0364 2,7003 −0,3443 −0,0485 0,2604 0,0496 −0,9298 −0,1770 −0,9499 −0,1339 0 = −0,1124 −0,9196 0,1691 0 0,9555 0 0,0661 0,3473 0,0364 0,2582 0,0496 −0,1339 0,9555 0,2582 0 3,6481 0 0 0 0 −3,6481 0 0 0 . 0 −2,7003 Identificando los autovectores correspondientes a los autovalores con parte real negativa se puede definir 0,2604 0,0496 0,1691 0,9555 W = y Z= , −0,9499 −0,1339 0,0364 0,2582 luego sabiendo que P = ZW −1 se obtiene P = 72,3371 19,6509 19,6509 5,3484 5,3484 . (35) Entonces k= 19,6509 Clase10-02, pág. 30 (36) CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL y Ac = 0 −9,8509 1 −6,3484 ∆x. Las gráficas de x1 y x2 versus tiempo del sistema en lazo cerrado ẋ = (A − bk)x = Ac x y = x1 , cuando las condiciones iniciales son x1 (0) = 1 y x2 (0) = 0, son mostradas en la Fig. 11. Un plano de fase del sistema linealizado en lazo cerrado es mostrado en la Fig. 12. Aplicando el controlador óptimo al modelo no lineal, las gráficas de x1 y x2 versus tiempo para el sistema no lineal en lazo cerrado son mostradas en la Fig. 13. Un plano de fase del sistema no lineal en lazo cerrado es mostrado en la Fig. 14. Los polos del sistema linealizado en lazo cerrado -esto es, los autovalores de Ac - son λ1 = −2,7003 y λ2 = −3,6481. 1 0.5 x1 x1, x2 0 x2 ⫺0.5 ⫺1 ⫺1.5 0 1 3 2 5 4 Time (sec) Figura 11: Gráficas de x1 y x2 versus tiempo para el sistema linealizado en lazo cerrado. 10 8 6 4 2 x2 0 ⫺2 ⫺4 ⫺6 ⫺8 ⫺10 ⫺10 5 0 x1 ⫺5 10 A phase portrait of the linear closed-loop system of Example 5.13. Figura 12: Un plano de fase del sistema linealizado en lazo cerrado. 1 0.5 x1 x1, x2 0 ⫺0.5 x2 ⫺1 ⫺1.5 0 1 2 3 4 5 Time (sec) Figura 13: Gráficas de x1 y x2 versus tiempo para el sistema no lineal en lazo cerrado. Clase10-02, pág. 31 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL 10 8 6 4 2 x2 0 ⫺2 ⫺4 ⫺6 ⫺8 ⫺10 ⫺10 ⫺5 0 x1 5 10 Figura 14: Un plano de fase del sistema no lineal en lazo cerrado. 6.2.3. Ejemplo Aeronave de Impulsión Considere la dinámica original de la aeronave de impulsión presentada en clases anteriores, escrita en la forma espacio de estados como: 0 z4 0 z5 dz 0 z6 . = + 1 c 1 cos θF1 − m sin θF2 dt −g sin θ − mc z4 m −g cos θ − z5 1 sin θF1 + 1 cos θF2 m m m r 0 J F1 Los parámetros del sistema son m = 4kg, J = 0,0475kgm2 , r = 0,25m, g = 9,8m/s2 , c = 0,05Ns/m, que corresponde a un modelo escalado del sistema. El punto de equilibrio para el sistema está dado por F1 = 0, F2 = mg y ze = (xe , ye , 0, 0, 0, 0). Para derivar el sistema linealizado cerca del punto de equilibrio, calculamos el sistema linealizado: 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 . A= , B= 1 0 0 0 0 −g −c/m m 01 0 0 0 0 0 −c/m 0 m r 0 0 0 0 0 0 0 J 1 0 0 0 0 0 0 0 C= , D= . 0 1 0 0 0 0 0 0 Haciendo z = z − ze y v = u − ue , el sistema linealizado está dado por: dz dt y = Az + Bv, = Cz. Se puede verificar que el sistema es alcanzable. Para calcular el regulador cuadrático lineal para el sistema, escribimos la función costo como: Z ∞ (z T Qz + v T Rv)dt, J= 0 donde z = z − ze y v = u − ue representan las coordenadas locales en torno al punto de equilibrio (ze , ue ). Comenzamos con matrices diagonales para los costos del estado y la entrada: 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 R= . Q= , 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 Clase10-02, pág. 32 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL Luego la ley de control de la forma v = −Kz será usada para derivar la ley de control en términos de las variables originales: u = v + ue = −K(z − ze ) + ue . Position x [m] Position x , y [m] Como especificado en clases anteriores, los puntos de equilibrio corresponden a ue = (0, mg) y ze = (xe , ye , 0, 0, 0, 0). La respuesta del controlador a un cambio de la función escalón para la posición deseada es mostrada en la Fig. 6a. La respuesta puede ser afinada cambiando los pesos en la función de costo. La Fig. 15b muestra6.3. la STATE respuesta en laDESIGN dirección x para diferentes selecciones del peso ρ, siendo FEEDBACK 193que R = ρI2 . 1 0.5 0 0 x y 2 4 6 Time t [s] 8 1 0.5 ρ 0 0 10 (a) Step response in x and y 2 4 6 Time t [s] 8 10 (b) Effect of control weight ρ Figure 6.12: Step response for a vectored thrust aircraft. The plot in (a) shows the x and y Figura 15: Respuesta al escalón de una aeronave de impulsión. muestraIn las posiciones “x” e “y” positions of the aircraft when it is commanded to move 1La m inFig. eachadirection. (b) the x 2 , 104dirección. motion for control weights1m en 1, 10 . A higher weight of thebinput term in el movimiento de la aeronave cuando seisleshown comanda moverse cada En Fig. se muestra 2 sluggish functionρcauses more x variando los pesosthedecostcontrol = 1,a10 , 104 . Un response. peso más grande en el término de control de la función costo causa una respuesa más lenta. level. Since other processes may be running on the server, the web server must adjust its parameters in response to changes in the load. 6.3. Propiedades dediagram robustez diseño A block for thedel control systemLQR is shown in Figure 6.13. We focus on the special case where we wish to control only the processor load using both the We alsopresenta include las a “disturbance” on Un sistema de control queand usa el regulador parameters. cuadrático lineal siguientes caracterı́sticas de thelos measured loadde thatestabilidad represents the of the processing cyclesdebytransferencia other processes robustez. Esto es, margenes de use la matriz de funciones en lazo L(s) = running on the server.lasThe system haspara the same structure generic control K(sI − A)−1 B (equivalentemente, condiciones que basic |1 + L(iω)| > as 1) the están dados por: system in Figure 6.5, with the variation that the disturbance enters after the process dynamics. 1 < 1. are given by a set of difference equations of the Margen de ganancia (GM): of The dynamics theGM system 2 < Margen deform fase (PM): PM > 60o . x [k 1] Ax [k ] Bu [k ] ycpu [k ] Ccpu x [k ] dcpu [k ] the state,deu la función the input, dcpude is the processing where x xcpu xmemde isNyquist u ka u mcdeistransferencia La Fig. 16 presenta el diagrama lazo, L(s), para un modelo is the total processor load. y load from other processes on the computer and cpu simplificado de un satélite. We choose our controller to be a state feedback controller of the form A= 0 1 0 0 ,u B = K Precompensation rcpu kr e 0 ycpu , C = kr r1cpu 0 , D = 0. 1 xmem Feedback Controller C u Server P d y 1 Feedback control of a web server. The controller sets the values of the web server parameters based on the difference between the nominal parameters (determined by kr r ) and the current load ycpu . The disturbance d represents the load due to other processes running on the server. Note that the measurement is taken after the disturbance so that we measure the total load on the server. Figure 6.13: Figura 16: Diagram de Nyquist mostrando margenes de estabilidad del LQR. Clase10-02, pág. 33 CONTROL ÓPTIMO - REGULADOR CUADRÁTICO LINEAL 6.4. Regla de Bryson para selección de matrices Q y R Si se conocen los valores máximos de los estados finales, estados contı́nuos y entradas contı́nuas, luego se puede aplicar la siguiente regla para la selección de matrices de ponderación F , Q y R: Fii = 1 máx([xi (tf )]2 ) Qii = 1 (tf − to ) máx([xi (t)]2 ) Rjj = 1 (tf − to ) máx([ui (t)]2 ) donde i = 1, 2, ..., n y j = 1, 2, ..., m. Si el tiempo no es importante en la aplicación evaluada luego el intervalo de tiempo entre paréntesis, (tf −to ), puede elegirse igual a 1. Los términos fuera de la diagonal de las matrices de ponderación pueden ser usados si existe interacción entre los componentes de las entradas o estados. Fuente: Capı́tulo 5 del libro Systems and Control de Stanislaw H. Zak, Oxford University Press, 2003. Fuente: Capı́tulo 5 del libro Linear Systems Control - Deterministic and Stochastic Methods de Elbert Hendricks, Ole Jannerup y Paul Sorensen, Springer, 2008. Fuente: Capı́tulo 6 del libro Feedback Systems: An Introduction for Scientists and Engineers, de Karl J. Åström y Richard M. Murray. Clase10-02, pág. 34