1
$\begingroup$

I've recently implemented a kalman filter to estimate altitude for a small robot with an IMU+Baro sensor mounted on it.

My objective is to get max precision I can have, using this two sensor, with small computing power that a MCU can provide me. I've tuned my filter and it seems to work pretty well.

Can I obtain a significant improvement using an Extended Kalman Filter instead of a normal Kalman Filter and if it worth time to implement it?

More in detail, since this request is too specific for each application, if a Model function that use Baro and Accel as states should be linearized and used in a EKF and if this can improve data reliability compared to a simply KF?

$\endgroup$
1
  • $\begingroup$ You should check out UKFs in the next project that needs nonlinear estimation. They are way easier to implement, converge more reliably, and are only slightly more computationally expensive. $\endgroup$
    – holmeski
    Jul 2, 2016 at 18:47

1 Answer 1

2
$\begingroup$

EKFs are appropriate when you have nonlinear equations describing the system, either in the system dynamics or the measurement dynamics. In this case, I think a plain KF should be sufficient assuming the accel measurements are just measuring gravity and veritcal acceleration.

If you expect your sensor to function well in a non level orientation where you are incorporating accel measurements from more than one axis on your IMU I would recommend using a nonlinear estimator.

If you are just estimating altitude with accel measurements of gravity plus motion and a pressure you should be more than okay with the linear KF.

I would also recommend estimating the bias in the IMU. These can, of course, be calibrated out at the start of a flight but estimating biases should be trivial.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.