主要内容

出口

出口驱动的场景ASAM OpenDRIVE,ASAM OpenSCENARIO走鹃高清地图文件

自从R2020b

描述

例子

出口(场景“OpenDRIVE”,文件名)出口的道路,车道,连接,和演员ASAM OpenDRIVE驾驶场景®文件格式,描述驾驶场景的静态内容。之间可能存在变化的原始场景和导出的场景。有关详细信息,请参见限制

函数支持出口OpenDRI金宝appVE驾驶场景®文件版本V1.4, V1.5 ASAM OpenDRIVE V1.6文件版本。

例子

出口(场景“OpenSCENARIO”,文件名)出口的道路网络,演员,ASAM OpenSCENARIO轨迹在驾驶的情况下®文件格式,描述驾驶场景的动态内容。出口一个ASAM OpenSCENARIO文件还出口一些数据文件。有关更多信息,请参见数据文件导出与ASAM OpenSCENARIO文件。知道默认演员参数函数出口,看到的ASAM OpenSCENARIO表示

函数支持出口驾驶场景ASA金宝appM OpenSCENARIO V1.0, V1.1文件版本。

请注意

  • 函数中指定插入额外的路径点之间的驾驶情况下,为导出的演员在输出生成平滑轨迹ASAM OpenSCENARIO文件。

  • 功能不支持出口反向路径点的演员ASAM Op金宝appenSCENARIO文件。

例子

出口(___,名称=值)指定选项使用一个或多个名称参数和输入参数的组合从以前的语法。例如,出口(场景中,“OpenDRIVE”,文件名,OpenDRIVEVersion = 1.5)出口的驾驶场景V1.5 OpenDRIVE文件格式。

出口(场景“走鹃高清地图”,文件名)出口的道路网络和静态演员的驾驶场景走鹃高清地图文件格式,描述驾驶场景的静态内容。之间可能存在变化的原始场景和导出的场景。有关详细信息,请参见限制

例子

全部折叠

创建一个驾驶场景。

inputScenario = drivingScenario;

OpenStreetMap®道路网络导入驾驶场景。关于osm文件的更多信息,请参阅[1]

文件名=“chicago.osm”;roadNetwork (inputScenario“公开”文件名);

出口到ASAM OpenDRIVE®文件。

文件名=“chicago.xodr”;出口(inputScenario“OpenDRIVE”文件名);
警告:可能有轻微变化之间的实际驾驶场景和出口OpenDRIVE公路网络。有关更多信息,请参见< a href = " matlab: helpview (fullfile (docroot,“工具箱”,“驾驶”,“helptargets.map”),“exportOpenDriveCLI”) " > < / >出口。

读导出ASAM OpenDRIVE文件使用roadNetwork函数。

场景= drivingScenario;roadNetwork(场景中,“OpenDRIVE”文件名);

图导出的场景。注意,出口道路网的显示了沿着x和y尺寸和没有边框线。

图绘制(inputScenario)变焦(2);标题(“实际情况”)

图绘制(场景)变焦(2);标题(“出口场景”)

附录

[1]osm文件下载https://www.openstreetmap.org,它提供了访问世界各地的众包地图数据。数据开放数据共享开放数据库许可下的(ODbL),https://opendatacommons.org/licenses/odbl/

创建驾驶场景一条路有一个s曲线。

场景= drivingScenario;roadcenters = [-35 20 0;-20 -20 0;0 0 0;20个20 0;35 -20 0];

创建通道,并将它们添加到路上。

lm = [laneMarking (“固体”颜色=“w”)laneMarking (“冲”颜色=“y”)laneMarking (“冲”颜色=“y”)laneMarking (“固体”颜色=“w”));ls = lanespec(3,标志= lm);路(场景、roadcenters“道”、ls);

画出场景。

情节(场景)

出口的道路网络场景ASAM OpenDRIVE®文件。

文件名=“scurveroad.xodr”;出口(场景中,“OpenDRIVE”文件名,OpenDRIVEVersion = 1.6)
警告:可能有轻微变化之间的实际驾驶场景和出口OpenDRIVE公路网络。有关更多信息,请参见< a href = " matlab: helpview (fullfile (docroot,“工具箱”,“驾驶”,“helptargets.map”),“exportOpenDriveCLI”) " > < / >出口。

您可以导入ASAM OpenDRIVE文件通过使用MATLAB®工作空间roadNetwork函数。

场景= drivingScenario;roadNetwork(场景中,“OpenDRIVE”文件名)情节(场景)

版权2020 - 21 MathWorks公司。

