基于MATLAB&SIMULINK开发自动驾驶系统第十二讲驾驶场景设计器中的预设的驾驶场景
驾驶场景设计APP提供了一个代表常见驾驶动作的预设场景库。该应用还包括代表欧洲新车评估计划(Euro NCAP)测试协议的场景,以及3D仿真环境中使用的预设场景的3维版本。
选择一个预建场景
要开始,请打开 Driving Scenario Designer 应用程序。在 MATLAB 命令提示符下,输入:
drivingScenarioDesigner
在应用程序中,预设场景以MAT文件的形式存储,并存储到文件夹中。要打开预设场景文件,请从应用程序工具栏中选择打开 > 预设场景。然后从其中一个文件夹中选择一个预设场景。
12.1 欧洲NCAP
这些场景代表了欧洲NCAP测试协议。该应用程序包括测试自动紧急制动、紧急车道保持和车道保持辅助系统的场景。更多详细信息,后期会持续更新,欢迎关注、转发与点赞。
12.2 交叉口
这些方案涉及四向交叉口和环岛的常见交通模式。
|
|
|
|
|
|
|
|
|
|
12.3 3D仿真
这些场景是3D仿真环境中几个预设场景的3D版本。可以将车辆和跟踪添加到这些场景中。然后,可以将这些车辆和跟踪包含在Simulink模型中,以便在3D环境中对它们进行仿真。这个环境是使用Epic Games的虚幻引擎渲染的。有关这些场景的详细信息,后期会持续更新,欢迎关注、转发与点赞。
12.4 转弯
这些方案涉及到四向交叉口的转弯。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12.5 U型转弯
这些方案涉及到四向交叉口的U型转弯。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12.6 修改场景
在选择一个场景后,可以修改道路和执行器的参数。例如,从左边的 "执行器 "选项卡中, 可以更改被控车辆或其他执行器的位置或速度。从 "道路 "选项卡中,可以更改车道的宽度或车道标记的类型。
还可以添加或修改传感器。例如,从 "传感器 "选项卡,可以更改探测参数或传感器的位置。默认情况下,在欧洲NCAP方案中,控制车辆不包含传感器。所有其他预设场景至少有一个前置摄像头或雷达传感器,设置为探测车道和物体。
12.7 生成合成传感器数据
要从传感器生成探测,在应用程序工具条上,点击运行。当场景运行时,"被控中心视图 "被控车辆的角度显示场景。鸟瞰图显示探测结果。
5.3.8 导出传感器数据。
- 要将传感器数据导出到MATLAB工作区,请在应用程序工具条上,选择导出 > 导出传感器数据。命名工作区变量并单击 "确定"。应用程序将传感器数据保存为包含传感器数据的结构,如每个时间步的执行器姿势、对象探测和车道探测。
- 要导出生成场景及其传感器数据的 MATLAB 函数,请选择导出 > 导出 MATLAB 函数。该函数将传感器数据作为结构返回,将场景作为驾驶场景对象返回,将传感器模型作为视觉探测生成器返回。
radarDetectionGenerator和lidarPointCloudGenerator系统对象。通过修改该函数, 可以创建原始场景的变体。有关此过程的例子,请参见"以编程方式创建驾驶场景变体"。
5.3.9保存场景
因为预建场景是只读的,所以要将驾驶场景的副本保存到新文件夹中。要保存场景文件,在应用工具条上,选择保存 > 场景文件为。
可以从应用程序中重新打开该场景文件。另外,在MATLAB命令提示符下, 可以使用这个语法。
drivingScenarioDesigner(scenarioFileName)
还可以通过使用导出的drivingScenario对象重新打开场景。在 MATLAB 命令提示符下,使用以下语法,其中 scenario 是导出对象的名称。
drivingScenarioDesigner(scenario)
要重新打开传感器,请使用这个语法,其中sensor是一个传感器对象或这种对象的单元格阵列。
drivingScenarioDesigner(scenario,sensors)
如果在Simulink中开发驾驶算法,可以使用Scenario Reader块从场景文件或drivingScenario对象中读取道路和执行器到的模型中。该块不直接读取传感器数据。要将在应用程序中创建的传感器添加到Simulink模型中。通过选择 Export > Export Simulink Model 生成包含的场景和传感器的模型。在模型中,生成的场景阅读器块读取场景,生成的传感器块定义传感器。