Advertisement

matlab打开笔记本摄像头_MATLAB结合Unreal Engine构建用以自动驾驶仿真测试的逼真驾驶场景...

阅读量:
dcb2a5dad42bd527161bce1cab6e3752.png

之前的文章《MATLAB/Simulink自动驾驶工具箱之Driving Scenario Designer》介绍了MathWorks开发的场景构建工具Driving Scenario Designer这一功能模块主要是为了支持Control-in-loop测试与验证工作,并不具备生成逼现实驾驶场景的能力。针对Perception-in-loop系统开发需求,则必须具备高度逼真的环境模拟器及相应的传感器数据模型,并能够生成高质量的真实感图像与激光雷达模拟点云数据等。

市场上存在多种满足Perception-in-loop应用场景的应用软件,这些应用均配置了Simulink接口并能与其协同运行.其 Simulink 接口大多由软件公司自行设计,因此可以看出 MATLAB/Simulink 主要作为兼容平台发挥作用,在涉及场景建模和传感器系统方面 MathWorks 的直接参与度相对较低.

但其实,
MathWorks为实现高质量的自动驾驶环境模拟与感知系统,
提供了一整套完整的解决方案:
通过游戏引擎Unreal Engine的运用,
MathWorks搭建了高保真的虚拟驾驶场景;
同时,
为这一仿真环境配备了多套先进的传感器,
包括用于采集环境数据的摄像头;
配备激光雷达以检测障碍物;
此外还安装了毫米波雷达以实时监测周围交通状况。
这些硬件设施均能有效支撑Perception-in-loop系统的稳定运行。

8df9dbcf95046b1b7a6d04478bed2b9d.png

Unreal Engine与MATLAB/Simulink

本文将探讨一下MATLAB/Simulink如何整合Unreal Engine以构建逼真的驾驶场景。首先,请您观察一段视频,在其中真实世界的场景与Unreal Engine生成的虚拟场景被展示在同一画面中进行对比,请问您能否分辨出哪些是真实存在的环境?

259d819d9ce38981b2a2d5b3119d3b43.png

真实场景与虚拟场景对比https://www.zhihu.com/video/1229758311593390080

看起来真是真假难辨让人难以分辨。具体是哪件是真哪件是假,请看下图揭示答案。

4bac8e712ac8e8ed2d44d18e0181a5f3.png

左边是Unreal Engine构建的虚拟场景,右边是真实场景。

原版完整的视频如下链接。

NVIDIA DRIVE Constellation 是一种支持自动驾驶汽车虚拟安全测试的技术平台。www.nvidia.cn

9d7b97f4ae6e55bf26abb3b14de8ab29.png

在英伟达的硬件在环测试平台NVIDIA DRIVE Constellation视频中展示了该平台的核心组件。该平台由两台关键服务器组成:第一台服务器部署了DRIVE Sim 软件进行车辆传感器模拟测试,在摄像头、激光雷达及常规雷达等多个传感器方面均进行了逼真数据模拟生成。强大的GPU处理能力为模拟数据流创建了多样化的测试环境和场景。第二台服务器搭载了一台高性能的DRIVE AGX Pegasus AI 车载计算机负责处理模拟数据并控制虚拟车辆在模拟环境中行驶以验证相关算法

在英伟达的描述中提到其软件名为DRIVE Sim。视频中的场景构建软件的画面明显即是Unreal Engine,并且在视频截图(见下图)左上角可见的是Unreal Engine的独特标志。从上述描述来看,DRVIE Sim很可能是在Unreal Engine的基础上开发而成。

83179cc520523e517128bfa5efefcf2c.png

Unreal Engine(虚幻引擎),全称为Unreal Engine 4(UE4),是由Epic Games开发的一款世界知名的游戏引擎,在全球商用游戏引擎市场占据着较高的份额

Unreal的高度评价无可置疑地存在,在@王方浩的文章中报道了AirSim和Carla均使用Unreal进行渲染

王方浩:自动驾驶仿真平台​zhuanlan.zhihu.com

f3c1afe3c83e8ef7129acc770bda4992.png

