主要内容

进口OpenDRIVE道路进入驾驶场景

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

将opdrive道路和车道导入drivingScenario对象而不是进入应用程序,使用roadNetwork函数。

进口OpenDRIVE文件

打开驾驶场景设计师在MATLAB命令提示符下,输入:

drivingScenarioDesigner

要导入一个opdrive文件,在应用程序工具条上,选择进口然后OpenDRIVE道路网.您选择的文件必须是有效的OpenDRIVE文件类型.xodr. xml.此外,文件必须符合OpenDRIVE格式规范版本1.4H。

从你的MATLAB根文件夹,导航到并打开这个文件:

matlabroot / /开/数据/ intersection.xodr例子

因为你不能将opdrive道路网络导入到现有的场景文件中,所以应用程序会提示你保存当前的驾驶场景。

场景帆布显示导入的道路网络。这个网络中的道路有几千米长。放大(按Ctrl + +),以便更仔细地检查。

检查道路

进口道路网络显示一对双车道道路与一条单双车道道路相交。

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

OpenDRIVE进口限制

驾驶场景设计师app不支持OpenDRI金宝appVE规范的所有组件。

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

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

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

  • 指定为车道类型信息的道路开车边境限制肩膀,停车都受支持金宝app。带有任何其他车道类型信息的车道将作为边界车道导入。

  • 指定为的多车道标记样式的道路“无名”“固体”“DoubleSolid”“冲”“DoubleDashed”“SolidDashed”,“DashedSolid”都受支持金宝app。

  • 车道标志风格马胃蝇蛆点限制,不受支持。金宝app带有这些标记样式的车道被导入为未标记。

道路方向

驾驶场景设计师应用程序,道路的方向可以不同于其他工具的道路显示opdrive道路的方向。这个表格显示了应用程序和OpenDRIVE ODR Viewer在方向上的差异。

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

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

驾驶场景设计师应用程序,Y-axis沿着画布的底部运行,而X-axis沿着画布的左侧运行。应用程序中的世界坐标系统与车辆坐标系统(XVYV),其中:

  • XV-axis(纵向轴)从场景中的车辆指向前方。

  • YV-axis(横向轴)指的是车辆的左侧,当面对前方时观察。

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

道路以边缘为中心

驾驶场景设计师应用程序中,道路的位置和方向由道路中心.当你在应用程序中创建道路时,道路中心总是在道路的中间。然而,当你将opdrive道路网络导入应用程序时,有些道路的道路中心位于道路边缘。当opdrive道路被明确指定为右车道或左车道时,就会发生这种行为。

考虑导入的OpenDRIVE文件中的分割高速路。首先,让道路相互作用,这样你就可以看到道路中心。在左下角场景帆布,单击“配置场景画布”按钮,然后选择使道路交互

  • 高速公路右边的车道的道路中心在右边的边缘。

  • 高速公路左侧的车道的道路中心在左侧边缘。

将角色和传感器添加到场景

您可以将参与者和传感器添加到包含opdrive道路的场景中。但是,您不能将其他道路添加到场景中。如果一个场景包含一个opdrive道路网络,则增加道路按钮在应用程序工具条被禁用。此外,您不能将其他的opdrive道路网络导入到场景中。

在添加角色和传感器之前,如果您启用了道路交互,请考虑禁用它们,以防止您意外拖动道路中心和改变道路网络。如果道路相互作用启用,在左下角的场景帆布,单击“配置场景画布”按钮,然后清除禁用道路交互

通过右键单击画布上的一条道路并选择,将自我车辆添加到场景中添加汽车.要指定汽车的轨迹,在画布上右键单击汽车,选择添加锚点,并在道路上增加车辆通过的路点。在你沿着道路添加最后一个路点之后,按输入.汽车自动转向第一个路标的方向。

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

设置摄像头检测车道。在左侧窗格中传感器选项卡中,扩大检测参数部分。然后,设置检测类型参数车道

生成合成检测

要从相机生成车道检测,在应用程序工具条上,单击运行.当场景运行时,自我中心视图从自我载体的角度显示场景。的鸟瞰的情节显示自我车辆的左车道和右车道边界。

要将检测导出到MATLAB工作空间,请在应用程序工具条上单击出口>出口传感器数据.命名工作区变量并单击好吧

出口>出口MATLAB函数选项是禁用的。如果一个场景包含opdrive道路,那么您就不能导出生成场景及其检测的MATLAB函数。

保存场景

生成检测后,单击保存保存场景文件。此外,您可以将传感器型号保存为单独的文件。您还可以将道路和角色模型一起保存为单独的场景文件。

您可以从应用程序中重新打开这个场景文件。或者,在MATLAB命令提示符中,您可以使用以下语法。

drivingScenarioDesigner (scenarioFileName)

重新打开此文件时,增加道路按钮仍然是禁用的。

如果你在Simulink中开发一个驾驶算法,你可以使用金宝app场景的读者读一读马路和演员的街区drivingScenario对象或场景文件到模型中。场景文件包含大型的OpenDRIVE道路网络,读取到模型中可能需要几分钟。的场景的读者块不直接读取传感器数据。要将应用程序中创建的传感器添加到Simulink模型中,您可以通过选择生成包含金宝app场景和传感器的模型出口>出口仿真软件模金宝app型.在这个模型中,a场景的读者块读取场景和雷达和视觉传感器块模型传感器。

参考文献

Dupuis, Marius等。OpenDRIVE格式规范.第1.4版,H期,文件编号VI2014.106。德国Bad Aibling: VIRES Simulationstechnologie GmbH, 2015年11月4日。

另请参阅

应用程序

对象

功能

相关的话题

外部网站