1. problema de generaci´on de trayectoriabionanouni.wdfiles.com/local--files/.../clase11-01.pdf ·...

6
Universidad Nacional de Ingenier´ ıa - Facultad de Ingenier´ ıaMec´anica Departamento Acad´ emico de Ingenier´ ıa Aplicada CONTROL MODERNO Y ´ OPTIMO (MT 227C) Clase 11-01 Elizabeth Villota Cerna Semestre 2009 II - UNI 25/11/2009 1. Problema de Generaci´on de Trayectoria 1.1. Introducci´on Dado un sistema de control no lineal: ˙ x = 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)) = 0. 1.1.1. Abordaje: Dise˜ no de dos grados de libertad Figura 1: Generaci´ on de trayectoria 1.1.2. Generaci´ on de trayectoria: Encontrar una trayectoria posible (satisface din´ amica) ˙ x 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˜ no deseado. 1.1.4. Estimaci´ on: Determinar ˆ x a partir de y,u. 1.1.5. Revisi´on: Seguimiento de trayectoria para sistemas lineales: ˙ x = Ax + Bu y = Cx u = Kx + k r r r = constante 1. Escoger K para la din´ amica en lazo cerrado deseada (ubicaci´ on de autovalores, LQR, etc).

Upload: others

Post on 31-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1. Problema de Generaci´on de Trayectoriabionanouni.wdfiles.com/local--files/.../Clase11-01.pdf · 1.3.2. Ejemplo: Control de direccio´n con programaci´on de la velocidad - modelo

Universidad Nacional de Ingenierıa - Facultad de Ingenierıa MecanicaDepartamento Academico de Ingenierıa Aplicada

CONTROL MODERNO Y OPTIMO (MT 227C)

Clase 11-01 Elizabeth Villota Cerna

Semestre 2009 II - UNI 25/11/2009

1. Problema de Generacion de Trayectoria

1.1. Introduccion

Dado un sistema de control no lineal:

x = f(x, u) x ∈ Rn, u ∈ R

p

y = h(x) y ∈ Rq

y una trayectoria de referencia r(t) ∈ Rq, encontrar una ley de control u = α(x, r) tal que:

limt→∞(y(t) − r(t)) = 0.

1.1.1. Abordaje:

Diseno de dos grados de libertad

Lecture 1-1: Trajectory Tracking and Gain SchedulingCDS 110b, 7 Jan 08

Figura 1: Generacion de trayectoria

1.1.2. Generacion de trayectoria:

Encontrar una trayectoria posible (satisface dinamica)

xd = f(xd, ud)r = h(xd)

→ xd(r), ud(r)

1.1.3. Seguimiento de trayectoria:

Encontrar u = α(x, xd, ud) tal que el sistema en lazo cerrado es estable, con desempeno deseado.

1.1.4. Estimacion:

Determinar x a partir de y, u.

1.1.5. Revision:

Seguimiento de trayectoria para sistemas lineales:

x = Ax + Buy = Cx

u = −Kx + krrr = constante

1. Escoger K para la dinamica en lazo cerrado deseada (ubicacion de autovalores, LQR, etc).

Page 2: 1. Problema de Generaci´on de Trayectoriabionanouni.wdfiles.com/local--files/.../Clase11-01.pdf · 1.3.2. Ejemplo: Control de direccio´n con programaci´on de la velocidad - modelo

GENERACION DE TRAYECTORIA Y GAIN SCHEDULING

2. Escoger kr que provee el valor deseado a la salida.

x = Ax + Bu = (A − BK)x + Bkrr

Punto de equilibrio xe = −(A − BK)−1Bkrrye = −C(A − BK)−1Bkrr = r

︸︷︷︸

deseado

→ kr = −1

C(A − BK)−1B

Este abordaje trabaja mediante estabilizacion del origen y luego usando krr para “empujar” el sistemahacia xe. Funciona porque el sistema es lineal.

1.2. Formulacion alternativa:

Resolver directamente para el punto de equilibrio. El objetivo es encontrar una ley de control tal que lasalida limt→∞y(t) = yd = para alguna salida deseada r. Para resolver este problema, primero definimos elestado deseado correspondiente limt→∞x(t) = xd y entrada limt→∞u(t) = ud para alcanzar r. Obviamente,xd, ud y yd deben satisfacer las ecuaciones de estado y salida; esto es