创建一个驾驶场景。

场景= drivingScenario (StopTime = 6);

进口的道路网络ASAM OpenDRIVE®文件放到场景。

文件名=“parking.xodr”;roadNetwork(场景中,“OpenDRIVE”文件名);

添加一个自我车辆的场景。设置一个沿着曲线轨道车辆的驱动速度不同。

egoVehicle =车辆(场景,ClassID = 1);路点= [-80 43;-34年29日;-18 15;-10 2;4 -17;38 -24;52 -20);速度= [50 20 20 20 20 50 50];轨迹(egoVehicle、锚点、速度);

添加一个non-ego演员和设置它产卵在仿真时间价值通过指定一个条目。生成的轨迹non-ego演员。

卡车=车辆(场景,ClassID = 2,位置= -17 0][4,EntryTime = 3);路点= [4 -17;20 -24;38 -24;60 -16];速度= (40 40 40 40);轨迹(卡车、锚点、速度);

情节和运行模拟的场景。观察车辆减速开车沿着曲线。

(场景中,锚点=“上”);推进(场景)暂停(0.01)结束

图包含一个坐标轴对象。坐标轴对象包含X (m), ylabel Y (m),包括10个补丁类型的对象。一个或多个行显示的值只使用标记

出口的场景ASAM OpenSCENARIO®文件。

出口(场景中,“OpenSCENARIO”,“parking.xosc”);

创建一个驾驶场景对象。

场景= helperCreateDrivingScenario;

画出场景。

情节(场景)

直接出口驱动场景.rrhd二进制文件。

出口(场景中,“走鹃高清地图”,“directExportScenario.rrhd”)

或者,您可以首先得到走鹃高清地图对象的场景和情节。

rrMap = getRoadRunnerHDMap(场景);情节(rrMap)

您可以检查它并进行任意修改。然后,写走鹃高清映射到.rrhd二进制文件。

写(rrMap“4 wayintersection.rrhd”)

地图导入走鹃。

rrApp =走鹃(“D: \ RR \ TestProjects”);importScene (rrApp fullfile (pwd,“4 wayintersection.rrhd”),“走鹃高清地图”)

辅助函数

helperCreateDrivingScenario创建一个四路路口开车场景自我车辆和行人。

函数场景= helperCreateDrivingScenario%创建场景和添加道路场景= drivingScenario;roadCenters = [0 40 0;0 -40 0];标志= [laneMarking (“固体”)laneMarking (“冲”)laneMarking (“固体”));laneSpecification = lanespec (2“宽度”,3.5,“标记”,标志着);路(场景、roadCenters“道”laneSpecification,“名字”,“路”);roadCenters = [-40 0 0;40 0 0];标志= [laneMarking (“固体”)laneMarking (“冲”)laneMarking (“固体”));laneSpecification = lanespec (2“宽度”,3.5,“标记”,标志着);路(场景、roadCenters“道”laneSpecification,“名字”,“Road1”);11.5 roadCenters = [0 0;0.8753853761202 - 7.0991405278015 0;3.3682720163547 - 3.3682720163547 0;7.0991405278015 - 0.8753853761202 0;11.5 0 0];标志= [laneMarking (“固体”)laneMarking (“冲”)laneMarking (“固体”));laneSpecification = lanespec (2“宽度”,3.5,“标记”,标志着);路(场景、roadCenters“道”laneSpecification,“名字”,“Road2”);-11.5 roadCenters = [0 0;0.8753853761202 - -7.0991405278015 0;3.3682720163547 - -3.3682720163547 0;7.0991405278015 - -0.8753853761202 0;11.5 0 0];标志= [laneMarking (“固体”)laneMarking (“冲”)laneMarking (“固体”));laneSpecification = lanespec (2“宽度”,3.5,“标记”,标志着);路(场景、roadCenters“道”laneSpecification,“名字”,“Road3”);-11.5 roadCenters = [0 0;-0.8753853761202 - -7.0991405278015 0;-3.3682720163547 - -3.3682720163547 0;-7.0991405278015 - -0.8753853761202 0;-11.5 0 0];标志= [laneMarking (“固体”)laneMarking (“冲”)laneMarking (“固体”));laneSpecification = lanespec (2“宽度”,3.5,“标记”,标志着);路(场景、roadCenters“道”laneSpecification,“名字”,“Road4”);11.5 roadCenters = [0 0;-0.8753853761202 - 7.0991405278015 0;-3.3682720163547 - 3.3682720163547 0;-7.0991405278015 - 0.8753853761202 0;-11.5 0 0];标志= [laneMarking (“固体”)laneMarking (“冲”)laneMarking (“固体”));laneSpecification = lanespec (2“宽度”,3.5,“标记”,标志着);路(场景、roadCenters“道”laneSpecification,“名字”,“Road5”);%增加自我的车辆egoVehicle =车辆(场景中,“ClassID”, 1“位置”,30 0][-1.75,“FrontOverhang”,0.9,的轴距,2.8,“网”driving.scenario.carMesh,“名字”,被测车辆的);路点= [-1.75 30 0;-1.75 - 10.629767723813 0;-0.980075893866154 - 4.2738387109925 0;4.2738387109925 - -0.980075893866154 0;10.629767723813 - -1.75 0;30 -1.75 0];速度= 2.77777777777778;偏航= (-90;-90;-69.38;-20.62;0;0];smoothTrajectory (egoVehicle锚点、速度、“偏航”、偏航);%添加non-ego演员euroncappedestriantarget =演员(场景中,“ClassID”4“长度”,0.6,“宽度”,0.5,“高度”,1.8,“位置”(9.5 - -7.75 0),“PlotColor”(32 237 177)/ 255,“名字”,“欧洲五星行人目标”);路点= (9.5 - -7.75 0;9.5 - -6.75 0;9.5 10 0];速度= (0、1.38888888888889、1.38888888888889);waittime = (7.82, 0, 0);轨迹(euroncappedestriantarget,锚点、速度、waittime);结束

