Портал GPSS.RU

Е. А. Юршевич, Е. И. Петрова

ОПЫТ ИСПОЛЬЗОВАНИЯ ПАКЕТА ANYLOGIC ДЛЯ МОДЕЛИРОВАНИЯ ГОРОДСКОГО ТРАФИКА


 

 

1.         Введение

Имитационное моделирование является одним из наиболее популярных и полез-ных инструментов, используемых для моделирования транспортного движения, транс-портных сетей, узлов и терминалов. Однако программное обеспечение, используемое при этом, должно обладать определенными особенностями. В докладе рассмотрены требования к программному обеспечению, используемому для моделирования транс-портных задач, а также библиотека классов, разработанная в среде пакета AnyLogic для его адаптации к данной прикладной области. Рассматривается также пример модели транспортного узла, построенной с помощью разработанной библиотеки.


 

 

2.         Требования к пакетам, предназначенным для моделирования трафика на микроуровне

Имитационные пакеты, предназначенные для построения моделей транспортной сети на микроуровне, должны обладать рядом характерных свойств. Это сопряжено со спецификой прикладной области. Процесс построения модели транспортного узла за-ключается в построении схемы транспортных сообщений, расположении на них знаков дорожного движения и светофоров, указания маршрутов перемещения транспортных средств. В модели необходимо задать категории транспортных средств, параметризо-вать их, задать правила поведения водителя, создать поток автомобилей и т. д. При мо-делировании трафика необходимо учитывать, что поведение водителя не является по-стоянным и строго заданным, а меняется в зависимости от состояния окружающей сре-ды: близлежащих полос, скорости и плотности потока, дорожных ограничений, свето-форов и т.д. В целом, модель транспортного узла (ТУ) состоит из совокупности объек-тов, выполняющих определенные функции в транспортной сети. Важной особенностью является то, что объекты модели находятся в динамически изменяющейся среде и должны реагировать на эти изменения. Можно выделить следующие категории объек-тов ТУ.
• Объекты, имитирующие транспортные средства (ТС):
- общественный транспорт;
- частный транспорт;

• Объекты, из которых проектируется транспортная сеть:
- транспортные сообщения;
- полосы движения;
- маршруты передвижения;

• Атрибуты транспортной сети, которые управляют потоком транспортных средств:
- группы светофоров;
- знаки дорожного движения и т. д.
Все эти типы объектов можно условно разделить на группы активных и пассив-ных объектов.
К активным объектам можно отнести объекты, имитирующие поведение ТС и обладающие способностью менять свое состояние в ходе моделирования. Транспорт-ные средства должны передавать информацию в окружающую среду, принимать ее из среды и корректировать согласно ее состоянию свое поведение. Перемещаясь по лини-ям сообщений, транспортное средство должно учитывать такие факторы, как:
• скорость потока, в котором перемещается;
• сигналы, посылаемые светофором;
• расположение знаков дорожного движения;
• маршрут;
• информацию о близлежащих полосах и едущих рядом других транспортных средствах и т.д.

В свою очередь, сами ТС должны уметь передавать информацию о себе окру-жающим его активным объектам:
• текущую скорость движения;
• событие принятия решения о смене полосы, повороте;
• физические показатели (ширина, длина кузова), тип ТС.

К пассивным объектам можно отнести:
• объекты, имитирующие группы светофоров;
• объекты, имитирующие знаки дорожного движения;
• маршруты, транспортные сообщения, полосы.
Каждый из этих объектов обладает набором свойств, характеризующих его со-стояние. Эти свойства могут быть постоянными для объектов транспортной сети и ди-намически изменяющимися в ходе работы модели. Например, объект, имитирующий ТС, должен обладать характеризующими его техническими (скорость разбега, мощ-ность двигателя и т. д.) и физическими свойствами (вес автомобиля, ширина, длина ку-зова и т. д.). К динамически изменяющимся свойствам автомобиля относятся его теку-щая скорость, ускорение, время реакции, внимание водителя. Значения этих показате-лей могут меняться в ходе моделирования под воздействием условий окружающей сре-ды.
В таких пакетах также должна быть предусмотрена возможность сбора и анализа статистики трафика на ТУ. В результате имитационный пакет для моделирования транспортного узла дол-жен обладать библиотеками, обеспечивающими выше перечисленные возможности. Итак, можно выделить следующие классы библиотек, необходимых для решения задач транспортного моделирования:
• библиотеки ТС, содержащие классы ТС с возможностью их параметризации;
• библиотеки, позволяющие строить пути транспортных сообщений и задавать маршруты передвижений;
• библиотеки знаков дорожного движения и светофоров;
• библиотеки инструментов для сбора статистики и ее обработки.
Безусловно, специализированные имитационные пакеты должны позволять строить анимацию, визуализировать работу ТУ.
В работе рассматривалась задача разработки таких библиотек в имитационном пакете AnyLogic. Одной из отличительных особенностей пакета AnyLogic является то, что в нем реализован агентный принцип моделирования, который позволяет задавать индивидуальные поведения объектов в системе и взаимодействие этих объектов с ок-ружающей средой. Этот принцип как нельзя лучше может быть использован для моде-лирования индивидуального поведения водителя ТС – агента на транспортной сети.
Однако в самом пакете нет специализированных библиотек, позволяющих при-менять его для моделирования трафика на микроуровне, и для решения таких задач требуются значительные трудозатраты со стороны разработчика модели, причем в большей степени на уровне программирования.
Поэтому была поставлена задача расширить возможности пакета библиотеками для моделирования трафика.


 

 

