УДК 004.021
МЕТОДЫ ОПТИМИЗАЦИИ ДИНАМИЧЕСКОГО ФОРМИРОВАНИЯ МАРШРУТА ДВИЖЕНИЯ
ТРАНСПОРТНЫХ СРЕДСТВ
Ф.В. Саврасов, А.Ю. Дёмин
Томский политехнический университет E-mail: savrasov@tpu.ru
Рассматривается концепция динамического вырабатывания трека проходимого маршрута на стороне транспортного средства. Проанализированы типы каналов связи, используемые в системах мониторинга автотранспорта. Выносятся на рассмотрение задачи, возникающие при минимизации передаваемой информации от автомобиля к серверу диспетчерского центра. Рассмотрена возможность оптимизации методики определения заранее заданных областей, относительно которого может перемещаться транспортное средство. Предложен алгоритм, позволяющий определять навигационные точки, в которых меняется вектор направления движения автомобиля. Приведены результаты тестирования рассмотренных методов в условиях реального рабочего процесса.
отклонения.
Ключевые слова:
Мобильный терминал, контрольная зона, узловая точка, угол Key words:
Mobile terminal, control zone, node point, angle of deviation.
Введение
В настоящее время задача определения координат и маршрутов передвижения с использованием глобальных навигационных спутниковых систем (ГНСС), включая GPS, ГЛОНАСС и Galileo, является актуальной для множества устройств потребительской электроники. Применение ГНСС давно уже не ограничено использованием в транспорте, в геодезической оснастке, судоходстве или в дорогостоящих системах позиционирования [1].
Реальные системы, включающие в себя множество постоянно функционирующих транспортных средств (ТС) и единый диспетчерский центр управления (ДЦ), интенсивно используют навигационную информацию, получаемую с приёмников задействованной спутниковой системы, с целью оперативного контроля местоположения того или иного подвижного объекта. При этом возникает достаточно сильная нагрузка на каналы связи (КС), используемые для обмена информацией между ДЦ и ТС.
С учётом обеспечения наличия информационного канала для транслирования навигационных данных, наиболее пригодными к использованию в современных системах транспортного мониторинга являются следующие виды технологий:
• WiMAX - позволяет обеспечить достаточно большую скорость (а, следовательно, и объём) передачи данных, однако его широкое применение сдерживается такими факторами как недостаточная на данный момент помехозащищённость при обмене информацией в условиях городского движения, ограниченная (несколько км) зона действия, что делает его неприменимым в условиях крупных мегаполисов, и т. д.;
• GPRS/GSM - в настоящий момент очень популярен в данном сегменте применения (обуславливается доступностью, простотой монти-
рования, удовлетворительной скоростью трафика); недостатком является высокая стоимость, из-за которой невозможно его полнофункциональное использование в системах автопарков бюджетных организаций (спецавтохозяйство, станции скорой помощи, муниципальный пассажирский транспорт); • радиоканал - в последнее время также используется не только для голосового обмена сведениями между транспортными единицами и центром, но и для передачи различного рода технических данных от абонентов; данная технология отличается от вышеописанных низкой скоростью транслируемых пакетов. Анализируя вышеизложенное, можно отметить тот факт, что в настоящее время не существует КС, который в полной мере был бы пригоден к использованию во всех системах сферы обслуживания населения с использованием транспорта (таксопарки, городской пассажирский транспорт, грузоперевозки, и т. п.) с учётом технических и экономических возможностей каждой из них. Таким образом, часть процесса обработки и передачи данных перекладывается с канала на абонентов: сервер системы, находящийся в ДЦ, и мобильный терминал (МТ), устанавливаемый на ТС. Если стационарно расположенный компьютер может обладать достаточной производительностью, то МТ представляет из себя, как правило, микропроцессорное устройство, весьма ограниченное по вычислительным параметрам (обуславливается форм-фактором, и т. д.). При этом терминал должен в большей мере обеспечивать оптимальное использование КС с сохранением и предоставлением в центр всей необходимой и актуальной информации, т. к. аппаратно-программный комплекс МТ отвечает за генерацию навигационных пакетов.
¿Р8/ГЛОНАСС-модуль в составе мобильного устройства постоянно формирует навигационные
блоки с указанием текущего времени и географическими координатами местоположения транспорта. Передача данных обо всех точках маршрута в ДЦ является нецелесообразной, т. к. сильно загружает КС (в случае использования радиоканала), либо возникает нерациональное его использование с экономической точки зрения (GPRS/GSM). В то же время диспетчеру необходимо иметь возможность оперативно распознавать траекторию движения перемещающегося объекта в пределах какой-либо географической зоны. Таким образом, возникает необходимость в оптимизации динамического формирования маршрута движения транспортных средств. Основными задачами в данном случае являются определение:
• на стороне терминала узловых точек (точек, расположенных на поворотах, перекрестках, кольцах), достаточных для реалистического отображения пути движения на электронной карте в ДЦ;
• попадания перемещающегося объекта в контрольную зону (КЗ) либо покидания её; под КЗ в данном случае понимается географическая зона, факт въезда в которую (либо выезда из которой) должен быть обязательно зафиксирован сервером сбора данных.
Ниже представлены методы, позволяющие решать поставленные задачи в рамках аппаратно-программного комплекса МТ. В настоящее время программы, включающие в себя реализацию описываемых методов, функционируют в составе мобильного оснащения транспорта станции скорой медицинской помощи г. Томска.
Метод определения принадлежности транспортного средства контрольной зоне
Данный метод предполагает, что в базе данных (БД) МТ содержатся сведения о географических координатах всех регионов, являющимися контрольными для данного вида ТС. Для городского транспорта это может быть территория остановки, на которой происходит высадка и посадка пассажиров. Для машин, принадлежащих таксопарку, таковыми являются городские районы, пригороды, отдалённые микрорайоны. Фактически, каждая КЗ представляется полигоном, который определяется набором точек, чьи координаты (широта и долгота) заданы и внесены заранее; последовательность обхода полигона (порядок точек, обозначающих вершины) также должна быть известна.
Если географически все регионы определяются на одном уровне (поверхность Земли), то логически они могут быть разноуровневыми. Так, например, область, обозначающая микрорайон, может содержать в себе несколько других зон, являющихся остановками маршрутного транспорта, парковками, и т. п., при этом данная область может принадлежать зоне более высокого уровня (город, село). Таким образом, географическая принадлежность объекта какому-либо региону автоматически обозначает принадлежность его всем зонам более
высокого уровня, включающих в себя данный регион. Это учитывается программой терминала при формировании либо контроле транспортного маршрута. Соответственно, в БД заранее заносится информация обо всех областях (на всех уровнях), присутствие в которых необходимо учитывать в рамках выполняемой объектом задачи. При очередном получении с навигационного приёмника координаты, программа определяет, насколько изменилось позиционирование ТС относительно какой-либо зоны, и только в том случае, если это изменение произошло, формируется пакет с данными, предназначенными для отправления в ДЦ.
Оценивание позиции происходит с использованием алгоритма, описанного в [2]. За основу взят «метод луча», позволяющий определить, находит-ся-ли точка внутри многоугольника или нет. Необходимо учитывать то обстоятельство, что при каждом получении навигационного блока информации мобильному устройству необходимо обрабатывать данным методом достаточно большое количество полигонов. Так, для автомобиля, являющимся маршрутным автобусом, стандартной является ситуация, при котором в таблице регионов его терминала содержатся сведения о примерно 60-70 остановках и парковках (КЗ первого уровня) и 10-15 городских районов и микрорайонов (КЗ второго уровня). Оперативный процесс расчёта принадлежности объекта тому или иному полигону влечёт за собой интенсивную нагрузку на процессор МТ, который параллельно вынужден заниматься выполнением и другого рода задач (системные, прикладные, и т. д.). Вследствие этого, количество вычислений, задействованных в данном процессе, необходимо оптимизировать.
Данная оптимизация достигается за счёт того, что переборе всех полигонов в первую очередь производится оценка принадлежности точки, обозначающей объект на карте, прямоугольнику, описывающему полигон. Координаты данного прямоугольника должны быть вычислены заранее с использованием производительного компьютера и заложены в БД МТ в виде постоянных величин. Таким образом, при детектировании нахождения транспортной единицы в рассматриваемой зоне в первую очередь задействуются быстрые по скорости операции сравнения (происходит сопоставление координат ТС и значений широты и долготы верхнего левого и правого нижнего угла описывающего полигон прямоугольника). Если сравнение показало, что точка (ТС) находится в пределах границ прямоугольника, то далее происходит запуск вычисления по «методу луча», использующего медленные по скорости арифметические операции (умножение, деление, и т. д.). Таким образом, при общем переборе исключаются те области, в описывающих прямоугольниках (ОП) которых машина не может находится географически в данный момент времени.
На рис. 1 показан пример, включающий в себя четыре контрольных региона; КЗ1 является зоной
Рис. 1. Пример взаимного расположения контрольной зоны и транспортного средства
1-го уровня (парковка), КЗ2-4 - 2-го уровня (микрорайоны). C учётом этого, рассматриваемый метод определяет, что при попадании автомобиля ТС1 в очерчивающий прямоугольник парковки (рис. 1, зона КЗ1, описанная прямоугольником, стороны которого содержат вершины E, F, G и H), необходимо производить проверку принадлежности только для КЗ1 (для КЗ2 проверка производится не будет, т. к. эта зона является «родительской» по отношению к КЗ1). Проверка осуществляется сравнением величин широты Lat и долготы Long автомобиля ТС1 и вершин E, F, G, и H; при одновременном соблюдении условия Lat(F)<Lat(TC1)<Lat(H) и Long(E)<Long(TC1)<Long(G) будет запускаться подпрограмма обработки «методом луча».
Если в процессе вычисления обнаруживается, что точка, обозначающая ТС, попадает в несколько ОП одновременно, причём данные прямоугольники описывают зоны одного уровня, то для выявления итогового полигона производится определение пересечения этих прямоугольников. В случае, если границы одного прямоугольника полностью охватывают границы другого (рис. 1, автомобиль ТС3 и прямоугольники со сторонами, содержащими вершины I, J, K, L и M, N, O, P, описывающие КЗ3 и КЗ4 соответственно), считается, что «метод луча» необходимо использовать для КЗ, описываемого прямоугольником, расположенным внутри. Если же ОП пересекаются лишь частично (рис. 1, автомобиль ТС2 и прямоугольники со сторонами, содержащими вершины A, B, C, D и I, J, K, L, описывающие КЗ2 и КЗ3), то проверяются полигоны, вписанные в каждый из них.
С помощью специальной тестовой утилиты (а также в результате испытаний полнофункционального программного комплекса) было выявлено, что метод определения принадлежности подвиж-
ного объекта контрольной области, рассмотренный в данном разделе, при запуске на терминале автомобиля позволяет добиться в 2,0...2,5 раза большей скорости обработки местоположения транспорта по сравнению с неоптимизированным «методом луча». Эта оптимизация является необходимой ввиду того, что системные характеристики МТ не позволяют реализовывать сложные геоинформационные алгоритмы, требующие высокой производительности процессора.
Метод определения узловых точек
Нормальный режим функционирования ОР8/ГЛОНАСС-приёмника, встроенного в МТ, предполагает непрерывное предоставление сведений, передаваемых ГНСС. Для большинства современных транспортных задач достаточно получать текущие координаты движущейся машины с частотой раз в секунду. При наличии стабильного дешёвого и скоростного связующего канала, эти данные сразу после получения могут быть незамедлительно переданы в ДЦ, где происходит их дальнейшая обработка с использованием высокопроизводительных вычислительных систем. В случае, если такой канал отсутствует, мобильное устройство не в состоянии оперативно транслировать навигационную информацию на сервер. Фиксирование этой информации на микропроцессорном модуле с целью последующей передачи в момент, когда КС стабильно работоспособен, также не всегда возможно ввиду того, что современные МТ достаточно часто используют в своём составе накопители памяти, отличающиеся достаточно низкой скоростью чтения и записи с них.
С другой стороны, почти во всех программных реализациях геоинформационных систем суще-
ствует необходимость реалистичного вырисовывания маршрута движения подвижного объекта на электронных картах (как специализированных, так и произвольного формата). Корректное графическое иллюстрирование невозможно без наличия необходимого минимума полученных в результате навигационных измерений данных. Соответственно, при необходимости вести запись маршрута, достаточную для последующей прорисовки, программный комплекс микропроцессорного терминала должен выявлять узловые точки - значения координат на электронной карте, соответствующие тупикам, перекресткам, кольцам, поворотам дорог, т. е. всем местам, где изменяется направление движения транспорта.
Для определения этого изменения необходимо задать угол, отклонение на величину которого позволяет идентифицировать смену курса ТС. Данная девиация регистрируется при измерении расстояния от вновь получаемой навигационной точки до прямой, содержащий текущий вектор направления перемещения транспорта.
Пусть Рп - точка, которую необходимо установить; Л£ - величина расстояния, превышение которой будет означать отклонение от текущей траектории движения.
Алгоритм определения Рп будет следующим:
1. если ТС начинает движение (навигационный приёмник начал выдавать данные), то за Рп принимается первая полученная точка (с соответствующей записью в таблице маршрута);
2. следующая снятая точка обозначается как Рс;
3. на основании текущих значений Рп и Рс формируется вектор направления движения V;
4. для последующей навигационной точки Р вычисляется дистанция Б от неё до Рп;
5. если Б<[Рп; Рс], то Рп:=Рс, Рс:=Р, далее переход к п. 3;
6. вычисляется расстояние Ь от Р до прямой, содержащей V (способ вычисления Ь описан в [2]);
7. если L>ЛS, то Рп:=Рс, Рс:=Р, далее переход к п. 3;
8. если L<ЛS, то Рс:=Р, далее переход к п. 4.
При пропадании сигнала, поступающего от навигационного модуля, а также в случае, если координаты точки, в которой находится в текущий момент времени автомобиль, не изменялись в течение определённого времени, последняя снятая точка также помечается как узловая.
Находимые в процессе работы алгоритма значения заносятся в специальную таблицу для последующего анализа (либо для передачи их в центр сбора данных).
При расчётах необходимо учитывать погрешность (вычислительную и измерительную), вследствие этого, в программу вводятся коэффициенты, подбор значений которых определяется техническими характеристиками мобильного устройства.
На рис. 2 продемонстрирован пример работы вышеописанного алгоритма. Изначально ТС движется по траектории А, В, С, Б, Е, б, Н (в пределах одной улицы). При этом сгенерированный для
отправки в ДЦ трек маршрута будет содержать 2 узловые точки (А и Н), это является достаточным для прорисовки на электронной карте.
Если объект перемещается по траектории А, В, С, Б, Е, б, Н(поворот на примыкающую дорогу), то трек будет состоять из точек А, /и Н.
А*
Рис. 2. Образец маршрута движения транспортного средства
В случае, когда машина едет по траектории А, В, С, Б, I, / (в точке Б происходит разворот либо начинается движение задним ходом), трек определяется точками А, Б, I, /; вектор направления изменяется 3 раза.
Изображение на рис. 3 иллюстрирует результат применения метода в реальной системе. Точками на траектории движения автомобиля отмечены те позиции, где снятие координат происходило автоматически (по таймеру). Квадратами обозначаются узловые точки, определённые программой, реализующей алгоритм.
При проведении тестирования учитывалось изменение количества передаваемых в ДЦ маршрутных точек при различных способах их генерации. Сбор координат, на основании которого были получены исходные данные для сравнения, происходил в рабочем режиме, во время движения ТС по городу; временной промежуток был установлен в 10 мин.
Результат накопленных состояний при снятии данных с приёмника с частотой 1 раз в секунду был
еты Карта Сервис Окно Помощь
Рис. 3. Отображение траектории на карте
равен 600. С введением паузы 20 с между получением координат количество записей уменьшилось до 30. При применении рассматриваемого метода за указанный интервал времени было отослано 9 точек. Следовательно, можно сделать вывод о достижении значительной экономии трафика и уменьшении нагрузки на канал передачи данных.
Выводы
1. Проведён анализ используемых в системах транспортного мониторинга каналов связи, выявлены проблемы и задачи, обусловленные спецификой их функционирования.
2. Предложена технология формирования проходимого транспортным средством маршрута (предполагается использование ресурсов мо-
СПИСОК ЛИТЕРАТУРЫ
1. Самков И.Ю. Спутниковая навигация для потребительской электроники // Современная электроника. - 2008. - № 8. -С. 10-11.
бильного терминала транспортного средства с целью оперативной обработки получаемых навигационных данных).
3. Рассмотрен и модифицирован метод, позволяющий определить текущее положение транспортного средства относительно какой-либо географической зоны.
4. Разработан метод, позволяющий выявлять точки, в которых меняется направление движения транспортного средства.
5. Достигнуто трехкратное снижение объёма транслируемых блоков информации с сохранением необходимых для мониторинга сведений. Работа выполнена при проведении НИР в рамках реализации ФЦП «Научные и научно-педагогические кадры инновационной России» 2009-2013 гг. Госконтракт № П2396.
2. Ласло М. Вычислительная геометрия и компьютерная графика на С++. - М.: Бином, 1997. - 301 с.
Поступила 31.01.2011 г.