Датчики Android (движение) - PullRequest
       2

Датчики Android (движение)

2 голосов
/ 04 февраля 2012

Я создаю это приложение для Android для бега трусцой, которое должно измерять расстояние, пройденное пользователем от начальной точки времени.

Мне не интересно использовать опцию GPS (долгота, широта), поэтому безОпция GPS и использование только датчиков Android, как я могу рассчитать расстояние, на которое устройство было сделано, как функцию времени?

Ответы [ 2 ]

2 голосов
/ 04 февраля 2012

То, о чем вы здесь говорите, это, по сути, мертвый расчет , т. Е. Использование начальной позиции и известных изменений для оценки текущей позиции. Теоретически, если у вас есть точное измерение изменения скорости, вы можете выяснить, где вы в конечном итоге. Есть три проблемы:

  1. Без GPS большинство смартфонов не могут напрямую измерять скорость. Вместо этого они используют акселерометры и гироскопы для измерения ускорений и вращений, и вы должны рассчитывать скорость на основе этих значений.

  2. Небольшие неточности, особенно в начале периода измерения, могут привести к большим ошибкам.

  3. Бег по своей природе включает в себя очень много небольших изменений в скорости, когда бегун подпрыгивает вверх и вниз, крутится так и так, избегает препятствий и т. Д. Измерение и учет всех этих изменений достаточно точно, чтобы избежать изрядное количество ошибок будет трудным.

Если это упражнение по измерению, программированию, компенсации ошибок и т. Д., То сделайте это. Если вы хотите точно определить окончательное положение джоггера, используйте другую систему определения местоположения, например, GPS. Если вы хотите оценить только пройденное расстояние, я согласен с другими комментаторами, что, вероятно, лучшее, что вы можете сделать, это измерить количество шагов и умножить на шаг пользователя.

1 голос
/ 04 февраля 2012

Лучше всего обнаружить движения «встряхивания» в вашем приложении и затем использовать их для определения расстояния (т. Е. Один толчок равен одному шагу, примерно 2000 шагов - одна миля)Конечно, вы, вероятно, захотите отрегулировать чувствительность, чтобы определить, сколько движения необходимо считать за один шаг.

Здесь есть удобное руководство по обнаружению движений встряхивания: http://www.clingmarks.com/how-to-detect-shake-motion-on-android-phone/25

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...