主要内容

进口ASAM OpenDRIVE进入驾驶场景的道路

ASAM OpenDRIVE®是一种打开的文件格式,使您能够指定大型和复杂的道路网络。使用驾驶场景设计师应用程序,您可以将道路和车道从ASAM OpenDRIVE文件导入到驾驶场景中。然后,您可以将参与者和传感器添加到场景中,并生成合成车道和对象检测,以测试在MATLAB中开发的驾驶算法®。或者,测试在Simulink中开发的驾驶算法金宝app®,你可以使用场景阅读器块将道路网络和参与者读入模型。

该应用程序支持从金宝appOpenDRIVE导入道路网络®文件版本1.4和1.5,以及ASAM OpenDRIVE文件版本1.6。

将ASAM OpenDRIVE道路和车道导入到驾驶场景对象而不是进入应用程序,请使用道路网作用

进口ASAM OpenDRIVE文件

打开驾驶场景设计师应用程序。在MATLAB命令提示下,输入:

驾驶场景设计师

要导入ASAM OpenDRIVE文件,请在app toolstrip上单击进口>ASAM OpenDRIVE文件。您选择的文件必须是类型为的有效ASAM OpenDRIVE文件xodr先生.xml

从MATLAB根文件夹中,导航到并打开此文件:

matlabroot/examples/driving/data/roundout.xodr

由于无法将ASAM OpenDRIVE道路网络导入现有场景文件,应用程序会提示您保存当前的驾驶场景。

这个场景画布应用程序的第页显示导入的道路网络。

进口ASAM OpenDRIVE道路网络

笔记

从R2021b开始,ASAM OpenDRIVE导入功能提供了功能和视觉上的改进,以及一些附加限制。

  • 现在,您可以向场景中添加新道路,并在导入ASAM OpenDRIVE道路网络后导出MATLAB函数。

  • 现在可以导入具有多车道规格的道路。

  • 导入的道路显示以前未显示的边界线。

  • 道路中心总是出现在进口道路的中间。以前,一些道路显示道路中心在道路边缘。

  • 交叉点使用路组在交叉点内组合道路段的对象。以前,交叉点内的每个路段都是单独表示的。因此,进口道路网现在使用的道路数量较少。

  • 驾驶场景中的道路ID和道路数可能与导入的ASAM OpenDRIVE文件中指定的道路ID和道路数不匹配。

  • 无法导入具有尖锐曲率的道路。

检查道路

进口网络中的道路长达数千米。使用鼠标滚轮放大道路网络并更仔细地检查它。道路网包含一个连接六条道路的环形交叉口。

进口路网中的环形交叉口

验证道路网络是否按预期导入,请记住应用程序中的以下限制和行为。

ASAM OpenDRIVE进口限制

这个驾驶场景设计师应用程序不支持ASAM O金宝apppenDRIVE规范的所有组件。

  • 只能导入车道、车道类型信息和道路。不支持导入道路对象和交通信号。金宝app

  • 包含大型道路网络的ASAM OpenDRIVE文件可能需要几分钟才能加载。此外,这些道路网络可能会导致应用程序画布上的交互缓慢。大型道路网络的示例包括模拟城市道路的网络或具有数千米长道路的网络。

  • 不支持具有可变宽度的车道。宽度设置为该车道内的最高宽度。例如,如果一条金宝app车道的宽度从2米到4米不等,应用程序会将整个车道的宽度设置为4米。

  • 车道类型信息指定为驱动,边境,受限制的,停车支持。具金宝app有任何其他车道类型信息的车道将作为边界车道导入。

  • 车道标记样式波特点,限制不支持。具有这些金宝app标记样式的车道将作为未标记导入。

道路定向

驾驶场景设计师在应用程序中,道路的方向可以不同于显示ASAM OpenDRIVE道路的其他工具中的道路方向。下表显示了应用程序和OpenDRIVE ODR查看器之间的方向差异。

驾驶场景设计师 OpenDRIVE ODR查看器

驾驶场景设计器应用程序中的道路方向

OpenDRIVE ODR查看器中的道路方向

在OpenDRIVE ODR查看器中X-轴沿查看器底部运行,而Y-轴沿查看器的左侧运行。

驾驶场景设计师应用程序Y-轴沿画布底部运行,而X-轴沿画布的左侧运行。应用程序中的世界坐标系与车辆坐标系对齐(Xv,Yv)车辆在驾驶场景中使用,其中:

  • 这个Xv-轴(纵轴)指向场景中车辆前方。

  • 这个Yv-轴(横向轴)指向车辆的左侧,向前看。

驾驶场景设计器应用程序中的坐标系

有关坐标系的详细信息,请参见自动驾驶工具箱中的坐标系

将参与者和传感器添加到场景中

您可以将角色和传感器添加到包含ASAM opdrive道路的场景中。

在添加一个参与者和传感器之前,如果你已经启用了道路交互,考虑禁用它们以防止你意外地拖拽道路中心和改变道路网络。场景画布,单击配置场景画布按钮,然后清除启用道路交互

通过右键单击画布中的一条道路并选择加车. 要指定汽车的轨迹,请在画布中右键单击汽车,然后选择添加前进航路点(Ctrl+F),并沿道路添加路线点,以便车辆通过。添加沿路的最后一个航路点后,按进来. 汽车在第一个航路点的方向上自动旋转。

添加演员及其轨迹后导入的道路

在小车上增加一个摄像头传感器。在应用程序工具条上,单击添加摄像头.然后,在传感器画布上,将摄像机添加到代表汽车前窗的预定义位置。

传感器画布,显示添加到ego车辆前窗的摄像头

配置摄像头以检测车道。在左侧窗格中的传感器选项卡,展开检测参数部分然后,设置检测类型参数到车道

生成合成检测

要从摄影机生成车道检测,请在应用程序工具条上单击. 在场景运行时自我中心观从ego车辆的角度显示场景鸟瞰图显示车辆的左车道和右车道边界。

生成的车道检测示意图

要导出生成场景及其检测的MATLAB函数,请在应用程序工具条上单击出口>MATLAB函数

要将检测导出到MATLAB工作区,请在app toolstrip上单击出口>导出传感器数据.命名工作区变量并单击好啊

保存场景

生成检测后,单击拯救保存场景文件。此外,还可以将传感器模型另存为单独的文件。还可以将道路模型和演员模型一起保存为单独的场景文件。

您可以从应用程序重新打开此方案文件。或者,在MATLAB命令提示符下,可以使用此语法。

驱动场景设计器(场景文件名)

如果您正在Simulink中开发驱动算法,可以使用金宝app场景阅读器block可从中读取道路和演员驾驶场景对象或场景文件。包含大型ASAM OpenDRIVE道路网络的场景文件可能需要几分钟才能读入到模型中场景阅读器块不会直接读取传感器数据。若要将应用程序中创建的传感器添加到Simulink模型,您可以通过选择来生成包含场景和传感器的模型金宝app出口>金宝appSimulink模型. 在这个模型中,一个场景阅读器块读取场景,雷达和视觉传感器块为传感器建模。

另见

应用程序

阻碍

物体

功能

相关的话题

外部网站