自动驾驶离不开雷达的作用
扫描二维码
随时随地手机看文章
2015 年,当时业界还在争论:无人驾驶是该用激光雷达还是用摄像头。到 2016 年,事情发生很大的转变,尤其某汽车公司 Autopilot 致死事故之后,业内渐渐觉得激光雷达是非常重要的。
激光雷达是自动驾驶不可或缺的传感器
下图是无人驾驶的偏算法层的系统框架。从左边看,这是一个传感器的输入,如激光雷达、摄像头、毫米波、GPS、编码器和 IMU。这些传感器的数据输入到系统的感知算法里,对于这个感知算法,我们会将这些数据进行处理分析,如何将静态的物体分离出来,并如何识别、分类与跟踪动态物体。
无人驾驶的偏算法层的系统框架
高精度地图的获取很大程度依赖激光雷达以及摄像头。我们获取高精度地图后,结合 GPS 和 IMU、编码器、实时感知环境的特征,进行地图匹配进行定位。对于路径规划和运动控制,最终是结合车辆的 CAN 总线,对车进行控制。
在感知方面,我们普遍使用的是激光雷达、摄像头、毫米波雷达三个是作为感知外界物体的传感器。其中,激光雷达可以做物体的识别、分类、跟踪,摄像头也可以做物体的分类和跟踪。毫米波雷达主要用于对物体障碍物识别。
毫米波雷达、摄像头和激光雷达这三个传感器,有一些重合点。这是由传感器本身的性质决定,他们有各自不可或缺的功能。
毫米波雷达主要用还是在障碍物检测;摄像头很难得到三维物体的模型,包括它对于环境的干扰也比较依赖这个光照的影响,但摄像头对物体分类和跟踪是非常好的;激光雷达普遍用于定位、障碍物检测、物体分类、动态物体跟踪等应用。
其实在 2016 年之前,激光雷达行业的发展还是比较缓慢的。但现在来看,包括上游供应商和下游客户的紧迫需求,我们极力希望推动实现激光雷达降成本化、可量产化。
我把激光雷达目前分成两类:扫描式激光雷达和非扫描式激光雷达。
1、扫描式激光雷达
机械式旋转激光雷达(发射、接收、共轴旋转的激光雷达),这是目前比较成熟的,在下游无人驾驶使用比较多的方案。比较有代表性的有 Velodyen、Ibeo,包括我们现在在量产的也是这种机械式的激光雷达。混合固态也是机械式旋转类的激光雷达。
另外一种是 MEMS。基于 MEMS 的扫描式雷达目前属于在研状态,它的原理是通过 MEMS 扫描镜来改变光路。
还有一种是相控阵激光雷达(OPA),其实也属于扫描式激光雷达,因为它是通过逐点扫描的方式,即多个小天线之间发射的激光的发射相位来改变光路而实现的。
2、非扫描式激光雷达
Flash LiDAR 是发扫描式激光雷达,发射的就是一个面阵的光,如瑞士的 Ledder Tech 研发就是 Flash liDAR 这类产品。
目前来看,其实行业现在的推动力挺大的,包括我们自己,主要的研发精力也放在固态激光雷达上。我相信很快大家能看到这种低成本的激光雷达,从研发、样品到商用,可能会比原来预想的周期更快。因为不是一家激光雷达公司在努力,而是整个产业链都在努力。
点云是在同一空间倡导系下表达目标空间分布和目标表面特性的海量点云数据。
点云数据生成设备可以由激光雷达或者深度相机产生。根据激光雷达得到的点云,包括三维坐标(XYZ)和激光反射强度(Intensity)。
激光雷达在自动驾驶中的应用:定位
激光雷达在自动驾驶中的应用,最重要部分还是定位:位置确定了,无人车才知道要去哪里、以及怎么去。所以,确定“我在哪里”是第一步,也是非常关键的一步。
现在定位用 RTK,差分 GPS ,也有用激光雷达或者视觉去做。但 RTK 还是会受信号的干扰。特别是在一些城市、建筑和树比较多的地方,以及进隧道、出隧道,它的信号容易中断。
还有一个是基于视觉定位,它其实对于跟他视觉本身的特性有关,对环境的依赖比较强,比如逆光或雨雪天气下,这种定位容易失效。
激光雷达的定位,我们通过 IMU、惯性导航系统、编码器和 GPS,得到一个预测的全局位置。当激光雷达实时扫描单次的点云数据后,我们会去结合单次的点云数据进行匹配,并进行特征提取。
这些特征包括路沿、车道线等周围点线面的特征。对于高精度地图,提取过特征与实时提取的特征进行匹配,最终得到精准的车本体速度,这是激光雷达的定位过程。
激光雷达的第二个应用:障碍物的检测和分类。
对于障碍物检测和分类来讲,目前有应用视觉和激光雷达,这两者并没有冲突。激光雷达不依赖光照,它的视角是 360 度,计算量比较小,可以实时扫描,目前普遍用的是 100 毫秒以内的。激光雷达在扫描的过程中,先识别障碍物,知道这个障碍物在空间中的位置,再根据存在的障碍物做分类。
如上图,我们先拿到一个原始点云数据,对地面点进行提取,对非地面点进行障碍物分割。
比如车、人,我们将这些障碍物分割成为独立的个体,通过分割出来独立的个体再去匹配,从而进行障碍物的分类和物体的跟踪。
简单言之,我们先去除地面点,得到障碍物,分割出障碍物,然后把障碍物分割出来从而进行分类跟踪。
而跟踪的过程,首先是分割点云,通过点云做关联目标,我们知道上一桢和下一桢是否属于同一个物体,再进行目标跟踪,输出目标跟踪信息。
激光雷达的应用现状
今年 4 月份我们开始供货,目前也了解到行业激光雷达在应用上现状。
首先就是传感器缺乏,一方面是现在的激光雷达比较贵,供货周期也非常长,能够普遍用起激光雷达的公司并不多。而传感器的缺乏,解决方案的不成熟、点云算法人才积累太少,激光雷达无法发挥最大威力。
对于无人驾驶团队,他们可能除了激光雷达的点云算法以外,还做摄像头算法、毫米波雷达算法以及多传感器的融合,包括定位、路径规划、决策控制和改车等等。他们做的技术点非常多,无法聚焦,这导致他们被迫拉长战线。
所以在今年 4 月,我们针对激光雷达的解决方案提出了普尔米修斯计划。我们希望这个计划的本质是一个负责开放共享的态度,加快整个无人驾驶商业化落地。
整个普罗米修斯计划的模块还是基于激光雷达能够做什么事来进行的,包括:定位、车道线检测、路沿检测、障碍物识别、障碍物分类与跟踪的算法模块。
不管是低速车,园区车还是物流车或是在高速公路上行驶的车辆,我们都希望自己能够贡献出一份力量。
上图是基于激光雷达车道线检测和路沿检测。基于激光雷达的车道线检测还是比较不错的,路面上车道线一般是白色和黄色两种,所以我们提前把反射强度的方式先做出来,这样激光雷达就很容易将提取车道线出来,不会因为白天和晚上受到干扰。
而路沿检测可以根据路沿的几何形状来做一些训练,现在路沿十几厘米的高度都能够提取出来。
我们可以看上图的有半部分:红色表示提取的车道线,浅色是提取的路沿,中间是虚线,两边是实线。这个准确性还是不错的,包括路面的左转、右转这些指示也能做出来。如果后续有多帧迭代的话,其实效果会更好。
激光雷达做物体的跟踪,相当于对每一个识别到的物体,都会计算,并且分割到底是自行车、卡车、行人还是私家车。
识别之后,除了我们知道自动驾驶本体车的速度以外,也可以跟踪出前车的速度,以及前车距离本车的横向和纵向距离。激光雷达输出的已经不是原始点云数据,还有每个障碍物空间的位置和分类,到底是哪种类型,以及速度信息。
激光雷达能做的事情有很多,包括定位、障碍物的检测、分类和跟踪、车道线的检测、路沿检测等等。在感知的工作里,激光雷达扮演了非常重要的角色。