kalman intro slides
TRANSCRIPT
-
8/13/2019 Kalman Intro Slides
1/48
UNC Chapel Hill Computer Science Slide 1
STC Lecture Series
An Introduction to the Kalman FilterGreg Welch and Gary Bishop
University of North Carolina at Chapel Hill
Department of Computer Science
http://www.cs.unc.edu/~welch/kalmanLinks.html
-
8/13/2019 Kalman Intro Slides
2/48
UNC Chapel Hill Computer Science Slide 2
Where Were Going
Introduction & Intuition
The Discrete Kalman Filter
A Simple Example
Variations of the Filter Relevant Applications & References
-
8/13/2019 Kalman Intro Slides
3/48
UNC Chapel Hill Computer Science Slide 3
The Kalman filter
Seminal paper by R.E. Kalman, 1960
Set of mathematical equations
Optimal estimator
minimum mean square error
Versatile
Estimation
Filtering
Prediction
Fusion
predictpredict correctcorrect
-
8/13/2019 Kalman Intro Slides
4/48
UNC Chapel Hill Computer Science Slide 4
Why a Kalman Filter?
Efficient least-squares implementation
Past, present and future estimation
Estimation of missing states
Measure of estimation quality (variance) Robust
forgiving in manyways
stable given common conditions
-
8/13/2019 Kalman Intro Slides
5/48
UNC Chapel Hill Computer Science Slide 5
Some Intuition
-
8/13/2019 Kalman Intro Slides
6/48
UNC Chapel Hill Computer Science Slide 6
First Estimate
x1 =z1
21 =
2z1
Conditional Density Function
14121086420-2
N(z1,z12 )
z1 2
z1,
-
8/13/2019 Kalman Intro Slides
7/48
UNC Chapel Hill Computer Science Slide 7
Second Estimate
Conditional Density Function
z2 2
z2,
x2 = ...?
22 = ...? 14121086420-2
N(z2,z22 )
-
8/13/2019 Kalman Intro Slides
8/48
UNC Chapel Hill Computer Science Slide 8
Combine Estimates
= z22
z1
2 + z22( )[ ]z1+ z1
2z1
2 + z22( )[ ]z2x2
=
x1+ K
2z
2
x
1[ ]where
K2= z12
z1
2
+z22
( )
-
8/13/2019 Kalman Intro Slides
9/48
UNC Chapel Hill Computer Science Slide 9
Combine Variances
1
2=
1
z1
2
( )+
1
z2
2
( )2
-
8/13/2019 Kalman Intro Slides
10/48
UNC Chapel Hill Computer Science Slide 10
Combined Estimate Density
x =
2
= 22
x2
14121086420-2
Conditional Density Function
N( 2)x,
-
8/13/2019 Kalman Intro Slides
11/48
UNC Chapel Hill Computer Science Slide 11
Add Dynamics
dx/dt= v+ w
wherevis the nominal velocity
wis a noise term (uncertainty)
-
8/13/2019 Kalman Intro Slides
12/48
UNC Chapel Hill Computer Science Slide 12
Propagation of Density
-
8/13/2019 Kalman Intro Slides
13/48
UNC Chapel Hill Computer Science Slide 13
Some Details
xx AA xx ww
zz HH xx
........
= +
=
-
8/13/2019 Kalman Intro Slides
14/48
UNC Chapel Hill Computer Science Slide 14
Discrete Kalman Filter
Maintains first two statistical moments
process state (mean)
error covariance
z
y
x
-
8/13/2019 Kalman Intro Slides
15/48
UNC Chapel Hill Computer Science Slide 15
Discrete Kalman Filter
A discreteprocess model
change in state over time
linear difference equation
A discrete measurement modelrelationship between state and measurement
linear function
Model Parameters
Process noise characteristicsMeasurement noise characteristics
The Ingredients
-
8/13/2019 Kalman Intro Slides
16/48
UNC Chapel Hill Computer Science Slide 16
Necessary Models
measurementmodel
dynamicmodel
previous state next state
state
measurement
image plane( u , v )
-
8/13/2019 Kalman Intro Slides
17/48
UNC Chapel Hill Computer Science Slide 17
The Process Model
x k+1 = Axk+ wk
zk= Hxk+ vk
Process Dynamics
Measurement
-
8/13/2019 Kalman Intro Slides
18/48
UNC Chapel Hill Computer Science Slide 18
Process Dynamics
x k+1 = Axk+ wk
xkncontains the states of the process
state vector
-
8/13/2019 Kalman Intro Slides
19/48
UNC Chapel Hill Computer Science Slide 19
Process Dynamics
nxn matrixArelates state at time step kto
time step k+1
state transition matrix
x k+1 =Axk+ wk
-
8/13/2019 Kalman Intro Slides
20/48
UNC Chapel Hill Computer Science Slide 20
Process Dynamics
process noise
wknmodels the uncertainty of the process
wk~ N(0, Q)
x k+1 = Axk+ wk
-
8/13/2019 Kalman Intro Slides
21/48
UNC Chapel Hill Computer Science Slide 21
Measurement
zk= Hxk+ vk
zkmis the process measurement
measurement vector
-
8/13/2019 Kalman Intro Slides
22/48
UNC Chapel Hill Computer Science Slide 22
Measurement
zk= Hxk+ vk
state vector
-
8/13/2019 Kalman Intro Slides
23/48
UNC Chapel Hill Computer Science Slide 23
Measurement
mxn matrixHrelates state to measurement
measurement matrix
zk=Hxk+ vk
-
8/13/2019 Kalman Intro Slides
24/48
UNC Chapel Hill Computer Science Slide 24
Measurement
measurement noise
zkmmodels the noise in the measurement
vk~ N(0,R)
zk= Hxk+ vk
-
8/13/2019 Kalman Intro Slides
25/48
UNC Chapel Hill Computer Science Slide 25
State Estimates
a prioristate estimate
a posterioristate estimate
x k
xk
-
8/13/2019 Kalman Intro Slides
26/48
UNC Chapel Hill Computer Science Slide 26
Estimate Covariances
a prioriestimate error covariance
a posterioriestimate error covariance
Pk= E[(xk-xk
)(xk-xk)T]
Pk= E[(xk-xk)(xk-xk)T
]
-
8/13/2019 Kalman Intro Slides
27/48
UNC Chapel Hill Computer Science Slide 27
Filter Operation
Time update (a prioriestimates)
Measurement update (a posterioriestimates)
Project state and covariance forward
to next time step, i.e.predict
Update with a (noisy) measurement
of the process, i.e. correct
-
8/13/2019 Kalman Intro Slides
28/48
UNC Chapel Hill Computer Science Slide 28
Time Update (Predict)
state
error covariance
-
8/13/2019 Kalman Intro Slides
29/48
UNC Chapel Hill Computer Science Slide 29
Measurement Update (Correct)
-
8/13/2019 Kalman Intro Slides
30/48
UNC Chapel Hill Computer Science Slide 30
Time Update (Predict)
a prioristate and error covariance
xk+1=Axk
Pk+1=APkA+ Q
-
8/13/2019 Kalman Intro Slides
31/48
UNC Chapel Hill Computer Science Slide 31
Measurement Update (Correct)
a posterioristate and error covariance
Kalman gain
xk=xk + Kk(zk-Hxk )
Pk= (I- KkH)Pk
Kk= PkHT(HPkH
T+ R)-1
-
8/13/2019 Kalman Intro Slides
32/48
UNC Chapel Hill Computer Science Slide 32
Filter Operation
Time Update(Predict)
Measurement
(Correct)Update
-
8/13/2019 Kalman Intro Slides
33/48
UNC Chapel Hill Computer Science Slide 33
A Simple Example
Estimating a Constant
-
8/13/2019 Kalman Intro Slides
34/48
UNC Chapel Hill Computer Science Slide 34
Estimating a Constant
A = 1
H = 1
A, H, Pk, R, zk,and Kk areall scalars. In particular,
-
8/13/2019 Kalman Intro Slides
35/48
UNC Chapel Hill Computer Science Slide 35
Process Model
x k+1 = xk
zk= xk+ vk
Process Dynamics
Measurement
-
8/13/2019 Kalman Intro Slides
36/48
UNC Chapel Hill Computer Science Slide 36
Time Update
a prioristate and error covariance
xk+1= xk
Pk+1= Pk
-
8/13/2019 Kalman Intro Slides
37/48
UNC Chapel Hill Computer Science Slide 37
Measurement Update
a posterioristate and error covariance
Kalman gain
xk=xk + Kk(zk-xk )
Pk= (1 - Kk )Pk
Kk= Pk/(Pk + R)
-
8/13/2019 Kalman Intro Slides
38/48
UNC Chapel Hill Computer Science Slide 38
Simulations
zkandxk Pk
-
8/13/2019 Kalman Intro Slides
39/48
UNC Chapel Hill Computer Science Slide 39
Variations of the Filter
Discrete-Discrete (a.k.a. discrete)
Continuous-Discrete
Extended Kalman Filter
-
8/13/2019 Kalman Intro Slides
40/48
UNC Chapel Hill Computer Science Slide 40
Continuous-Discrete
The Process (Model)
Continuous model of system dynamics
Discrete measurement equation
Why, When, How
Flexibility in prediction
Irregularly spaced (discrete) measurements
At measurement, integrate state forward (e.g.Runge-Kutta integrator)
-
8/13/2019 Kalman Intro Slides
41/48
UNC Chapel Hill Computer Science Slide 41
Extended Kalman Filter
Nonlinear Model(s)
Process dynamics:Abecomes a(x,w) Measurement:Hbecomes h(x,z)
Filter Reformulation
Use functions instead of matrices
Use Jacobians to project forward, and to relate
measurement to state
-
8/13/2019 Kalman Intro Slides
42/48
UNC Chapel Hill Computer Science Slide 42
Relevant Applications
Rebo
Rebo, Robert K. 1988. A Helmet-Mounted Virtual EnvironmentDisplay System, M.S. Thesis, Air Force Institute of Technology.
AzumaAzuma, Ronald. 1995. Predictive Tracking for Augmented
Reality, Ph.D. dissertation, The University of North Carolina at
Chapel Hill, TR95-007.
-
8/13/2019 Kalman Intro Slides
43/48
UNC Chapel Hill Computer Science Slide 43
Relevant Applications
Friedmann et al.Friedmann, Martin, Thad Starner, and Alex Pentland. 1992.
Device Synchronization Using an Optimal Filter, Proceedings of
1992 Symposium on Interactive 3D Graphics (Cambridge MA)
5762
Liang et al.Liang, Jiandong, Chris Shaw, and Mark Green. On Temporal-
Spatial Realism in the Virtual Reality Environment, Proceedings
of the 4th annual ACM Symposium on User Interface Software &
Technology, 19-25
-
8/13/2019 Kalman Intro Slides
44/48
UNC Chapel Hill Computer Science Slide 44
Relevant Applications
Van Pabst & KrekelVan Pabst, Joost Van Lawick, and Paul F. C. Krekel. MultiSensor Data Fusion of Points, Line Segments and Surface
Segments in 3D Space, TNO Physics and Electronics Laboratory,
The Hague, The Netherlands. [cited 19 November 1995].
-
8/13/2019 Kalman Intro Slides
45/48
UNC Chapel Hill Computer Science Slide 45
SCAAT
Tracking Latency & Rate
Simultaneity Assumption
SCAAT
Observability Family of unobservablesystems
Calibration
VE Tracking, GPS, etc.
-
8/13/2019 Kalman Intro Slides
46/48
UNC Chapel Hill Computer Science Slide 46
Kalman Filter Papers...
KalmanKalman, R. E. 1960. A New Approach to Linear Filtering andPrediction Problems, Transaction of the ASMEJournal of Basic
Engineering, pp. 35-45 (March 1960).
SorensonSorenson, H. W. 1970. Least-Squares estimation: from Gauss toKalman, IEEE Spectrum, vol. 7, pp. 63-68, July 1970.
-
8/13/2019 Kalman Intro Slides
47/48
UNC Chapel Hill Computer Science Slide 47
Some Books
Brown
Introduction to Random Signals and Applied Kalman Filtering (2nd
)Gelb
Applied Optimal Estimation
Jacobs
Introduction to Control Theory
Lewis
Optimal Estimation with an Introduction to Stochastic Control Theory
MaybeckStochastic Models, Estimation, and Control, Volume 1
-
8/13/2019 Kalman Intro Slides
48/48
UNC Chapel Hill Computer Science Slide 48
Further Information
Welch & BishopWelch, Greg and Gary Bishop. 1995. An Introduction to theKalman Filter, The University of North Carolina at Chapel Hill,
TR95-041
http://www.cs.unc.edu/~welch/kalmanLinks.html