Scenario Reader

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

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

Описание

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

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

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

Ограничения

  • Блок Scenario Reader не считывает данные о датчике из файлов сценария, сохраненных из приложения Driving Scenario Designer. Чтобы воспроизвести датчики в Simulink®, в приложении, открывают файл сценария, который содержит датчики. Затем от панели инструментов приложения выберите Export> Export Sensor Simulink Model. Скопируйте сгенерированный Radar Detection Generator и блоки датчика Vision Detection Generator в существующую модель. В качестве альтернативы выберите Export> Export Simulink Model и запустите новую модель со сгенерированного блока Scenario Reader и блоков датчика.

  • Большие дорожные сети, включая дорожные сети 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

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

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] вектор с действительным знаком. Модули в градусах в секунду.

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

Контуры маршрута сценария, возвращенные как шина 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 соответствует маркировке, цвет которой полностью насыщается.

Width

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

Length

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

Space

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

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

Зависимости

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

Параметры

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

Источник ведущего сценария, заданного как эта опция:

  • From file — В параметре Driving Scenario Designer file name задайте имя файла сценария, который был сохранен из приложения Driving Scenario Designer.

  • From workspace — В параметре MATLAB or model workspace variable name задайте имя рабочего пространства MATLAB или переменной рабочего пространства модели, которая содержит drivingScenario объект.

Имя файла сценария, заданное как файл сценария на пути поиска файлов MATLAB или как полный путь к файлу сценария. Файлом сценария должен быть MAT-файл, сохраненный из приложения Driving Scenario Designer. Если параметр Source of ego vehicle устанавливается на Scenario, затем сценарий должен содержать автомобиль, оборудованный датчиком. В противном случае блок возвращает ошибку в процессе моделирования.

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

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

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

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

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

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

rmpath(genpath(path))

Зависимости

Чтобы включить этот параметр, установите Source of driving scenario на From file.

Имя переменной сценария, заданное как имя рабочего пространства MATLAB или переменной рабочего пространства модели, которая содержит допустимый drivingScenario объект. Если переменная сценария с тем же именем появляется и в рабочем пространстве MATLAB и в рабочем пространстве модели, блок использует переменную, заданную в рабочем пространстве модели.

Если параметр Source of ego vehicle устанавливается на Scenario, затем drivingScenario объект должен содержать автомобиль, оборудованный датчиком. Чтобы определять, какой агент в объекте является автомобилем, оборудованным датчиком в параметре Ego vehicle ActorID, задают ActorID значение свойства того агента.

При соединении выходного порта Actors с Radar Detection Generator или блоками Vision Detection Generator, обновите эти блоки, чтобы получить профили агента непосредственно из drivingScenario объект. На вкладке Actor Profiles каждого блока, устанавливает Избранный метод, чтобы указать, что агент профилирует параметр к MATLAB expression. Затем установите выражение MATLAB для параметра профилей агента вызывать actorProfiles функция на объекте. Например: actorProfiles(scenario).

Имя переменной по умолчанию, scenario, имя по умолчанию drivingScenario объекты, произведенные функциями MATLAB, которые экспортируются из приложения Driving Scenario Designer. По умолчанию эта переменная не включена в рабочее пространство MATLAB или рабочее пространство модели.

Зависимости

Чтобы включить этот параметр, установите Source of driving scenario на From workspace.

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

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

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

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

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

  • Scenario — Используйте автомобиль, оборудованный датчиком, заданный в сценарии, который задан параметром MATLAB or model workspace variable name или Driving Scenario Designer file name. Положение автомобиля, оборудованного датчиком исключено из выходного порта Actors. Положения агента находятся в координатах транспортного средства, означая, что они относительно положения мировой координаты автомобиля, оборудованного датчиком в сценарии.

    Выберите эту опцию, чтобы протестировать алгоритмы ADAS разомкнутого цикла, где поведение автомобиля, оборудованного датчиком предопределено и не изменяется, когда сценарий совершенствуется. Для примера см., что Тестовый Алгоритм ADAS Разомкнутого цикла Использует Ведущий Сценарий.

  • Input port — Задайте автомобиль, оборудованный датчиком при помощи входного порта Ego Vehicle. Положение автомобиля, оборудованного датчиком не включено в выходной порт Actors.

    При использовании этой опции автомобиль, оборудованный датчиком в вашей модели должен включать стартовую позицию, которая находится в мировых координатах. Все другие положения агента находятся в координатах транспортного средства и расположены относительно автомобиля, оборудованного датчиком. Для примера автомобиля, оборудованного датчиком с заданной информацией о положении смотрите, что Маршрут Сохранить Помогает с Обнаружением Маршрута. При определении стартовой позиции автомобиля, оборудованного датчиком рассмотрите использование положения, которое уже задано в сценарии. При помощи этого положения, если вы устанавливаете Source of ego vehicle на Scenario и затем обратно к Input port, вы не должны вручную менять стартовое положение.

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

Зависимости

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

ID агента автомобиля, оборудованного датчиком, заданного как положительное целое число. Используйте этот параметр, когда это необходимо, чтобы симулировать использование автомобиля, оборудованного датчиком, который читается из drivingScenario объект. Блок получает Значение идентификатора из ActorID свойство транспортного средства сохранено в Actors свойство drivingScenario объект.

Транспортным средством должен быть Vehicle объект создал использование vehicle функция. Значением идентификатора должен быть допустимый ActorID в рамках сценария.

Проверять допустимый ActorID значения drivingScenario объект, используйте этот синтаксис.

actorIDs = [scenarioVariableName.Actors.ActorID]

Зависимости

Чтобы включить этот параметр, установите эти параметры в этом порядке:

  1. Установите Source of driving scenario на From workspace.

  2. Установите Coordinate system of outputs на Vehicle coordinates.

  3. Установите Source of ego vehicle на Scenario.

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

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

  • 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 — Блок автоматически создает имя шины положений агента.

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

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

Зависимости

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

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

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

  • Property — Задайте имя шины контуров маршрута при помощи параметра 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/C++. В первый раз, когда вы запускаете симуляцию, Simulink генерирует код C/C++ для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска.

Примеры модели

Советы

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

  • Чтобы протестировать ваш алгоритм на изменениях ведущего сценария, можно обновить сценарий между симуляциями.

    • Если источник сценария является файлом сценария, откройте файл сценария в приложении Driving Scenario Designer, обновите параметры и повторно сохраните файл.

    • Если источником сценария является drivingScenario объект, обновите объект в рабочем пространстве MATLAB или рабочем пространстве модели. В качестве альтернативы импортируйте объект в приложение, измените сценарий в приложении, и затем сгенерируйте новый объект из приложения. Для получения дополнительной информации смотрите, Создают Ведущие Изменения Сценария Программно.

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

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

Введенный в R2019a