Внутренняя система позиционирования на основе гироскопа и акселерометра
Я разрабатываю приложение для Android, чтобы отслеживать положение в помещении. Мой телефон - Google Nexus S, использующий два датчика: первый - акселерометр, а второй - гироскоп.
Моя идея заключается в том, чтобы из начальной контрольной точки (известной позиции GPS) использовать 2 датчика (акселерометр для движения и гироскоп для направления), чтобы отслеживать телефон при движении. И отображать на карте, когда пользователь собирается.
Но проблема в том, что я понятия не имею, как объединить оба этих датчика, чтобы получить реальное положение?
Я прочитал в интернете статью, в которой говорится о "фильтре Калмана", и после еще нескольких исследований я обнаружил, что этот фильтр очень очень сложный / слишком много для меня), особенно для того, чтобы кодировать его в Java для Android (процессор убийцы)
Есть ли у кого-то опыт, которым он может поделиться со мной о системе позиционирования в помещении с использованием гироскопа и акселерометра?
5 ответов
Гироскопов и акселерометров не хватает.
Вы получаете позицию, интегрируя линейное ускорение дважды, но ошибка ужасна. Это бесполезно на практике.
Вот объяснение (Google Tech Talk) в 23:20. Я очень рекомендую это видео.
Что касается внутреннего позиционирования, я нашел это полезным:
- Внутренняя локализация и отслеживание на основе RSSI с использованием сигма-точечных сглаживателей Калмана
- Отслеживание пешеходов с инерциальными датчиками на обуви
- Повышение производительности шагомеров с помощью одного акселерометра
Я понятия не имею, как эти методы будут работать в реальных приложениях или как превратить их в хорошее приложение для Android.
Похожий вопрос - расчет расстояния внутри здания.
Я думаю, что это отличный пост, отвечающий на ваш вопрос. Этот фильтр Калмана объединяет данные с акселерометров и гироскопов. Надеюсь, поможет.
Для некоторых других интересных чтений о новых технологиях позиционирования в помещениях, посмотрите это сообщение в блоге от Qubulus. Есть несколько стартапов и исследовательских проектов, пытающихся найти хорошую замену GPS в помещении. Попытки варьируются от "мертвого счета" до QR-кодов, световых импульсов и радио-дактилоскопии. Похоже, что любое жизнеспособное решение объединит несколько технологий (аналогично тому, как большинство смартфонов используют A-GPS, где спутниковый сигнал поддерживается мультилатерацией вышек сотовой связи).
Желаем удачи в вашем приложении!
Я думаю, что уже слишком поздно для ответа на этот вопрос, но сейчас есть хорошее решение под названием технология iBeacon.
Вы можете сканировать устройства iBeacon на своем смартфоне и получить rssi от iBeacon. Таким образом, вы можете рассчитать свою позицию по этим русским.
Для отслеживания положения в помещении, начиная с некоторой контрольной точки, недостаточно только гироскопа и акселерометра. С помощью акселерометра вы можете рассчитать скорость, с помощью гироскопа вы можете определить направление движения мобильного устройства, но для расчета положения в помещении вам также необходимо иметь направление движения, поэтому для этого случая вам нужно использовать магнитный датчик. Такой подход называется методом мертвого счета, и довольно сложно объединить все 3 датчика, чтобы получить соответствующее положение в помещении. Фильтры Калмана позволяют сгладить ваши измерения и отфильтровать некоторый шум, но это не метод для расчета внутреннего положения. Если вы хотите получить внутреннее положение, вы можете попробовать подход iBeacon и метод Triletration, есть некоторые библиотеки (например, эта), которые уже имеют эту функциональность, поэтому вы можете попробовать исследовать этот метод из таких библиотек.