为了搞清楚人们在自动驾驶环境里的真实反应,沃尔沃设计出了「绿野仙踪」车

编译 | 王宇欣、Edison Ke、Rik R

来源 | IEEE Spectrum


在瑞典哥德堡东部的一个测试车道上,人们被引入自动驾驶汽车中,即将开启他们的首次试驾之旅。

实际上,这些车辆并不完全是自动化的——车里还有一位人类陪驾。人们参与这项实验,是想看看自动驾驶汽车会给他们带来怎样的体验。

Zenuity 是由沃尔沃(Volvo)与一家瑞典的汽车安全公司 Autoliv 合资成立的,他们煞费苦心策划这次试驾活动,是为了让消费者亲身体验自动驾驶汽车的可行性,以及过人的安全性。

如果自动驾驶汽车要被推向大众、真正上路行驶,公众也需要了解其驾驶规则,知道如何安全跟车。

事实上,汽车也许不再像以前那样需要人类陪驾了。

自动驾驶汽车中已经配备了先进的计算机视觉、雷达技术和计算平台,以避免行车事故,提升行车安全性。汽车会继续承接更多的驾驶任务,直到能够完全独立地驾驶自己。这也将是汽车取代马车之后的最大交通革命。

不过,打造自动驾驶汽车的能力,与证明其安全性的能力是两回事。

交通状况就像天气一样难以预测,要想即刻应对各种不同的状况,就需要测试无数个场景。

仅仅通过行车来全面测试所有场景,那得花上几个世纪。因此,我们必须找到其它方法来确保其安全性,比如通过计算机模拟和数学建模。眼下,人们正将实地的交通测试与用例广泛的增强现实模拟算法相结合,并在世界上最先进的测试车道上展开测试,尝试真正掌握保证自动驾驶行车安全性的方法。

晴朗的天气难不住自动驾驶汽车。但其它情况呢?

尽管它们不常发生,比如雷雨天气,道路上会布满了被风刮下的树枝。这与日落西山,一只麋鹿悠然过道的场景完全不同,对汽车提出的挑战也截然不同。

汽车制造商可能会因那些反应不当的车辆而被追究责任,因而他们就希望能够对车辆的响应方式进行预估。对我们消费者来说,最大的问题则是「怎样得知车辆是安全的?」

在此之前,必须搞清楚的一点是,一辆自动驾驶汽车的安全性是指什么。

安全并不意味着完美,因为环境信息永远不可能完美。相反,安全性指的是,自动驾驶汽车要处理好它所应当处理好的问题,例如遵守车速限制、随车并入车道,或是在停车标志处观察道路通行权。在此基础上,安全性还要求汽车必须认识到自己是否有超出其行车设计规范的风险。例如,处于森林中的车辆不应该再尝试继续行车。

从美英两国的数据来看,在造成人员死亡或重伤的各类交通事故中,有 90% 要部分归因于人类司机犯下的错误。正因如此,对于什么是「足够安全的」这个问题,一个简单的回答通常是:「好过人类司机」。但各中细节却发人深思。要超越酒驾司机很容易,甚至是超过人类司机的平均安全水平。但是,要想超过中值水平的大多数人类司机,可能会有些困难。

因此,对待自动驾驶汽车的态度既不能太严格,以致拖慢了先进技术挽救生命的脚步,也不应当太宽松,而把最初的消费者当成是小白鼠。相反,首批自动驾驶车辆的安全系数应明显优于人类司机的中值水平。如果汽车上的每个部件都能表现得比人类更好,且运行在每个部件上的复杂算法都可以共同作用来驱动车辆,那么有理由得出结论:自动驾驶汽车是一个比人类更好的驾驶员。

这意味着,自动驾驶汽车系统要能应对给定范围内的任意情况,且能对其余情况做出适当反应。比如,一名跳伞者直接降落在了汽车前方,这种情况就得在设计安全测试场景时事先考虑到。

雪天安全测试:在恶劣的天气情况下,比如大雪天气,自动驾驶汽车必须意识到其雷达(顶部)、相机(底部)和其它传感器可能会受到损害,同时相应地调整其驾驶策略。

任何潜在的不安全因素——软件错误、硬件故障、传感器限制、意外的天气条件——都必须证明是非常罕见的。从经验来看,任何一个这类问题的发生概率都应当在十亿分之一以内。在这样低的故障率下,综合考虑所有这些潜在因素,才可以保证车辆的安全性,进而交付最终产品,而无需进行太长时间的测试。

然而,对于那些即使是最好的人类司机也无法解决的问题,人们不应该指望汽车来解决。

其中一个就是有轨电车问题(trolley dilemma,救一个还是救几个?),通常由伦理学教授和媒体抛出。在这种假设的情况下,你有两种选择:1. 不采取任何行动,让失控的电车撞死那条轨道上的几个人;2. 主动按下开关,让电车驶向另一条轨道,撞死那条轨道上的另一个人。

