I want to determine how far a phone has been displaced. However, I want to determine this information to an semi accurate scale (couple of centimetres). I've already toyed around with the idea of GPS, however it's clear that GPS is not quite accurate enough to satisfy my thirst to determine a phone's displacement. The application: Build a mobile (obviously) app that can track how big an object is - essentially a phone ruler.
I have also looked into many pre-existing things and struggles with this problem, so I would like to introduce my idea and would like to know what you guys think about it, and how it can be implemented.
Some of the things that I have researched: 1) Taking the integral of accelerometer data - problem: Accelerometer drift (https://dsp.stackexchange.com/questions/34463/removing-drift-from-integration-of-accelerometer-data). 2) Taking the integral of accelerometer data + using gyroscopic data -> problem: still dealing with the drifting problem. 3) (Already mentioned) GPS - too inaccurate
What I am thinking: I was wondering if it possible to combine the second method that I have described along with AR (Kalman Filter from OpenCV (open to you guys' ideas aswell)) to determine how far the phone has travelled. I realize that this would require that the phone be able to see stationary objects (not just black screen), so let's assume in this its not laying flat on a table.
What I am asking you guys:
- Is this an achievable goal -> from the other forums that I've read, just taking method #2 that I described it's essentially pointless
- How would I go about implementing this Any help is seriously appreciated.
Relevant Links: Android sensor data displacement https://www.hindawi.com/journals/mpe/2019/3470604/ Android accelerometer accuracy (Inertial navigation)