Przyspieszeniomierz zapewnia trzy kierunki (x, y, z). Są to pomiary przyspieszenia, które utrudniają określenie pozycji urządzenia. Ale należy pamiętać, przyspieszenie jest związane z pozycji poprzez integrację:
a(t) = a[x]
v(t) = a[x]t + c
x(t) = a[x]t^2 + ct + d
Problem jest, że nie może wiedzieć, c lub d bo jak wziąć pochodną stałe rezygnują. Jest więc pewna ilość, której nie można uzyskać z brakiem c i d. Możesz spróbować zrekompensować, pamiętając wartości używane dla nich ostatnio. Po pobraniu 3 próbek można rozpocząć obliczanie pozycji.
Istnieje wiele informacji na temat interpretacji danych z czujników. Jak ustalenie, gdzie grawitacja służy do orientacji, i odejmowanie grawitacji, aby uzyskać liniowe przyspieszenie.
http://developer.android.com/reference/android/hardware/SensorEvent.html
Oto sposób wymyślić pozycji za pomocą akcelerometru wraz z algorytmem znajdowania pozycji w szczegółach:
http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf
Będziesz musiał sondować wartość "a" i wypracować średnie przyspieszenie i zastosować tę średnią w okresie czasu między ankietami. – Bringer128
Bardzo ciekawy, jak udało ci się rozwiązać ten problem i czy masz go tak precyzyjny, aby umożliwić precyzyjną nawigację. – ina