2017年6月,我们在位于安阿伯的密歇根大学北校区,建立了全球首个自动驾驶汽车全尺寸试验台——Mcity实施了增强现实环境。它占地32英亩,其8车道公里(5车道英里)的道路被安排在具有高速公路、多车道主干道或交叉路口属性的路段。
自动测试车配备了车载设备,可以监测如位置、速度、加速度和航向等车辆状态,每隔十分之一秒发出一次。利用专门的短程通信(DSRC)来实现无线传输(DSRC是一种类似于专为移动用户设计的Wi-Fi的标准)。此外,分布在测试设施周围的路边设备接收这些信息并将其转发给一个交通模拟模型,该模型可以通过将测试设备简化为包含交通信号动作的等效网络几何来模拟该测试设备。一旦计算机模型接收到测试车信息,就会创建测试车的虚拟副本。然后,它根据真实测试车的运动来更新虚拟车的运动。
将真实测试车辆的数据输入计算机模拟中只构成了一半的回路。我们通过向测试车发送计算机模拟的各种车辆的信息来完成另一半。这就是增强现实环境的本质。每一辆模拟车辆会产生频率为10赫兹的车辆状态信息,我们将这些信息转发给路边的设备,这些设备反过来又会实时散出(广播)这些信息。当真正的测试车接收到这些数据时,它的车辆控制系统会使用这些数据来“查看”所有的虚拟车辆。对汽车而言,这些模拟的实体与真实的东西没有什么区别。
通过路边的设备传递信息——也就是说,用“V2I”的连接代替直接的“V2V”连接——真实车辆和虚拟车辆可以相互感应并进行相应交互。同样,真实世界和模拟世界之间的交通信号状态也是同步的。这样,真实的和虚拟的交通工具都可以“看到”给定的光,并判断它是绿色还是红色。
在真实世界和模拟世界之间传递的状态信息也当然包括车辆位置。这允许将实际的车辆映射到模拟的道路网络中去,并将模拟的车辆映射到实际的道路上。实际车辆的位置由GPS坐标(纬度、经度和海拔)和模拟车辆的局部坐标(x、y和z)定位。
但是这种精确的转换并不是全部需要。GPS和地图细微的误差,会阻止GPS的位置出现在模拟道路上。GPS获取的位置是从实际的测试车转过来,然后转换到本地的坐标系统上。为此,我们使用单独的映射算法来纠正这些错误。此外,当测试车停止时,我们必须在模拟环境中锁定它的位置,这样它的GPS坐标的波动就不会导致它在模拟中偏离。
无线电收发器[白色物体,顶部]从汽车中获取数据,并返回计算机生成的虚拟数据。一个虚拟对象是一列火车。汽车刹车以避免闯红灯的虚拟车(从上数第三)。许多交通模式可以在一个小空间中产生
无线通信将作为这一切的传输枢纽。为了确保其可靠性,我们在Mcity安装了四个路边收音机,足以覆盖整个测试设施。DSRC无线标准,运行在5.9千兆赫波段,为我们提供了较高的数据传输速率和非常低的延迟,在高速行驶和紧急停车时,这些装置对安全至关重要。DSRC在日本和欧洲广泛使用;虽然凯迪拉克目前正在为其部分车型配备DSRC设备,但它在美国还没有获得太多关注。
然而,我们还不确定DSRC是否会成为汽车之间交流的方式。一些人认为,蜂窝通信(C-V2X),尤其是在即将到来的5G实现中,可能会提供更大范围的低延迟。无论哪种标准胜出,我们系统中使用的通信协议都可以很容易地适应它。
我们希望用于构建系统的软件框架能持续扛一段时间,至少能用几年。我们使用PTV Vissim构建了我们的模拟,这是一个在德国开发的用于“微观地”模拟交通流量的商业软件包,即模拟每辆车的行为。
可以预期是,其他公司开始使用我们的系统来测试他们自己的自动驾驶车辆。目前,我们的一辆林肯MKZ混合动力作为测试车,它配备了DSRC,因此可以完全连接。我们添加到汽车上的线控系统允许软件控制方向盘、油门、刹车和变速器。这辆车还携带多部雷达、激光雷达、照相机和一个实时运动定位的GPS接收器,通过参考来自地面无线电台的信号来提高分辨率。
Mcity测试车携带激光雷达(一种激光测距仪),既可用于圆形视野(由旋转的屋顶塔提供),也可用于前方聚焦。雷达补充了这种感觉,而GPS以一种高度精确的无线电校正——使装备更加完善。
目前,我们已经实现了两个测试场景。在第一个场景中,系统生成一个虚拟火车,并将其投射到测试车所感知到的增强现实中,此时火车正在接近Mcity的一个铁路道口模型。关键是看测试车是否能及时停车,然后等待火车通过。我们还加入了其他虚拟交通工具,例如测试车之后的汽车。这些一列列的汽车——实际的和虚拟的——可以被正式安排为车队(称为车队),或者是临时安排:也许是排队进入匝道的汽车。
第二个更复杂的测试场景涉及我们前面提到的情况——运行红灯。根据美国汽车协会(American Automobile Association)的数据,在美国,闯红灯的汽车造成的死亡人数占十字路口死亡人数的四分之一以上。这个场景有两个目的:观察测试车对交通信号的反应,以及它对闯红灯违章行为的反应。
我们的测试车能够分辨出信号是红还是绿,并据此决定是停还是走。它还应该能够注意到模拟的红灯车的逼近,预测它的轨迹,并计算当测试车穿过轨迹时,它可能在的位置。测试车应该能够做好所有这些事情来避免碰撞。
由于运行模拟的计算机可以完全控制红光流道的动作,因此它可以在连续的实验迭代中生成各种各样的测试参数。这正是计算机能比任何人类驾驶员做得更精确的原因。当然,整个实验可以在完全安全的情况下进行。
其实还有很多这样的边缘情况模拟可以做。例如,我们可以使用增强现实环境来评估测试车辆处理复杂驾驶情况的能力,比如从一个停车标志向左拐到一条主要公路上。车辆需要寻找来往两个方向的交通空隙,同时留意可能会在标志处横过的行人。汽车可以先在中间停车,也可以直接驶入想要的车道。这涉及到若干个阶段的决策过程,所有阶段都考虑到其他车辆的行动(包括预测它们将如何对测试车的行动作出反应)。
另一个例子是在没有交通信号帮助的情况下,在环形交叉路口进行进出或让车的情况。在这里,测试车需要预测其他车辆的下一步,决策一个可接受的差距,用来并道,并观察其他的车辆。我们还可以与自行车、行人和其他道路使用者(如农用机械)一起构建增强现实场景。此类替代角色的可预测性越低,自动驾驶汽车所需的智能就越多。
最后,我们希望构建一个包含边缘用例的大型测试场景库,然后使用增强现实测试环境重复运行测试。我们现在正在建立这样的数据库,其中包括从实际车祸报告中搜集的数据,以及装载传感器的车辆观察到的人们在不知道自己是实验参与者的情况下是如何驾驶的。通过将不同的边缘条件叠加一起,我们希望创造出对自动驾驶汽车上运行的软件特别具有挑战性的人工边缘情况。
有了这样的装备,我们应该能够看到一辆特定的自动驾驶汽车有多安全,而不必非得在有太阳的前提下才够胆量去开了。