扫码打开虎嗅APP
虎嗅注:刘健皓是汽车信息安全专家、360攻防实验室负责人、曾在2014年全球首例破解Tesla汽车,今年刚好有一个议题在美国的黑客大会(Defcon)上,就是讨论通过传感器对自动驾驶汽车的攻击,刚好也是拿Tesla做的例子。没想到在议题没讲之前就有事故发生。刘健皓剖析了整个事故原因,同时这个议题也会在今年8月16号ISC2016(中国互联网大会)上进行演讲。并且在中国互联网安全大会的HACKPWN黑客大会上将会现场演示破解特斯拉自动驾驶。
自动驾驶的原理是什么
首先我们来了解一下特斯拉汽车的自动驾驶原理,自动驾驶简单的来解释就是有传感器,控制器,和执行器组成。传感器负责感知周围的环境把信息传递给控制器,控制器结合各传感器的数据产生决策数据告诉执行器,让执行器执行控制请求。这样就可以通过感知路面的数据控制汽车自动行驶了。特斯拉的自动驾驶系统(Autopilot)传感器主要有以下几部分组成:
超声波传感器位于前后保险杠附近。
前视摄像头位于挡风玻璃上的后视镜下方。
雷达安装在前格栅中部。
超声波传感器负责探测车周围的障碍物,经过我们测得超声波传感器能够感知的距离大概在5米左右,前格栅下面使用的是77G毫米波雷达负责探测车辆前端150米距离的障碍物情况。包括距离、车速等信息。前视摄像头负责识别道路车道线、标识、车辆速度等情况。除此之外还会通过高精地图等其它数据对道路情况进行判断,通过自动驾驶算法反向控制汽车实现的自动驾驶技术。从理论上看特斯拉的自动驾驶技术还是比较可靠的。
事故分析:强光导致自动驾驶失灵
根据了解的情况,当时Models行驶在一条双向、有中央隔离带的公路上,自动驾驶处于开启模式,此时一辆拖挂车以与Models垂直的方向穿越公路。在强烈的曰照条件下,驾驶员和自动驾驶都未能注意到拖挂车的白色车身,因此未能及时启动刹车系统。由于拖挂车正在横穿公路,且车身较高,这一特殊情况导致Model S从挂车底部通过时,其前挡风玻璃与挂车底部发生撞击。
从这张图上来分析,特斯拉汽车的摄像头是因为白色拖挂汽车拐弯,导致其遮挡了视线,同时也有强光的原因导致摄像头致盲。如下图,摄像头致盲效果。强光或者是大面积遮挡物都会影响到前视摄像头的图像识别,这样自动驾驶就变得不可靠。
摄像头失效了,那么特斯拉的防撞系统是基于毫米波雷达的,毫米波雷达应该在150米左右就能够识别出车辆的存在,并且提前预替的。通过交通事故分析发现,白色大卡车是对向而行的,这是双向四车道,毫米波雷达不会识别行驶中对向的车辆。所以150米时没有看到大卡车。当大卡车转弯时。毫米波雷达被卡车车厢面积的遮挡给当住了,没有办法判断前方有几辆车。因为在毫米波雷达内部的天线矩阵发出去信号都有回波,会造成毫米波雷达测量不出有几辆汽车,从而不显示内容。
这里纠正几个观点:对于毫米波雷达系统,原因主要是其安装位置过低。一般的毫米波雷达垂直视角在±5°以内,导致当Tesla靠近拖挂卡车侧面时, 雷达波束从下侧穿过了卡车,导致漏检。
特斯拉的自动驾驶系统是能够检测出卡车、汽车、摩托车这三种车型的,所以因为车辆过高,传感器过低,所以没有检测到卡车的存在是有疑点的。
那么毫米波雷达因为识别的原因也失效了。这辆车的状态应该是在基于高精地图信息识别车道线的前提下,高速行驶。这样才会从卡车底部穿过。从而不会减速,我们也经常碰到自动驾驶识别不到前面物体,冲出去的情况。
假使当时车辆发生是正面撞击或追尾事故,即便在高速行驶条件下,
Model S先进的防撞系统都极有可能避免人员伤亡的发生,因为在此前的很多起事故中,Models都有过如此表现。
总结:自动驾驶存在漏洞
特斯拉的自动驾驶系统在传感器部暑上面还是欠缺全面的考虑,不过特斯拉把传感器的不足以强壮的自动驾驶算法来进行了弥补。但是在传感器遭受到攻击或者意外情况下,算法自然就失效了。对于特斯拉的建议有两点。
增加传感器的数量,增加4个24G毫米波雷达来判断车周的障碍物。或者增加一个激光雷达对周围障碍物进行扫描。
加强对自动驾驶的算法,提高传感器的弹性设置,增加摄像头滤镜等。
最后提醒广大自动驾驶车主,自动驾驶技术也是通过软件系统实现的,是系统总会存在漏洞的情况,但是汽车存在漏洞就是会影响到人的生命安全,所以不要完全依赖自动驾驶,开车时注意力应集中在路面上。如果发生任何情况应该快速接管控制。