栅格地图由于其机构简单,在导航中又大量的应用,但其缺点是当地图较大,分辨率较小时会占用大量的内存。以下将针对这个问题对栅格地图进行处理,减少内存消耗的问题。

栅格地图

通常栅格地图将地图划分为大小相同的正方形网格,每个格子用不同的数值表示占据和空白状态,栅格地图如图1所示。

通常可以使用一个二维数组存储栅格地图,这样栅格地图的读取就非常快速方便,但其缺点就是如果栅格地图分辨率太高(格子太多),很明显二维数组的长度就会越大,占用越多的存储空间。通常地图中的障碍物比较稀少,大量的空白区域消耗了太多存储空间,以下将介绍一种分层地图的思想降低栅格地图的存储空间。

分层地图

分层地图的思想为:用一个低分辨率的栅格地图表示整体地图,如果低分辨率网格地图的格子中有障碍物,就将此格子划分成一个高分辨率的网格,示意图如图2所示。

在分层地图中,用小网格的分辨率表示分辨率,大网格由于是空白区域,只用一个状态表示,节省了存储空间。
在图2中,如果每个格子(包括大网格和小网格)的状态用一个字节表示,分层地图需要41个字节的存储空间,如果使用普通的栅格地图,则需要81个字节的存储空间。

注意事项

  1. 对于同一张地图,存储空间的大小与大网格的大小有关,且存在最优值,可通过穷举的方式寻找出最优值;
  2. 当地图中的障碍物比较密集时,此方法无法减少存储空间;
  3. 此方法与四叉树地图有相似的地方,但遍历、建立的过程都比四叉树地图简单,也比较直观;
  4. 通常只分两层,也可分多层更进一步减少存储空间;