I'm trying to estimate the height of my device using an cheap integrated Freescale accelerometer.

First, I estimate the earth direction when measured acceleration is close to 1g, then I project the measurement on that direction and integrate twice. Very quickly the estimated height drifts.

I was thinking maybe to use some machine learning algorithm, by feeding it aligned height from video tracking as examples.

Can you suggest algorithms that would help doing that? Or any other way to make height estimation more precise?

Edit: Motion is known to be limited in a range of ±0.5m.

  • $\begingroup$ Not sure about whether machine learning would be an appropriate field for this application, but based on your description, this could be an application for a Kalman filter. $\endgroup$ – Jason R Feb 3 '14 at 16:52
  • $\begingroup$ In live operation I won't have the video, so I won't be able to adjust the measurements. But I'm hoping I can use the recorded videos to learn something on the estimation error. $\endgroup$ – Michael Litvin Feb 3 '14 at 17:53
  • 1
    $\begingroup$ See this recent question for some comments on the hazards of doubly integrating acceleration on its own to estimate displacement. $\endgroup$ – Jason R Feb 3 '14 at 18:13

Any tiny offset error will cause a double integration to fly off quadratically in time. Even if you manage to calibrate out this error for one sample test setup, any drift in offset due to change in temperature, orientation, age, power fluctuations, etc., will eventually render that calibration useless.

Continuous recalibration (airspeed, compass, optical fix, etc.) is likely required for a more useful result over a sufficiently long time period.

  • $\begingroup$ Sounds quite pessimistic... But actually, double integration gives an almost ok result on its own. So a small improvement might be sufficient. $\endgroup$ – Michael Litvin Feb 3 '14 at 22:16
  • $\begingroup$ Then just drop from known heights, and use that to determine the acceleration error (integration constant). $\endgroup$ – hotpaw2 Feb 3 '14 at 22:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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