概率机器人(Probability Robotics)笔记 Chapter 9: 占据栅格建图(Occupancy Grid Mapping)

1. 简介

前两章讲了定位的概率方法,是一个低维度感知问题,假设地图已知。
但有些情况地图未知,或者不准确。
因此建图可以让部署机器人更容易,也会让机器人更能适应环境变化。
建图是真正的自动机器人的核心竞争力之一。

建图难在:

  1. 假设空间巨大:
    地图定义在连续空间上,因此无限高维度;即使离散化,维度也很高。
    因此贝叶斯滤波的方法不好使。
  2. 建图是一个“鸡-蛋”问题:
    有地图定位很容易,有定位建图也不难;
    但机器人的里程计精度会逐渐降低,因此建图的时候需要同时定位。

影响建图的难度的因素有:
尺寸,感知和执行的噪声,感知模糊度(不同地方的相似度),闭环场景。

本章首先假设定位已知,然后介绍一系列算法,统称为occupancy grids
占据栅格地图课从有噪、不确定的测量数据中构建连续的地图。
其思想是用一个在均匀分布的栅格中的随机变量场来表示地图。
每一个随机变量都是二值的,对应其位置是否被占据。
占据栅格地图算法实现了这些随机变量的后验概率估计。

这种地图的用处在于后加工(post-processing)。
因为SLAM产生的地图不适于路径规划与导航,
因此经常在SLAM之后使用占据栅格地图地图算法。

2. 占据栅格建图算法

目标是计算地图后验 p ( m ∣ z 1 : t , x 1 : t ) p(m|z_{1:t},x_{1:t}) p(mz1:t,x1:t)
由于假设位姿信息已知,因此无需控制信息 u u u

算法使用的是高分辨率的栅格,最常用的领域是二维建筑平面图。
算法也可以泛化至三维,但计算量很大。

把第 i i i个格子记为 m i \bm{m}_i mi
栅格地图由有限多个格子构成,即 m = ∑ i m i m=\sum_i\bm{m}_i m=imi
每个 m i \bm{m}_i mi都可以取两个值,1为占据,0为自由。
表达式 p ( m i = 1 ) p(\bm{m}_i=1) p(mi=1) p ( m i ) p(\bm{m}_i) p(mi)均指格子被占据的概率。

地图后验的问题在于其维度。
解决的标准做法是估计所有小格子的概率,即 p ( m i ∣ z 1 : t , x 1 : t p(\bm{m}_i|z_{1:t},x_{1:t} p(miz1:t,x1:t
这样就不能表征相邻格子之间的相关性,即假设格子间独立:
p ( m ∣ z 1 : t , x 1 : t ) = Π i p ( m i ∣ z 1 : t , x 1 : t p(m|z_{1:t},x_{1:t})=\Pi_i p(\bm{m}_i|z_{1:t},x_{1:t} p(mz1:t,x1:t)=Πip(miz1:t,x1:t

可以使用二项贝叶斯滤波器来估计每个格子的值,参考章节4.1.4。
滤波器中使用log-odds表示,即
l t , i = log ⁡ p ( m i ∣ z 1 : t , x 1 : t ) 1 − p ( m i ∣ z 1 : t , x 1 : t ) l_{t,i}=\log\frac{p(\bm{m}_i|z_{1:t},x_{1:t})}{1-p(\bm{m}_i|z_{1:t},x_{1:t})} lt,i=log1p(miz1:t,x1:t)p(miz1:t,x1:t)
这种表达的优点是可以回避逼近0值或1值时的数值不稳定问题。
由log-odds ratio计算概率表达式:
p ( m i ∣ z 1 : t , x 1 : t ) = 1 − 1 1 + exp ⁡ { l t , i } p(\bm{m}_i|z_{1:t},x_{1:t})=1-\frac{1}{1+\exp \{l_{t,i}\}} p(miz1:t,x1:t)=11+exp{ lt,i}

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值