包括PreScan、Carmaker、MotionDesk在内的这些软件的新版本全部采用了Unreal引擎以生成图像

说了那么多,书回正传,我们还是聊回到MATLAB/Simulink和Unreal。

一、在Simulink中使用Unreal场景的三种模式

Simulink的Automated Driving Toolbox中的模块主要位于Simulation 3D内,并与Unreal平台进行集成。

ca70571dd991d7b0fefe3cee20061163.png

Simulink支持三种模式下的Unreal场景——包括Default Scenes、Unreal Executable以及Unreal Editor,在Simulation 3D Scene Configuration模块中可通过选中Scene Source选项来实现配置设置

ccea0be2fc3fef937a1f2181b727e836.png
b27171c0443ca67f012ebb190bc1d938.png

Default Scenes——直接使用MathWorks预构建的Unreal场景。

Unreal Engine版本——开发者能在Unreal引擎环境中独立搭建各种场景,并完成场景打包生成可执行程序后导入至Simulation 3D Scene Configuration模块运行。特别地,在此模式下运行模拟时无需访问或操作Unreal Editor界面。

在进行游戏开发时可以选择使用 Unreal Engine 这一工具以创建自定义的游戏世界 在创建过程中玩家可以通过 Unreal Engine 灵活设计各种游戏环境 在实际运行时 玩家需要打开 Unreal Engine 并通过其功能实现 Simulink 与其他引擎的协同工作 并能根据仿真数据在该环境中优化和修改相应的布局

Default Scenes基于MathWorks预装的成套场景设计,而Unreal Executable与Unreal Editor则均提供了用户自定义场景的功能.

1、基于预构建的场景

这种方案易于操作,并且能够帮助用户迅速掌握Simulink和Unreal引擎的基本使用方法。通过这些工具的结合应用,不仅能够实现驾驶场景模拟仿真,并且也能展示出仿真结果的表现。MathWorks公司提供了丰富的标准化场景库

79e5cb0b8635036af527990fb76f3fc7.png
a594bbef9af51e3af02c7867ccf196f6.png

MathWorks提供的预构建Unreal场景​www.mathworks.com

值得注意的是,在Virtual Mcity这一虚拟环境中(...),我们之前已经建立了一个基于该情景(situation)的驾驶员循环操作系统(system)。

c76c5bb088bb999d0f8912c6ffac8cb6.png

驾驶员在环系统

驾驶效果如下视频。

ad7fce688c4d34051dea21c5b4c4c97a.png

Virtual Mcity的驾驶场景https://www.zhihu.com/video/1229793015729848320

2、用户自定义场景

支持在Unreal Engine和Unreal Editor模式下实现驾驶场景的自定义搭建。具体的实现步骤,请参考MathWorks官方帮助文档。

Customize 3D Scenes for Automated Driving​www.mathworks.com

总的来说分为三步:

  1. 创建自定义场景软件包
  2. 优化场景性能并使用Simulink和Unreal Editor进行设计
  3. 将自定义场景打包成.exe文件

在构建场景之前必须先安装相应的Unreal Engine程序(MATLAB R2020a对应的是Unreal Engine 4.23;而之前的MATLAB版本则对应着Unreal Engine 4.19),建议用户可以通过Epic Games Launcher这一官方工具来选择并下载所需版本

38e3d28df8b319f2977d18d51cb189c3.png

在进行安装时,在 MATLAB 的附加包中可以通过查找来安装 MATLAB 的 Unreal Engine 插件。

05cb77c04d46b69272f328b4897907c5.png

二、使用Unreal Engine搭建驾驶场景

Unreal对运行的PC是有一定要求的。

软件要求:

  • Windows® 64位系统
  • Visual Studio®, 特别是2017年以后版本(用于场景定制)
  • Microsoft DirectX — 如果您机器上尚未安装此软件,并且尝试在三维环境中进行模拟时会提示您安装它。一旦安装了该软件,请重新启动模拟。