这与自动驾驶汽车的相似之处是显而易见的。例如,一辆自动驾驶汽车也遇到了这种情况,它也只有两种选择:1. 直接开过去杀死几个行人,2. 转向一个路障牺牲自己的主人。

不过这个问题只是题外话。由于在任何一起致命事故中,死亡风险都是很低的,那么,要在这两种情况下不得不进行二选一的概率就更低了。我们能够对自动驾驶汽车提出的所有要求就是,它们应该避免让我们做出这种不可能的选择。

一旦我们拥有了看似安全的自动驾驶汽车,我们就必须证明它是安全的。

一种方法是直接测试法。在这里,车辆在真正的交通中进行测试,直到在统计意义上被证明是安全的,但是这将在路上花费数亿甚至数十亿小时。第一批汽车正以这种方式进行测试,即使那些驾驶这些汽车的人是实验中不知情的参与者。

此外,也有可能采用分而治之的方法。回避直接要求解决复杂的问题,如车辆的传感器是否能在暴风雪中发现一只横穿马路的鹿。取而代之的是一些更容易回答的简单问题,如汽车是否能分辨传感器是否被雪遮盖了,或者硬件是否由于低温无法工作。你还可以顺便再问一个问题:「如果是的话,汽车能否相应地调整它的决策方法?」然后我们就可以用最适合的验证方法来解决这些小问题,无论是计算机模拟,快速旋转测试轨道,还是把车放在真实的交通环境中。

在现实中,任何可行的方法都将介于直接测试和分而治之模式之间。因为技术在快速迭代中发展,所以强调分而治之是明智的。例如,无论何时当硬件或软件发生了变化,使用直接测试法收集的任何数据都可能不再有效。分而治之则可以专注于重新测试那些更新了的系统的安全性,同时避免重新收集已经拥有的大量数据。

为了解决分而治之问题,可以将自动驾驶汽车的系统分为四部分——人机界面、感知、决策和车辆控制。人机界面与车辆及其用户交互的方式有关。感知是车辆的传感器如何创建其周围环境的视图,决策计划如何应对该视图,而车辆控制是计划的物理执行。每个组件都有自己的极端情况和方法来验证它是否安全。

考虑到汽车在大多数情况下是自动运行的,但仍然需要偶尔的人工干预,而在这样的情况下,用户可能会豪无预警地试图控制车辆,从而影响车辆的性能。

为了观察人们如何做出反应,我们通过在车辆后面隐藏一个专业司机来模拟自动驾驶,从而给人一种印象,那就是车辆在大部分时间都在自己驾驶。我们称它为「绿野仙踪」车,因为就像电影中著名的奥兹巫师一样,我们误导驾驶员的注意力使其忽视「幕后人物」,就像奥兹巫师做的那样。

这并不是一个精心设计的骗局——我们只是把实际的驾驶员隐藏在胶合板后面。也许令人惊讶的是,测试对象很少质疑后座的外壳。当其中一个人提出疑问时,我们就把它解释为一个用来存放原型机所必需的电脑或其他设备的空间。令人满意的是,我们的测试对象可以坐下来体验一辆「真正的」自动驾驶汽车。事实上,他们觉得非常舒适,经常感到无聊甚至是睡着了——这说明,如果汽车需要他们在棘手的情况下接手,我们不能总是依赖司机的快速反应。

自动驾驶模拟:对某些场景进行测试实在太危险了,比如测试在开动的自动驾驶汽车前有行人行走的情况,所以这些复杂的「极端情况」是在模拟中进行的,以测试汽车的反应。

随着人类对车辆的监督减少,证明车辆可以在它可能遇到的任何情况下不受监督地安全自动驾驶成为了更大的问题。这意味着在执行独立的传感器测试后,将完全依靠车辆的传感器了。

例如,我们可以在真实的驾驶条件下测试摄像头,但这与在屏幕上显示真实道路的增强图像同样容易,却很难测试相机是否能在现实世界中探测到路上的麋鹿——毕竟我们没法让麋鹿配合我们做测试。但我们可以通过在任何我们所需要的距离和角度添加麋鹿的图像来测试摄像机是否能很好地识别驼鹿。

而当我们测试雷达时,我们将雷达放置在一个房间里,在房间里我们可以部分或完全地用水或雪覆盖雷达,并测试它是否能识别出这些阻碍。

当然,我们也测试这些传感器如何在实际的车辆中协同工作。我们可以在让车辆运行自动驾驶模式,观察它如何收集和使用传感器数据。鉴于我们主要关心的是了解车辆的传感器的功能,所以在手动驾驶过程中也收集传感器数据,以了解车辆检测周围环境的情况。

这些驾驶测试也带来了一个确定车辆是否能识别自己的极限情况的机会——例如,雷达在大雾中能工作得很好,但激光雷达和照相机却不能,车辆必须要能认识到这些限制并作出相应的调整。

然后是感知。

