0% found this document useful (0 votes)
189 views34 pages

Kalman

This document provides an introduction to Kalman filtering, including: 1. A Kalman filter is an optimal estimator that infers parameters from noisy and uncertain observations in a recursive manner as new measurements arrive. 2. It is the best linear estimator if noise is Gaussian, minimizing mean square error, and provides good results in practice even if noise is non-Gaussian. 3. The Kalman filter equations maintain estimates of the state and the error covariance matrix of the state estimate, recursively processing measurements to provide optimal state estimation.

Uploaded by

bilal309
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
189 views34 pages

Kalman

This document provides an introduction to Kalman filtering, including: 1. A Kalman filter is an optimal estimator that infers parameters from noisy and uncertain observations in a recursive manner as new measurements arrive. 2. It is the best linear estimator if noise is Gaussian, minimizing mean square error, and provides good results in practice even if noise is non-Gaussian. 3. The Kalman filter equations maintain estimates of the state and the error covariance matrix of the state estimate, recursively processing measurements to provide optimal state estimation.

Uploaded by

bilal309
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Understanding and Applying

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.

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

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 , x 2 ) ≡ E[( x1 − x1 )( x 2 − x 2 )]
∞ ∞
= ∫ ∫
−∞ −∞
( x1 − x1 )( x 2 − x 2 ) p( x1 , x1 )dx1 dx 2
≡ σ 2x1 x 2

where p is the joint probability density function of x1 and x2.


The correlation coefficient is the normalised quantity

σ x21x2
ρ12 ≡ , − 1 ≤ ρ12 ≤ +1
σ x1σ x2

6
The covariance of a column vector x=[x1 .. xn]’ is defined as

