Control Óptimo de
Sistemas con Entradas
Acotadas
OPTIMIZACIÓN Y CONTROL ÓPTIMO
Resumen
Introducción
Principio de Pontryaguin
Control Bang-Bang
Ejemplos
Control Bang-Off-Bang
Control LQR Acotado
Introducción
Anteriormente, se ha tratado el control óptimo de
sistemas continuos y discretos en los que se minimiza
un índice de coste.
No se ha considerado que en la realidad, las acciones
de control tienen saturaciones físicas, como por
ejemplo la máxima y mínima tensiones en tarjetas de
adquisición de datos o la fuerza máxima de empuje de
un cohete.
Para este tipo de sistemas, existen leyes de control
que minimizan el índice para todo el rango de
acciones de control admisibles.
Para índices de tiempo mínimo, se desarrolla el
control Bang-Bang.
Para índices de combustible mínimo (mínima energía),
se desarrolla el control Bang-Off-Bang.
Principio de Pontryaguin
Supongamos un sistema continuo:
=
Con un índice de coste asociado:
= φ( ( ) )+ ( )⋅
Supongamos que la ley de control está acotada, de
manera que se define una región “admisible” de
acciones de control. Pontryaguin demostró en 1962
que en este caso, la condición estacionaria, debe
de ser reemplazada:
∂
=
∂
Principio de Pontryaguin
Principio Mínimo de Pontryaguin:
Para que se obtenga una solución óptima el
Hamiltoniano deberá ser mínimo con respecto a las
acciones de control u en los valores óptimos del
estado y coestado.
Por tanto la condición estacionaria debe ser
reemplazada por:
( λ )≤ ( +δ λ )
donde δu son variaciones de u y * denota óptimo, para
todo u+δu admisibles
Ejemplo
Optimización con restricciones:
Supongamos que queremos minimizar L=2u2-5u+2.2,
sujeto a que |u| 1. cuya representación es la siguiente:
Ejemplo
Aplicando el principio mínimo: L(u*) L(u), para todo
u admisible, claramente se muestra que el valor
óptimo de u es: u*=1
L* = L(1) = - 0.8
El mínimo, sin restricciones en la acción de control:
∂
= − = = =−
∂
Sin embargo, u = 1.25 es inadmisible, dado que no
cumple con la restricción |u| 1.
Control Bang-Bang
El control Bang-Bang surge de minimizar un índice
para tiempo mínimo, con señales de entrada
acotadas.
Supongamos un sistema lineal:
= +
Con un índice de coste:
= ⋅ = −
Control Bang-Bang
Se requiere que la acción de control satisfaga:
()≤
para todo t ∈ [t0,T]
El problema de control óptimo es encontrar un control
u(t) admisible que minimice J(t0).
El Hamiltoniano es:
= +λ = +λ ( + )
Control Bang-Bang
Aplicando las condiciones de optimalidad:
∂
+λ =
∂
= +
∂
= λ=
∂
Se puede apreciar que en las condiciones de
optimalidad, no aparece u en la ecuación
estacionaria, por tanto se debe seleccionar u de
manera que H sea el mínimo posible.
Control Bang-Bang
Aplicando el principio de Pontryagin, el control
óptimo deberá satisfacer que:
( )(
+ λ + ) ≤ + (λ ) ( + )
Se puede apreciar la importancia de tener el estado
y coestado óptimos a ambos lados de la igualdad.
Por tanto podemos afirmar que la ley de control
óptimo u*(t), debe satisfacer que:
(λ ) ( )
≤ λ
para todo u(t) admisible.
Control Bang-Bang
Si definimos qi=biTλ
qi ui=1
ui=-1
ui<0
ui>0
biTλ/ci
ui=0
Control Bang-Bang
Esto implica que debemos aplicar el valor máximo o
mínimo admisible de u, teniendo en cuenta el signo
de BTλ. Si BTλ es positivo, debemos seleccionar
Umax, mientras que si BTλ es negativo se debe
seleccionar –Umax, demanera que el Halmiltoniano
sea lo más pequeño posible.
Por tanto la ley de control será:
λ( ) <
( )= λ( ) =
− λ( ) >
Control Bang-Bang
Esta ley de control se puede calcular con la función
signo “sng()”:
u*(t)=-Umax*sgn(BTλ)
Ejemplos
Problema monodimensional de persecución
de un blanco móvil:
Un avión de caza parte desde el reposo a una
distancia “h” detrás de su blanco que también
está inicialmente en reposo:
caza blanco
Y
0 h
Ejemplos
El blanco móvil tiene una aceleración tal que su
movimiento es:
= + ⋅
El perseguidor obedece a las Leyes de Newton:
=
=
con v(t) la velocidad y u(t) el empuje por unidad de
masa.
Acotador por:
()≤
Ejemplos
Se pretende calcular la acción de control que
minimice:
= ⋅
Este índice de coste es evidentemente minimizado
seleccionando el máximo control admisible para
todo t. Por lo tanto, u*(t)=1
Integrando las ecuaciones del estado para u(t)=1:
= = = ⋅ = ⋅ =
= = ⋅ = ⋅ =
Ejemplos
La intercepción se produce cuando y(T)=yB(T):
= + ⋅
Que se puede rescribir como:
⋅
+ = + =
( − ) ( − )
Se puede interpretar como un sistema dinámico en
el que en función de la distancia de separación
inicial, varía el comportamiento del sistema (polos),
pudiéndose representar su lugar de las raíces.
Ejemplos
El lugar de las raíces es:
Im(T) h
(0) (1.85) (())
h 0 3.33 5 Re(T)
Ejemplos
Para que el problema tenga solución, el sistema debe
tener una solución real positiva.
El lugar de las raíces indica que esto ocurre únicamente
si h ≤ 1.85. Si el blanco arranca más lejos, el perseguidor
no podrá alcanzarlo.
Para h < 1.85 el sistema tiene dos raíces reales positivas,
la más pequeña es el valor de T para el cual el
perseguidor primero alcanza y sobrepasa el blanco y la
segunda, la mayor, es cuando el blanco pasa de nuevo al
perseguidor.
Conclusiones:
El control óptimo puede no existir.
La estrategia de control es la de elegir la máxima acción de
control admisible.
Control Bang-Bang
Alcanzabilidad:
Un sistema invariante en el tiempo es alcanzable si y
sólo si la matriz de alcanzabilidad tiene rango
completo n.
= [ −
]
Sistema Normal:
Si todas las componentes de biTλ(t) de la función de
cambio BTλ(t) son distintas de cero, entonces el
sistema es normal.
Control Bang-Bang
El control Bang-Bang, nos conduce a una expresión
de u*(t) que es dificil de resolver:
u*(t)=-Umax*sgn(BTλ)
No obstante, esta expresión indica diferentes leyes
de control, de entre las cuales se debe seleccionar
la que hace el control óptimo.
Así, este principio nos evita tener que examinar
todas las posibles leyes de control para optimalidad,
dando un pequeño subconjunto potencial de
controles óptimos a ser investigado.
Se puede obtener una ley de control con
realimentación del estado.
Ejemplo
Supongamos un sistema que obedece a las leyes
de Newton, con |u| 1:
=
=
El objetivo de control es llevar el estado inicial
y(0),v(0) al origen en tiempo mínimo T.
y(T)=0 v(T)=0
El Hamiltoniano es:
= +λ { ⋅ + ⋅ }
Con coestado:
= +λ +
λ = λ[ λ ]
Ejemplo
Por tanto, el Hamiltoniano se rescribe como:
= +λ +λ
Las ecuaciones del coestado son:
λ=− λ
λ λ λ =
=−
λ λ λ = −λ
La condición de transversalidad:
( )= +λ ( ) ( )+ λ ( ) ( )
Ejemplo
El principio de Pontryagin establece que:
=− (λ )
λ <
λ ⋅ ⋅ = [λ λ ]⋅ =λ ⋅ = λ =
− λ >
Por lo que la componente del coestado λv(t) es la
función de cambio. Para determinar el control
óptimo, sólo necesitamos determinar λv(t). No
obstante dicha condición de cambio es díficil de calcular.
El control es en bucle abierto.
Ejemplo
Por el principio de Pontryaguin sabemos que u(t)=1
o u(t)=-1, en cualquiera de los dos casos es
constante. Se puede integrar las ecuaciones de
estado:
=
= = + ⋅
= = + ⋅
= ( + ⋅ ) = + ⋅ + ⋅
El plano de fases permite representar la evolución
de los estados para sistemas no lineales.
Ejemplo
Eliminamos t , dado que no se trata de un estado:
−
= + ⋅ → =
= + ⋅ + ⋅ → = +
−
+
( − )
= +
−
+
( − )
Obtenemos la ecuación de una parábola que pasa
por (y(0),v(0)).
( − )= ( − )+ ( − )
Ejemplo
Diagrama de fase u=1:
Ejemplo
Diagrama de fase u=-1:
Ejemplo
Para el primer diagrama, dado el punto de partida
y(0),v(0) se llega a origen.
Sin embargo, en el segundo diagrama no sucede lo
mismo.
En general, no se puede llevar al sistema al punto
de reposo sin aplicar cambios en la ley de control.
Por ello, el control Bang-bang realimentado realiza
el cambio de la ley de control en momento en que
una primera parábola coincide con una segunda
parábola (curva de cambio) que lleva al sistema al
reposo.
Ejemplo
Control Bang-Bang realimentado:
Ejemplo
Para el estado final de reposo y(0)=0 y v(0)=0, la curva
de cambio es:
⋅ =
< =
=
=−
− >
=− ⋅
Ejemplo
Para estados iniciales por encima de la curva de cambio,
el control óptimo es u=-1 seguido de u=1.
Para estados iniciales por debajo de la curva de cambio,
el control óptimo es u=1 seguido de u=-1.
La ley de control es:
− >− ⋅ =− ⋅ <
=
<− ⋅ =− ⋅ >
Nota: La entrada de control debe “apagarse” cuando el
estado esté lo suficientemente cerca del origen, para
llevar al sistema al reposo.
Control Bang-Off-Bang
Problema Lineal de Combustible Mínimo
= ⋅ + ⋅
= = ()
=
≤
Control Bang-Off-Bang
El Hamiltoniano es:
= +λ ( + )
Según el principio de Pontryaguin:
+ λ ( + )≤ + λ ( + )
+ λ ≤ + λ
Control Bang-Off-Bang
Para cada una de las entradas, se debe cumplir:
λ λ
+ ≤ +
≥
=
− ≤
λ
+ ⋅ ≥
λ
= + =
λ
− ⋅ ≤
Control Bang-Off-Bang
Para cada una de las entradas, se debe cumplir:
λ λ
+ ≤ +
≥
=
− ≤
Se pretende minimizar la sección:
λ
+ ⋅ ≥
λ
= + =
λ
− ⋅ ≤
Control Bang-Off-Bang
La cantidad qi(t) tomará valores dentro de la región
acotada por ui=1, ui=0, ui=-1:
ui=1
ui=-1 qi
ui>0
ui<0
1
biTλ/ci
-1 1 ui=0
Para minimizar qi(t), debemos seleccionar valores
correspondientes al límite inferior de la región
sombreada.
Control Bang-Off-Bang
Para biTλ/ci=1, cualquier valor no positivo de ui(t) hará
que qi(t)=0
Para biTλci=-1, cualquier valor no negativo de ui(t) hará
que qi(t)=0.
Por tanto, la ley de control de combustible mínimo es:
λ
<−
λ
] [ =−
λ
= − < <
λ
] − [ =
λ
− <
Control Bang-Off-Bang
Si definimos la función zona muerta:
− !<−
− !=−
! = − <!< λ
=−
!=
!>
Zm(w)
-1 0 1 w
-1
Control Bang-Off-Bang
Supongamos un sistema que obedece a las leyes de
Newton con |u(t)| 1:
=
=
Se pretende minimizar el combustible:
Con T final libre o fijo, de momento indiferente.
El Hamiltoniano es:
= +λ +λ
Control Bang-Off-Bang
El principio de Pontryagin requiere:
=− λ
= λ <−
≤ ≤ λ =−
= − <λ <
− ≤ ≤ λ =
=− λ >
La ley de control debe tener dos conmutaciones como
máximo.
No puede pasar de -1 a 1 sin pasar por 0, y viceversa.
Control Bang-Off-Bang
Consideramos las condiciones singulares.
Para los valores u=1 y u=-1, se generan los planos de
fase igual que el control Bang-Bang.
Para u=0 el estado estará dado por:
= + ⋅ = = + ⋅ + ⋅ = +
v(t)
-2
y(t)
-2 0 1
Control Bang-Off-Bang
Por tanto, el plano de fase es:
Control Bang-Off-Bang
Tiempo final libre:
v(t)
· (y(0),v(0))
u= -1
0
u=1 y(t)
u=0
v1 t2 t1
Con estado inicial (y(0),v(0)) dado.
Se demuestra que no existe una ley de control , de
combustible mínimo.
Control Bang-Off-Bang
Para el caso de tiempo mínimo, se puede calcular
dicho tiempo, a partir del estado inicial:
= + +
El control óptimo para combustible mínimo debe tardar
al menos un tiempo mayor a Tmin.
Control Bang-Off-Bang
Para 0<t<t1 se aplica u(t)=-1:
= = − = + ⋅ −
Para t1<t<t2 se aplica u(t)=0
= = + −
Para t2<t<T se aplica u(t)=1:
= = + −
−
= = + ⋅ − +
Control Bang-Off-Bang
Resolviendo el sistema de ecuaciones, se obtiene:
( + )− ( ⋅ ) −( ⋅ + ⋅ )
=
( + )+ ( ⋅ ) −( ⋅ + ⋅ )
=
Con la ley de control en lazo abierto:
− <
= ≤ ≤
≤
Control LQR Acotado
Se trata de resolver el problema del LQR con entradas
acotadas.
( ) = ( )⋅ ( ) + ( )⋅ ( )
= { ( )⋅ " ( )⋅ ( )}+ { ( )⋅ $( )⋅ ( ) + ( )⋅ #( )⋅ ( )}⋅
Con, ( )≤ "
Control LQR Acotado
Aplicando el principio Mínimo de Pontryaguin:
( λ )≤ ( +δ λ )
Para el caso del LQR se tiene:
( ) $⋅ + ( ) ⋅#⋅ + λ ( ) ⋅( ⋅ + ⋅ )≤ ( ) $ ⋅ + ( ) ⋅(
⋅#⋅ + λ ⋅ + ⋅ )
( ) ⋅#⋅ + λ ( ) ⋅ ⋅ ≤ ⋅#⋅ + λ ( ) ⋅ ⋅
Si asumimos que las entradas están desacopladas:
⋅ ( ) + (λ ) ⋅ ⋅ ≤ ⋅ + λ ( ) ⋅ ⋅
= ⋅ +
(λ ) ⋅
⋅
Control LQR Acotado
La ley de control óptimo (sin considerar la
saturación):
=−
(λ ) ⋅
Por tanto:
=
(λ ) ⋅
−
((λ ) ⋅ ) = − ((λ ) ⋅ )
Por otro lado, para las entradas saturadas, se
tiene:
= ⋅ % & ( )
+ λ ⋅ ⋅ % &
Control LQR Acotado
Punto de cambio:
=−
((λ ) ⋅ ) = ⋅ % & + λ ( ) ⋅ ⋅ % &
− = ⋅ % & + ⋅ % & ++ ⋅ % &
= λ ( ) ⋅ =− % & ⋅
Por tanto, para λ*Tbi<-uMAX*ri o λ*Tbi>uMAX*ri
el control LQR proporciona una acción de
control mayor que la admisible.
Control LQR Acotado
qi ui=uMAX
ui=-uMAX
ui>0
ri*uMAX2/2
-ri*uMAX/2 ri*uMAX/2
biTλ
ui=-Ki*x
-ri*uMAX ri*uMAX
Zona de acciones de control no admisibles
Control LQR Acotado
Problema Acotado de Mínima Energía. Dado un
sistema lineal:
= ⋅ + ⋅
Con índice a minimizar:
= { ⋅#⋅ }⋅
Se puede llegar a una ley de control:
=− ([# −
⋅ ⋅λ ])
Control LQR Acotado
Con la función saturación:
sat(qi )
qi
-1 0 1
-1
Ejemplo Continuo Newton
Tiempo Infinito
Supongamos el sistema continuo:
( ) = ( )⋅ ( ) + ( )⋅ ( )
= ⋅ + ⋅
con
=
∞
{ ( )⋅ $ ⋅ ( ) + ⋅#⋅ ( )}⋅
≤ = =[ ] $= #=
Ejemplo Continuo Newton
Tiempo Infinito
Solución (sin saturación): ()
=[ ] ( )= − ⋅
()
=− −
Condición de cambio: "
− " =− −
Ley de control en bucle cerrado
()
<− ⋅
" "
()
()
( )= − − >− ⋅
" "
()
()
− ⋅
()
Ejemplo Continuo Newton
Tiempo Infinito
El plano de fase, sin considerar la saturación es:
2
1.5
0.5
-0.5
-1
-1.5
-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Ejemplo Continuo Newton
Tiempo Infinito
El plano de fase, considerando la saturación es: