Observers and Kalman Filters: CS 393R: Autonomous Robots
Observers and Kalman Filters: CS 393R: Autonomous Robots
Slides Courtesy of
Benjamin Kuipers
Good Afternoon Colleagues
y x
2
Estimates and Uncertainty
Conditional probability density function
Gaussian (Normal) Distribution
Completely described by N(, 2)
Mean
Standard deviation , variance 2
1 (x )2 / 2 2
2
e
The Central Limit Theorem
The sum of many random variables
with the same mean, but
with arbitrary conditional density functions,
converges to a Gaussian density function.
Predictor-corrector:
x (t 2) z1 K(z2 z1)
x (t1) K(z2 x (t1))
This version can be applied recursively.
Predictor-Corrector
Update best estimate given new data
x (t 2) x(t1) K(t 2)(z2 x (t1))
12
K(t 2 ) 2
1 2
2
Update variance:
(t 2 ) (t1 ) K(t2 ) (t1 )
2 2 2
(1 K(t2 )) (t1 )
2
Static to Dynamic
Now suppose x changes according to
x F(x,u,) u (N (0, ))
Dynamic Prediction
At t2 we know x (t 2 ) (t 2 )
2
(t )2
K(t 3 ) 2 3
(t3 ) 3
2
Qualitative Properties
x (t 3 ) x(t ) K(t3 )(z3 x (t ))
3 3
(t3 )
2
K(t 3 ) 2
(t3 ) 32
x F(x,u,1) u 1
z G(x,2) x 2
We will discuss the more complex case next.
Up To Higher Dimensions
Our previous Kalman Filter discussion was
of a simple one-dimensional model.
Now we go up to higher dimensions:
State vector: x n
Sense vector: z
m
Motor vector: u
l
E[x] x [x1, x n ]T
Variance and Covariance
The variance is E[ (x-E[x])2 ]
N
E[(x x ) ] (x i x )
2 2 1 2
N 1
Covariance matrix is E[ (x-E[x])(x-E[x])T ]
N
Cij
1
N
(x ik x i )(x jk x j )
k 1
10.62 7.93
Ccd
7.93 8.84
Discrete Kalman Filter
Estimate the state x n of a linear
stochastic difference equation
x k Ax k1 Buk1 wk1
process noise w is drawn from N(0,Q), with
covariance matrix Q.
with a measurement z m
zk Hx k vk
measurement noise v is drawn from N(0,R), with
covariance matrix R.
A, Q are nn. B is nl. R is mm. H is mn.
Estimates and Errors
x k is the estimated state at time-step k.
n
x k after prediction, before observation.
n
Errors: e
k x k x
k
e k x k x k
Error covariance matrices:
T
P E[e e ]
k k k
Pk E[e k eTk ]
Kalman Filters task is to update x k Pk
Time Update (Predictor)
Update expected value of x
x k Ax k1 Buk1
Update error covariance matrix P
Pk APk 1A QT
1
gain: K k P H (HP H R)
T T
Kalman k k