Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Filtro de Kalman
Identificação de Sistemas Dinâmicos
Adaptado de:
Aguirre, Cap. 9 - Introdução à Indentificação de Sistemas,
Ed. UFMG, 3ª edição
Introdução
• Modelo Linear Discreto
mk
rk mediçõeseentradadesequência
PxIniciaisCondições
ℜ∈ℜ∈ yu
00,ˆ
Função de Probabilidade
Função de densidade
de Probabilidade Gaussiana
Combinação de 2 sensores
Medidas de um mesmo instrumento
Nova Nomenclatura
O Caso Dinâmico
Movimento do Objeto:
e.g. Aproximação de Euler
O Filtro de Kalman Discreto
Lei de Movimento – propagação do vetor de estados estimado:
Nova NomenclaturaNova Nomenclatura
Predição
Correção
Matriz de Covariância
• Erro de estimação na propagação
Matriz de covariância de
...
Equações de Filtro de Kalman Discreto
Estimação conjunto de estados e
parâmetros
Matriz aumentada:
O Filtro de Kalman EstendidoModelo não-linear
Jacobianas:
Estimação Caixa Cinza
• Conhecimento à priori
(da estrutura, via leis físicas, princípios
fundamentais)
• Informação auxiliar• Informação auxiliar
Estimador MQR
Ex.1 – Processo Térmico
46
48
50
52
54
ºCIdentificação Processo Térmico - Filtro de Kalman
medido
estimado
simulado
6500 7000 7500 8000 8500 9000 9500 10000 10500 11000
42
44
46
t/[seg]
u2 - Tamb
[tid ur]
WS1
[tid yr]
z
1350
-5
-K-
exp(-1/40)
x1
[tid uid]
u1
WS
z
1
simd
To WS
Scope1
-5Z
-K-
exp(-1/270)
x2x2
Modelo do Processo PWM
Capacitância Térmica LM35
u2 - Tamb
[tid uid]
u1z
1
z
1
simd
To WSScope1
25
-5Z
4
0.001
-K-
exp(-1/30)
x1
q f luxode calor x2
x2
x3-x7
%Modelo discreto do processo térmico no espaço de e stados% x(k+1)=phi*x(k)+gama*u(k)% y(k) = C*x(k) phi=[exp(-1/30) 0 0 0 0 0 0
(1-exp(-1/30))*4*0.001 1 0 0 0 0 -5*0.0010 1 0 0 0 0 00 0 1 0 0 0 00 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0]
gama=[1 10 0.0010 00 00 0 0 00 0]
H=[0 0 0 0 0 0 1];
Ex. 2 Levitação Magnética
Ex. 2 Levitação Magnética
Diagrama de blocos em um dos canais
Processo Compensador em avanço
121 s
21+s
p s
z+s )(
+=
+=sD
2223
2
mf1)-(K s 1)-(K ps s
z)(sK- (s)G
rr
r
ωωω
++++=(K=Ganho de malha)
Diagrama de blocos simplificado
Ex. 2 idssze{i}=iddata(y-mean(y),u-mean(u),T);
gtf{i}=tfest(ze{i},3,1); % Id. Caixa Preta – estrutura: 3 pólos 1 zero
% idss (fixa pólo em comp. Avnaço em -121) - 4 par. livres.
par=[-2e5;-7500;-1.3e4;-220]; % valores iniciais ~gtf
A = [0 1 0; 0 0 1; par(1) par(2) -121]; A = [0 1 0; 0 0 1; par(1) par(2) -121];
B = [0; 0; 1];
C = [par(3) par(4) 0];
D = zeros(1,1);
gs=idss(A,B,C,D);
gs.Structure.a.Free=[0 0 0; 0 0 0;1 1 0];
gs.Structure.b.Free=[0; 0; 0];
gs.Structure.c.Free=[1 1 0];
gs.Structure.d.Free=0;
set(gs,'Ts',0); % modelo contínuo
%gss = ssest(ze,gss,ssestOptions('Display','on'));
gss{i}=ssest(ze{i},gs);
Ex. 2 idgrey
function [A,B,C,D,K,x0] = myLevi(par,Ts,aux)
A = [0 1 0; 0 0 1; par(1) par(2) -121];
B = [0; 0; 1];
C = [par(3)*aux par(3) 0];
D = zeros(1,1);
K = zeros(3,1);
x0 =[0; 0; 0];
par=[-2e5;-7500;-1.3e4];
aux=21; % posição do zero - fixa!
Ts=0; % modelo contínuo
gr=idgrey('myLevi',par,'c',aux,Ts)
ggr{i}=greyest(ze{i},gr)
% Forma Canonica Controlável
% b1 s + b0
% ----------------------------------
% s^3 + a2 s^2 + a1 s + a0
%
%A=[0 1 0;
% 0 0 1;
% -a0 -a1 -a2]
%B=[0;0;1];
%C=[b0 b1 0]
Ex. 2 Levitação Magnética
0.2
0.3
0.4i=3 arq.=dados\6-19+9-52-38_1 ms.txt
1.13e05 s 8560 s 67.46 s
17.11)+(s 726.9- tf(s)
23 +++=
20 20.2 20.4 20.6 20.8 21 21.2 21.4 21.6 21.8 22-0.4
-0.3
-0.2
-0.1
0
0.1
y adq
yt tfestyg greyest
u*.01
2.05e05 s 1.164e04 s 121 s
21) (s 1019.6- gr(s)
23 ++++=
1.13e05 s 8560 s 67.46 s +++
MQR – MQ com Restrições
θc
ξξ
ξθy
S
parâmetrosossobrerestriçõesn
CustodeFunçãoaminimizar
r
T
=
+= ˆψ
Ex. MQR – Característica Estática
Característica Estática
Ex. Predial
T & UR
[tempo sac]
liga/desliga
ar condicionado
[tempo u_e]
Umidade relativa externa
16
Temperatura
serpentina
[tempo t_o]
Temp. sala
[tempo t_e]
Temp. externa
[tempo t_v]
Temp. Vizinhança
To_est
1
s
Intg
1
av.s+1
Gv
1
aue.s+1
Gue
1
ae.s+1
Ge
Kut
Kc K
Ktu
0.01Kue
Kv
Ke
1
ac.s+1
Gac
Erro To
carta_w
Carta Psicrométrica2
Ti_c
qc
qd
Tac To
To
Ti_v
qe
Ti_e
qv
[tempo su]
liga/desliga
umidificador
[tempo bomb]
liga/desliga
bomba d'água
[tempo u_v]
Umidade relativa vizinha
0
[tempo t_v]
Temperatura vizinha[tempo t_o]
Temperatura sala
[tempo t_e]
Temperatura externa
Uo_est
1
s
Intg1
1
auv.s+1
Guv
1
aum.s+1
Gum
1
au.s+1
Gu
0.01
KsKu
Kuv
Kum
100
Carta Psicrométrica2
carta_ur
Carta Psicrométrica1
carta_w
Carta Psicrométrica
Uo
Wi_v
Wo
Wi_u
Wu
idgrey
function [A,B,C,D,K,x0] = myfunc5(par,Ts,aux)
A = [par(1) par(2) par(3) par(4) par(5) par(6) par(7); 0 par(8) 0 0 0 0 0; 0 0 par(9) 0 0 0 0; 0 0 0 par(10) 0 0 0; 0 0 0 0 par(11) par(12) par(13); 0 0 0 0 0 par(14) 0; 0 0 0 0 0 0 par(15)];
B = [par(16) par(17) par(18) par(19) par(20); (1-par(8)) 0 0 0 0; 0 B = [par(16) par(17) par(18) par(19) par(20); (1-par(8)) 0 0 0 0; 0 (1-par(9)) 0 0 0; 0 0 (1-par(10)) 0 0; 0 0 0 par(21) par(22); 0 0 0 par(23) 0; 0 0 0 0 (1-par(15))];
C = [1 0 0 0 0 0 0; 0 0 0 0 1 0 0];
D = zeros(2,5);
K = zeros(7,2);
x0 =[par(24);par(25);par(26);par(27);par(28);par(29);par(30)];
0/100000
/
000/1000
0000/100
00000/10
555554535251
151511
α
αααα
u
s
c
v
e
sutcve
a
aKaaaaa
a
a
a
aKKK
aKKKKKK
a
A
−−
−−
−
−−
=
=
uu
c
v
e
a
aK
a
a
a
B
/10000
0/000
00000
00/100
000/10
0000/1
00000
;;)(
/1000000
0/100000
1511 ααuvsutcve
uv
u
KKKKa
KKKKa
a
a
=++−
=
−−
ααα
ααuvstusctusv
tusecvetus
KKa
KKKKa
KKKKa
KKKKa
KKKKKKa
−=−=−=
−=++=
555453
5251
;;
;;)(
uva/10000
=
0010000
0000001C
Predial - Sinais
Umidade relativa da sala de reuniões
(uo), do ambiente externo (ue), sala
vizinha (uv) e pós-evaporativo (up).
Temperatura da sala de reuniões (to),
do ambiente externo (te), vizinhança
(tv) e pós-evaporativo (tp).
Resultado da Identificação
i u uv ue um s
ai 168,5 164,9 80,82 171,7 -
Ki 2,19 3,77 0,151 -0,003 0,029
Redução de Ordem
Utilização de Coeficientes de Agrupamento
• Modelo ARMAX
Candidatos a Modelo
Considerando:
pequenas períodos de amostragem
Estimação dos Parâmetros
Redução de Ordem
• Encontrar o “joelho”
acréscimo de termo é irrelevante: