图像由Duality Robotics提供

训练机器人:从动画电影到虚拟环境

Sébastien Lozé
自主式机器人已经为工业部门服务多年,但它们主要是无法移动、装在框架中的机器,仅限于执行高度特化的任务。真正自主行动的机器人、无人机和车辆——能够像真人一样在人来人往的建筑中、沙漠地形中或乡村道路上来去自如的机器——还有待实现。 

许多公司正在为了达到这个标准而努力,并将这类机器放在虚拟环境中进行测试,因为在这类环境下可以根据规范进行边缘案例和异常情况的严格测试,而且不会让这些机器危及人员、财产或自身。但是这类测试需要实时运行的逼真虚拟场景,并巧妙处理现实与虚拟的双重性。

这种双重性(duality)就是Duality Robotics的核心,也影响了它用于机器人和AI开发的Falcon平台。Falcon以虚幻引擎为基础,具有逼真到让机器学习网络分不清合成场景和真实场景的环境。事实上,由于它展现的前景实在诱人,这家公司最近获得了一笔Epic MegaGrant,用来进一步开发Falcon平台。

当机器人遇上动画

Duality Robotics是2018年由Mike Taylor创立的,他曾在卡特彼勒公司领导团队打造大型野外机器人,如今是Duality的首席机器人专家和解决方案工程主管,而与他共同创立公司的首席执行官Apurva Shah曾是制作高端动画电影的视觉特效主管。Shah的履历中包括在皮克斯动画工作室的12年工作经历,他在那里帮助解决的大数据量环境问题恰恰是如今机器人行业所面对的。

虽然Shah和Taylor可能看起来是格格不入的一对搭档,但这两人在解决模拟难题时却分别起到了不可或缺的作用:如何准确模拟复杂的环境情境,和如何使场景使用来自传感器和机器的实时响应运作。 
图像由Duality Robotics提供
事实证明,解决问题的关键是通用场景描述(USD)标准,这是皮克斯开发的一种数据格式,用于高效定义极其庞大复杂的3D模型。Shah说:“从一开始我们就知道,我们的数据模型必须有一个非常牢固的基础。”

Shah用分别在1995年、2006年和2012年发行的皮克斯电影《玩具总动员》、《赛车总动员》和《勇敢传说》作为类比,向我们说明了采用USD进行机器人测试的道理。他提醒我们,《玩具总动员》的很多剧情发生在一个比较小的场景中,也就是一个小男孩的卧室。

“再来看看《赛车总动员》系列,其中就有了各种环境和城市,而在《勇敢传说》中,我们必须模拟出整个森林。”Shah说,“在USD出现前,我们根本无法管理这么复杂的东西。这会堵塞我们的管线。”

为了说明这个挑战如何适用于机器人,Shah又拿出机器人技术的发展历程作为对比。“几十年来,我们使用的都是在框架中运行的大型机器人。它们所处的世界非常简单。”他说,“现在,假设你把那个框架拿掉,让机器人在一个繁忙的仓库中移动,从机器人的角度看,那就是一片混乱。这种复杂性不只是原来的两倍或四倍而已——它是指数提高的。那么,你要怎样高效地表示这种复杂性呢?要解决一个问题,你首先需要把问题表示出来。”

正是这种对比促使Shah和Taylor采用USD作为超大环境数据集的标准格式,并用这种数据集来创建自主式机器人、车辆和无人机的测试解决方案。通过使用USD格式,Duality能够创建实时运行的丰富环境,其中甚至包含通过传感器和机器输入和输出模拟的海量数据。 
图像由Duality Robotics提供
这种功效对于Duality的高科技客户来说很重要,长期引领次世代航空自主系统技术的霍尼韦尔航宇公司就是其中的代表。“除了其他工具外,健壮而模块化的3D模拟环境至关重要,是高效开发下一代解决方案,实现快速设计、测试和验证算法与系统的关键。”霍尼韦尔航宇公司的先进技术工程主管Jeff Radke说。 

模拟复杂场景

包括霍尼韦尔在内的Duality客户在与这家公司接触前通常都有一定的模拟经验。Taylor解释说,许多公司来找他们是出于速度和通用性的考虑,因为在内部开发解决方案往往会增加项目风险和拖慢进度。

“大部分工程师都认识到需要有自主模拟器,但做出可靠的模拟器可能很难。团队往往缺少开展工作或充分利用现有资源的人才。”他说,“一种常见的障碍是,他们没有熟悉游戏和电影方面的人。”

Shah进一步解释说,市面上有许多现成的模拟产品,每种产品都能做一件特定的事,而且做得很好——比如,风洞模拟器能且只能模拟风洞——但是如果客户想把这些工具与他们自己的定制模拟结合起来,结果就会不完整、不准确,或者速度太慢无法实时回放。

多种因素的组合——Shah在制作逼真环境方面的经验,Taylor关于机器人的丰富知识,他们为了实现可扩展性、互操作性和效率而对USD文件格式的应用,以及虚幻引擎的图形和模拟能力——使Duality能够制作出在这个竞争激烈的行业为速度和逼真度设定高标准的模拟解决方案。
图像由Duality Robotics提供
“这个领域的解决方案在性能上有许多妥协,不过在实践中,这种妥协往往只有一小部分会表现出来。”Taylor说,“除了核心模拟器外,实用机器人还需要表现真实世界的多样性和混乱性的模拟环境。”

