图像由华威大学<b>WMG</b>提供

混合实时模拟器:如何测试无人驾驶车辆

2020年9月29日
如今在公路上行驶的车辆超过80%仍然只有0级自治性——也就是说,驾驶员必须全面控制车辆——大多数专家都认为,我们还要再过几十年才能进入无人驾驶车辆一统天下的时代。

5级车辆自治性是指驾驶员在行车过程中不需要进行任何控制,对于想要达到这种自治性的研究者来说,人员安全性是最重要的考虑因素。支持自治驾驶车辆的AI系统必须经过数十亿英里的公路测试,通过近乎无限种情境考验,才能被认为是安全的。 

按照理想情况,测试应该在现实世界中进行,确保获得最准确的结果——但是这样的测试可能极度危险。另一方面,利用交互式3D技术在模拟环境中进行的测试不仅可控、可重复、更安全,而且省时省钱。那么将这两者的优点结合起来会怎样?华威大学的WMG就做到了这件事。 

将虚拟环境与实体汽车相结合

WMG是华威大学的一个多学科部门,专门与业界合作进行工程、管理、制造和技术方面的应用研究和教学。

它下辖多个尖端研究小组,其中包括智能车辆组——这个由80多人组成的团队从事自动驾驶车辆、传感器、人为因素和通信的测试与研究。

4年前,智能车辆组打造了3xD模拟器,这是一款极为先进的系统,它让研究者能够在真实车辆中驾驶,并且将它们关联到通过8台投影仪显示在360度全方位屏幕上的模拟环境。“我们可以在其中驾驶任何车辆,将它连接到系统,并进行公路测试和开发。”WMG的项目工程师Juan Pablo Espineira解释说。

3xD模拟器用于在代表真实世界的合成环境中测试正常操作条件下的自治系统。在真实世界中,研究者要受到天气或交通等条件的限制,无法可靠而安全地再现复杂情境。 
这类情境可能包括:在雾天或雨天,车上有一个传感器失灵的情况下,转弯进入有司机正在闯红灯的路口。在实地测试中呈现这样的情境将是极度困难和危险的,但是在模拟中却可以轻松再现数百次。

3xD模拟器的混合设计思路使研究者能够在回路中加入扮演驾驶员、安全驾驶员或乘客的人员。也就是说,研究者可以决定人们面临各种情境如何作出反应,如何与技术交互,以及他们对技术的信任度有多大。 

例如,如果要测试自治应急系统,可以让一个人坐进实体汽车中,像驾驶一样进行操作。汽车会认为自己处于真实环境中,当紧急情况或事故发生,汽车制动器发挥作用时,就可以同时测试人与汽车的反应。

可定制的自治驾驶模拟器 

最初支持这款模拟器的可视化软件是由一家外包公司定制的。这一做法有两个弊端——第一,图形保真度在某些测试情况下显得不足;第二,团队无法方便快捷地修改或扩展它。“在研究中,我们经常需要提供新的解决方案或修改先前的解决方案,但是在先前的系统中,我们无法做到。”Espineira说。

为了解决这些问题,团队决定改用虚幻引擎。对引擎源代码的访问使团队获得了根据需要改造模拟器的无限灵活性——例如,可以实现特定的传感器或噪声模型,或者让事物在虚拟环境中以特定方式交互。“虚幻让你能够做到这一切,而且让你能通过引擎中没有的C++来实现各种事情。”Espineira说,“比方说,我实现了用于和汽车通信的各种库,实践证明它们非常有用。”
团队还利用虚幻引擎的蓝图可视化脚本系统,使更多研究者得以亲身参与项目的实践。“蓝图是一种非常有用的工具,因为很多时候,我们的研究者非常精通各自的专业领域——比如传感器、电子设备或机械设备——但对模拟器和模拟软件了解有限。”Espineira说。 

蓝图使程序员之外的人员能够以更为直观的方式编写代码脚本——通过连接节点,而不是编写一行行代码。“如果我们使用开源模拟器,研究者就必须进入源代码来修改传感器模型或噪点模型,这实际上是十分困难的。”Espineira说,“蓝图提供了比较简单的方法来做这些工作。”

利用虚幻引擎创建实时模拟器

为了创建3xD Simulator模拟器,团队从虚幻引擎的载具模板着手。该模板包括一辆载具,其中有可以根据需要更改的内置载具动力学。然后他们构建了公路网和周边环境。WMG有时会使用通过激光雷达扫描获得的3D模型,不过你也可以使用来自商城的资源。 

Espineira需要找到一种方法,将环境投影到环绕受试实体车辆的360度全方位屏幕上。“通常,你会在虚幻环境中放置摄像机来确定屏幕应该出现的位置,然后把图像发送到投影仪。”他说。

但是如果要同时使用8台投影仪得到一幅无缝的图像,就没这么简单了。“你需要8个视频端口,需要运行8个虚幻实例。”Espineira说,“你没法在一台计算机上做到,所以要找到一种方法,使用多台计算机来实现这一点,而且要让这些计算机同步。”

该团队在nDisplay中找到了解决方案。nDisplay能够在联网的多台计算机上部署和启动多个虚幻引擎实例 ,实时地将3D内容同时渲染到多个显示屏。“其中一个实例将是主实例,其他实例用于可视化。这些实例将会传到投影仪。”Espineira说,“每台投影仪各由一台计算机控制,这为我们节省了许多性能。”

打造模拟器的下一阶段需要设计一种方法,使信息在虚幻引擎和实体汽车之间来回流动。为此,Espineira使用了ObjectDeliverer插件。这款插件提供了连接服务器的蓝图,通过它们可以收发数据。
这些数据可能包括:车辆在模拟中的车速和发动机转速;用于GPS关联或导航的车辆XY坐标;虚拟环境中各种实体的位置,用于发送到SUMO之类的交通模拟软件;以及雷达和激光雷达等传感器数据,用于在MATLAB之类的分析软件中进行可视化。 

WMG团队需要将汽车中的实体组件与模拟关联起来。它通过接入控域网(CAN)总线网络实现了这一点,现代汽车的各种组件就是通过这个系统相互通信的。团队通过访问该系统,可以读取汽车发送的数据,例如油门位置或大灯是否打开,还可以写入指令,例如车速或发动机转速应该是多少。

最后,Espineira使用蓝图在虚幻引擎中创建雷达和激光雷达传感器模型,从而跟踪来自车辆的非摄像机传感器的数据。 

实时技术与智能汽车的未来

无人驾驶车辆领域正在以越来越快的节奏发生变化,人人都有自己偏爱的软件工具链——所以快速生成能够方便地调整的快捷定制解决方案是关键。这是WMG使用虚幻引擎的主要原因之一。“通过市面销售的软件是没法方便快捷地做到这一点的,即使做到了也要付出额外成本。”Espineira说。

随着研究者距离完全自治的5级系统的目标越来越近,游戏引擎将发挥关键的作用,促进对未来无人驾驶汽车至关重要的安全测试。 

    和我们谈谈!

    有兴趣了解怎样发挥虚幻引擎用于训练与模拟的潜力吗?请联系我们来开始相关对话。