递归状态估计


  • DescriptionProbabilistic Robotics 第 2 章读书笔记 — 状态/控制/观测/置信度的概率形式化、完整状态与 Markov 假设、运动模型与观测模型、Bayes 滤波通用算法推导
  • My Notion Note ID:K2E-B-B1-2
  • Created:2026-06-06
  • Updated:2026-06-06
  • License转载欢迎 — 请署名 Yu Zhang 并链回 yuzhang.io 原文

Table of Contents


1. 基本概念

  • 状态 xtx_t:描述机器人与环境的一切。完整状态 = "未来的最优预测因子",即 tt 之前的任何变量都不会影响 tt 之后的状态(等价于 Markov 性)
  • 控制 utu_t:机器人执行的动作("什么都不做"也是一个 control action)
  • 测量 ztz_t:传感器观测结果;zt1:t2z_{t_1:t_2} 表示一段时间的所有测量

2. 概率生成律

运动模型(状态转移):

p(xtxt1,ut)p(x_t \mid x_{t-1}, u_t)

给定上一状态和控制,对当前状态的概率预测。

观测模型(测量似然):

p(ztxt)p(z_t \mid x_t)

给定当前状态,观测到 ztz_t 的概率。

这两个模型是 Bayes 滤波的完整描述。具体实现(KF、EKF、粒子滤波)的差异在于对这两个模型的参数化假设。

3. 置信度

bel(xt)=p(xtz1:t,u1:t)\text{bel}(x_t) = p(x_t \mid z_{1:t}, u_{1:t})

在历史所有测量和控制条件下,对当前状态的后验概率分布。

预测信念(更新前):belˉ(xt)=p(xtz1:t1,u1:t)\bar{\text{bel}}(x_t) = p(x_t \mid z_{1:t-1}, u_{1:t})

4. Bayes 滤波算法

预测步(全概率公式):

belˉ(xt)=p(xtxt1,ut)bel(xt1)dxt1\bar{\text{bel}}(x_t) = \int p(x_t \mid x_{t-1}, u_t) \, \text{bel}(x_{t-1}) \, dx_{t-1}

更新步(Bayes 定理):

bel(xt)=ηp(ztxt)belˉ(xt)\text{bel}(x_t) = \eta \, p(z_t \mid x_t) \, \bar{\text{bel}}(x_t)

η\eta 是归一化常数,确保 bel(xt)dxt=1\int \text{bel}(x_t) \, dx_t = 1

这是所有递归贝叶斯滤波(KF、EKF、粒子滤波等)的通用框架。各方法的差异在于对 p(xtxt1,ut)p(x_t \mid x_{t-1}, u_t)p(ztxt)p(z_t \mid x_t) 的参数化,以及对 bel(xt)\text{bel}(x_t) 的表示方式。

5. Markov 假设

一阶 Markov 性:状态 xtx_t完整的,则给定 xtx_t,过去的测量和控制不提供额外信息:

p(xtx0:t1,z1:t1,u1:t)=p(xtxt1,ut)p(x_t \mid x_{0:t-1}, z_{1:t-1}, u_{1:t}) = p(x_t \mid x_{t-1}, u_t)

p(ztx0:t,z1:t1,u1:t)=p(ztxt)p(z_t \mid x_{0:t}, z_{1:t-1}, u_{1:t}) = p(z_t \mid x_t)

含义:只有状态 xt1x_{t-1} 和控制 utu_t 足以预测 xtx_t;只有状态 xtx_t 足以预测 ztz_t

在实践中:Markov 假设常常只是近似成立(环境有记忆效应、传感器有延迟等)。违反时需要增广状态(如把 bias 加入状态)或用高阶 Markov 模型。

References

  • Thrun, S., Burgard, W., & Fox, D. Probabilistic Robotics. MIT Press, 2005. 第 2 章 — 本笔记内容来源