你可能不知道,所谓的自动驾驶有多瞎
文 | Hooknows
终于,所谓的“自动驾驶”问题引起了所有人的重视,尽管代价是(又)一条生命。
如今广泛应用的所谓“自动驾驶”,实际上无一例外皆属于(SAE自动驾驶分级下的)Level 2级别,而Level 2级系统完完全全不能对行车安全做任何程度的担保——这本应让每一个汽车消费者作为常识的常识,却在从车企到消费者整体的浮躁和默许之下,直到最近一位蔚来车主不幸丧命才终于获得了“传播正确”。
很难说这不是我们所有人的悲哀。
关于此次事故的具体原因,目前警方还在调查中,我们且不发表什么评论。但有个细节可能很多人都不知道,在蔚来ES8的车主手册中,有一条清晰明确的警告:“如前车静止或缓行,Pilot存在无法刹停的风险。”
无独有偶的是,几乎同一时间,美国国家公路交通安全管理局(NHTSA)宣布,由于发生多起特斯拉汽车与停放的紧急车辆相撞的事故,该局已经开始对特斯拉的Autopilot自动辅助驾驶系统展开正式调查,涉及2014年以来的76.5万辆特斯拉汽车,调查中确定的事故已造成了1人死亡、17人受伤。
这或许是一个机会,一个让大家从自动驾驶大跃进中平静下来,好好理一理所谓的“自动驾驶”——高级驾驶辅助系统一些基本原理的机会。放在以前,认真解释“自动驾驶”为什么会撞上静止车辆,大概只会被打成反智能化而行的保守顽固分子。
多普勒的静止陷阱
静止不动的目标,为什么反而是驾驶辅助系统的弱点?这其实是一个很基础很基础的话题,并不涉及任何自动驾驶(这里指真的自动驾驶)高阶知识。
自动驾驶的最初阶段和幼年形态,是ACC自适应巡航系统。而ACC诞生之初,借助的就是车载毫米波雷达,这个配置在今天应该不稀罕了。雷达大家都知道:天线发射出无线电波,碰到障碍物就会反弹回来,依照光速计算一下时间差,你就得到了障碍物的距离。
但要用在汽车上,用于自动驾驶或驾驶辅助系统,我们不止要知道前方有没有车辆/障碍物,要知道前方车辆的距离,还得知道前方车辆的速度。同样100米处,一辆静止的车与一辆和我们同速同向的车,意义显然截然不同。
普通的雷达,要想知道物体的速度,要靠发射两次回波再接受两次回波,用物体两次时间移动的距离估算速度。比如上一秒雷达测得物体离我们1米,这一秒雷达测得物体离我们1.05米,于是我们只能估计它的速度是:秒速五厘米。
《灰猎犬号》中的早期雷达,只有方位和距离坐标
这显然很不精确,也必然会有滞后,速度并不是实时得到的。用于航海之类的大场景通常足够,但对于汽车自动驾驶而言就太粗糙了,用今天的互联网黑话讲可以叫“颗粒度不够”。
直到20世纪的人们想起了18世纪著名大闲人多普勒先生的发现,多普勒效应。这个多普勒效应你可以这么理解:接近我们的物体和远离我们的物体,反射回来的电磁波波长和频率,和与我们相对静止的物体比起来会有所变化。
测得变化方向和变化的值,我们就能得到物体接近/远离我们的相对速度。因为我们自己的速度通常很容易得到,简单计算即可得到对面物体运动的绝对速度。
两张图解释多普勒效应,截取自B站up主@tifafan
重要的是,通过多普勒原理测得速度可以认为是实时的,不像以往那样要测两次然后距离除以时间才得到,更精确且没有延迟。对于汽车自动驾驶和驾驶辅助系统而言,实时速度感知这个特点再适合不过了。今天我们熟悉的车载毫米波雷达,就是利用多普勒原理获取路上车辆的速度信息(当然也有方位和距离信息)。
但多普勒雷达也有自己的问题。
其实不光是路上行驶着的车辆有回波,静止不动的栏杆路牌大树路灯电线杆等等也都有回波。多普勒雷达之所以能“认出”行驶的车辆,是因为它将静止物体的回波通通视为了“背景”。而行驶中的车辆,相对于静止的地面等背景是有速度的,于是它们就“脱颖而出”。
这就造成了一种可能:如果是一辆停下来静止不动的车,会不会就混入了“背景”之中?所以包括此次事故车蔚来ES8在内,许多使用了毫米波雷达作为ACC传感器的品牌,才会在车主手册中加入这么一条:如前车静止或缓行,xxx存在无法刹停的风险。
来自蔚来ES8车主手册
其实不光是汽车自动驾驶,这个问题甚至在军事领域也一样存在。
军用飞机希望躲过多普勒雷达的追捕,有一种常用的方法叫做“39机动”,“39”代表3点钟方向到9点钟方向,即横过来垂直于对方雷达飞行。这时在雷达的主要探测方向上,飞机的相对速度与地面背景是一样的,也就有可能偷摸儿从多普勒雷达的追踪下溜走。
截取自B站up主@tifafan
毫米波or视觉识别
在汽车领域,毫米波雷达借助多普勒效应识别出正在行驶的车辆(他们的位置和速度),而对于静止的物体则需要加以甄别:它究竟是不该出现的障碍物,还是路面背景的一部分?
这并不是一件容易的事,因为在雷达眼里,世界并不是(我们想象中的)这样:
而是这样:
现在已经应用的车载毫米波雷达,基本都不具备将探测到的物体具象化的能力,并且都无法识别高度坐标。也就是说同样在路中间但横跨在路上方的路牌,和真正停在路中间的车辆,在雷达眼里是不容易区分的。为了防止识别错误导致的频繁紧急制动等情况,毫米波雷达通常干脆放弃了对静止和低速物体的探测,而将这些任务交给视觉识别系统。
配备毫米波雷达的高级辅助驾驶系统,基本都同时拥有视觉识别(摄像头)。但视觉识别眼下还完全不具备100%的识别可靠性:摄像头可能被遮挡沾污,取决于各家算法的覆盖程度不同,可能无法识别所有出现在路上的物体(比如工程车)。
视觉识别高度依赖机器学习的积累,和最终得到的识别算法,虽然识别能力一直在提高,但眼下总会有一些情况尚未覆盖到的。同时视觉识别也容易受到外界条件的干扰,天气、尘土等等都会影响使用效果。
说到底,就是目前、市面上、任何已经投入使用的“自动驾驶”功能,都完全没有信心敢打包票说自己能应对可能出现在路上的任何状况。这压根就不是一个技术问题——否则Level 2就不会被定义为“需要驾驶员始终保持注意力”;这是一个纯粹的使用和宣传问题,一个“为什么全行业都在将辅助驾驶强行渲染成'自动驾驶’”的问题。