自动驾驶定位技术就是解决“我在哪儿”的问题,并且对可靠性和安全性提出了非常高的要求。除了GPS与惯性传感器外,我们通常还会使用LiDAR点云与高精地图匹配,以及视觉里程计算法等定位方法,让各种定位法互相纠正以达到更精准的效果。随着自动驾驶的发展,定位技术也一定会不断优化。
一般来讲,自动驾驶实际包含三个问题:一是我在哪?二是我要去哪?三是如何去?能完整解决这三个问题就是真正的自动驾驶。
定位技术就是解决“我在哪儿”的问题,并且自动驾驶需要的是厘米级定位。
目前自动驾驶的技术基本上都源自机器人,自动驾驶汽车可以看做是轮式机器人外加一个舒适的沙发组成。机器人系统中定位和路径规划是一个问题,没有定位,就无法规划路径。厘米级实时定位是目前自动驾驶最大的挑战之一。对机器人系统来说,定位主要靠SLAM与先验地图(Prior Map)的交叉对比。
SLAM是Simultaneous Localization and Mapping的缩写,意为“即时定位与地图构建”。它是指运动物体根据传感器的信息,一边计算自身位置,一边构建环境地图的过程。
由于传感器种类和安装方式的不同,SLAM的实现方式和难度会有很大差异。按传感器来分,SLAM主要分为激光、视觉两大类。
自动驾驶通过定位技术准确感知自身在全局环境中的相对位置,将自身视作一个质点并与环境有机结合起来。
按定位技术原理不同可分为三类。第一类,基于信号的定位,代表就是GNSS定位,即全球导航卫星系统;第二类,航迹推算,依靠IMU等,根据上一时刻的位置和方位推断现在的位置和方位;第三类是环境特征匹配,基于LiDAR的定位,用观测到的特征和数据库中的特征和存储的特征进行匹配,得到现在车的位置和姿态。
现有的无人车高精度定位在某些情况下会出现定位不准的情况。因此仅依靠GPS的定位方案可靠性太差。
因此自动驾驶一般用组合定位。首先本体感知传感器如里程计(Odometry)、陀螺仪(Gyroscopes)等,通过给定初始位置和姿势(简称位姿),来测量相对于机器人初始位姿的距离和方向来确定当前机器人的位姿,也叫做航迹推测。然后用激光雷达或视觉感知环境,用主动或被动标识、地图匹配、GPS、或导航信标进行定位。位置的计算方法包括三角测量法、三边测量法和模型匹配算法等。从这个角度而言,IMU也是自动驾驶必备的部件。
惯性传感器(IMU)是检测加速度与旋转运动的高频(1KHz)传感器,对惯性传感器数据进行处理后我们可以实时得出车辆的位移与转动信息,但惯性传感器自身也有偏差与噪音等问题影响结果。而通过使用基于卡尔曼滤波的传感器融合技术,我们可以融合GPS与惯性传感器数据,各取所长,以达到较好的定位效果。
注意由于无人驾驶对可靠性和安全性要求非常高,所以基于GPS和惯性传感器的定位并非无人驾驶里唯一的定位方式。
就目前定位技术而言,自动驾驶有三类定位方法,通常三种方法会被交叉使用,以相互纠正达到更精准的效果:
基于 GPS 和惯性传感器的传感器融合;
基于 LiDAR 点云与高精地图的匹配;
基于视觉的道路特征识别。
这三类定位方法,都属于需要结合多个传感器联合来解决定位问题,以下为几个具体的定位方法:
1、业内通用的定位方式是GPS+高精度地图+摄像机(激光雷达等)信息融合的定位方法。
激光雷达的SLAM,利用车辆自带的GPS和IMU做出大概位置判断,然后用预先准备好的高精度地图(Prior Map)与激光雷达SLAM云点图像与之对比,或者说Registration,放在一个坐标系内做配准。配对(Matching)成功后确认自车位置。这是目前最成熟,准确度最高的方法。
通过一个视频具体了解一下业内是如何结合车载传感器信息做定位的。
首先根据GPS的数据(经纬高和航向)确定无人车大致处于哪条道路上,这个位置的可能与真实位置有5~10米的差距。
根据车载传感器检测的车道线(虚、实线)及道路边缘(路沿或护栏)的距离与高精地图提供的车道线及道路边缘做比对,然后修正无人车的横向定位。