输入参数

全部折叠

驾驶的情况下,指定为一个drivingScenario对象。驾驶场景中必须包含一个或多个公路网络为了出口ASAM OpenDRIVE文件格式。

驾驶场景中必须包含一个或多个演员出口ASAM OpenSCENARIO文件格式。

如果驾驶场景没有巷规格,然后出口函数分配一个默认巷规范而出口的道路网络ASAM OpenDRIVE或ASAM OpenSCENARIO文件格式。

目标文件的名称,指定为一个特征向量或字符串标量。您可以指定文件扩展名的文件名有或没有。如果你选择指定文件扩展名,文件扩展名必须是其中的一个:

  • ASAM OpenDRIVE文件-.xodr(默认)或. xml

  • ASAM OpenSCENARIO文件-.xosc(默认)或. xml

  • 走鹃

    高清地图文件,.rrhd

如果指定的文件名,包括文件扩展名,已经存在,那么该函数覆盖现有文件中的数据与驾驶场景中指定场景论点。

数据类型:字符|字符串

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

例子:出口(场景中,“OpenDRIVE”、“newfile.xodr”, OpenDRIVEVersion = 1.6)出口驾驶场景ASAM OpenDRIVE V1.6文件版本。

版本的OpenDRIVE文件,指定为1.4,1.5,或1.6。指定的函数出口驱动的场景OpenDRIVE文件的版本。

数据类型:|

出口演员国旗,指定为一个逻辑1(真正的)或逻辑0()。

  • 真正的1——出口的演员从驾驶场景ASAM OpenDRIVE文件。

  • 0——不出口演员从驾驶场景ASAM OpenDRIVE文件。

数据类型:逻辑

版本的ASAM OpenSCENARIO文件,指定为1.01.1。指定的函数出口驱动的场景ASAM OpenSCENARIO文件的版本。

数据类型:|

出口TimeReference元素国旗,指定为一个逻辑1(真正的)或逻辑0()。

  • 真正的1- - - - - -出口TimeReference元素的FollowTrajectoryAction时机财产ASAM OpenSCENARIO文件。演员路标点的时域函数出口绝对价值没有任何缩放和抵消从驾驶场景轨迹内的元素初始化部分输出的ASAM OpenSCENARIO文件。这个选项指定您应该考虑的时间信息导出演员完全指定角色的运动轨迹,包括他们的速度和等待时间。因此,故事导出文件不包含任何元素SpeedAction元素。的故事元素可以包含导出的文件VisibilityAction如果你指定有效的元素EntryTimeExitTime参数一个演员。

  • 0——出口空TimeReference元素的FollowTrajectoryAction。这个选项指定您不应该考虑中包含的时间信息轨迹内的元素初始化部分输出的ASAM OpenSCENARIO文件。导出的演员沿着路径轨迹不指定速度。因此,演员使用的函数分别出口速度SpeedAction内的元素故事导出文件的元素。的故事导出的文件也可以包含的元素VisibilityAction如果你指定有效的行动EntryTimeExitTime参数一个演员。

数据类型:逻辑

限制

ASAM OpenDRIVE出口限制

