37
1 Robot Mapping Extended Kalman Filter Cyrill Stachniss

Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

Embed Size (px)

Citation preview

Page 1: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

1

Robot Mapping

Extended Kalman Filter

Cyrill Stachniss

Page 2: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

2

SLAM is a State Estimation Problem §  Estimate the map and robot’s pose §  Bayes filter is one tool for state

estimation §  Prediction

§  Correction

Page 3: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

3

Kalman Filter

§  It is a Bayes filter §  Estimator for the linear Gaussian case §  Optimal solution for linear models and

Gaussian distributions

Page 4: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

4

Kalman Filter Distribution

§  Everything is Gaussian

1D 3D

Page 5: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

5

Properties: Marginalization and Conditioning §  Given §  The marginals are Gaussians

§  as well as the conditionals

Page 6: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

6

Marginalization

§  Given with

§  The marginal distribution is

with

Page 7: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

7

Conditioning

§  Given with

§  The conditional distribution is

with

Page 8: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

8

Linear Model

§  The Kalman filter assumes a linear transition and observation model

§  Zero mean Gaussian noise

Page 9: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

9

Components of a Kalman Filter

Matrix that describes how the state evolves from to without controls or noise. Matrix that describes how the control changes the state from to .

Matrix that describes how to map the state to an observation .

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

Page 10: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

10

Linear Motion Model

§  Motion under Gaussian noise leads to

Page 11: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

11

Linear Motion Model

§  Motion under Gaussian noise leads to

§  describes the noise of the motion

Page 12: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

12

Linear Observation Model

§  Measuring under Gaussian noise leads to

Page 13: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

13

Linear Observation Model

§  Measuring under Gaussian noise leads to

§  describes the measurement noise

Page 14: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

14

Everything stays Gaussian

§  Given an initial Gaussian belief, the belief is always Gaussian

§  Proof is non-trivial (see Probabilistic Robotics, Sec. 3.2.4)

Page 15: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

15

Kalman Filter Algorithm

Page 16: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

16

1D Kalman Filter Example (1)

16

prediction measurement

correction

It's a weighted mean!

Page 17: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

17

1D Kalman Filter Example (2)

prediction

correction measurement

Page 18: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

18

Kalman Filter Assumptions

§  Gaussian distributions and noise §  Linear motion and observation model

What if this is not the case?

Page 19: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

19

Non-linear Dynamic Systems

§  Most realistic problems (in robotics) involve nonlinear functions

Page 20: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

20

Linearity Assumption Revisited

Page 21: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

21

Non-Linear Function

Non-Gaussian!

Page 22: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

22

Non-Gaussian Distributions

§  The non-linear functions lead to non-Gaussian distributions

§  Kalman filter is not applicable anymore!

What can be done to resolve this?

Page 23: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

23

Non-Gaussian Distributions

§  The non-linear functions lead to non-Gaussian distributions

§  Kalman filter is not applicable anymore!

What can be done to resolve this?

Local linearization!

Page 24: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

24

EKF Linearization: First Order Taylor Expansion §  Prediction:

§  Correction: Jacobian matrices

Page 25: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

25

Reminder: Jacobian Matrix §  It is a non-square matrix in general

§  Given a vector-valued function

§  The Jacobian matrix is defined as

Page 26: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

26

Reminder: Jacobian Matrix §  It is the orientation of the tangent plane to

the vector-valued function at a given point

§  Generalizes the gradient of a scalar valued function

Page 27: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

27

EKF Linearization: First Order Taylor Expansion §  Prediction:

§  Correction: Linear functions!

Page 28: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

28

Linearity Assumption Revisited

Page 29: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

29

Non-Linear Function

Page 30: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

30

EKF Linearization (1)

Page 31: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

31

EKF Linearization (2)

Page 32: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

32

EKF Linearization (3)

Page 33: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

33

Linearized Motion Model

§  The linearized model leads to

§  describes the noise of the motion

Page 34: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

34

Linearized Observation Model

§  The linearized model leads to

§  describes the measurement noise

Page 35: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

35

Extended Kalman Filter Algorithm

KF vs. EKF

Page 36: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

36

Extended Kalman Filter Summary §  Extension of the Kalman filter §  One way to handle the non-linearities §  Performs local linearizations §  Works well in practice for moderate

non-linearities §  Large uncertainty leads to increased

approximation error error

Page 37: Robot Mapping Extended Kalman Filter - ais.informatik.uni ...ais.informatik.uni-freiburg.de/teaching/ws13/mapping/pdf/slam04... · Linear Model ! The Kalman filter assumes a linear

37

Literature

Kalman Filter and EKF §  Thrun et al.: “Probabilistic Robotics”,

Chapter 3 §  Schön and Lindsten: “Manipulating the

Multivariate Gaussian Density” §  Welch and Bishop: “Kalman Filter

Tutorial”