Beruflich Dokumente
Kultur Dokumente
2017-1
Facultad de Ingeniería Mecánica 06/07/17
DAIA
Problema 1
Problema 2
Se desea estimar los estados óptimos para un oscilador amortiguado, descrito por la siguiente dinámica:
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
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
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
𝜆𝜆�𝑡𝑡𝑓𝑓�= 𝐶𝐶1
2 𝑒𝑒 −𝑡𝑡𝑡𝑡𝑓𝑓 𝐶𝐶
𝑠𝑠(𝑠𝑠) =
𝑉𝑉1
− 𝑏𝑏 1
ℒ{𝑒𝑒 𝑡𝑡𝑡𝑡 } 𝑡𝑡𝑡𝑡} = 1
𝑠𝑠+𝑡𝑡 𝑠𝑠+𝑡𝑡 𝑠𝑠−𝑡𝑡
ℒ{𝑒𝑒
𝑏𝑏 2
𝑣𝑣(𝑡𝑡) = 𝑠𝑠1 𝑒𝑒 −𝑡𝑡𝑡𝑡 − 𝐶𝐶 𝑒𝑒 −𝑡𝑡𝑡𝑡𝑓𝑓 sinh(𝑎𝑎𝑡𝑡)
𝑎𝑎 1
Evaluando en las condificiones finales
−𝑡𝑡𝑡𝑡 𝑓𝑓 𝑏𝑏2
𝑠𝑠2 = 𝑠𝑠1 𝑒𝑒 − 𝑡𝑡
𝐶𝐶1 𝑒𝑒 −𝑡𝑡𝑡𝑡 𝑓𝑓 sinh(𝑎𝑎𝑡𝑡𝑓𝑓 ) , despejando 𝐶𝐶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
0 0
Matriz de Covarianza de d(t): Qd 0 1 s d 0 1
T
0 5
2 n2 s2 4s3 s3 5
2
ds3
dt
En el caso estacionario: 2s s =0
2
s2=0
b) 2 2
2 4 2 5
s 2s2 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
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
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.