Kalman FIlter Flashcards
input μt−1 , Σt−1 , ut , zt
The robot/object has a true state(where it is positioned) which the environment knows. This value could be its position on a hallway and the speed of which its traveling at a given time.
// Control update
μ̄t = At μt−1 + Bt*ut + et
Σ̄t = At Σt−1 ATt + Rt
Predict state and uncertainty.
For the robot to move it needs to update at a time which for this example would be acceleration (ut). The robot would then have new measurements in relation to its position and speed.
Control update
What ut to choose based upon μt and Σt?
* platform: move towards target based upon μt
* possible extension: accelerate faster with smaller Σt
Uncertainty
Uncertainty is possible degree of inaccuracy in belief
// Kalman gain
Kt = ΣtCtT (CtΣt*CtT + Qt )−1
The Kalman Gain is the relative weight in which the new measurement is taken into account. If the error in the measurement is relatively small, the Kalman Gain will approach one which puts emphasize on the measurement. Generally, the Kalman gain will decrease with every new measurement, putting greater believe in the model prediction.
zt = Ct *xt + δt
The measurements produced will carry a degree of random noise (E.g. if it wants to move 1m it could move 0.98m or 1.2 m instead). While the environment knows the exact amount of noise the platform can’t distinguish between the true value and noise. (Zt = true position with noise).
// Measurement update
μt = μt + Kt (zt − Ct*μt )
Σt = ( I − Kt Ct )Σt
Calculate the believed state and uncertainty from a prediction and observation.
// Done
return μt , Σt
Returns the updated Belief of current state and the uncertainty Σt.
Environment
The reality : platform is at position pos, platform has speed, platform is described by state x at time t
xt, ut, zt
xt: true state of the platform (position and speed).
ut: platform update (acceleration command given).
zt: noisy observation done by platform (echo and speedometer).
A, B, C
A: contribution of xt−1 to xt (speed at t − 1 changes position at t).
B: contribution of ut on xt (acceleration at t changes speed at t).
C: conversion from state to deterministic observation.
εt , δt , μt, Σt
εt: probabilistic part in state (position and speed). Control noise
δt: noisy part in observation (echo and speedometer).
μt: Belief of current state
Σt: Uncertainty in belief
μ ̄t, Σ ̄ t, Kt
μ ̄t: Predicted belief of current state after control update (intermediate result)
Σ ̄ t: Predicted uncertainty in belief after control update (intermediate result)
Kt: Kalman Gain (determines degree to account for measurement in favor of previous belief)
R, Q
R: Accounts for model’s unknown probabilistic part in state (εt)
Q: Accounts for model’s unknown noisy part in observation (δt)
εt
Control noise
Keep in mind: the environment “knows” the exact values of N (0, σpos ) and N (0, σspeed ), the platform does not!
The robot however has an idea (or at least an estimate) of the values σpos and σspeed.