И всё-таки он движется

В рамках международной выставки Geoforum-2008 (Москва, МВЦ «Крокус Экспо», 11-14 марта 2008) состоялся 2-й международный семинар «Спутниковая навигация и мониторинг в России – новые решения и перспективы развития. Глобальные навигационные спутниковые системы ГЛОНАСС и NAVSTAR (GPS)». После моего выступления о дифференциальной коррекции навигационных данных в системах спутникового мониторинга при определении реальных транспортных издержек у коллег появился один, но довольно распространенный, вопрос. Как исключить флуктуаций показаний навигационных приемников в состоянии покоя. Это вопрос, прежде всего, был связан с картинками траектории «неподвижного» GPS приемника, подобными приведенному рисунку

2016-11-29_16-56-59Подобные или похожие изображения встречают разработчики пользовательского программного обеспечения, которые применяют, так называемые, бюджетные кодовые приемники глобальных навигационных спутниковых систем (ГНСС). Такие приемники имеют, как правило, скромные вычислительные возможности, поэтому отдают в интегрированную систему географические координаты «сырыми», не внося в них каких либо коррекций. А эти коррекции необходимы, так как по своей природе ГНСС не может работать без погрешностей – слишком много неуправляемых потребителем навигационной информации факторов, влияющих на точность. Вкратце:

  1. Изменяющийся характер ионосферы и задержки в тропосфере.
  2. Разветвленный (отраженный от других наземных объектов) сигнал.
  3. Ошибка часов приемника.
  4. Эфемероидные ошибки – отклонения орбит спутников относительно расчетных.
  5. Непостоянное количество видимых  спутников.
  6. Изменяемая и не всегда благоприятная спутниковая геометрия – взаимное месторасположение спутников относительно приемника ГНСС.

Как потребитель навигационной информации может на них влиять? – Да никак. Только изобрести алгоритмы коррекции каждого отсчета получаемых «сырых» данных и применить их вне навигационного приемника либо в реальном времени (коррекция «на лету» при приеме в интегрированную систему), либо при постобработке. Причем, второе, с точки зрения исследователя, предпочтительнее – всегда можно восстановить первичную информацию и найти свои ошибки последующей обработки.

При реальной погрешности «сырых» данных от 10 до 50 м (для каждого отсчета) мы получаем  значительные искажения при вычислении и скорости, и пробега. И что обидно, при увеличении частоты дискретизации (частоты поступления географических координат, как правило, 5-10 секунд – эти цифры тема отдельного обсуждения), когда, казалось бы, можно увеличить точность, мы получаем только ухудшение содержательной информации. Так, например, за время погрузки/разгрузки грузового автомобиля с таким приемником за 20-30 минут он может уехать на 5-10 км со средней скоростью от 10 до 15 км/час, что, естественно, недопустимо при решении задач транспортного мониторинга. Например, для КАМАЗа десяток таких остановок за 8 рабочих часов – это 1500 «бензиновых» рублей, улетевших в никуда.

К сожалению, в спешке и суете публичного мероприятия мне не удалась внятно разъяснить коллегам, задавшим вопрос, как справиться с этой задачкой. По крайней мере, у меня возникло такое ощущение. И у них кончились визитки, у меня тоже – связь потеряна. Поэтому, единственный вариант прояснить для них (а может и не только для них) ситуацию – эта небольшая статья с предложениями по решению этой простой «студенческой» задачки.

О пользе теоретической механики II курса политехнического института

Погрешности предоставления географических координат с использованием ГНСС, как уже сказано, – неизбежны. И наиболее заметны они в момент покоя автомобиля, когда на экране монитора он начинает хаотично «дергаться» на значительные (15-20 м) расстояния. Это очень раздражает наблюдателя. Как образно заметил один из коллег: «Мне не до шуток, когда в реальном проекте заказчик видит на экране, как за время разгрузки здание его склада на карте покрывается равномерной паутинкой траекторий неподвижного автомобиля». Может не совсем цитата, но суть в этом.

Будем последовательно упрощать задачу. У наблюдаемого автомобиля с высоты ГНСС есть два состояния: 1) движение и 2) покой (остановка).

Отбросим лишнее. Вопрос правильного, с точки зрения минимизации погрешности определения пробега, подбора частоты дискретизации во время движения оставим в покое. Пока. Оставим в покое, то есть будем считать, что эти погрешности в движении малы в сравнении с пройденным за шаг квантования расстоянием, и не будем, пока, обращать на них внимание – Отбросили. Попытаемся побороться с флуктуациями («дерганьями») стоящего автомобиля.

Вполне органичным решением, будет накопление выдаваемых приемником данных за все время остановки автомобиля с их дальнейшим усреднением. Это позволит избавиться нам от мнимого пробега во время остановки и тем самым повысить точность вычисления пробега. Но как ответить на вопрос: автомобиль в покое или движется? Скорость, которая вычисляется как частное от расстояния между соседними отсчетами и временем дискретизации у нас всегда не нулевая – это свидетельствует о том, что автомобиль движется, движется постоянно, медленно, но все-таки движется.

Таким образом, наша задача разбивается на две: 1) выявить состояние стояния и 2) усреднить данные этого состояния. Что касается второй задачи, то алгоритм не вызывает каких-либо трудностей, а вот для решения первой задачи вспомним теоретическую механику и понятие Скорость, раздел кинематика.

Скорость – это вектор! А это значит, что кроме значения обладает еще и направлением. Вот именно это юношеское воспоминание (а для очень многих разработчиков термех – это один семестр на Приборостроительном факультете, только определения) и позволит нам создать индикатор покоя для приёмника ГНСС. Значение скорости при остановке величина случайная, но по показаниям приёмника ГНСС величина всегда положительная и изменяющаяся в известных пределах от 0 до 10‑15 км/час. А вот направление, которое можно вычислить по координатам двух соседних отсчетов, имеет более широкий диапазон от 0 до 2π. И скорость его изменения зависит от того стоит ли приемник или движется. Если движется, то направление изменяется монотонно, скорость изменения направления мала, а если стоит – то направление изменяется хаотически, и скорость изменения велика. Именно сделаем индикатором состояния остановки. Конечно, мы не сможем определить время начала и конца осреднения с точность не выше пяти тактов квантования (для уверенности, хотя с высокой степенью вероятности достаточно трех отсчетов), но это все равно будет гораздо лучше, чем просто не обращать внимание на «движение» неподвижного приёмника.

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

Особо нуждающиеся и ленивые могут написать на E-mail автора и получить их абсолютно бесплатно с пожеланием – Пользуйтесь люди!.

Этот оригинальный текст стал основой материала, опубликованного в специализированном номере еженедельника «Компьютерра» № 23(729) от 17.06.2008. Вот так это выглядит в «твердой копии»журнала.

2016-11-29_17-00-30

CC BY-NC 4.0 И всё-таки он движется, опубликовано waksoft, лицензия — Creative Commons Attribution-NonCommercial 4.0 International.


2 нравится это

Добавить комментарий