Extended Kalman Filter
The problem with standard Kalman filter is that it assumes linear state transitions and measurements. In reality, state transitions and measurements are rarely linear, e.g. a robot that moves with constant transnational and rotational velocity will move in a circular path, which is not linear. The extended Kalman filter relaxes the linearity assumption.
We suppose that state transition probability and measurement probability are governed by nonlinear functions.
The function greplaces the matrices At and Bt, and the function h replaces the matrix Ct. Unfortunately, with arbitrary non-linear functions, the belief is no longer a Gaussian. In fact, performing the belief update exactly is usually impossible in this case. The EKF (extended Kalman filter) needs to calculate a Gaussian approximation to the true belief via Monte Carlo methods.
Linearization
The key idea underlying the EKF approximation is called linearization. If we were to use Monte Carlo methods, we'd have to pass hundred thousands of points to gfollowed by the computation of their mean and covariance. This is extremely inefficient. We need a way to hack around it and approximates g and h as linear functions using first order Taylor expansion.
Taylor Expansion
Taylor expansion constructs a linear approximation to a function g from g's value and slope. The slope is given by the following expression.
The value and slope of gare dependent on the arguments ut and xt−1. We should choose the most probable states to perform Taylor expansion with. Since the most probable state of Xt is μt−1, g is approximated by its values at μt−1 and ut.
Notice that Gt is a n by n matrix, with n denoting the dimension of the state. This matrix is often called the Jacobian. The value of Jacobian is dependent on ut and μt−1, hence the matrix is time dependent. EKF implements the exact same linearization for the measurement function h. The calculation must perform after prediction state, hence μt.
EKF Algorithm
Now if we put everything together, we have the EKF algorithm. Equation (1) performs the prediction steps.
Equation (2) performs the Kalman gain calculation.
Equation (3) performs the measurement incorporation steps.
Finally,
Last updated