Sunteți pe pagina 1din 7

Control ptimo y procesos estocsticos

10. Regulador ptimo lineal en el transitorio


Se pretende deducir la expresin del controlador ptimo en el dominio del tiempo para que haga evolucionar a un proceso modelado como un sistema lineal, desde cualquier estado inicial en el instante k=0 hasta el valor 0 en el instante k=N. 10.1. Formulacin del problema en el transitorio El procedimiento que va a implementarse se conoce como minimizacin de una funcin sujeto a restricciones, las cuales estn impuestas por el modelo dinmico del proceso. El concepto del mtodo es til para considerar restricciones arbitrarias en la formulacin del problema de control ptimo. Las restricciones se agregan al funcional de costo mediante los multiplicadores de Lagrange (ML) , que son vectores con la misma dimensin que el vector de estado. Se minimiza J de la Ec (7-2), cuando est sujeta a las restricciones especificadas por la Ec (7-1), para una condicin inicial x(0)0. Al emplear un conjunto de ML {(1), (2),.... (N)} que forman un vector adjunto o covector, se re define al funcional J(x,u) de la Ec (7-2) como el funcional de costo aumentado Ja(x,u), dado por
J a (x , u ) =
N -1

k =0

{x T Qx k + u T Ru k + T +1[Ax k + Bu k x k +1 ] + [Ax k + Bu k x k +1 ] k k k
+ x T Sx N N

k +1

(10-1)

donde los ML se escriben as para mantener la dimensin escalar del argumento de J. Minimizar (10-1) es equivalente que minimizar (7-2) sujeto a (7-1). Para minimizar Ja(x,u), se busca diferenciar a Ja(x,u) respecto de cada componente dadas como x, u y e igualar a 0 las expresiones. Suele ser conveniente trabajar con los conjugados de cada componente, pero aqu se trabajar con las componentes originales ya que slo se har tratamiento simblico. Por lo tanto, se pretende hallar las siguientes igualdades
J a (x , u ) J (x , u ) J (x , u ) J (x , u ) = 0, a = 0, a = 0, a = 0, x k x N u k k

(10-2)

con k de 1 a N para xk y k, y de 1 a N-1 para u. Para facilitar el procedimiento, se explicitar al funcional de costo Ja(x,u) de la Ec. (10-1)
J a (x , u ) =
N -1

k =0

{ + x T1Qx k -1 + u T-1Ru k -1 + T [Ax k 1 + Bu k 1 x k ] + [Ax k 1 + Bu k 1 x k ] k k k


+ x T Qx k + u T Ru k + T +1[Ax k + Bu k x k +1 ] + [Ax k + Bu k x k +1 ]T k +1 k k k

+ x T 1Qx N -1 + u T -1Ru N -1 + T [Ax N 1 + Bu N 1 x N ] + [Ax N 1 + Bu N 1 x N ]T N N N N + x T Sx N . N

(10-3)

J. A. Pucheta (www.labimac.blogspot.com)

51

Control ptimo y procesos estocsticos

Ahora, se visualiza claramente dnde estn las funciones de las variables correspondientes para ejecutar el procedimiento de (10-3). Considerar las igualdades de derivacin matricial
xT X y xT X y xT X x = Xy ; = X T x ; = 2X x , x y x

donde la tercera propiedad slo es vlida si X es simtrica. expresadas en la Ec. (5-20). Se obtiene,
J a (x, u ) = 2Qx k + A T k +1 + A T k +1 k k = 2 Qx k + A T k k x k

}
(10-4)

de donde se deduce
J a (x , u ) = 0 Qx k + A T k +1 k = 0, k = 1,2,...., N - 1. x k J a (x , u ) = 2Sx N N N = 2{Sx N N } x N

de donde se obtiene
J a (x , u ) = 0 Sx N N = 0. x N

(10-5)

J a (x , u ) = 2Ru k + B k +1 + B k +1 = 2{Ru k + B k +1} u k

por lo tanto
J a (x , u ) = 0 Ru k + BT k +1 = 0, k = 1,2,...., N - 1. u k

(10-6)

J a (x , u ) = Ax k + Bu k 1 x k + Ax k + Bu k 1 x k = 2{Ax k + Bu k 1 x k } k

por ltimo

J a (x , u ) = 0 Ax k 1 + Bu k 1 x k = 0, k = 1,2,..., N. k

(10-7)

Ntese que la Ec. (10-7) es la ecuacin de estados del sistema (7-1). Para verificar que el extremo encontrado sea un mnimo, puede hacerse la derivada segunda de (10-3) respecto a sus variables y se ver que es positiva en los casos de xk, xN, y uk, pero en k el mtodo no decide. Para hallar la expresin del controlador, hay que operar entre las ecuaciones (10-4), (10-5), (10-6) y (10-7) para independizarse de . Entonces, despejando de (10-4),
k = Qx k + A T k +1 , k = 1,2,...., N - 1.

(10-8) (10-9)
52

tiene como condicin final a la Ec. (10-5), es decir


N = Sx N .
J. A. Pucheta (www.labimac.blogspot.com)

Control ptimo y procesos estocsticos

De la expresin (10-6) se despeja uk,


u k = R 1B T k +1 , k = 1,2,...., N - 1.

(10-10)

Sustituyendo la expresin de uk de (10-10) en la ecuacin de estado del sistema (7-1), se tiene para A y B invariantes
x k +1 = Ax k BR 1BT k +1 , x (0 ) = x 0 .

(10-11)

Para resolver el problema de optimizacin, deben resolverse simultneamente las expresiones de la Ec. (10-8) y la Ec. (10-11). Las condiciones de borde sern N y x(0). De la Ec. (10-9), se define
k = Pk x k , k = 0,1,...N - 1

(10-12)

donde la matriz Pk es simtrica y real, y PN=S. Sustituyendo (10-12) en las expresiones (10-8) y (10-11), se tiene
Pk x k = Qx k + A T Pk +1x k +1 , k = 1,2,...., N - 1.

(10-13)

y anlogamente para (10-11)

x k +1 = Ax k BR 1B T Pk +1x k +1 , x (0 ) = x 0 .

(10-14)

Las expresiones (10-13) y (10-14) se denominan transformaciones de Riccati, por no contener a . De la Ec. (10-14) se tiene que

(I + BR

B T Pk +1 x k +1 = Ax k , x (0 ) = x 0 .

(10-15)

Se demuestra que el parntesis tiene inversa si P es al menos semidefinida positiva. Por lo tanto
x k +1 = I + BR 1 B T Pk +1

Ax k , x (0 ) = x 0 .

(10-16)

Sustituyendo la Ec. (10-16) en la Ec. (10-13)


Pk x k = Q + A T Pk +1 I + BR 1B T Pk +1

A x k , k = 1,2,...., N - 1.

(10-17)

Multiplicando ambos miembros de la Ec. (10-17) por xkT se tiene que


x T Pk x k = x T Q + A T Pk +1 I + BR 1B T Pk +1 k k

A x k , k = 1,2,...., N - 1.

(10-18)

Como la igualdad debe cumplirse para todo x, entonces


Pk = Q + A T Pk +1 I + BR 1B T Pk +1

A,

k = 1,2,...., N - 1.

(10-19)

que es la Ecuacin de Riccati. Sabiendo que PN=S, se resuelve PN-1 y as sucesivamente hasta P0. Despejando k+1 de a Ec. (10-8) se tiene que
k +1 = A T
J. A. Pucheta (www.labimac.blogspot.com)

( )

( k Qx k ),

k = 1,2,...., N - 1.
53

(10-20)

Control ptimo y procesos estocsticos

El vector de control ptimo se escribe entonces reemplazando en (10-10) la Ec.(10-20), se obtiene


u k = R 1B T A T

( )

( k Qx k ),

k = 1,2,...., N - 1.

(10-21)

Reemplazando k de la Ec. (10-12) en la (10-21), se tiene


u k = R 1B T A T

( )

(Pk Q )x k

= K k x k , k = 1,2,...., N - 1.

(10-22)

de donde se define el controlador Kk como


K k = R 1B T A T

( )

(Pk Q )

k = 1,2,...., N - 1.

(10-23)

Evaluando el funcional de costo de la Ec. (7-2) con la uk de la (10-22) se encontrar el Jmin. Para simplificar el procedimiento, multiplicando ambos miembros de (10-13) por xkT, se tiene
x T Pk x k = x T Qx k + x T A T Pk +1x k +1 , k = 1,2,...., N - 1. k k k

(10-24)

y reemplazando el trmino xkTAT por su equivalente de la Ec. (10-15)


x T Pk x k = x T Qx k + x T+1 I + BR 1B T Pk +1 Pk +1 x k +1 , k = 1,2,...., N - 1. k k k

(10-25)

y despejando el trmino en

xkTQxk

se tiene

x T Qx k = x T Pk x k x T+1 I + BR 1B T Pk +1 Pk +1 x k +1 , k = 1,2,...., N - 1. k k k

(10-26)

En la Ec. (10-10) se reemplaza k+1 partiendo de la Ec. (10-12) que est valuada en k,
u k = R 1B T Pk +1 x k +1 , k = 1,2,...., N - 1.

(10-27)

As,

ukTRuk

resulta
u T Ru k = R 1B T Pk +1 x k +1 R R 1B T Pk +1 x k +1 , k = 1,2,...., N - 1. k

) (
T

(10-28)

Sumando las expresiones de la Ec. (10-26) con la Ec. (10-28) se tiene que
x T Qx k + u T Ru k = x T Pk x k x T+1 I + BR 1B T Pk +1 Pk +1 x k +1 + k k k k
1

(R

B T Pk +1 x k +1 R R 1B T Pk +1 x k +1 ,

) (
T

(10-29)

k = 1,2,...., N - 1.

y operando se llega a
x T Qx k + u T Ru k = x T Pk x k x T+1Pk +1 x k +1 , k k k k k = 1,2,...., N - 1.

(10-30)

Sustituyendo la Ec. (10-30) en la Ec. (7-2)


J. A. Pucheta (www.labimac.blogspot.com)
54

Control ptimo y procesos estocsticos

T T J min = x T P0 x 0 x1 P1 x1 + x1 P1 x 1 x T P2 x 2 + L + x T 1PN 1 x N 1 x T PN x N + x T Sx N(10-31) 0 2 N N N

[(

) (

pero como PN=S, se tiene que el Jmin resulta


J min = x T P0 x 0 . 0

(10-32)

10.2. Ejemplo de aplicacin En el Ejemplo de aplicacin visto, se pretende implementar un control con 5 y 10 etapas con el tiempo de muestreo de 0,01 seg. En el programa para de la Tabla 10-1 est codificado el algoritmo modelo que puede usarse como referencia. Ntese que el nmero de etapas puede reducirse, y el ngulo inicial puede ser mayor que 0,8 radianes, con el consiguiente aumento de la magnitud de la accin de control.
clc;clear all; m=.1;Fricc=0.1; long=0.6;g=9.8;M=.5; TamanioFuente=12; %Condiciones iniciales alfa(1)=.1; color='pr';colorc='.-r'; alfa(1)=.5; color='pg';colorc='.-g'; alfa(1)=.8; color='pb';colorc='.-b'; %Versin linealizada en el equilibrio inestable. Sontag Pp 104. % estado=[p(i); p_p(i); alfa(i); omega(i)] Mat_Ac=[0 1 0 0;0 -Fricc/M -m*g/M 0; 0 0 0 1; 0 Fricc/(long*m) g*(m+M)/(long*M) 0]; Mat_Bc=[0; 1/M; 0; -1/(long*M)]; I=eye(4); kmax=1000;%Etapas de evolucin T=5; sys_c=ss(Mat_Ac,Mat_Bc,[0 0 1 0],[0]);Ts=T/kmax; sys_d=c2d(sys_c,Ts,'zoh'); Mat_A=sys_d.a; Mat_B=sys_d.b; Mat_M=[Mat_B Mat_A*Mat_B Mat_A^2*Mat_B Mat_A^3*Mat_B ];%Matriz Controlabilidad rango=rank(Mat_M); t=0; x0=[0;0;alfa(1);0];x=x0; p(1)=x(1); p_p(1)=x(2); alfa(1)=x(3); omega(1)=x(4); Q=1e0*eye(4);R=1e-3; K=zeros(kmax,4);S=diag([1e1 1e1 1e6 1e2]); P=S; %condicin inicial de P for hi=kmax-1:-1:1 P= Q + Mat_A'*P*inv(eye(4)+Mat_B*inv(R)*Mat_B'*P)*Mat_A; K(hi,:)=inv(R)*Mat_B'*inv(Mat_A')*(P-Q); end Jmin=x0'*P*x0;J=0; for ki=1:kmax-1 t=[t ki]; u(ki)=-K(ki,:)*x; J=[J J(ki)+x'*Q*x+u(ki)'*R*u(ki)]; x=Mat_A*x+Mat_B*u(ki); p(ki+1)=x(1); p_p(ki+1)=x(2); alfa(ki+1)=x(3); omega(ki+1)=x(4); end J(kmax)=J(kmax)+x'*S*x; u(kmax)=-K(kmax,:)*x;td=t*Ts; h=Ts/20; figure(1);hold on; subplot(3,2,1);plot(t*Ts,alfa,color);grid on;title('ngulo','FontSize',TamanioFuente);hold on; subplot(3,2,2);plot(t*Ts,omega,color);grid on; title('Velocidad ngulo','FontSize',TamanioFuente);hold on; subplot(3,2,3); plot(t*Ts,p,color);grid on;title('Posicin carro','FontSize',TamanioFuente);hold on;

J. A. Pucheta (www.labimac.blogspot.com)

55

Control ptimo y procesos estocsticos subplot(3,2,4);plot(t*Ts,p_p,color);grid on;title('Velocidad carro','FontSize',TamanioFuente);hold on; subplot(3,1,3);plot(t*Ts,u,color);grid on;title('Accin de control','FontSize',TamanioFuente);xlabel('Tiempo en Seg.','FontSize',TamanioFuente);hold on; figure(2);hold on; subplot(2,2,1);plot(alfa,omega,color);grid on;xlabel('ngulo','FontSize',TamanioFuente);ylabel('Velocidad angular','FontSize',TamanioFuente);hold on;title('Plano de fase','FontSize',TamanioFuente); subplot(2,2,2);plot(p,p_p,color);grid on;xlabel('Posicin carro','FontSize',TamanioFuente);ylabel('Velocidad carro','FontSize',TamanioFuente);hold on;title('Plano de fase','FontSize',TamanioFuente); subplot(2,2,3);semilogy(t,J,color);title('Modelo lineal','FontSize',TamanioFuente);xlabel('Tiempo en Seg.','FontSize',TamanioFuente);ylabel('Acumulacin de costo','FontSize',TamanioFuente);hold on; semilogy(t,Jmin*ones(size(J)),color); %Verificacin de la solucin con el modelo no lineal en tiempo continuo. x=[0;0;alfa(1);0]; x=x0; p=x(1); p_p=x(2); alfa=x(3); omega=x(4); tita_pp(1)=0; u=[];i=1;Jn=0; for ki=1:kmax u1(ki)=-K(ki,:)*x; for kii=1:20 u(i)=u1(ki); p_pp=(1/(M+m))*(u(i)-m*long*tita_pp*cos(alfa(i))+m*long*omega(i)^2*sin(alfa(i))Fricc*p_p(i)); tita_pp=(1/long)*(g*sin(alfa(i))-p_pp*cos(alfa(i))); p_p(i+1)=p_p(i)+h*p_pp; p(i+1)=p(i)+h*p_p(i); omega(i+1)=omega(i)+h*tita_pp; alfa(i+1)=alfa(i)+h*omega(i); x=[p(i); p_p(i); alfa(i); omega(i)]; i=i+1; end Jn=[Jn Jn(ki)+(x'*Q*x+u(ki)'*R*u(ki))]; end Jn(ki+1)= Jn(ki)+x'*S*x; u(i)=-K(ki,:)*x;t=0:h:T; colorc='.k'; figure(1);hold on; subplot(3,2,1);plot(t,alfa,colorc);grid on;title('ngulo','FontSize',TamanioFuente);hold on; subplot(3,2,2);plot(t,omega,colorc);grid on; title('Velocidad ngulo','FontSize',TamanioFuente);hold on; subplot(3,2,3); plot(t,p,colorc);grid on;title('Posicin carro','FontSize',TamanioFuente);hold on; subplot(3,2,4);plot(t,p_p,colorc);grid on;title('Velocidad carro','FontSize',TamanioFuente);hold on; subplot(3,1,3);plot(t,u,colorc);grid on;title('Accin de control','FontSize',TamanioFuente);xlabel('Tiempo en Seg.','FontSize',TamanioFuente);hold on; figure(2);hold on; subplot(2,2,1);plot(alfa,omega,colorc);grid on;xlabel('ngulo','FontSize',TamanioFuente);ylabel('Velocidad angular','FontSize',TamanioFuente);hold on; subplot(2,2,2);plot(p,p_p,colorc);grid on;xlabel('Posicin carro','FontSize',TamanioFuente);ylabel('Velocidad carro','FontSize',TamanioFuente);hold on; subplot(2,2,4);semilogy([td T],Jn,colorc); title('Modelo no lineal','FontSize',TamanioFuente);xlabel('Tiempo en Seg.','FontSize',TamanioFuente);ylabel('Acumulacin de costo','FontSize',TamanioFuente);hold on;

Tabla 10-1. Cdigo de programa para el algoritmo del controlador ptimo en estado transitorio.

J. A. Pucheta (www.labimac.blogspot.com)

56

Control ptimo y procesos estocsticos

ngulo
1 0.5 0 -0.5 -1 0 1 2 3 4 5 -5 -10 5 0

Velocidad ngulo

Posicin carro
2 1.5 1 0.5 0 0 1 2 3 4 5 0 -5 10 5

Velocidad carro

Accin de control
200 100 0 -100

0.5

1.5

2.5

3.5

4.5

Tiempo en Seg.

Fig. 2. Evolucin temporal de las variables de estado del pndulo invertido.


Plano de fase
2 10 8

Plano de fase

Velocidad angular

0 -2 -4 -6 -8 -10 -1 -0.5 0 0.5 1

Velocidad carro

6 4 2 0 -2 0 0.5 1 1.5 2

ngulo
10
4

Posicin carro
10
4

Modelo lineal Acumulacin de costo

Modelo no lineal

Acumulacin de costo

10

10

10

10

10

-2

200

400

600

800

1000

10

-2

Tiempo en Seg.

Tiempo en Seg.

Fig. 3. Plano de fase del pndulo invertido y evolucin de la acumulacin de costo para el modelo lineal y el no lineal usando el controlador ptimo en estado transitorio.
J. A. Pucheta (www.labimac.blogspot.com)
57

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