Читатель сценария

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

  • Библиотека:
  • Automated Driving Toolbox / Управление Сценарием и Моделирование Датчика

Описание

Блок Scenario Reader читает дороги и агентов из файла сценария, созданного с помощью приложения Driving Scenario Designer. Блок выводит положения агентов или в системе координат автомобиля, оборудованного датчиком или в мировых координатах сценария. Можно также вывести контуры маршрута.

Чтобы сгенерировать объект и обнаружения контура маршрута от выходных положений агента и контуров маршрута, задайте положения и контуры, когда входные параметры к датчику блокируются, такие как Генератор Обнаружения Видения или Радарный Генератор Обнаружения. Используйте сгенерированные, синтетические обнаружения, чтобы проверить производительность алгоритмов сплава датчика, отслеживая алгоритмы и другие алгоритмы автоматизированной ведущей системы помощи (ADAS). Чтобы визуализировать производительность этих алгоритмов, используйте Bird's-Eye Scope.

Можно считать автомобиль, оборудованный датчиком из файла сценария или задать автомобиль, оборудованный датчиком, заданный в модели как вход к блоку Scenario Reader. Используйте эту опцию, чтобы протестировать алгоритмы регулятора автомобиля с обратной связью, такие как автономное экстренное торможение (AEB), хранение маршрута помогает (LKA) или адаптивный круиз-контроль (ACC).

Ограничения

  • Блок Scenario Reader не считывает данные о датчике из файлов сценария, сохраненных из приложения Driving Scenario Designer. Если файл сценария содержит радар или датчики видения, блок игнорирует те данные о датчике. Для блока, чтобы считать данные о датчике, необходимо создать датчики в модели Simulink®. Например, можно создать эти датчики при помощи Радарных блоков Генератора Обнаружения Генератора и Видения Обнаружения.

  • Большие дорожные сети, включая дорожные сети OpenDRIVE®, могут взять до нескольких минут, чтобы читать в модели.

Порты

Входной параметр

развернуть все

Положение автомобиля, оборудованного датчиком, заданное как шина Simulink, содержащая структуру MATLAB.

Структура должна содержать эти поля.

Поле Описание
ActorID

Заданный сценарием идентификатор агента, заданный как положительное целое число.

Position

Положение агента, заданного как [x y z] вектор с действительным знаком. Модули исчисляются в метрах.

Velocity

Скорость (v) агента в x - y - и z - направления, заданные как [v x v y v z] вектор с действительным знаком. Модули исчисляются в метрах в секунду.

Roll

Угол вращения агента, заданного как действительный скаляр. Модули в градусах.

Pitch

Передайте угол агента, заданного как действительный скаляр. Модули в градусах.

Yaw

Угол отклонения от курса агента, заданного как действительный скаляр. Модули в градусах.

AngularVelocity

Угловая скорость (ω) агента в x - y - и z - направления, заданные как [ω x ω y ω z] вектор с действительным знаком. Модули в градусах в секунду.

Зависимости

Чтобы включить этот порт, установите параметр Source of ego vehicle на Input port.

Вывод

развернуть все

Положения агента сценария, возвращенные как шина Simulink, содержащая структуру MATLAB.

Структура имеет эти поля.

Поле ОписаниеВвод
NumActorsКоличество агентов (исключенный автомобиль, оборудованный датчиком)Неотрицательное целое число
TimeТекущее время симуляцииДействительный скаляр
ActorsАгент позирует в координатах автомобиля, оборудованного датчикомNumActors - массив длины агента излагает структуры

Каждая структура положения агента в Actors имеет эти поля.

Поле Описание
ActorID

Заданный сценарием идентификатор агента, заданный как положительное целое число. ActorID является обязательным полем.

Position

Положение агента, заданного как [x y z] вектор с действительным знаком. Position является обязательным полем. Модули исчисляются в метрах.

Velocity

Скорость (v) агента в x - y - и z - направления, заданные как [v x v y v z] вектор с действительным знаком. Можно задать или Speed или Velocity, но не обоих. Если bothVelocity и Speed не заданы, Velocity по умолчанию [0 0 0] используется. Модули исчисляются в метрах в секунду.

Speed

Скорость агента, заданного как действительный скаляр. Когда Speed задан, скорость агента выравнивается с x - ось агента в системе координат автомобиля, оборудованного датчиком. Можно задать или Speed или Velocity, но не обоих. Если и Velocity и Speed не заданы, Velocity по умолчанию [0 0 0] используется. Модули исчисляются в метрах в секунду.

Roll

Угол вращения агента, заданного как действительный скаляр. Если Roll не задан, значением по умолчанию является 0. Модули в градусах.

Pitch

Передайте угол агента, заданного как действительный скаляр. Если Pitch не задан, значением по умолчанию является 0.Units, в градусах.

Yaw

Угол отклонения от курса агента, заданного как действительный скаляр. Если Yaw не задан, значением по умолчанию является 0.Units, в градусах.

Положение автомобиля, оборудованного датчиком исключено из массива Actors.

Зависимости

Чтобы включить этот порт, установите Source of ego vehicle на Input port.

