zoukankan      html  css  js  c++  java
  • 高精度地图

    高精度地图

    • 什么是高精地图

      • 这时就需要高精地图了,高精地图是当前无人驾驶车技术不可或缺的一部分。它包含了大量的驾驶辅助信息,最重要是包含道路网的精确三维表征。
      • 高精地图还包含很多语义信息,地图上可能会报告交通灯不同颜色的含义,也可能指示道路的速度限制,及左转车道开始的位置。
      • 高精地图最重要特征之一是精度,手机上的导航地图只能达到米级精度,而高精地图可以使车辆能够达到厘米级的精度,这对确保无人车的安全性至关重要。
      • 第二个特征是实时性。实时性是非常关键的指标,因为自动驾驶完全依赖于车辆对于周围环境的处理,如果实时性达不到要求,可能在车辆行驶过程中会有各种各样的问题及危险。
    • 导航地图和高精地图的一些区别

      • 高精地图更类似于自动驾驶的专题组,但国内可能为了称谓方便还是称它为高精地图。高精地图并不是特指精度,它在描述上更加的全面,对实时性的要求更高。
      • 经常用到的一些电子导航地图,它的表述形式倾向“有向图”结构,把道路抽象成一条条的边,各边连通关系构成整体上的有向图。这类似百度地图、高德地图、谷歌地图的做法。
      • 导航地图只是给驾驶员提方向性的引导。识别标志标牌、入口复杂情况、行人等都是由驾驶员来完成,地图只是引导作用。导航地图是根据人的行为习惯来设计的。
      • 高精地图完全为机器设计的。因为对于道路的各种情况、人都能理解,但是对于车辆来说它完全不理解。
      • 高精地图可以作为自动驾驶的「大脑」。「大脑」里面最主要是地图、感知、定位、预测、规划、安全。综合处理成自动驾驶车辆能接受的外部信息,并统一运行在实时的操作系统上。
    • Feature

      • 感知后是Feature提取,提取之后可以通过特征匹配最终得到精确结果。
      • 道路上的Feature是非常多的,除了树以外,也可能是车道线。
      • 高精地图里面由定位提供的Feature有很多,例如电线杆、车道线、停止线和人行横道等都能提供很多的约束信息。
    • 规划

      • 自动驾驶车辆在行驶过程中面临动态环境。其中包括道路交通的参与者,比如其他车辆和行人。我们要根据障碍物的实时位置及时地做局部规划。
      • 高精地图的规划是Lean级别的,传统导航只需知道点到点的信息。对于高精地图而言,规划需要知道从哪个Lean到哪个Lean,是一系列Lean的序列。
    • 仿真系统

      • 实际情况中,开发者很难把所有的策略迭代都放在车上去测试,所以需要非常强大的仿真系统。
      • 仿真的主要问题是「真实」
      • Apollo的仿真系统主要是基于高精地图/真实场景来构建。仿真场景回放后,和真实上路的实际情况相比,可以基本保证Gap不会很大。
      • 在实际测试的过程中,Apollo的测试人员也会录一些Bag,记录实测中遇到的一些问题,并放到仿真系统里去做测试。
      • 高精地图为仿真地图提供了最底层的基础结构,能让仿真系统更好的去模拟真实道路的场景。
    • 高精度地图的建立

      • 传感器和算法相结合,自动驾驶汽车才能生成可用的高精地图
      • 高精地图采集所需要的传感器主要有GPS、IMU、轮速计三类
        • GPS:GPS在城市中定位的平均偏差在50米左右,空间点位置的计算过程中,经常要检测四颗或四颗以上卫星,才能实现精确的定位,在空旷地带的GPS更精确。
        • IMU:IMU(惯性测量单元)是自动驾驶汽车的标配,IMU是测量三轴加速度的一个装置,通过算出积分,得到任意两帧间的相对运动。实际工作中,由于不可避免的各种干扰因素,如果不对该运动加以校正,IMU的误差会就随着时间的推移变得越来越大 。
        • 轮速计:轮速计本身存在缺陷,由于车型不同、交通环境不一样,路面的摩擦系数也不一样 ,就会导致轮速计统计结果的差异
      • 制图方案:
        • 方案A:
          • 激光雷达通过发射和接收激光光束得到两点之间的距离,因此其精确度非常高
          • 各个传感器都存在一定的缺陷,我们无法仅运用单一的传感器,采集出一个精确的数据
          • 通过将GPS、IMU和轮速计测出的数据进行融合,再运用Slam算法,对Pose进行矫正,最终才能得出一个相对精确的Pose
          • 最后把空间信息通过激光雷达扫描出三维点,转换成一个连续的三维结构,从而实现整个空间结构的三维重建
          • 通过扫描的激光点和GPS、IMU的测量数据综合运用,能够计算出一个预测结果与实际结果最小差距的数值信息
        • 方案B:
          • 激光雷达采集的信息非常精确,但它采集的信息非常少
          • 目前主流自动驾驶研发公司,如百度,采用的是Camera融合激光雷达的方案
          • 通过融合二者的优势,综合运用丰富的图像信息和精确的激光雷达数据,最终得出一个非常精确的高精地图
    • 高精度地图格式规范

      • 目前最主流的通用格式规范分NDS和OpenDrive两种。此外还有日本OMP公司的格式规范。
      • DNS格式规范:
        • NDS是一种非常全面的地图表述方式。由于其数据库可以细分和运用了Level两种技术,NDS对地图的格式规范做得非常到位。
        • NDS有上百页格式文档,因此NDS把数据库做了细分,每个细分后的产品都能够独立更新升级。
        • 其最典型表现是一个NDS不仅包括基本导航技术数据、B公司的POI数据(即地图上的一个点,地图上每一家商家店铺都可以被称之为一个POI数据点),还支持局部更新,即使是对一个国家或者省市的相关内容进行局部更新,都十分便捷。
        • 为了方便用户,NDS还提供语音、经纬度等描述功能。
        • NDS中另外一个非常重要的概念叫做Level(尺度),其含义类似于传统手机地图功能中的比例尺。
        • 通过放大或缩小比例尺,来浏览全国或某个区域、某栋楼的地图信息。
        • 分块技术作为地图领域中一项普遍通用的技术,也被应用到Level中。
        • 由于地图的范围非常大,利用Level把整个地图切成一个又一个的小格子,在每个小格子中填充数据。
        • 当我们在使用百度地图或高德地图时,这些小格子显而易见。
      • OpenDrive格式规范:
        • OpenDrive是目前国际上较通用的一种格式规范,由一家德国公司制定
        • 在运用OpenDrive格式规范表述道路时,会涉及Section、Lane、Junction、Tracking四个概念
        • 一条道路可以被切分为很多个Section,按照道路车道数量变化、道路实线和虚线的变化、道路属性的变化的原则来对道路进行切分
        • 基于Reference Line,向左表示ID向左递增,向右表示ID向右递减,它是格式规范的标准之一,同时也是固定的、不可更改的
        • Junction是OpenDrive格式规范中的路口概念。Junction中包含虚拟路,虚拟路用来连接可通行方向,用红色虚线来表示
        • Tracking的坐标系是ST,S代表车道Reference Line起点的偏移量,T代表基于Reference Line的横向偏移量
    • 业内高精地图产品

      • HERE:

        • 特点:更新很快
        • 地图更新流程
          • HERE采集车,集成了16线激光雷达+ Camera + RTK天线+IMU。
          • 利用采集车来采集基础地图,Base Map
          • 车端通过Sensor进行信息采集(可认为一种视觉方案),可对点、道路、标志标牌通过Feature进行提取,可有效帮助我们更快的对地图进行更新。
          • HERE有很好基础优势。作为一家传统图商,他的用户基数可以保证地图以更快的速度和形式更新。
      • Mobile Eye

        • 感知:Mobileye的软件可以进行传感器融合。
        • 映射: 使用众包的策略,让用户能低成本地构建和快速更新高清地图。
        • 驾驶策略:学习和共享人类司机的驾驶策略。
        • REM 系统 : 提供实时匿名众包的汽车数据,用于高精度地图的制作和使用。
        • REM 的解决方案
          • 采集器
          • 云端
          • 自动驾驶车辆
      • Google

        • 本质:为无人驾驶提供一个科运行的静态环境
        • 研究团队认为,仅仅只有矢量数据是不够的,栅格形式的高精地图可以记录更多信息
          • 道路上所有物体信息
          • 可以将静态地图上不存在的动态物体自动过滤,降低识别难度。
        • 制图技术
          • 激光雷达与视觉融合
  • 相关阅读:
    三国演义中的十大谎言 VS 程序员十大口头禅
    Node.js 的单线程事件驱动模型和内置的线程池模型
    为了让医院把医护还给患者,他们用了这个…
    华为云数据库内核专家为您揭秘:GaussDB(for MySQL)并行查询有多快?
    brew
    Python
    Python
    Python
    AtCoder Beginner Contest 215 (个人题解 A~F)
    AcWing 第 13 场周赛  补题记录
  • 原文地址:https://www.cnblogs.com/HexQwQ/p/13374319.html
Copyright © 2011-2022 走看看