Advertisement

眼图matlab仿真_MATLAB开发自动驾驶第二十课-自动驾驶场景设计器中的预建驾驶场景...

阅读量:
4e632b0bb00f25922738d4e3ace3415d.png

自动驾驶场景设计应用提供了一个代表常见驾驶动作的预建场景库。该应用还包括代表欧洲新车评估计划(Euro NCAP)测试协议的场景,以及3D仿真环境中使用的预建场景的3D版本。

选择一个预建场景

要开始,请打开 Driving Scenario Designer 应用程序。在 MATLAB 命令提示符下,输入 :

复制代码
    drivingScenarioDesigner

在应用程序中,预建场景以MAT文件的形式存储,并组织到文件夹中。要打开预建场景文件,请从应用程序工具栏中选择打开 > 预建场景。然后从其中一个文件夹中选择一个预建场景。

欧洲NCAP

这些场景代表了欧洲NCAP测试协议。该应用程序包括测试自主紧急制动、紧急车道保持和车道保持辅助系统的场景。请关注收藏,后期更新。

交叉口

这些方案涉及四向交叉口和环岛的常见交通模式:

  1. 本车车辆向北行驶,直行经过过程一个十字路口。一辆自行车从十字路口左侧驶来,直行与本车车辆相撞。
复制代码
    EgoVehicleGoesStraight_BicycleFromLeft GoesStraight_Collision.mat
832ea3ffa539425e77cfa20484fafb15.png

2. 本车车辆向北行驶,直行通过一个十字路口。从十字路口左侧驶来的车辆也直行。本车车辆从另一辆车前穿过。

复制代码
    EgoVehicleGoesStraight_VehicleFromLeft GoesStraight.mat
2820521f18ea0ce62be242cd850356c9.png

3. 本车车辆向北行驶,直行通过一个十字路口。从十字路口右侧驶来的车辆也直行,先通过十字路口。

复制代码
    EgoVehicleGoesStraight_VehicleFromRigh tGoesStraight.mat
96a75c26bcd39dbd515a72bdc374d608.png

4. 本车车辆向北行驶,在进入环岛时越过行人的路径。然后,当两辆车都驶过环岛时,该本车车辆又穿过另一辆车的路径。

复制代码
    Roundabout.mat
bd235c9529899b29e006ed0dd0d6e5b0.png

3D仿真

这些场景是3D仿真环境中几个预建场景的三维版本。 可以将车辆和跟踪添加到这些场景中。然后, 可以将这些车辆和跟踪包含在的Simulink模型中,以便在3D环境中对它们进行仿真。这个环境是使用Epic Games的虚幻引擎渲染的。有关这些场景的详细信息,请点赞 关注 后期更新。

转弯

这些场景涉及到四向交叉口的转弯。

  1. 本车车辆向北行驶,直行通过一个十字路口。一辆从路口左侧驶来的车辆向左转弯,最终挡在本车车辆前面。
EgoVehicleGoesStraight_VehicleFromLeft
TurnsLeft.mat

TurnsLeft.mata

EgoVehicleGoesStraight_VehicleFromLeft
TurnsLeft.mat
4c41a6268129e4929f3c8ad5a1e48597.png

2. 本车车辆向北行驶,直行通过一个十字路口。从十字路口右侧驶来的一辆车右转,最后挡在本车车辆前面。

复制代码
    EgoVehicleGoesStraight_VehicleFromRigh tTurnsRight.mat
618198c0604cbc64d6ebd775d7c74fd4.png

3. 本车车辆向北行驶,直行通过一个十字路口。本车车辆前方的车辆在十字路口左转。

复制代码
    EgoVehicleGoesStraight_VehicleInFrontT urnsLeft.mat
9c7a1f5f6a8b6067e0c6493433f3f8c8.png

4. 本车车辆向北行驶,直行通过一个十字路口。本车车辆前方的车辆在十字路口右转。

复制代码
    EgoVehicleGoesStraight_VehicleInFrontT urnsRight.mat
b59c09c2441401feef65f087224f776d.png

5. 本车车辆向北行驶,在一个十字路口左转。从十字路口左侧来的行人直行。本车车辆在行人完成穿越路口前完成转弯。

| EgoVehicleTurnsLeft_PedestrianFromLeft

GoesStraight.mat

| EgoVehicleTurnsLeft_PedestrianFromLeft

GoesStraight.mat

6. 本车车辆向北行驶,在一个十字路口左转。对向车道上的行人直行通过路口。本车车辆在行人完成穿越路口前完成转弯。

| EgoVehicleTurnsLeft_PedestrianInOppLan

eGoesStraight.mat

| EgoVehicleTurnsLeft_PedestrianInOppLan

eGoesStraight.mat
6f460d84385a213dcff737b53865a4ac.png

7. 本车车辆向北行驶,在一个十字路口左转。本车车辆前方的车辆直行通过十字路口。

