基于MATLAB&SIMULINK开发自动驾驶系统第十四讲驾驶场景设计器中的三维场景仿真
驾驶场景设计器应用提供了预设场景,可在3D仿真环境中重现3D仿真环境中的场景。在这些3D的场景中, 可以添加使用简单的盒子形状表示的车辆,并指定其跟踪。然后,可以在 的Simulink模型中通过使用场景的高保真3D仿真版本来仿真这些车辆和跟踪。3D环境使用Epic Games的虚幻引擎渲染这些场景。
14..1 选择3D仿真场景
打开 "驾驶场景设计器 "应用程序。在 MATLAB 命令提示符下,输入
DrivingScenarioDesigner
该应用将3D仿真场景存储为MAT文件,称为场景文件。要打开场景文件,首先在应用工具条上选择打开 > 预设场景。打开的 PrebuiltScenarios 文件夹包括应用程序中所有可用的预建场景的子文件夹。
双击Simulation3D文件夹,然后选择本表中描述的场景之一。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
注意 驾驶场景设计器应用程序不包括这些场景的3D版本。
- 大型停车场
- 开放式表面
- 停车场
- 虚拟城市
要为这些不支持的场景或自定义场景生成车辆跟踪,请使用 "为虚幻引擎仿真选择航点 "示例中描述的流程,后续将更新,欢迎关注转发。
14.2 修改场景
在加载了场景后,现在可以将车辆添加到场景中,设置它们的跟踪,并指定其中一辆车为被控车辆。
如果计划在相应的3D场景中仿真这些车辆,请避免修改道路网络或现有的道路对象,如障碍物和交通锥。否则,可能会打破两个版本之间的均等性,仿真结果可能会有所不同。为了防止对道路网的这种意外修改,道路交互功能默认为禁用。如果想修改道路网。在 "场景画布 "窗格的左下角,单击 "配置场景画布"。
按钮,然后选择启用道路交互。然后,选择 "启用道路交互"。
可以为被控车辆添加传感器,但 不能在3D环境中重新创建这些传感器。环境有自己的传感器,以Simulink块的形式存在。有关详细信息,请参见"为虚幻引擎仿真选择传感器"。
14.3 保存场景
因为这些场景是只读的,所以要保存你的场景文件,必须把它的副本保存到一个新的文件夹中。在应用工具条上,选择保存 > 场景文件为。
可以从应用程序中重新打开保存的场景文件。或者,在 MATLAB 命令提示符下,输入此命令,其中 scenarioFileName 代表要打开的场景文件。
drivingScenarioDesigner(scenarioFileName)
在Simulink中重现3D环境中的场景。
保存包含车辆和其他执行器的场景文件后,可以在Simulink中的跟踪中重新创建这些车辆。在高层次上,请遵循以下工作流程。
1 配置3D场景--在新模型中,添加一个仿真3D场景配置块,并指定与的场景文件相对应的3D场景。
2 从场景文件中读取执行器姿态 - 添加一个场景读取器块,并从的场景文件中读取每个时间步的执行器姿态。这些姿态包括执行器的跟踪。
3 变换执行器姿态--从Scenario Reader块输出执行器,包括被控车辆。使用Vehicle To World和Cuboid To 3D Simulation块将执行器姿态转换为3D环境中使用的坐标系。
4 将执行器姿态指定给车辆--添加仿真3D车辆与地面跟随块,对应模型中的车辆。将转换后的执行器姿态指定为车辆块的输入。
5 添加传感器并进行仿真 - 添加传感器,在 3D 环境中进行仿真,并使用 Bird's-Eye Scope 查看传感器数据。