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

本文介绍了在已知定位情况下,如何利用占据栅格建图算法构建地图。占据栅格地图通过随机变量场表示连续地图,每个变量表示对应位置的占据概率。算法涉及多传感器融合、学习逆测量模型以及最大后验估计。逆测量模型通过样本生成和函数近似进行学习。最大后验占据栅格建图考虑了格子间的相关性,但存在局部最优和不确定性计算的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 简介

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

建图难在:

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

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

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

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

2. 占据栅格建图算法

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

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

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

地图后验的问题在于其维度。
解决的标准做法是估计所有小格子的概率,即p(mi∣z1:t,x1:tp(\bm{m}_i|z_{1:t},x_{1:t}p(miz1:t,x1:t
这样就不能表征相邻格子之间的相关性,即假设格子间独立:
p(m∣z1:t,x1:t)=Πip(mi∣z1:t,x1:tp(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表示,即
lt,i=log⁡p(mi∣z1:t,x1:t)1−p(mi∣z1:t,x1: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(mi∣z1:t,x1:t)=1−11+exp⁡{ lt,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}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值