Extended Kalman Filter
Last updated
Last updated
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 replaces the matrices and , and the function replaces the matrix . 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.
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 followed by the computation of their mean and covariance. This is extremely inefficient. We need a way to hack around it and approximates and as linear functions using first order Taylor expansion.
Taylor expansion constructs a linear approximation to a function from 's value and slope. The slope is given by the following expression.
The value and slope of are dependent on the arguments and . We should choose the most probable states to perform Taylor expansion with. Since the most probable state of is , is approximated by its values at and .
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,
Notice that 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 and , hence the matrix is time dependent. EKF implements the exact same linearization for the measurement function . The calculation must perform after prediction state, hence .