首页 人工智能 > 内容

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

时间:2020-04-09 16:54:47 来源:

使用逼真的仿真引擎,车辆可以学习在现实世界中驾驶并从接近碰撞的情况中恢复过来。

麻省理工学院发明的一种模拟系统,用于训练无人驾驶汽车,创造出具有无限转向可能性的逼真的世界,从而帮助汽车在驶入真实街道之前学会驾驭各种最坏的情况。

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

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

麻省理工学院的研究人员使用他们的真实感模拟器解决了这个问题,该模拟器称为“自治的虚拟图像合成和转换(VISTA)”。它仅使用人类在道路上行驶时捕获的一个很小的数据集,从车辆在现实世界中可能遇到的轨迹中合成了几乎无限的新视点。控制器在不发生碰撞的情况下所经过的距离会得到奖励,因此它必须自己学习如何安全地到达目的地。通过这样做,车辆学会了安全地导航遇到的任何情况,包括在车道之间转弯或从近弯后恢复后重新获得控制。

在测试中,在VISTA模拟器中经过安全培训的控制器能够安全地部署到一辆全尺寸的无人驾驶汽车上,并能够在以前看不见的街道上导航。通过将汽车定位在模仿各种接近碰撞情况的越野方向上,控制器还能够在几秒钟内成功地将汽车恢复到安全的行驶轨迹。 描述该系统的 论文已发表在 IEEE Robotics and Automation Letters中 ,并将在即将于5月举行的ICRA会议上发表。

“很难在人类在路上遇到的这些极端情况下收集数据,”第一作者,计算机科学与人工智能实验室(CSAIL)博士生Alexander Amini说。“但是,在我们的仿真中,控制系统可以体验到这些情况,可以自我学习以从中恢复,并在部署到现实世界中的车辆上时保持强大。”

这项工作是与丰田研究所合作完成的。CSAIL的博士后Igor Gilitschenski和Amini一起加入了本文。Jacobs Phillips,Julia Moseyko和Rohan Banerjee,都是CSAIL和电气工程与计算机科学系的本科生;Sertac Karaman,航空航天专业副教授;CSAIL总监Daniela Rus以及电机工程和计算机科学专业的Andrew和Erna Viterbi教授。

数据驱动的仿真

从历史上看,构建用于训练和测试自动驾驶汽车的仿真引擎在很大程度上是一项手动任务。公司和大学通常会聘请艺术家和工程师组成的团队来绘制虚拟环境,并在道路上标记准确的道路,车道,甚至在树木上留下详细的叶子。基于复杂的数学模型,某些引擎还可能将汽车与周围环境的相互作用纳入物理。

但是,由于在复杂的实际环境中要考虑的事物太多了,因此几乎不可能将所有内容都整合到模拟器中。因此,控制器在模拟中学习的内容与它们在现实世界中的操作方式通常不匹配。

取而代之的是,麻省理工学院的研究人员创建了他们所谓的“数据驱动”仿真引擎,该引擎从真实数据中合成了与道路外观以及场景中所有对象的距离和运动一致的新轨迹。

他们首先从沿着几条路行驶的人那里收集视频数据,并将其输入引擎。对于每一帧,引擎会将每个像素投影到一种3D点云中。然后,他们将虚拟车放置在该世界中。当车辆发出转向命令时,引擎会根据转向曲线以及车辆的方向和速度来合成通过点云的新轨迹。

然后,引擎使用该新轨迹来渲染逼真的场景。为此,它使用卷积神经网络(通常用于图像处理任务)来估计深度图,该深度图包含与从控制器的角度来看物体的距离有关的信息。然后,它将深度图与估算3D场景中相机方向的技术相结合。所有这些都有助于查明虚拟模拟器中所有车辆的位置和相对距离。

基于这些信息,它可以重新定位原始像素,以从车辆的新视点重新创建世界的3D表示。它还跟踪像素的运动,以捕获场景中汽车和人以及其他运动物体的运动。“这相当于为车辆提供了无限数量的可能轨迹,” Rus说。“由于收集物理数据时,我们从汽车将遵循的特定轨迹中获取数据。但是我们可以修改该轨迹以涵盖所有可能的驾驶方式和驾驶环境。那真的很强大。”

从头开始学习强化

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

“我们基本上说,'这是一个环境。你想做什么,就可以做什么。只是不要撞到车辆上,而留在车道内,” Amini说。

这需要“强化学习”(RL),这是一种反复试验的机器学习技术,可在汽车出故障时提供反馈信号。在研究人员的仿真引擎中,控制器首先不知道如何驾驶,什么是车道标记,甚至其他车辆是什么样的,因此开始执行随机转向角。它只有在崩溃时才会获得反馈信号。那时,它被传送到一个新的模拟位置,并且必须执行一组更好的转向角,以避免再次坠毁。经过10到15个小时的训练,它使用这些稀疏的反馈信号来学习不断行驶的距离而不会发生碰撞。

在成功驾驶了10,000公里的模拟飞行后,作者将那个学到的控制器应用于现实世界中的全尺寸自动驾驶汽车。研究人员说,这是首次在模拟中使用端到端强化学习训练的控制器成功地部署到了全尺寸自动驾驶汽车上。“这令我们感到惊讶。控制器不仅以前从未在真正的汽车上使用过,而且甚至从未见过道路,也没有人为驾驶的先验知识,”阿米尼说。

强制控制器在所有类型的驾驶场景中运行,使其能够从姿势混乱的位置重新获得控制权(例如,半路离开或进入另一条车道),并在几秒钟内转向正确的车道。“其他先进的控制器都在此失败,因为他们在培训中从未见过像这样的数据,”阿米尼说。

接下来,研究人员希望从单个驾驶轨迹模拟所有类型的道路状况,例如白天和黑夜以及晴天和阴雨天气。他们还希望模拟与道路上其他车辆的更复杂的交互。“如果其他汽车开始行驶并跳到汽车前方怎么办?” 罗斯说。“我们要开始测试的是那些复杂的,真实世界的交互。”

标签: 无人驾驶汽车