Это можно сделать, поскольку я реализовал более сложную систему на искровом ИЛУ.
Есть несколько компонентов, которые помогут вам точно.
1) Вам необходимо отфильтровать сигнал accellerometers с помощью фильтра нижних частот. Это устраняет любой шум, который не вызван вашим медленным движением.
2) Интегрируйте 3 раздельных значения ускорения в два раза, чтобы перейти от ускорения к скорости, а затем от скорости к расстоянию.
3) Вышеуказанный метод должен быть выполнен путем чистки телефона в той же плоскости, когда вы перемещаете его снизу коробки вверх. Любой шаг/рулон/рыскание нарушит измерение (подсказка)
4) Сверху, чтобы компенсировать шаг/рулон/рыскание, вы можете включить встроенный гироскоп =]. Используйте это, чтобы сопоставить вектор, полученный от акселлерометра, до начальной точки. Используя эту методологию, вы можете измерить расстояние «через и объект», обойдя его. (помните, что этот гироскоп также требует фильтрации).
Конечный результат зависит от многих факторов, таких как эффективность вашего фильтра, точность и частота дискретизации вашего акселлерометра и гироскопа, а также умение ваших навыков математики и линейной алгебры.
Эти координаты gps? или что? –
вы можете получить высоту, а затем отслеживать разницу. – harshalb
Хотя это не совсем то, что вы ищете, этот вопрос задает что-то в том же духе: [Как измерить расстояние, покрываемое iphone во время свободного падения?] (Http: // переполнение стека.com/questions/1073608/how-to-measure-the-distance-cover-by-iphone-in-free-fall) –