export

Экспортируйте ведущий сценарий в ASAM OpenDRIVE или файл ASAM OpenSCENARIO

Описание

пример

export(scenario,"OpenDRIVE",filename) экспортирует дороги, маршруты, соединения и агентов в ведущем сценарии к ASAM OpenDRIVE® формат файла, описывая статическое содержимое ведущего сценария. Могут быть изменения между исходным сценарием и экспортируемым сценарием. Для получения дополнительной информации смотрите Ограничения.

Функциональный экспорт поддержек ведущие сценарии к OpenDRIVE® версии файла V1.4, V1.5 и версия файла V1.6 ASAM OpenDRIVE.

пример

export(scenario,"OpenSCENARIO",filename) экспортирует дорожную сеть, агентов и траектории в ведущем сценарии к ASAM OpenSCENARIO® формат файла, описывая динамический контент ведущего сценария. Экспорт в файл ASAM OpenSCENARIO также экспортирует несколько файлов данных. Для получения дополнительной информации смотрите Файлы данных, Экспортируемые с Файлом ASAM OpenSCENARIO.

Функциональный экспорт поддержек ведущие сценарии к версии файла V1.0 ASAM OpenSCENARIO.

Примечание

Функция обновляет ведущий сценарий путем интерполяции дополнительного waypoints, чтобы сгенерировать сглаженную траекторию для файла выхода ASAM OpenSCENARIO.

пример

export(___,Name=Value) задает опции с помощью одних или нескольких аргументов name-value и любой из комбинаций входных аргументов от предыдущих синтаксисов. Например, export(scenario,"OpenDRIVE",filename,OpenDRIVEVersion=1.5) экспортирует ведущий сценарий в V1.5 формата файла OpenDRIVE.

Примеры

свернуть все

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

inputScenario = drivingScenario;

Импортируйте дорожную сеть OpenStreetMap® в ведущий сценарий. Для получения дополнительной информации о osm файле, см. [1].

fileName = "chicago.osm";
roadNetwork(inputScenario,"OpenStreetMap",fileName);

Экспортируйте в файл ASAM OpenDRIVE®.

fileName = "chicago.xodr";
export(inputScenario,"OpenDRIVE",fileName);
Warning: There may be minor variation between the actual driving scenario and the exported OpenDRIVE road networks. For more information, see <a href="matlab:helpview(fullfile(docroot,'toolbox','driving','helptargets.map'),'exportOpenDriveCLI')">export</a>.

Считайте экспортируемый файл ASAM OpenDRIVE при помощи roadNetwork функция.

scenario = drivingScenario;
roadNetwork(scenario,"OpenDRIVE",fileName);

Постройте экспортируемый сценарий. Заметьте, что отображение для экспортируемой дорожной сети инвертируется по измерениям X и Y и не имеет границ.

figure
plot(inputScenario)
zoom(2);
title("Actual Scenario")

figure
plot(scenario)
zoom(2);
title("Exported Scenario")

Приложение

[1] osm файл загружается с https://www.openstreetmap.org, который обеспечивает доступ к полученным толпой данным о карте во всем мире. Данные лицензируются под Открытыми Данными палата общин Открытая Лицензия Базы данных (ODbL), https://opendatacommons.org/licenses/odbl/.

Создайте ведущий сценарий с одной дорогой, имеющей S-кривую.

scenario = drivingScenario;
roadcenters = [-35 20 0; -20 -20 0; 0 0 0; 20 20 0; 35 -20 0];

Создайте маршруты и добавьте их в дорогу.

lm = [laneMarking("Solid",Color="w") ...
     laneMarking("Dashed",Color="y") ...
     laneMarking("Dashed",Color="y") ...
     laneMarking("Solid",Color="w")];
ls = lanespec(3,Marking=lm);
road(scenario,roadcenters,"Lanes",ls);

Постройте сценарий.

plot(scenario)

Экспортируйте дорожную сеть в сценарии к файлу ASAM OpenDRIVE®.

