基于MATLAB&SIMULINK开发自动驾驶系统第十三讲驾驶场景设计器中的Euro-NCAP驾驶场景

驾驶场景设计器应用提供了一个预建场景库,代表了欧洲新车评估计划(Euro NCAP)测试协议。该应用程序包括用于测试的场景自主紧急制动(AEB)、紧急车道保持(ELK)和车道保持辅助(LKA)系统。

13.1选择一个Euro NCAP方案

要开始,请打开驾驶场景设计器应用程序。在 MATLAB 命令提示符下,输入

drivingScenarioDesigner

在应用程序中,Euro-NCAP场景以MAT文件的形式存储,并组织到文件夹中。要打开Euro-NCAP文件,请在应用程序工具栏上选择打开 > 预建场景。PrebuiltScenarios文件夹将打开,其中包括应用程序中所有预建场景的子文件夹(另见 "《基于MATLAB&SIMULINK开发自动驾驶系统第十二讲驾驶场景设计器中的预设的驾驶场景》"。)

双击EuroNCAP文件夹,然后从这些子文件夹中选择一个Euro NCAP场景。

13.1.1 自动紧急制动

这些场景旨在测试自主紧急制动(AEB)系统。AEB系统会向驾驶员发出即将发生碰撞的警告,并自动实施制动,以防止碰撞或减少碰撞的影响。一些AEB系统会让车辆和约束系统为撞击做好准备。下表介绍了AEB系统的一些情况。

文件名字
描述
AEB_Bicyclist_Longitudinal_25width.mat
被控车辆与前方的骑车人相撞。碰撞前,骑车人和被控车辆沿纵轴线同向行驶。碰撞时,自行车与被控车辆的宽度相差25%。
其他情况下,碰撞时自行车的位置不同。
AEB_CCRb_2_initialGap_12m.mat
车对车后制动(CCRb)的情形,被控车辆追尾制动车辆。制动车辆以2米/秒2的速度开始减速。
被控车辆与制动车辆之间的初始间隙为12米。
其他情况下,减速量和被控车辆与制动车辆之间的初始间隙也不一样。
AEB_CCRm_50overlap.mat
车对车的后方移动(CCRm)场景,被控车辆追尾行驶中的车辆。碰撞时,被控车辆与行驶车辆50%的宽度重合。
其他情况下,重叠的数量和重叠的位置也不一样。
AEB_CCRs_-75overlap.mat
车对车后静止(CCRs)场景,被控车辆追尾静止车辆。碰撞时,被控车辆与静止车辆宽度的-75%重合。当被控车辆在对方车辆左侧时,重叠百分比为负。
其他情况下,重叠的数量和重叠的位置也不一样。
AEB_Pedestrian_Farside_50width.mat
被控车辆与从道路左侧行驶的行人相撞,Euro-NCAP测试规程将其称为远方。这些规程假设车辆在道路右侧行驶。因此,道路左侧是离被控车辆最远的一侧。碰撞时,行人在被控车辆宽度的50%处。
另外的方案则是改变行人在碰撞时的位置。

AEB_PedestrianChild_Nearside_50width.mat
被控车辆与从道路右侧行驶的行人相撞,Euro-NCAP测试规程将其称为近侧。这些规程假设车辆在道路右侧行驶。因此,道路右侧是离被控车辆最近的一侧。碰撞时,行人在被控车辆宽度的50%处。
AEB_PedestrianTurning_Farside_50width.  mat
被控车辆在十字路口转弯时与行人相撞,行人在仿真开始时与车辆左侧或远侧平行行驶。碰撞时,行人在被控车辆宽度的50%处。
在另外一种情况下,行人在路口的另一侧,在仿真开始时与车辆的右侧或近侧平行行驶。
Reverse_AEB_Pedestrian_Stationary_50wi  dth.mat
被控车辆逆向行驶,与静止的行人相撞。碰撞时,行人的宽度为被控车辆宽度的50%。
在另外一种情况下,在碰撞发生前,行人从车辆前方参照系的右侧或近侧行驶。

13.1.2 紧急车道保持

这些场景旨在测试紧急车道保持(ELK)系统。紧急车道保持系统通过向驾驶员发出即将发生的非故意偏离车道的警告来防止碰撞。下表介绍了紧急车道保持系统的部分场景。

