Отслеживание автомобиля с помощью акселерометра и гироскопа при низком уровне сигнала GPS

Мы планируем написать программное обеспечение, которое будет отслеживать положение автомобиля по GPS, мощность сигнала GPS, акселерометр (X, Y, Z) и гироскоп (X, Y, Z) каждые 5 секунд или около того. И отправьте данные на сервер для последующей обработки. Сервер будет определять, какие дороги покрыты автомобилем. Так что это не обработка в реальном времени. Это может произойти в серверной части (за ночь, как пакетный процесс)

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

Клиентом может быть любое устройство Android или устройство Windows ce. Сервер постобработки просто должен обработать данные, которые отправляются в CSV или любом другом формате.

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

vel_new = vel_old + ( acc_old + ( (acc_new - acc_old ) / 2.0 ) ) * SAMPLING_TIME;

РЕДАКТИРОВАТЬ: В дополнение ко всем данным датчиков у меня также есть все дороги конкретной карты города, которые меня интересуют, в моей базе данных, хранящейся как sqlgeography. Таким образом, с приблизительной позицией, которую я мог найти, я пытался найти ближайшую дорогу, по которой они могли бы пройти или повернуть.


person franklins    schedule 23.10.2012    source источник


Ответы (2)


Это классический вопрос: Это не сработает. Этот ответ касается позиции, но он не сработает даже для скорость.

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

person Ali    schedule 23.10.2012
comment
Спасибо за ответы. В дополнение ко всем данным датчиков у меня также есть все дороги конкретной карты города, которые меня интересуют, в моей базе данных, хранящейся как sqlgeography. Таким образом, с приблизительным местоположением, которое я мог получить, я пытался найти ближайшую дорогу, по которой они могли бы быть или свернуть. Вы думаете, что даже это не сработает? Спасибо. - person franklins; 23.10.2012
comment
Да, это то, что я пытаюсь предложить в своем ответе: используйте оценки скорости и положения GPS, а затем выполните интерполяцию на карте. Это проще и надежнее всего на свете. Вы можете использовать гироскопы для обнаружения поворотов, гироскопы довольно точны. - person Ali; 23.10.2012
comment
Как вы думаете, даже если сигнал GPS будет слишком низким, GPS все равно будет возвращать оценочное положение и скорость GPS? И мой другой вопрос, можете ли вы указать мне правильное направление, чтобы найти, как интерполировать показания гироскопа для определения направления и угла поворота? Спасибо. - person franklins; 23.10.2012
comment
Нет, вы мало что можете сделать, если потеряете сигнал GPS на долгое время. В вашем вопросе вы пишете 30 секунд, и это не слишком долго: вы можете разумно интерполировать между начальной и конечной точкой 30-секундного промежутка. Что касается гироскопов: вы можете использовать их для отслеживания ориентации автомобиля (особенно для обнаружения поворотов). Android и ios CoreMotion предоставляет это в виде матрицы вращения, поэтому с вашей стороны не требуется дополнительной работы по внедрению. - person Ali; 23.10.2012
comment
позже в видео рассказывается об использовании фильтра Калмана, чтобы избежать проблемы двойного интеграла. Как вы думаете, может ли это быть хорошим направлением? - person franklins; 24.10.2012
comment
да. Как вы интерполируете точки, полученные от GPS, зависит от вас. Фильтр Калмана - стандартный способ. Если вы посмотрите докторскую диссертацию Оливера Дж. Вудмана, глава 5 «Обеспечение ограничений окружающей среды с помощью фильтров частиц», вы увидите, что существуют так называемые фильтры частиц, а также получите представление о том, как их следует реализовать. Поскольку вы собираетесь делать это в автономном режиме, вы также можете использовать более гладкий, который дает лучшие и более точные результаты, чем фильтр. - person Ali; 24.10.2012

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

person DarkHorse    schedule 14.11.2013