Контуры маршрута сценария, возвращенные как шина Simulink, содержащая структуру MATLAB.

Структура имеет эти поля.

Поле ОписаниеВвод
NumLaneBoundariesКоличество контуров маршрутаНеотрицательное целое число
TimeТекущее время симуляцииДействительный скаляр
LaneBoundariesКонтуры маршрута в координатах автомобиля, оборудованного датчикомNumLaneBoundaries - массив длины граничных структур маршрута

Каждая граничная структура маршрута в LaneBoundaries имеет эти поля.

Поле Описание

Coordinates

Координаты контура маршрута, заданные как N с действительным знаком-by-3 матрица, где N является количеством контуров маршрута. Координаты контура маршрута задают положение точек на контуре на расстояниях, заданных аргументом пары "имя-значение" 'XDistance' функции laneBoundaries. Кроме того, набор граничных координат вставляются в матрицу на нулевом расстоянии. Модули исчисляются в метрах.

Curvature

Искривление контура маршрута в каждой строке матрицы Coordinates, заданной как N с действительным знаком-by-1 вектор. N является количеством контуров маршрута. Модули исчисляются в радианах на метр.

CurvatureDerivative

Производная искривления контура маршрута в каждой строке матрицы Coordinates, заданной как N с действительным знаком-by-1 вектор. N является количеством контуров маршрута. Модули исчисляются в радианах на квадратный метр.

HeadingAngle

Начальный контур маршрута направляющийся угол, заданный как действительный скаляр. Направляющийся угол контура маршрута относительно заголовка автомобиля, оборудованного датчиком. Модули в градусах.

LateralOffset

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

BoundaryType

Тип маркировки контура маршрута, заданной как одно из этих значений:

  • 'Unmarked' — Никакой физический маркер маршрута не существует

  • 'Solid' — Одна неповрежденная строка

  • 'Dashed' — Одна строка пунктирных маркеров маршрута

  • 'DoubleSolid' — Две неповрежденных строки

  • 'DoubleDashed' — Две пунктирных линии

  • 'SolidDashed' — Сплошная линия слева и пунктирная линия справа

  • 'DashedSolid' — Пунктирная линия слева и сплошная линия справа

Strength

Сила маркировки контура маршрута, заданной как действительный скаляр от 0 до 1. Значение 0 соответствует маркировке, которая не видима. Значение 1 соответствует маркировке, которая абсолютно видима. Значения между 0 и 1 соответствуют частично видимым маркировкам.

Width

Ширина контура маршрута, заданная как положительный действительный скаляр. В маркере маршрута двойной строки та же ширина используется для обеих строк и для пробела между строками. Модули исчисляются в метрах.

Length

Длина тире в пунктирных линиях, заданных как положительный действительный скаляр. В маркере маршрута двойной строки та же длина используется для обеих строк.

Space

Продолжительность пробела между тире в пунктирных линиях, заданных как положительный действительный скаляр. В пунктирном маркере маршрута двойной строки то же пространство используется для обеих строк.

Количество возвращенных граничных структур маршрута зависит от значения параметров Lane boundaries to output.

Зависимости

Чтобы включить этот порт, установите Lane boundaries to output на Ego lane boundaries или All lane boundaries.

Параметры

развернуть все

Ведущее имя файла сценария, заданное как файл сценария, который находится на пути поиска файлов MATLAB или как полный путь к файлу сценария. Файлом сценария является MAT-файл, сохраненный из приложения Driving Scenario Designer. Сценарии, сохраненные в объекте drivingScenario, не поддержаны.

Можно задать файл сценария, содержащий все дороги, агентов, и датчики или файл сценария, содержащий только дороги и агентов. Файлы сценария, содержащие только датчики, не поддержаны. Если заданный файл сценария содержит данные о датчике, блок игнорирует те данные.

Файл сценария по умолчанию показывает автомобиль, оборудованный датчиком, перемещаясь на север на прямой, дороге 2D маршрута с другим автомобилем, перемещаясь на юг в противоположном маршруте.

Чтобы добавить файл сценария в путь поиска файлов MATLAB, используйте функцию addpath. Например, этот код добавляет, что набор папок, содержащих, предварительно создал сценарии Euro NCAP® к пути поиска файлов MATLAB.

path = fullfile(matlabroot,'toolbox','driving','drivingdata', ...
    'PrebuiltScenarios','EuroNCAP');
addpath(genpath(path))

В параметре Driving scenario file name можно затем задать имя любого сценария, расположенного в этих папках, не имея необходимость задавать полный путь к файлу. Например: AEB_PedestrianChild_Nearside_50width.mat

По окончании с помощью сценария в моделях, можно удалить любые добавленные папки из пути поиска файлов MATLAB при помощи функции rmpath

rmpath(genpath(path))

Система координат выходных агентов и контуров маршрута, заданных как одно из этих значений:

  • Vehicle Coordinates — Координаты заданы относительно автомобиля, оборудованного датчиком. Выберите это значение, когда ваш сценарий будет иметь только один автомобиль, оборудованный датчиком.

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

Для получения дополнительной информации на автомобиле и системах мировой координаты, смотрите Системы координат в Automated Driving Toolbox.

