Imagine we are making a self-driving car and we are trying to localize its position in an environment. The sensors of the vehicle can detect cars, pedestrians, and cyclists. Knowing the location of these objects can help the car make judgements, preventing collisions. But other than knowing the location of the objects, the car needs to predict their future locations so that it can plan what to do ahead of time. For example, if it were to detect a child running towards the road, it should expect the child not to stop. The Kalman filter can help with this problem, as it is used to assist in tracking and estimation of the state of a system.
The car has sensors that determine the position of objects, as well as a model that predicts their future positions. In the real world, predictive models and sensors aren’t perfect. There is always some uncertainty. For example, the weather can affect the incoming sensory data, so the car can’t completely trust the information. With Kalman filters, we can mitigate the uncertainty by combining the information we do have with a distribution that we feel more confident.
Usage of the Kalman filter acknowledges that some error and noise is implicit within both the prediction and measurement of the variables we’re interested in tracking.
The filter does not assume all errors are Gaussian, but as cited from the Wikipedia description, the “filter yields the exact conditional probability estimate in the special case that all errors are Gaussian.” Recall, that the Gaussian is characterized by two parameters: the mean (mu) and the width of Gaussian, namely the variance (sigma squared).