高精度地图制作1

Posted 小葵向前冲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高精度地图制作1相关的知识,希望对你有一定的参考价值。

1. 高精地图简介

1.1 高精地图介绍

高精地图即为“两高一多”的地图,在自动驾驶中常常被称为HapMap,这是自动驾驶汽车中非常重要的一部分

  • 高精度:精度可以达到厘米级别
  • 高动态:高精地图实时性,为了应对各类突发状况,自动驾驶车辆需要高精地图的数据具有较好的实时性
  • 多维度:地图中不仅包含有详细的车道模型、道路部件信息,还包含与交通安全相关的一些道路属性信息,例如GPS信号消失的区域、道路施工状态等

1.2 传统制作流程

采集、加工、转换

采集

需要一些传感器来获取数据,下面是需要的传感器列表:

  • lidar、摄像头、gnss、imu
lidar主要是来采集点云数据,因为激光雷达可以精确的反应出位置信息,所以激光雷达可以知道路面的宽度,红绿灯的高度,以及一些其他的信息,当然现在也有厂家基于视觉SLAM(纯摄像头测距)来制作地图的,有兴趣的也可以看下相关介绍。
摄像头主要是来采集一些路面的标志,车道线等,因为图像的像素信息更多,而位置信息不太精确,所以采用摄像头来识别车道线,路面的一些标志等。
gnss记录了车辆的位置信息,记录了当前采集点的坐标。
imu用来捕获车辆的角度和加速度信息,用来校正车辆的位置和角度。

加工

对于采集到的点云数据需要进行加工生成点云地图。

主要算法:

  • ICP
  • NDT

基于以上算法把点云姿态进行融合。

转换

点云地图校准 -> 地图标注加工 -> 高精度地图

高精地图的图层:

  1. 地图图层 地图图层主要是道路的信息,比如道路的路沿,车道线,路口信息,主要是道路的一些基本信息。
  2. 定位图层 定位图层主要是具备独特的目标或特征,比如红绿灯,交通标志,道路的点云数据等。
  3. 动态图层 动态图层主要是一些实时路况,修路或者封路等需要实时推送或者更新的数据。

对于生成的高精地图,需要转换成为通用的自动驾驶系统可以使用的高精度地图。

  • apollo
  • opendrive
  • 等等

1.3 自动驾驶地图框架

1.3.1 Apollo OpenDrive(百度)

1.3.2 Lanelet2(Autoware)

2. 高精地图制作流程

高精地图是一种语义地图,概括地说,就是利用SLAM/SFM等算法融合多种传感器数据,构建高精度的三维点云地图,在点云地图上或者是图像上,对所用到的元素进行分类和提取、之后对不同元素分别进行矢量化并构建路网与车道关联关系,最后进行质量校验,形成一套地图引擎来存储并支撑其他模块的需求。

方法一:手动标注

大致思路:

  1. 生成一张点云地图(已有)
  2. 采取手工标注点云地图的方法来制图

一些手工标注工具:

  • RoadRunner (推荐,功能比较齐全)
  • LGSVL Map Annotation(windows Unity 插件版,需要手动编译)
  • Autocore MapToolBox插件
  • Assure mapping tools
  • 51VR、四维图新等高精地图地图服务提供商(收费)

方法二:自己写代码

针对于只要道路的高精地图(铁路、隧道)

  • Apollo:map_gen工具

一些参考:
王方浩—高精地图制作
自动驾驶高精地图调研

以上是关于高精度地图制作1的主要内容,如果未能解决你的问题,请参考以下文章

LaneLoc:基于高精地图的车道线定位

[搬运]自动驾驶中的单目 3D 车道线检测——综述

OpenDrive格式的高精度地图

OpenDrive格式的高精度地图

Apollo planning模块

自动驾驶高精地图调研