probabilistic robotics: kalman filters

68
7-1 Probabilistic Robotics: Kalman Filters Slide credits: Wolfram Burgard, Dieter Fox, Cyrill Stachniss, Giorgio Grisetti, Maren Bennewitz, Christian Plagemann, Dirk Haehnel, Mike Montemerlo, Nick Roy, Kai Arras, Patrick Pfaff and others Sebastian Thrun & Alex Teichman Stanford Artificial Intelligence Lab

Upload: kimo

Post on 23-Feb-2016

90 views

Category:

Documents


0 download

DESCRIPTION

Probabilistic Robotics: Kalman Filters. Sebastian Thrun & Alex Teichman Stanford Artificial Intelligence Lab. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Probabilistic Robotics:  Kalman Filters

7-1

Probabilistic Robotics: Kalman Filters

Slide credits: Wolfram Burgard, Dieter Fox, Cyrill Stachniss, Giorgio Grisetti, Maren Bennewitz, Christian Plagemann, Dirk Haehnel, Mike Montemerlo, Nick Roy, Kai Arras, Patrick Pfaff and others

Sebastian Thrun & Alex TeichmanStanford Artificial Intelligence Lab

Page 2: Probabilistic Robotics:  Kalman Filters

7-2

Bayes Filters in Localization

