高精度地图一定是匹配高精度定位来使用的,如果车辆定位本身精度不高,就类似于你获得了碧血剑谱,但是没有自宫,这个武功是没有办法学会的。
高精度定位与高精度地图紧密联系,为自动驾驶汽车路线规划,道路感知,驾驶控制提供支持,首先,高精度地图数据的采集、处理、以及地图的建模都需要以高精度的位置坐标作为框架。高精度地图中道路和场景是自动驾驶汽车感知和决策的数据基础,若在制图过程中位置标定出现误差,就有可能造成自动驾驶系统的判断失误。
其次,以高精度地图为基础,结合感知匹配实现高精度的自主导航定位,在定位信号中断或不稳定的情况下,保证自动驾驶汽车仍明确知晓车辆在当前环境中的准确位置。而高精度地图与高精度定位相结合,车辆能够提供了解当前位置可能的道路特征情况,调高传感器的识别精度,降低对于传感器的性能要求。
前面说了普通GPS的定位精度只能到5-10米左右的绝对精度,做的相对比较好的可以做到5米左右,但是无法充分满足自动驾驶汽车对高精定位的要求,需要寻求其他辅助手段来提高定位精度。
RTK绝对位置高精度定位
RTK——“地面上的卫星定位系统”。RTK技术指实时动态载波相位差分技术, 通过地面基准站与流动站之间的观测误差,实现分米乃至厘米级的高精度定位。卫星定位的误差难以避免,而地面上某些固定点位的绝对位置坐标是可以相对精确给定的——例如特定的地理坐标点、卫星接收站等,以该点位为中心的20-40km半径范围内,对流层、电离层等环境干扰对卫星信号的干扰方向和程度基本一致。
因此这类点位作为RTK中的“基准站”,协助附近的运动物体一一“流动站”矫正卫星定位的结果。简要流程如下:
一、基准站将卫星定位结果与已有精确坐标比对,计算出此时该区域的卫星定位的综合误差;
二、基准站将该误差数据发送给附近的流动终端;
三、流动站收到误差数据,矫正自身卫星定位结果, 实现厘米至亚米量级定位精度。
简单点理解,就是增加了一些基站,类似移动4G这样的基站,这个基站是专门用来做高精度辅助定位的,此时就需要在车上增加RTK接收的天线,同时这个RTK类似于移动收费一样,用户需缴服务费获得差分修正数据,这笔钱要交给地基增强网运营商。
从RTK原理可以看出,除了设备和技术本身,RTK定位精度还取决于基站绝对位置的精度,以及距基准站的距离。RTK的供应商国内第一的就是千寻,全国建立超过2600个地基增强站,这个可以在很多位置可以覆盖高精度定位。
是不是看起来非常理想,通过RTK就可以解决高精度定位,还是太年轻,想想RTK的本质还是需要接收到GPS信号,同时结合接收RTK的基站信号,成本这里就不谈了,需要增加接收差分信号接收天线和模块,关键你怎么保障你车子行驶的位置都有GPS和RTK基站信号。
首先来看GPS信号接收比较困难,是因为卫星的发射功率并不大,信号到达地面时已经很弱。这种信号强度相当于1.6万公里外一个25瓦的灯泡发出的光。再做个比喻,它比电视机天线所接收到的功率还要低10亿倍,所以在隧道、树木茂密、高楼林立的地方,虽然天空中有7-8颗卫星,但是至少需要接收到4颗卫星及以上才能定位。
此时经过信号的反射多路径干扰,隧道的衰减等等,所以在这些天桥、隧道、树木茂密等驾驶环境下GPS搜不到信号也是正常。
我们再来看看RTK的一个基站覆盖的范围是20-40KM,而且基站建立的成本也不低,主要在城市道路或者常用的高速道路附近有基站,所以不能完全保证在所有道路上都能定位,碰上GPS信号不好,而且RTK基站也不能覆盖的地方,难道就缴械投降了?
不着急,我们还有一种方式定位,IMU惯性导航定位,专门就是用来应对这些场景的。
IMU实现不依赖外部信息的自主导航 惯性导航
IMU即惯性策略单元,是组成惯性导航系统的设备单元, 是组成惯性导航系统的设备单元,由陀螺仪、加速计、算法处理单元三部分组成。陀螺仪与加速计分别测量角度、加速度信息。不依靠外界的信息输入,惯性导航系统可以向自动驾驶汽车提供航向、姿态、速度、位置等导航参数, 是高精定位不可或缺的一部分。IMU提供信息的维度称为自由度(DOF) , 三轴(x轴、y轴、z轴) 陀螺仪加三轴加速计, 组成六自由度IMU, 也称六轴IMU。再加上用于测量相对于地球磁场方向的三轴磁强计组成九自由度IMU, 也称九轴IMU。IMU提供的信息与汽车轮速记、方向盘转角等信息有重叠, 为自动驾驶汽车感知方位与姿态提供冗余信息。
有点难懂,我们从网上找到比较简单容易理解的方式;
当我们晚上回到家,发现家里停电时,眼睛在黑暗中什么都看不见的情况下,只能根据自己的经验,极为谨慎地走小碎步,并不断用手摸周围的东西(比如冰箱),用以确定自己所在的位置。
IMU的原理和黑暗中走小碎步很相似。
在黑暗中,由于自己对步长的估计和实际走的距离存在误差,走的步数越来越多时,自己估计的位置与实际的位置相差会越来越远。
就像下图所示。
走第一步时,估计位置(黑人所在位置)与实际位置(白人所在位置)还比较接近;但随着步数增多,估计位置与实际位置的差别越来越大。
图中的小人只朝一个方向移动,是一维的。根据此方法推广到三维,就是惯性测量单元的原理。
学术上的语言是:以牛顿力学定律为基础,通过测量载体在惯性参考系的加速度,将它对时间进行积分,且把它变换到导航坐标系中,就能够得到在导航坐标系中的速度、偏航角和位置等信息。
所以看到这个惯性导航,实际就是根据牛顿力学,在GPS失去信号的时候,根据当前的位置,前进的速度,方向和角度,自己建立一个坐标系,算出一个预估的位置,输出给导航地图一个经纬度位置,实现自主导航,从图片中也可以看到,这个有一个确定,这个可以短时间使用,如果长时间使用的话,这个位置累积偏移会非常严重。如果要测试一个IMU的自主导航的偏移度怎么样,就应该长时间失去GPS信号的情况下去测试,此时最合适的就是长长的隧道,所以为什么台北的雪山隧道,这么受到车厂的测试爱戴,因为它全长约12.9公里,完全有这么长的时间测试IMU的偏移度。
IMU在自动驾驶汽车高精定位中的作用:协助GPS定位与无外部信号自主导航。IMU在自动驾驶过程中时刻发挥着作用:GPS信号的更新频率为10Hz——也就是每0.1秒更新一次GPS定位信息, 而IMU设备的更新频率在100Hz以上, 在两次GPS信号更新之间, 自动驾驶汽车可以结合IMU提供的车辆方位、姿态、速度等信息推算汽车的精确位置,实现高频率高精度定位,满足自动驾驶汽车对实时定位的要求。
而在无定位信号或弱定位信号区域, 自动驾驶汽车可以通过IMU实现短时间自主导航——这是IMU在自动驾驶高精定位环节发挥的另一重要作用。例如,当自动驾驶汽车驶入隧道、山路等信号较弱路段,或接收电磁波信号、光信号(用于摄像头识别)受到强烈干扰导致设备无法正常工作时,汽车保留最后一次稳定接收到的定位数据, 基于IMU提供的参数信息计算汽车在弱信号路段的具体位置, 结合高精地图数据实现自主导航。但IMU的计算误差会随时间增大, 因此强调是在一定时间范围内的自主导航。
跑在控制器上的软件对信息的处理流程在时间维度上类似下图。在0~100ms的周期中,使用IMU进行9次位置的估计,待新的GPS定位数据进来时,则进行修正,以此实现高频率的定位结果输出。
就这样,GPS与IMU便相辅相成地实现了无人车的稳定定位,就能解决我们前面提到的定位刷新频率≥100HZ的问题。
到这里了,高精度定位绝对位置的倚天和屠龙都已经亮出来了,我们看看首先是RTK在GPS信号和基站信号的情况下可以实现2-30cm的高精度定位,而IMU惯性导航,可以弥补GPS定位缺陷,精确感应定位和车身姿态,IMU全天候工作,受外界干扰小,短期精度和稳定性好,数据更新频率高,劣势就是自动驾驶的IMU的成本需要非常高。
其实这里也可以看到RTK使用有很多痛点:
第一,用户购买终端硬件贵,差分技术及元器件实际上过去是应用测绘行业,硬件成本高。
第二,用户需缴服务费获得差分修正数据,这笔钱要交给地基增强网运营商。
第三,用户需缴通讯流量费用于用户端与增强系统间的数据传输,这笔钱要交给4G运营商。
第四,数据保密问题,地基增强网是双向数据,用户位置数据会被运营方自动无偿获取。
第五,使用范围有限制:只在差分站覆盖范围内,实际上有保障可用信号的范围目前还非常有限。
第六,由于技术复杂,导致维权法律上取证难度大。出现事故后,在卫星网络、地基增强网络、3G/4G运营商、终端设备供应商之间难以鉴别划分责任。
总结下来从车厂还有用户角度出发的最关键痛点是:
用户终端硬件贵
需缴服务费和通信费:获得差分修正数据
使用范围有限制:差分站和通讯网络覆盖范围内
其实在这里除了RTK这样的屠龙,还有一种葵花宝典的RAC技术。在最近的2020智能网联汽车C-V2X“新四跨”暨大规模先导应用示范活动在上海国际汽车城测试场,本次“新四跨”大规模测试验证的17个实现车路协同的场景,绝大多数都要求车辆具有高精度的实时定位能力。在不依赖车载雷达和视觉的条件下,高精度卫星定位已成为不可或缺的技术方案。
此次新四跨大规模实际道路测试和现场公开演示中,百度Apollo,PSA等多家厂商经过大规模测试选用搭载RAC,驾驶精度和驾驶体验都优于RTK,得到体验专家和媒体的高度评价。
RAC就是多阵列天线去接收GPS信号,通过算法来实现精度的提高。
可以看到用户使用RAC的BOM成本低,无需差分修正数据支持,所以不需要流量费用,数据可以得到很好的保密,只为用户和车厂所有,使用范围也广,在城市环境,树木遮挡、高架桥下、RAC动态稳定性鲁棒性比RTK好。
高精度定位相对定位
绝对位置定位是以地球为参考系,相对位置定位以当前驾驶场景为参考系,相对位置定位思路和人类驾驶过程更为类似:人类驾驶员在驾驶过程中,通过视觉观察周围场景中的物体,包括建筑、路缘、标志线等,经过对比判断车辆在当前场景中的位置。
类似的,自动驾驶汽车通过高清摄像头、激光雷达等感知设备获取周围场景内物体的图像或反射信号,将其与事先采集的高精度地图数据进行匹配,从而获得车辆当前位置的精确估计。
相对位置定位可以分为(激光雷达)点云匹配和视觉定位两大技术路线。点云匹配以激光雷达为核心;激光雷达向外发射激光脉冲,从地面或者物体表面发射形成多个回波返回进行匹配,实现汽车当前场景的高精度定位。目前主流的匹配算法包括概率地图与NDT(正太分布变换)算法两种,代表玩家如google、HERE、TomTom。
视觉定位以摄像头为核心,分为两种路径:视觉匹配和视觉里程定位,视觉匹配通过提取图像中的道路标识、车道线等参照物体与高精度地图进行匹配,实现精准定位,代表玩家如特斯拉、Mobileye、英伟达。基于视觉里程算法的定位技术以双目摄像头为主,通过图像识别以及前后两帧图像之间的特征关系来计算车辆当前的位置,但该方案依赖摄像头的成像质量,在光线不佳、视线遮挡等环境下定位可靠性有待考量,一般不会单独使用。
如何利用高精度地图和高精度定位来进行“导航”
当前自动驾驶导航过程可以简要分为三个阶段:路线级规划、车道级规划、自动驾驶控制。路线级规划通过导航地图确定具体行驶路线,考虑交通方式、路线距离、交通状况、途径地点等,是点到点的粗略规划。车道级规划依靠高精度地图,根据给定的路线确定具体的形式方案,包括车辆起步和停止、速度限制、车道保持与变道、车道坡度等。在自动驾驶控制阶段,系统依据具体的行驶方案控制汽车,实现自动驾驶。
具体到自动驾驶的控制,我们可以将自动驾驶流程分为“感知层-决策层-执行层”,高精地图横跨“感知层”和“决策层”。在感知层,车辆通过摄像头、毫米波雷达、激光雷达等设备获取周围场景信息,实现周围感知;将周围场景信息与高精度地图进行比对,确定车辆相对位置,并通过GNSS、RTK 定位、惯性导航系统确定自身姿态、速度和绝对位置,共同实现自我感知。感知信息进入决策层,算法将依据高精地图、车联网技术提供的多维度信息对具体驾驶问题做出判断、输出车辆控制信号并交给执行层执行。
①感知层首先要感知周围环境,高精地图用于环境感知,能够与激光雷达、摄像头等感知设备输出结果形成冗余,提高识别的准确度。此外,高精地图信息能够为感知设备识别提供辅助信息。例如,通过高精度地图,已知汽车在当前位置附近有红绿灯,再通过摄像头、雷达设备感知该红绿灯存在的准确率能够有所提升。
②除了感知周围环境,自动驾驶的车辆同时要实现自我感知,即知道“我在哪”。利用高精度地图&高精度定位(绝对位置+相对位置)是自动驾驶汽车定位解决方案的定位模式。
以激光雷达点云匹配的定位方案为例:一方面,车载激光雷达扫描获得点云数据,并提取数据中包含的环境特征;另一方面,车辆从“ GNSS + RTK + IMU ”定位组合中获得车辆位置的预测值,从高精地图中获取该位里附近的环境特征,之后将扫描识别的环境特征与高精地图记述的环境特征做匹配融合,获取车辆当前场景下精确的位置信息。高精定位方案中,共有三部分相互重盈的定位子系统:
一、卫星定位,包括RTK 定位技术、地基增强网络等;
二、航位推算引擎,包括 IMU 、车身里程计、以及车辆控制系统的总线信息;
三、基于高精地图的相对位置。
三部分之间信息相互藕合,结果相互冗余,从而保证定位的精度和可靠性。
我们来看看行业最具代表性的百度Apollo 2.0的多传感器高精度定位的实现方式。
按照百度 APollo的划分,适用于自动驾驶汽车的定位技术可由六部分组成,分别为:惯性导航(定位)、卫星定位、磁力导航(定位)、重力导航(定位)、激光点云定位、视觉定位。不同部分之间优势互补,定位结果之间相互重叠以矫正误差,提高定位精度和鲁棒性。
以 Apollo2.O 多传感器融合定位模块为例,以IMU为基础的惯性导航解算子模块、以地面基站和车端天线为基础的 GNSS 定位子模块、以及以激光雷达、高精地图为基础的点云匹配子模块相互融合,输出一个 6 DOF(自由度)位置和姿态信息,并且融合结果反馈给 GNSS 定位和点云定位子模块,提高两定位模块的精度。在该框架中, GNSS定位模块向系统提供车辆绝对位置信息,而点云定位模块向车辆提供相对距离、相对位置信息。
③感知完周边环境和自我位置之后,高精度地图接下来用于进行决策支持。在规划与决策层面,高精地图除了用于自动驾驶汽车车道级别的线路规划外,还能够为决策和识别算法提供支持。例如,当车辆驶近人行横道——高精地图上标注的“兴趣区”时,识别算法将提前进行模型比较,提高对各类行人姿态的识别准确率,同时降低车速,避免事故的发生。
由于自动驾驶需要极高的安全性,因此系统的鲁棒性非常重要,由于摄像头、激光雷达、毫米波雷达、高精度地图都有信息缺失或者不能及时获取的可能,因此各种传感器的信息相互补充,互为冗余就非常重要了。高精地图和感知层(激光雷达、毫米波雷达、摄像头)一起构成了信息冗余的组成环节,信息冗余确保自动驾驶的鲁棒性。高精地图提供的部分道路和环境信息,例如道路细节信息、交通标志等,与自动驾驶汽车通过摄像头、激光雷达等感知设备获取的信息存在重叠,达到“信息冗余”状态。一方面,冗余信息确保车辆在遇到恶劣环境、信号不佳、识别错误等非常规状况时能够依靠多余信息实现正确驾驶决策,确保自动驾驶的“鲁棒性”。另一方面,信息冗余为相对位置定位提供支持。通过将实时感知信息与高精地图信息进行对比,汽车可以获取当前行驶的相对位置,与基于GNSS 等技术手段的绝对位置定位互补,构成另一层次的“信息冗余”。
到这里为止,就讲明白了高精度地图,高精度定位,怎么通过传感器的融合和冗余实现高精度地图的感知、定位、决策的整套流程。