Scenario Reader

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

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

  • Scenario Reader block

Описание

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

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

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

Ограничения

  • Блок Scenario Reader не считывает данные о датчике из файлов сценария, сохраненных из приложения Driving Scenario Designer. Чтобы воспроизвести датчики в Simulink®, в приложении, открывают файл сценария, который содержит датчики. Затем от панели инструментов приложения выберите Export> Export Sensor Simulink Model. Скопируйте сгенерированные блоки датчика в существующую модель. В качестве альтернативы выберите 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]. Модули в градусах в секунду.

Выведите положение автомобиля, оборудованного датчиком, когда вы преобразуете агентов от координат автомобиля, оборудованного датчиком до мировых координат для использования в 3D среде симуляции. Например, смотрите, Визуализируют Данные о Датчике из Нереальной Среды симуляции Engine.

Зависимости

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

  1. Установите Coordinate system of actors output на Vehicle coordinates.

  2. Установите 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 является количеством координат контура маршрута. Координаты контура маршрута задают положение точек на контуре на заданных продольных расстояниях далеко от автомобиля, оборудованного датчиком вдоль центра дороги.

  • В MATLAB задайте эти расстояния при помощи 'XDistance' аргумент пары "имя-значение" laneBoundaries функция.

  • В Simulink задайте эти расстояния при помощи параметра Distances from ego vehicle for computing boundaries (m) блока Scenario Reader или параметра Distance from parent for computing lane boundaries блока Simulation 3D Vision Detection Generator.

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

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.

Зависимости

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

  1. Установите Coordinate system of actors output на Vehicle coordinates.

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

Положение автомобиля, оборудованного датчиком, возвращенное как шина 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]. Модули в градусах в секунду.

Зависимости

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

  1. Установите Coordinate system of actors output на Vehicle coordinates.

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

  3. Выберите Output ego vehicle pose.

Параметры

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

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

  • 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).

При соединении выходного порта Actors с блоками Lidar Point Cloud Generator оставьте параметр Source of actor profiles в этих блоках набором к From Scenario Reader block по умолчанию. С этой выбранной опцией датчики лидара получают профили агента непосредственно из сценария, считанного блоком Scenario Reader.

Имя переменной по умолчанию, 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 actors output на Vehicle coordinates.

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

  • Когда Source of ego vehicle установлен в Scenario, установите этот параметр на ActorID значение, которое хранится в Actors свойство заданного drivingScenario объект. Проверять допустимый ActorID значения, используйте этот синтаксис, где scenario имя drivingScenario имя переменной.

    actorIDs = [scenario.Actors.ActorID]
  • Когда Source of ego vehicle установлен в Input Port, необходимо установить этот параметр на ActorID значение во входном порту Ego Vehicle блока.

Зависимости

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

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

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

Выберите этот параметр, чтобы вывести положение автомобиля, оборудованного датчиком в порте Ego Vehicle.

Зависимости

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

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

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

Примечание

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

В симуляциях разомкнутого контура, где Source of ego vehicle установлен в Scenario, автомобиль, оборудованный датчиком следует за вертикальным изменением, заданным в ведущем сценарии.

Зависимости

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

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

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

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

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

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

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

Зависимости

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

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

По умолчанию блок вычисляет 101 контур маршрута по диапазону от 150 метров позади автомобиля, оборудованного датчиком к 150 метрам перед автомобилем, оборудованным датчиком. Эти расстояния линейно расположены с интервалами на расстоянии в 3 метра.

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

Зависимости

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

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

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

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

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

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

Зависимости

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

Источник имени для агента излагает шину, возвращенную в выходном порту 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.

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

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

  • Property — Задайте имя шины положения автомобиля, оборудованного датчиком при помощи параметра Ego vehicle bus name.

Зависимости

Чтобы включить этот параметр, выберите параметр Output ego vehicle pose.

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

Зависимости

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

Выберите этот параметр, чтобы отобразить систему координат вводов и выводов блока на блоке Scenario Reader в блок-схеме.

  • Ввод и вывод Ego Vehicle всегда находится в мировых координатах.

  • Lane Boundaries выход всегда находится в координатах транспортного средства.

  • Можно возвратить Actors выход или в транспортном средстве или в мировых координатах, в зависимости от выбора параметра Coordinate system of actors output.

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

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

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

Советы

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

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

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

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

  • Чтобы переключиться между сценариями с различными установками параметров, можно использовать программное обеспечение Simulink Test™. Для примера смотрите, Автоматизируют Тестирование на Хайвея Лейна После.

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

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