You are on page 1of 7

Universidad Nacional de Ingeniería P.A.

2016-2
Facultad de Ingeniería Mecánica 23/11/16
DAIA

CUARTA PRACTICA DE CONTROL MODERNO Y ÓPTIMO - MT227

Se permite el uso de una hoja de Formulario.

Problema 1

En el control LQ - horizonte finito para el sistema dinámico:

x1  2x2
x 2  x1  u

Se requiere conseguir la regulación de las variables de estado con un esfuerzo óptimo y trayectoria optima
siempre que minimice el siguiente índice de costo:
2
J   (u  x1 ) dt
tf

Las trayectorias óptimas descritas deben ir desde (0,0) en el tiempo t=0 seg. hasta (1,-1) ten tf=1seg.

Por lo que se pide:

a) ( 01 pto) Determine la ecuación de Hamilton-Bell


b) (02 ptos) Represente las condiciones necesarias de Optimización y la ley de control óptima en función
del co-estado.
c) (02 ptos) Resolver las ecuaciones diferenciales de dos puntos frontera usando un método adecuado. Se
calificará la ley de control óptima y las ecuaciones de las trayectorias óptimas.
d) (02 ptos) Implemente en Matalab/Simulink las curvas de control (u*) y las trayectorias óptimas (x*)
para las condiciones fronteras dadas anteriormente. Se calificará diagrama de simulación.

Problema 2

Dada la siguiente planta:

𝑥̇(𝑡) = −2𝑥̇(𝑡) + 2𝑢(𝑡) + 𝜔(𝑡)


𝑥̇𝑚(𝑡) = 3𝑥̇(𝑡) + 𝑣(𝑡)

Donde 𝜔(𝑡) y 𝑣(𝑡) son las señales de ruido blanco, no correlacionadas entre si, con densidad espectral
𝑆𝜔 = 1 y 𝑆𝑣 = 5, respectivamente.

a) (02 ptos) Determine la ganancia en estado estable de Kalman y compare sus resultados con la función
care del Matlab.
b) (01 pto) ¿Cuáles son los polos del filtro de Kalman en estado estacionario?
c) (01 pto) ¿Cómo cambia el polo cuando el valor de 𝑆𝑣 es modificado a 50?
d) (01 pto) ¿ Implemente los ruidos blancos en Matlab?. Muestre el código en Matlab, verificando sus
principales carácteristicas.
e) (01 pto) Implemente en Matlab la planta estocástica y muestre la señal filtrada para un punto inicial
arbitrario. Use para u(t) una señal de pulsos.
Universidad Nacional de Ingeniería P.A. 2016-2
Facultad de Ingeniería Mecánica 23/11/16
DAIA

Problema 3

Dado el modelo:

x1  x1  u  w
x 2  2x 2  u  w
y  x2  v

w y v son ruidos blancos Gaussianos independientes con covarianzas 0.5 y 0.25


respectivamente.

Considere el control LQG del sistema, usando el siguiente índice de desempeño:



T
1
2
 2

J  2 Elim T   x2  u dt,
1 
 con =4.

 T0 

donde E[ .] es el operador del valor esperado

a) (1.0 pto) Es posible el diseño de un compensador LQG? Justifique.


b) (2.0 ptos) Determine la ganancia de retroalimentación óptima, que permita la regulación del
sistema.
c) (1.5 ptos) Determine la matriz de covarianza del sistema dual en el estado estacionario (𝑃∞)
d) (1.0 ptos)Obtenga la función de transferencia del compensador LQG ( C(s) ) según el
siguiente esquema (Fig. 2) .¿ Cuál es el orden del compensador?
(t)
Fig 2 Compensador LQG y sistema a controlar
B

r(t)
-L -K

(t)