Источник автомобиля, оборудованного датчиком, заданного как одна из этих опций:

  • Scenario file — Используйте автомобиль, оборудованный датчиком, заданный в файле сценария, заданном параметром Driving scenario file name. Положение автомобиля, оборудованного датчиком исключено из выходного порта Actors. Выберите эту опцию, чтобы протестировать алгоритмы ADAS разомкнутого цикла, где поведение автомобиля, оборудованного датчиком предопределено и не изменяется, когда сценарий совершенствуется. Для примера см., что Тестовый Алгоритм ADAS Разомкнутого цикла Использует Ведущий Сценарий.

  • Input port — Задайте автомобиль, оборудованный датчиком при помощи входного порта Ego Vehicle. Положение автомобиля, оборудованного датчиком не включено в выходной порт Actors. Выберите эту опцию, чтобы протестировать алгоритмы ADAS с обратной связью, где автомобиль, оборудованный датчиком реагирует на изменения, когда сценарий совершенствуется. Для примера смотрите Тест Алгоритм ADAS С обратной связью Используя Управление Сценарием.

Зависимости

Чтобы включить этот параметр, установите Coordinate system of outputs на Vehicle coordinates.

Шаг расчета симуляции, в секундах, заданных как положительный действительный скаляр. Времена наследованной и непрерывной выборки не поддержаны. Это значение шага расчета является отдельным от шага расчета, используемого при симуляции сценария в приложении Driving Scenario Designer.

Контуры маршрута, чтобы вывести, заданный как одна из этих опций:

  • 'none' Не выводите контуры маршрута.

  • Ego vehicle lane boundaries — Выведите левые и правые контуры маршрута автомобиля, оборудованного датчиком.

  • All lane boundaries — Выведите все контуры маршрута дороги, на которой перемещается автомобиль, оборудованный датчиком.

Если вы выбираете Ego vehicle lane boundaries или All lane boundaries, то блок возвращает контуры маршрута в выходном порту Lane Boundaries.

Зависимости

Чтобы включить этот параметр, установите Coordinate system of outputs на Vehicle coordinates.

Расстояния перед автомобилем, оборудованным датчиком, в котором можно вычислить контуры маршрута, заданные как N - элемент вектор с действительным знаком. N является количеством значений расстояния. Модули исчисляются в метрах.

Пример: 1:0.1:10 вычисляет контуры маршрута каждый 0,1 метра по диапазону от 1 до 10 метров перед автомобилем, оборудованным датчиком.

Местоположение контура маршрута на маркировках маршрута, заданных как одна из опций в этой таблице.

Местоположение контура маршрутаОписаниеПример
Center of lane markingsКонтуры маршрута сосредоточены на маркировках маршрута.

Трехполосная дорога имеет четыре контура маршрута: один на маркировку маршрута.

Inner edge of lane markingsКонтуры маршрута помещаются во внутренние края маркировок маршрута.

Трехполосная дорога имеет шесть контуров маршрута: два на маршрут.

Источник имени для агента излагает шину, возвращенную в выходном порту Actors, заданном как одна из этих опций:

  • 'auto' Блок автоматически создает имя шины положений агента.

  • Свойство Задайте имя шины положений агента при помощи параметра Actors bus name.

Имя агента излагает шину, возвращенную в выходном порту Actors, заданном как допустимое имя шины.

Зависимости

Чтобы включить этот параметр, установите Source of actors bus name на Property.

Источник имени для шины контуров маршрута, возвращенной в выходном порту Lane Boundaries, заданном как одна из этих опций:

  • 'auto' Блок автоматически создает имя шины контуров маршрута.

  • Свойство Задайте имя шины контуров маршрута при помощи параметра Lane boundaries bus name.

Зависимости

Чтобы включить этот параметр, установите Lane boundaries to output на Ego vehicle lane boundaries или All lane boundaries.

Имя шины контуров маршрута возвращено в выходном порту Lane Boundaries, заданном как допустимое имя шины.

Зависимости

Включить этот параметр:

  1. Установите Lane boundaries to output на Ego vehicle lane boundaries или All lane boundaries.

  2. Установите Source of lane boundaries bus name на Property.

  • Interpreted execution — Моделируйте модель с помощью интерпретатора MATLAB. Эта опция сокращает время запуска. В режиме Interpreted execution можно отладить исходный код блока.

  • Code generation — Моделируйте модель с помощью сгенерированного кода C. В первый раз, когда вы запускаете симуляцию, Simulink генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска.

Образцовые примеры

Советы

  • Для лучших результатов используйте только один активный блок Scenario Reader на модель. Чтобы использовать несколько блоков Читателя Сценария в одной модели, переключитесь между блоками путем определения их в различной подсистеме.

  • Чтобы обновить сценарий между симуляциями, откройте файл сценария в приложении Driving Scenario Designer, обновите параметры и повторно сохраните файл. Чтобы переключиться между сценариями с различными установками параметров, можно использовать программное обеспечение Simulink Test™. Для примера смотрите Тестирование Следующего за маршрутом Контроллера с Simulink Test (Simulink Test).

Расширенные возможности

Введенный в R2019a