Sunteți pe pagina 1din 58

CONTROL OPTIMO DE SISTEMAS

DINMICOS
Problema General del Control Optimo continuo
planta
(t ) f (x, u, t )
x

u(t)

x(t)

El problema del control ptimo consiste en encontrar una seal de


control u*(t) en el intervalo de tiempo[to,T] que conduzca la planta
(sistema)

x (t ) f (x, u, t ), x(to ) xo

a lo largo de la trayectoria x*(t) tal que la funcin de costo:


J (to ) x(T ),T Lx(t ), u(t ), t dt
T

to

sea minimizada, con la condicin final :

x(T ), T 0

Donde x(t ) , u(t)


n

and

222

Clculo de las Variaciones Regla de Leibniz


Si x(t ) n es una funcin de t y:
J (x) hx(t ), t dt
T

to

Donde J(x) y h(.) son funcionales escalares (i.e. funciones


de x(t)), entonces las variaciones:

dJ hx(T ),T dT hx(t0 ), t0 dt0


[hx x(t ), t x]dt
T

to

Donde:

h
hx
xh
x
T

( un vector columna (= gradient))


En un punto estacionario dJ = 0

223

Solucin del Problema de Control Optimo


Usando multiplicadores de Lagrange, obtenemos un ndice de
conducta aumentado:

J x(T ), T T x(T ), T

to

donde

L( x,u, t ) T (t ) f ( x,u, t ) x dt

es una constante multiplicadora y


p

(t ) n es una funcin del tiempo.

Se define a la funcin de Hamilton :

H (x, u, t ) L( x, u, t ) f ( x, u, t )
T

quedando:-

J x(T ), T x(T ), T + H (x,u, t ) 224T xdt


to
T

Entonces a partir de la regla de Leibniz:T


T
T
T

dJ (x x ) dx (t t )dt
T

( H T x)dt ( H T x)dt
T

to

H xT x H uT u T x ( H x)T dt
to

Ahora integrando por partes

to

xdt x x T xdt
T

to

to

dx xdt dx xdt
T

Note que:

to

to

T xdt

(T )dT
dx(T ) x(T ) x

to

225

Por lo tanto:

dJ (x Tx )T dx (t Tt H T x T x)dt
T

d ( H x x)dt dx
T

to

to

( H x )T x H uT u ( H x)T dt
to
Para el caso particular cuando to y x(to) son fijas,
dto = 0, dx(to) = 0 dando:-

dJ (x Tx )T dx (t Tt H )dt T d
T

( H x )T x H uT u ( H x)T dt
to

226

Para un punto estacionario,


dJpara
0todo independiente
u and .para un mnimo son:d , x,
Por lo que, las condiciones
necesarias

x H f x f (x,u, t ) (Modelo del sistema)


H x (ecuacin de co-estado)
H u 0 (condicin estacionaria)
(x Tx )T dx(T ) (t Tt H ) dT 0
T

(condicin de frontera)

0 x(T ), T 0 (restricciones del


estado final)
227

Resmen de las condiciones necesarias de Optimizacin


Descripcin del sistema
Modelo del sistema: x f (x, u, t ), t to , to fijo, x(to ) dado
Indice de desempeo:

J (to ) x(T ),T L(x, u, t )dt


T

to

Restricciones del estado final:

x(T ), T 0

228

Controlador Optimo

Hamilton:

H (x, u, t ) L( x, u, t ) T f ( x, u, t )

H
x H
f

T

Ecuacin de estado:

H
Hx

x
T
H
Hu
0
u

Ecuacin de co-estado:
Estacionacionaridad:
Condiciones de Frontera
x(to ) given
(x Tx )T
x(T ), T 0

dx(T ) (t Tt H ) dT 0
T

229

Notas
1. El Control ptimo depende de un problema de valor
frontera de dos puntos.
2. Para problema en horizonte de tiempo finito (i.e. to y T
fijos), dT = 0 y la condicin frontera se convierte:

(x Tx )T

dx(T ) 0

3. Si x(T) es fijo, dx(T) = 0 y (T) es libre.


4. Si x(T)es libre,

y, ademas , si
y, aun mas, si

(T ) x Tx
no existe,
(T ) x
no existe
(T ) 0.

5. En el caso de tiempo invariante, se puede demostrar que el


