路径规划中常用的地图结构

对于移动机器人中的地图,常见的数据结构包括:

1.栅格地图

将空间中连续的地图在X、Y轴上(3D地图中还包含Z轴)进行离散化,得到一系列栅格,每个栅格只有占据、空闲和未知三个状态。
3D栅格地图
路径规划中常用的地图结构_第1张图片
2.5D栅格地图
路径规划中常用的地图结构_第2张图片
栅格地图结构化且有序,可以直接使用位置索引查询位置状态,查询的时间复杂度为O(1),其工具箱参考地址为:栅格地图

2.八叉树

使用一种递归、轴对齐且空间间隔的数据结构。假设空间为一个立方体,立方体中有一个小障碍物,将立方体分成八个小立方体,对包含障碍物的地方体急需进行分割,直到达到我们想要的精度为止。当某个节点的所有子节点状态统一时,可以讲它和它的子节点全部剪掉,可以极大的减少占用的内存空间。
路径规划中常用的地图结构_第3张图片
八叉树要按照树的结构进行递归查询,工具箱参考地址:八叉树

3.Voxel Hashing

将当前空间的x、y、z通过哈希函数映射为哈希键值。通过哈希表存储地图的block,每个block可以划分为更为精细的voxel,voxel可以表示障碍物。
路径规划中常用的地图结构_第4张图片
工具箱参考地址为:VoxelHashing

4. 点云

点云是通过传感器得到的一系列点的集合,属于无序地图,可以表示稠密障碍物的信息,无法通过索引进行查询。
路径规划中常用的地图结构_第5张图片
点云数据集开源库:PCL

5.TSDP map

TSDP(Truncated Signed Distance Functions) 表示截断的有符号距离函数。如图所示,曲面外部为正值,内部为负值,并且可以利用距离的大小进行截断。
路径规划中常用的地图结构_第6张图片
工具箱地址:TSDF

6.ESDF map

ESDF(Euclidean Signed Distance Functions)表示欧式有符号距离函数,当TSDF不进行阶段时,即为ESDF。
工具箱:ETH的voxblox
港科大的[FIESTA]https://github.com/HKUST-Aerial-Robotics/FIESTA)

你可能感兴趣的:(路径规划)