3.         Краткое описание разработанных библиотек для моделирования трафика


При разработке библиотек за основу бралась клеточная модель представления транспортной сети [1]. В этой модели дорога разбивается на клетки, размер которых соответствует одному транспортному средству размером 1 pcu (Passenger Car Unit – международно-принятая единица измерения габарита транспортного средства в смешанном потоке транспортных средств), что соответствует стандартному легковому автомобилю. Если в потоке присутствуют крупные автомоби-ли (грузовые), то их размер будет составлять 2–3 pcu, и занимать они будут соответст-вующее число клеток. Пример такого представления дорожной сети приведен на рис. 1.

Таким образом, движение автомобиля представляет собой перемещение объекта с клетки на клетку. При этом необходимо учитывать, что происходит на соседних клет-ках, есть ли возможность перестроиться и с какой скоростью перемещаются объекты.
Следующим важным принципом при разработке библиотек является представ-ление автомобиля как агента – объекта, активно взаимодействующего со средой, полу-чающего от нее информацию и посылающего в нее свои сообщения о намерениях, со-стоянии и т. д. Этот объект обладает рядом свойств, которые характеризуют его теку-щее состояние, а также в нем заложены алгоритмы поведения, в которых учитывается необходимость адаптировать свое поведение в зависимости от того, что происходит в окружающей среде. При реализации такого подхода использовались реализованные уже в пакете возможности построения карт переходных состояний, механизмы обмена между объектами сообщениями в модели.
В ходе работы была разработана библиотека классов, содержащих в себе ряд полезных функций. Общая диаграмма разработанных классов представлена на рис. 2.
Были реализованы следующие классы:
• класс Auto, предназначенный для моделирования автомобиля;
• класс Road, предназначенный для построения дороги транспортной сети;
• класс Routes, предназначенный для определения маршрутов перемещения ав-томобиля;
• класс Traffic_Light и Tr_LightControler, предназначенные для моделирования работы светофора;
• класс Info1, предназначенный для сбора статистики;
• ряд классов для определения поведения автомобиля на дороге – ограничения по скорости, ограничения на передвижения, определения основных и второстепенных дорог.

Процесс построения дороги представляет собой формирование ее из отдельных объектов – экземпляров класса Road, динамически связанных между собой. Для упро-щения построения дороги можно использовать в качестве фона карту моделируемого участка дорожно-транспортной сети. С помощью методов класса Routes определяется маршрут передвижения автомобилей.
Сами автомобили-агенты являются экземплярами класса Auto. Реализованные в нем методы и свойства позволяют задавать поведение объекта Автомобиль. Экземпляр класса Auto хранит в себе такие свойства, как тип автомобиля, его размер, вес, текущая скорость, ускорение, максимальная скорость, координаты положения в пространстве. Среди реализованных в классе методов предусмотрена возможность изменения скоро-сти, принятия решения на обгон, поворот и т. д. Изменение поведения объекта в зави-симости от условий окружающей среды описывается с помощью карт переходных со-стояний. Пример одной из карт переходных состояний представлен на рис. 3.
С помощью данной карты определяется изменение скорости агента Auto в зави-симости от разрешенной скорости, скорости потока, а также ситуации на дороге. Так, в случае, если скорость превышает заданное ограничение, то агент должен принять ре-шение снизить свою скорость.
Реализован ряд других карт переходных состояний, с помощью которых агент Auto перестраивается с полосы на полосу, принимает решение о смене маршрута и т.д.
В целом, реализованная библиотека классов предоставляет следующие возмож-ности.
1. Построение дороги любой сложности с указанием перекрестков, поворотов, заданием маршрутов передвижения.