Hamiltoniano es una costante a lo largo de la trayectoria
ptima.
230

Ejemplo

min J
u(t )

1
2

T
0

( x 0.25u ) dt
2

s. t. x u, x (0) 1

u(t)

1
s

x(t)

planta
231

Aplicacin de la condiciones de
Opatimalidad
Hamiltoniano:
H 21 ( x 2 0.25u2 ) u
Ecuacin de co-estado:

Estacionaridad:

H x x

Hu 0 0.25u 0 u 4

Condicin de frontrera:

x ( 0) 1
(T ) 0

Aqu, el problema del valor frontera de dos puntos


es:
x 4 , x(0) 1

x, (T ) 0

232

Solucin del problema del valor frontera con dos puntos

Escribir el problema del valor frontera de


dos puntos como:
x
x
A , x(0) 1, (T) 0

0 4

Donde A
1 0

La solucin debera ser de la forma:


x(t )
1t
2t
b1e1e b2e2e
(t )

Donde 1, 2 son los valores propios de A
e1, e2 son los correspondientes vectores propios
calculados como:

233

m 4
mI2 A
, mI2 A m2 4 0 m 2
1 m
\1 2, 2 2
2
2
m 4
Adj mI2 A
, e1 , e2

1
1
1 m

Por lo tanto:
x ( t) b 2 2 t b 2 2 t
e
; x ( 0 ) 1, ( T ) 0
1
2 e
( t)
1
1



234

Donde b1 y b2 son evaluados para satisfacer las


condiciones de frontera: x(0) = 1, (T) = 0; dando:

1 2b 1 2b 2
0 b 1e b 2e
2T

2 T

1
1
b1
, b2
4T
4 T
2(1 e )
2(1 e )

Por lo tanto:
x(t )
2 2t
2 2 t
1
1
(t ) 2(1 e 4T ) 1 e 2(1 e 4T ) 1 e



1
1
2t
2t
\ (t )
e
e
4T
4T
2(1 e )
2(1 e )
235

Y la respuesta ptima de la seal de control y estado es:

2
2
2t
2 t
u (t ) 4 (t )
e

e
1 e4T
1 e 4 T
1
1
*
2t
2 t
x (t )
e
e
4T
4 T
1 e
1 e
*

u (t ) 2e
*

Nota: Para grandes T

-2e-2t
u(t)

2 t

x * (t ) e 2 t
1
s

planta

e-2t

x(t)

Nota: El control ptimo determinado es lazo abierto.

236

Solucin de Retroalimentacin

Si asumimos:
Entonces:

(t ) s(t ) x(t ) donde s(T ) 0


(t ) s(t ) x (t ) s(t ) x (t )

Y la sustitucin del estado y el co-estado nos dan:

s( 4 ) sx
4 s x s 4 s 1
x sx
ds
-1
\ 2
4dt 2tanh (2 s) 4t c
s 0.25
2

Donde la constante c necesita ser evaluada para satisfacer las


condiciones de frontera s(T) = 0. Esto nos da c = 4T y:

tanh (2 s) 2(T t ) s(t ) tanh 2(T t )


-1

1
2

237

tanh (2 s) 2(T t ) s(t ) tanh 2(T t )


-1

1
2

Por lo tanto, el control de retroalimentacin es:


u(t ) 4 (t ) 4s(t ) x(t ) k (t ) x(t )
Donde la ganancia de retroalimentacin
depende del tiempo:
k (t ) 2 tanh2(T t )
x(t)
u(t)
1
s

planta
-k(t)
ganancia
Nota cuando:

T , k (t ) 2

238

El sistema de lazo cerrado puede ser representado


por:
u(t)

ref = 0

k(t)

ganancia

1
s
planta

x(t)

239

MATLAB results:
optimal control of a single integrator
1
0
u(t)
-1
-2
0
1

0.5

1.5

2.5

3.5

0.5

1.5

2.5

3.5

0.5

1.5

2.5

3.5

0.5
x(t)
0
2
1
k(t)
0

240

Control sub-optimal:

k (t ) 2,

Use el valor en est.estacionario

t 0T

comparison of optimal and sub-optimal control T = 4


1
0
u(t)
-1
-2
0

0.5

1.5

2.5

3.5

3.5 241

1
Jopt = 0.2533
Jsub_opt = 0.2533

0.5
x(t)
0

0.5

