GPS В.С. акселерометр для расчета расстояния - PullRequest
10 голосов
/ 29 марта 2012

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

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

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

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

Ответы [ 4 ]

7 голосов
/ 29 марта 2012

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

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

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

Может быть, комбинация обоих может работать?

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

4 голосов
/ 29 марта 2012

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

3 голосов
/ 29 марта 2012

Наилучшие результаты достигаются при использовании обоих из них через сенсорное слияние.См .:

Точность акселерометра Android (Инерциальная навигация)

У вас будут проблемы с точностью, если вы просто используете GPS или алгоритм шагомера.

2 голосов
/ 29 марта 2012

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

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