2008-12-01 3 views
6

Я использую GPS-устройства и мобильные компьютеры для отслеживания поездок отдельных пешеходов. Я бы хотел в реальном времени «очистить» входящий сигнал GPS, чтобы улучшить его точность. Кроме того, после того, как факт, не обязательно в режиме реального времени, я хотел бы «заблокировать» фиксированные GPS-привязки людей по позициям вдоль дорожной сети. Есть ли какие-либо методы, ресурсы, алгоритмы или существующее программное обеспечение для предложения на обоих фронтах?Очистка сигнала GPS и соответствие сети дорог

Несколько вещей, которые я уже рассматриваю с точки зрения очистки сигнала: - исправления капель, для которых число. спутников = 0 - капля исправления, для которых скорость неестественно высокой (скажем, 600 миль/ч)

И с точки зрения «замок» на уличной сети (которое я слышу, называется «карта соответствия»): - замок к ближайшему краю сети на основе ошибки среднеквадратического квадрата - когда исправления находятся далеко от дорожной сети, выделите эти точки и разрешите пользователю использовать графический интерфейс (OpenLayers в веб-браузере, скажем), чтобы перетащить, привязать и перейти к сеть дорог

Спасибо за ваши идеи!

ответ

6

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

На базовом уровне да, вы можете просто найти действительно большие цифры, но что такое действительно большая фигура? Да, 600 миль в час - это быстро, но нет, если вы в согласии. В то время как вы ищете значение, которое «необычно», вы действительно жестко кодируетесь «обычным». Лучший подход - изучить прошлые данные, чтобы определить, что такое «обычный», а затем искать отклонения. Возможно, вам стоит рассмотреть возможность вычисления дисперсии данных в небольшом локальном окне, а затем посмотреть, превышает ли z-показатель ваших текущих данных некоторый порог, и если это так, исключите его.

+1

Хороший вопрос, но поскольку он говорит о применении пешехода, я думаю, что скорости Конкорда немного чрезмерны ... – CMPalmer 2008-12-01 15:55:44

4

В дополнение к комментариям Эндрю вы также можете рассмотреть факторы помех, такие как многолучевое распространение и то, как они влияют на входящий поток данных GPS, например. HDOPs в линии GSA NMEA0183. В моем собственном программном обеспечении GPS-контроллера я разрешаю указанным пользователем критериям отклонения в отношении ряда параметров, связанных с QA.

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

6

Одно примечание: вы должны использовать 3 как минимальные спутники, а не 0. Для расчета горизонтального местоположения GPS требуется как минимум три источника. Каждый используемый мной GPS включает в себя флаг состояния в потоке данных; менее 3 спутников сообщается как «плохие» данные каким-то образом.

Вы также должны учитывать «стационарные» данные. Как вы будете обращаться с пешеходом, стоящим на некоторое время? Может быть, ждать на перекрестке или взаимодействовать с уличным продавцом?

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

6

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

4

Прочитайте posfix, чтобы узнать, действительно ли сигнал (где-то в предложении $ GPGGA, если вы разбираете необработанные строки NMEA). Если это 0, игнорируйте сообщение.

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

Конечно, это не больно, чтобы сделать некоторые проверки вменяемости на GPS сигналы:

  • широты между -90..90;
  • долгота между -180..180 (или E..W, N..S, 0..90 и 0..180, если вы читаете необработанные строки NMEA);
  • скорость от 0 до 255 (для обычных автомобилей);
  • Расстояние до предыдущих совпадений измерений (на основе lat/lon) соответствует примерно указанной скорости;
  • timedifference с системным временем, не превышающим x (если системные часы не могут быть доверены или полагаются на синхронизацию GPS :-));

Чтобы сделать сопоставление карт, вы в основном перебираете свои сегменты дороги и проверяете, какой сегмент наиболее вероятен для вашего текущего положения, направления, скорости и, возможно, предыдущих измерений и совпадений. Если вы не используете приложение реального времени или если задержка в обратной связи приемлема, вы можете даже взглянуть на «будущее», чтобы увидеть, какой сегмент наиболее вероятен.

Выполнение всего, что является правильным, является искусством само по себе, и это пространство здесь слишком короткое, чтобы проникнуть в него глубоко. Часто бывает сложно решить со 100% уверенностью в том, на каком участке дороги находится кто-то. Например, если есть две параллельные дороги, которые одинаково близки к текущей позиции, это вопрос творческой эвристики.

Смежные вопросы