最小的硬件要求:

  • Graphics processing unit (GPU) — VR-capable with 8 GB of on-device memory
  • Central Processing Unit(CPU) — Operational speed reaches up to 2.60 GHz
  • Memory Unit(RAM) — Offers a capacity of 12GB of memory

从英伟达的视频中观察Unreal搭建场景的大致方法(或许英伟达进行了二次优化,并且相较于未经优化的原始Unreal版本来说更为便捷)

视频声音有点大,公共场合打开的时候请注意调节音量

d48d5556aa13a93e7d27e33af46981b6.png

https://www.zhihu.com/video/1229802743755812864

Unreal Engine提供了丰富的素材可用以创建逼真的驾驶场景。

fc2fd16ce38fca9a917e03eb3cc9ecc9.png

下面这个Unreal基础教程相当不错。

UE4初学者系列教程-《基础入门合集》-全中文新手教程​www.bilibili.com

除了自行搭建虚拟场景,在虚幻引擎中也提供了丰富的道具与素材集合,这些道具与素材均为用户提供直接购买与使用的便利。

虚幻商城​www.unrealengine.com

879806afab624d46c6523bac5f9fcd4f.png

三、Simulink中针对Unreal Engine的传感器模型

以上内容主要聚焦于驾驶环境。在这一系统中除了对驾驶情境的关注外还需要建立相应的传感器模型。MathWorks开发了一个专门用于模拟Unreal场景的传感器模型并将其集成到Automated Driving Toolbox中的Simulation 3D模块中。

baf10c667e5d102d3ebb56781b8cfbf0.png

支持将这些传感器模块拖拽至Simulink模型中,在仿真期间提供相应的传感器数据。

作为一个基本的演示案例,在鱼眼摄像头的基础上,请了解这些传感器模块的工作原理及其实际应用效果。

鱼眼摄像头demo​www.mathworks.com

a7b6365571068fc6b945ab3664216b54.png

该摄像头通过Image接口接收RGB数据,并通过 Video Viewer 模块实现这些数据的可视化显示功能。具体而言,在视频窗口界面中可以看到实时捕获到的图像效果;同时附带仿真视频供参考:在仿真场景左侧展示了虚拟构建环境,在右侧则呈现了安装于后方摄像头的实际成像效果。

af71856d476073583d491466d61ab17c.png

鱼眼摄像头模型成像视频https://www.zhihu.com/video/1229827470427643904

该模块具备RGB数据输出功能;而单目摄像头模块不仅支持RGB数据输出这一基本功能,并且还能够提供深度图与语义分割图两种高级信息;如附图所示

96dbcc2966ae17ba4efeadffccb41b99.png

毫米波雷达模块输出的是检测到的目标信息,包括位置、速度等。

该模块具备生成点云数据的能力,在2016至2017年间,MathWorks与通用公司合作成功实现了基于合成虚拟场景的32线激光雷达点云数据构建,请参考下图。

426586f8140e742bec99cf05c71e25b8.png

MathWorks也提供了合成点云数据的demo。

激光雷达传感器模型合成点云数据​www.mathworks.com

d844eaac843dbf427e012a0e75c8b7f8.png

仿真结果,如下视频。

31d8abbb2ff14dc0173c623013cc39c0.png

合成激光雷达点云数据https://www.zhihu.com/video/1229815262633500672

四、MathWorks提供的与Unreal Engine相关的examples

Unreal Engine Driving Scenario Simulation — Examples​www.mathworks.com

其中几个比较典型的示例有:

Highway Lane Following高速公路车道跟随​www.mathworks.com

8009a1852e86bbfd8bfa2cede19d427a.png

Access the Video at https://www.zhihu.com/video/1229852226413211648. This Video Explores Techniques for Visualising Depth Information and Pixel-Level Labeling Data in Three-Dimensional Environments. Visit the Official Website at www.mathworks.com.

668e7d11458b2743f380be766409b2bb.png

Develop a Lidar-Based SLAM Algorithm Employing a Three-Dimensional Simulation Environment. Additionally, explore innovative approaches for real-time object detection and tracking within complex urban environments.

全部评论 (0)

还没有任何评论哟~