这是一篇写给小白的激光雷达文章
某次,跟一个圈外的朋友聊起自动驾驶这个并不「太新鲜」的词。「自动驾驶?最少还要 10 年。」这是他张嘴就来的答案。这也从另一个层面反映了,还有很多人不要说对自动驾驶,哪怕是辅助驾驶,其实都知之甚少。
因此我想如果有机会的话,我想采用最简单的词语来跟大家一起聊聊现在的自动驾驶进程,而这避不开的就是当下火热的「激光雷达」。
首先,这要来看作为自动驾驶基本的三要素:感知 - 决策 - 执行。感知层是处于整个自动驾驶漏斗中最上端的步骤,感知准不准,对于后续的决策以及执行起了决定性的作用。
在这里你可以脑补一个画面,对于近视 500 度的人来说,带不带眼镜开车是质的差别,而这就是「感知层」的重要性。
激光雷达就是来解决这个问题的,它的重要性不仅仅是给机器戴上了「近视眼镜」,更核心的是戴上这眼镜,机器能感知的世界不仅能够看得更远,还能「360 度无死角」。
我们为什么需要 LiDAR
之前的自动驾驶市场,高端玩家有谷歌 Waymo、Cruise 以及百度 Apollo 等,对于这些科技巨头来说,他们的营收并不是卖车,而是卖系统以及解决方案。
因此他们的首要任务是先把「成品」做出来,也就是说他们可以不计成本地靠堆 BOM 来实现自动驾驶。
而对于「接地气」的乘用车市场来说,采用科技巨头的做法结局只会是:要么生产出来的车卖个天价,要么亏本卖出,当做慈善公益了。而商业化才是他们更要考虑的问题。
换句话说,他们要做的是有一定利润且大多数人买得起的车。因此成本更低的毫米波雷达 + 摄像头的融合方案变成了他们的首选,也就是我们经常听到的 L2 级辅助驾驶。
而这套组合的能力上限并不高,很难实现真正意义上的自动驾驶。主要的原因就是感知能力不够,说白了就是机器对这个世界的理解还不够清晰。
先说毫米波雷达,它的主要功能在于测距、测速以及测方位角。原理就是不断发射以及接收电磁波,通过计算发射以及返回时间差来实现测距的功能,通过多普勒效应计算返回接收天线的雷达波频率变化实现测速,再通过接收反射的电磁波相位差计算得到方位角。
在这里,你可以脑补一下对着墙打乒乓球的画面,毫米波雷达的原理就是通过计算乒乓球运动的轨迹,计算得出人与墙的距离,乒乓球的速度以及人与墙之间的角度差。
但毫米波雷达天生有很多不足,例如毫米波雷达即使装备了 elevation 天线,也没办法感知高度,例如在车头保险杠装毫米波雷达,如果障碍物是横在半空中,那么毫米波雷达是监测不到的,因为高度不一致。
当然这只是一方面的不足,还有就是,大多数马路上的物体都会产生回波,所以毫米波雷达必须要在算法中过滤掉静止物体产生的回波。比如在弯道中,正前方有个电线杆,毫米波雷达感应电线杆的回波就会判定为前方有障碍物,从而采取刹车的动作,出现诡异的「幽灵刹车」行为。而这也就是毫米波雷达对静止物体几乎没有识别能力的原因。
另外,毫米波雷达对于透明物体不会产生回波,例如「水滴」。这会让机器误以为那是「无尽的道路」,这会直接导致雨天的感知精度下降。
说完毫米波,我们再聊摄像头。
首先傻憨憨的机器肯定是没有联想能力的,所以它看不懂视频的含义。但它看得懂图片,这是因为运用了人工智能中的图像识别。原理是,机器会把视频拆分成一张张图片,然后把图片拉到最大,从最原始的「像素 - 局部 - 整体」三个步骤去识别这是个什么东西。
而在这中间,必不可少的就是「算法逻辑」,也就告诉机器这是个什么东西,然后进行图片归类,这样下次机器就能知道这到底是个什么东西。
举个简单的例子,看这个车灯,我就知道这是一台宝马 5 系。为什么我知道它是 5 系?因为第一我见过,第二我的脑子把它判定为 5 系。
那么问题来了,一是假设这台 5 系变成白色,我肯定还认识,那么机器呢?二是假设现在有一台奥迪 A4L,机器认识吗?
答案是,一认识,二不认识。
先说第一个,是因为借助了深度学习中的卷积神经网络。简单来说,我分辨它是不是 5 系并不是靠颜色,而是更为核心的「车灯」。而卷积神经网络就是把图片分成多个像素区域归类,如果有一个像素区域对上,那就直接匹配,那么这个时候傻憨憨的机器就学会了「思考」。
再说第二个,没有见过的场景,机器当然不认识。这就是自动驾驶中经典的长尾效应,也就是没有 100% 的安全,因为总会有机器没见过的场景,就好像特斯拉已经实现了数据闭环,用户会直接回传道路数据给到特斯拉,然后由特斯拉进行算法逻辑迭代后,再通过 OTA 反哺给用户。
但目前量产车里,也就特斯拉有足够的算力、道路场景数据以及算法逻辑去做这样的事,那其他人呢?他们并不想争第二,因此借助「外挂」的行为就出来了,例如「高精地图」,这个以后再说。
说回正题,摄像头的「图像识别」在理论上可以补位毫米波雷达过滤掉静止物体识别的问题,但这也是要基于优秀的算法以及足够多的道路场景数据,还要摄像头能够看得更远。
但摄像头也会因为外界环境变化而影响工作的稳定性,例如暴雨以及强逆光等场景下,一首「凉凉」最是应景。另外像素清晰度以及距离测量不精准等问题,也是视觉方案的短板问题。
而最终毫米波雷达采集距离以及速度信息,摄像头采集道路图像信息,各自把各自的信息传递到芯片,由芯片做出决策,这就是「融合」。在这里芯片的算力就显得很重要了,但关于「芯片」也以后再说,今天的男主是「激光雷达」。
LiDAR 是干啥的?
因为毫米波和摄像头传感器的融合方案,在目前会受到天气情况影响,而且高速场景中对静止物体识别能力差,还有就是长尾效应,三个原因注定了车企用激光雷达「堆安全冗余」是政治正确的事。
但最核心的原因,还是激光雷达的成本快速下降。我举个简单的例子,几年前一个 Velodyne 的 64 线机械式激光雷达成本还要 7 万美金,而且要单笔订单达到 100 万美金才提供技术支持。而 Luminar 即将量产的 300 线 1550 nm 波长激光雷达,据官方的说法,软硬件打包的价格不超过 1 千美金,这对车企来说,才是友好的价格。
回到正题,先简单说下激光雷达的工作原理,主要是由激光发射器、光学接收器以及信息处理三部分组成,它会不断向外发射激光束,光束在遇到障碍物后会反射,再通过接收传感器,接收物体反射回的光脉冲。
根据已知光速(约为 30 万千米/秒)计算出两者信号之间的时间差、相位差来确定车与物体之间的相对距离,再通过水平旋转扫描或相控扫描测量物体的角度,再通过获取不同俯仰角度的信号,就可以获得世界的高度信息。
结合以上三种功能,激光雷达可以感知到与物体之间的距离以及角度,再通过软件算法去做 3D 建模,就能把我们人眼看到的真实世界做成一个机器能够理解的虚拟世界。
在这当中,激光雷达每次发射以及接收激光信息,通过这么一个「闭环」的动作,获得的位置信息我们称之为「点云」。点云越多,说明激光雷达对这个世界感知更为精准,当然需要处理的信息也就越多,对应算力要求也就越高。
由于我们车是在移动的,环境实时在变,为了采集到完整的点云信息,传感器采集点云的速度就要跟上,也就是「出点数」要够多。但光看「出点数」依然不够,扫描频率以及测距采样率也同样重要,三者综合起来看,构成了激光雷达对于位置信息感知的实时性。说白了就是,要像人眼一样,实时更新我们能看到的世界。
另外,为了能更大范围地感知这个世界,激光雷达能感知到的角度就显得非常重要。传统的方式是采用旋转组件,简而言之就是让激光雷达旋转起来,进行 360 度扫描。
固态激光雷达也有相对应的解决方案,我举个结构相对简单的 MEMS 激光雷达为例,这种技术是通过转动内置的一块反光镜来实现周围环境的扫描,也就是把激光射向这块不断旋转的反光镜,再通过反光镜反射到各个角度,从原理上看,跟以前小时候拿着镜子反射太阳光的无聊玩法有异曲同工之妙。
通过以上方式,激光雷达可以向周围发射激光点阵,同时还接收反射回来的激光脉冲,测量发射器与被测量物体之间的相对距离,直接可以获得三维矢量数据并结合自带的定位系统,就能得知自己在环境中的准确位置,这比视觉方案中的二维平面图像采用视差深度算法相比更为精准。你可以简单粗暴地理解为「目测」与「拿尺子测」之间的差别。
这不仅解决了静态物体无法识别的问题,而接收反射回来的激光脉冲可以描绘出物体的形状以及距离,其中含括了整个道路状态以及其他交通参与者,这就可以构建出一个完整的机器能够理解的道路场景了。那这样就可以在技术层面上极大程度解决长尾效应带来的问题。
另外激光雷达能做的事还有很多,例如通过不同物体发射回来激光信号的不同,去给物体做分类,可以参考上文说的「卷积神经网络」,那么这个时候激光雷达也可以学会「自我思考」。
由于激光雷达是自身发射激光束,相比摄像头最大的优势在于不受外界环境条件的影响,无论是夜晚还是白天情况下,工作都会更稳定。那么至于如何应对「雨雪雾霜」极端天气以及逆光的影响,请下下文。
我们需要什么样的 LiDAR
激光雷达是我见过分类最广的物种之一了,按照线束来说,有 16 线、32 线、64 线以及茫茫多。按技术结构来看,分为机械式、混合固态以及纯固态。另外非机械型激光雷达的扫描方式还有 MEMS、相控阵以及微透镜阵列等。按发射器的波长来分,又有 905 nm 以及 1550 nm。
综合所有,我先立个 Flag,真正符合车规级使用的激光雷达要先满足 300 线,固态结构以及 1550 nm 波长这三个先决条件,其他的都是过渡技术。
先说线束,这里说的 300 线并不是类似机械式垂直排列了 300 条激光线束,而是通过串行以及并行的扫描方式,达到类似于 300 线的分辨率,理论上以后哪怕 900 线也可以按照这样的技术手法来实现。
再来看自动驾驶的实际场景需求,首先激光雷达要解决的是感知问题,线束越多,发射光脉冲更多,意味着获取点云信息更多,对环境感知更为精准。而 300 线的激光雷达理论上可以实现图像级的识别精度,这对于傻憨憨的机器来说特别友好,还是那句话,只有这样机器才能理解我们人眼看到的世界。
再说技术发展路径,激光雷达分为机械旋转式、混合固态以及纯固态这三种。从成本、可靠程度来说,机械旋转式注定不会被商业化应用。
因为我还没见过哪个机器天天裸露在外面天天不停地疯转,而且还不坏的。一旦雷达故障了,还要请一个技术手法堪比瑞士手表工匠水平的老师傅去更换零部件以及校准,这不仅「伤钱包」,而且体验也不好。至于混合固态的激光雷达,同理,我也不看好。只有纯固态激光雷达才是对「钱包」友好且稳定的。
最后再来聊一下波长,这里多说几句。为什么我认为 1550 nm 波长的激光雷达才是符合车规级的,这里涉及到激光辐射的安全性问题,而影响安全性的是波长、输出功率以及激光辐射时间三者综合作用的结果。
首先强光在通过眼睛晶状体时会聚焦到眼睛的视网膜上,而这个时候会给视网膜带来一定的灼烧效果,而存在一定的风险。如果你小时候玩过放大镜点火,应该就很好理解了。
另外补充一下,人眼可见光波长在 380-780 nm 之间,涵盖的颜色是从紫到红,这也就是你看到彩虹只有 7 种颜色的原因,因为其他的你也看不见。而这就意味着 905 nm 波长以上的光是属于肉眼看不见的,再说得直接一点,就是大家眼睛被阳光直射时会难受,就是因为上述我说的强光通过晶状体聚焦在视网膜上造成的。但由于阳光是可见光波长,我们还会主动躲开。
那 905 nm 是属于不可见波长,如果高功率运行的话,当扫射到我们眼球时,我们怎么躲,要往哪个方向躲,况且为什么要我们去躲?这里我要发出三大「灵魂拷问」。
因此出于保护人眼的原因,IEC 规定激光雷达的波长安全上限为 900 nm 左右,这也就意味着 905 nm 波长的激光雷达出于对人眼保护的原因,一定是保持低功率运行。当然应用在火箭以及国防场景的情况,例如 Space X,就不在本次讨论范围内。
但有意思的是,波长 1400 nm 以上的激光会在到达视网膜之前,就会被眼球的透明部分吸收完了,对人眼并没有伤害,所以并不在 IEC 的规则内。因此 1550 nm 波长激光雷达可以相比 905 nm 波长提升 40 倍的功率运行,而提升功率带来最直接的好处就是增加点云分辨率、更远的探测距离以及增强复杂环境的穿透力。
这三点都很重要,第一点不解释了,更好的点云分辨率意味着更精准的感知能力。第二点,更远的探测距离,直接意味着激光雷达在高速场景会不会「歇菜」。更远的探测距离意味着更早的响应时间,可以预留足够的距离冗余,符合激光雷达本来就是用来做感知冗余的功能。
至于那种 10% 的反射率下只有 100 米探测距离的车规级激光雷达,我直接点说,可以「返厂重造」了。哪怕你的车用 Brembo 卡钳以及博世 iBooster 把速度 100 公里/小时的刹车距离堆到了 34 米,那时速 120 公里/小时的场景呢,难道又是靠无法感知高度的毫米波雷达吗?
就算 100 米的探测距离能刹得住,可以保证安全,抛开车内人员乘坐的体验不谈,道路上的其他车辆也并不都是这样的硬件。这里再多说一句,任何厂商在发布激光雷达时,只说最远探测距离,而不说小于 10% 反射率下的探测距离都是「耍流氓」。
再说第三点,这才是「压死骆驼的最后一根稻草」。这里也呼应一下上文。全面自动驾驶意味着车辆要应付各种复杂的环境,其中就包含了「雨雪雾霜」,再极端一点就「沙尘暴」。
先说个常识,光波在大气中传播是会衰减的。因为与毫米波雷达「对半透明物体不会产生回波」不同的是,激光雷达在雨天、雾天的场景中,「水滴」这种半透明物体是会引起对脉冲反射的。
但只是「部分反射」且会向四周进行扩散,尤其是在「浓雾」的天气下,这会造成反射信号准确度的下降。举个不恰当的例子,我们戴着的眼镜如果起雾或有水滴,我们也看不清外面的世界,因为「水」会影响视觉效果。
而这个时候,激光雷达通常通过「提升发射功率」和「提升接收器敏感度」来提升整体的感知能力,而提升功率后,还能降低 1550 nm 会受到环境光照的影响,也就是针对「逆光」的场景,有了个靠谱的解决方案。不要忘了,提升发射功率就是 905 nm 波长的死穴,这就是我不看好 905 nm 波长的原因。
这里多喷一句 905 nm,不要说什么短波长具备更好的大气穿透能力,要知道一旦功率上去 40 倍,那个穿透能力就不是短波长可以比的,另外通过技术升级来让 905 nm 波长变得「穿透力更强且不伤害人眼」的前景也几乎看不到,因为这个是物理特性决定的,就好像想通技术来改变「重力加速度」一样,格林童话吗?
另外我说一下,为什么像 Velodyne 这样的激光雷达巨头公司至今还死守着 905 nm 波长,而且对外永远说「够用」了。首先 Velodyne 有将近一半的激光雷达份额来自非车业务,对于非车规级使用,905 nm 波长够用这句话没毛病。
而如果把 905nm 波长的激光雷达应用在自动驾驶车辆上,在这里我非常赞同 Space X 创始人马一龙先生说的,「傻子才用激光雷达,谁用激光雷达谁完蛋。」
说回来正题,1550 nm 相比 905 nm 波长,我认为还有个重要的原因,就是「接收传感器」的成本问题。905 nm 波长的接收器可以用硅来做原材料,而 1550 nm 是「光纤传感器」,而这种接收传感器要用到「铟镓砷」这种材料,这种材料的成本是硅的 10 倍,而且目前还看不见成本下降的趋势,这里我补一句,抛开「技术壁垒」和「制造成本」谈够用,都是苍白且无力的。
那这里就要提一下 Luminar 这家明星公司,据官方公布的消息,首先他们的激光雷达在小于 10% 反射率的时候,探测距离为 250 米,符合我认知的车规级探测距离。
另外他们通过收购了 Black Forest Engineering 这家专门做铟镓砷材料接收器的公司,再配合 Luminar 自己设计的 ASIC 集成芯片,成功解决了铟镓砷的成本问题,目前可以把单个传感器控制在 3 美元,这个价格真香。
那么我比较好奇的是,如果有大神知道,同为 1550 nm 波长路线的华为、 Innovusion 以及大疆,他们是怎么解决传感器成本问题的,请在评论区留言。
我以上的想法和言论,都是基于全面自动驾驶时代并结合极端场景下的思考。当然我也明白现阶段受限于成本,还是会有一些车企会选择装配 10% 反射率下,探测距离不足 100 米以及 905 nm 波长的激光雷达,有的甚至还没装车。
但我想说的是,那样的激光雷达,肯定不是「完全自动驾驶」,特殊场景依旧是需要人工介入的。
写在最后
写这篇文章的过程,经历了蔚来 NIO Day 发布了 Innovusion 的 300 线激光雷达,也经历了 Mobileye 总裁兼首席执行官 Amnon Shashua 教授精彩演讲,其中也确认了采用 Luminar 的激光雷达产品。
但最有意思的还是经历了 12 月底的时候马一龙先生另外一家公司 Tesla,被爆出使用 Luminar 的激光雷达在路测,我猜应该是在测试激光雷达能否解决视觉方案的痛点问题。
至于最终用不用激光雷达,我的理解,这不是「打不打脸」的问题,毕竟打脸对特斯拉来说是家常便饭的事,而更重要的是激光雷达的成本是否能达到马一龙的心里预期,毕竟特斯拉的愿景是要加速世界向可持续能源转变的,车价下不来,还怎么愉快地加速转变?
最后再回到行业来看问题,比拼硬件始终只会是自动驾驶的一个方面,就好像现在激光雷达已经是厘米级的定位精度,单颗芯片的算力也突破 200 TOPS,我也相信随着技术的迭代「毫米级」激光雷达以及单颗芯片算力破千,在未来也不是梦想。
但更为重要的是各厂商如何把硬件有效地利用起来,那接下去比拼的就是软件算法层面,例如把毫米波、摄像头以及激光雷达三者的感知信息更好地融合、优化自动驾驶算法逻辑,还有 5G 时代下的 V2X 应用场景。
而这一切的结合,才是自动驾驶有机会从梦想变成现实的基础。