赵 佳,刘清波
(中通客车控股股份有限公司,山东聊城 252000)
高精定位导航技术是自动驾驶汽车安全行驶不可或缺的核心技术之一,在车辆横向/纵向精确定位、障碍物检测与碰撞避让、智能车速控制、路径规划及行为决策等方面发挥着重要作用[1]。本文分析高精定位的技术路线与工作原理,研究其在自动驾驶汽车应用过程中的优劣势特点,更好地服务并促进自动驾驶汽车的发展。
人类开车不需要知道车辆的经纬度,而自动驾驶汽车一定要知道其绝对定位信息,本质原因在于两者环境感知能力的差异。人类可以凭双眼和一些记忆、知识就能比较准确地得出周围的可行驶区域、道路边界、车道线、障碍物、交通规则等关键信息,并据此控制汽车安全行驶。但是目前用于汽车的环境感知传感器和算法还无法达到人类同样的感知性能,自动驾驶汽车对于周边环境的理解需要高精定位、高精地图、联合感知等技术的支持[2]。
自动驾驶汽车能够持续安全可靠运行的一个关键前提是车辆的定位系统必须实时稳定地输出足够高精度的位置和与位置相关的信息,这些信息包括车辆的经度、纬度、航向角、速度、加速度、俯仰角、更新频率等。一旦这些信息无法及时精确地获取,车辆就无法确定自身位置,必须立即退出自动驾驶模式由驾驶员接管车辆。
自动驾驶汽车对定位系统性能的要求与车辆的行驶速度密切相关。相关标准法规规定,乘用车行驶最高车速不得超过120 km/h[3],客车最高设计车速不应大于100 km/h[4]。基于目前的自动驾驶汽车整体技术水平和车辆限速要求,自动驾驶乘用车的最高车速不宜超过90 km/h,自动驾驶客车的最高车速不宜超过70 km/h。一般情况下,人工驾驶控制车辆距离道路一侧路牙石的安全距离约为25 cm,自动驾驶汽车必须在行驶25 cm的时间内更新一次定位信息且定位精度应≤25 cm,否则就有可能导致车辆超出道路边界发生事故。按照最高车速90 km/h计算,根据公式t=s/v,车辆行驶25 cm用的时间是0.01 s,根据公式f=1/t,则定位信息更新频率为100 Hz。因此,定位信息更新频率需≥100 Hz,定位精度须≤25 cm才能保证车辆行驶安全。
目前,常规的定位导航系统[5](包括无线电定位导航、惯性定位导航、卫星定位导航、移动基站定位导航等)都不能同时满足上述指标。比如:惯性定位导航系统存在定位误差随时间积累、长时间内不能保证足够的导航精度的问题;卫星定位导航系统存在多路径、卫星信号遮挡和更新频率低(一般为10 Hz)等问题。因此,要实现汽车自动驾驶功能,必须采用高精定位导航技术[6]。目前的高精定位技术路线主要有3种:基于卫星定位系统和捷联惯导系统的组合定位技术[7],基于激光雷达点云和高精地图的匹配定位技术[8],以及基于计算机视觉里程算法的定位技术[9]。
实现卫星定位(GPS)和惯导的组合方案有很多,不同的组合方案可以满足不同的要求和应用目的。基于卡尔曼滤波器的最优估计理论的数据处理方法为组合导航系统提供了理论基础并被广泛应用。在导航系统输出数据的基础上,利用卡尔曼滤波滤除噪声干扰估计系统的误差状态,并用误差状态的估计值去校正系统,从而达到优化组合导航系统综合性能的目的,提高导航系统的精度。
卡尔曼滤波器运行时主要分预测和更新两个阶段。预测阶段,在得到新GPS数据前,通过积分惯性传感器的数据来预测车辆的当前位置;更新阶段,当接收到新的比较精准的GPS数据时,使用新的GPS数据对当前的位置进行预测更新。通过不断地执行这两个步骤来实现对自动驾驶汽车的准确实时定位[5,7]。
高精地图的绝对坐标精度更高,而且所含有的道路交通信息元素更丰富、细致。借助高精地图能够扩展车辆的静态环境感知能力,为车辆提供其他传感器无法提供的全局视野,包括车载环境感知传感器检测范围外的道路、交通和设施信息。
激光雷达在车辆行驶过程中不断收集点云来动态了解周围环境,通过这些环境信息与高精地图进行比对匹配确定车辆位置。最常用的点云匹配算法就是迭代最近点算法(ICP)。该算法的目标是在给出两组点云的情况下,假设场景不变,算出这两组点云之间的位置。第一组点云的每个点在第二组点云里找到一个最近的匹配,之后通过所有的匹配来计算均方误差,进而调整估计的位置,多次迭代后,最终计算出两组点云的相对位置[10]。在预先有地图的情况下,用实时的点云加上一个大概位置猜测就可以精准算出车辆的当前位置,从而实现全局最优估计。其定位原理如图1所示。
图1 基于激光点云的全局最优估计定位原理
该定位过程是一个递推的过程,融合了激光雷达和GPS及惯导的信息,并跟踪环境特征,最后由匹配的环境特征反过来对自动驾驶汽车的位置进行修正,得到其位置的最优估计。依靠每一个位置所观察到的不同的环境特征和已有高精地图匹配,不断修正自身位置的误差量,从而实现自动驾驶汽车长距离的自主导航[11]。
基于视觉的定位算法主要有两大类[12]:基于地标拓扑的算法和基于几何的视觉里程算法。基于地标拓扑的算法把所有的地标抽象成一个拓扑图,当自动驾驶汽车监测到某个地标时,便可以根据地标位置大致推断出自身所在的位置;基于几何的视觉里程算法较为复杂,但是不需要预先建立精准的拓扑图,在定位的同时还能够扩展地图,其中典型的基于双目摄像头的视觉里程算法原理如图2所示,具体的计算流程如下:
1)双目摄像头抓取左右两图(既双目图像),双目图像经过三角剖分产生当前帧的视差图。
2)提取当前帧与之前帧的特征点,如果之前帧的特征点已经提取好了,可以被直接使用。
3)对比当前帧与之前帧的特征点,找出帧与帧之间的特征点对应关系;根据此对应关系,推算出两帧之间车辆的运动。
4)根据推算出的两帧之间车辆的运动,以及之前的车辆位置,计算出最新的车辆位置。
图2 视觉里程算法原理图
通过以上的视觉里程算法,自动驾驶汽车实时推算自己的位置并进行自主导航[2]。但是摄像头成像质量对光线相当敏感。在不同的光线环境下,同样的场景可能不被识别,导致算法失效[9]。因此不建议在自动驾驶场景中独立依赖视觉里程算法进行车辆定位。
从安全角度讲,多种高精定位导航技术同时应用,充分考虑各种失效模式的功能和性能冗余,是定位导航系统支撑自动驾驶汽车规模化应用的目标。但是随着高精度定位导航性能的提升,定位导航系统对各种资源的要求更加苛刻,比如:对计算机硬件的存储速度、存储容量、计算速度的要求,对软件复杂融合算法的容错性、可靠性、鲁棒性的要求等。这些资源需求直接影响成本控制,不利于自动驾驶汽车的推广应用。因此,根据不同的自动驾驶场景和不同定位导航技术自身的优劣势特点,找到功能性能要求与成本的平衡点,然后选择最恰当的而不是最复杂最昂贵的高精定位导航系统方案。3种高精定位导航技术的特点总结如下:
1)卫星定位和捷联惯导组合定位技术成熟度高,应用广泛。但是高度依赖基站,存在区域限制。
2)激光雷达点云和高精地图匹配定位技术在定位的同时具备障碍物检测功能。但是成本高,环境适应性差,高精地图更新频率低。
3)视觉里程算法定位技术的成本最低,但是可靠性差,视觉算法容易受光线干扰。
未来高精定位技术的进步需要依赖多学科多领域知识的广泛融合和研究,比如卫星、运动物理、地磁物理、地理信息、光学、视觉等。随着组合导航技术研究的不断深入,导航定位信息融合算法也是一项亟需突破的关键技术,多源定位数据输入下如何及时地解算出最精确的坐标信息是一项艰巨的任务。随着国家战略的大力支持和科技进步,不限场景的最优全局定位技术定会获得突破,真正的全路况无人驾驶汽车将为智能交通和智慧城市建设带来更多便利。
修改稿日期:2018-07-02