xd = Axd + Bud

yd = Cxd + Dud

Siendo que xd es una constante, xd = 0, tenemos:

0 = Axd + Bud

yd = Cxd + Dud

Dado yd, resolvemos las ecuaciones arriba para xd y ud. Si no hay solucion para xd y ud, entonces el objetivode limt→∞y(t) = yd no se puede alcanzar. Entonces, asumamos que la solucion existe; esto es, la ecuacionlineal: [

0yd

]

=

[A BC 0

] [xd

ud

]

tiene solucion. Para un sistema de una entrada una salida, xd y ud puede ser resuelto como

[xd

ud

]

=

[A BC 0

]−1 [

0yd

]

→ u = −K(−x − xd)︸ ︷︷ ︸

estabiliza pto equilibrio

+ ud︸︷︷︸

entrada nominal

A seguir definimos las nuevas variables como:

∆x(t) = x(t) − xd

∆u(t) = u(t) − ud

∆y(t) = y(t) − yd

Derivar las ecuaciones espacio de estado para ∆x(t), ∆u(t) y ∆y(t) como sigue:

∆x = x − xd = x = Ax + Bu = A∆x + B∆ + Axd + Bud = A∆x + B∆u∆y = y − yd = Cx + Du − Cxd − Dud = 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 yD.

∆x = A∆x + B∆u∆y = C∆x + D∆u

Suposicion fundamental: (xd, ud) 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.

θω

i

=

0 1 00 0 4,4380 −12 −24

θωi

+

0020

v

Clase 11-01, pag. 2

Page 3: 1. Problema de Generaci´on de Trayectoriabionanouni.wdfiles.com/local--files/.../Clase11-01.pdf · 1.3.2. Ejemplo: Control de direccio´n con programaci´on de la velocidad - modelo

GENERACION DE TRAYECTORIA Y GAIN SCHEDULING

donde los estados θ, ω, i son la posicion del angulo, la velocidad angular y la corriente, respectivamente; laentrada v es el voltaje aplicado. Nuestro objetivo es llevar el motor a θd = 10 y a la vez minimizar

J(x) =

∫∞

0

(9(θ − θd)2 + v2)dτ.

Primero encontramos xd y ud como:

θωi

=

[A BC D

]−1

00010

=

0 1 0 00 0 4,438 00 −12 −24 201 0 0 0

−1

00010

=

10000

El problema del LQR resulta:

∆θ∆ω

∆i

=

0 1 00 0 4,4380 −12 −24

∆θ∆ω∆i

+

0020

∆v

Q =

9 0 00 0 00 0 0

R = 1

La solucion usando el metodo del autovector es:

P =

4,438 0,9145 0,15000,9145 0,2550 0,04400,1500 0,0440 0,0076

∆v∗ =[−3,00 −0,8796 −0,1529

]

∆θ∆ω∆i

Luego el control optimo del problema original es:

v∗ = ∆v∗ + vd

=[−3,00 −0,8796 −0,1529

]

∆θ∆ω∆i

=[−3,00 −0,8796 −0,1529

]

θ − θd

ω − ωd

i − id

=[−3,00 −0,8796 −0,1529

]

θωi

−[−3,00 −0,8796 −0,1529

]

θd

ωd

id

=[−3,00 −0,8796 −0,1529

]

θωi

−[−3,00 −0,8796 −0,1529

]

1000

= 30 +[−3,00 −0,8796 −0,1529

]

θωi

1.3. Programacion de ganancias (GAIN SCHEDULING)

Sea el sistema no lineal con trayectoria posible:

x = f(x, u)y = h(x)

xd = f(xd, ud)r(t) = h(xd)

Clase 11-01, pag. 3

Page 4: 1. Problema de Generaci´on de Trayectoriabionanouni.wdfiles.com/local--files/.../Clase11-01.pdf · 1.3.2. Ejemplo: Control de direccio´n con programaci´on de la velocidad - modelo

GENERACION DE TRAYECTORIA Y GAIN SCHEDULING

