占据栅格地图(Occupancy Grid Map)(与SLAM构图有关)

Posted 拔出萝卜带出土豆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了占据栅格地图(Occupancy Grid Map)(与SLAM构图有关)相关的知识,希望对你有一定的参考价值。

本文来自Coursera(Robotics:Estimation and Learning)

主要讲:机器人世界使用的几种地图

    占据栅格地图的表示方法与更新方法

    利用激光传感器数据构建占据栅格地图

1、机器人地图分类

  尺度地图:坐标、经度纬度等

  拓扑地图:用于路径规划

  语义地图:用于人机交互

2、栅格地图

  机器人常用的一种地图表示法。

  机器人经常使用激光传感器,但是并不能稳定的观测一个点的距离,比如一个角度下,检测到障碍物时4m,但是下一刻检测的是4.1m,我们不能将两个距离的位置double认为是障碍物,所以我们要采用栅格地图。

  对一般的地图来讲,地图上某一个点要么有障碍物要么没有,但是在栅格地图中,对于一个点我们把他是空free的概率表示为p(s = 1),有障碍物表示为p(s = 0),两者的概率和为1.

  两个值表达比较麻烦,因为稍后我们可能根据概率把这个点定位占据状态或者空闲状态,我们就用两个概率的比值表示就可以。

  技术分享图片,这就是表示空的概率比上占据概率,整个值越大,空概率越高。

  对于一个点,现在,来了一个新的测量值技术分享图片,测量值也在这个点上有概率计算。

  那么比值公式可以更新一下:

  技术分享图片,在新的测量事件下,空的概率,占据的概率,比值大小。

  根据贝叶斯公式,

 

技术分享图片

  代入比值公式:

  技术分享图片

  通过取对数化简一下:

    技术分享图片

  (个人意见,其实取对数挺好的,之前比值范围是0-无穷,两比值相等的时候是1,现在取完对数后,值范围是负无穷到正无穷,0为中间值)

  上面那个含有测量值的项称之为测量值模型,标记为lomeas,测量值的模型有两种,占据和非占据,都为定值:

  技术分享图片技术分享图片

  一句话就是位置S的状态,之前的加上lomeas等候之后的S状态。

  在没有任何测量下,一个点的初始状态

  Sinit=logOdd(s)=log(0.5/0.5)=0;

  经过这样一些数学处理后,一个点得状态我们只需要做简单的加减法就可以了。

  每一次扫描激光后,每个格子的概率叠加,每个格子概率越大越是占据状态,越小越是空余状态。

3、利用激光传感器构建占据栅格地图

  这段讲利用激光传感器构建栅格地图的细节;

 

 

 

 

 

  

 

以上是关于占据栅格地图(Occupancy Grid Map)(与SLAM构图有关)的主要内容,如果未能解决你的问题,请参考以下文章

cartographer_occupancy_grid_node provide a bad map for ros-navigation #864

SLAM---地图

基于A*的栅格地图路径搜索

绘制二维障碍栅格地图的一种方法1(局部地图的绘制)

ros 栅格地图保存与发布

ros 栅格地图保存与发布