kalman-filter - uni-hamburg.de · 2015-11-16 · kalman-filter kalman-filter peter w uppen...

22
Universit¨ at Hamburg MIN-Fakult¨ at Fachbereich Informatik Kalman-Filter Kalman-Filter Peter W¨ uppen Universit¨ at Hamburg Fakult¨ at f¨ ur Mathematik, Informatik und Naturwissenschaften Fachbereich Informatik Technische Aspekte Multimodaler Systeme 16. November 2014 5wueppen 1

Upload: others

Post on 01-Aug-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Kalman-Filter

Kalman-Filter

Peter Wuppen

Universitat HamburgFakultat fur Mathematik, Informatik und NaturwissenschaftenFachbereich Informatik

Technische Aspekte Multimodaler Systeme

16. November 2014

5wueppen 1

Page 2: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Kalman-Filter

Table of Contents

1. Motivation

2. Kalman-FilterHistoryGeneral principle

3. Example applicationUnderlying system dynamicsInitializationResults

4. Extended Kalman-Filter

5. Conclusion

5wueppen 2

Page 3: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Motivation Kalman-Filter

Dealing with inaccuracy

I Sensor output in dynamic processes often comes with noise

I Relying on the exact values often creates a fairly inaccuratedescription

I Tools needed to appropriately deal with noise and extractuseful data from sensors

5wueppen 3

Page 4: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Motivation Kalman-Filter

What is the Kalman-Filter?

I Tool to control dynamic processes

I Creates estimates of a system’s state based on previousestimates and sensor data

I Wide range of applicationsI Tracking objectsI NavigationI EconomicsI Localization (Robotics)

5wueppen 4

Page 5: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Kalman-Filter - History Kalman-Filter

History

I Named after Rudolf Emil Kalman, co-inventor

I First described in 1958

I Found one of its first applications in the Apollo program

I Still commonly used for all kinds of navigational tasks

5wueppen 5

Page 6: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Kalman-Filter - General principle Kalman-Filter

Requirements

For the most effective usage of the Kalman-Filter the followingrequirements have to be satisfied:

I Measurements of the system are available at a constant rate

I The error of the measurements follow a gaussian 0-meandistribution

I An accurate model of the process is available

The basic Kalman Filter is limited to linear dependencies betweenstate variables for transitions and measurement.

5wueppen 6

Page 7: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Kalman-Filter - General principle Kalman-Filter

General principle

I Recursive AlgorithmI Two phases per observation

I Time Update (Predict)I Create a priori estimate of system state based on prior estimation,

control input and system dynamicsI Create a priori estimate of the error covariance matrix

I Measurement Update (Correct)I Compute the Kalman gain, i.e. how strongly the new measurement

is factored in for the final estimationI Create a posteriori estimate of system state based on a priori

estimation, Kalman gain and measurementI Update the state error convariance matrix, i.e. the confidence in

the new estimation

5wueppen 7

Page 8: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Kalman-Filter - General principle Kalman-Filter

From [WB95]

5wueppen 8

Page 9: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Kalman-Filter - General principle Kalman-Filter

Definition

x− : A priori estimated statex : A posteriori estimated stateA : State transition matrixB : Control matrixu : Control inputP− : State error covariance matrixQ : Process error covariance matrixK : Kalman gainH : Measurement matrixR : Measurement error covariance matrixz : Measurement values

5wueppen 9

Page 10: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Example application - Underlying system dynamics Kalman-Filter

Example application

I We observe the firing of a cannonball at a 45◦ angle

I Four measurement values: Velocities and positions (x & y)

I Measurements are subject to errors (gaussian white noise)

I Goal: Precise estimation of the trajectory of the cannonball

5wueppen 10

Page 11: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Example application - Underlying system dynamics Kalman-Filter

Underlying system dynamics

We obviously know how the laws of physics will affect thecannonball during its flight:

Definition

xn = xn−1 + Vxn−1 ∗ ∆tVxn = Vxn−1

yn = yn−1 + Vyn−1 − 12g∆t2

Vyn = Vyn−1 − g∆t

5wueppen 11

Page 12: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Example application - Underlying system dynamics Kalman-Filter

State transition matrix

Based on these assumptions, we can model the transition matrixA, control Matrix B and control input vector u as follows:

A =

1 ∆t 0 00 1 0 00 0 1 ∆t0 0 0 1

B =

0 0 0 00 0 0 00 0 −1

2∆t2 00 0 0 −∆t

; u =

00gg

5wueppen 12

Page 13: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Example application - Initialization Kalman-Filter

Initilization

We initialize the first state estimate with the starting configurationof the system:

x0 =

0

100cos(π4 )500

100sin(π4 )

Note that the initial estimate for y is way off to demonstrate howfast the filter adjusts it.

5wueppen 13

Page 14: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Example application - Initialization Kalman-Filter

Initilization

The initial state and process error covariance matrices P and Q areset as:

P =

1 0 0 00 1 0 00 0 1 00 0 0 1

;Q =

0 0 0 00 0 0 00 0 0 00 0 0 0

5wueppen 14

Page 15: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Example application - Initialization Kalman-Filter

Initilization

Since our measurement is in actual units, the measurement matrixH is the identity matrix. We assume a certain amount ofmeasurement noise by initializing R as follows:

H =

1 0 0 00 1 0 00 0 1 00 0 0 1

;R =

0.2 0 0 00 0.2 0 00 0 0.2 00 0 0 0.2

5wueppen 15

Page 16: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Example application - Initialization Kalman-Filter

Prediction

A new state can now be predicted by

xn = Axn−1 + Bu

and the estimated covariance matrix follows as

P−n = APn−1A

T + Q

5wueppen 16

Page 17: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Example application - Initialization Kalman-Filter

Correction

After calculating the optimal Kalman gain, the final estimates forthe state and covariance follow in the second phase:

Kn = P−n HT (HP−

n HT + R)−1

xn = x−n + Kn(zn − Hx−n )

Pn = (1 − KnH)P−k

5wueppen 17

Page 18: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Example application - Results Kalman-Filter

Result

From [cze]

5wueppen 18

Page 19: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Extended Kalman-Filter Kalman-Filter

Extended Kalman-Filter

I Problem with the regular Kalman-Filter: many system ormeasurement processes are not linear

I The extended Kalman-Filter adresses this problem

I State transition function instead of matrix

I Not an optimal estimator like the linear version, but oftenreasonable performance

I Standard for navigation systems and GPS

5wueppen 19

Page 20: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Conclusion Kalman-Filter

Conclusion

I The Kalman-Filter is a a powerful estimator for dynamicdiscrete-time systems with process and/or measurement noise

I Provides optimal estimations in the linear case and often goodones in the non-linear case

I Requires a very exact model of the system dynamics to workwell

5wueppen 20

Page 21: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Conclusion Kalman-Filter

Thank you for your attention!

5wueppen 21

Page 22: Kalman-Filter - uni-hamburg.de · 2015-11-16 · Kalman-Filter Kalman-Filter Peter W uppen Universit at Hamburg Fakult at f ur Mathematik, Informatik und Naturwissenschaften Fachbereich

Universitat Hamburg

MIN-FakultatFachbereich Informatik

Conclusion Kalman-Filter

Bibliography

[cze] http://http:

//greg.czerniak.info/guides/kalman1/.Accessed: 2015-11-12.

[GA93] Mohinder S. Grewal and Angus P. Andrews.Kalman Filtering: Theory and Practice.Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1993.

[WB95] Greg Welch and Gary Bishop.An introduction to the kalman filter.Technical report, Chapel Hill, NC, USA, 1995.

5wueppen 22