AnyLogic
Развернуть
Размер шрифта

Шаг 5. Добавление автобусов

Сейчас в нашей модели присутствуют только легковые автомобили. Давайте сделаем следующий шаг по усовершенствованию модели, добавив в нее рейсовые автобусы. Автобусы будут проезжать по Tapiolavagen с юга на север и останавливаться на остановке (вы можете увидеть ее на спутниковом снимке, на обочине за перекрестком).

Добавьте блок-источник автобусов

  1. Добавьте еще один блок Библиотеки дорожного движения CarSource. Этот блок будет моделировать появление автобусов. Назовите блок busSource и соедините его с блоком carMoveToN.

  2. Измените свойства только что созданного блока. Автобусы будут появляться в модели существенно реже, чем легковые автомобили. Для начала давайте зададим Интенсивность появления равной 20 в час.
  3. В свойстве Дорога выберите имя дороги roadSouth.
  4. Раскройте секцию свойств Автомобиль и в поле Длина задайте длину создаваемого автобуса: 10 метров.
  5. В поле Начальная скорость введите 40 км/ч.
  6. Мы хотим, чтобы этот блок создавал не легковые автомобили, как это делают созданные нами ранее блоки CarSource, а автобусы. Для этого нам понадобится создать еще один тип агента - автобус. Раскройте секцию свойств Автомобиль и щелкните по ссылке создать новый тип.
  7. При этом откроется диалоговое окно Мастера создания типа агента. Введите в поле Имя нового типа Bus и нажмите Далее.
  8. На следующей странице Мастера оставьте выбранной опцию 3D и выберите в списке ниже фигуру анимации Автобус 1. Щелкните по кнопке Готово.

Переключитесь обратно на диаграмму Main и сверьтесь со следующим рисунком, все ли свойства блока вы правильно задали.

Запустите модель. Как вы можете увидеть, теперь время от времени с юга на север проезжают автобусы (возможно, их появления, как и в реальной жизни, придется подождать).

На скриншоте сверху автобус как раз проезжает мимо автобусной остановки. Давайте теперь изменим логику модели, чтобы автобусы начали заезжать на остановку.

Вначале нам нужно будет нарисовать автобусную остановку с помощью одноименного элемента разметки пространства AnyLogic.

Нарисуйте автобусную остановку

  1. Перетащите элемент Автобусная остановка из секции Разметка пространства палитры Библиотека дорожного движения на графическую диаграмму. Поместите остановку на обочине, как это сделано на рисунке ниже.

  2. Удлините остановку. Для этого выделите ее щелчком мыши и затем перетащите квадратный маркер на ее краю.

Теперь давайте добавим новые блоки в диаграмму процесса.

Измените диаграмму процесса

  1. Добавьте еще один блок CarMoveTo (в ветвь процесса, ведущую из блока busSource, см. рисунок ниже). Назовите этот блок busMoveToStop. Он будет моделировать движение автобусов к остановке.

  2. В свойствах блока busMoveToStop выберите Цель движения: автобусная остановка и затем выберите в поле Автобусная остановка имя созданной нами ранее остановки: busStop.
  3. Теперь нам нужно промоделировать, как приехавшие на остановку автобусы пребывают на ней в течение определенного времени. Для этого добавьте блок Библиотеки моделирования процессов Delay. Назовите этот блок stop и соедините его так, как это показано на рисунке ниже.

  4. Откройте свойства этого блока и задайте там Время задержки: triangular(15, 30, 90) секунд.

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

Демо-модель: Road Traffic Tutorial - Phase 5 Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.
Как мы можем улучшить эту статью?