1.5

2
t

2.5

comparison of optimal and sub-optimal control T = 1


0
-0.5
-1
u(t)
-1.5
-2
0

0.2

0.4

0.6

0.8

1
Jopt = 0.2442
Jsub_opt = 0.2487

0.5
x(t)
0

0.2

0.4

0.6
t

0.8

242

MATLAB Demo

243

Regulador Cuadrtico Lineal (LQR)


n
m
Modelo del Sist.: x Ax Bu, x(0) x o , x(t ) , u(t )
Indice de comportamiento:
T
T
1
1
J 2 x (T )S(T ) x(T ) 2 xT Qx u T Ru dt

Donde Q y S(T) son mat. Def. positivas, R es mat. def. positiva; Q, S(T)
y R son todas simtricas, T es fijo. Deseamos encontrar u*(t) en [0,T]
para minimizar J.
Hamiltoniano: H 12 ( xT Qx uT Ru ) T ( Ax Bu )
H x Qx AT

Ecuacin de co-estado:
Estacionaridad:

Hu 0

Ru B T 0

u R 1B T

Condiciones de Frontera:

x(0) x o
(x )T

dx(T ) 0

(T ) S(T ) x(T )
244

Problema del Valor frontera de los dos puntos:


1

x Ax BR B , x(0) xo
Qx A ,
T

(T ) S(T )x(T )

La cual puede ser escrita como un sistema:

x A

Q

BR B x

T
A

1

Matriz de Hamilton

245

Solucin de retroalimentacin:

El control de retroalimentacin de lazo cerrado :


u R 1BTSxy el problema de valor frontera de los dos
puntos se convierte en:
1

x Ax BR B Sx (A BR B S)x
T

Sx Sx Sx S( A BR B S)x Qx A Sx
T

Dando la ecuacin matricial de Riccati :


T
1 T

S A S SA SBR B S Q, S(T ) es dado.

la cual puede resolverse hacia atras en el tiempo.

246

El control Optimo es:

u(t ) R 1B TS(t )x(t )

Es decir: u(t ) K (t )x(t )

Donde K(t) (ganancia deKalman) es:


r=0
+

-x(t)

K(t)

u(t)

K ( t ) R 1B TS( t )

x Ax Bu

x(t)

controlador
dependiente del tiempo

planta

247

Estado -estable control en lazo cerrado y


retraalimentacin sub-optima

Cuando T

La matriz de la ec. de Riccati converge :

S(t ) S y podemos usar una ganacia matricial de


retroalimentacin

S Se obtiene al resolver la ec. algebraica de Riccati :


1

A S SA SBR B S Q 0 S
T

Obtenemos la ganancia en estado estacionario de


Kalman:
1 T

K R B S

248

r=0
+

-x(t)

u(t)

x Ax Bu

x(t)

controller
time-invariant

plant

249

Ejemplo

min J
u(t )

1
2

( x12 u 2 ) dt

s. t. x1 x 2 , x1 ( 0 ) 1
x 2 u , x 2 ( 0 ) 0

Aqui:

1
s

x2

1
s

x1

0 1
0
1 0
A
, B , Q
, R 1

0 0
1
0 0

Substituyendo en la ec. matricial de Riccati:


A T S SA SBR 1B T S Q, S(T ) 0
S
Nos da:

250

s11 s12 0 0 s11 s12 s11 s12 0 1

s s 0 0
s
s
1
0
s
s

12 22
12 22 12 22

s11
s12

s s 2 1,
11
12

s12

0
s22
1

0 1

s 11 ( T ) 0

s12

s11

s s s s , s ( T ) 0
12
11
12 22
12
s

22

2 s s2 ,
12
22

s22 0

s12

0
0

s ( t ), s ( t ), s ( t)
11
12
22

s 22 ( T ) 0

La ganancia matricial de Kalman :

KR B S
T

quedando:

s11 s12

s12(t) s22(t) k1(t) k2(t)


K 0 1
s12 s22

251

Estructura del control de retroalimentacin

u Kx k1 (t ) x1 (t ) k2 (t ) x2 (t )
k2(t)

ref = 0
k1(t)

1
s

x2

1
s

x1

252

La solucin numrica de la ecuacin de Riccati:


Matrix Riccati Solution, T = 8
1.5

s22

s12
s11
S(t)
0.5

