Upload
matheus-portela
View
50
Download
0
Embed Size (px)
DESCRIPTION
Seminário sobre filtros de software com aplicações para sensores de temperatura e robótica móvel. Filtro de Kalman, Filtro de Kalman Estendido e Filtro de Partículas.
Citation preview
Filtros de software e aplicaesFiltro de Kalman estendido e filtro de partculas
Matheus V. Portela
3 de dezembro de 2013
Matheus V. Portela Filtros
O que um filtro?
Matheus V. Portela Filtros
Definio formal
filtro - s.m.Priberam: Aquilo que deixa passar apenas uma parte de algo.Wikipdia: Entende-se por filtro algo que seleciona o quepassa por ele, deixando passar apenas o que no filtrado.
Matheus V. Portela Filtros
Filtros eletrnicos
Filtro passa-baixa Filtro passa-alta
Matheus V. Portela Filtros
Filtros digitais
Filtro digital
Matheus V. Portela Filtros
Filtro de Kalman
Matheus V. Portela Filtros
Filtro de KalmanAplicaes pela NASA
NASA Ames Research Center
Apollo 1
Apollo 15
Matheus V. Portela Filtros
Programa de nibus espaciais
VANTs
Submarinos da marinha americana
Msseis teleguiados
Matheus V. Portela Filtros
Filtro de KalmanDiagrama esquemtico
Modelo:xt = Atxt1 +Btut + tzt = Ctxt + t
Matheus V. Portela Filtros
Filtro de KalmanAlgoritmo
Previso:
t = Att1 +Btutt = Att1ATt +Rt
Atualizao:
Kt = tCTt (CttC
Tt +Qt)
1
t = t +Kt(zt Ctt)t = (I KtCt)t
Matheus V. Portela Filtros
Filtro de KalmanSimulao em MATLAB
function [new_mean, new_cov] = kalman_filter(mean, cov, u,z, A, B, C, R, Q)
% Prediction phasem = A*mean + B*u;S = A*cov*A + R;
% Update phaseK = S*C*pinv(C*S*C + Q);new_mean = m + K*(z - C*m);I = eye(size(K, 1), size(C, 2));new_cov = (I - K*C)*S;
end
Matheus V. Portela Filtros
Filtro de KalmanSimulao em MATLAB
x(t) = V exp(t/1000)
Matheus V. Portela Filtros
Filtro de KalmanVantagens
Estatisticamente timoSimples implementaoComputacionalmente eficienteProcessamento em tempo real
Matheus V. Portela Filtros
Filtro de KalmanDesvantagens
Modelo linearRepresentao do estado por meio de uma gaussianaEstatisticamente timo apenas com determinadas condies
Matheus V. Portela Filtros
EKF
Extended Kalman Filter (Filtro de Kalman Estendido)Desenvolvido pela NASA
Matheus V. Portela Filtros
EKFAproximao por srie de Taylor
Sistema linear
Matheus V. Portela Filtros
EKFAproximao por srie de Taylor
Sistema no-linear
Matheus V. Portela Filtros
EKFAproximao por srie de Taylor
EKF
Matheus V. Portela Filtros
EKFAproximao por srie de Taylor
EKF com varincia grande
Matheus V. Portela Filtros
EKFAproximao por srie de Taylor
EKF com varincia pequena
Matheus V. Portela Filtros
EKFDiagrama esquemtico
Modelo:xt = g(ut, xt1) + tzt = h(xt) + t
Matheus V. Portela Filtros
EKFAlgoritmo
Previso:
t = g(ut, t1)t = Gtt1GTt +Rt
Correo:
Kt = tHTt (HttH
Tt +Qt)
1
t = t +Kt(zt h(t))t = (I KtHt)t
Matheus V. Portela Filtros
EKFSimulao em MATLAB
function [new_mean, new_cov] = ekf(mean, cov, u, z, R, Q)% JacobiansG = calculate_G(u);H = calculate_H(mean);
% Prediction phasem = g(u, mean);S = G*cov*G + R;
% Update phaseK = S*H*pinv(H*S*H + Q);new_mean = m + K*(z - h(m));I = eye(size(K, 1), size(H, 2));new_cov = (I - K*H)*S;
end
Matheus V. Portela Filtros
EKFSimulao em MATLAB
x(t) = V exp(t/1000)
Matheus V. Portela Filtros
EKFVantagens
Modelos no-linearesPerformance satisfatriaUtilizado extensivamente em sistemas de navegao e GPS
Matheus V. Portela Filtros
EKFDesvantagens
Estatisticamente no-timoCondies iniciais erradas podem causar divergnciaModelo do estado por meio de gaussianas
Matheus V. Portela Filtros
EKFAlternativas
Robust Extended Kalman FilterUnscented Kalman FilterInformation FilterMtodos no-paramtricos
Matheus V. Portela Filtros
Filtro de partculas
Mtodo sequencial de Monte Carlo
Anos 50: Ideias iniciaisAnos 70: Engenheiros decontroleAnos 90: Gordon et al., "Anovel approach tononlinear/non-GaussianBayesian State estimation"Aproxima distribuiesno-gaussianas por meio demtodos de amostragem
Cassino de Monte Carlo
Matheus V. Portela Filtros
Filtro de partculasPartculas
Matheus V. Portela Filtros
Filtro de partculasAmostragem
Amostragem por rejeio
Matheus V. Portela Filtros
Filtro de partculasAmostragem sequencial por importncia
Matheus V. Portela Filtros
Filtro de partculasAmostragem sequencial por importncia
Matheus V. Portela Filtros
Filtro de partculasAmostragem sequencial por importncia
Matheus V. Portela Filtros
Filtro de partculasAlgoritmo
function Algorithm Particle_filter(t1, ut, zt)t = t = for m = 1 to M do
sample x[m]t p(xt|ut, x[m]t1)w[m]t = p(zt|x[m]t )
t = t + x[m]t , w[m]t end forfor m = 1 to M do
draw i with probability w[i]tadd x[i]t to t
end forreturn t
end function
Matheus V. Portela Filtros
Filtro de partculasSimulao em MATLAB
Matheus V. Portela Filtros
Filtro de partculasSimulao em MATLAB
Matheus V. Portela Filtros
Filtro de partculasSimulao em MATLAB
Matheus V. Portela Filtros
Filtro de partculasSimulao em MATLAB
Matheus V. Portela Filtros
Filtro de partculasSimulao em MATLAB
Matheus V. Portela Filtros
Filtro de partculasSimulao em MATLAB
Matheus V. Portela Filtros
Filtro de partculasSimulao em MATLAB
Matheus V. Portela Filtros
Filtro de partculasSimulao em MATLAB
Matheus V. Portela Filtros
Filtro de partculasSimulao em MATLAB
Matheus V. Portela Filtros
Filtro de partculasVantagens
MultimodalNo-linearNo-paramtricoNo exige estimativas iniciais
Matheus V. Portela Filtros
Filtro de partculasDesvantagens
Computacionalmente (muito!) exigente
Matheus V. Portela Filtros
Perguntas?
Matheus V. Portela Filtros
Obrigado!
Matheus V. Portela Filtros