GPS V.S. акселерометр для вычисления расстояния

Я пытаюсь внедрить приложение для фитнеса, которое позволяет отслеживать скорость и дальность действия в Android.

Похоже, я могу использовать GPS или Accelerometer для расчета этих данных.

Поскольку бегун может поставить свой телефон в руки, на плечо или в карман, моя первая интуиция - использовать GPS для получения местоположений и вычисления скорости движения и пробега. Но недавно кто-то сказал мне, что я также могу использовать Accelerometer, и это делает.

Мой вопрос: на Android, какой подход лучше рассчитать скорость бега и пробег, GPS или акселерометр?

Ответ 1

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

GPS (если вы находитесь в районе, где он работает!) будет делать очень хорошее измерение расстояния. Даже с очень дешевым приемником GPS. В целом все в порядке, вы должны ожидать, что начальная и конечная позиции будут находиться в пределах 10 м, и поэтому для путешествия в 1 км у вас будет 20 м несерцитизма, что составляет 2% от общей неспособности дистанции. Эта несерьезность идет вниз линейно с пройденным расстоянием (т.е. Пробег в 2 км будет иметь 1% несерьезности, 4-километровый пробег будет иметь 0,5% несерцитированности и т.д.), Проблемы здесь будут с вашими дисплеями в реальном времени (переходы GPS-местоположения от спутниковой коммутации, дающие большие значения скорости, или немедленная потеря сигнала, дающая потерю всех сразу отображаемых данных)

Я думаю, что с хорошим акселерометром, начиная с остановки, вы можете непрерывно интегрировать сигнал, чтобы получить скорость, и постоянно интегрировать этот результат, чтобы получить дистанцию ​​... Я просто не уверен, какое качество акселерометра вы получаете в любом телефоне? вам может потребоваться отфильтровать данные о шуме или даже мусорных данных. И вам также нужно учитывать, какую точность он имеет. 20% -ная точность в вашем датчике обеспечит очень плохой трекер. Таким образом, вам, возможно, придется работать с подсчетами шагов и размерами шага.

возможно, комбинация обоих могла бы работать?

У меня возникло бы желание использовать данные акселерометра (либо интегрировать, либо подсчитывать по шагам в зависимости от того, что всегда будет работать), чтобы отслеживать скорость и расстояние в короткие промежутки времени, а затем с гораздо более длинными таймфреймами обобщенные данные GPS могут использоваться для коррекции или масштаб данных, полученных от акселерометра. Особенно, если вы отфильтровывали/блокировали данные GPS на основе измерений без конца в любой момент времени.

Ответ 2

Добавление к тому, что сказал Джулиан... Обычно GPS не работает под крышами, поэтому для крытых спортзалов это не сработает. Теоретически сигналы GPS не беспокоят облака, но когда я работал над своим приложением GPS, у меня был опыт недоступности сигналов GPS в очень плохую погоду (это может быть не так, как никто не будет продолжать бег в грозу: D) Соглашаясь с Джулианом, вы должны использовать GPS и акселерометр для создания надежного приложения для каждого условия.

Ответ 4

Все педометры, которые я знаю, основаны на акселерометрах. Наверное, GPS недостаточно точен для этого. Он может сказать "нет движения", пока вы делали некоторые шаги, это также зависит от области, которую вы пытаетесь использовать.