4
t

Kalman Gain, T = 8
1.5

k2
1

k1
K(t)
0.5

253
0

4
t

Para grandes valores deT, la solucion del estado estable de


la ecuacin de Riccati da:
2
s12
1 0
s11 s12 s22 0 s11 2 s12 1, s22 2
2
2 s12 s22 0

Note que los valores positivos de s12 y s22 aseguran que S es


una matriz def. positiva. Esto da una ganancia de Kalman de
retrotalimentacin negativa :

K s12

s22

k1 1, k2 2
254

y la estructura de control sub-ptimo


(Optimo s T ):

2
-

ref = 0
1
+

1
s

x2

1
s

x1

255

Comparacin de la respuesta optima y sub-optimal


responses, T = 8
x1(t)

0.5
x(t)
0
x2(t)
-0.5
0

0.5
0
u(t)
-0.5
-1
0

opt

sub_opt

4
t

= 0.7119
= 0.7119

256

comparison of optimal and sub-optimal responses, T = 4


1
x1(t)
0.5
x(t)
0
x2(t)
-0.5
0

0.5

1.5

2.5

3.5

0.5
0
u(t)

Jopt = 0.695

-0.5
-1
0

Jsub_opt = 0.7095
0.5

1.5

2
t

2.5

3.5

257

Matriz de Hamilton:

1 T

A
BR B
H
Q
AT

0
0

1
0

1 0 0
0 0 1
0 0 0
0 1 0

Los valores propios de H son:

0.7071 j 0.7071
0.7071 j 0.7071

simplctica
258

eigenvalues of Hamiltonian matrix


0.8
0.6
0.4
0.2
0
Imag Axis
-0.2
-0.4
-0.6
-0.8
-0.8

-0.6

-0.4

-0.2

0
0.2
Real Axis

0.4

0.6

0.8

259

Los valores propios estables son aquellos del sistema


en lazo cerrado sub-ptimo
.

0 1 0
A c A BK
1

0 0 1

1
0
2

1 2

2 j 2
I 2 A c 2 1 0
2
2

260

Linear Quadratic Regulator Design Using MATLAB

LQR Linear quadratic regulator design for continuous systems.


[K,S,E] = LQR(A,B,Q,R) calculates the optimal feedback gain
matrix K such that the feedback law u = -Kx minimizes the cost
function:
J = Integral {x'Qx + u'Ru} dt
subject to the constraint equation:
.
x = Ax + Bu
Also returned is S, the steady-state solution to the associated
algebraic Riccati equation and the closed loop eigenvalues E:
-1
0 = SA + A'S - SBR B'S + Q E = EIG(A-B*K)

261

Ejemplo
A=[0 1;0 0];B=[0;1];
Q=[1 0;0 0];R=[1];
[K,S,E ]=lqr (A,B,Q,R)

Obteniendo:
K =

1.0000

1.4142

S =

1.4142
1.0000

1.0000
1.4142

E = -0.7071 + 0.7071i
-0.7071 - 0.7071i

Las cules estn de acuerdo con el anlisis anterior.


262

MATLAB Demo

263

Problemas con entrada restringida


El principio de Mnimo (Mximo)
Ahora consideraremos la situacin cuando la seal de
control u(t) es restringido en una regin admisible:

u(t ) U , e.g. ai ui (t ) bi

(bounds)

Considere el problema general :

min J (to ) x(T ), T L( x, u, t )dt


u (t )

to

s.t. x f(x, u, t ), x(to ) given


u U
x(T ),T 0

264

El procedimiento es similar que el anterior, pero con una


modificacin significante de la condicin de estacionaridad la
cual se convierte en condicin de optimalidad :

H (x* , u* , * , t ) H (x* , u, * , t )
Para todo control admisible
denotan los valores optimos.

u(t ) donde
U, *

Nota: La conidicin Hu =0 an se aplica si u esta dentro de la


regin, pero no cualquier componente de u est acotada.
Este es el PRINCIPIO DEL MINIMO
265

L.S. Pontryagin

Resumen de las Condiciones de Optimalidad necesarias


Cuando la entrada es restringida

Descripcin del Sistema


Modelo del Sistema:

x f (x, u, t ), u U , t to , to fixed, x(to ) given


T
Indice de Costo:
J (to ) x(T ),T L(x, u, t )dt
to

