10th February 2026
A small robot estimates that it has travelled ten metres along a corridor. A position sensor reports twelve metres. Neither answer is exact: wheel measurements accumulate errors, while the sensor has its own noise. Choosing one reading and discarding the other wastes information. A Kalman filter provides a way to combine them according to their estimated uncertainty. [1]
The simplest example concerns a single position. Let x be the predicted position, z the new measurement and m the updated estimate. Let P describe the prediction error variance and R the measurement noise variance. Assuming independent zero-mean errors and a measurement that directly observes position, the update is:
The quantity K is the Kalman gain. It determines how far the estimate moves towards the measurement. Variance measures squared uncertainty, so P and R have units of square metres here; K has no units.
Suppose x is ten metres and z is twelve metres. A prediction standard deviation of two metres gives P equal to four. A sensor standard deviation of one metre gives R equal to one. The gain is therefore 0.8, and the updated estimate is 11.6 metres. The sensor receives more weight because it is considered more reliable.
Under this model, the updated variance is 0.8 square metres, corresponding to a standard deviation of approximately 0.89 metres. Combining the information has reduced uncertainty below that of either input. This is a statement about the error distribution, not a promise that every individual update moves closer to the true position.
Now reverse the confidence levels. Give the prediction variance one and the sensor variance four. The gain becomes 0.2, so the estimate moves only to 10.4 metres. The two reported positions are unchanged. What changes the answer is the uncertainty attached to them.
A moving robot repeats two operations. It predicts its next state using a motion model, allowing for uncertainty introduced during movement. It then corrects that prediction using the next observation. A state can include velocity as well as position, with a covariance matrix recording how their uncertainties are related. [2]
For linear dynamics and measurements, Gaussian initial uncertainty and independent zero-mean Gaussian noise, these updates give the conditional mean and covariance exactly. [2] Outside those assumptions, performance depends on how well the model represents reality. A sensor with an unmodelled bias can pull the estimate consistently in the wrong direction.
Two sensors can also share an error source. Treating their readings as independent then exaggerates how much information they provide. The practical challenge is often assigning credible uncertainties and correlations before combining measurements.
[1] Welch and Bishop — An introduction to the Kalman filter
[2] Lester Mackey — Linear Gaussian state space models and Kalman filtering
Leave a Reply