Kalman Filtering
Lindsay Kleeman
Department of Electrical and Computer Systems Engineering
Monash University, Clayton
1
Introduction
Objectives:
1. Provide a basic understanding of Kalman Filtering and assumptions behind its implementation.
2. Limit (but cannot avoid) mathematical treatment to broaden appeal.
3. Provide some practicalities and examples of implementation.
4. Provide C++ software overview.
2
What is a Kalman Filter and What Can It Do?
A Kalman filter is an optimal estimator - ie infers parameters of interest from indirect, inaccurate and uncertain observations. It is recursive so that new measurements can be processed as they arrive. (cf batch processing where all data must be present).
Optimal in what sense?
If all noise is Gaussian, the Kalman filter minimises the mean square error of the estimated parameters.
3
What if the noise is NOT Gaussian?
Given only the mean and standard deviation of noise, the Kalman filter is the best linear estimator. Non-linear estimators may be better.
Why is Kalman Filtering so popular?
•
Good results in practice due to optimality and structure.
•
Convenient form for online real time processing.
•
Easy to formulate and implement given a basic understanding.
•
Measurement equations need not be inverted.
4
Word examples:
•
Determination of planet orbit parameters from limited earth observations.
•
Tracking targets - eg aircraft, missiles using RADAR.
•
Robot Localisation and Map building from range sensors/ beacons.
Why use the word “Filter”?
The process of finding the “best estimate” from noisy data amounts to “filtering out” the noise.
However a Kalman filter also doesn’t just clean up the data measurements, but also projects these measurements onto the state estimate.
5
What is a Covariance Matrix?
The covariance of two random variables x1 and x2 is
cov( x1 , x2 ) ≡
=
≡
∞
∫ ∫