1

I am trying to track changing phone height. The initial phone height can be inputted. I would like to track the height quite precisely (less than +- 10 cm range), and for a prolonged period of time (at least few minutes). Hopefully, I would have height estimates every <100ms. Ideally, the phone should be kept in a pocket, so I don't think camera-related methods could work.

I have tried using the barometer, but it seems too inaccurate and slow. I have also tried numerically integrating the accelerometer data but it seems to work for few seconds max.

I have been playing around with this for a while, I was wondering if there is any better method I did not consider, or if my goal is possible at all. Eg, I could try finding better integration methods for the acceleration. Is my goal feasible?

Added: if I could know WiFi RSSI, combined with acceleration, would they improve precision by much?

CRI
  • 53
  • 5
  • barometer would be useless. pressure changes are not 2dimensional. I work in a negative-pressure building, so merely stepping outside (a purely horizontal operation) would make me appear as jumping vertically a fair distance. – Marc B Feb 11 '16 at 21:43
  • Barometer wouldn't be useless, just likely not a good enough one for his purposes. A barometer measures air pressure, and air pressure is lower as elevation rises. Since he wants a comparative measure, if you had an extremely accurate one it would work. I just don't expect that level of accuracy in a phone. – Gabe Sechan Feb 11 '16 at 21:46
  • Barometer I would say is the best bet but 10cm is hard in that timeframe. What is the data for? I log altitude based off the barometer in my bike computer app and moved to a .1m resolution after some testing proved I could do better than 1m which I originally used. I log once per second and have quite a lot of filtering. In particular I am interested in total ascent and descent so keep a recent range of values and only as that moves do I accumulate the ascent or descent. – Ifor Feb 13 '16 at 18:11

1 Answers1

1

Your goal isn't feasible. Accelerometers are way too noisy, and can be effected by ambient vibrations. I'm less familiar with barometers, but they don't tend to be accurate. Remember you don't have scientific equipment in there, you have stuff that's meant for consumer level use.

Your best bet is actually probably the camera. Take a picture of an object of known height on the ground and use trig to figure out what the angle to it is. Of course that's not suited to general purpose computing or height, but is good enough for some purposes.

Gabe Sechan
  • 90,003
  • 9
  • 87
  • 127