Протестируйте алгоритм ADAS разомкнутого цикла Используя управление сценарием

В этом примере показано, как протестировать ADAS разомкнутого цикла (продвинутая система помощи водителю) алгоритм в Simulink®. В алгоритме ADAS разомкнутого цикла поведение автомобиля, оборудованного датчиком предопределено и не изменяется, когда сценарий совершенствуется в процессе моделирования.

Чтобы протестировать сценарий, вы используете ведущий сценарий, который был сохранен из приложения Driving Scenario Designer. В этом примере вы читаете в сценарии с помощью блока Scenario Reader, и затем визуально проверяете производительность алгоритмов датчика на Bird ' s-Eye Scope.

Прежде, чем начать этот пример, добавьте папку в качестве примера в путь поиска файлов MATLAB®.

addpath(genpath(fullfile(matlabroot,'examples','driving')))

Смотрите ведущий сценарий

Этот пример использует ведущий сценарий, который основан на одном из предварительно созданных сценариев, к которым можно получить доступ через приложение Driving Scenario Designer. Для получения дополнительной информации об этих сценариях см. Предварительно созданные Ведущие Сценарии в Driving Scenario Designer.

Откройте файл сценария в приложении.

drivingScenarioDesigner('LeftTurnScenario.mat')

Нажмите Run, чтобы симулировать сценарий. В этом сценарии автомобиль, оборудованный датчиком перемещается на север и идет сквозной пересечение. Между тем транспортное средство, прибывающее из левой стороны пересечения, поворачивает налево и заканчивается перед автомобилем, оборудованным датчиком.

Автомобиль, оборудованный датчиком также включает обращенный к передней стороне радар для генерации обнаружений объектов и обращенных к передней стороне и камер, расположенных "против движения", для генерации объекта и обнаружений контура маршрута.

Смотрите модель

Модель, используемая в этом примере, была сгенерирована из приложения путем выбора Export> Export Simulink Model. В модели блок Scenario Reader читает агентов и дороги из файла сценария и выводит агентов неэго и контуры маршрута. Откройте модель.

open_system('OpenLoopWithScenarios.slx')

В блоке Scenario Reader параметр имени файла Driving Scenario Designer задает имя файла сценария. Можно задать файл сценария, который находится на пути поиска файлов MATLAB, таком как файл сценария, используемый в этом примере или полном пути к файлу сценария. В качестве альтернативы можно задать drivingScenario объект установкой Source ведущего сценария к From workspace и затем установка MATLAB или имя переменной рабочего пространства модели к имени допустимого drivingScenario объектная переменная рабочей области.

Блок Scenario Reader выводит положения агентов неэго в сценарии и лево-маршруте и контурах правильного маршрута автомобиля, оборудованного датчиком. Чтобы вывести все контуры маршрута дороги, на которой перемещается автомобиль, оборудованный датчиком, выберите соответствующую опцию для контуров Лейна к выходному параметру.

Агенты и контуры маршрута передаются подсистеме, содержащей блоки датчика. Откройте подсистему.

open_system('OpenLoopWithScenarios/Detection Generators')

Блок Radar Detection Generator принимает агентов как вход. Блок Vision Detection Generator принимает агентов и контуры маршрута, как введено. Эти блоки датчика производят синтетические обнаружения из сценария. Выходные параметры находятся в координатах транспортного средства, где:

  • Ось X указывает вперед от автомобиля, оборудованного датчиком.

  • Ось Y указывает слева от автомобиля, оборудованного датчиком.

  • Источник расположен в центре задней оси автомобиля, оборудованного датчиком.

Если сценарий имеет несколько автомобилей, оборудованных датчиком в блоке Scenario Reader, установите Систему координат выходного параметра к World coordinates вместо Vehicle coordinates. В системе мировой координаты агенты и контуры маршрута находятся в мировых координатах ведущего сценария. Когда этот параметр устанавливается на World coordinates, однако, визуализация сценария с помощью Bird ' s-Eye Scope не поддержана.

Поскольку эта модель является разомкнутым циклом, поведение автомобиля, оборудованного датчиком не изменяется, когда симуляция совершенствуется. Поэтому Источник параметра автомобиля, оборудованного датчиком установлен в Scenario, и блок читает предопределенное положение автомобиля, оборудованного датчиком и траекторию из файла сценария. Для контроллеров транспортного средства и других моделей с обратной связью, набор Источник параметра автомобиля, оборудованного датчиком к Input port. При использовании этой опции вы задаете автомобиль, оборудованный датчиком, который задан в модели как вход с блоком Scenario Reader. Для примера смотрите Тест Алгоритм ADAS С обратной связью Используя Управление Сценарием.

Визуально проверьте алгоритм

Чтобы визуализировать сценарий и объект и обнаружения контура маршрута, используйте Bird ' s-Eye Scope. От панели инструментов Simulink, рассматриваемых Результатов, нажимают Bird's-Eye Scope. Затем в осциллографе нажмите Find Signals и запустите симуляцию. Датчики генерируют обнаружения для агента неэго и контуров маршрута.

Обновите настройки симуляции

Эта модель использует время остановки симуляции по умолчанию 10 секунд. Однако, потому что сценарий только приблизительно 5 секунд длиной, симуляция продолжает запускаться в Bird ' s-Eye Scope даже после того, как сценарий закончился. Чтобы синхронизировать симуляцию и времена остановки сценария, на панели инструментов модели Simulink, устанавливают время остановки симуляции на 5.2 секунды, который является точным временем остановки сценария приложения. После того, как вы запускаете симуляцию, отображения приложения это значение в нижнем правом углу холста сценария.

Если симуляция запускается слишком быстро в Bird ' s-Eye Scope, можно замедлить симуляцию при помощи следующей симуляции. От панели инструментов Simulink выберите Run> Simulation Pacing. Выберите Enable, следующий, чтобы замедлить флажок симуляции и уменьшить время симуляции к немного меньше чем 1 секунде в тактовую стенкой секунду, такую как 0,8 секунды. Затем повторно выполните симуляцию в Bird ' s-Eye Scope.

По окончании с этим примером, удаляете папку в качестве примера из пути поиска файлов MATLAB.

rmpath(genpath(fullfile(matlabroot,'examples','driving')))

Смотрите также

Приложения

Блоки

Похожие темы