分享嘉宾:王维 智加科技 技术专家
编辑整理:康越
内容来源:DataFunTalk
出品平台:智加科技、DataFun
注:欢迎转载,转载请留言。
导读:高精地图和定位是自动驾驶系统中的重要基础模块,地图的质量和定位的结果会直接影响其它模块的功能,进而决定整个自动驾驶系统的好坏。本次分享将介绍智加科技在高精地图和定位领域的探索。
▌高精地图技术
相较于普通的电子导航地图,高精地图拥有更高的坐标精度与更丰富的交通信息元素。
高精地图分为高精拓扑地图和高精点云地图。在上图中,上面两张地图是高精拓扑地图,可以看出,它包含了车道线中心和车道线边线的几何形状,用一句话来总结,高精地图就是:车道级别、厘米精度的道路网络和交通信息地图;下面两张地图是高精点云地图,它使用稠密的点云来模拟现实车道环境,并通过标签来标记特殊点云,反映特殊道路标识等。接下来,我们将分别讲解两种地图技术,以及高精地图技术的优势和生成过程。
1. 高精拓扑地图
高精拓扑地图与传统导航地图的区别如上图。由于人脑拥有强大的计算和规划能力,传统导航地图的精度和功能对我们完全足够,但对于电脑操纵的无人驾驶车辆,就需要更高的精度。
高精拓扑地图包含的主要元素有:
厘米级车道边线和中心线几何信息
车道线类型(白虚线/白实线/黄虚线/黄实线)
车道线类(高速/城市道路/自行车道)
车道连接信息(前续和后续车道)
车道邻接信息(左车道/右车道/分叉车道/并道车道)
交通信息(红绿灯/限速)
...
2. 高精点云地图
高精点云地图的原理,是使用大量包含道路信息的点组成稠密的点云,模拟出道路环境,如下图:
对于一些特殊的道路标识(例如红绿灯、指示牌等),会给对应的点打上特殊的label(标签)来表示,如下图:
3. 为什么使用高精地图
高精地图是感知、预测、规划和定位等模块的基础,好的高精地图能让这些模块变得更加智能。
① 感知模块
红绿灯识别、车道线识别和障碍物识别是感知模块的三个基本任务。在红绿灯识别任务中,有了高精地图,感知模块只用在当前车道前方有红绿灯的时候才用深度学习去识别,这样一方面可以节省资源占用,另一方面减少了红绿灯的误报漏报;在车道线识别任务中,高精地图能够提供车道数、车道宽度等丰富的信息,帮助车道线识别做的更好;在障碍物识别任务中,高精地图可以辅助更加精确地识别当前车道前方障碍,比如前方车辆,这对于车辆ACC功能(自适应巡航控制)有很大帮助。
② 预测模块
高精地图也可以辅助对道路上其他车辆的轨迹预测,例如如果前方某辆车行驶在实线车道内,可以预测该车辆的变道可能性很小;如果前方车辆行驶在最右侧车道,且前方有高速出口,可以预测车辆有可能驶出高速等。
③ 规划模块
通过高精地图反馈的车道线信息、限速信息、车辆当前位置、坡度信息等,可以实现对车辆行驶速度、变道轨迹、节油驾驶等的规划。
④ 定位模块
高精定位模块更多运用于高精点云地图,如上图,白色的部分为离线生成的点云地图,蓝色的部分为实时采集的车辆行驶位置数据,通过将二者相匹配,实现对车辆更加精准的定位。
4. 高精地图的生成
生成高精地图的过程需要采集大量的数据,我们的采集途径包括:GNSS(全球导航卫星系统)、IMU(惯性测量单元)、轮速计、激光雷达点云以及摄像头图像。其中,GNSS可以提供车辆的绝对坐标,IMU和轮速计可以提供车辆的相对位置信息,激光雷达点云和摄像头可以提供车辆周围的三维环境信息。
数据采集完毕后,需要对数据进行预处理,包括数据抽取、时间对齐、图像去畸变和点云去畸变等过程。时间对齐可以将所有所得数据统一到同一时刻,进行数据融合;图像去畸变可以减少图像本身的伸缩和旋转,使图像数据更加精准;点云去畸变可以减少激光雷达转动带来的误差。
之后,利用深度学习的方法对数据进行语义信息提取,提取信息包括地面、车道线、红绿灯、道路标牌、电线杆和车辆等信息,如下图:
提取完毕后,需要对每一帧的点云数据进行位姿优化,使叠加后的点云数据更准确。优化过程主要基于SLAM-Based Bundle Adjustment,首先,明确优化目标,包括每一帧的位姿信息,车辆的位置和朝向等;之后,需要定义优化的约束,将优化后数据与原数据差距、相邻帧重投影误差等控制在较小范围内;最后,使用梯度下降、LM算法等进行求解。
优化后,即可进行点云叠加,生成高精点云地图。
在高精点云地图的基础上,还可以通过建立好的车道线模型,自动生成高精拓扑地图。
最后,为了提高地图的实用性,需要进行人工验证,为地图增加车道线和道路分隔线等。
5. 高精地图面临的挑战
高精地图的生成过程中,由于道路情况千差万别,会带来很多困难和挑战,例如长隧道的生成。
上图中,左图是一张长隧道的道路图像,在隧道中,GNSS信号较弱,驶出隧道时,GNSS信号也会有很大的跳变,所以,收集的数据会有很大的误差。中间的图是位姿优化后的轨迹。右图是隧道出口和内部的点云地图。
▌高精定位技术
在自动驾驶的过程中,高精定位需要满足高精度、高频低延迟、高可用性、高可靠性的要求。目前使用的高精定位方法有:卫星定位、高精地图定位和融合定位的方法,接下来将分别介绍这三种方法的实现和特点。
1. 卫星定位
卫星定位算法的原理是:在车辆行驶的某一位置,可以接受到各个卫星的信号,通过对该位置和各个卫星之间距离的解算,就可以得到该位置的坐标。但是,在收集卫星信号的过程中,会受到电离层和对流层的影响,产生时延等误差,导致米级别的定位误差。为了将误差缩小,需要利用RTK载波相位差分技术进行定位修正,即通过寻找离当前位置较近的、已知精确位置基站,通过接受基站数据,对卫星数据进行修正。
卫星定位算法利用的是实时信号, 具有开阔场景厘米级别精度、开阔场景精准定向等优点,但对周围环境要求较高,对RTK信号依赖较大。
2. 高精地图定位
高精地图定位的原理如上图,对于离线地图,将其转变为瓦片地图,提取车辆所在位置周围的地图信息并进行体素化,转变为离散化的体素地图;对于车辆行驶过程中收集的在线点云数据,对其特征提取之后进行离散化。最后,通过对离线数据和在线数据的匹配,生成定位结果。
高精地图定位不依赖卫星信号,精度较高,但是具有依赖高精地图质量、依赖车辆周围环境等局限。
3. 融合定位
为了使高精定位满足高精度、高频低延迟、高可用性、高可靠性的要求,我们将以上两种定位方法融合使用,产生了融合定位算法。在融合定位算法中,需要同时接收卫星定位结果、高精地图定位结果、IMU数据和轮速计数据,进行融合定位和融合测距。
融合过程利用了两种方法:EKF ( Extended Kalman Filter ) 和 ESKF ( error-state Kalman Filter )。融合定位分为预测和更新两个步骤:在收到传感器数据前,使用离线信息对车辆位置进行预测,接收数据后,利用在线数据进行定位修整。
4. 高精定位面临的挑战
在实际的行驶过程中,可能会遇到一些特殊情况,如下图:
道路附近树木或高楼会对卫星信号产生一定程度的遮挡,使卫星定位产生误差,而堵车情况导致的行驶环境,又会使离线抽取的环境地图产生误差。在这种情况下,卫星定位结果和高精地图定位结果都不准确。如何解决这类特殊情况,就是高精定位过程中面临的困难和挑战。
今天的分享就到这里,谢谢大家。
PS:欢迎加入DataFunTalk自动驾驶交流群,跟同行零距离交流。如想进群,请加逃课儿同学的微信 ( 微信号:DataFunTalker ),回复:自动驾驶,逃课儿会自动拉你进群。
分享嘉宾
▬
王维
智加科技 | 技术专家
友情推荐:
智加科技多岗位热招中,关注“智加科技AI”,即刻投递简历:
——END——
文章推荐:
推荐关注:
识别下方二维码,关注 "DataFunTalk" 并设置成☆星标,第一时间,查看最新干货文章。
DataFunTalk:专注于大数据、人工智能技术应用的分享与交流。
一个在看,一段时光!👇