MATLAB Answers

Estimate position from inertial data

46 views (last 30 days)
Can someone provide me an example of how kalman filters can be used to estimate position of an object from 6DOF/9DOF IMU data. All examples I have seen just seem to find orientation of the object using ahrs/imufilter.


Sign in to comment.

Accepted Answer

Bhargavi Maganuru
Bhargavi Maganuru on 1 Apr 2020


Swapnil Sayan Saha
Swapnil Sayan Saha on 4 Apr 2020
These either require GPS or uses IMU to give orientation only, not position. Was looking for something that gives position without GPS.

Sign in to comment.

More Answers (1)

Martin Seyr
Martin Seyr on 24 Apr 2020
you need to integrate the accelerometers if you want to calculate linear positions. this will be subject to quadratic error propagation over time, so it is necessary to periodically reset the integrator.
it works like this: you use the orientation calculated from the fusion algorithm (kalman filter or some other algorithm) to rotate locally measured accelerations into the world frame. then you subtract nominal gravity, then you integrate twice.
good luck,


Show 4 older comments
Swapnil Sayan Saha
Swapnil Sayan Saha on 16 Jul 2020
Although it includes GPS but GPS is not really needed, though errors are likely rise in the long run without GPS.
Andrea Gusmara
Andrea Gusmara on 1 Sep 2020
HI linda , have you finally found the solution of the wrong position problem ? Beacause I found myself in the same problem for my thesis.
Swapnil Sayan Saha
Swapnil Sayan Saha on 1 Sep 2020
It's best to not dead-reckon in z axis. I have observed similar phenomena from real-world data. In my MS thesis I am discussing the implications of inaccurate z axis localization. Better option is to use a pressure sensor or some other sensor (e.g. GPS if available, acoustics, Radar etc.)

Sign in to comment.





Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!