filtros de kalman e de partículas

Upload: matheus-portela

Post on 15-Oct-2015

50 views

Category:

Documents


0 download

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.

TRANSCRIPT

  • 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