В этом примере показано, как протестировать алгоритм ADAS с разомкнутым контуром (усовершенствованная система помощи водителю) в Simulink ®. В алгоритме ADAS с разомкнутым контуром поведение эго-транспортного средства предопределено и не изменяется по мере продвижения сценария во время моделирования.
Для проверки алгоритма используется сценарий вождения, сохраненный в приложении «Конструктор сценариев вождения». В этом примере выполняется чтение сценария с помощью блока «Считыватель сценариев», а затем визуализация обнаруженных сценариев и датчиков в области «Птичий глаз».
В этом примере используется сценарий вождения, основанный на одном из предварительно созданных сценариев, к которому можно обратиться с помощью приложения Конструктор сценариев вождения. Для получения дополнительной информации об этих сценариях см. раздел Сценарии предварительного вождения в конструкторе сценариев вождения.
Откройте файл сценария в приложении.
drivingScenarioDesigner('LeftTurnScenario.mat')
Для моделирования сценария нажмите кнопку Выполнить. В этом сценарии эго-автомобиль едет на север и проходит прямо через перекресток. Транспортное средство, идущее с левой стороны перекрестка, поворачивает налево и оказывается перед эго-транспортным средством.

Эго-автомобиль имеет следующие датчики:
Фронтальный радар для генерации обнаружений объектов
Фронтальная камера и задняя камера для создания обнаружений объектов и границ полос движения
Лидар в центре крыши для генерации данных облака точек сценария

Модель в этом примере была создана из приложения, выбрав Экспорт > Экспорт модели Simulink. В модели блок чтения сценариев считывает актёров и дороги из файла сценария и выводит не-эго актёров и границы полос движения. Откройте модель.
open_system('OpenLoopWithScenarios.slx')

В блоке чтения сценариев параметр имени файла конструктора сценариев определяет имя файла сценариев. Можно указать файл сценария, который находится в пути поиска MATLAB, например, файл сценария, используемый в этом примере, или полный путь к файлу сценария. Кроме того, можно указать путем установки для параметра Source of driving scription значения drivingScenarioFrom workspace, а затем установка имени переменной MATLAB или рабочей области модели в качестве имени допустимого drivingScenario переменная рабочей области объекта.
Блок чтения сценариев выводит позы субъектов, не являющихся эго, в сценарии и границы левой и правой полос эго-транспортного средства. Для вывода всех границ полосы движения дороги, по которой едет эго-транспортное средство, выберите соответствующую опцию параметра Границы полосы для вывода.
Акторы, границы полос и поза эго-транспортного средства передаются в подсистему, содержащую блоки датчиков. Откройте подсистему.
open_system('OpenLoopWithScenarios/Detection Generators')
Блоки «Генератор радиолокационных данных», «Генератор визуального обнаружения» и «Генератор облака точек Лидара» производят синтетические обнаружения из сценария. Эти данные датчика можно сплавить для создания дорожек, например, в примере с разомкнутым контуром Sensor Fusion Using Synthetic Radar and Vision Data in Simulink.
Выходы блоков датчиков в данной модели находятся в координатах транспортного средства, где:
Ось X указывает вперед от эго-транспортного средства.
Ось Y указывает влево от эго-транспортного средства.
Начало координат расположено в центре задней оси эго-транспортного средства.
Поскольку эта модель является открытой, поведение эго-транспортного средства не изменяется по мере продвижения моделирования. Поэтому параметр Source of ego vehicle имеет значение Scenarioи блок считывает предопределенную позу и траекторию эго-транспортного средства из файла сценария. Для контроллеров транспортных средств и других моделей с замкнутым контуром установите параметр Source of ego vehicle равным Input port. С помощью этой опции можно указать ego-транспортное средство, которое определено в модели как вход в блок чтения сценариев. Пример см. в разделе Тестирование алгоритма ADAS с замкнутым контуром с использованием сценария управления.
Для визуализации сценария и обнаружения датчиков используйте Область действия «Птичий глаз». На панели инструментов Simulink в разделе «Результаты проверки» выберите «Область действия птичьего глаза». Затем в области щелкните Найти сигналы (Find Signals) и запустите моделирование.

В этой модели используется время остановки моделирования по умолчанию, равное 10 секундам. Поскольку продолжительность сценария составляет всего около 5 секунд, моделирование продолжает выполняться в области «Птичий глаз» даже после завершения сценария. Чтобы синхронизировать время остановки моделирования и сценария, на панели инструментов модели Simulink установите время остановки моделирования равным 5.2 секунд, что является точным временем остановки сценария приложения. После запуска моделирования приложение отобразит это значение в правом нижнем углу холста сценария.
Если моделирование выполняется слишком быстро в области «Птичий глаз», можно замедлить моделирование с помощью темпинга моделирования. На панели инструментов «Simulink» выберите «Run» > «Simulation Pacing». Установите флажок Включить ускорение моделирования (Enable pacing to slow simulation) и уменьшите время моделирования чуть менее чем до 1 секунды на секунду настенного времени, например до 0,8 секунды. Затем повторно запустите моделирование в области «Птичий глаз».