GPS VS акселерометр для расчета расстояния

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

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

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

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

4 ответа

Решение

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам