驾驶场景设计器应用提供了一个预构建的场景库,其中包括了常见的一些自动驾驶测试场景,减少了测试开发的时间。文章来源为MATLAB例程,个人学习而已。
第一步:在 MATLAB 命令提示符下,输入 :drivingScenarioDesigner 打开场景编辑器。
第二步:工具窗格中选择“打开>预生成方案”。然后从其中一个文件夹中选择预构建的方案。
可以看到一共有5个文件夹,包含了五大类场景。
分别介绍如下:
包括用于测试自动紧急制动,紧急车道保持和车道保持辅助系统的场景,符合欧盟测试标准文件。
以AEB测试为例,Euro-NCAP将AEB包括AEB City,AEB Inter Urban,AEB Pedestrian三个部分。AEB City主要背景为典型的城市工况,本车低速接近静止的前车,归入成人保护。AEB Inter Urban主要背景为典型城际公路,本车接近静止、低速运动和减速的前车,归入安全辅助。AEB Pedestrian主要背景为典型城市工况,本车遭遇横穿马路的行人,归入行人保护。
除此之外,Euro-NCAP AEB Inter Urban包括三个典型场景:
①从后方接近静止的前车,CCRs,Car to Car Rear stationary
②从后方接近慢速运动的前车,CCRm,Car to Car Rear moving
③从后方接近制动的前车,CCRb,Car to Car Rear braking
点击即可运行。
场景介绍:
2.1 自车向北行驶,直行穿过一个十字路口。一辆从十字路口左侧驶来的自行车直行,与自车相撞。(EgoVehicleGoesStraight_BicycleFromLeftGoesStraight_Collision.mat)
2.2 自车向北行驶,直行穿过一个十字路口。自车右侧车道上的行人也向北行驶并直接穿过十字路口。
(EgoVehicleGoesStraight_PedestrianToRightGoesStraight.mat)
2.3 自车辆向北行驶,直行穿过一个十字路口。从十字路口左侧驶来的车辆也直行。自车在另一辆车的前面交叉。
(EgoVehicleGoesStraight_PedestrianToRightGoesStraight.mat)
2.4 自车辆向北行驶,直行穿过一个十字路口。从十字路口右侧驶来的车辆也直行并首先穿过十字路口。
(EgoVehicleGoesStraight_PedestrianToRightGoesStraight.mat)
2.5 自车向北行驶,在进入环形交叉路口时穿过行人的路径。然后,当两辆车穿过环形交叉路口时,自车穿过另一辆车的路径。(Roundabout.mat)
这个3D模拟环境使用了Epic Games的虚幻引擎
3.1 弯曲的环形道路(CurvedRoad.mat)
3.2 带有交通锥和交通桶的直路,用于执行双车道变换。长方体版本不包括相应3D场景中的交通标志或交通信号灯。(DoubleLaneChange.mat)
3.3 直线道路场景(StraightRoad.mat)
3.4 带有交叉路口和障碍物的城市街区。长方体版本不包括相应3D场景中的交通信号灯。它还不包括十字路口的人行横道或行人标记或城市街区内的物体,例如建筑物,树木和消防栓。(USCityBlock.mat)
3.5 具有交通锥和障碍物的高速公路。长方体版本不包括相应3D场景中的交通标志或护栏。(USHighway.mat)
在十字交叉路口转弯。
4.1 自车辆向北行驶,直行穿过一个十字路口。从十字路口左侧驶来的车辆左转,最终到达自车的前面。(EgoVehicleGoesStraight_VehicleFromLeftTurnsLeft.mat)
4.2 自车向北行驶,直行穿过一个十字路口。一辆从十字路口右侧驶来的车辆右转,最终到达自车的前面。(EgoVehicleGoesStraight_VehicleFromRightTurnsRight.mat)
4.3 自车辆向北行驶,直行穿过一个十字路口。自车前方的车辆在十字路口左转。(EgoVehicleGoesStraight_VehicleInFrontTurnsLeft.mat)
4.4 自车辆向北行驶,直行穿过一个十字路口。自车前方的车辆在十字路口右转。(EgoVehicleGoesStraight_VehicleInFrontTurnsRight.mat)
4.5 自车向北行驶,在十字路口左转。从十字路口左侧驶来的行人直行。自车在行人完成过十字路口之前完成转弯。(EgoVehicleTurnsLeft_PedestrianFromLeftGoesStraight.mat)
4.6 自车向北行驶,在十字路口左转。对面车道上的行人直行穿过十字路口。自车在行人完成过十字路口之前完成转弯。(EgoVehicleTurnsLeft_PedestrianInOppLaneGoesStraight.mat)
4.7 自车向北行驶,在十字路口左转。自车前面的车辆直接穿过十字路口。(EgoVehicleTurnsLeft_VehicleInFrontGoesStraight.mat)
4.8 自车向北行驶,在十字路口右转。自车前面的车辆直接穿过十字路口。(EgoVehicleTurnsRight_VehicleInFrontGoesStraight.mat)
在十字交叉路口掉头。
5.1 自车向北行驶,直行穿过一个十字路口。对面车道上的车辆掉头。自车最终在车辆后面。(EgoVehicleGoesStraight_VehicleInOppLaneMakesUTurn.mat)
5.2 自车向北行驶,并在十字路口掉头。从十字路口右侧驶来的行人直行并穿过掉头的路径。(EgoVehicleMakesUTurn_PedestrianFromRightGoesStraight.mat)
5.3 自车辆向北行驶,并在十字路口掉头。一辆向南行驶的车辆向相反的方向直行,最终落在自车的后面。(EgoVehicleMakesUTurn_VehicleInOppLaneGoesStraight.mat)
5.4 自车向北行驶,在十字路口左转。自车前方的车辆在十字路口掉头。第二辆车是一辆卡车,从十字路口的右侧驶来。自车最终在卡车旁边的车道上。(EgoVehicleTurnsLeft_Vehicle1MakesUTurn_Vehicle2GoesStraight.mat)
5.5 自车向北行驶,在十字路口左转。从十字路口左侧驶来的车辆掉头。自车最终在另一辆车旁边的车道上。(EgoVehicleTurnsLeft_VehicleFromLeftMakesUTurn.mat)
5.6 自车向北行驶,在十字路口右转。从十字路口右侧驶来的车辆掉头。自车最终在车辆后面,在相邻的车道上。(EgoVehicleTurnsRight_VehicleFromRightMakesUTurn.mat)
可以修改道路和参与者的参数。例如,从左侧的“Actor”选项卡中,可以更改自负车辆或其他参与者的位置或速度。在道路选项卡中,可以更改车道的宽度或车道标记的类型。
注意:原先的例程是只读的,修改完成要使用另存为保存文件。