感知系统
现有的车载传感器主要包括超声波雷达、激光雷达、毫米波雷达、车载摄像头、红外探头等。主流的自动驾驶感知平台以雷达和车载摄像头为主,呈现多传感器融合发展趋势。基于测量能力和环境适应性,预计雷达和车载摄像头会保持其感知平台霸主地位,并不断地与多种传感器融合,发展多种组合版本。
传感器性能对比
激光雷达
激光雷达又称光学雷达(Light Detection And Ranging, LiDAR),是一种先进的光学遥感技术,它通过首先向目标发射一束激光,然后根据接收和反射的时间间隔确定目标物体的实际距离。同时结合这束激光的发射角度,利用基本的三角函数原理推导出目标的位置信息。由于激光具有能量密度高、方向性好的特点,激光雷达的探测距离往往能达到100m以上。与传统雷达使用不可见的无线电波不同,激光雷达的探测介质是激光射线,使用的波长集中在600~1000nm,远低于传统雷达的波长。又因为雷达具有波长越短探测精度越高的特点,故激光雷达可以用于测量物体距离和表面形状。激光雷达的精度可达厘米级。激光雷达在自动驾驶运用中有两个核心作用。
- 三维建模进行环境感知。通过激光扫描可以得到汽车周围环境的三位模型,运用相关算法比对上一帧和下一帧的环境变化可以较容易地探测出周围的车辆和行人。
- SLAM加强定位。三维激光雷达的另一特性是同步建图(SLAM),实时得到全局地图。通过和高精地图中特征物的比对,可以实现导航及加强车辆定位精度等功能。
LiDAR以线数及距离两大因素为标准,价格从几百美元到几万美元不等。单线激光雷达的应用在国内已相对较广,像扫地机器人使用的便是单线激光雷达。单线激光雷达可以获取二维数据,单无法识别目标的高度信息,而多线激光雷达可以识别2.5维甚至三维数据,在精度上会比单线雷达高很多。目前,在国际市场上推出的主要有4线、8线、16线、32线、64线和128线。随着线数的提升,其识别的数据点也随之增加,所要处理的数据量也非常巨大。
激光雷达的激光发射器线数越多,每秒采集的数据点就越多。线数越多就代表雷达造价越昂贵。
在自动驾驶领域,激光雷达是目前最有效的方案,被认为是最精准的自主感知手段,其有限感知范围超过120m,而精度可以达到厘米级。但由于现阶段价格高昂,无法部署在量产车上,是目前最难以跨域的硬件门槛。多线激光雷达的成本下降将会显著加速自动驾驶汽车量产。
激光雷达工作原理
LiDAR系统一般分为3个组成部件,分别是激光发射器、扫描与光学部件、感光部件。激光发射器发射波长在600~1000nm的激光用于探测环境和物体。扫描与光学元件,主要用于收集发射点与反射点之间的距离,以及反射时间和水平角度。感光部件用于检测反射回来光线的强度。通过这3个部件的工作,激光雷达实现对目标的探测,检测的每个点均包含点的位置信息(空间坐标x,y,z)及返回光线的强度信息。光线强度除了与发射光强度和光线大气通过率有关外,主要与被测物体的表面光反射率直接相关,因此通过检测光强度也可以对被测物体的表面反射率有大概判断。
在无人驾驶汽车行驶过程中,LiDAR系统并不是静止不动的,而是随着车辆移动以相对于汽车的稳定角速度转动,同时不断向周围发射激光并探测周围的物体,记录下反射点信息,以便得到无人驾驶汽车四周全方位环境信息。LiDAR在收集反射点距离的过程中也同时记录实时时间数据和水平角度。结合每个激光发射器已知的位置和姿态,可以计算得到所有反射点的坐标。LiDAR每旋转一周,收集到的所有反射点坐标的集合就构成了点云。
无人驾驶汽车的定位除了接收GNSS系统发射回来的数据外,还依赖激光雷达生成的点云与数据库中的高精地图做比较,以得出汽车所在的精确位置,这个精度可以达到厘米级别。高精地图并非是指人们日常生活所用到的数字地图的高精度版本,而是用大量点云拼接而成的大范围道路环境信息。高精地图的绘制同样依赖LiDAR的应用,数据采集过程主要使用专门搭载高性能LiDAR的数据采集车反复行驶于同一路段,收集这一路段的点云数据。后期通过人工修饰与更改,剔除一些错误的不应保留的信息,例如移动中的行人与车辆,或其他与道路环境无关的物体所反射的点云数据,再经过多次对齐与加工修饰,最终拼接成完整的高精地图。
利用LiDAR可以帮助无人车精准定位。利用以下简化的概率模型:已知t0时刻的GNSS信息,t0时刻的点云信息,以及t1时刻无人车可能位于的3个位置P1,P2,P3(为了简化问题,假设无人车会在这3个位置中的某一个),求t1时刻车在这3点的概率。根据贝叶斯法则,无人车的位置的概率公式为
右侧第一项 表示给定当前位置,观测到点云信息的概率分布。其计算方式一般分为局部估计和全局估计两种。局部估计较简单的做法就是通过当前时刻点云和上一时刻点云的匹配,借助几何推到估计无人车在当前位置的可能性。全局估计就是利用当前时刻的点云和高精地图做匹配,可以得到当前车在地图上的位置。实际情况是两种方法往往结合使用。代表对当前位置的预测的概率分布,这里可以使用GNSS给出的位置坐标做为预测。通过计算P1,P2,P3 3个点的后验概率,可以估计出无人车在哪一个位置的可能性最高。通过两个概率分布相乘,可以很大程度上提供无人车定位的精度。
激光雷达还可以联合GNSS/IMU与高精度地图等手段进行加强定位,一方面通过GNSS得到初始位置信息,再通过IMU和车辆的Encoder(编码器)配合得到车辆的初始位置;另一方面,将激光雷达的3D点云数据,包括几何信息和语义信息进行特征提取,并结合车辆初始位置进行空间变化,获取基于全局坐标系下的矢量特征。最后,将初始位置信息,激光雷达提取的特征跟高精地图的特征信息进行匹配,从而获取一个准确的定位。如下图
在障碍物检测方面,机器视觉中一个较为难解决的问题是判断物体距离。基于单一摄像头抓取的二维图像无法得到准确的位置信息,而基于多摄像头合成的方法又需要实时处理很大的计算量,难以满足无人车实时性的要求。此外,光学摄像头在光线不好的条件下(黑夜或昏暗的隧道内)性能很差,抓取图像难以使用。而LiDAR生成的点云可以在很多程度上避免摄像头的上述问题。借助LiDAR本身的特性可以很好的探测反射障碍物的远近,大小,甚至表面形状,有利于障碍物检测准确性的提高,而且在算法方面比起机器视觉算法来也比较简单,更适合无人车的需求,下图为激光雷达生成的点云图
激光雷达的缺点:
首先,LiDAR会受天气影响。空气中的水珠以及其他悬浮物都会对LiDAR的精度造成影响,试验表明,随着雨量的增大,LiDAR的探测距离会线性下降。
其次,LiDAR在使用过程中时刻都会产生海量的点云数据,即使16线的LiDAR每秒钟要处理的数据点也达到30万个,64线的型号每秒产生的点数甚至超过200万个。LiDAR给出的原始数据只是反射物体的距离信息,需要对所有的点进行几何变换,且在后期处理中也要进行大量的坐标系转换工作,这些对计算硬件(CPU,GPU,FPGA等)提出很高要求。
最后,LiDAR系统造假十分昂贵。