Overview X 0 X t-1 X t n Filtering: z 0 z t-1 z t n Smoothing: X 0 X - - PDF document

overview
SMART_READER_LITE
LIVE PREVIEW

Overview X 0 X t-1 X t n Filtering: z 0 z t-1 z t n Smoothing: X 0 X - - PDF document

Smoother Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics Overview X 0 X t-1 X t n Filtering: z 0 z t-1 z t n Smoothing: X 0 X t-1 X t X t+1 X T z 0 z t-1 z t z t+1 z T Note: by now it


slide-1
SLIDE 1

Page 1

Smoother

Pieter Abbeel UC Berkeley EECS

Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics

n Filtering: n Smoothing:

n

Note: by now it should be clear that the “u” variables don’t really change anything conceptually, and going to leave them out to have less symbols appear in our equations.

Overview

Xt-1 Xt X0 zt-1 zt z0 Xt-1 Xt Xt+1 XT X0 zt-1 zt zt+1 zT z0

slide-2
SLIDE 2

Page 2

n Generally, recursively compute:

Filtering

n

Generally, recursively compute:

n Forward: (same as filter)

Smoothing

n Backward: n Combine:

slide-3
SLIDE 3

Page 3

n Forward pass (= filter): n Backward pass: n Combine:

Note 1: computes for all times t in one forward+backward pass Note 2: can find P(xt | z0, …, zT) by simply renormalizing

Complete Smoother Algorithm

n Find n Recall: n So we can readily compute

Important Variation

(Law of total probability) (Markov assumptions) (definitions a, b)

slide-4
SLIDE 4

Page 4

n Find

Exercise

n = smoother we just covered instantiated for the particular

case when P(xt+1 | xt) and P(zt | xt) are linear Gaussians

n We already know how to compute the forward pass

(=Kalman filtering)

n Backward pass: n Combination:

Kalman Smoother

slide-5
SLIDE 5

Page 5

n TODO: work out integral for bt n TODO: insert backward pass update equations n TODO: insert combination à bring renormalization

constant up front so it’s easy to read off P(xt | z0, …, zT)

Kalman Smoother Backward Pass

n

A = [ 0.99 0.0074; -0.0136 0.99]; C = [ 1 1 ; -1 +1];

n

x(:,1) = [-3;2];

n

Sigma_w = diag([.3 .7]); Sigma_v = [2 .05; .05 1.5];

n

w = randn(2,T); w = sqrtm(Sigma_w)*w; v = randn(2,T); v = sqrtm(Sigma_v)*v;

n

for t=1:T-1 x(:,t+1) = A * x(:,t) + w(:,t); y(:,t) = C*x(:,t) + v(:,t); end

n

% now recover the state from the measurements

n

P_0 = diag([100 100]); x0 =[0; 0];

n

% run Kalman filter and smoother here

n

% + plot

Matlab code data generation example

slide-6
SLIDE 6

Page 6

Kalman filter/smoother example