《概率机器人》读书笔记-第六章-机器人感知模型:波束、似然场与地标
运动模型解决了"机器人怎么动",观测模型则回答另一半问题:给定机器人位姿,传感器读数服从什么分布?它决定测量更新的质量,直接影响定位精度与鲁棒性,值得关注。本文围绕测距仪与地标两类传感器,拆解波束模型、似然场模型与地标模型的构造思路、优缺点与选型建议,帮你为定位与 SLAM 系统选好测量更新模块。
前置知识:第二、三、四章的测量更新;第五章运动模型。
后续衔接:第 7 章马尔可夫定位直接调用本文的观测模型。
核心知识点
6.1 观测模型的角色
观测模型回答:给定机器人在状态 xtx_txt,传感器读数 ztz_tzt 的概率分布是什么?
p(zt∣xt)或含地图时p(zt∣xt,m)p(z_t \mid x_t) \quad\text{或含地图时}\quad p(z_t \mid x_t, m)p(zt∣xt)或含地图时p(zt∣xt,m)
第二、三章的测量更新都用它作为似然。本文的任务,就是为不同传感器分别构造这个分布。
6.2 测距仪(激光/声呐)波束模型
激光/声呐返回一个或一束距离值 zt=zz_t = zzt=z。波束模型把一次测量分解为四种物理过程的混合高斯:
| 成分 | 含义 | 分布 |
|---|---|---|
| phitp_{\text{hit}}phit | 正确打到障碍物 | N(z; zt∗,σhit2)\mathcal{N}(z;\,z_t^*, \sigma_{\text{hit}}^2)N(z;zt∗,σhit2),截断在 [0,zmax][0,z_{\max}][0,zmax] |
| pshortp_{\text{short}}pshort | 提前反射(人/玻璃) | 指数分布,截断在 [0,zt∗][0,z_t^*][0,zt∗] |
| pmaxp_{\text{max}}pmax | 未检测到障碍物(无回波) | 在 zmaxz_{\max}zmax 处的点分布 |
| prandp_{\text{rand}}prand | 完全随机噪声 | [0,zmax][0,z_{\max}][0,zmax] 均匀 |
其中 zt∗z_t^*zt∗ 是从位姿 xtx_txt 与地图 mmm 通过光线投射得到的预期距离。
p(z∣xt,m)=∑iwi pi(z∣xt,m),∑iwi=1p(z\mid x_t,m) = \sum_i w_i\, p_i(z\mid x_t,m),\qquad \sum_i w_i = 1p(z∣xt,m)=i∑wipi(z∣xt,m),i∑wi=1
直觉:每条激光回波可能来自正确反射、意外遮挡、丢失或随机噪声,用四个权重混合表达这种不确定性。权重 wiw_iwi 反映各情况的发生比例。
优点与缺点
- 优点:物理含义清晰,能处理反射、丢失等异常。
- 缺点:需做光线投射(计算昂贵),且对地图栅格分辨率敏感;平滑性差(zzz 微小变化导致 ppp 跳变)。
6.3 测距仪似然场模型
干脆放弃物理建模,直接对地图中已知的障碍物表面构造一个平滑的距离场:
- 把地图中每个被占据的栅格(或表面点)作为潜在"目标"。
- 对激光端点 zzz 在地图中找到最近的障碍点 ddd。
- 假设端点噪声服从以最近障碍为中心的高斯:
p(z∣xt,m)∝exp (−d(z; xt,m)22σ2)+(加少量 short/max/rand 项)p(z\mid x_t,m) \propto \exp\!\left(-\frac{d(z;\,x_t,m)^2}{2\sigma^2}\right) + \text{(加少量 }\text{short/max/rand}\text{ 项)}p(z∣xt,m)∝exp(−2σ2d(z;xt,m)2)+(加少量 short/max/rand 项)
直觉:不追踪整条激光射线,只看端点落在地图障碍物附近的程度——计算快、概率面平滑,对地图缺陷更鲁棒。
优点与缺点
- 优点:无需光线投射,速度快;梯度平滑利于优化。
- 缺点:丢失了"激光被中途物体遮挡"的信息,可能在透明玻璃等场景过度自信。
6.4 地标传感器模型
视觉/激光识别出带标志的地标(如路标、ArUco 标记)。观测 ztz_tzt 通常包含地标相对机器人的距离 rrr 与方位 ϕ\phiϕ:
zt=(rt,ϕt)⊤z_t = (r_t, \phi_t)^\topzt=(rt,ϕt)⊤
设地图中第 kkk 个地标位置 mkm_kmk,机器人在位姿 xt=(x,y,θ)x_t=(x,y,\theta)xt=(x,y,θ) 下对其几何关系为
rt∗=(mk,x−x)2+(mk,y−y)2,ϕt∗=atan2(mk,y−y, mk,x−x)−θr_t^* = \sqrt{(m_{k,x}-x)^2+(m_{k,y}-y)^2},\qquad \phi_t^* = \mathrm{atan2}(m_{k,y}-y,\,m_{k,x}-x)-\thetart∗=(mk,x−x)2+(mk,y−y)2,ϕt∗=atan2(mk,y−y,mk,x−x)−θ
加零均值高斯噪声:
p(zt∣xt,mk)=N(rt; rt∗,σr2) N(ϕt; ϕt∗,σϕ2)p(z_t\mid x_t,m_k) = \mathcal{N}(r_t;\,r_t^*,\sigma_r^2)\,\mathcal{N}(\phi_t;\,\phi_t^*,\sigma_\phi^2)p(zt∣xt,mk)=N(rt;rt∗,σr2)N(ϕt;ϕt∗,σϕ2)
直觉:地标模型是 EKF-SLAM、第 7 章地标定位的标准观测模型;噪声小、识别可靠时,少量地标就能提供强约束。
数据关联问题
观测必须先回答"这是第几个地标?"——数据关联(data association)。错误关联会污染滤波器。常用策略:最近邻匹配、联合兼容分支定界(JCBB)、概率数据关联。
6.5 模型选型建议
场景与模型如何匹配?直接看表:
| 场景 | 推荐模型 |
|---|---|
| 精确栅格地图 + 实时定位 | 似然场模型 |
| 物理仿真 / 需要处理丢失反射 | 波束模型 |
| 稀疏已知地标(室内、仓储) | 地标模型 |
| 粗糙地图 / 真实室外场景 | 似然场 + 适当随机项 |
延伸思考
- 传感器噪声过小/过大:低估噪声会让滤波器过度自信、易发散;高估会拖慢收敛。需要按真实标定。
- 地图与观测不匹配:建图误差、动态环境会让观测模型概率偏低。鲁棒做法是在所有模型中加入 prandp_{\text{rand}}prand 项以"吸收"未建模异常。
- 激光波束数与计算成本:多线激光需对每条射线独立评估 ppp,是 MCL 主要计算瓶颈。降采样或空间索引(KD-tree)是常用优化。
- 深度学习的兴起:现代 SLAM/定位常用神经网络学习观测似然(如学习激光/视觉里程计的特征匹配概率),但本文的解析模型仍是经典基线与理论支撑。
写在最后
回顾核心观点:观测模型 p(zt∣xt,m)p(z_t|x_t,m)p(zt∣xt,m) 是测量更新的似然来源。波束模型用四成分混合刻画激光物理,精度高但计算重;似然场模型以端点高斯距离换取速度与平滑,工程最常用;地标模型适合已知地标场景,需配套数据关联。选对模型并合理设定噪声,是 EKF 收敛与 MCL 粒子赋权质量的保证。这些解析模型与深度学习方法互补共存,仍是定位与 SLAM 工程落地的坚实底座。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐




所有评论(0)