Para estabilizar la trayectoria de referencia, observar el error e = x − xd, luego:

x = f(x, u)xd = f(xd, ud)

e = f(x, u) − f(xd, ud) = f(e + xd, v + ud) − f(xd, ud) = F (e, v, xd, ud)︸ ︷︷ ︸

termino no lineal que varia en el tiempo

A continuacion trataremos a xd, ud como si fuesen parametros en el controlador y linealizaremos en torno a(e, v) = (0, 0).

e = Ade + Bdv Ad =∂F

∂e

∣∣∣∣(0,0)

=∂f

∂x

∣∣∣∣(xd,ud)

Bd =∂F

∂v

∣∣∣∣(0,0)

=∂f

∂u

∣∣∣∣(xd,ud)

Ahora estabilizar e = 0 mediante eleccion de Kd tal que (Ad − BdKd) sea Hurwitz.

u = −Kd(xd, ud)(x − xd) + ud

1.3.1. Observaciones

1. No asumir que (xd, ud) son valores de equilibrio, solo que son valores que satisfacen la dinamica. Puntode equilibrio resulta en el caso especial de r =constante.

2. De forma mas general se puede programar las ganancias obtenidas para cualquier parametro, o aun elestado:

u = Kd(xd, ud)(x − xd) + ud Usar con cuidado (NL)

3. Problema: Linealizar en torno al punto de equilibrio deseado , luego linealizacion no trabajara muybien lejos de este punto.

4. En la practica, implementar la programacion de ganancias (gain scheduling) a traves de interpolacion:

Figura 2: Muestra de implementacion

5. En teorıa, no se puede decir mucho en relacion a como este metodo trabaja. Trabaja bien si (xd, ud)varian lo suficientemente despacio. Trabaja bien en practica, aun si la variacion de (xd, ud) es rapida.

1.3.2. Ejemplo: Control de direccion con programacion de la velocidad - modelo de bicicleta

Considerar el vehiculo con dos ruedas mostrado en la Fig. 3. Para propositos de direccionamiento estamosinteresados en un modelo que describe como la velocidad del vehiculo depende del angulo de direccion δ.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 angulo de orientaciony α es el angulo entre la velocidad v y la linea de centros del vehiculo. Dado que b = ρ tan δ y α = 0 (puntode referencia esta en la rueda trasera), asumiendo que las ruedas ruedan sin resbalarse, encontramos que elmovimiento del centro de masa esta dado por:

dx

dt= v cos θ

dy

dt= v sen θ

(1)

Clase 11-01, pag. 4

Page 5: 1. Problema de Generaci´on de Trayectoriabionanouni.wdfiles.com/local--files/.../Clase11-01.pdf · 1.3.2. Ejemplo: Control de direccio´n con programaci´on de la velocidad - modelo

GENERACION DE TRAYECTORIA Y GAIN SCHEDULING

Para ver como el angulo θ es influenciado por el angulo de direccion, observamos, de la Fig. 3, que el vehiculorota con la velocidad angular v/ra en torno al punto O. Entonces:

dt=

v

ra

=v

btan δ (2)

Las ecuaciones (1) y (2) pueden ser usadas para modelar la bicicleta bajo la suposicion que no hay res-balamiento entre ruedas y el piso. La suposicion de no resbalamiento puede ser relajada adicionando unavariable de estado extra, dando asi un modelo mas realista. Tal modelo tambien describe la dinamica dedireccionamiento de barcos asi como la dinamica alabeo de aeronaves y misiles.

Las ecuaciones de movimiento no lineales del sistema pueden ser descritas como:

d

dt

xyθ

=

v cos θv sen θv

btan δ

= f(x, y, θ

︸ ︷︷ ︸

x

, v, δ︸︷︷︸

u

)

donde x, y y θ son la posicion y la orientacion del centro de masa del vehiculo, v es la velocidad de la llanatatrasera, b es la distancia entre la rueda delantera y trasera y δ es el angulo de la rueda delantera.

y

x

α

α

δ

δ

θ

