Sie sind auf Seite 1von 9

Universidad Nacional de Ingeniería P.A.

2017-1
Facultad de Ingeniería Mecánica 06/07/17
DAIA

CUARTA PRACTICA DE CONTROL MODERNO Y ÓPTIMO - MT227

Se permite el uso de una hoja de Formulario.

Problema 1

El control LQ - horizonte finito es importante en Aeronáutica para la transferencia


óptima de velocidades entre dos valores.

Se requiere saber la ley de control óptima y la ruta


óptima de la velocidad que minimice el siguiente índice
de costo
1 tf 2
J   u dt
20
Sujeto a :
mv  v  u Con V(0)=V1=2 hasta V(tf)=V2=4, considere el tf=2 seg.
 
Normalizando los parámetros: a   y b  
m m
Por lo que se pide:

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


b) (01 pto) 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 la trayectoria óptima.
d) (01 pto) Implemente en Matalab/Simulink las curvas de control (u*) y las trayectoria óptima (x*) para
las condiciones fronteras dadas anteriormente. usar los parámetros a  1, b  2 .Se calificará diagrama
de simulación.

Problema 2

Se desea estimar los estados óptimos para un oscilador amortiguado, descrito por la siguiente dinámica:

x1 (t)  x2 (t)


x2 (t)  n x1(t)  2x2 (t)  d (t )
2

y(t)  x2 (t)  v(t)

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

a) (02 ptos) Determine las ecuaciones dinámicas de Riccati para obtener la covarianza del error de
estimación.
b) (01 pto) Muestre la ganancia del filtro de Kalman estacionario en función de los parámetros del
sistema.
c) (02 ptos) Simule la dinámica del oscilador usando Simulink/Matlab con los parámetros  =0.1 y
n  2.5 . Considere el punto inicial x0  [1 0]T y x̂0  [0 0] . Muestre el diagrama de
T

simulación, los siguientes gráficos: figura 1: Contiene y_ sensor, y_ideal, e y_estimado.


Universidad Nacional de Ingeniería P.A. 2017-1
Facultad de Ingeniería Mecánica 06/07/17
DAIA

Figura 2: estados 1 y 2 vs estados estimados. Considere los ruidos con el comando de simulink
(Random Number).
d) (01 pto) ¿ Cuál es el efecto en aumentar 10 veces la varianza del ruido de la medida en los estados
estimados? .
e) (02 ptos) A partir de las ecuaciones dinámicas encontradas en a) determine la matriz de covarianza en
función del tiempo. Use Matlab/Simulink para determinar las gráficas de cada elemento de la
covarianza en función del tiempo. Empiece con valores iniciales cero y T_final = 6 seg. ¿ Se cumple el
estado estacionario?. Justifique

Problema 3

La Fig. 1 muestra un tanque con un sistema


de control de nivel y un observador. El
observador es usado para estimar el flujo de
salida 𝑑𝑑(𝑡𝑡), el cual representa un disturbio
en el tanque; el flujo estimado sirve de
entrada al control por alimentación directa.

El modelo del nivel en el tanque es:


1
ℎ̇(𝑡𝑡) = [𝛼𝛼𝛼𝛼(𝑡𝑡) − 𝑑𝑑(𝑡𝑡)].
𝐴𝐴𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡
Fig. 1. Diagrama de bloques del sistema tanque
donde 𝛼𝛼 = 0.002 y 𝐴𝐴𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 = 0.1.

