Активирование внешней модели водителя с помощью файла Driver Model DLL

Модель водителя программы Vissim можно заменить внешней моделью водителя, заданной пользователем. Внешнюю модель водителя можно применять ко всем транспортным средствам или части транспортных средств имитации.

Во время имитации файл DLL вызывается в каждом временном шаге для каждого транспортного средства, которое располагает внешней моделью водителя. В этом случае файл DLL регулирует поведение транспортного средства. Vissim передает в файл DLL следующее.

  • актуальное состояние ТС
  • актуальное состояние окружения ТС, к примеру, номер и состояние правила приоритета (1 = заблокировано, 3 = свободно), если оно расположено ближе в актуальному ТС, чем ближайший светофор ниже по направлению движения.
  • Мировые координаты переднего и заднего бампера соседних ТС
  • Полигонометрический ход средней линии актуальной полосы движения рассматриваемого ТС, вдоль его маршрута или его пути в пределах расстояния видимости
  • Данные конфликтных зон.
  • Значения определенных пользователем атрибутов ТС могут переноситься в DLL и изменяться им.

В файле DLL рассчитываются ускорение, замедление и поведение при смене полос движения. Результат передается обратно в Vissim.

Активируйте внешнюю модель водителя для требуемых типов ТС (Применить типы ТС).

Внешние файлы DLL модели водителя могут быть использованы в циклах имитации с несколькими ядрами. С этой целью каждый файл DLL модели водителя должен подтвердить, что он поддерживает одновременный расчет нескольких уравниваемых районов (Multithreading). Это не действует в следующих случаях, здесь требуется соответствующее  программирование файла DLL:

  • Есть только одно ТС с внешним управлением.
  • Все ТС с внешним управлением всегда находятся на одном и том же отрезке.

Внешняя модель водителя должен быть реализована в виде файла DLL на языке программирования C или C++. Структура описывается в документации. Если передаются строки символов, они должны иметь кодировку UTF-8.

Документация на английском языке

  • ..\Programs\PTV Vision\PTV Vissim 2022\API\DriverModel_DLL\Interface_Description.pdf
Файл примеров
  • ..\Programs\PTV Vision\PTV Vissim 2022\API\DriverModel_DLL\DriverModel.cpp

Вышестоящая тема:

Прикладные программные интерфейсы (API)

Дополнительные темы:

Вставить интерфейс COM