文件
描述
LKA_DashedLine_Solid_Left_Vlat_0.5.mat
被控车辆无意中从左侧为虚线、右侧为实线的车道上驶离。汽车从左侧(虚线)离开车道,横向速度为0.5米/秒。
其他情况下,侧向速度和车辆越过的虚线是在左边还是右边都会有所不同。

LKA_DashedLine_Unmarked_Right_Vlat_0.5.mat
被控车辆无意中从右侧为虚线、左侧为无标线的车道上驶离。车辆从右侧(虚线)离开车道,横向速度为0.5米/秒。
其他情况下,侧向速度和车辆越过的虚线标记是在左侧还是右侧,都会有所不同。
LKA_RoadEdge_NoBndry_Vlat_0.5.mat
被控车辆无意中偏离了车道,最后停在了路边。道路边沿没有车道界线标记。汽车以0.5米/秒的侧向速度行驶。
其他情形下,侧向速度会有所变化。
LKA_RoadEdge_NoMarkings_Vlat_0.5.mat
被控车辆无意中偏离了一条车道,最后停在了路边。道路上没有车道标记。汽车以0.5米/秒的侧向速度行驶。
其他情形下,侧向速度会有所变化。

LKA_SolidLine_Dashed_Left_Vlat_0.5.mat
被控车辆无意中从左侧为实线、右侧为虚线的车道上驶离。该车从左侧(实线)离开车道,横向速度为0.5米/秒。
其他情况下,侧向速度不同,车辆越过的实线标线是在左侧还是右侧。
LKA_SolidLine_Unmarked_Right_Vlat_0.5. mat
被控车辆无意中从右侧为实线、左侧为虚线的车道上驶离。该车从右侧(实线)离开车道,横向速度为0.5米/秒。
其他情况下,侧向速度不同,车辆越过的实线标线是在左侧还是右侧。

13.2修改场景

默认情况下,在Euro-NCAP场景中,被控车辆不包含传感器。如果正在测试车辆传感器,在应用程序工具条上,单击 "添加相机 "或 "添加雷达",为被控车辆添加传感器。然后,在 "传感器 "选项卡上,调整传感器的参数,以匹配的传感器模型。如果  正在测试摄像机传感器,要启用摄像机探测车道,请展开 "探测参数 "部分,并将 "探测类型 "设置为 "车道和物体"。

还可以调整场景中道路和执行器的参数。例如,从左侧的 "执行器 "选项卡中,可以更改被控车辆或其他执行器的位置或速度。从 "道路 "选项卡中, 可以更改车道的宽度或车道标记的类型。

13.3 生成合成探测

要从任何添加的传感器生成探测,请单击 "运行"。当场景运行时,"以被控为中心的视图 "从被控车辆的角度显示场景。鸟瞰图显示探测结果。

导出探测结果:

- 要将传感器数据导出到MATLAB工作区,请在应用程序工具条上,选择导出>导出传感器数据。命名工作区变量并单击 "确定"。应用程序将传感器数据保存为包含传感器数据的结构,如每个时间步的执行器姿势、对象探测和车道探测。

- 要导出生成场景及其传感器数据的 MATLAB 函数,请选择导出 > 导出 MATLAB 函数。该函数将传感器数据作为结构返回,将场景作为驾驶场景对象返回,将传感器模型作为视觉探测生成器、雷达探测生成器和激光雷达点云生成器系统对象返回。通过修改这个函数,可以创建原始场景的变体。有关此过程的示例,请参见 "以编程方式创建驾驶场景变体" 。

13.4 保存场景

由于Euro-NCAP场景是只读的,因此要将驾驶场景的副本保存到一个新的文件夹中。要保存场景文件,请在应用程序工具栏上选择 "保存">"场景文件为"。

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

drivingScenarioDesigner(scenarioFileName)

还可以通过使用导出的drivingScenario对象重新打开场景。在 MATLAB 命令提示符下,使用以下语法,其中 scenario 是导出对象的名称。

drivingScenarioDesigner(scenario)

要重新打开传感器,请使用这个语法,其中sensor是一个传感器对象或这种对象的单元格阵列。

drivingScenarioDesigner(scenario,sensors)

如果在Simulink中开发驾驶算法,可以使用Scenario Reader块从场景文件或drivingScenario对象中读取道路和执行器到模型中。该块不直接读取传感器数据。要将在应用程序中创建的传感器添加到Simulink模型中。

通过选择 Export > Export Simulink Model生成包含的场景和传感器的模型。在模型中,生成的场景阅读器块读取场景,生成的传感器块定义传感器。

(0)

相关推荐