a. (01 pto) Si el flujo de salida 𝑑𝑑(𝑡𝑡) se asume constante (𝑑𝑑̇ = 0), escribir la representación
espacio de estados del sistema aumentado con vector de estados 𝑥𝑥 = [ℎ 𝑑𝑑]𝑇𝑇 . El nivel del
tanque ℎ(𝑡𝑡) es medido.
b. (02 ptos) Incorporando ruidos en el modelo aumentado se tiene:
𝑥𝑥̇ (𝑡𝑡) = 𝐴𝐴𝑥𝑥(𝑡𝑡) + 𝐵𝐵𝛼𝛼(𝑡𝑡) + 𝑤𝑤(𝑡𝑡)
.
𝑦𝑦(𝑡𝑡) = 𝐶𝐶𝑥𝑥(𝑡𝑡) + 𝑣𝑣(𝑡𝑡)
Si 𝑤𝑤(𝑡𝑡) y 𝑣𝑣(𝑡𝑡) son ruidos blancos gaussianos con media cero y covarianzas 𝜎𝜎𝑤𝑤 =
�10 0 �y 𝜎𝜎𝑣𝑣 = 10−6; calcular el filtro de Kalman y presentarlo en su forma espacio de
−2
0 10−4
estados.
+ −
Ayuda: La solución de la ARE es 𝑃𝑃 = � �.
− +
c. (01 pto)
1 ∞Calcular la ganancia 𝐾𝐾𝐿𝐿𝐿𝐿𝐿𝐿 bajo el siguiente índice de desempeño:
𝐽𝐽 = 2 2
∫ (ℎ + 10𝛼𝛼 )𝑑𝑑𝑡𝑡. Nota: En esta parte no se debe incluir la dinámica del disturbio.
2 0
d. (01 pto) Reescribir el diagrama de bloques de la Fig.1 destacando la dinámica del proceso,
sensor, observador y controladores. Asumir 𝛼𝛼ffd = 𝐾𝐾ffd𝑑̂ y 𝛼𝛼ffsp = 𝐾𝐾ffsp𝑦𝑦sp ( 𝑦𝑦sp es una
referencia cte).
e. (01 pto) Calcular la representación espacio de estados del compensador para implementación;
por ejemplo, en un micro controlador. Presentar el compensador de forma literal - no usar
números.
f. (01 pto) Implemente en Matlab y/o Simulink y obtenga y, ym, hest y dest. Considere valores
iniciales diferentes de cero para h(0). ysp=1 , y para las constantes Kffd y Kffsp utilice varios
valores constantes y vea la influencia en el control.
Profesora
Universidad Nacional de Ingeniería P.A. 2017-1
Facultad de Ingeniería Mecánica 06/07/17
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 + 𝜆𝜆(−𝑎𝑎𝑣𝑣 + 𝑏𝑏𝛼𝛼)
2
b) Condición estacionaria: 𝜕𝜕𝜕𝜕 = 0 = 𝛼𝛼 + 𝑏𝑏𝜆𝜆 ⇒ 𝛼𝛼 = −𝑏𝑏𝜆𝜆
𝜕𝜕𝜕𝜕
Reemplazando la condición estacionaria en la ecuación de Hamilton
1
𝐻𝐻 ∗= −( 𝑏𝑏 2 )𝜆𝜆2 − 𝑎𝑎𝑣𝑣𝜆𝜆
2

Ec. de co-estados: 𝜕𝜕𝜕𝜕 = −𝜆𝜆̇ = −𝑎𝑎𝜆𝜆𝜆𝜆̇ = 𝑎𝑎𝜆𝜆  𝜆𝜆(𝑡𝑡) = 𝑒𝑒 −𝑡𝑡�𝑡𝑡𝑓𝑓 −𝑡𝑡�𝜆𝜆(𝑡𝑡 )


𝜕𝜕𝑣𝑣 𝑓𝑓

𝜆𝜆�𝑡𝑡𝑓𝑓�= 𝐶𝐶1

Ec. de estado : 𝜕𝜕𝜕𝜕 = 𝑣𝑣̇ = −𝑎𝑎𝑣𝑣 + 𝑏𝑏(−𝑏𝑏𝜆𝜆) = −𝑎𝑎𝑣𝑣 − 𝑏𝑏2𝑒𝑒−𝑡𝑡�𝑡𝑡𝑓𝑓−𝑡𝑡�𝐶𝐶


𝜕𝜕𝜕𝜕 1
c) Solución usando la transformada de Laplace:

𝑠𝑠𝑠𝑠(𝑠𝑠) − 𝑠𝑠1 = −𝑎𝑎𝑠𝑠(𝑠𝑠) − 𝑏𝑏 2 𝑒𝑒 −𝑡𝑡𝑡𝑡𝑓𝑓 𝐶𝐶1 ℒ{𝑒𝑒 𝑡𝑡𝑡𝑡 }

2 𝑒𝑒 −𝑡𝑡𝑡𝑡𝑓𝑓 𝐶𝐶
𝑠𝑠(𝑠𝑠) =
𝑉𝑉1
− 𝑏𝑏 1
ℒ{𝑒𝑒 𝑡𝑡𝑡𝑡 } 𝑡𝑡𝑡𝑡} = 1
𝑠𝑠+𝑡𝑡 𝑠𝑠+𝑡𝑡 𝑠𝑠−𝑡𝑡
ℒ{𝑒𝑒

𝑠𝑠1 𝑏𝑏 2 𝑒𝑒 −𝑡𝑡𝑡𝑡𝑓𝑓 𝐶𝐶1 1


𝑠𝑠(𝑠𝑠) = −
𝑠𝑠 + 𝑎𝑎 𝑠𝑠 + 𝑎𝑎 𝑠𝑠 − 𝑎𝑎
Aplicando anti-transformada de Laplace

𝑏𝑏 2
𝑣𝑣(𝑡𝑡) = 𝑠𝑠1 𝑒𝑒 −𝑡𝑡𝑡𝑡 − 𝐶𝐶 𝑒𝑒 −𝑡𝑡𝑡𝑡𝑓𝑓 sinh(𝑎𝑎𝑡𝑡)
𝑎𝑎 1
Evaluando en las condificiones finales

−𝑡𝑡𝑡𝑡 𝑓𝑓 𝑏𝑏2
𝑠𝑠2 = 𝑠𝑠1 𝑒𝑒 − 𝑡𝑡
𝐶𝐶1 𝑒𝑒 −𝑡𝑡𝑡𝑡 𝑓𝑓 sinh(𝑎𝑎𝑡𝑡𝑓𝑓 ) , despejando 𝐶𝐶1

𝐶𝐶1 = − 𝑎𝑎 𝑒𝑒𝑡𝑡𝑡𝑡𝑓𝑓 (𝑠𝑠 − 𝑠𝑠 𝑒𝑒 −𝑡𝑡𝑡𝑡𝑓𝑓 )


2 1
𝑏𝑏 2 sinh�𝑎𝑎𝑡𝑡𝑓𝑓 �
𝑡 1
−𝑡𝑡
𝜆𝜆(𝑡𝑡) = =− (𝑠𝑠 − 𝑠𝑠 𝑒𝑒 −𝑡𝑡𝑡𝑡𝑓𝑓 )𝑒𝑒 𝑡𝑡𝑡𝑡 -b*-b*l(t)
𝑒𝑒 �𝑡𝑡𝑓𝑓−𝑡𝑡�𝐶𝐶
1 𝑏𝑏 2 sinh�𝑡𝑡𝑡𝑡𝑓𝑓 � 2 1

𝑎𝑎 1
𝛼𝛼(𝑡𝑡) = (𝑠𝑠 − 𝑠𝑠 𝑒𝑒 𝑡𝑡𝑡𝑡𝑓𝑓 )𝑒𝑒 𝑡𝑡𝑡𝑡
𝑏𝑏 sinh�𝑎𝑎𝑡𝑡𝑓𝑓 � 2 1

𝑑𝑑)

t=linspace(0,2);
V1=2;
V2=4;
a=1;
b=2;
tf=2;
Universidad Nacional de Ingeniería P.A. 2017-1
Facultad de Ingeniería Mecánica 06/07/17
DAIA