Restricciones de los
estados finales:

x(T ), T 0

266

Controlador Optimo
H ( x, u, , t ) L( x, u, t ) T f ( x, u, t )

Hamiltoniano:

H
x H
f

T

Ec. de estado:

H
Hx

Ec. de Co-estado:

Optimalidad:

H (x* , u* , * , t ) H ( x* , u, * , t ) , u* U

Condiciones de frontera:
x(to ) given
(x Tx )T
x(T ), T 0

dx(T ) (t Tt H ) dT 0
T

267

Ejemplo
min

{J dt }
T

s. t. x 1 x 2 , x 1 ( 0 ) x 10
x 2 u ,
x 2 ( 0 ) x 20
u(t ) 1
x1 ( T ) 0
x2 (T ) 0
+1
-1

1
s

x2

x1

1
s

H 1 1x2 2u
H 0

1
x
Ec. de Co-estado :
H

2
x
1

Hamiltoniano:

268

Condiciones de Frontera:
x1 ( 0) x10 , x1 ( T ) 0
x2 ( 0) x20 , x2 ( T ) 0

( x Tx ) T dx(T ) ( t Tt H ) dT 0
T

H ( T ) 0 1 1 ( T ) x2 ( T ) 2 ( T ) u ( T ) 0
2 (T )u(T ) 1
Condicin de Optimalidad: Para minimizar H requerimos 2u
sea tan pequeo como sea posible:
1 u 1. Por lo tanto, si 2 es (+), , use u= -1; si 2 es (-)
use u = +1. El control Optimal es:

u (t ) sgn2 (t )
*

Esto se llama control bang-bang.

269

Solucin de las ecuaciones de co-estado

1 0

1 (t ) constant = c1

2 1 2 (t ) c1t c2

Por lo tanto, 2(t) es lineal y puede cambiar de signo and


can change sign a maximum of only once.

u (t ) sgnel
)
Control Optimo: Desde
ptimo
2 (tcontrol
es uno de las cuatro opciones, dependiendo de la condicin
inicial particular.
*

1) u(t) = -1 for all t


2) u(t) = -1 switching to +1
3) u(t) = +1 switching to -1
4) u(t) = +1 for all t

270

Trajectorias de plano de fase

x1 x2 , x1 ( 0) x10
x2 u , x2 ( 0) x20 , u 1
Por lo tanto:

dx2 u
x22 x202

x2dx2 u. dx1
u( x1 x10 )
dx1 x2
2
La cual es la ecuacin de una parbola pasando atravs de
(x10,x20). Por lo tanto, el plano de fase seria una familia de
parbolas, una para cada condicin inicial.
271

u = +1
5

0
x2
-5
-5

0
u = -1

0
x2
-5
-5

0
x1

272

switching curve

u=+1

5
4
3
2
1
0
x2

x10,x20

u=+1

-1

u=-1

-2
switching
curve

-3
-4
u=-1

-5
-5

0
x1

273

La nica forma de llegar a x1(T) = 0, x2(T) = 0, es empezando


en (x10,x20), en un punto particular mostrado, primero aplicar
con u = -1. Cuando los estados llegan a la curva de
conmutacin, el control es cambiado a u = +1 el cual lleva a
los estados al origen. (Tenga en cuenta que si (x10,x20) pasa a
ser la curva de conmutacin de u(t) se mantendra a +1 o -1
para todo t).
La ecuacin de la curva de conmutacin es:

x1 21 x2 x2
274

Dando la ley de retroalimentacin:


1

u
1

Ley de retroalimentacin

if x1 12 x2 x2
or if x1 12 x2 x2 and x1 0
if x1 12 x2 x2
or if x1 12 x2 x2 and x1 0

+1

-1

1
s

x2

1
s

x1

275

Rpta plano de Fase


5
4
3
2
1
T = 11.21
0

start 1

x2

T = 6.324
-1
-2
-3
-4
-5
-15

start 2
-10

-5

0
x1

10

276

15

Rpta para la trayectoria 1


10
5
x1
0

2
0
x2 -2
-4
0
1

0
-1
0

277

Rpta para la trayectoria 2


0
-5
x1 -10
-15
0
5

10

12

10

12

6
t

10

0
x2
-5
0
1

0
-1
0

278

12

MATLAB Demo

279

S-ar putea să vă placă și