fileName = "scurveroad.xodr";
export(scenario,"OpenDRIVE",fileName,OpenDRIVEVersion=1.6)
Warning: There may be minor variation between the actual driving scenario and the exported OpenDRIVE road networks. For more information, see <a href="matlab:helpview(fullfile(docroot,'toolbox','driving','helptargets.map'),'exportOpenDriveCLI')">export</a>.

Можно импортировать файл ASAM OpenDRIVE к рабочей области MATLAB® при помощи roadNetwork функция.

scenario = drivingScenario;
roadNetwork(scenario,"OpenDRIVE",fileName)
plot(scenario)

Copyright 2020-21 The MathWorks, Inc.

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

scenario = drivingScenario(StopTime=6);

Импортируйте дорожную сеть из файла ASAM OpenDRIVE® в сценарий.

fileName = "parking.xodr";  
roadNetwork(scenario,"OpenDRIVE",fileName);

Добавьте автомобиль, оборудованный датчиком в сценарий. Установите траекторию, в которой транспортное средство ведет машину по кривой на различной скорости.

egoVehicle = vehicle(scenario,ClassID=1);
waypoints = [-80 43; -34 29; -18 15; -10 -2; 4 -17; 38 -24; 52 -20];
speed = [50 20 20 20 20 50 50];
trajectory(egoVehicle,waypoints,speed);

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

truck = vehicle(scenario,ClassID=2,Position=[4 -17 0],EntryTime=3);
waypoints = [4 -17; 20 -24; 38 -24; 60 -16];
speed = [40 40 40 40];
trajectory(truck,waypoints,speed);

Постройте сценарий и запустите симуляцию. Наблюдайте, как транспортное средство замедляется, когда оно ведет машину по кривой.

plot(scenario,Waypoints="on");
while advance(scenario)
    pause(0.01)
end

Экспортируйте сценарий в файл ASAM OpenSCENARIO®.

export(scenario,"OpenSCENARIO","parking.xosc");

Figure contains an axes object. The axes object contains 10 objects of type patch, line.

Warning: Exported road network to OpenDRIVE may have minor variations than actual road network in the scenario. For more information, see <a href="matlab:helpview(fullfile(docroot,'toolbox','driving','helptargets.map'),'exportOpenDriveCLI')">export</a>.

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

свернуть все

Ведущий сценарий в виде drivingScenario объект. Ведущий сценарий должен содержать одну или несколько дорожных сетей для того, чтобы экспортировать его в формат файла ASAM OpenDRIVE.

Ведущий сценарий должен содержать одного или несколько агентов, чтобы экспортировать его в формат файла ASAM OpenSCENARIO.

Если ведущий сценарий не имеет технических требований маршрута, то export функционируйте присваивает спецификацию маршрута по умолчанию при экспорте дорожной сети в ASAM OpenDRIVE или формат файла ASAM OpenSCENARIO.

Имя целевого файла в виде вектора символов или строкового скаляра. Можно задать имя файла с или без расширения файла. Если вы принимаете решение задать расширение файла, расширение файла должно быть одним из них:

  • Файл ASAM OpenDRIVE — .xodr (значение по умолчанию) или .xml

  • Файл ASAM OpenSCENARIO — .xosc (значение по умолчанию) или .xml

Если заданное имя файла, включая расширение файла, уже существует, то функция перезаписывает данные в существующем файле с ведущим сценарием, заданным в scenario аргумент.

Типы данных: char | string

Аргументы name-value

Задайте дополнительные пары аргументов как Name1=Value1,...,NameN=ValueN, где Name имя аргумента и Value соответствующее значение. Аргументы name-value должны появиться после других аргументов, но порядок пар не имеет значения.

Пример: export(scenario,"OpenDRIVE","newfile.xodr",OpenDRIVEVersion=1.6) экспортирует ведущий сценарий в версию файла V1.6 ASAM OpenDRIVE.

Версия файла OpenDRIVE в виде 1.4, 1.5, или 1.6. Функция экспортирует ведущий сценарий в заданную версию файла OpenDRIVE.

Типы данных: single | double

Экспортируйте флаг агентов в виде логического 1 TRUE) или логический 0 ложь) .

  • true или 1 — Экспортируйте агентов от ведущего сценария до файла ASAM OpenDRIVE.

  • false или 0 — Не экспортируйте агентов от ведущего сценария до файла ASAM OpenDRIVE.

