Вначале мы создадим простейшую модель, которая будет моделировать движение автомобилей по Tapiolavagen в северном направлении.
Создайте новую модель
- Щелкните мышью по кнопке панели инструментов Создать . Появится диалоговое окно Новая модель.
- Задайте имя новой модели. В поле Имя модели введите Road Traffic Tutorial.
- Выберите каталог, в котором будут сохранены файлы модели. Если вы хотите сменить предложенный по умолчанию каталог на какой-то другой, вы можете ввести путь к нему в поле Местоположение или выбрать этот каталог с помощью диалога навигации по файловой системе, открывающегося по нажатию на кнопку Выбрать.
- Выберите секунды в качестве Единиц модельного времени.
- Щелкните мышью по кнопке Готово, чтобы завершить процесс.
Вы создали новую модель. В ней уже имеется один тип агента Main и эксперимент Simulation. Агенты - это главные строительные блоки модели AnyLogic. В нашем случае агент Main послужит местом, в котором мы зададим всю логику модели: здесь мы создадим дорожную сеть и зададим движение транспорта на диаграмме процесса.
В центре рабочей области находится графический редактор диаграммы типа агента Main.
В левой части рабочей области находятся панель Проекты и панель Палитра. Панель Палитра содержит разделенные по палитрам элементы, которые могут быть добавлены на диаграмму типа агента или эксперимента.
В правой рабочей области будет отображаться панель Свойства. Панель Свойства используется для просмотра и изменения свойств выбранного в данный момент элемента (или элементов) модели. Когда вы выделяете какой-либо элемент, например, в панели Проекты или графическом редакторе, панель Свойства показывает свойства выбранного элемента.
Теперь мы можем настроить нашу модель.
Стандартный сценарий создания модели
- Добавьте спутниковый снимок местности, в которой находится интересующий нас перекресток.
- Нарисуйте дороги поверх спутникового снимка.
-
Задайте движение автомобилей с помощью блоков
Библиотеки дорожного движения
.
Давайте создадим модель по вышеописанному сценарию.
Мы будем использовать следующий спутниковый снимок:
Сохраните спутниковый снимок себе на компьютер.
- Щелкните правой кнопкой мыши по рисунку выше и выберите Сохранить изображение как... из контекстного меню. В открывшемся диалоговом окне выберите, куда вы хотите сохранить файл изображения.
Теперь мы можем добавить этот снимок на графическую диаграмму модели.
Добавьте спутниковый снимок на графическую диаграмму модели
- Сначала откройте палитру Презентация в панели Палитра. Она содержит фигуры, которые можно добавит в модель. Чтобы открыть какую-либо палитру, нужно щелкнуть мышью по соответствующей иконке на вертикальной панели слева от палитры. Пока вы привыкаете к иконкам палитры, можете навести указатель мыши на панель и подождать, пока появится всплывающее окно, в котором вы увидите названия палитр.
- Выберите палитру Презентация, чтобы открыть ее:
- Перетащите элемент Изображение из палитры Презентация на графическую диаграмму Main.
- Теперь нам необходимо выбрать изображение, которое мы будем использовать. Диалог для выбора файла появится автоматически. Откройте папку, в которую вы только что сохранили файл изображения, выберите его и нажмите Открыть. В графическом редакторе изображение будет выглядеть следующим образом:
Сейчас мы нарисуем дорогу (Tapiolavagen), разместив ее строго поверх той, что на снимке. Дорожные сети в AnyLogic задаются следующим образом: вы рисуете дороги, перекрестки и при необходимости добавляете другие элементы разметки пространства (автобусную остановку, стоп-линию и парковку).
- Прежде чем нарисовать дорогу, следует отключить сетку в графическом редакторе. Щелкните по кнопке панели инструментов Включить/Отключить сетку . Она должна принять вид не нажатой кнопки: .
- В панели Палитра выберите палитру Библиотека дорожного движения:
- Сделайте двойной щелчок по элементу Дорога в секции Разметка пространства палитры Библиотека дорожного движения. Иконка элемента изменится на . Это означает, что активирован режим рисования, и теперь вы можете рисовать дорогу в графическом редакторе.
- Щелкните мышью в графическом редакторе, чтобы поставить первую точку дороги.
- Продолжайте рисовать дорогу сегмент за сегментом. Наша дорога начинается с прямого сегмента. Чтобы нарисовать прямой сегмент, щелкните мышью в том месте, где хотите разместить конечную точку сегмента (см. рис. ниже).
- Следующий сегмент нашей дороги имеет форму дуги. Чтобы нарисовать дуговой сегмент дороги, зажмите левую кнопку мыши в точке окончания дугового сегмента и начала следующего прямого сегмента и перемещайте курсор с нажатой левой кнопкой мыши до тех пор, пока сегмент не приобретет необходимую форму.
- Чтобы завершить рисование, добавьте последнюю точку дороги двойным щелчком мыши.
- Если это первая дорога в модели, вы увидите сообщение с предложением сменить масштаб модели на: 4 пикселя в 1 метре. Мы советуем согласиться, так как предлагаемый масштаб часто используется в моделях дорожного движения. После этого вы увидите нарисованную дорогу. Она должна быть похожа на дорогу, которая изображена на рисунке ниже:
-
Настройте атрибуты дороги в панели Свойства. По умолчанию дороги создаются с двусторонним движением, при этом каждое направление дороги (основное и встречное) содержит по две полосы движения. Наша дорога (Tapiolavagen) содержит одну полосу основного движения и одну полосу встречного движения, поэтому необходимо задать значение параметров
Кол-во полос основного движения
и Кол-во полос встречного движения равным единице. Количество полос автоматически уменьшится до двух.
Давайте сделаем дорогу полупрозрачной, чтобы можно было убедиться, что она точно накладывается на дорогу на карте. Настройки прозрачности (как и настройки направления движения, ширины полосы) находятся не в свойствах дороги, а в свойствах дорожной сети, которой принадлежит эта дорога.
- Выделите дорожную сеть, сделав два последовательных щелчка по дороге (первый щелчок выделит саму дорогу, а уже второй - дорожную сеть). После этого откройте секцию свойств дорожной сети Внешний вид. Щелкните по элементу управления Цвет дороги, выберите Другие цвета... из списка и задайте для свойства Прозрачность значение 150, к примеру.
- Теперь можно увидеть, как созданная дорога накладывается на дорогу на карте. Если она шире или уже, нужно настроить масштаб модели. При необходимости можете перетащить холст немного ниже, чтобы над осью Х появился элемент Масштаб, в свойствах которого можно будет указать масштаб.
- В этом примере линейка масштаба соответствует 35 метрам.
- Ширина дороги изменится в соответствии с новым значением масштаба модели. В итоге у вас должна получиться дорога, подобная той, что на рисунке ниже:
Теперь мы зададим процесс движения транспорта, создав диаграмму из блоков Библиотеки дорожного движения.
Каждый блок задает определенную операцию, которая будет совершаться над проходящими по диаграмме процесса автомобилями.
Диаграмма процесса в AnyLogic создается путем добавления объектов библиотеки из палитры на графическую диаграмму, соединения их портов и изменения значений свойств блоков в соответствии с требованиями вашей модели.
Создайте диаграмму процесса
- Откройте палитру Библиотека дорожного движения и добавьте блоки из этой палитры на диаграмму, соединив их, как показано на рисунке ниже. Чтобы добавить блок на диаграмму, перетащите его из палитры в графический редактор:
- Когда блоки располагаются рядом друг с другом, между ними появляются соединительные линии. Будьте внимательны, эти линии должны соединять только порты, находящиеся с правой или левой стороны блоков.
Скажем пару слов об этих блоках.
CarSource создает автомобили. Обычно используется как начальная точка автомобильной диаграммы процесса.
CarMoveTo моделирует движение автомобиля к цели движения.
CarDispose удаляет поступающие на вход этого блока автомобили из модели. Обычно используется как конечная точка автомобильной диаграммы процесса.
За детальным описанием объектов Библиотеки дорожного движения обращайтесь к Справочному руководству по Библиотеке дорожного движения.
Настройте блоки диаграммы
- Чтобы изменить свойства элемента модели, выделите элемент в графическом редакторе, щелкнув по нему мышью. Откроется панель Свойства с настройками элемента.
- Выделите блок carSource. В панели Свойства укажите, как часто должны прибывать автомобили. В раскрывающемся списке Дорога выберите road, это дорога, которую мы только что создали. Таким образом мы указываем блоку carSource дорогу, на которую стоит поместить создаваемые автомобили.
- Внесите изменения в свойства блока carMoveTo. Оставьте заданную по умолчанию опцию Цель движения: дорога и выберите имя нашей дороги road в раскрывающемся списке Дорога. Этот блок будет моделировать движение автомобилей по указанной дороге до конца полосы основного движения (задается параметром Доехать до конца полосы).
- В блоке carDispose оставьте настройки по умолчанию.
Мы готовы запустить созданную модель. Сначала постройте вашу модель с помощью кнопки панели инструментов Построить модель . Построение не будет завершено, если в модели присутствуют ошибки, информация о которых будет выведена в панель Ошибки. Чтобы перейти к месту ошибки и исправить ее, совершите двойной щелчок мышью по ошибке в этом списке.
После того, как все ошибки устранены и модель успешно построена, вы можете запустить её. Запуская модель, вы автоматически обновляете её.
Запустите модель
- Щелкните мышью по кнопке панели инструментов Запустить и выберите из открывшегося списка эксперимент, который вы хотите запустить. Эксперимент этой модели будет называться Road Traffic Tutorial/Simulation.
На момент запуска этого конкретного эксперимента наша модель - единственная открытая модель в рабочем пространстве. В дальнейшем будет запускаться тот эксперимент, который запускался вами в последний раз. Чтобы выбрать какой-то другой эксперимент, вам будет нужно щелкнуть правой кнопкой мыши по этому эксперименту в панели Проекты и выбрать Запустить из контекстного меню. После запуска модели вы увидите окно этой модели. В нем будет отображена презентация агента верхнего уровня модели. По умолчанию это тип агента Main. Выполнение модели начнется немедленно. На презентации модели вы увидите движение автомобилей в 2D анимации поверх добавленного снимка.
При необходимости, измените скорость выполнения модели, используя кнопки панели инструментов Замедлить и Ускорить.
Для каждой модели, созданной с помощью блоков Библиотеки дорожного движения, автоматически создается диаграмма процесса. Она отображает количество автомобилей, которые прошли через блок или находятся в блоке в данный момент.
Обратите внимание, для каждого шага моделирования имеются контрольные модели. Вы можете использовать их, чтобы сравнить свою модель с аналогичной моделью, созданной нами. Ниже приведена ссылка на контрольную модель для этого шага.
Демо-модель: Road Traffic Tutorial — Phase 1 Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.-
Как мы можем улучшить эту статью?
-