无人驾驶汽车的成功涉及高精地图、实时定位以及障碍物检测等多项技术,而这些技术都离不开光学雷达(LiDAR)。本文将深入解析光学雷达是如何被广泛应用到无人车的各项技术中。文章首先介绍光学雷达的工作原理,包括如何通过激光扫描出点云;然后详细解释光学雷达在无人驾驶技术中的应用,包括地图绘制、定位以及障碍物检测;最后讨论光学雷达技术目前面临的挑战,包括外部环境干扰、数据量大、成本高等问题。
无人驾驶技术简介
无人驾驶技术是多个技术的集成,包括了传感器、定位与深度学习、高精地图、路径规划、障碍物检测与规避、机械控制、系统集成与优化、能耗与散热管理等等。虽然现有的多种无人车在实现上有许多不同,但是在系统架构上都大同小异。图1显示了无人车的通用系统架构,系统的感知端(图1左)由不同的传感器组成,其中GPS用于定位,光学雷达(Light Detection And Ranging,简称 LiDAR)用于定位以及障碍物检测,照相机用于基于深度学习的物体识别以及定位辅助。
图1 无人车通用系统架构
在传感器信息采集后,我们进入了感知阶段,主要是定位与物体识别(图1中)。在这个阶段,我们可以用数学的方法,比如Kalman Filter与 Particle Filter等算法,对各种传感器信息进行融合,得出当前最大几率的位置。如果使用LiDAR为主要的定位传感器,我们可以通过LiDAR扫描回来的信息跟已知的高精地图做对比,得出当前的车辆位置。如果没有地图,我们甚至可以把当前的LiDAR扫描信息与之前的扫描信息用ICP算法做对比,推算出当前的车辆位置。在得出基于LiDAR的位置预测后,可以用数学方法与其它传感器信息进行融合,推算出更精准的位置信息。
最后,我们进入了计划与控制阶段(图1右)。在这个阶段,我们根据位置信息以及识别出的图像信息(如红绿灯)实时调节车辆的行车计划,并把行车计划转化成控制信号操控车辆。全局的路径规划可以用类似A-Star的算法实现,本地的路径规划可以用DWA等算法实现。
光学雷达基础知识
先来了解下光学雷达的工作原理,特别是产生点云的过程。
工作原理
光学雷达是一种光学遥感技术,它通过首先向目标物体发射一束激光,再根据接收-反射的时间间隔来确定目标物体的实际距离。然后根据距离及激光发射的角度,通过简单的几何变化可以推导出物体的位置信息。由于激光的传播受外界影响小,LiDAR能够检测的距离一般可达100m以上。与传统雷达使用无线电波相比较,LiDAR使用激光射线,商用LiDAR使用的激光射线波长一般在600nm到1000nm之间,远远低于传统雷达所使用的波长。因此LiDAR在测量物体距离和表面形状上可达到更高的精准度,一般可以达到厘米级。
LiDAR系统一般分为三个部分:第一是激光发射器,发射出波长为600nm到1000nm之间的激光射线;第二部分是扫描与光学部件,主要用于收集反射点距离与该点发生的时间和水平角度(Azimuth);第三个部分是感光部件,主要检测返回光的强度。因此我们检测到的每一个点都包括了空间坐标信息(x, y, z)以及光强度信息(i)。光强度与物体的光反射度(reflectivity)直接相关,所以根据检测到的光强度也可以对检测到的物体有初步判断。
什么是点云?
无人车所使用的LiDAR并不是静止不动的。在无人车行驶的过程中,LiDAR同时以一定的角速度匀速转动,在这个过程中不断地发出激光并收集反射点的信息,以便得到全方位的环境信息。LiDAR在收集反射点距离的过程中也会同时记录下该点发生的时间和水平角度(Azimuth),并且每个激光发射器都有编号和固定的垂直角度,根据这些数据我们就可以计算出所有反射点的坐标。LiDAR每旋转一周收集到的所有反射点坐标的集合就形成了点云(point cloud)。
图2 点云的产生
如图2所示,LiDAR通过激光反射可以测出和物体的距离distance,因为激光的垂直角度是固定的,记做a,这里我们可以直接求出z轴坐标为sin(a)*distance。由cos(a)*distance我们可以得到distance在xy平面的投影,记做xy_dist。LiDAR在记录反射点距离的同时也会记录下当前LiDAR转动的水平角度b,根据简单的集合转换,可以得到该点的x轴坐标和y轴坐标分别为cos(b)*xy_dist和sin(b)*xy_dist。
LiDAR 在无人驾驶技术中的应用领域
接下来介绍光学雷达如何应用在无人驾驶技术中,特别是面向高精地图的绘制、基于点云的定位以及障碍物检测。
高清地图的绘制
这里的高清地图不同于我们日常用到的导航地图。高清地图是由众多的点云拼接而成,主要用于无人车的精准定位。高清地图的绘制也是通过LiDAR完成的。安装LiDAR的地图数据采集车在想要绘制高清地图的路线上多次反复行驶并收集点云数据。后期经过人工标注,过滤一些点云图中的错误信息,例如由路上行驶的汽车和行人反射所形成的点,然后再对多次收集到的点云进行对齐拼接形成最终的高清地图。
基于点云的定位
首先介绍定位的重要性。很多人都有这样的疑问:如果有了精准的GPS,不就知道了当前的位置,还需要定位吗?其实不然。目前高精度的军用差分GPS在静态的时候确实可以在“理想”的环境下达到厘米级的精度。这里的“理想”环境是指大气中没有过多的悬浮介质而且测量时GPS有较强的接收信号。然而无人车是在复杂的动态环境中行驶,尤其在大城市中,由于各种高大建筑物的阻拦,GPS多路径反射(Multi-Path)的问题会更加明显。这样得到的GPS定位信息很容易就有几十厘米甚至几米的误差。对于在有限宽度上高速行驶的汽车来说,这样的误差很有可能导致交通事故。因此必须要有GPS之外的手段来增强无人车定位的精度。
上文提到过,LiDAR会在车辆行驶的过程中不断收集点云来了解周围的环境。我们可以很自然想到利用这些环境信息来定位。这里我们可以把这个问题用一个简化的概率问题来表示:已知t0时刻的GPS信息,t0时刻的点云信息,以及t1时刻无人车可能所在的三个位置:P1、P2和P3(这里为了简化问题,假设无人车会在这三个位置中的某一个)。求t1时刻车在这三点的概率。根据贝叶斯法则,无人车的定位问题可以简化为如下概率公式:
右侧第一项表示给定当前位置,观测到点云信息的概率分布。其计算方式一般分局部估计和全局估计两种。局部估计较简单的做法就是通过当前时刻点云和上一时刻点云的匹配,借助几何推导,可以估计出无人车在当前位置的可能性。全局估计就是利用当前时刻的点云和上面提到过的高清地图做匹配,可以得到当前车相对地图上某一位置的可能性。在实际中一般会两种定位方法结合使用。右侧第二项表示对当前位置预测的概率分布,这里可以简单的用GPS给出的位置信息作为预测。通过计算P1、P2和P3这三个点的后验概率,就可以估算出无人车在哪一个位置的可能性最高。通过对两个概率分布的相乘,可以很大程度上提高无人车定位的准确度,如图3所示。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