datetime:2023/10/09 11:03
author:nzb

该项目来源于大佬的动手学ROS2

1.图像常见格式及存储

在日常生活中,我们会用到各种各样的地图,比如交通轨道图、城市地图、世界地图。

1.地图分类

我们根据地图所表达信息的不同可以将地图分为三类:

1.1 尺度地图(Metric Map)

尺度地图用于表示尺寸距离,可以理解为把真实世界按比例缩小,尺度地图中每个点都可以使用一个经纬值进行表示。

因为尺度地图是按照真实世界按比例缩小,所以要有比例尺来表示缩小比例。

1.2 拓扑地图(Topological Map)

拓扑地图用于表示点与点之间的连接信息,比如地铁轨道交通图。

1.3 语义地图(Semantic Map)

语义地图可以理解为在上面两个地图上增加了语义,比如尺度地图中某处是红绿灯、斑马线。拓扑地图中某个点是深圳北站。

在机器人领域

  • 尺度地图常用于定位于地图构建(Mapping)、定位(Localization)和同时定位与地图构建(Simultaneous Localization And Mapping,SLAM)
  • 拓扑地图常用于路径规划(Path Planning)
  • 语义地图常用于人机交互(Human Robot Interaction)。

2.地图的存储

地图也是图,所以地图一般以图片的形式存储下来,常见的格式比如png就是可以存储ROS2中的二维地图的。

但是对于一些三维的点云图,二维的方式就不怎么好存储,就需要一些特殊格式了,因为我们后面不涉及三维空间建图,这里就不在展开了。


2.占据栅格地图

我们先了解下什么是栅格地图(Grid Map)。

栅格数据集图

如上图将地图数据分割为一块块的栅格来表达地图信息,就是栅格地图。

那什么是占据(Occupancy)呢?

机器人通过激光雷达等传感器来感知深度信息,但我们知道,传感器都是有噪声的(在前面的机器人仿真建模过程中,我们为了更加真实给激光雷达还添加了高斯噪声),所以机器人前方的某个位置到底有没有物体(障碍物)是不确定的。

我们可以采用概率来解决这一问题,认为确实有物体的栅格的占据率为100%,确定没有物体的栅格占据率为0%,不确定的栅格就用(确认占据概率/确认非占据概率)值表示占据率。

由此我们知道占据栅格地图就是一张写满占据率的格子组成的地图

image-20220506134542099

我们在做机器人的路径规划的时候,需要确定一个格子是有障碍物?没障碍物?还是未知呢?所以我们一般会设定两个阈值:

  • 占据阈值(occupied_thresh),比如0.65,则表示栅格占据率大于0.65的认为是有障碍物。
  • 空闲阈值(free_thresh),比如0.25,则表示栅格占据率小于0.25的认为没有障碍物。

那在free_thresh和occupied_thresh之间的则认为是未知区域(未探索)。


results matching ""

    No results matching ""