What is the Unscented Kalman Filter?

What is the Unscented Kalman Filter and when is it used in preference to other types of filters?

edit: I find the Wikipedia explanation a bit too technical to be readily understood.

The Unscented Kalman Filter is a type of non linear Kalman filter. (ie when the transition and observation functions are non linear) If these functions are differentiable, one can simply use the Extended Kalman Filter (EKF). But when the functions are highly non linear, one might need to use an Unscented Kalman Filter (UKF), which is based on the Unscented transform.

The original paper introducing UKF is here.

Modify your question if you have something more precise to ask. What don't you understand in the UKF?

An Unscented Kalman Filer is one of the versions of nonlinear Kalman filter ( together with Extended KF). They solve problems that are non-linear in nature. While the Extended KF uses gradual expansion of linear algorithm, Unscented KF take a unique approach to eliminate linearisation proces [Kim 2011].

The unscented KF does not use the Jacobian to obtain a linear model and so is free from the divergence which can happen with the Extended KF. Downside is that an algorithm can be seen as harder to understand, although it is in the main frame of KF - prediction of state variables based on a system model and calibrating the prediction with measurement to get the final estimate.

The Unscented KF is based mainly on unscented transformation which in its idea is similar to Monte Carlo, but makes a delicate selection of weights for each sample.

References: Kim, P. Huh, L. "Kalman Filter for Beginners: With MATLAB Examples" 2011 http://books.google.co.uk/books?id=W8u_XwAACAAJ

• I honestly find it easier to understand than the EKF. It's derivative-free, doesn't throw gazillions of matrices in your face and just works. :) That said, a very good book on basically all sorts of KFs is Probabilistic Robotics by Thrun et. al. Mar 14, 2015 at 4:16

The KF and EKF estimate a state by tracking the mean and variance that measurements make of the state. They both project the state to the current measurement updating the estimate by a linear operation. Once updated with new information, the new state estimate is the forward projected mean and the uncertainty of the state is the forward projected covariance.

These two filters make an assumption (among others) that the uncertainty of the state is gaussian and can be fully (adequately?) described with the mean and a 1-sigma point (along each estimated dimension with cross-covariance - how one dimension varies relative to another dimension changing). The operation of forward projecting the mean (read: state estimate) and covariance (read: uncertainty) is linear and thus only scales and translates these values.

But this might be a bad assumption. Imagine a system that may evolve and not preserve (or ever really have) a classical gaussian shape. Simply describing the updated state estimate by how evolved uncertainty and new information affects just the mean and 1-sigma value would inadequately estimate the actual non-linear system.

As an analogy, imagine a conical section rolling down an incline. We could approximate the rolling object as a cylinder with a radius that is the mean of the conical section. Across short times, this may be adequate, but a cylinder rolling down an incline evolves linearly, but a conical section in actuality will arc and swing - a non-linear state transition.

The UKF is equivalent to tracking the evolution of the state as many points, and running these points through the non-linear measurement updates and time projections. The new state estimate and uncertainty are then the independently calculated mean and variance of the points at the new time with new information, and thus decouples the previous and new state estimates from errors associated with linear state transitions.