cov( x ) ≡ E [( x − x )( x − x )' ]
∞ ∞
= ∫−∞
... ∫ ( x − x )( x − x )' p( x ) dx1 .. dx n
−∞
≡ Pxx
and is a symmetric n by n matrix and is positive definite unless there is a linear
dependence among the components of x.

The (i,j)th element of Pxx is


σ 2
xi x j

Interpreting a covariance matrix:


diagonal elements are the variances, off-diagonal encode correlations.

7
Diagonalising a Covariance Matrix
cov(x) is symmetric => can be diagonalised using an orthonormal basis.
By changing coordinates (pure rotation) to these unity orthogonal vectors we
achieve decoupling of error contributions.
The basis vectors are the eigenvectors and form the axes of error ellipses.
The lengths of the axes are the square root of the eigenvalues and correspond
to standard deviations of the independent noise contribution in the direction of
the eigenvector.
Example: Error ellipses for mobile robot odometry derived from covariance
matrices:

8
D to E E
Error Ellipses corresponding to 50 standard deviations

C to D
A to B

C B to C
B
A

9
−3
10000 Monte-Carlo runs for k L = k R = 10 m , B=0.5 m
1
2

Means Covariance Matrix Stand dev/ Corr Matrix


Theor- 0 3.032e-5 -4.763e-5 -2.817e-5 0.005506 -0.913208 -0.8667
0 -4.763e-5 8.974e-5 4.700e-5 -0.9132 0.009473 0.8404
etical 0 -2.817e-5 4.700e-5 3.4849e-5 -0.8667 0.8404 0.005903
results
Run 1 -1.997e-5 2.980e-5 -4.651e-5 2.761e-5 0.005459 -0.9130 -0.8627
5.321e-5 -4.651e-5 8.708e-5 4.585e-5 -0.9130 0.009332 0.8380
10000 3.184e-5 -2.761e-5 4.585e-5 3.437e-5 0.8627 0.8380 0.005862
samples

10
Formulating a Kalman Filter
Problem
We require discrete time linear dynamic system description by vector
difference equation with additive white noise that models unpredictable
disturbances.

STATE DEFINITION - the state of a deterministic dynamic system is the


smallest vector that summarises the past of the system in full.
Knowledge of the state allows theoretically prediction of the future (and prior)
dynamics and outputs of the deterministic system in the absence of noise.

11
STATE SPACE REPRESENTATION
State equation:
x ( k + 1) = F ( k )x ( k ) + G ( k ) u( k ) + v( k ) k = 0,1,...
where x(k) is the nx dimensional state vector, u(k) is the nu dimensional known
input vector, v(k) is (unknown) zero mean white process noise with covariance

E [ v( k ) v( k )' ] = Q( k )
Measurement equation:

z( k ) = H ( k )x ( k ) + w ( k ) k = 1,....
w(k) is unknown zero mean white measurement noise with known covariance

E[ w ( k ) w ( k )' ] = R( k )

12
FALLING BODY EXAMPLE
Consider an object falling under a constant gravitational field. Let y(t) denote
the height of the object, then
..
y(t ) = − g
. .
⇒ y ( t ) = y ( t0 ) − g ( t − t0 )
. g
⇒ y ( t ) = y ( t0 ) + y ( t0 )( t − t0 ) − ( t − t 0 )2
2
As a discrete time system with time increment of t-t0=1

13
. g
y ( k + 1) = y ( k ) + y ( k ) −
2
the height y(k+1) depends on the previous velocity and height at time k.
We can define the state as
.
x(k) ≡ [y(k) y(k)]'
and then the state equation becomes

1 1 0.5
x (k + 1) =   x (k) +  ( − g )
0 1 1 
= F x( k ) + G u

14
Assuming we observe or measure the height of the ball directly. The
measurement equation is:

z(k) = [1 0] x (k) + w(k)


= H x ( k ) + w( k )
The variance of w(k) needs to be known for implementing a Kalman filter.
Given the initial state and covariance, we have sufficient information to find
the optimal state estimate using the Kalman filter equations.

15
Kalman Filter Equations
The Kalman filter maintains the estimates of the state:
x$ ( k| k ) − estimate of x( k ) given measurements z ( k ), z( k − 1),...
x$ ( k + 1| k ) − estimate of x( k + 1) given measurements z( k ), z( k − 1),...

and the error covariance matrix of the state estimate


P( k | k ) − covarianceof x( k ) given z ( k ), z( k − 1),...
P( k + 1| k ) − estimate of x( k + 1) given z ( k ), z ( k − 1),...

We shall partition the Kalman filter recursive processing into several simple
stages with a physical interpretation:

16
State Estimation
0. Known are x$ ( k | k ), u( k ), P( k | k ) and the new measurement z(k+1).

1. State Prediction x$ ( k + 1| k ) = F( k ) x$ ( k | k ) + G( k ) u( k )
Time update
2. Measurement Prediction: z$ ( k + 1| k ) = H ( k ) x$ ( k + 1| k )
measurement
3. Measurement Residual: v( k + 1) = z( k + 1) − z$ ( k + 1| k ) update

4. Updated State Estimate: x$ ( k + 1| k + 1) = x$ ( k + 1| k ) + W( k + 1) v( k + 1)

where W(k+1) is called the Kalman Gain defined next in the state
covariance estimation.

17
State Covariance Estimation
1. State prediction covariance: P( k + 1| k ) = F( k ) P( k | k )F( k )'+ Q( k )
2. Measurement prediction covariance:

S( k + 1) = H ( k + 1) P( k + 1| k ) H ( k + 1)'+ R ( k + 1)
−1
3. Filter Gain W( k + 1) = P( k + 1| k )H ( k + 1)' S( k + 1)
4. Updated state covariance

P( k + 1| k + 1) = P( k + 1| k ) − W( k + 1)S( k + 1) W( k + 1)'

18
Page 219 Bar-Shalom ANATOMY OF KALMAN FILTER
State at tk
x(k)

19
Matrix Riccati Equation
The covariance calculations are independent of state (not so for EKF later)
=> can be performed offline and are given by:

 P( k | k − 1) − P( k | k − 1)H( k )' [ H( k )P( k | k − 1)H( k )'+ R ( k )]−1 


P( k + 1| k ) = F( k ) F( k )'+ Q(
. H ( k )P( k | k − 1) 
This is the Riccati equation and can be obtained from the Kalman filter
equations above.
The solution of the Riccati equation in a time invariant system converges to
steady state (finite) covariance if the pair {F, H} is completely observable (ie
the state is visible from the measurements alone).

20
{F, H} is completely observable if and only if the observability matrix

F 
 FH 
Q0 =  
 ... 
 nx −1 
 FH 
has full rank of nx.
The convergent solution to the Riccati equation yields the steady state gain for
the Kalman Filter.

21
FALLING BODY KALMAN
FILTER (continued)
Assume an initial true state of position = 100 and velocity = 0, g=1.

We choose an initial estimate state estimate x$ ( 0) and initial state covariance


P( 0) based on mainly intuition. The state noise covariance Q is all zeros.
The measurement noise covariance R is estimated from knowledge of
predicted observation errors, chosen as 1 here.
F, G, H are known the Kalman filter equations can be applied:

22
True position
101

measurement
99

97

95

93

Estimate
91

89

87

85
1 2 3 4 5 6

23
True values Estimates Errors in Estimate

Position Velocity Meas. Position velocity Position velocity

t=kT x1 x2 z(k) x$1 ( k ) x$ 2 ( k ) P11(k) P22(k)

0 100.0 0 95.0 1.0 10.0 1.0

1 99.5 -1.0 100.0 99.63 0.38 0.92 0.92

2 98.0 -2.0 97.9 98.43 -1.16 0.67 0.58

3 95.5 -3.0 94.4 95.21 -2.91 0.66 0.30

4 92.0 -4.0 92.7 92.35 -3.70 0.61 0.15

5 87.5 -5.0 87.3 87.68 -4.84 0.55 0.08

24
Kalman Filter Extensions
• Validation gates - rejecting outlier measurements
• Serialisation of independent measurement processing
• Numerical rounding issues - avoiding asymmetric covariance
matrices
• Non-linear Problems - linearising for the Kalman filter.

25
Validation Gate
Recall the measurement prediction covariance:

S( k + 1) = H ( k + 1) P( k + 1| k ) H ( k + 1)'+ R ( k + 1)

and the measurement prediction: z$ ( k + 1| k ) = H ( k ) x$ ( k + 1| k )


measurement
and measurement residual: v( k + 1) = z( k + 1) − z$ ( k + 1| k ) update

A validation gate can be set up around measurements as follows:

e 2 = v( k + 1)S −1 ( k + 1)v' ( k + 1) ≤ g 2
where g2 is chosen to for a confidence level. Normalised error e2 varies as a
Chi-Squared distribution with number of measurements degrees of freedom.

26
Sequential Measurement Processing
If the measurement noise vector components are uncorrelated then state update
can be carried out one measurement at a time.
Thus matrix inversions are replaced by scalar inversions.
Procedure: state prediction as before
scalar measurements are processed sequentially (in any order)
using scalar measurement equations.

27
Numerical Rounding Problems
The covariance update

P( k + 1| k + 1) = P( k + 1| k ) − W( k + 1)S( k + 1) W( k + 1)'
involves subtraction and can results in loss of symmetry and positive
definiteness due to rounding errors.
Joseph’s form covariance update avoids this at expense of computation
burden:

P( k + 1| k + 1) = [ I − W( k + 1)H( k + 1)]P( k + 1| k )[ I − W( k + 1)H( k + 1)]'


+ W( k + 1)R( k + 1)W( k + 1)'
Only subtraction is “squared” and preserves symmetry.

28
Extended Kalman Filter (EKF)
Many practical systems have non-linear state update or measurement
equations. The Kalman filter can be applied to a linearised version of these
equations with loss of optimality:

29
EKF - p 387 Bar-Shalom

30
Iterated Extended Kalman Filter (IEKF)
The EKF linearised the state and measurement equations about the predicted
state as an operating point. This prediction is often inaccurate in practice.
The estimate can be refined by re-evaluating the filter around the new
estimated state operating point. This refinement procedure can be iterated
until little extra improvement is obtained - called the IEKF.

31
Further Reading
Bar-Shalom and Xiao-Rong Li, Estimation and Tracking: Principles,
Techniques and Software, Artech House Boston, 1993.

Jazwinski, A. H. . Stochastic Processes and Filtering Theory. New York,


Academic Press, 1970.

Bozic, S M, Digital and Kalman Filtering, Edward Arnold, London 1979.


Maybeck, P. S. “The Kalman filter: An introduction to concepts.” Autonomous
Robot Vehicles. I. J. Cox and G. T. Wilfong. New York, Springer-Verlag:
194-204, 1990.

32
Odometry Error Covariance Estimation for Two
Wheel Robot Vehicles (Technical Report MECSE-95-1, 1995)
A closed form error covariance matrix is developed for
(i) straight lines and
(ii) constant curvature arcs
(iii) turning about the centre of axle of the robot.
Other paths can be composed of short segments of constant curvature arcs.

Assumes wheel distance measurement errors are zero mean white noise.

Previous work incrementally updates covariance matrix in small times steps.

Our approach integrates noise over the entire path for a closed form error
covariance - more efficient and accurate

33
Scanned Monocular Sonar Sensing
Small ARC project 1995 - aims:
• To investigate a scanned monocular ultrasonic sensor capable of high speed
multiple object range and bearing estimation.

• Deploy the sensor in these robotic applications:


• obstacle avoidance,

• doorway traversal and docking operations,

• localisation and mapping.

34

You might also like