111 )(),|()|()( tttttttt dxxBelxuxPxzPxBel

Page 3: Probabilistic Robotics:  Kalman Filters

• Prediction

• Measurement Update

Bayes Filter Reminder

111 )(),|()( tttttt dxxbelxuxpxbel

)()|()( tttt xbelxzpxbel

Page 4: Probabilistic Robotics:  Kalman Filters

Gaussians

2

2)(21

2

21)(

:),(~)(

x

exp

Nxp

-

Univariate

)()(21

2/12/

1

)2(1)(

:)(~)(

μxΣμx

Σx

Σμx

t

ep

,Νp

d

Multivariate

Page 5: Probabilistic Robotics:  Kalman Filters

),(~),(~ 22

2

abaNYbaXY

NX

Properties of Gaussians

22

21

222

21

21

122

21

22

212222

2111 1,~)()(

),(~),(~

NXpXp

NXNX

Page 6: Probabilistic Robotics:  Kalman Filters

• We stay in the “Gaussian world” as long as we start with Gaussians and perform only linear transformations.

),(~),(~ TAABANY

BAXYNX

Multivariate Gaussians

X1 ~ N(μ1,Σ1)X2 ~ N(μ2,Σ2)

⎫ ⎬ ⎭⇒ p(X1) ⋅ p(X2) ~ N Σ1

−1

Σ1−1 + Σ2

−1 μ1 + Σ2−1

Σ1−1 + Σ2

−1 μ2,1

Σ1−1 + Σ2

−1

⎛ ⎝ ⎜

⎞ ⎠ ⎟

Page 7: Probabilistic Robotics:  Kalman Filters

7-7

Discrete Kalman Filter

tttttt uBxAx 1

tttt xCz

Estimates the state x of a discrete-time controlled process that is governed by the linear stochastic difference equation

with a measurement

Page 8: Probabilistic Robotics:  Kalman Filters

7-8

Components of a Kalman Filter

t

Matrix (nxn) that describes how the state evolves from t to t-1 without controls or noise.

tA

Matrix (nxl) that describes how the control ut changes the state from t to t-1.tB

Matrix (kxn) that describes how to map the state xt to an observation zt.tC

t

Random variables representing the process and measurement noise that are assumed to be independent and normally distributed with covariance Rt and Qt respectively.

Page 9: Probabilistic Robotics:  Kalman Filters

7-9

Kalman Filter Updates in 1D

Page 10: Probabilistic Robotics:  Kalman Filters

7-10

Kalman Filter Updates in 1D

1)(with )(

)()(

tTttt

Tttt

tttt

ttttttt QCCCK

CKICzK

xbel

2,

2

2

22 with )1(

)()(

tobst

tt

ttt

tttttt K

KzK

xbel

Page 11: Probabilistic Robotics:  Kalman Filters

Kalman Filter Updates in 1D

tTtttt

tttttt RAA

uBAxbel

1

1)(

2

,2221)(

tactttt

tttttt a

ubaxbel

Page 12: Probabilistic Robotics:  Kalman Filters

Kalman Filter Updates

Page 13: Probabilistic Robotics:  Kalman Filters

0000 ,;)( xNxbel

Linear Gaussian Systems: Initialization

• Initial belief is normally distributed:

Page 14: Probabilistic Robotics:  Kalman Filters

• Dynamics are linear function of state and control plus additive noise:

tttttt uBxAx 1

Linear Gaussian Systems: Dynamics

ttttttttt RuBxAxNxuxp ,;),|( 11

1111

111

,;~,;~

)(),|()(

ttttttttt

tttttt

xNRuBxAxN

dxxbelxuxpxbel

Page 15: Probabilistic Robotics:  Kalman Filters

Linear Gaussian Systems: Dynamics

tTtttt

tttttt

ttttT

tt

ttttttT

tttttt

ttttttttt

tttttt

RAAuBA

xbel

dxxx

uBxAxRuBxAxxbel

xNRuBxAxN

dxxbelxuxpxbel

1

1

1111111

11

1

1111

111

)(

)()(21exp

)()(21exp)(

,;~,;~

)(),|()(

Page 16: Probabilistic Robotics:  Kalman Filters

• Observations are linear function of state plus additive noise:

tttt xCz

Linear Gaussian Systems: Observations

tttttt QxCzNxzp ,;)|(

ttttttt

tttt

xNQxCzN

xbelxzpxbel

,;~,;~

)()|()(

Page 17: Probabilistic Robotics:  Kalman Filters

Linear Gaussian Systems: Observations

1

11

)(with )(

)()(

)()(21exp)()(

21exp)(

,;~,;~

)()|()(

tTttt

Tttt

tttt

ttttttt

tttT

ttttttT

tttt

ttttttt

tttt

QCCCKCKI

CzKxbel

xxxCzQxCzxbel

xNQxCzN

xbelxzpxbel

Page 18: Probabilistic Robotics:  Kalman Filters

Kalman Filter Algorithm 1. Algorithm Kalman_filter( t-1, t-1, ut, zt):

2. Prediction:3. 4.

5. Correction:6. 7. 8. 9. Return t, t

ttttt uBA 1

tTtttt RAA 1

1)( tTttt

Tttt QCCCK

)( tttttt CzK

tttt CKI )(

Page 19: Probabilistic Robotics:  Kalman Filters

Kalman Filter Algorithm

Page 20: Probabilistic Robotics:  Kalman Filters

Kalman Filter Algorithm

• Prediction• Observation

• Matching• Correction

Page 21: Probabilistic Robotics:  Kalman Filters

7-21

The Prediction-Correction-Cycle

tTtttt

tttttt RAA

uBAxbel

1

1)(

2

,2221)(

tactttt

tttttt a

ubaxbel

Prediction

Page 22: Probabilistic Robotics:  Kalman Filters

7-22

The Prediction-Correction-Cycle

1)(,)(

)()(

tTttt

Tttt

tttt

ttttttt QCCCK

CKICzK

xbel

2,

2

2

22 ,)1(

)()(

tobst

tt

ttt

tttttt K

KzK

xbel

Correction

Page 23: Probabilistic Robotics:  Kalman Filters

7-23

The Prediction-Correction-Cycle

1)(,)(

)()(

tTttt

Tttt

tttt

ttttttt QCCCK

CKICzK

xbel

2,

2

2

22 ,)1(

)()(

tobst

tt

ttt

tttttt K

KzK

xbel

tTtttt

tttttt RAA

uBAxbel

1

1)(

2

,2221)(

tactttt

tttttt a

ubaxbel

Correction

Prediction

Page 24: Probabilistic Robotics:  Kalman Filters

Kalman Filter Summary

• Highly efficient: Polynomial in measurement dimensionality k and state dimensionality n: O(k2.376 + n2)

• Optimal for linear Gaussian systems!

• Most robotics systems are nonlinear!

Page 25: Probabilistic Robotics:  Kalman Filters

Nonlinear Dynamic Systems• Most realistic robotic problems involve

nonlinear functions

),( 1 ttt xugx

)( tt xhz

Page 26: Probabilistic Robotics:  Kalman Filters

Linearity Assumption Revisited

Page 27: Probabilistic Robotics:  Kalman Filters

Non-linear Function

Page 28: Probabilistic Robotics:  Kalman Filters

EKF Linearization (1)

Page 29: Probabilistic Robotics:  Kalman Filters

EKF Linearization (2)

Page 30: Probabilistic Robotics:  Kalman Filters

EKF Linearization (3)

Page 31: Probabilistic Robotics:  Kalman Filters

• Prediction:

• Correction:

EKF Linearization: First Order Taylor Series Expansion

)(),(),(

)(),(),(),(

1111

111

111

ttttttt

ttt

tttttt

xGugxug

xxugugxug

)()()(

)()()()(

ttttt

ttt

ttt

xHhxh

xx

hhxh

Page 32: Probabilistic Robotics:  Kalman Filters

EKF Algorithm 1. Extended_Kalman_filter( t-1, t-1, ut, zt):

2. Prediction:3. 4.

5. Correction:6. 7. 8. 9. Return t, t

),( 1 ttt ug

tTtttt RGG 1

1)( tTttt

Tttt QHHHK

))(( ttttt hzK

tttt HKI )(

1

1),(

t

ttt x

ugG

t

tt x

hH

)(

ttttt uBA 1

tTtttt RAA 1

1)( tTttt

Tttt QCCCK

)( tttttt CzK

tttt CKI )(

Page 33: Probabilistic Robotics:  Kalman Filters

Localization

• Given • Map of the environment.• Sequence of sensor measurements.

• Wanted• Estimate of the robot’s position.

• Problem classes• Position tracking• Global localization• Kidnapped robot problem (recovery)

“Using sensory information to locate the robot in its environment is the most fundamental problem to providing a mobile robot with autonomous capabilities.” [Cox ’91]

Page 34: Probabilistic Robotics:  Kalman Filters

Landmark-based Localization

Page 35: Probabilistic Robotics:  Kalman Filters

1. EKF_localization ( t-1, t-1, ut, zt, m):Prediction:

2.

3. 4.

),( 1 ttt ug Tttt

Ttttt VMVGG 1

,1,1,1

,1,1,1

,1,1,1

1

1

'''

'''

'''

),(

tytxt

tytxt

tytxt

t

ttt

yyy

xxx

xugG

tt

tt

tt

t

ttt

v

yvy

xvx

uugV

''

''

''

),( 1

243

221

||||00||||

tt

ttt v

vM

Motion noise

Jacobian of g w.r.t location

Predicted meanPredicted covariance

Jacobian of g w.r.t control

Page 36: Probabilistic Robotics:  Kalman Filters

1. EKF_localization ( t-1, t-1, ut, zt, m):

Correction:

2. 3. 4. 5. 6.

)ˆ( ttttt zzK

tttt HKI

,

,

,

,

,

,),(

t

t

t

t

yt

t

yt

t

xt

t

xt

t

t

tt

rrr

xmhH

,,,

2,

2,

,2atanˆ

txtxyty

ytyxtxt

mmmmz

tTtttt QHHS

1 tTttt SHK

2

2

00

r

rtQ

Predicted measurement mean

Pred. measurement covarianceKalman gain

Updated meanUpdated covariance

Jacobian of h w.r.t location

Page 37: Probabilistic Robotics:  Kalman Filters

EKF Prediction Step

Page 38: Probabilistic Robotics:  Kalman Filters

EKF Observation Prediction Step

Page 39: Probabilistic Robotics:  Kalman Filters

EKF Correction Step

Page 40: Probabilistic Robotics:  Kalman Filters

Estimation Sequence (1)

Page 41: Probabilistic Robotics:  Kalman Filters

Estimation Sequence (2)

Page 42: Probabilistic Robotics:  Kalman Filters

Comparison to GroundTruth

Page 43: Probabilistic Robotics:  Kalman Filters

EKF Summary

• Highly efficient: Polynomial in measurement dimensionality k and state dimensionality n: O(k2.376 + n2)

• Not optimal!• Can diverge if nonlinearities are large!• Works surprisingly well even when all

assumptions are violated!

Page 44: Probabilistic Robotics:  Kalman Filters

EKF Localization Example

• Line and point landmarks

Page 45: Probabilistic Robotics:  Kalman Filters

EKF Localization Example

• Line and point landmarks

Page 46: Probabilistic Robotics:  Kalman Filters

EKF Localization Example

• Lines only (Swiss National Exhibition Expo.02)

Page 47: Probabilistic Robotics:  Kalman Filters

Linearization via Unscented Transform

EKF UKF

Page 48: Probabilistic Robotics:  Kalman Filters

UKF Sigma-Point Estimate (2)

EKF UKF

Page 49: Probabilistic Robotics:  Kalman Filters

UKF Sigma-Point Estimate (3)

EKF UKF

Page 50: Probabilistic Robotics:  Kalman Filters

Unscented Transform

nin

wwn

nw

nw

ic

imi

i

cm

2,...,1for )(2

1 )(

)1( 2000

Sigma points Weights

)( ii g

n

i

Tiiic

n

i

iim

w

w

2

0

2

0

))(('

'

Pass sigma points through nonlinear function

Recover mean and covariance

Page 51: Probabilistic Robotics:  Kalman Filters

UKF_localization ( t-1, t-1, ut, zt, m):

Prediction:

243

221

||||00||||

tt

ttt v

vM

2

2

00

r

rtQ

TTTt

at 000011

t

t

tat

QM00

00001

1

at

at

at

at

at

at 111111

xt

utt

xt ug 1,

L

i

Tt

xtit

xti

ict w

2

0,,

L

i

xti

imt w

2

0,

Motion noise

Measurement noise

Augmented state mean

Augmented covariance

Sigma pointsPrediction of sigma points

Predicted mean

Predicted covariance

Page 52: Probabilistic Robotics:  Kalman Filters

UKF_localization ( t-1, t-1, ut, zt, m):

Correction:

zt

xtt h

L

iti

imt wz

2

0,ˆ

Measurement sigma points

Predicted measurement mean

Pred. measurement covariance

Cross-covariance

Kalman gain

Updated mean

Updated covariance

Ttti

L

itti

ict zzwS ˆˆ ,

2

0,

Ttti

L

it

xti

ic

zxt zw ˆ,

2

0,

,

1, tzx

tt SK

)ˆ( ttttt zzK

Tttttt KSK

Page 53: Probabilistic Robotics:  Kalman Filters

1. EKF_localization ( t-1, t-1, ut, zt, m):

Correction:

2. 3. 4. 5. 6.

)ˆ( ttttt zzK

tttt HKI

,

,

,

,

,

,),(

t

t

t

t

yt

t

yt

t

xt

t

xt

t

t

tt

rrr

xmhH

,,,

2,

2,

,2atanˆ

txtxyty

ytyxtxt

mmmmz

tTtttt QHHS

1 tTttt SHK

2

2

00

r

rtQ

Predicted measurement mean

Pred. measurement covarianceKalman gain

Updated meanUpdated covariance

Jacobian of h w.r.t location

Page 54: Probabilistic Robotics:  Kalman Filters

UKF Prediction Step

Page 55: Probabilistic Robotics:  Kalman Filters

UKF Observation Prediction Step

Page 56: Probabilistic Robotics:  Kalman Filters

UKF Correction Step

Page 57: Probabilistic Robotics:  Kalman Filters

EKF Correction Step

Page 58: Probabilistic Robotics:  Kalman Filters

Estimation Sequence

EKF PF UKF

Page 59: Probabilistic Robotics:  Kalman Filters

Estimation Sequence

EKF UKF

Page 60: Probabilistic Robotics:  Kalman Filters

Prediction Quality

EKF UKF

Page 61: Probabilistic Robotics:  Kalman Filters

7-61

UKF Summary

• Highly efficient: Same complexity as EKF, with a constant factor slower in typical practical applications

• Better linearization than EKF: Accurate in first two terms of Taylor expansion (EKF only first term)

• Derivative-free: No Jacobians needed• Still not optimal!

Page 62: Probabilistic Robotics:  Kalman Filters

• [Arras et al. 98]: • Laser range-finder and vision• High precision (<1cm accuracy)

Kalman Filter-based System

Courtesy of K. Arras

Page 63: Probabilistic Robotics:  Kalman Filters

Multi-hypothesisTracking

Page 64: Probabilistic Robotics:  Kalman Filters

• Belief is represented by multiple hypotheses• Each hypothesis is tracked by a Kalman filter

• Additional problems:• Data association: Which observation

corresponds to which hypothesis?• Hypothesis management: When to add / delete

hypotheses?• Huge body of literature on target tracking, motion

correspondence etc.

Localization With MHT

Page 65: Probabilistic Robotics:  Kalman Filters

• Hypotheses are extracted from LRF scans• Each hypothesis has probability of being the correct

one:

• Hypothesis probability is computed using Bayes’ rule

• Hypotheses with low probability are deleted.• New candidates are extracted from LRF scans.

MHT: Implemented System (1)

)}(,,ˆ{ iiii HPxH

},{ jjj RzC

)()()|()|(

sPHPHsPsHP ii

i

[Jensfelt et al. ’00]

Page 66: Probabilistic Robotics:  Kalman Filters

MHT: Implemented System (2)

Courtesy of P. Jensfelt and S. Kristensen

Page 67: Probabilistic Robotics:  Kalman Filters

MHT: Implemented System (3)Example run

Map and trajectory

# hypotheses

#hypotheses vs. time

P(Hbest)

Courtesy of P. Jensfelt and S. Kristensen

Page 68: Probabilistic Robotics:  Kalman Filters

7-68

Summary: Kalman Filter• Gaussian Posterior, Gaussian Noise,

efficient when applicable• KF: Motion, Sensing = linear• EKF: nonlinear, uses Taylor expansion• UKF: nonlinear, uses sampling• MHKF: Combines best of Kalman

Filters and particle filters

• A little challenging to implement