zoukankan      html  css  js  c++  java
  • 高精地图技术分析

    高精地图技术分析

    一.概述

    高精地图和定位是自动驾驶系统中的重要基础模块,地图的质量和定位的结果会直接影响其它模块的功能,进而决定整个自动驾驶系统的好坏。本次分享将介绍智加科技在高精地图和定位领域的探索。

    什么是高精度地图?

    高精度地图,通俗来讲就是精度更高、数据维度更多的电子地图。精度更高体现在精确到厘米级别,数据维度更多体现在其包括了除道路信息之外的与交通相关的周围静态信息。

    高精度地图作为实现自动驾驶的关键能力之一,其将成为对自动驾驶现传感器的有效补充,为车辆提供了更加可靠的感知能力。与传统的导航地图相比,服务于自动驾驶的高精度地图在各方面要求更高,并能配合传感器和算法,为决策层提供支持。

    针对高精度地图,利用高精度地图匹配可将车辆位置精准的定位在车道上,从而提高车辆定位精度;对传感器无法探测的部分进行补充,实时状况的检测与外部信息的反馈,同时获取当前位置精准的交通状况;高精度地图在云计算的辅助下,能够有效地位自动驾驶汽车提供最新的路况,帮助自动驾驶重新制定最优路径。

     

     在西部数据产品营销总监张丹看来,自动化给高精地图带来的影响不言而喻。不过,高精地图具备两个基础属性:第一预测性,这是地图的一个基本属性,通过以地图为基础和载体,去融合其他的技术,从而预判出未到达的地点将会发生什么样的状况;第二参考性,是指地图信息作为其他决策的参考基准。

    在自动驾驶的时候,所有判断从人的手里转移到机器的手里。在这个过程中,自动驾驶地图完成的不仅仅是地图的决策,是在辅助自动驾驶如何完成自动驾驶行为的地图服务。

    高精度定位对自动驾驶的重要性

    与高精度地图一样,高精度定位对自动驾驶也尤为重要。定位技术是自动驾驶的关键核心,通过对自动驾驶技术框架进行分析,可知有三个关键因素:感知层、决策层、控制层,其中感知层是由电子地图和传感器信息组成,电子地图包含传统的导航、导航电子地图数据和高精度电子地图数据;决策层通过传感器的数据和传感器信息,对车辆进行定位,对路径进行规划,对环境进行理解,对车的行为进行预测;针对车的行动进行规划,从而代替驾驶员通过控制层的电子驱动,对车辆进行控制,从而逐步实现自动驾驶。

    从定位的技术发展来看,分为三代,第一是GNSS定位,基于卫星定位技术,提供10米精度的定位能力;第二是惯导定位,目前前装导航采用惯导定位的技术;第三是高精度定位,基于视觉传感器,毫米波雷达,激光雷达等,提供亚米级到厘米级定位能力。

    因此,精准的定位是自动驾驶的基础也是核心,缺少精准的定位,自动驾驶可能会出现失误。

    要让自动驾驶车辆安全的行驶,必须要在全工况下提供出准确安全可靠的定位结果,因此高精地图解决方案是基于卫星定位和特征定位互为冗余和补充的定位结果。

    为什么必须是二者互为补充和冗余的,对卫星定位来说,卫星信号有自己固有的弊端,比如在隧道里,卫星信号会被遮挡,没有办法正常使用,或者因为多路径效应,卫星定位的性能也会受到一定的影响,然而在此时,特征定位可靠性是可以保障的。那么相对应的另外一些场景,比如很恶劣的天气情况,严重的雨雪天气,视觉定位受到影响。一些西部地区或者有一些路段基础特征,比如路边的道路边界信息不是很清晰,特征定位性能会有所影响。此时,卫星定位依旧可以发挥它的优势。

    而在V2X应用中, 一个在复杂城市环境下的可靠定位是非常重要的, 实时的位置输出也很关键。那么,为什么说高频率低延时位置更新很重要呢?比如在一个路口, 车要并道了, 它会查看主车道上上车的位置信息,看看是不是允许它并道,如果主车道上的位置信息更新的延时是10毫秒, 那么车在报告位置信息的时候, 已经走到这里了, 两个位置差别并不是很大,但是如果时延是100毫秒,那给出来的位置信息的时候车已经跑到这里了,和真实的位置相差比较远,使用这个无效的位置信息有可能会造成比较不好的体验,甚至会导致事故。

    因此,在V2X和ADAS场景下, 非常强调位置信息更新的实时性。

    二.高精地图技术

    相较于普通的电子导航地图,高精地图拥有更高的坐标精度与更丰富的交通信息元素。

     高精地图分为高精拓扑地图和高精点云地图。在上图中,上面两张地图是高精拓扑地图,可以看出,它包含了车道线中心和车道线边线的几何形状,用一句话来总结,高精地图就是:车道级别、厘米精度的道路网络和交通信息地图;下面两张地图是高精点云地图,它使用稠密的点云来模拟现实车道环境,并通过标签来标记特殊点云,反映特殊道路标识等。接下来,我们将分别讲解两种地图技术,以及高精地图技术的优势和生成过程。

    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. 高精定位面临的挑战

    在实际的行驶过程中,可能会遇到一些特殊情况,如下图:

     

    道路附近树木或高楼会对卫星信号产生一定程度的遮挡,使卫星定位产生误差,而堵车情况导致的行驶环境,又会使离线抽取的环境地图产生误差。在这种情况下,卫星定位结果和高精地图定位结果都不准确。如何解决这类特殊情况,就是高精定位过程中面临的困难和挑战。

  • 相关阅读:
    js正则表达式大全(2)
    Magic Trackpad 2 on win10 x64
    Google 日历短信通知没有了
    Ueditor 1.4.3 jsp utf-8版Bug修复
    [转]eclipse中build workspace的相关优化
    Hello,
    EpCloud开发日志
    为服务创建安装程序
    winform 通过WCF上传Dataset数据
    opcrcw.da.dll 和.net 4.0
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/13063538.html
Copyright © 2011-2022 走看看