2. Генерация потока автомобилей, которые представляют собой агентов и пове-дение каждого из которых является индивидуальным и определяется ситуацией, сло-жившейся на дороге. Эти объекты могут хранить в себе различные физические свойст-ва автомобилей, а также свойства, которые динамически могут меняться в ходе движе-ния: скорость, ускорение, маршрут следования. Объекты реагируют на знаки дорожно-го движения, на сигнал светофора, адаптируются под скорость потока, могут прини-мать решение идти на обгон.
3. Реализованы классы, объекты которых имитируют знаки дорожного движе-ния:
• знак главной и второстепенной дороги;
• знак разрешенного поворота;
• знак запрета на въезд;
• знак ограничения скорости;
Знаки можно располагать в любом месте транспортной сети, таким образом управляя потоком движения автомобиля.
4. Реализованы классы, позволяющие имитировать работу светофоров. Объект Светофор можно параметризовать, регулируя цикл переключения сигналов. Это позво-ляет экспериментировать с ним в поисках оптимальных условий его работы.
5. Реализован класс, с помощью объектов которого можно собирать статистику по трафику транспортной сети. Собирается информация о текущей скорости, макси-мальной, минимальной и средней скорости и интенсивности. Эту информацию можно выводить в файл статистики или же представлять графически.


 

 

4.         Пример моделирования перекрестка на базе разработанной библиотеки классов


С помощью реализованной библиотеки классов была построена модель двухпо-лосной дороги с перекрёстком, въездами и съездами с главной дороги. Правила поведе-ния автомобиля на перекрёстке определяются знаками. Визуальное представление мо-дели показано на рис. 4.
В целом модель представляет собой набор экземпляров различных классов. Для более детализированного описания модели необходимо рассмотреть каждые её компо-ненты в отдельности.
Дорога построена из набора экземпляров класса road. Каждый экземпляр явля-ется одной клеткой фиксированной длины. Предполагается, что машина занимает полностью всю клетку. У каждого экземпляра есть набор указателей на объекты этого же класса. Таким образом, задаётся основной маршрут передвижения по клеткам. Существуют также указатели не только на следующую клетку, но и на соседние. Если есть необходимость задачи дороги по карте, то для построения кривой линии дороги необходимо лишь правильно задать параметры дороги и правильно разместить визуальное представление этого объекта на плоскости.

Автомобили представляют собой красные кружки, передвигающиеся в пределах построенной дороге. Это объекты класса Auto. Каждый объект является агентом и спо-собен реагировать на изменения в окружающей среде. С помощью метода класса TrafficGenerator генерируются интервалы времени поступления автомобиля, имеющие экспоненциальное распределение. Начальная скорость у машин разная, как и начальное значение ускорения. Если оказывается, что нет возможности дальнейшего перемеще-ния по прямому маршруту, то автомобиль может (приняв такое решение) перестроить-ся на соседнюю полосу.
Также одними из компонентов классов являются светофоры – объекты класса Traffic_Light. Данные объекты следят за определённой клеткой, и при занятии объектом Автомобиль дороги переопределяются переменные объекта Дорога, которые отобра-жают возможность перемещения по данной области. Так автомобили определяют, мо-гут ли они ехать дальше или нет. Для синхронного переключения светофоров сущест-вует класс Tr_LightControler.
Знаки являются экземплярами классов OnlyTurn, mainRoadSign, SpeedSign. Знаки устанавливаются на определённых клетках, и если это повороты, то определяют воз-можный дальнейший маршрут. Знак “Stop” не позволяет съезд на второстепенную до-рогу. Знаки скорости определяют переменные разрешённой скорости на последующем участке дороги.
За статистику отвечает класс Info1. Всё, что необходимо, это разместить его в том месте, где надо снять статистику.
Было проведено несколько экспериментов с варьированием интенсивности по-тока автомобилей. Результаты сбора статистики выводятся в таблице и на графике. Пример вывода результатов моделирования приведен в табл.1 и на рис. 5.



 

 

5.         Заключение


Безусловно, решенные задачи не охватывают всего спектра требований, которые выдвигаются к библиотекам такого класса. Однако, основные функции, необходимые для генерации потока автомобилей и его управления, присутствуют, но требуют уточнения. В дальнейшей работе предусматривается расширение библиотеки и добавление новых. В первую очередь, планируется предусмотреть возможность учета физических и техниче-ских характеристик автомобиля при определении скорости автомобиля, его ускорения и торможения. Желательно учесть психофизиологические особенности водителя (снижение внимания, усталости), которые также влияют на поведение автомобиля. Будут введены классы, позволяющие моделировать общественный транспорт. Также расширятся возмож-ности параметризации потока автомобилей: задания процентного распределения типов ав-томобилей в этом потоке, интенсивности, распределение скорости автомобиля. Добавятся возможности определения маршрута движения автомобилей.


 

 

6.         Литература


1. Буслаев А. П., Новиков А. В., Приходько В. М., Таташев А. Г., Яшина М. В. Вероятностные и имитационные подходы к оптимизации автодорожного движения/ Под ред. чл.-корр. РАН В.М. Приходько. – М.: Мир, 2003.
2. От системной динамики и традиционного ИМ – к практическим агентным моделям: причины, технология, инструменты – http://www.xjtek.com/files/papers/fromsdtoabmru.pdf

 


Распечатано с портала GPSS.RU (c) Е. А. Юршевич, Е. И. Петрова, 2005 г.