C1=-a/(b^2*sinh(a*tf))*exp(a*tf)*(V2-V1*exp(-a*tf));
l=@(t)exp(-a*(tf-t))*C1;
u=@(t)-b*l(t);
uopt=u(t);
v=@(t)V1*exp(-a*t)-b^2/a*C1*exp(-a*tf)*sinh(a*t);
vopt=v(t);
figure (1)
plot(t,uopt);
grid
figure(2)
plot(t,vopt)
grid

Solución Problema2
1 0
dx(t)  0 x(t)  d (t)
a) dt    2
2  1
 n   

y(t)  0 1x(t)  v(t)

0 0
Matriz de Covarianza de d(t): Qd  0 1 s d 0 1  
T

0 5

Matriz de Covarianza de v(t)= R=Sv=1


 s1 s2 
Matriz de Covarianza del error=   
 
s2 s 3 

Ecuación dinámica de Riccati::


Universidad Nacional de Ingeniería P.A. 2017-1
Facultad de Ingeniería Mecánica 06/07/17
DAIA

ds1 dsdt2  0 1   s1 s2  +  s1 s2  0   2   s1 s2  0 -1


  ds2dt ds     2 2  s s  s s  
n -
s s  1
R
 dtdt dt3   n 2 3  2 3  1 2   2 3   
 s1
0 1 s2  0 0
  
 2
s s 3 0 5

ds1
dt  2s 2 s2 2
ds2
dt   2 s  2s  s  s s
n 1 2 3 23

 2 n2 s2  4s3  s3  5
2
ds3
dt

En el caso estacionario:  2s  s =0
2
s2=0
b) 2 2

2n2 s2  4s3  s3  5  0  s3  2  4 2  5


2

 2  4 2  5
 s  2s2  s 3 s s2 3 0
2
 s1 2
n 1
n

 0 
L
 2  4 2  5 
 
c). Simulando la dinámica:

 0 1 
A=  2 
 n
2


 0 
L  2.450
 

En los ruidos usar sample time: 0.01


Universidad Nacional de Ingeniería P.A. 2017-1
Facultad de Ingeniería Mecánica 06/07/17
DAIA

d) Al aumentar la covarianza del ruido de la medida el filtro de Kalman no logra atenuar completamente
el ruido.
Universidad Nacional de Ingeniería P.A. 2017-1
Facultad de Ingeniería Mecánica 06/07/17
DAIA

e). Aplicar el sistema de Ecuaciones de Riccati al problema dual en la parte 1


modificando el programa dado en clase y en el laboratorio 8

global A C Q R
a=0.1;
wn=2.5;
A=[0 1; -wn^2 -2*a];
Bd=[0;1];
C=[0 1];
Sd=5;
Sv=1;
Q=C'*Sd*C;
S=zeros(2);R=1;
P=zeros(2,2);
te=6;deltat=0.1;
t=te:-deltat:0;
[t,P]=ode23(@riceq_dual,t,S);
P=reshape(P,[length(t) 2 2]);
L=zeros(length(t),2);
[Linf,Pinf,E]=lqr(A',C',Q,R);
for i=1:length(t)
PP=reshape(P(i,:,:),[2 2]);
L(i,:)=PP*C'*inv(R);
end
t=t(1:length(t));
L=L(1:length(t),:);
P=P(1:length(t),:);
figure (1)
plot(te-t,L);
legend(' L11' ,'L21');
grid
figure (2)
plot(te-t,P);
legend('s3','s1','s2')
grid

function dotP=riceq_dual(t,P)
global A C Q R
P=reshape(P,[2 2]);
dotP=P*(C'*inv(R)*C*P)-P*A'-A*P-Q;
dotP=reshape(dotP,[4 1]);
Universidad Nacional de Ingeniería P.A. 2017-1
Facultad de Ingeniería Mecánica 06/07/17
DAIA

Problema 3

0.31623
Universidad Nacional de Ingeniería P.A. 2017-1
Facultad de Ingeniería Mecánica 06/07/17
DAIA

Los valores de Kffd y Kffsp sirven para hacer un buen seguimiento a la referencia.

Das könnte Ihnen auch gefallen