进口ASAM OpenDRIVE道路进入驾驶场景
ASAM OpenDRIVE®是一种开放文件格式,使您能够指定大型和复杂的道路网络。使用驾驶场景设计你可以从ASAM OpenDRIVE文件中导入道路和车道到驾驶场景中。然后,您可以将参与者和传感器添加到场景中,并生成合成车道和物体检测,以测试用MATLAB开发的驾驶算法®.或者,测试在Simulink中开发的驾驶算法金宝app®,你可以使用a场景的读者把读块的路网和演员变成一个模型。
该应用程序支持从金宝appOpenDRIVE导入道路网络®文件版本1.4和1.5,以及ASAM OpenDRIVE文件版本1.6。
将ASAM OpenDRIVE道路和车道导入drivingScenario
对象,而不是进入应用程序,使用roadNetwork
函数。
进口ASAM OpenDRIVE文件
将ASAM OpenDRIVE文件导入驾驶场景设计应用程序,按照这些步骤:
打开驾驶场景设计在MATLAB命令提示符中输入:
drivingScenarioDesigner
在应用程序工具条上,单击进口>ASAM opdrive文件.
在“ASAM OpenDRIVE导入”对话框中,浏览类型为有效的ASAM OpenDRIVE文件
.xodr
或. xml
.在本例中,导航到该文件,其中
是MATLAB文件夹的根目录:matlabroot
matlabroot/ /开/数据/ roundabout.xodr例子
请注意
不能将ASAM OpenDRIVE路网导入到现有的驾驶场景中。如果你尝试这样做,应用程序会提示你保存现有的场景。
(可选)如果不希望看到导入过程中可能出现的任何错误或警告,请清除显示错误和警告参数。缺省情况下,勾选此项。
点击进口.如果您已选择显示错误和警告参数时,“导入ASAM OpenDRIVE结果”对话框将显示导入过程中发生的任何警告和错误。您可以将这些警告和错误复制到文本文件中。关闭对话框。
的场景帆布的应用程序显示导入的道路网络。
请注意
从R2021b开始,ASAM OpenDRIVE导入特性提供了功能和视觉上的改进,以及一些额外的限制。
现在,您可以在导入ASAM OpenDRIVE道路网络后,向场景中添加新的道路并导出MATLAB函数。
您现在可以导入具有多个车道规格的道路。
导入道路显示了以前没有显示的边界线。
道路中心总是出现在进口道路的中间。以前,一些道路在道路边缘显示道路中心。
连接使用
RoadGroup
对象,它将路口内的路段组合在一起。以前,路口内的每个路段都是单独表示的。因此,进口路网现在使用的道路数量减少了。实际驾驶场景中的路号、路数、路口号、路口数可能与导入的ASAM OpenDRIVE文件中配置的不匹配。
检查道路
进口路网中的道路长达数千米。使用鼠标滚轮放大道路网络,更仔细地检查它。道路网络包括一个连接六条道路的环形交叉路口。
验证道路网络是否按预期导入,请记住应用程序中的以下限制和行为。
ASAM OpenDRIVE进口限制
的驾驶场景设计app不支持ASAM Op金宝appenDRIVE规范的所有组件。
您只能导入车道、车道类型信息和道路。不支持道路物体和交通信号的导入。金宝app
包含大型道路网络的ASAM OpenDRIVE文件可能需要几分钟才能加载。此外,这些道路网络会导致应用程序画布上的交互速度变慢。大型道路网络的例子包括城市道路模型或数千米长的道路。
不支持可变宽度的车道。金宝app宽度设置为该车道内的最高宽度。例如,如果一条车道的宽度从2米到4米不等,应用程序将整个车道的宽度设置为4米。
当您导入具有多个车道规格的单向道路时,应用程序仅支持与车道行驶方向匹配的分段锥度位置。金宝app例如,应用程序只支持为正确的车道导入正确的金宝app锥度位置。右车道不支持左或两种类型的锥度位置。金宝app
车道类型信息指定为的道路
开车
,边境
,限制
,肩膀
,停车
都受支持金宝app。具有任何其他车道类型信息的车道被导入为边界车道。车道标记样式
马胃蝇蛆点
,限制
,草
不支持。金宝app具有这些标记样式的车道被导入为未标记车道。
道路方向
在驾驶场景设计在ASAM OpenDRIVE应用程序中,道路的方向可以不同于其他显示ASAM OpenDRIVE道路的工具的方向。该表显示了应用程序和OpenDRIVE ODR Viewer之间的方向差异。
驾驶场景设计 | OpenDRIVE ODR查看器 |
---|---|
|
|
在OpenDRIVE ODR查看器中X-轴沿着查看器的底部运行,而Y-轴沿着查看器的左侧运行。
在驾驶场景设计应用程序,Y-轴沿着画布的底部运行,而X-轴沿着画布的左侧运行。这个应用程序中的世界坐标系统与车辆坐标系统(XV,YV)供车辆在驾驶情况下使用,其中:
的XV-轴(纵轴)在场景中指向车辆前方。
的YV-轴(横向轴)指向车辆的左侧,就像面对前方时看到的那样。
有关坐标系的详细信息,请参见自动驾驶工具箱中的坐标系.
向场景中添加参与者和传感器
您可以将参与者和传感器添加到包含ASAM OpenDRIVE道路的场景中。
在添加参与者和传感器之前,如果启用了道路交互,请考虑禁用它们,以防止意外拖动道路中心和改变道路网络。如果启用了道路交互,则在场景帆布,单击“配置场景画布”按钮,然后清除实现道路互动.
通过右键单击画布中的一条道路并选择,将自我车辆添加到场景中添加汽车.要指定汽车的轨迹,右键单击画布中的汽车,选择添加前向路点(Ctrl+F),并在道路上添加可供汽车通过的路径点。添加完最后一个路径点后,按下输入.汽车朝着第一个路径点的方向自动旋转。
在自我车辆上增加一个摄像传感器。在应用程序工具条上,单击添加相机.然后,在传感器画布上,将摄像机添加到表示汽车前车窗的预定义位置。
配置摄像头来检测车道。在左边的窗格上传感器选项卡,展开检测参数部分。然后,设置检测类型参数车道
.
生成合成检测
要从摄像头生成车道检测,请在应用程序工具条上单击运行.随着场景的运行,自我中心视图从自我载体的角度显示场景。的鸟瞰的情节显示自我车辆的左车道和右车道边界。
要导出生成场景及其检测的MATLAB函数,请在应用程序工具条上单击出口>MATLAB函数.
若要将检测导出到MATLAB工作区,请在应用程序工具条上单击出口>导出传感器数据.命名工作区变量并单击好吧.
保存场景
生成检测后,单击保存保存场景文件。此外,还可以将传感器模型保存为单独的文件。您还可以将道路模型和角色模型一起保存为单独的场景文件。
您可以从应用程序中重新打开该场景文件。或者,在MATLAB命令提示符中,您可以使用此语法。
drivingScenarioDesigner (scenarioFileName)
如果您正在Simulink中开发驾驶算法,则可以使用金宝app场景的读者块读道路和演员从drivingScenario
对象或场景文件添加到模型中。包含大型ASAM OpenDRIVE道路网络的场景文件可能需要数分钟才能读取到模型中。的场景的读者Block不直接读取传感器数据。要将在应用程序中创建的传感器添加到Simulink模型,您可以通过选择生成包含金宝app您的场景和传感器的模型出口>金宝app仿真软件模型.在这个模型中,a场景的读者块读取场景,雷达和视觉传感器块为传感器建模。
另请参阅
应用程序
块
对象
功能
相关的话题
- 交互式创建驾驶场景并生成合成传感器数据
- 在驾驶场景设计器中预构建驾驶场景
- 自动驾驶工具箱中的坐标系
- 从记录的车辆数据生成场景
- 导出驱动场景到ASAM OpenDRIVE文件
- 导出驱动场景到ASAM OpenSCENARIO文件