分类
麻省理工学院新闻

该系统在无人驾驶汽车上路前对其进行模拟训练

利用逼真的仿真引擎,车辆可以在现实世界中学习驾驶,并从近乎撞车的场景中恢复。

麻省理工学院(MIT)发明的一个训练无人驾驶汽车的仿真系统,创造了一个具有无限转向可能性的逼真世界,帮助汽车学会在沿着真实街道行驶之前,在一系列糟糕的情况下导航。 

自动驾驶汽车的控制系统或“控制器”很大程度上依赖于来自人类驾驶员的真实驾驶轨迹数据集。从这些数据中,他们学会了如何在各种情况下模拟安全的转向控制。但幸运的是,来自危险“边缘情况”的真实数据很少,比如险些撞车或被迫驶离道路或进入其他车道。

一些被称为“仿真引擎”的计算机程序旨在通过绘制详细的虚拟道路来模拟这些情况,以帮助训练控制器进行恢复。但是,从模拟中学习到的控制从来没有在一个全尺寸的车辆上被证明转移到现实中。

麻省理工学院的研究人员用他们的真实感模拟器解决了这个问题,这个模拟器被称为自主的虚拟图像合成和转换(VISTA)。它只使用一个小的数据集,由人类在道路上驾驶时所捕获,从车辆在现实世界中所能采取的轨迹中,综合出几乎无限的新视点。控制器在不坠毁的情况下飞行的距离是有奖励的,所以它必须自己学习如何安全到达目的地。在这样做的过程中,车辆学会了在遇到的任何情况下安全驾驶,包括在车道之间转弯后重新获得控制,或者从接近事故中恢复。 

在测试中,在VISTA模拟器中接受安全训练的控制器能够安全地部署到一辆全尺寸的无人驾驶汽车上,并能在以前从未见过的街道上导航。在模拟各种接近撞车的情况下,在越野方向定位汽车时,控制器也能够在几秒钟内成功地将汽车恢复到安全的行驶轨迹。一篇描述该系统的论文已经发表在IEEE机器人和自动化快报上,并将在5月份的ICRA会议上发表。

第一作者、计算机科学与人工智能实验室(CSAIL)的博士生亚历山大•阿米尼(Alexander Amini)表示:“在这些人类没有在路上经历的极端情况下,很难收集到数据。”“然而,在我们的模拟中,控制系统可以体验这些情况,学习如何从中恢复,并在现实世界中部署到车辆上时保持健壮。”

这项工作是与丰田研究所合作完成的。和阿米尼一起发表论文的还有伊戈尔·吉尔茨申斯基(Igor Gilitschenski),他是CSAIL的博士后;Jacob Phillips, Julia Moseyko,和Rohan Banerjee,都是CSAIL和电子工程与计算机科学系的本科生;航空航天副教授Sertac Karaman;和Daniela Rus, CSAIL的主任以及Andrew和Erna Viterbi电气工程和计算机科学的教授。

数据驱动的仿真

从历史上看,为训练和测试自动驾驶汽车制造仿真引擎基本上是一项手工任务。公司和大学经常雇佣一批艺术家和工程师来描绘虚拟环境,包括精确的道路标志、车道,甚至是树上的树叶。基于复杂的数学模型,有些引擎还可以结合汽车与环境相互作用的物理特性。

但是由于在复杂的现实环境中有许多不同的东西需要考虑,所以实际上不可能将所有东西都整合到模拟器中。因此,控制器在仿真中学习的内容与它们在现实世界中的操作方式通常不匹配。

相反,麻省理工学院的研究人员创造了一种他们称之为“数据驱动”的模拟引擎,从真实数据中综合出与道路外观一致的新轨迹,以及场景中所有物体的距离和运动。

他们首先从一个在几条路上开车的人身上收集视频数据,然后将其输入引擎。对于每一帧,引擎将每个像素投射到一种3D点云中。然后,他们在那个世界里放置一个虚拟的交通工具。当车辆发出转向指令时,发动机根据转向曲线和车辆的方向和速度,通过点云合成新的轨迹。

然后,引擎使用新的轨迹来渲染一个逼真的场景。为此,它使用卷积神经网络(通常用于图像处理任务)来估计深度图,深度图包含与控制器视点到目标距离相关的信息。然后,它将深度地图与估计3D场景中摄像机方位的技术相结合。这一切都有助于确定车辆的位置和与虚拟模拟器内所有东西的相对距离。

基于这些信息,它重新定位原始像素,从车辆的新视角重建世界的3D表现。它还可以跟踪像素的移动,以捕获场景中车辆、人员和其他移动对象的移动。“这相当于为飞行器提供无限多可能的轨迹,”罗斯说。“因为当我们收集物理数据时,我们得到的数据来自汽车将遵循的特定轨迹。但是我们可以修改轨迹来覆盖所有可能的驾驶方式和环境。很强大。”

从零开始强化学习

传统上,研究人员一直通过遵循人类规定的驾驶规则或试图模仿人类驾驶员来训练自动驾驶汽车。但研究人员让他们的控制器在“端到端”框架下完全从头开始学习,这意味着它只接受原始传感器数据作为输入——比如道路的视觉观察——并根据这些数据预测输出的转向指令。

“我们基本上会说,‘这是一个环境。你可以做任何你想做的事。只要别撞到车里,呆在车道里就行了。’”阿米尼说。

这就需要“强化学习”(RL),这是一种反复试验的机器学习技术,每当汽车出错时,它都会提供反馈信号。在研究人员的模拟引擎中,控制器一开始对如何驾驶一无所知,不知道路标是什么,甚至不知道其他车辆是什么样子,因此它开始执行随机的转向角。它只有在崩溃时才会得到反馈信号。此时,它就会被传送到一个新的模拟位置,并必须执行一组更好的转向角度,以避免再次撞车。经过10到15个小时的训练,它利用这些稀疏的反馈信号来学习如何在不崩溃的情况下走得更远。

在模拟成功行驶1万公里后,作者将学习到的控制器应用到现实世界中的全尺寸自主驾驶汽车上。研究人员表示,这是首次在模拟中使用端到端强化学习训练的控制器成功部署到全尺寸自动驾驶汽车上。“这让我们很惊讶。Amini说:“这个控制器不仅以前从未在真正的汽车上使用过,而且以前它甚至从未见过路,也不知道人类是如何驾驶的。”

迫使控制器运行所有类型的驾驶场景,使它能够从迷失的位置重新获得控制——例如在道路的一半或进入另一条车道——并在几秒钟内转向回正确的车道。“其他最先进的控制器都不幸地失败了,因为他们从来没有在训练中看到过这样的数据,”Amini说。

接下来,研究人员希望模拟单一行驶轨迹下的所有路况,比如白天和黑夜,晴天和雨天。他们还希望模拟与道路上其他车辆之间更复杂的交互作用。“如果其他车辆开始移动并跳到车辆前面怎么办?””罗斯说。“这些都是复杂的、真实世界的交互,我们想要开始测试。”

新闻旨在传播有益信息,英文原版地址:http://news.mit.edu/2020/system-trains-driverless-cars-simulations-0323