apollo_logo
2
0

高精度地图制作(三)

高精度地图主要用于无人驾驶路径规划,还可以应用于无人驾驶定位,ROI区域过滤等。接下来我们主要来看如何制作高精度地图。

高精度地图制作流程

高精度地图的制作过程分为4个步骤:

  1. 地图采集
  2. 点云地图制作
  3. 地图标注
  4. 地图保存

如图1所示,接下来我们会具体分析每个步骤。

图1 高精度地图制作流水线

1. 地图采集

地图采集是由装备有激光雷达、相机、GPS、IMU等传感器的数据采集车采集完成的,如果没有采集设备,我们也可以直接采用开源的数据集来进行地图制作,以熟悉整个制图流程。

我们采用开源的KITTI[1]数据集来获取原始数据,后续我们会更新推荐的采集设备。图2是高精度地图采集车。

图2 高精度地图采集车

2. 点云地图制作

点云地图的制作主要是把采集好的数据进行加工,我们采用激光雷达数据来进行点云地图的制作。制作的过程简单的来说就是通过激光雷达来扫描整个街道,以建立整个街道的三维模型。因为激光雷达的扫描范围有限,因此我们需要逐帧把激光雷达的数据拼接起来,来获取整个街道的模型,这个过程也被称为点云注册。图3是拼接好的点云地图。

图3 点云地图

目前有2种方法实现地图制作。

  1. Autoware NDT mapping. 采用开源社区Autoware提供的NDT mapping[2]可以实现点云的拼接,从而得到整个街道的三维模型。
  2. 各种离线SLAM建图方法。

目前可以参考的基于激光雷达的SLAM建图方法如下:

  • LOAM
  • Cartographer
  • hdl_graph_slam
  • blam
  • A-LOAM
  • LeGO-LOAM
  • LIO-mapping
  • interactive_slam

这里有一篇NDT的地图构建和定位写的非常好。

LitoNeo:自动驾驶系列:激光雷达建图和定位(NDT)202 赞同 · 130 评论文章

3. 地图标注

地图标注是在点云地图的基础上,标注出车道线信息、交通标志信息、红绿灯信息等,得出道路的结构化信息。无人驾驶规划控制模块会利用这些道路结构化信息完成路径规划。地图的标注目前主要是依赖人工完成的,当前地图标注主要面临以下2个挑战。

  • 传感器融合- 由于激光雷达采集的点云数据比较稀疏,并且没有颜色信息,因此需要把摄像头的信息和激光雷达做融合,之后可以获取更加清晰的信息来识别车道线信息、交通标志信息等。
  • 自动化标注- 采用人工标注的方式无法解决大规模高精度制作的问题,如何实现自动化标注是目前地图标注的主要问题。

通过地图标注工具可以标注出车道线、交通标志、路口、减速带等信息。图4是在点云地图上标注好的高精度地图。

图4 高精度地图标注

4. 地图保存

地图保存主要是把上述标注好的信息保存为固定的格式,目前百度Apollo社区采用的高精度地图格式是Opendrive格式,高精度地图最好采用统一的格式标准,以免地图不兼容。

地图服务商对高精度地图做了一部分扩展,把高精度地图分为3个图层:

  • 地图图层 - 保存道路的结构化信息,这部分信息定义了车道线、交通标志、交通规则信息等。
  • 定位图层 - 保存了原始的点云地图,提取出一些特征如电线杆、建筑物、交通标志等。用来做点云匹配定位。
  • 动态图层 - 实时动态的更新一些信息如:当前路况、实时交通规则、前方车祸等。

原创声明,本文由作者授权发布于Apollo开发者社区,未经许可,不得转载。
发表评论已发表 0 条评论
登录后可评论,请前往 登录
暂无评论~快去发表自己的独特见解吧!
目录
高精度地图制作流程
1. 地图采集
2. 点云地图制作
3. 地图标注
4. 地图保存