e) (1.5 ptos) En el gráfico anterior simule los ruidos gaussianos (t) y v(t) . Comience la simulación con
r(t)= 0. Muestre los gráficos de salida. ¿Comente su respuesta?
Grafique el vector error de estimación y calcule la varianza del error de estimación. Considere para
generar los ruidos el icono del Simulink: Random Number, con los parámetros: mean , varianza del
ruido, Sample time: 1e-4 .

La Profesora
Universidad Nacional de Ingeniería P.A. 2016-2
Facultad de Ingeniería Mecánica 23/11/16
DAIA

Solución Problema1
a) Función de Hamilton y correspondientes ecuaciones de estado y co-estado, condición estacionaria y
condición frontera:
𝐻 = (𝑢 − 𝑥̇1)2 + 𝜆1(2𝑥̇2) + 𝜆2(−𝑥̇1 + 𝑢)
b)
𝜆
Condición estacionaria: 𝜕𝐻 = 0 = 2(𝑢 − 𝑥̇ ) + 𝜆 ⇒ (𝑢 − 𝑥̇ ) = − 2
𝜕𝑢 1 2 1 2
Reemplazando la condición estacionaria en la ecuación de Hamilton
𝜆22 𝜆22 𝜆 2
𝐻∗ = + 𝜆1(2𝑥̇2) − = − 2 + 2𝑥̇2𝜆1
4 2 4
𝜕𝐻
𝜆 =−( )= 0 ⇒𝜆 = 𝑎
1 𝜕𝑥̇1 1
Ec. de co-estados: 𝜕𝐻
𝜆 =−( ) = −2𝜆 = −2𝑎 ⇒ 𝜆 = −2𝑎𝑡 + 𝑏
2 𝜕𝑥̇2 𝜆21 1 2 𝑡2 𝑡
𝑥̇ = −𝑥̇ + 𝑢 = − ⇒ 𝑥̇ = 𝑎 −𝑏
2 1 = 𝑎𝑡 − 𝑏 2
Ec. de estado : 2 2 2 2
𝑡3 𝑡2
𝑥̇ = 2𝑥̇ = 𝑎𝑡2 − 𝑏𝑡 ⇒ 𝑥̇ = 𝑎 −𝑏
1 2 1 3 2
𝑏 𝑡2
𝑡3
𝑢 = 𝑎𝑡 − + 𝑎 − 𝑏
2 3 2
Condiciones finales:
𝑥̇1(1)=1 𝑎 = −12
𝑥̇2(1)=−1 
𝑏 = −10
c) t=linspace(0,1);
c1=[-4 5 0 0];
c2=[-6 5 0];
c3=[-4 5 -12 5];
u=polyval(c3,t);
x1=polyval(c1,t);
x2=polyval(c2,t);
Universidad Nacional de Ingeniería P.A. 2016-2
Facultad de Ingeniería Mecánica 23/11/16
DAIA

Solución Problema2
a)

𝑎 = −2; 𝑏 = 2 ; 𝑏𝑤 = 1 , 𝑐 = 3, 𝑎 == 2; 𝑏 = 2 ; 𝑏𝑤 = 1 , 𝑐 = 3,
𝑑=0 𝑑=0
sw=1, sv=5;
sw=1, sv=5; 9
9 𝑙𝑞𝑒: 4𝑝0 − 𝑝02 + 1 = 0
𝑙𝑞𝑒: − 4𝑝0 − 𝑝02 + 1 = 0 5
5
𝑝0 = 2.4491
𝑝0 = 0.2268 𝐿 = 1.4694
𝐿 = 0.1361

[ l,e,p]= care (a,c,sw,sv)

L=0.2268

b) Polo: det(s-(a-lc))=0 s=-2.4083

c) Si sw=50 = el polo se hace disminuye ligeramente no en la misma variación del cambio de la


varianza.  polo: -2.0445

d) dt=0.000001;
t=0:dt:1;
w=sqrt(sw)*randn(length(t),1);
v=sqrt(sv)*randn(length(t),1);
figure (1)
plot(t,w);
figure (2)
plot(t,v);
mean(w)
mean(v)
varw=var(w)
varv=var(v)

