3 ms·
I struggled a long time trying to get past all the matrix math that the usual Kalman filter tutorial starts out with. KF's make a lot more sense if you start fr
by dbcurtis 9y ago
I struggled a long time trying to get past all the matrix math that the usual Kalman filter tutorial starts out with. KF's make a lot more sense if you start from an example. By the end of the example, you realize that matrix math simplifies the notation hugely. But without the intuition about what it is doing for you, it doesn't help much -- at least it doesn't help me much.
So... my over-simplified touch-stones for KF's:
1. Everything is a Baysian quantity -- a mean (best guess) and a std. dev. (confidence).
2. You have a model of the system state.
3. You have some sensors, and you have some model for the accuracy & precision (noise) in the measurements.
Now, two rules:
1. The model runs open loop and at a regular cadence: "Tick tock, tick tock, the model updates on the clock." Of course, since you are running open loop, your confidence in every value of the model gets worse with each iteration (std. dev. grows). How much you adjust (reduce) the confidence is based on the precision of the system and the control inputs.
2. Sensors readings are applied as they come in: "Use'em if you got'em."
So.... now the moving average part... if you are twice as confident in your current estimate as you are in the reliability of the new measurement, do a weighted average of 2/3 of the current estimate and 1/3 of the sensor. This is why the confidence is carried along for all state values and sensor readings. Of course compute the weights of the moving average according to the current confidence values with every update.
And that is about 103% of what I know about Kalman filters :)