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

При разработке библиотек за основу бралась клеточная модель представления транспортной сети [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. Реализован класс, с помощью объектов которого можно собирать статистику по трафику транспортной сети. Собирается информация о текущей скорости, макси-мальной, минимальной и средней скорости и интенсивности. Эту информацию можно выводить в файл статистики или же представлять графически.

 
назад

вперед