c) a=-2;
b=2;
bw=1;
c=3;
% varianzas del ruido del proceso y la medida
sw=1;
sv=5;
[l,p,e]=lqe(a,bw,c,sw,sv)
% planta nominal -
sys=ss(a,b,c,0);
s1=ss(sys.a,[sys.b sys.b/2],sys.c,sys.d);
s1.inputname={'u' 'w'};
s1.outputname={'y'};
% varianzas del ruido del proceso y la medida
[kest,L,P]=kalman(s1,sw,sv);
alterado=ss(sys.a,[sys.b sys.b/2 0*sys.b],...
[sys.c;sys.c ],[0 0 0;0 0 1]);
alterado.inputname={'u' 'w' 'v'}
alterado.outputname={'y' 'yv'};
Universidad Nacional de Ingeniería P.A. 2016-2
Facultad de Ingeniería Mecánica 23/11/16
DAIA

% Creación de una onda cuadrada con 3 segundos de periodo,


% duración de 6 segundos y muestre cada 0.01 segundos.

[u,tt]=gensig('square',3,10,0.001);

% Ampliando el tamaño de la señal de entrada a 2


u=2*u;
% Creación de los ruidos Gaussianos

randn('seed',0);
w=sqrt(sw)*randn(length(tt),1);
v=sqrt(sv)*randn(length(tt),1);

% Simulación

[yideal,t]=lsim(alterado,[u,0*w,0*v],tt);
[yalterado,t]=lsim(alterado,[u,w,v],tt);
[yestim,t]=lsim(kest,[u,yalterado(:,2)],t);
y=yalterado(:,1);
yv=yalterado(:,2);
ye=yestim(:,1);
emedida=y-yv;
eobs=y-ye;
[cov(emedida) cov(eobs)]

figure(1)
subplot(311); plot(t,yideal(:,1))
subplot(312); plot(t,yv,'k:',t,y,'r-',t,ye,'b--');
subplot(313); plot(t,emedida,'g:',t,eobs,'k-');

Esta versión es ocional (se calificará solo una opción en Matlab o en Simulink)

Pulse Generator: Amplitud : 2, Periodo : 20 seg. Pulse Width(% of period) 50


Varianza de w : 1 sample time=0.00001
Varianza de v : 5 sample time =0.0001
Universidad Nacional de Ingeniería P.A. 2016-2
Facultad de Ingeniería Mecánica 23/11/16
DAIA

Problema 3

A=[-1 0; 0 -2];
B=[1;1];
C=[0 1];
D=0;
Bw=[1 0]';
Q=[ 0 0; 0 4];
R=1;
W=0.5;
V=0.25;
nc=rank(ctrb(A,B))
no=rank(ctrb(A',C'))

nc =

no =

1
No es completamente observable, pero es detectable => si es posible el diseño de LQG
𝐴𝑇𝑃 + 𝑃𝐴 − 𝑃𝐵𝑅−1𝐵𝑇𝑃 + 𝑄 = 0
[K,P,E]=lqr(A,B,Q,R)
K=[ 0 0.8284]

𝐴𝑃∞ + 𝑃∞𝐴𝑇 − 𝑃∞𝐶𝑇𝑉−1𝐶𝑃∞ + 𝐵𝑤𝑤𝐵𝑤𝑇 = 0

[L,Poo,Eo] = lqe(A,B,C,W,V);
P =

0.2080 0.1449
0.1449 0.1124

Glqg=tf(ss(A-B*K-L*C,-L,-K,0))

Glqg =

0.3724
---------
s + 3.278
El orden del sistema es uno, ya que aparece en el compensador un cero en .1 que se cancela con un cero en
-1.
Universidad Nacional de Ingeniería P.A. 2016-2
Facultad de Ingeniería Mecánica 23/11/16
DAIA

x2

Xhat2

El sistema compensado con LQG no es bueno para seguir referencias diferentes de cero.

You might also like