复制代码
       EgoVehicleTurnsLeft_VehicleInFrontGoesStraight.mata

| EgoVehicleTurnsLeft_VehicleInFrontGoes

Straight.mat
d2b6fb9474fbd47448bfca28eb05481c.png

8. 本车车辆向北行驶,在一个十字路口右转。本车车辆前方的车辆直行通过十字路口。

复制代码
       EgoVehicleTurnsRight_VehicleInFrontGoesStraight.mata

| EgoVehicleTurnsRight_VehicleInFrontGoe

sStraight.mat
99cce5e4ce689e9c3c6bbc4fbbf878e9.png

U型转弯

这些场景涉及到四向交叉口的U型转弯。

  1. 本车车辆向北行驶,直行通过十字路口。对向车道上的车辆进行了掉头。本车车辆颠末后方车辆。
复制代码
       EgoVehicleGoesStraight_VehicleInOppLaneMakesUTurn.mata

| EgoVehicleGoesStraight_VehicleInOppLaneM

akesUTurn.mat
276fef0e4adb880779ba1b1e64c91d60.png

2. 本车车辆向北行驶,在十字路口转了个U型弯。从十字路口右侧来的行人直行,穿过U型弯道。

复制代码
    EgoVehicleMakesUTurn_PedestrianFromRightGoesStraight.mat
313dd02ef44a75dd842f7d12e273b254.png

3. 本车车辆向北行驶,在十字路口转了个U型弯。相反方向南行的车辆直行,最后落在本车车辆后面。

复制代码
    EgoVehicleMakesUTurn_VehicleInOppLaneGoesStraight.mat
35ae93b5298729462e5216d4de16acd1.png

4. 本车车辆向北行驶,在十字路口左转。本车车辆前面的一辆车在路口掉头。第二辆车,一辆卡车,从路口右侧驶来。本车车辆最后停在卡车旁边的车道上。

复制代码
       EgoVehicleTurnsLeft_Vehicle1MakesUTurn_Vehicle2GoesStraight.mata

| EgoVehicleTurnsLeft_Vehicle1MakesUTurn_V

ehicle2GoesStraight.mat
955d3b39566bd184683b570bc46eb0ee.png

5. 本车车辆向北行驶,在十字路口左转。从十字路口左侧驶来的车辆进行了掉头。这本车车辆最后停在了另一辆车旁边的车道上。

复制代码
    EgoVehicleTurnsLeft_VehicleFromLeftMakesUTurn.mat
f6077b91618a988af2632a1d8d33db85.png

6. 本车车辆向北行驶,在一个十字路口右转。一辆从路口右侧驶来的车辆进行了掉头。本车车辆在该掉头车后方驶入相邻车道。

复制代码
    EgoVehicleTurnsRight_VehicleFromRightMakesUTurn.mat
87d462e0d32674171e370a89b838fd19.png

修改场景

在选择一个场景后,可以修改道路和执行器的参数。例如,从左边的 "执行器 "选项卡中, 可以更改本车车辆或其他执行器的位置或速度。从 "道路 "选项卡中, 可以更改车道的宽度或车道标记的类型。

还可以添加或修改传感器。例如,从 "传感器 "选项卡, 可以更改探测参数或传感器的位置。默认情况下,在Euro-NCAP场景中,控制车辆不包含传感器。所有其他预建场景至少有一个前置摄像头或雷达传感器,设置为探测车道和物体。

生成融合的传感器数据

要从传感器生成探测,在应用程序工具条上,点击运行。当场景运行时,"本车中心视图 "本车车辆的角度显示场景。鸟眼图显示探测结果。
12420ec3e8b180f708fcd4c50f98b3c8.png

导出传感器数据。

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

- 要导出生成场景及其传感器数据的 MATLAB 函数,请选择导出 > 导出 MATLAB 函数。该函数将传感器数据作为结构返回,将场景作为驾驶场景对象返回,将传感器模型作为视觉探测生成器返回。

radarDetectionGenerator和lidarPointCloudGenerator系统对象。通过修改该函数, 可以创建原始场景的变体了。

保存场景

因为预建场景是只读的,所以要将驾驶场景的副本保存到新文件夹中。要保存场景文件,在应用工具条上,选择保存 > 场景文件为。

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

复制代码
    drivingScenarioDesigner(scenarioFileName)

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

复制代码
    drivingScenarioDesigner(scenario)

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

复制代码
    drivingScenarioDesigner(scenario,sensors)

如果在Simulink中开发驾驶算法,可以使用Scenario Reader块从场景文件或drivingScenario对象中读取道路和执行器到的模型中。该块不直接读取传感器数据。要将在应用程序中创建的传感器添加到Simulink模型中。通过选择 Export > Export Simulink Model 生成包含的场景和传感器的模型。在模型中,生成的情景阅读器块读取情景,生成的传感器块定义传感器。

未经许可,禁止转载!

欢迎关注,点赞,收藏!

全部评论 (0)

还没有任何评论哟~