两个多月前的一天晚上,一辆 Uber 自动驾驶测试车闯了大祸,它撞死了正在过路的 49 岁女性 Elaine Herzberg(第一位被自动驾驶“杀死”的行人),而事故发生地的路况其实并不复杂,这条街甚至平时都没什么人经过。
经过两个多月的调查,当地时间本周四,美国国家运输安全委员会(NTSB)发布了针对该事故的初步报告。报告指出,Herzberg 的不幸是一系列错误导致的多米诺骨牌效应的结果,在这起悲剧中,人和机器都出了错。从这份报告中,我们也能看出,Uber 在自动驾驶测试上确实漏洞百出。
如果非要揪出这份报告中最让 Uber 难堪的部分,恐怕就是它们的系统功能设计了。
在车祸发生时软件和传感器都没出故障,但它们却没有发挥应有作用。
NTSB 的报告显示,Uber 测试车上的目标检测系统,对横穿马路的 Herzberg 做了错误分类,其传感器先是将她当成未知物体,随后又识别成了一辆车,最后则把她识别成一辆在路上缓慢移动的自行车(过马路时 Herzberg 推着一辆自行车)。目标检测系统的犹豫不定让决策软件也束手束脚,它无法预测 Herzberg 的速度和方向,自然就无法针对性地减速或躲避。
报告中有一点值得注意,那就是这辆 Uber 测试车其实在事故发生 6 秒前就看到 Herzberg 了,但直到事故发生前 1.3 秒才决定必须紧急刹车以躲避碰撞。调查团队进行过测算,如果在这个节点,这辆车能来个急刹,完全能保住 Herzberg 的性命,但事实上,这辆车什么都没做,而是径直冲了过去(时速 43 英里/小时,约合 70 千米/小时)。
为什么这辆车没有采取措施?这依然是Uber自动驾驶系统功能的问题。
当车辆减速时,若其速度超过每秒 6.5 米,Uber 的软件就会阻止紧急刹车系统的动作。也就是说,在紧急情况下,计算机根本不能执行刹车任务。
“Uber 方面解释称,车辆由电脑控制时,紧急刹车这项功能并不会开启,此举是为了减少车辆不稳定状况的出现。”NTSB 在初步报告中写道。
因此,一旦遇上紧急情况,安全司机就是系统的救命稻草,也是最后一道防线。不过,“这套系统在设计之初就没考虑到要警告安全司机的问题。”
可惜的是,在这起事故中,碰巧司机也不靠谱。当他反应过来要采取措施时,离事故发生已经不到 1 秒钟了。这也能解释了为什么在车辆撞上 Herzberg 后他才踩下刹车。
事故发生后,坦佩市警方公布的一段监控视频显示,在车祸发生前,司机一直在低头望车辆的中控方向看。许多人猜测他是在偷瞄手机,但在接受调查时这位安全司机表示,自己是在监控自动驾驶系统的界面。事实上,这也是 Uber 测试要求中的一个漏洞,它们居然要求安全司机“实时监控界面上出现的诊断信息并在屏幕上标记有趣的事件以供后续检查。”
在测试人员安排上,其他自动驾驶公司可没 Uber 这么大胆。它们通常安排两个人一起进行测试,一个人负责驾驶(安全司机),另一个则负责监控系统的输出并完成一些计算工作。在 2017 年年底之前,Uber 用的也是双保险组合,但后来,他们认为监控系统输出的工作完全可以通过车辆返回后调阅日志来代替。
“我们做出这项决定是因为测试后我们照样能通过调阅日志完成第二个人的工作,(让一个人)实时工作完全没必要。”今年早些时候一位 Uber 发言人在接受采访时说道。
当然,不幸丧命的 Herzberg 也是够倒霉的,那天晚上她不但穿了深色的“夜行衣”,还推着一辆没有反光标的自行车横穿马路,这里没有斑马线也没有路灯。此外,NTSB 在进行毒物分析后还发现,Herzberg 是个瘾君子,在横穿马路之前,她可能处于兴奋迷幻的状态。
调查结果出来之后,Uber 到底会受到什么惩罚现在还是未知数,不过该公司已经与 Herzberg 的家人达成了和解,而且它们的自动驾驶测试规模也迅速缩水。
“过去两个多月来,我们一直保持着与 NTSB 的紧密合作,随着它们调查的深入,我们也在对自己的自动驾驶项目进行安全审查。”Uber 在声明中写道。“我们甚至请了 NTSB 前主席 Christopher 为 Uber 提供建议。未来几周,希望能够让大家看到更多 Uber 做出的改变。”
(原文发表于The Atlantic,原文:Uber’s Self-Driving Car Didn’t Malfunction, It Was Just Bad,雷锋网编译)