一般来说,测试传感器执行这项工作的最佳方式是在各种好坏天气下将真正的车辆放在真实的交通条件下测试。由于很少出现探测路上的残骸这类不太常见的极端情况,真实交通测试通常需要一些设计好的测试道路来补充。

AstaZero 试验场是一个部分归瑞典研究院所有的大型测试道路。它穿过树木繁茂的区域和一个模拟城镇的区域。可以将 AstaZero 配置为任何我们希望自动驾驶汽车处理的测试交通条件。

我们用越来越复杂的虚拟模拟来补充这种交通测试。与此同时,增强图像可以帮助测试某些极端情况。例如,利用增强现实技术,我们可以用在瑞典行驶的一辆汽车来测试其遵守美国交通标志的情况;我们所要做的就是把这些交通标志叠加在瑞典的标志上。这种方法在测试危险的极端情况时更有帮助,比如在行人附近高速行驶。

决策环节必须与感知分开评估。也就是说,不是要测试车辆是否能正确地看待世界,而是要判断车辆如何与感知系统提供的不确定性和不完整性相适应。举个例子,一个盲点角落中可能会藏着一个行人,当车辆靠近时,行人可能会步入道路。决策制定系统必须认识到视线受阻这一情况,在接近角落时计划减速,将限制纳入系统。就如同人类驾驶员一般,车辆必须知道自己的局限性。

我们正在构建并还在不断扩展庞大的情景数据库,测试决策系统对我们选择的任意情景的反应情况。考虑到这一情况,在单一车道一辆自动驾驶汽车在行驶,一辆巨大的 18 轮卡车则紧随其后。

理想情况下,车辆会识别出它正在卡车的盲区行驶,随即调整位置以减少事故发生的可能性。我们的场景数据库可以将车辆的决策过程暴露于各种场景变化之下,包括车道变化、合并,或者是不同行车速度、位置、车间距等不同交通状况,从而观察车辆将会作出怎样的决定。

目前,我们的车辆可以很好地处理车道变化,尽管如此,我们仍然要求自动驾驶车辆要与周围车辆保持较大距离,这一距离比人类驾驶员所需的距离更大。

现在你看到了:如果自动驾驶汽车周围的环境中没有抛锚的汽车或是横穿马路的麋鹿等目标,确保其能够识别这些物体将是非常困难的,但是真正的素材可以用物体的图像进行增强,从而训练车辆发现它们。

在最后,有一个同样重要的环节是,车辆必须能够执行其驾驶计划。

我们需要知道车辆的正常行驶及制动能力能力可能会受到路况条件的限制,比如结冰等。由于车辆部件的精确模型,我们可以依靠计算机进行模拟路况。但是我们不能模拟所有的情况;为了测试车辆如何处理轮胎爆胎或者意外的坑洼等,我们必须要在测试车道上对车辆进行测试。

我们在测试车道上花费了相当多的时间来应对道路上物体的各种挑战。即使像是从另一辆汽车上掉落的小石块或是排气管这些小东西,如果速度足够快也能对车辆本身造成巨大的伤害。对于这些物体来说,我们需要车辆能够从足够远的距离检测到这些目标并及时制动或是改变车道。

我们的测试仍在进行;虽然已经取得了很多的结果,但是仍有一些特定的挑战。比如,道路上没有被激光雷达或雷达检测到的轮胎。为了让车辆及时对这些障碍物做出反应,就需要提高摄像头的检测能力。

使用分而治之的方法使我们能够测试系统组件如何协同工作。要验系统的完整性意味着要进行无数种不同交通情况和故障组合的计算机模拟。当然,其他公司也正在以不同的方式来解决这个问题。根据经验来看,一些大型的老牌公司依靠一些暴力方法。但是,我们看到了模块化的价值,根据需要更换硬件。我们还希望让驾驶员参与其中,学习如何构建对用户安全的自动驾驶车辆。

此外,也可以使用这些方法来测试完全自动驾驶车辆的冗余度。假设车辆的刹车失灵。车辆必须要执行一系列复杂的行动:检测问题、计划行动且以最小风险做出反应、使用二级系统执行该计划。传感器、控制单元、软件、通信系统和机械系统等组件必须包含类似的冗余,并且必须进行全面、彻底的测试。

即便如此,我们仍然需要验证车辆完整的系统在真实交通能安全运行。汽车制造商和自动驾驶汽车初创公司将为这最后一步部署测试车队和司机。

自动驾驶汽车正在上路,它们的存在会使道路变得更加安全、更加高效。不过,也不要期待很快见到他们。验证每个角落情况仍然需要大量的时间。一旦自动驾驶汽车在某一特定情景下(比如 7 月份的纽约市中心)得到验证,还将进行额外的检验以确保它可以在冬季的同一区域下正常运行,以及上海市中心,郊区道路等等。

关注那些具体存在的情况,而不要执着于达到完美。将那些海量的安全验证分解成更小的可管理任务,这样的话,自动驾驶汽车走进世界各地的客户手中才完全可期。

产业安全问题沃尔沃自动驾驶
暂无评论
暂无评论~