Shah也指出,Duality增加的价值有一部分来自Falcon将真实摄像机效果添加到传感器流送的功能,这可以创造出与机器在现实环境中看到的情景非常吻合的图像。“镜头和摄像机型号、景深、散焦效果——在视觉系统看到光电传感器的合成输出之前,这一切都会做进画面中。”他说。
图像由Duality Robotics提供

用高质量的数据验证模拟

模拟的逼真度和速度对于打造实用自主系统的公司来说至关重要。例如在开发霍尼韦尔的下一代自主解决方案时,工作中很重要的一部分就是验证系统是否符合霍尼韦尔自身的严格质量标准。对于如此先进的系统,必须使用来自高保真3D照片级模拟器的数据,改进收集真实世界中各种可能情境和环境的数据的过程。 

AI和机器学习方法往往是这类系统的核心,而它们的快速进步又进一步放大了对于高质量、多样化的合成数据的需求。通过正确部署合适的模拟工具,实验室中的工程团队可以逐步迭代,优化他们的算法,在不牺牲质量的前提下提高开发速度。
图像由Duality Robotics提供
“Duality的模拟器为我们提供了一个框架,使我们能够轻松集成我们的算法并针对不同情境快速生成高质量的数据,从而减少了数据收集与测试方面的成本、时间和风险。”霍尼韦尔航宇公司的替代导航和自主组产品主任Thandava Edara说。

Duality最近的另一个项目是一种自动驾驶长途运输车的数字孪生。客户已经给一辆卡车安装了用于自动驾驶的传感器和执行器,因此Duality就以此为起点——他们通过实体传感器收集现场数据,与卡车一同行驶,了解这辆庞然大物在执行其行车任务时的特性。 

然后他们就做出了数字孪生。“我们在虚幻引擎之外构建了他们的定制执行器的模拟,并在虚幻引擎中构建了这辆大卡车的多体动态模型,是连在一起的牵引车和拖车。”Taylor解释说,“然后我们调整这个组合系统的动态,使它符合现场数据。”

在由此得到的解决方案中,卡车的自主软件能够指挥这个组合模拟,驱动虚幻引擎中卡车的3D模型。“虚幻的架构使我们能够构建如此准确的统一模拟,我们能够在模拟卡车与真实数据之间实现厘米级的对应,而且都是在高速行驶时的激烈机动中实现的。”Taylor说。 
图像由Duality Robotics提供
准确的模拟可以在逼真的虚拟环境中验证实体系统,还可以通过同样的方式发现实体设备或数据中的缺陷。Shah和Taylor提到,有一次Duality接到了为一种自主步行机器人创建虚拟练习环境的任务。在模拟中,这种步行机器人老是将某些类型的阴影误判为实物。 

虽然乍一看来,这可能是模拟中的缺陷,但后来他们发现,真实的机器人在遇到这类阴影时也会有完全相同的反应——模拟器对于这种机器人传感器的模拟竟然准确到了与其感知系统犯相同错误的程度。“不但是相同类型的错误,还是相同性质的错误。”Taylor指出,“虚拟机器与真实机器的行为完全一致,这是至关重要的。”

以虚幻引擎为平台

Duality在采用虚幻引擎作为其模拟解决方案的基础工具时,遇到的难题之一就是克服客户有时对于将游戏引擎用于如此精密的技术的不理解。“有些客户认为游戏引擎不可能具备确定性,但是我们很快就向他们证明这是可能的。”Taylor说,“我们还听说,他们以前也试用过某种游戏引擎,但是不如人意。他们也担心人员、车辆、植物的行为是否准确。这些担忧是很合理的,我们也乐于帮助他们准确理解虚幻引擎的能力,以及我们可以如何解决他们的问题。”

Duality可以通过机器领域的定向而详细的演示打消这类疑虑,而客户可以在演示中看到他们的特定问题实时得到解决。“空谈不如实践。”Taylor评论说,“我们不会只在嘴上说,我们会拿给他们看。”
图像由Honeywell提供
图像由Honeywell提供
Duality选择虚幻引擎作为Falcon的平台是出于多种原因。“场景的保真度非常重要。”Shah说,“我们实际上为所有宽度超过半厘米的东西都制作了模型。如果用纹理代替模型来表现,那么在不同角度和距离下,传感器的读数就可能出现少许异常。虚幻引擎在其图形中保留了这种保真度。”

另一个优点是虚幻引擎用于构建模拟的简便性,Duality的工程师们可以自行管理模拟,甚至自行构建。例如,一套Duality系统可能包含由USD文件格式以可调整的参数形式公开的属性,因此工程师不需要知道如何使用虚幻模拟器,就能够实时改变镜头信息。

不过Shah对虚幻引擎最欣赏的一点还是其架构,其中包括了一套名为蓝图的强大可视化脚本系统。“它就像一个3D操作系统。”他说,“它具有C++和蓝图组成的优秀基础,还有一个非常健壮的编辑器,可以用来构建关卡和处理各种情境。这套完整的生态系统,以及这套生态系统的架构,对我们来说很重要。”

Duality的API提供开盒即用的原生ROS集成,工程师们甚至可以直接用被Shah称作机器学习“通用语言”的Python编写代码。“如果你已经构建了一个自主堆栈,那么你只需要做极少的工作就能集成它。”他说。

Duality团队打算花一定时间开发他们的自主模拟器,而在实现这个目标的过程中,将一直使用虚幻引擎。 

“虚拟和现实——怎样才能模糊这两者的界限呢?”Shah问道,“那就是我们正在研究的双重性。这不是一个花两年时间就能解决的问题,我们认为这个问题需要10到15年时间。而虚幻引擎提供了我们解决问题所需的保真度和可扩展性。”

    让我们谈谈!

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