В этом примере показано, как протестировать алгоритм ADAS (расширенная система помощи драйверу) без разомкнутого контура в Simulink ®. В разомкнутый контур алгоритме ADAS поведение автомобиля , оборудованного датчиком предопределено и не меняется по мере развития сценария во время симуляции.
Чтобы протестировать алгоритм, вы используете сценарий вождения, который был сохранен из приложения Driving Scenario Designer. В этом примере вы читаете в сценарии с помощью блока Scenario Reader, а затем визуализируете сценарий и обнаружения датчика на Bird ' s-Eye Scope.
Этот пример использует сценарий вождения, который основан на одном из предварительно созданных сценариев, к которым вы получаете доступ через приложение Driving Scenario Designer. Для получения дополнительной информации об этих сценариях смотрите Предстроенные сценарии вождения в Driving Scenario Designer.
Откройте файл сценария в приложении.
drivingScenarioDesigner('LeftTurnScenario.mat')
Чтобы симулировать сценарий, нажмите Запуск. В этом сценарии автомобиль , оборудованный датчиком перемещается на север и проходит прямо через перекресток. Транспортное средство, идущее с левой стороны пересечения, поворачивается налево и заканчивается перед автомобилем , оборудованным датчиком.
В автомобиль , оборудованный датчиком установлены следующие датчики:
Фронтальный радар для генерации обнаружений объектов
Фронтальная камера и задняя камера для генерации обнаружений контуров объектов и маршрутов
Лидар на центре его крыши для генерации данных облака точек сценария
Модель в этом примере была сгенерирована из приложения путем выбора Экспорт > Экспорт модели Simulink. В модели блок Scenario Reader считывает актёров и дороги из файла сценария и выводит актёров, не являющихся эго, и контуры маршрута. Откройте модель.
open_system('OpenLoopWithScenarios.slx')
В блоке Scenario Reader параметр Driving Scenario Designer file name задает имя файла сценария. Можно задать файл сценария, который находится в пути поиска файлов MATLAB, таком как файл сценария, используемый в этом примере, или полный путь к файлу сценария. Кроме того, можно задать
объект путем установки Источника сценария вождения в drivingScenario
From workspace
, а затем установите MATLAB или рабочее пространство модели имя переменной на имя допустимого drivingScenario
переменная рабочей области объекта.
Блок Scenario Reader выводит положения актёров, не являющихся эго, в сценарии и левых и правых контурах автомобиля , оборудованного датчиком. Чтобы вывести все контуры маршрута дороги, по которой автомобиль , оборудованный датчиком едет, выберите соответствующую опцию для параметра Lane контуров to output.
Актёры, контуры маршрута и положение автомобиля , оборудованного датчиком передаются в подсистему, содержащую блоки датчиков. Откройте подсистему.
open_system('OpenLoopWithScenarios/Detection Generators')
Блоки Driving Radar Data Generator, Vision Detection Generator и Lidar Point Cloud Generator производят синтетические обнаружения из сценария. Можно сплавить эти данные о датчике, чтобы сгенерировать дорожки, например, в разомкнутый контур примере Sensor Fusion Using Synthetic Radar и Vision Data в Simulink.
Выходы блоков датчиков в этой модели находятся в координатах транспортного средства, где:
Ось X точек вперед от автомобиля , оборудованного датчиком.
Ось Y указывает налево от автомобиля , оборудованного датчиком.
Источник расположен в центре задней оси автомобиля , оборудованного датчиком.
Поскольку эта модель разомкнутого контура, поведение автомобиля , оборудованного датчиком не меняется по мере развития симуляции. Поэтому параметр Source of автомобиль , оборудованный датчиком устанавливается в Scenario
, и блок считывает предопределенное положение автомобиля , оборудованного датчиком и траекторию из файла сценария. Для контроллеров транспортного средства и других моделей с обратной связью установите параметр Source of автомобиль , оборудованный датчиком в Input port
. С помощью этой опции вы задаете автомобиль , оборудованный датчиком, которая определяется в модели как вход в блок Scenario Reader. Для получения примера см. «Тестирование алгоритма ADAS с обратной связью с использованием сценария вождения».
Чтобы визуализировать сценарий и обнаружение датчиков, используйте Bird ' s-Eye Scope. На панели инструментов Simulink, в разделе Review Результатов, нажмите Bird ' s-Eye Scope. Затем в возможности нажмите Find Signals и запустите симуляцию.
Эта модель использует время остановки симуляции по умолчанию 10 секунд. Поскольку сценарий длится всего около 5 секунд, симуляция продолжает работать в Bird ' s-Eye Scope даже после окончания сценария. Чтобы синхронизировать времена остановки симуляции и сценария, на панели инструментов Simulink model установите время остановки симуляции равным 5.2
секунд, что является точным временем остановки сценария приложения. После запуска симуляции приложение отображает это значение в правом нижнем углу холста сценария.
Если симуляция запускается слишком быстро в Bird ' s-Eye Scope, можно замедлить симуляцию, используя темп симуляции. На панели инструментов Simulink выберите Запуск > Симуляцией Pacing. Установите флажок Включить темп для замедления симуляции и уменьшите время симуляции до чуть менее 1 секунды в секунду настенного времени, например, до 0,8 секунды. Затем перезапустите симуляцию в Bird 's-Eye Scope.