Figura 3: Dinamica de la direccion de la bicicleta. El angulo direccional es δ y la velocidad del centro demasa tiene un angulo α relativo al eje longitudinal del vehiculo igual a cero. La posicion de la bicicletaesta dada por (x,y) y la orientacion por θ. La distancia entre ruedas es b, el centro de masa esta ubicado auna distancia a hacia adelante de la rueda trasera.

Estamos interesados en el movimiento del vehiculo en linea recta horizontal con velocidad fija v = vr 6= 0,entonces:

xd = vrtyd = yr

θd = 0

xd

vd = vr

δd = 0

}

ud

Notar que (xd, yd, θd, vd, δd) no son un punto de equilibrio, pero si satisfacen las ecuaciones de movimiento.

Definiendo el error, se tiene lo siguiente para la dinamica del error:

ex = x − vrt ex = v cos θ − vr ex = (ev + vr) cos eθ − vr = F1(ex, ey, eθ, ev, eδ)ey = y − yr ey = v sen θ ey = (ev + vr) sen eθ = F2(ex, ey, eθ, ev, eδ)

eθ = θ eθ =v

btan δ eθ =

ev + vr

btan eδ = F3(ex, ey, eθ, ev, eδ)

ev = v − vr

eδ = δ

Linealizando con respecto a (ex, ey, eθ, ev, eδ) = (0, 0, 0, 0, 0), se tiene:

Ad =

∂F1

∂ex

∂F1

∂ey

∂F1

∂eθ

∂F2

∂ex

∂F2

∂ey

∂F2

∂eθ

∂F3

∂ex

∂F3

∂ey

∂F3

∂eθ

∣∣∣∣∣∣∣∣∣∣∣

ex = 0, ey = 0, eθ = 0ev = 0, eδ = 0

=

0 0 −(ev + vr) sen eθ

0 0 (ev + vr) cos eθ

0 0 0

∣∣∣∣∣∣ ex = 0, ey = 0, eθ = 0

ev = 0, eδ = 0

Clase 11-01, pag. 5

Page 6: 1. Problema de Generaci´on de Trayectoriabionanouni.wdfiles.com/local--files/.../Clase11-01.pdf · 1.3.2. Ejemplo: Control de direccio´n con programaci´on de la velocidad - modelo

GENERACION DE TRAYECTORIA Y GAIN SCHEDULING

Bd =

∂F1

∂ev

∂F1

∂eδ∂F2

∂ev

∂F2

∂eδ∂F3

∂ev

∂F3

∂eδ

∣∣∣∣∣∣∣∣∣∣∣ ex = 0, ey = 0, eθ = 0

ev = 0, eδ = 0

=

cos eθ 0sen eθ 0

1

btan eδ

ev + vr

b

1

sec2 eδ

∣∣∣∣∣∣∣

ex = 0, ey = 0, eθ = 0ev = 0, eδ = 0

Luego, se obtiene que:

Ad =

0 0 00 0 vr

0 0 0

, Bd =

1 00 0

0vr

b

o, mas especıficamente:

ex

e)yeθ

=

0 0 00 0 vr

0 0 0

ex

ey

+

1 00 0

0vr

b

[ev

]

Resolviendo el problema de control para este sistema (ubicacion de polo, LQR), se tiene que:

[ev

]

= −Kd

ex

ey

[vδ

]

= −Kd

x − vrty − yr

θ

+

[vr

0

]

Una opcion para el calculo de Kd puede ser:

ex = ev ev = −λ1ex

ey = vreθ eδ = −b

vr

(a1ey + a2eθ)

eθ =vr

beδ

,

que posiciona los polos del sistema en lazo cerrado en lambda1 y las raices de s2 + a1s + a2 = 0. Luego elcontrolador en coordenadas originales queda como:

[vδ

]

= −

λ1 0 0

0a1b

vr

a2b

vr

︸ ︷︷ ︸

Kd

x − vrty − yr

θ

︸ ︷︷ ︸

e

+

[vr

0

]

︸ ︷︷ ︸

ud

Fuente: Lecture 1-1, CDS 110b, de Richard Murray.

Fuente: Capıtulo 3 del libro Feedback Systems: An Introduction for Scientists and Engineers, de Karl J.Astrom y Richard M. Murray.

Clase 11-01, pag. 6