Robot control
Kalman filter
Definition
A Kalman filter is a recursive estimator that predicts a system's state with a linear model and corrects that prediction using noisy measurements. It tracks both the estimate and its error covariance.
Also known as: KF
Updated
Prediction followed by measurement correction
The filter first predicts the next state and uncertainty. It then compares an observation with the predicted measurement and applies a correction weighted by the Kalman gain. Kalman's original paper derives the recursive linear filtering formulation and the evolution of estimation-error covariance.
For a simple robot tracking problem, the state might contain position and velocity while a sensor measures only position. The motion model connects the unmeasured velocity to later position observations.
Uncertainty controls the weighting
The gain depends on predicted uncertainty and measurement noise. A measurement assigned high uncertainty receives less influence than it otherwise would. Welch and Bishop's tutorial explains the roles of process and measurement covariance in this calculation.
The assumptions matter
The familiar exact Gaussian interpretation assumes linear dynamics and observations with appropriate Gaussian noise. Incorrect noise assumptions can make reported confidence misleading. Nonlinear robot models usually require an extension or another estimator; an extended Kalman filter uses local linearization. Applying the word Kalman to a filter does not establish accuracy under arbitrary motion or sensing conditions.
Sources
Related terms
State estimation
State estimation infers quantities describing a robot or its environment from measurements and a model. A robot state may include position, orientation, velocity, and other variables that are not all directly measured.
Extended Kalman filter
An extended Kalman filter is a state estimator that applies Kalman-style prediction and correction to nonlinear models by locally linearizing them. It approximates uncertainty around the current state estimate.
Sensor fusion
Sensor fusion combines information from multiple sensors or estimation sources to produce a shared estimate. The combination must account for coordinate frames, timing, uncertainty, and dependence between inputs.