Acwok
Acwok

Reputation: 23

How to fix SensorManager.getAltitude() bias due to device orientation?

I'm building a Wear OS variometer app for paragliding. I'm fusing barometer and accelerometer data using a kalman filter to estimate (z, vz, az). I noticed that SensorManager.getAltitude has almost 1m bias depending on the orientation of the watch. Fixing this bias would greatly improve the accuracy.

Has anyone noticed this problem before? Any idea on how to fix this issue ?

My first idea would be to implement a calibration procedure at first launch to model the bias in 3D. The user would place the watch on a table, rotate the watch by steps (0, 90, 180, 270°) along pitch and roll. This would give me altitude for the main orientations, I could then interpolate the bias between this orientations... It feels dumb, complicated for the user and the developer and I'm not even sure it will work. I'll take any better idea.

Upvotes: 0

Views: 21

Answers (0)

Related Questions