Journal

The big idea: linearise, then filter

A Kalman filter needs \(F\) and \(H\) to be matrices. But a rover’s motion is

\[x_{k} = x_{k-1} + v\,\Delta t\cos\theta,\qquad y_k = y_{k-1} + v\,\Delta t \sin\theta\]

The \(\cos\theta\) and \(\sin\theta\) make it nonlinear. A sensor that measures the distance to a landmark, \(r = \sqrt{(x_L-x)^2 + (y_L-y)^2}\), is nonlinear too.

The EKF’s trick is simple: zoom in. Any smooth curve looks like a straight line if you zoom in far enough. At each step the EKF:

  1. pushes the estimate through the true nonlinear model \(f\) to get the prediction, and
  2. uses the slope of \(f\) (its Jacobian) to push the covariance.

The same goes for the measurement: predicted measurement from the nonlinear \(h\), covariance from its Jacobian \(H\).

When the uncertainty is small compared with how curved the model is, this works very well. When the uncertainty is large (for example a robot with no idea of its heading), the straight-line approximation fails and the filter can diverge. That limitation motivates the UKF and particle filter later in this track.

Think of the EKF as “a Kalman filter that re-draws its straight lines every step”.

Log in or create a free account to save your progress.

Enjoyed the preview? Unlock the full course.

₹199 ₹599 67% off
Create free account to enrollLog in

Lifetime access to every lesson, the equations and the downloadable Python simulation. Your progress is saved to your account.

All lessons
  1. The big idea: linearise, then filterFree preview
  2. How it was invented and its first usesLocked
  3. Where it is used todayLocked
  4. The equationsLocked
  5. Worked demo and tuningLocked
  6. Build your own, step by stepLocked
  7. Python simulation labLocked
  8. Practice problems and quizLocked

We’ll drive a rover into your seminar hall. The demo is free.

A 45-minute session with a live rover drive and a drone flight in a netted cage, for any engineering college in Kerala or Tamil Nadu.