Внутренняя система позиционирования на основе гироскопа и акселерометра

Я разрабатываю приложение Android для отслеживания внутренней позиции. Мой телефон – Google Nexus S с двумя датчиками, первый из которых является акселерометром, а второй – гироскопом.

Моя идея заключается в том, что с начальной точки отсчета (известная позиция GPS), используя 2 датчика (акселерометр для движения и гироскоп для направлений), отслеживайте телефон при движении. И отображение на карте, когда пользователь идет.

Но проблема в том, что я понятия не имею, как объединить оба этих датчика, чтобы дать мне реальную позицию?

Я прочитал некоторую статью в Интернете, в которой говорится о «фильтрах kalman», и после нескольких исследований я узнал, что этот фильтр очень сложный / слишком много для меня), особенно для его кодирования в java для Android (cpu killer)

У кого-то есть опыт, который он может рассказать мне о системе внутреннего позиционирования с использованием гироскопа и акселерометра?

Solutions Collecting From Web of "Внутренняя система позиционирования на основе гироскопа и акселерометра"

Гироскопов и акселерометров недостаточно.

Вы получаете позицию, дважды интегрируя линейное ускорение, но ошибка ужасна. На практике это бесполезно.

Вот объяснение (Google Tech Talk) в 23:20. Я очень рекомендую это видео.

Что касается внутреннего позиционирования, я нашел это полезным:

  • Внутренняя локализация и отслеживание на основе RSSI с использованием Sigma-Point Kalman Smoothers
  • Пешеходное слежение с помощью инерционных датчиков
  • Повышение эффективности шагомеров с использованием одного акселерометра

Я понятия не имею, как эти методы будут работать в реальных приложениях или как превратить их в хорошее приложение для Android.

Аналогичный вопрос – « Расчет расстояния внутри здания» .

Я думаю, что это отличный пост, отвечающий на ваш вопрос. Этот калмановский фильтр объединяет данные с акселерометров и гироскопов. Надеюсь, поможет.

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

Вы можете сканировать устройства iBeacon на свой смартфон, и вы можете получить rssi из iBeacon. Итак, вы можете рассчитать свою позицию этими rssi.

Для некоторых других интересных чтений о новых технологий позиционирования в помещении см. Этот пост в блоге от Qubulus . Есть несколько стартапов и исследовательских проектов, пытающихся найти хорошую замену GPS в помещении. Попытки варьируются от Dead Reckoning, до QR-кодов , до световых импульсов, до радиопечати. Похоже, что любое жизнеспособное решение объединит несколько технологий (аналогично тому, как большинство смартфонов полагаются на A-GPS, где спутниковый сигнал помогает мультилатерации сотовой ячейки ).

Удачи вам в вашем приложении!

Для отслеживания положения в помещении, начиная с некоторой контрольной точки, недостаточно только гироскопа и акселерометра. С помощью акселерометра вы можете рассчитать скорость, с гироскопом вы можете получить направление мобильного устройства, но для вычисления внутреннего положения вам также необходимо иметь направление движения, поэтому для этого случая вам необходимо использовать магнитный датчик. Такой подход называется методом Dead Reckoning, и довольно сложно объединить все 3 датчика, чтобы получить соответствующее внутреннее положение. Фильтры Kalman позволяют вам сгладить ваши измерения и фильтровать некоторый шум, но это не метод расчета внутреннего положения. Если вы хотите получить внутреннюю позицию, вы можете попробовать iBeacon-подход и метод Trilateration, есть несколько библиотек (таких как этот ), которые уже имеют эту функциональность, поэтому вы можете попытаться исследовать этот метод из таких библиотек.