Типы данных: логический

Ограничения

Ограничения экспорта ASAM OpenDRIVE

Дороги

  • Кубический полином и параметрические типы геометрии кубического полинома в сценарии экспортируются как спиральные типы геометрии. Это вызывает некоторые изменения экспортируемой дорожной геометрии, если дорога является кривой дорогой. Например, в рисунке ниже, заметьте, что острые углы на входной дороге стали относительно сглаженными, когда экспортируется в формат ASAM OpenDRIVE.

    Инпут-РоудЭкспортируемая дорога ASAM OpenDRIVE

    Original road

    Exported road

  • Когда сегменты смежного перекрытия дорог друг с другом, функция не экспортирует перекрывающиеся сегменты дорог.

    Введите дорогиЭкспортируемые дороги ASAM OpenDRIVE

    Input overlapping roads

    Exported roads

Маршруты

  • Когда дорога с несколькими техническими требованиями маршрута имеет любой сегмент, содержащий только одну полосу, функция не экспортирует несколько технических требований маршрута. Вместо этого технические требования первого дорожного сегмента применяются к целой дороге при экспорте.

    Инпут-РоудЭкспортируемая дорога ASAM OpenDRIVE

    Первый сегмент исходной дороги имеет только одну полосу.

    Original road with lane add

    Целая экспортируемая дорога имеет ту же спецификацию как первый сегмент входной дороги.

    Exported road without lane add

  • Когда дорога с несколькими техническими требованиями маршрута содержит заострение между двумя дорожными сегментами, функция экспортирует дорогу без заострения.

    Инпут-РоудЭкспортируемая дорога ASAM OpenDRIVE

    Original road with taper

    Exported road without taper

  • Когда дорога, состоящая из нескольких сегментов, соединяется с соединением, функция не экспортирует дорогу.

Соединения

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

    Инпут-РоудЭкспортируемая дорога ASAM OpenDRIVE

    Original junction

    Exported junction

Агенты

  • export функция не экспортирует агента, который присутствует или на соединении или на дороге с несколькими дорожными сегментами.

  • При экспорте пользовательского агента функция устанавливает тип объекта к 'none'.

Импорт ASAM OpenDRIVE

  • Когда вы экспортируете ведущий объект сценария, который содержит импортированный сценарий ASAM OpenDRIVE, ограничения импорта ASAM OpenDRIVE применяются к экспорту ASAM OpenDRIVE. Можно импортировать сценарий ASAM OpenDRIVE к drivingScenario объект при помощи roadNetwork функция. Для получения информации об ограничениях импорта ASAM OpenDRIVE смотрите roadNetwork.

Больше о

свернуть все

Файлы данных, экспортируемые с файлом ASAM OpenSCENARIO

При экспорте ведущего сценария в файл ASAM OpenSCENARIO функция также экспортирует дополнительные файлы данных. Каждый файл данных описывает информацию об определенном элементе, таком как транспортное средство или пешеход. Имя каждого файла данных имеет префиксный filename_, где filename имя, заданное в filename аргумент, исключая расширение.

Файл данныхЭлемент сценария
OpenDRIVE.xodrДорожная сеть и барьеры в сценарии
VehicleCatalog.xoscСвойства транспортных средств
PedestrianCatalog.xoscСвойства пешеходов

Примечание

  • Функция экспортирует только соответствующие файлы данных согласно сценарию. Например, если сценарий не содержит пешеходов, то файл данных PedestrianCatalog.xosc не экспортируется.

  • С R2021b функция экспортирует маршруты агента в первичный файл ASAM OpenSCENARIO с помощью экземпляров Trajectory элемент. В R2021a маршруты агентов экспортируются отдельно с помощью RouteCatalog файл, который содержит экземпляры Route элемент.

  • Когда ведущий сценарий содержит дорожную сеть, ограничения экспорта ASAM OpenDRIVE применяются к экспортируемому OpenDRIVE.xodr файл данных.

Введенный в R2020b