分享

基于MATLAB&SIMULINK开发自动驾驶系统第二十五讲自动驾驶的虚拟引擎仿真

 小明师兄 2021-11-17


自动驾驶工具箱提供了一个协同仿真框架,可以在Simulink中对驾驶算法进行建模,并在虚拟仿真环境中对其性能进行可视化。该环境使用Epic Games的虚幻引擎。 

与仿真环境相关的Simulink块可以在自动驾驶工具箱>仿真3D块库中找到。这些块提供了以下功能:

- 在仿真环境中配置预建场景;

- 在这些场景中放置和移动车辆;

- 在车辆上设置摄像头、雷达和激光雷达传感器;

- 根据车辆周围的环境来仿真传感器的输出;

- 获取语义分割和深度信息的地面真实数据。

在开发、测试和验证自动驾驶算法的性能时,该仿真工具通常用于补充真实数据。结合车辆模型,可以使用这些块来执行真实的闭环仿真,其中包括从感知到控制的整个自动驾驶全栈开发方案。

25.1 虚幻引擎仿真块

要访问自动驾驶工具箱 > 仿真 3D 库,在 MATLAB 命令提示符下,输入

drivingsim3d

25.1.1 场景

要将模型配置为与仿真环境协同仿真,请在模型中添加一个仿真三维场景配置块。使用该块,可以从一组预建场景中选择,在那里 可以测试和可视化 的驾驶算法。下图来自虚拟麦城场景。

工具箱包括这些场景

场景
说明
直路
直路段
弯道
弯曲的环形道路
停车场
空的停车场
双车道变更
设有桶和交通标志的直路,是为执行双车道变更机动而设置的。
开放式表面
平坦的黑色路面,没有任何路面物体。
美国城市街区
城市街区,有交叉路口、障碍物和交通灯。
美国公路
有锥体、障碍物、交通灯和交通标志的公路。
大型停车场
停车场内有停放的车辆、锥筒、路边、交通标志等。
虚拟城
代表密歇根大学试验场的城市环境(见Mcity试验设施);包括锥体、障碍物、动物、交通灯和交通标志。

 如果拥有虚幻引擎4项目的自动驾驶工具箱界面支持包,那么可以修改这些场景或创建新的场景。

25.1.2车辆 

要在场景中定义一个虚拟车辆,请在的模型中添加一个带有地面跟随功能的仿真三维车辆块。使用此块,可以通过提供X、Y和偏航值来控制车辆的移动,这些值定义了车辆在每个时间步的位置和方向。车辆会自动沿着地面移动。 

 还可以指定车辆的颜色和类型。工具箱包括以下车辆类型:

- 箱式卡车

- 掀背车

- 肌肉车

- 轿车

- 小型皮卡

- 运动型多功能车

25.1.3 传感器

 可以定义虚拟传感器,并将其连接到车辆上的各个位置。工具箱包括这些传感器建模和配置块。

说明
仿真3D摄像机
带镜头的相机模型。包括图像大小、焦距、失真和偏斜等参数。
仿真3D鱼眼摄像机
可使用Scaramuzza相机模型描述的鱼眼相机。包括失真中心、图像大小和映射系数的参数。
仿真三维激光雷达
扫描式激光雷达传感器模型。包括探测范围、分辨率和视场的参数。
仿真3D概率雷达
概率雷达模型,可返回探测列表。包括雷达精度、雷达偏差、探测概率和探测报告的参数。它不仿真电磁波传播层面的雷达。
仿真三维概率雷达配置
为模型中仿真三维概率雷达块探测到的所有执行器配置雷达信号。
仿真3D视觉探测生成器
摄像头模型,可返回对象和车道边界探测列表。包括用于建模探测精度、测量噪声和摄像机内在的参数。

25.2 算法测试和可视化

自动驾驶工具箱仿真块提供了测试和可视化路径规划、车辆控制和感知算法的工具。 

25.2.1 路径规划和车辆控制 

 可以使用虚幻引擎仿真环境来可视化预建场景中车辆的运动。该环境为提供了一种分析路径规划和车辆控制算法性能的方法。在Simulink中设计这些算法后,可以使用drivingsim3d库来可视化预建场景中的车辆运动。

感知

自动驾驶工具箱为详细的摄像头、雷达和激光雷达传感器建模提供了若干模块。通过将这些传感器安装在虚拟环境中的车辆上,可以生成合成的传感器数据或传感器探测来测试传感器模型与感知算法的性能。

 还可以输出和可视化地面真实数据,以验证深度估计算法和训练语义分割网络。

闭环系统 

在仿真环境中设计并测试了感知系统后,就可以用它来驾驶控制系统,实际操纵车辆。在这种情况下,车辆不是手动设置跟踪,而是使用感知系统来驾驶自己。通过将感知和控制结合到3D仿真环境中的闭环系统中,可以开发和测试更复杂的算法,例如车道保持辅助和自适应巡航控制。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章