Automated Driving Toolbox™ предоставляет среду совместного моделирования, которую можно использовать для модели алгоритмов вождения в Simulink® и визуализировать их эффективность в виртуальной среде симуляции. Это окружение использует Unreal Engine® по эпическим играм®.
Понимание того, как работает эта среда симуляции, может помочь вам решить проблемы и настроить модели.
Когда вы используете Automated Driving Toolbox, чтобы запустить ваши алгоритмы, Simulink совместно моделирует алгоритмы в движке визуализации.
В окружение Simulink, Automated Driving Toolbox:
Настраивает окружение визуализации, в частности трассировку лучей, захват сцены с камер и начальные положения объектов
Определяет следующее положение объектов при помощи обратной связи среды симуляции
Схема результирующей связи между Simulink и механизмом визуализации.
Во время симуляции блоки симуляции Unreal Engine следуют определенному порядку выполнения:
Блоки Simulation 3D Vehicle with Ground Following инициализируют транспортные средства и отправляют их X, Y и данные о Yaw сигнале в блок Simulation 3D Scene Configuration.
Блок Simulation 3D Scene Configuration получает данные о транспортном средстве и отправляет их в блоки датчиков.
Блоки датчиков получают данные о транспортном средстве и используют их, чтобы точно определить местоположение и визуализировать транспортные средства.
Свойство Priority блоков управляет этим порядком выполнения. Чтобы получить доступ к этому свойству для любого блока, щелкните правой кнопкой мыши блок, выберите Properties и щелкните вкладку General. По умолчанию Simulation 3D Vehicle with Ground Following блоки имеют приоритет -1
, Simulation 3D Scene Configuration блоки имеют приоритет 0
, и блоки датчиков имеют приоритет 1
.
Схема показывает этот порядок выполнения.
Если ваши датчики не обнаруживают транспортные средства в сцене, возможно, что блоки симуляции Unreal Engine выполняются вне порядка. Попробуйте обновить порядок выполнения и повторить симуляцию. Для получения дополнительной информации о заказе на выполнение смотрите Управление и отображение Порядка выполнения (Simulink).
Также убедитесь, что все блоки 3D симуляции расположены в одной подсистеме. Даже если блоки имеют правильные настройки Priority, если они расположены в разных подсистемах, они все равно могут выполняться вне порядка.