主要内容

以交互方式创建驱动场景并生成合成传感器数据

此示例显示如何通过使用该方法从方案创建驾驶场景并生成视觉和雷达传感器检测驾驶场景设计师应用程序。您可以使用此合成数据来测试控制器或传感器融合算法。

此示例显示了用于创建方案和生成合成传感器数据的整个工作流程。或者,您可以从预构建方案生成传感器数据。看在驾驶场景设计师的预构造驾驶场景

创造驾驶场景

打开应用程序,在Matlab®命令提示符,输入drivingScenarioDesigner

添加一个路

在场景画布上添加一条弯曲的道路。在App ToolStrip上,单击增加道路.然后点击画布的一个角,将道路延伸到另一个角,双击画布创建道路。

并排图像。在第一图像中,虚线从画布的右下角延伸到左上角。在第二个图像中,虚线由直路取代。

制作道路曲线,添加一个道路中心围绕它弯曲它。右键单击道路中间并选择加入道路中心.然后将附加的道路中心拖动到画布的空角之一。

并排道路图像。在第一幅图中,中间的道路中心被略微向下拖动。在第二幅图中,中间的道路中心被拉得更低,形成了弯曲的道路。

要进一步调整道路,您可以单击和拖动任何道路中心。为了创造更复杂的曲线,添加更多的道路中心。

添加通道

默认情况下,道路是单线,没有车道标记。为了使情景更加现实,将道路转换为双车道高速公路。在左窗格中,在道路选项卡中,扩大车道部分。设定车道数量[1 1].应用程序设置车道宽度参数到3.6米,这是一个典型的高速公路车道宽度。

有双实心线表示分隔公路的弯曲道路。

道路的任一边缘上的白色,固体通道标记表示道路肩部。中心的黄色双稳态车道标记表明这条路是双向道路。检查或修改这些车道车道标记列表,选择其中一个车道并修改车道参数。

添加障碍

要在曲线边缘添加障碍,请使用App ToolStrip或Road上下文菜单。在App ToolStrip上,单击添加演员>泽西障碍.将光标移动到道路的右边缘,然后单击以沿它添加屏障。这也开辟了障碍左窗格上的选项卡。在阻挡区段之间添加1米的间隙,改变了段差距(m)物业在障碍标签为1。

沿着右边缘的曲线屏障的弯曲道路

要使用道路上下文菜单向道路左边缘添加护栏屏障,请右键单击道路并选择添加护栏>左边缘.使用盖子的屏障段之间指定1M间隙,使用段差距(m)物业在障碍标签。

沿着右边缘的弯曲道路和沿其左边缘的护栏

添加车辆

默认情况下,您添加到场景的第一辆车是自我的车辆,这是驾驶场景中的主要车。自我车辆包含在场景中检测车道标记,行人或其他汽车的传感器。添加自我车辆,然后为自我车辆添加第二辆车以检测。

增加自我的车辆

要添加自我车辆,右键单击道路的一端,并选择加入汽车.要指定汽车的轨迹,请右键单击该车,选择添加锚点,并在道路上添加航点,让汽车通过。在沿路添加最后一个航点后,按进入.汽车朝第一个航路点的方向自动行驶。为了更精确的轨迹,你可以调整路径点。您还可以右键单击路径来添加新的路径点。

一辆带有轨迹的蓝色汽车延伸到车道的尽头。在轨迹方向上的汽车点上的三角形。

三角形表示车辆的姿势,原点位于车辆后桥的中心。

调整汽车的速度。在左窗格中,在演员标签,设置恒定速度15.小姐。为了更好地控制汽车速度,请在航点之间设置速度v(米/秒)栏目航点,速度,等待时间和偏航桌子。

加入第二辆车

增加一个车辆自我车辆传感器来检测。在App ToolStrip上,单击添加演员并选择.用航点加入第二辆车,在与自我车辆相对的车道中行驶,在路的另一端。将速度和其他设置留出不变的。

一辆橙色的汽车加到对面的车道和路的另一端

加一个行人

添加到场景,一条穿越道路的行人。放大道路中间,右键单击道路的一侧,然后单击添加行人.然后,要设置行人的路径,在路的另一侧添加一个航点。

一个行人加入到路边

默认情况下,行人的颜色几乎匹配了车道标记的颜色。让行人更多地脱颖而出演员选项卡,点击行人对应的颜色补丁,修改其颜色。

为了测试汽车和行人的速度,运行模拟。根据从左窗格中选择actor,根据需要调整演员速度或其他属性演员标签。

从下拉列表中选择的“汽车(EGO车辆)”选项

