Universidad Nacional de Ingeniería - Facultad de Ingeniería Mecánica Departamento Académico de Ingeniería Aplicada CONTROL MODERNO Y ÓPTIMO (MT 227C) Clase11-1 Elizabeth Villota Cerna Semestre 21I - UNI 16/6/21 1. Problema de Generación de Trayectoria 1.1. Introducción Dado un sistema de control no lineal: ẋ = f(x,u) x R n,u R p y = h(x) y R q y una trayectoria de referencia r(t) R q, encontrar una ley de control u = α(x,r) tal que: lim t (y(t) r(t)) =. 1.1.1. Abordaje: Diseño de dos grados de libertad 1.1.2. Generación de trayectoria: Figura 1: Generación de trayectoria Encontrar una trayectoria posible (satisface dinámica) ẋ d = f(x d,u d ) r = h(x d ) x d (r),u d (r) 1.1.3. Seguimiento de trayectoria: Encontrar u = α(ˆx,x d,u d ) tal que el sistema en lazo cerrado es estable, con desempeño deseado. 1.1.4. Estimación: Determinar ˆx a partir de y,u. 1.1.5. Revisión: Seguimiento de trayectoria para sistemas lineales: ẋ = Ax + Bu y = Cx u r = Kx + k r r = constante 1. Escoger K para la dinámica en lazo cerrado deseada (ubicación de autovalores, LQR, etc).
2. Escoger k r que provee el valor deseado a la salida. ẋ = Ax + Bu = (A BK)x + Bk r r Puntodeequilibrio x e = (A BK) 1 Bk r r y e = C(A BK) 1 Bk r r = r }{{} 1 k r = C(A BK) 1 B deseado Este abordaje trabaja mediante estabilización del origen y luego usando k r r para empujar el sistema hacia x e. Funciona porque el sistema es lineal. 1.2. Formulación alternativa: Resolver directamente para el punto de equilibrio. El objetivo es encontrar una ley de control tal que la salida lim t y(t) = y d = para alguna salida deseada r. Para resolver este problema, primero definimos el estado deseado correspondiente lim t x(t) = x d y entrada lim t u(t) = u d para alcanzar r. Obviamente, x d, u d y y d deben satisfacer las ecuaciones de estado y salida; esto es ẋ d y d = Ax d + Bu d = Cx d + Du d Siendo que x d es una constante, ẋ d =, tenemos: = Ax d + Bu d = Cx d + Du d y d Dado y d, resolvemos las ecuaciones arriba para x d y u d. Si no hay solución para x d y u d, entonces el objetivo de lim t y(t) = y d no se puede alcanzar. Entonces, asumamos que la solución existe; esto es, la ecuación lineal: [ ] [ ] [ ] A B xd = y d C tiene solución. Para un sistema de una entrada una salida, x d y u d puede ser resuelto como [ ] [ ] 1 [ ] xd A B = u = K( x x u d C y d ) + u d }{{}}{{} d estabiliza pto equilibrio entrada nominal A seguir definimos las nuevas variables como: u d x(t) u(t) y(t) = x(t) x d = u(t) u d = y(t) y d Derivar las ecuaciones espacio de estado para x(t), u(t) y y(t) como sigue: ẋ y = ẋ ẋ d = ẋ = Ax + Bu = A x + B + Ax d + Bu d = A x + B u = y y d = Cx + Du Cx d Du d = C x + D u Luego, las ecuaciones de estado y salida para x, u, y y son dadas por los mismas matrices A, B, C y D. ẋ = A x + B u y = C x + D u Suposición fundamental: (x d,u d ) es un punto de equilibrio para r constante. 1.2.1. Ejemplo Considerar el siguiente sistema modelado como un motor DC con torque igual a cero. 1 ω = 4,438 ω + v i 12 24 i 2 Clase11-1, pág. 2
donde los estados, ω, i son la posición del ángulo, la velocidad angular y la corriente, respectivamente; la entrada v es el voltaje aplicado. Nuestro objetivo es llevar el motor a d = 1 y a la vez minimizar Primero encontramos x d y u d como: d ω d i d v d [ A = C El problema del LQR resulta: ω i ] 1 B D = J(x) = 1 = 1 4,438 12 24 (9( d ) 2 + v 2 )dτ. Q = 1 4,438 12 24 2 1 9 R = 1 ω i + La solución usando el método del autovector es: 4,438,9145,15 P =,9145,255,44,15,44,76 Luego el control óptimo del problema original es: v = [ 3,,8796,1529 ] 1 2 ω i 1 v = 1 v = v + v d = [ 3,,8796,1529 ] = [ 3,,8796,1529 ] = [ 3,,8796,1529 ] = [ 3,,8796,1529 ] ω i d ω ω d i i d ω i ω i = 3 + [ 3,,8796,1529 ] [ 3,,8796,1529 ] [ 3,,8796,1529 ] ω i d ω d i d 1 1.3. Programación de ganancias (GAIN SCHEDULING) Sea el sistema no lineal con trayectoria posible: ẋ y = f(x,u) = h(x) ẋ d = f(x d,u d ) r(t) = h(x d ) Clase11-1, pág. 3
Para estabilizar la trayectoria de referencia, observar el error e = x x d, luego: ẋ = f(x,u) ẋ d = f(x d,u d ) ė = f(x,u) f(x d,u d ) = f(e + x d,v + u d ) f(x d,u d ) = F(e,v,x d,u d ) }{{} termino no lineal que varia en el tiempo A continuación trataremos a x d,u d como si fuesen parámetros en el controlador y linealizaremos en torno a (e,v) = (,). ė = A d e + B d v A d = F e = f (,) x (xd,u d ) B d = F v = f (,) u (xd,u d ) Ahora estabilizar e = mediante elección de K d tal que (A d B d K d ) sea Hurwitz. u = K d (x d,u d )(x x d ) + u d 1.3.1. Observaciones 1. No asumir que (x d,u d ) son valores de equilibrio, sólo que son valores que satisfacen la dinámica. Punto de equilibrio resulta en el caso especial de r =constante. 2. De forma más general se puede programar las ganancias obtenidas para cualquier parámetro, o aún el estado: u = K d (x d,u d )(x x d ) + u d Usar concuidado (NL!) 3. Problema: Linealizar en torno al punto de equilibrio deseado, luego linealización no trabajará muy bien lejos de este punto. 4. En la practica, implementar la programación de ganancias (gain scheduling) a través de interpolación: Figura 2: Muestra de implementación 5. En teoría, no se puede decir mucho en relación a como este método trabaja. Trabaja bien si (x d,u d ) varian lo suficientemente despacio. Trabaja bien en practica, aún si la variación de (x d,u d ) es rápida. 1.3.2. Ejemplo: Control de dirección con programación de la velocidad - modelo de bicicleta Considerar el vehiculo con dos ruedas mostrado en la Fig. 3. Para propósitos de direccionamiento estamos interesados en un modelo que describe como la velocidad del vehiculo depende del ángulo de dirección. Para ser específicos, considerar la velocidad v del centro de masa, una distancia a a partir de la rueda trasera, y sea b la distancia entre ruedas. Sean x e y las coordenadas del centro de masa, es el ángulo de orientación y α es el ángulo entre la velocidad v y la linea de centros del vehiculo. Dado que b = ρtan y α = (punto de referencia está en la rueda trasera), asumiendo que las ruedas ruedan sin resbalarse, encontramos que el movimiento del centro de masa está dado por: dx dt = v cos dy dt = v sen (1) Clase11-1, pág. 4
Para ver como el ángulo es influenciado por el ángulo de dirección, observamos, de la Fig. 3, que el vehiculo rota con la velocidad angular v/r a en torno al punto O. Entonces: d dt = v = v tan (2) r a b Las ecuaciones (1) y (2) pueden ser usadas para modelar la bicicleta bajo la suposición que no hay resbalamiento entre ruedas y el piso. La suposición de no resbalamiento puede ser relajada adicionando una variable de estado extra, dando asi un modelo más realista. Tal modelo también describe la dinámica de direccionamiento de barcos asi como la dinámica de alabeo de aeronaves y misiles. Las ecuaciones de movimiento no lineales del sistema pueden ser descritas como: x v cos d y = sen dt v = f(x,y,, v, ) b tan }{{}}{{} x u donde x, y y son la posición y la orientación del centro de masa del vehiculo, v es la velocidad de la llanta trasera, b es la distancia entre la rueda delantera y trasera y es el ángulo de la rueda delantera. y α α Figura 3: Dinámica de la dirección de la bicicleta. El ángulo direccional es y la velocidad del centro de masa tiene un ángulo α relativo al eje longitudinal del vehiculo igual a cero. La posición de la bicicleta está dada por (x,y) y la orientación por. La distancia entre ruedas es b, el centro de masa está ubicado a una distancia a hacia adelante de la rueda trasera. Estamos interesados en el movimiento del vehiculo en linea recta horizontal con velocidad fija v = v r, entonces: x d = v r t y d = y r x d d = } v d = v r u d = d Notar que (x d,y d, d,v d, d ) no son un punto de equilibrio, pero si satisfacen las ecuaciones de movimiento. Definiendo el error, se tiene lo siguiente para la dinámica del error: e x = x v r t ė x = v cos v r ė x = (e v + v r )cos e v r = F 1 (e x,e y,e,e v,e ) e y = y y r ė y = v sen ė y = (e v + v r )sen e = F 2 (e x,e y,e,e v,e ) e = e v = v v r ė = v b tan ė = e v + v r tan e = F 3 (e x,e y,e,e v,e ) b e = x Linealizando con respecto a (e x,e y,e,e v,e ) = (,,,,), se tiene: F 1 F 1 F 1 e x e y e F 2 F 2 F 2 A d = = e x e y e F 3 F 3 F 3 e x e y e ex =, e y =, e = e v =, e = (e v + v r )sen e (e v + v r )cos e ex =, e y =, e = e v =, e = Clase11-1, pág. 5
B d = F 1 F 1 e v F 2 e F 2 e v F 3 e F 3 e v e ex =, e y =, e = e v =, e = = cos e sen e 1 b tan e e v + v r 1 b sec 2 e ex =, e y =, e = e v =, e = Luego, se obtiene que: o, más específicamente: ė x ė y ė A d = = v r v r, B d = e x e y e 1 v r b 1 + v r b Resolviendo el problema de control para este sistema (ubicación de polo, LQR), se tiene que: [ ] e x ev = K e d e y e [ ] x v v r t [ ] = K d y y r vr + Una opción para el cálculo de K d puede ser: ė x = e v ė y = v r e e = v r b e e v = λ 1 e x e = b (a 1 e y + a 2 e ) v, r que posiciona los polos del sistema en lazo cerrado en λ 1 y las raices de s 2 +a 1 s+a 2 =. Luego el controlador en coordenadas originales queda como: [ ] v = λ 1 x v r t [ ] a 1 b a 2 b y y r vr + v r v r }{{}}{{}}{{} u d K d e [ ev e ] Fuente: Lecture 1-1, CDS 11b, de Richard Murray. Fuente: Capítulo 3 del libro Feedback Systems: An Introduction for Scientists and Engineers, de Karl J. Åström y Richard M. Murray. Clase11-1, pág. 6