Этот пример показывает, как протестировать ADAS разомкнутого цикла (продвинутая система помощи водителю) алгоритм в Simulink®. Чтобы протестировать сценарий, вы используете ведущий сценарий, который был сохранен из приложения Driving Scenario Designer. В этом примере вы читаете в сценарии с помощью блока Scenario Reader, и затем визуально проверяете производительность простого алгоритма сплава датчика на Видимом с большого расстояния Осциллографе.
Прежде, чем начать этот пример, добавьте папку в качестве примера в путь поиска файлов MATLAB®.
addpath(genpath(fullfile(matlabroot,'examples','driving')))
Этот пример использует ведущий сценарий, который основан на одном из предварительно созданных сценариев, к которым можно получить доступ через приложение Driving Scenario Designer. Для получения дополнительной информации на этих сценариях, смотрите, Генерируют Синтетические Обнаружения из Предварительно созданного Ведущего Сценария.
Откройте файл сценария в приложении.
drivingScenarioDesigner('LeftTurnScenario.mat')
Нажмите Run, чтобы моделировать сценарий. В этом сценарии автомобиль, оборудованный датчиком перемещается на север и идет сквозной пересечение. Между тем автомобиль, прибывающий из левой стороны пересечения, поворачивает налево и заканчивается перед автомобилем, оборудованным датчиком.
В модели, используемой в этом примере, вы генерируете обнаружения другого автомобиля и контуры маршрута автомобиля, оборудованного датчиком. Несмотря на то, что этот сценарий включает датчик видения, заданный в приложение, блок Scenario Reader не поддерживает данные о датчике чтения из сценариев. Поэтому датчики должны быть заданы в модели. Если вы читаете файл сценария, содержащий данные о датчике, блок игнорирует эти данные о датчике.
В модели блок Scenario Reader читает агентов и дороги из файла сценария и выводит агентов неэго и контуры маршрута. Откройте модель.
open_system('OpenLoopWithScenarios.slx')
В блоке Scenario Reader Ведущий параметр имени файла сценария задает имя файла сценария. Можно задать файл сценария, который находится на пути поиска файлов MATLAB, таком как файл сценария, используемый в этом примере или полном пути к файлу сценария.
Блок Scenario Reader выводит положения агентов неэго в сценарии и лево-маршруте и контурах правильного маршрута автомобиля, оборудованного датчиком. Чтобы вывести все контуры маршрута дороги, на которой перемещается автомобиль, оборудованный датчиком, выберите соответствующую опцию для контуров Лейна к выходному параметру.
Агенты передаются Радарному Генератору Обнаружения и блоку Vision Detection Generator, и контуры маршрута передаются блоку Vision Detection Generator. Эти блоки датчика производят синтетические обнаружения из сценария. Выходные параметры находятся в координатах автомобиля, где:
Ось X указывает вперед от автомобиля, оборудованного датчиком.
Ось Y указывает слева от автомобиля, оборудованного датчиком.
Источник расположен в центре задней оси автомобиля, оборудованного датчиком.
Если сценарий имеет несколько автомобилей, оборудованных датчиком в блоке Scenario Reader, установите Систему координат выходного параметра к World coordinates
вместо Vehicle Coordinates
. В системе мировой координаты агенты и контуры маршрута находятся в мировых координатах ведущего сценария. Видимый с большого расстояния Осциллограф не поддерживает визуализацию мировых координат.
В этой модели блок Scenario Reader читает автомобиль, оборудованный датчиком из файла сценария (Источник параметра автомобиля, оборудованного датчиком установлен в Scenario file
). Поскольку этот алгоритм является разомкнутым циклом, поведение автомобиля, оборудованного датчиком не изменяется, когда симуляция совершенствуется. Поэтому Источник параметра автомобиля, оборудованного датчиком установлен в Scenario file
, и блок читает предопределенное положение автомобиля, оборудованного датчиком и траекторию из сценария. Для контроллеров автомобиля и других алгоритмов с обратной связью, набор Источник параметра автомобиля, оборудованного датчиком к Input port
. При использовании этой опции вы задаете автомобиль, оборудованный датчиком, который задан в модели как вход к блоку Scenario Reader. Для примера смотрите Тест Алгоритм ADAS С обратной связью Используя Управление Сценарием.
Чтобы визуализировать сценарий и объект и обнаружения контура маршрута, используйте Видимый с большого расстояния Осциллограф. От панели инструментов модели Simulink кликните по кнопке Bird's-Eye Scope. Затем нажмите Find Signals и запустите симуляцию. Датчик видения правильно генерирует обнаружения для агента неэго и контуров маршрута.
Эта модель использует время остановки симуляции по умолчанию 10 секунд. Однако, потому что сценарий только приблизительно 5 секунд длиной, симуляция продолжает запускаться в Видимом с большого расстояния Осциллографе даже после того, как сценарий закончился. Чтобы синхронизировать симуляцию и времена остановки сценария, на панели инструментов модели Simulink, устанавливают время остановки симуляции на секунды 5.2
, которое является точным временем остановки сценария приложения. После того, как вы запускаете симуляцию, отображения приложения это значение в нижнем правом углу холста сценария.
Если симуляция запускается слишком быстро в Видимом с большого расстояния Осциллографе, можно замедлить симуляцию при помощи следующей симуляции. От панели инструментов модели Simulink выберите Simulation> Pacing Options. Выберите Enable, следующий, чтобы замедлить флажок симуляции и уменьшить время симуляции к немного меньше чем 1 секунде в тактовую стеной секунду, такую как 0,8 секунды. Затем повторно выполните симуляцию в Видимом с большого расстояния Осциллографе.
По окончании с этим примером, удаляете папку в качестве примера из пути поиска файлов MATLAB.
rmpath(genpath(fullfile(matlabroot,'examples','driving')))
Видимый с большого расстояния осциллограф | Driving Scenario Designer | Радарный генератор обнаружения | Читатель сценария | Генератор обнаружения видения