例如,如果汽车与行人相撞,在v(米/秒)栏目航点,速度,等待时间和偏航表,调整汽车或行人的速度。或者,在等待(年代)在表的列中,设置车辆在行人过马路前在路点的等待时间。

默认情况下,在第一个演员完成其轨迹时,模拟结束。只有在所有演员完成轨迹的情况下,才会在App ToolStrip上完成模拟,首先单击设置.然后,设置停止条件最后一个演员停止

添加传感器

将相机,雷达和LIDAR传感器添加到自助式车辆上。使用这些传感器从方案生成检测和点云数据。

添加相机

在App ToolStrip上,单击添加相机.传感器帆布显示要放置传感器的标准位置。单击最前面的预定义传感器位置,将相机传感器添加到自助式车辆的前保险杠。

传感器帆布配有相机连接到自助式车辆的前保险杠。

要更准确地放置传感器,可以禁用捕捉选项。在传感器画布的左下角,单击“配置传感器帆布”按钮

默认情况下,相机仅检测Actors而不是车道。要启用车道检测,请传感器选项卡在左窗格中,展开检测参数部分和集合检测类型对象和车道.然后展开车道的设置部分并根据需要更新设置。

添加雷达

将雷达传感器固定在左前轮上。右键单击预定义的车轮传感器位置并选择添加雷达.默认情况下,添加到车轮的传感器是短程传感器。

将雷达传感器朝向汽车的前部倾斜。将光标移动在覆盖区域上,然后单击并拖动角度标记。

雷达传感器的动画被旋转

将相同的雷达传感器添加到前右轮。右键单击前左轮上的传感器,然后单击复制.然后右键单击前右轮的预定义传感器位置,然后单击粘贴.复制传感器的方向反映了传感器的方向在相对的车轮上。

具有两个雷达传感器的传感器画布向前倾斜

加入LIDAR.

将激光雷达传感器置于车顶的中心。右键单击屋顶中心的预定义传感器位置,然后选择加入LIDAR.

传感器帆布,带有激光雷达传感器的传感器添加到屋顶中心

激光雷达传感器显示为黑色。车辆周围的灰色区域是传感器的覆盖区域。缩小到可以看到不同传感器覆盖区域的全景。

放大的传感器视图。激光雷达覆盖区域包围车辆和雷达和摄像机覆盖区域。

生成合成传感器数据

要生成传感器的数据,请单击跑步.随着场景运行,鸟瞰图显示检测和点云数据。

鸟瞰情景

以自我为中心的视图从自我的角度来展示这个场景。

以自我为中心的情景视图

因为你指定了一个激光乐传感器,都是以自我为中心的视图鸟瞰图显示Actors的网格表示而不是长方体表示。LIDAR传感器使用这些更详细的演员表示来生成点云数据。这场景帆布仍然只显示长方体表示。雷达和视觉传感器的检测基于长方体表示。

若要关闭角色网格、某些类型的检测或显示的其他方面,请使用下面的属性展示在App ToolStrip上。

默认情况下,当第一个演员停止移动时,方案结束。要在App ToolStrip上运行设定的时间,请单击设置并改变停止条件。

接下来,导出传感器检测:

  • 将传感器数据导出到MATLAB工作区,在App ToolStrip上,选择出口>导出传感器数据.命名工作区变量并单击好吧.该应用程序将传感器数据保存为包含传感器数据的结构,例如actor姿势,对象检测和在每个时间步骤检测。

  • 要导出生成方案及其传感器数据的MATLAB函数,请选择出口>出口MATLAB功能.这个函数将传感器数据作为结构返回,场景作为驱动器Cenario.对象,传感器模型作为系统对象。通过修改此功能,您可以创建原始场景的变体。有关此流程的示例,请参见以编程方式创建驾驶场景变化

保存场景

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

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

驱动器CenariodEsigner(方案机组)
您还可以使用导出的文件重新打开该场景驱动器Cenario.目的。在Matlab命令提示符下,使用此语法,在哪里设想是导出对象的名称。
驱动器CenarioDesigner(方案)
要重新打开传感器,请使用此语法,其中传感器是传感器对象或这些物体的单元阵列。
Drivingscenariodesigner(场景,传感器)
如果你在Simulink中开发一个驱动算法金宝app®,你可以使用一个情景读者块从方案文件中读取道路和演员驱动器Cenario.对象添加到模型中。此块不直接读取传感器数据。要将您在应用程序中创建的传感器添加到Simulink模型中,请通过选择生成包含您的场景和传感器的金宝app模型出口>导出Simul金宝appink模型.在模型中,生成情景读者块读取方案,生成的传感器块定义传感器。

也可以看看

应用

对象

相关的话题