道路

  • 三次多项式和参数三次多项式几何类型场景中导出为螺旋几何类型。这将导致一些变化导出的道路几何如果路是弯曲的道路。例如,在下面的图中,注意输入道路变得相对平滑的尖角当出口ASAM OpenDRIVE格式。

    路输入 出口ASAM OpenDRIVE路

    原来的路

    出口之路

  • 段相邻道路相互重叠时,重叠部分的函数不出口的道路。

    输入道路 出口ASAM OpenDRIVE道路

    输入重叠的道路

    出口的道路

车道

  • 当一个与多个车道公路规范包含两个路段之间的锥度,函数没有锥形出口的道路。

    路输入 出口ASAM OpenDRIVE路

    与原路锥

    出口道路没有锥度

  • 当道路组成的多个部分是连接到一个结,这个函数不出口的道路。

连接

  • 道路网络的连接处理没有车道连接信息,所以结形状导出的场景中可能并不准确。

    路输入 出口ASAM OpenDRIVE路

    原始的结

    出口结

  • 当一个连接没有连接到任何道路,函数不出口这样的结。

    输入道路 出口ASAM OpenDRIVE道路

    原来的道路网络

    出口道路网络没有连接

    出口的分离结ASAM OpenDRIVE文件,您可以手动拖传入或传出道路和附加的结。

演员

  • 出口函数不出口任何演员出现在连接或与多个路段道路。

  • 出口一个用户定义的演员时,函数集对象的类型“没有”

ASAM OpenDRIVE进口

  • 当你出口的驾驶场景对象包含一个进口ASAM OpenDRIVE场景,ASAM OpenDRIVE进口的限制适用于ASAM OpenDRIVE出口。您可以导入一个ASAM OpenDRIVE场景drivingScenario通过使用对象roadNetwork函数。信息的局限性ASAM OpenDRIVE进口,明白了roadNetwork

走鹃高清地图出口限制

一个走鹃场景生成器许可证需要建立一个场景从高清地图文件。没有一个走鹃场景生成器许可证,您可以导入高清地图文件,只查看地图节点和链接走鹃

复合巷规范

  • 道路使用复合巷规范(compositeLaneSpec),形成循环不支持或与自己相交。金宝app

  • 复合巷规范不支持创建道路不同宽度金宝app

车道标记和车道类型

  • 对车道标记创建的使用laneMarking创建对象和车道类型使用laneType对象,只颜色名称-值参数支持。金宝app只有白色和黄色的颜色支持。金宝app

  • 用于道路,形成循环,不支持多个车道标志风格。金宝app

停车场

  • 驾驶场景包含停车场使用停车场不支持的功能。金宝app

障碍

  • 障碍与差距部分使用创建的障碍函数与SegmentGap不支持名称参数,。金宝app这样的壁垒将没有任何缺口走鹃高清地图表示。

  • 障碍,设置SegmentLength,宽度,高度不支持的属性。金宝app这些属性计算自动导入期间根据资产规模走鹃

连接

  • 只有单一的支持4路十字路口和合并/退出结。金宝app

静态的演员

  • 不支持静态演员如行人和自行车。金宝app代表这些演员走鹃,您可以下载一个长方体FBX,并将其置于资产/汽车/或编辑地图指向自己的资产。

路组和公路网络

  • 路口,路口添加使用roadGroup不支持的功能。金宝app

  • 公路网络使用的创建roadNetwork不支持的功能。金宝app

更多关于

全部折叠

数据文件导出ASAM OpenSCENARIO文件

而出口的驾驶场景ASAM OpenSCENARIO文件,还出口其他数据文件的函数。每个数据文件描述信息的一个特定的元素,如车辆或行人。每个数据文件的名称的前缀文件名_,文件名中指定的名称吗文件名参数,包括扩展。

数据文件 元素的场景
文件名_OpenDRIVE.xodr 道路网和障碍的场景
文件名_VehicleCatalog.xosc 车辆的属性
文件名_PedestrianCatalog.xosc 行人的属性

请注意

  • 函数出口数据文件基于场景的内容。例如,如果场景中不包含任何行人、数据文件文件名_PedestrianCatalog.xosc不是出口。

  • R2021b,函数出口演员路线到主ASAM OpenSCENARIO文件使用的实例轨迹元素。在R2021a,演员分别出口使用的路线RouteCatalog文件,其中包含的实例路线元素。

  • 当驾驶场景包含道路网络,ASAM OpenDRIVE出口的限制适用于出口OpenDRIVE.xodr数据文件。

版本历史

介绍了R2020b