Robot control
Extended Kalman filter
Definition
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.
Also known as: EKF
Updated
Local linearization handles nonlinear relationships
Robot motion and sensor measurements often involve nonlinear functions, such as converting an orientation into a direction of travel. The EKF evaluates these functions and uses their local derivatives to propagate uncertainty. Welch and Bishop describe the linearization of both process and measurement models.
These derivative matrices are Jacobians. They serve the same mathematical role of local sensitivity as a robot Jacobian, although the functions being differentiated need not be arm kinematics.
A common robot localization method
The ROS robot_localization package implements an EKF that predicts motion and corrects its estimate from sensor data. It illustrates how a filter becomes part of a practical sensor-fusion system.
Approximation is the tradeoff
A nonlinear transformation does not generally preserve a Gaussian probability distribution. The EKF's local approximation can become poor when uncertainty is large or the model is strongly nonlinear over the plausible states. It also does not naturally represent several separate location hypotheses, unlike a suitably configured particle filter.
Sources
Related terms
Kalman filter
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.
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.
Particle filter
A particle filter represents a probability distribution over possible states with a collection of weighted samples. It updates those samples using a motion model and new observations to estimate a changing state.