一个“量身定做”的事故
首先我们先来复盘一下整个事故,谈一下为什么我们觉得这个事故是“量身定做”而且必然的。先总结:一如既往蓝天白云且风和日丽的天气,一辆横在路上的白色重卡,一个热衷尝试新技术且对此深信不疑的驾驶员,一条笔直到让人犯困的公路,一套尚在完善的自动驾驶系统,车-路-人联手为新锐车企Tesla乃至整个自动驾驶产业“量身定做”了一个大新闻。
先上几张图,下面俯视图是事故发生的路段,一看就是事故多发路口,没有信号灯,横向是高速,纵向却有车流汇入,甚至还有对向车辆转弯抢占路权的情况。
下图是CBS电视台给出的交警初步报告,直路飞速行驶的Tesla毫无减速拦腰撞到了一辆白色重卡的拖车,比头图给出的示例还要惨烈,驾驶舱当时被削平,前进数十米后离开路面,撞击数个围栏,旋转后停下。驾驶员当场毙命,只剩那个手持的播放器还稳健地播放着哈利波特。就像文章开头所说的,驾驶员溜号了,而传感器中的摄像头其实看到了一个大白板而已,毫米波安装太低而超声检测距离太近,然后就有了Tesla官方博客所说的“Mobileye把卡车当成了蓝天白云,毫米波把卡车当成了路牌,发生了严重事故,被NHTSA调查(可能会召回)。”
如果说前面陆续发生的Tesla事故最终都归类给驾驶员不恰当的使用,这次致命事故,则给正在豪言壮语声称能飞到火星的Elon Musk当头棒喝,也给狂热的自动驾驶业界泼了一大盆冰水,因为在进行事故复盘的时候,做辅助驾驶系统的兄弟们都沉默了,自己手里在研这套系统,遇到这样的极端场景(Corner Case),也很可能搞不定,直接被按住了命门。
事故原因分析
事故的主要原因是比较确定的,就是感知系统误检。前面智驾深谈《一张图看清自动驾驶产业》中提到,自动驾驶落实到车辆上可以划分为三个层次,感知→认知→行动,然后不断循环。其中,行动层包括转向、油门和制动三大控制器(以及执行机构);感知部分包括两方面,感知环境的激光雷达、毫米波雷达、摄像头、组合导航设备,感知车辆自身的包括轮速计和三大控制器的反馈量;而认知部分,包括决策和规划,是通常意义上的人工智能所在。
其中,行动层是相对最简单的,车企供应商在此运用许多现代控制理论的技术,有非常多的积累,现在已经落实的比较有名的产品是DSC(ESP),这块的难点主要是对车辆动力学、车辆位姿和控制算法的把握,一般都有可以通过横向纵向很量化的指标来衡量,由此来看Tesla自动驾驶系统的表现还是非常好的,比如今年Tesla公布其自动驾驶里程数的时候,就表示AutoPilot在这方面优于人类司机(现在估计要加一个“一般情况下”的定语了)。
但现有在研的很多自动驾驶系统也还是存在这种控制不好的问题,比如某次国内比赛的现场。
感知层是这次Tesla事故的主要原因,在量产性价比和识别效果之间的权衡,让Tesla选择了比较廉价的传感器组合,健皓分享了一个Tesla的传感器配置图如下:图中1是安装在前后保险杠附近的超声波传感器,2是位与挡风玻璃上后视镜下方的Mobileye摄像头,3是安装在前格栅中部的77G毫米波雷达。
其中,超声波传感器负责检测车辆周围5米以内的障碍物,毫米波雷达负责前端150米以内的障碍物距离和车速。那么,为什么三类传感器都没有看到这么大的卡车呢?群里边朱西产教授分享了一张带有尺寸的卡车图,我猜测Tesla是面对车厢中间的位置径直开去的,因为这样才能够解释传感器失效。
关于Mobileye的漏检和误检,凯哥昨天在Robotcits上给出了很清楚的详解,为了保持本文对传感器分析的完整性,这里我摘录一下他对Mobileye失效的分析:
“首先Tesla Autopilot选用的摄像头为长焦镜头。当白色拖挂卡车进入视觉区域内的时候,摄像头只能看到悬浮在地面上的卡车中部,而无法看见整个车辆。这使得Mobileye的障碍物识别系统无法识别出障碍物是一辆卡车,而更可能是飘在天上的云。其次用于漂浮物体检测的EyeQ3系统有许多特殊情况(Corner Case),漂浮物体是其中比较难以解决问题,包括道路救援车以及双层的车辆运输卡车,Mobileye很难很好理解漂浮在空中的物体。最后是大面积白色障碍物检测。无论是学术界的最新算法,还是Mobileye都不能很好得解决该问题:由于大面积白色物体很难从图像中提取特征点,使得基于点的相机姿态求解没有足够的数据输入,导致大面积白色障碍物的漏检率非常高。”
另外,Tesla博客还提到了高亮度天空(brightly lit sky),这里可以再补充一个健皓他们实际测试中制造的致盲情景如下图,几乎看不到任何除了白色以外的其他信息,所以强光和大面积遮挡物都会影响识别。
再来,对于毫米波,安装位置低是一个大问题,见下图。
关于毫米波漏检,我们大概计算了一下倒是有个不同的看法,按照+5度向上,安装位置接近地面的情况,只要超过20米的距离,毫米波还是能够有回波的,当然当时具体的情况还要看后面的数据,但是我们倾向于毫米波实际上看到了卡车车厢,只是由于不检测对向来车以及卡车占据多个道路的情况下,给错误分类为道路标志牌,而这个从Musk的Twitter上也可以找到一些证实。
自动驾驶的三个命门
这部分结合Tesla事故讲一下自动驾驶系统的三个命门,任何一个出了问题就会导致系统问题,想要做好系统,就需要通盘考虑整体。这是我一直思考问题采用的框架:车—路(场景)—人闭环。
车:重视安全盲区的设计,重视量产前测试
我个人觉得针对Tesla这次事故,是由于过分追求系统性价比而忽视安全盲区造成的。这里举几个例子,纯粹是个人看法,很主观也可能有错误。
从Conti给出的示意图来看,为了保证前方的安全,它在左前和右前安装了两个短距毫米波雷达。
从Delphi来看也是有这样的设计,还多了激光雷达。
再谈谈对激光雷达的看法,事故报道出来之后大家还是能够得到一个共识,就是激光雷达在保证安全方面还是非常必要的,但是因为它一直价格有些贵,所以量产方案一般会选择一线激光雷达。然而,剧博(Ibeo大神,参见往期智驾深谈)帮我算了一下,1.2米高的空隙,可能需要八线激光雷达才能够避免,所以可能就算是装了Lidar的volvo XC90,也搞不定了,最后来一张之前比赛抓拍的可能是一线激光雷达漏检的场景。
宝马的设计则充分利用了多线激光雷达。
另一个是测试里程,Tesla喜欢拿里程多说事,一个月前还提到自己的里程已经远超过Google。但是一个显而易见的事实摆在这,就是还是没办法穷尽极端情况。兰德公司此前给出过一个分析报告,给出详细的推算公式,如果我们在自动驾驶技术上稍微对安全要求高一点的话,那么可能需要500年才能够用得上……
场景:参差不齐的路况
这次事故还有一个原因是这条路,高速和低速道路交叉,没有任何信号灯和指示牌,车道线在路口也只有部分清晰,这种情况其实并不适用自动驾驶系统。
上期智驾深谈中李院士谈到了“自动驾驶”难自动,只是个陷阱而已:“虽然自动驾驶科目越来越多,但许多科目的实际使用窗口很小很小,因为驾驶活动充满不确定性,窗口条件太脆弱,极易被打碎。车辆行驶过程中充满不确定性,汽车如果是软件定义的机器,任何满足当前驾驶条件的自动驾驶窗口,无法知晓会维持多久,要随时随地准备切转到人工驾驶。”
解决路的问题可以通过现在的车联网技术(V2X),假设哪怕卡车左转的必经之路上埋一个线圈,跟信号灯或Tesla互动一下,就会轻松避免这个问题了。
人:暧昧的车企、狂热的媒体和不明就里的驾驶员
首先是车企和媒体,见到很多车企在谈论自家自动驾驶系统的时候,都没有明确说明辅助驾驶的问题所在,而媒体广告上也多回避安全的重要性,总是宣传一些驾驶员可以一边开车一边看电影的镜头,有非常强烈的误导作用。感觉需要国家机构出台相关法律来强行规定,如香烟盒上印着“吸烟有害健康”。
然后是驾驶员,辅助驾驶系统出问题,很多都是驾驶员的问题,在误导的情况下,错误地评估使用场景和盲目相信系统的能力,都是导致事故的原因。本来就不能够过分依赖系统,本人仍然需要保持适度的关注。
结语
这次基本可以认定是感知系统的锅了。除了正常场景会让系统出问题以外,健皓他们在今年的Defcon上还会给一个通过传感器攻击自动驾驶系统的议题。
本来自动驾驶系统是为了提高道路和驾驶员安全的,通过传感器感知周围环境并决策,这类系统高度依赖传感器,这个议题就会挖掘一下怎么黑掉传感器,比如毫米波,会尝试如何用非接触的方式黑掉Tesla Model S,并且用的是市面上能买得到的设备。
就在此文即将发布前,CNBC新闻里警方称车里面找到了一个DVD播放器,但由于没有行车记录仪,所以不确定事故当时驾驶员是否正在观看,而车载数据记录仪的数据已经被警方下载后带走。
文章转自新智元公众号,原文链接