无人驾驶之MATLAB无人驾驶工具箱学习(3)

接《无人驾驶之MATLAB无人驾驶工具箱学习(2)》中的内容。

4.驾驶情景生成及传感器模型

Generate Synthetic Detections from an Interactive Driving Scenario(从交互驾驶情景中生成综合检测?)

本例展示利用app(Driving Scenario Designer)如何从中创建驾驶情景,并产生视觉和雷达检测。可以用这些检测来检验你的控制器或传感器融合算法。本例包含整个创建请教并产生综合检测的流程。或者,你从ADST(Automated Driving System Toolbox)脚本中生成。如在Command Window中运行命令行

drivingScenarioDesigner('VRU_NearsideCollision')

创建一个新的驾驶情境

为了打开一个app的空白对话框,在matlab command Window中输入命令drivingScenarioDesigner.

添加道路

添加一段弯曲道路到情景窗口中。从APP工具栏中,点击Add Road.然后依次点击情景窗口中若干个位置,单击右键生成道路,道路依次穿过在窗口中单击过的点。也可以右键单击道路,通过添加道路中心点(Add Road Center)并拖拽该点,使道路成为自己需要的形状。

无人驾驶之MATLAB无人驾驶工具箱学习(3)_第1张图片

添加车道

默认情况下,道路为单车道,并且没有车道线。为了使情景更加真实,将道路变为两车道。

在右侧窗格,Roads标签下,展开车道(Lanes)部分,设置车道数(Number of lanes)为2,并设置车道宽度(Lane Width)为3.6m(该宽度为典型的高速公路车道宽度).

无人驾驶之MATLAB无人驾驶工具箱学习(3)_第2张图片

该道路为单向的,并用实现标记其中一边以表示为路肩。通过将中间车道线由单虚线变为双黄实线将道路变为双向。在标记(Marking)列表中选择“2:Dash”,然后设置类型(Type)为“DoubleSolid”,并将颜色(Color)设为字符串“yellow”。

无人驾驶之MATLAB无人驾驶工具箱学习(3)_第3张图片

 

添加车辆

默认地,第一辆添加到情景中的车辆为自主车辆(ego car),即驾驶情景中的主车。自主车辆包含有检测情景中车道线、行人以及其他车辆的传感器。添加自主车辆,然后添加第二辆,以便自主车辆进行检测。

添加自主车辆

右击道路的一段,选择“Add Car”,为了确定车辆的驾驶路径,右击车辆,选择“Add Waypoints”,并沿着道路添加车辆所要经过的路径点。添加最后一个点后,按“Enter”键或右击,车辆会自动旋转并朝向第一个路径点。为了精确表达驾驶路径,可以调整或添加新的路径点。

无人驾驶之MATLAB无人驾驶工具箱学习(3)_第4张图片

现在调整车辆的速度。在左侧窗格,在“Actors”栏表下,设置恒定速度(Constant Speed)为15m/s。如果想要更精细的速度控制,可以取消“Constant Speed”选项框,在“Waypoints”表格中设置每个路径点见的速度。

添加第二辆车

添加一个供自主车辆检测的车辆。点击“Add Actors”,选择“Car”。在另一个车道的另一端添加第二辆车及其路径点。保留车辆的速度和其他设置不变。

无人驾驶之MATLAB无人驾驶工具箱学习(3)_第5张图片

添加行人

在情景中添加一个穿越马路的行人。在道路中间放大(Ctrl+Plus),右击道路一边,选择“Add Pedestrain”,接着设置行人的路径,添加一个路径点到路的另一侧。

无人驾驶之MATLAB无人驾驶工具箱学习(3)_第6张图片

为了测试车辆和行人的速度,运行仿真。调整actor的速度或其他性质,需要从左侧窗格的“Actors”选项中选择相应的actor。

添加传感器

为自主车辆添加前侧雷达和视觉(相机)。用这些传感器产生行人、车道线及其他车辆的检测。

添加相机

在app工具栏中,选择“Add Camera”。传感器在情景中的标准位置显示。点击前面位置添加相机到自主车辆的前保险杠。为了放置传感器更加准确,需要snapping。在传感器框左下角,点击传感器配置按钮。

默认地,相机只检测actors不检测车道。为了使之能够检测车道,在传感器(Sensors)标签,展开检测参数(Detection Parameter)部分,设置检测类型(Detection Type)为“Objects & Lanes”.接着展开车道设置(Lanes Settings)部分,根据需求更新设置。

添加雷达

通过右击前左车轮并选择“Add Radar”将雷达传感器与之对齐。默认情况下,添加到车轮的传感器为近程。将雷达向车前方倾斜。在覆盖范围内移动光标,接着点击并拖拽角度标志。

添加一个通用的雷达传感器到右前轮。右击左前轮的传感器点击复制(Copy).接着右击右前轮点击粘贴(Paste)。复制的雷达朝向会镜像另一侧传感器。

无人驾驶之MATLAB无人驾驶工具箱学习(3)_第7张图片

相机和雷达给自主车辆前方双重覆盖。

产生雷达监测

运行情景

为了从传感器产生监测,点击“Run”运行。情景运行后,从自主车辆视角以自主车辆为中心展示情景。鸟瞰图展示监测。

无人驾驶之MATLAB无人驾驶工具箱学习(3)_第8张图片

如果需要关闭某一个监测,在鸟瞰图左下角,点击鸟瞰图配置按钮。

默认地,当第一个factor停止后,情景结束。为了获得一定时间段的情景运行结果,可以在app工具栏,点击设置(Settings),改变停止条件。

导出传感器检测结果

想要导出监测结果到MATLAB workspace中,在app工具栏中,点击导出(Export)>导出传感器数据(Export Sensor Data)。命名工作空间变量名并确定。app以结构体形式保存数据,包括每一个时刻的actor姿态、物体监测和车道监测。或者,可以点击导出(Export)>导出MATLAB函数(Export MATLAB Function)导出整个情景。然后,可以在matlab中调整情景的参数,并通过调用函数产生监测。

保存回话(Save Session)

产生监测后,保存APP会话到m文件中。也可以只保存传感器模型或只有路和actor模型。也可以在APP中再次打开会话,或者通过以下命令行打开:

drivingScenarioDesigner(appSessionName)

另请参阅

APPs     Driving Scenario Designer

Classes drivingScenario

System Objects:radarDetectionGenerator|visionDetectionGenerator

 

 

你可能感兴趣的:(学习笔记)