上一篇博客 "无人车路径规划算法—(1)算法体系综述 " 中介绍了无人车路径规划通常采用的"前端生成路径->后端平滑优化"的pipeline,本文将为大家介绍路径规划算法常用地图格式,文章主要分为以下三个模块:
- 常用地图格式
- 栅格地图
- 拓扑地图与高精度地图
生成一个随机二维栅格地图方法的代码将开源在博主github主页
地图(MAP)
无人车的规划模块是联通感知模块,定位模块与控制模块的中间模块(架构图见图一),因此,基于搜索的规划算法通常是在能够包含无人车自身定位信息以及周边环境信息的数据结构体中进行运算,这种能够体现无人车周边环境信息的数据载体统称为地图(MAP),在介绍搜索具体的搜索算法之前,需要先引入搜索地图的概念以及常用的地图类型。
本部分将重点说明以下四种常见形式:
- Point Cloud Map(点云地图)
- Metric Map(度量地图)
- Topological Map(拓扑地图)
- Semantic Map(语义地图)
1. Point Cloud Map(点云地图)
说到自动驾驶的地图,大家常最先想起的就是激光雷达给出的点云地图,但是原始点云地图通常不会被拿来进行路径规划使用,主要是由于以下原因:
- 点云地图通常规模很大,需要大量的存储空间,同时点云地图提供了很多不必要的细节
- 处理多个点云重叠处的效果不好
因此,需要利用costmap或者octomap进一步的处理(见第二部分)。
2. Metric Map(度量地图)
度量地图框架是最常见的框架,它考虑的是目标对象的二维空间。用精确的坐标表示目标对象以及各个目标之间的相对关系。这种表示方法非常有效,但其对噪声敏感,并且很难计算距离精度。譬如在地图中,北京可以用固定的经纬度来表示,上海可以用另一个固定的经纬度来表示,两者之间的距离可以通过各自的经纬度推算出来。
通常我们用稀疏(Sparse)与稠密(Dense)对它们进行