概率机器人笔记1-2章

第一章 绪论

机器人中的不确定性

  • 机器人所处的环境。尤其是在有人的,高动态环境中。
  • 传感器。受到传感器物理限制、性能限制,以及噪声和故障。
  • 执行机构。控制噪声、机械故障等。
  • 软件。内部模型是近似模型,是真实世界的抽象,存在模型误差
  • 近似算法。

概率机器人学

概率机器人的主要思想是用概率理论的运算,明确表示机器人中的不确定性。不再只依赖可能出现情况的单一的“最好推测”,而是用概率算法来表示在整个推测空间的概率分布信息。

与传统机器人编程技术(基于模型基于行为)相比,概率方法在面对传感器的局限和模型局限时鲁棒性更强。在很多方面,概率机器人即是基于模型的,又是基于行为的技术。

概率机器人学的代价:

  1. 计算复杂性。概率算法本质上比非概率算法效率低。因为它考虑的是整个概率密度而不是单一的推测。
  2. 近似的必要性。精确的后验分布往往很难计算,不确定性可以用一个紧凑的参数模型(如高斯分布)较好的近似。

第二章 递归状态估计

概率机器人技术的核心就是由传感器数据来估计状态的思路。状态估计指的是从传感器数据来推断不能直接观测的状态变量。

基本概率公式

建模:传感器、控制、机器人状态、环境等都建某为随机变量。

正态分布概率密度函数:
p ( x ) = ( 2 π σ 2 ) − 1 2 exp ⁡ { − 1 2 ( x − u ) 2 σ 2 } p(x)=(2\pi\sigma^2)^{-\frac12} \exp \left\{ -\frac12 \frac{(x-u)^2}{\sigma^2} \right\} p(x)=(2πσ2)21exp{21σ2(xu)2}
记作** N ( x ; u , σ 2 ) \mathcal{N}(x;u,\sigma^2) N(x;u,σ2)**

多元状态分布概率密度函数:
p ( x ) = d e t ( 2 π Σ ) − 1 2 exp ⁡ { − 1 2 ( x − u ) T Σ − 1 ( x − u ) } p(x)=\mathrm{det}(2\pi\Sigma)^{-\frac12}\exp\left\{-\frac12(x-u)^T\Sigma^{-1}(x-u)\right\} p(x)=det(2πΣ)21exp{21(xu)TΣ1(xu)}
** Σ \Sigma Σ是协方差矩阵,为半正定对称矩阵。 μ \mu μ**为均值矢量。

多元是单变量的泛华,对于单变量, Σ = σ 2 \Sigma=\sigma^2 Σ=σ2,上面两式等价。

概率密度函数积分为1:
∫ p ( x )   d x = 1 \int p(x)\,\mathrm{d}x=1 p(x)dx=1
联合分布:
p ( x , y ) = p ( X = x , Y = y ) p(x,y)=p(X=x,Y=y) p(x,y)=p(X=x,Y=y)
X X X Y Y Y独立,则有:
p ( x , y ) = p ( x ) p ( y ) p(x,y)=p(x)p(y) p(x,y)=p(x)p(y)

条件概率:
p ( x ∣ y ) = p ( x , y ) p ( y ) ( p ( y ) > 0 ) p(x|y)=\frac{p(x,y)}{p(y)}\quad(p(y)>0) p(xy)=p(y)p(x,y)(p(y)>0)
X X X Y Y Y独立,有:
p ( x ∣ y ) = p ( x ) p ( y ) p ( y ) = p ( x ) p(x|y)=\frac{p(x)p(y)}{p(y)}=p(x) p(xy)=p(y)p(x)p(y)=p(x)
X X X Y Y Y以变量 Z Z Z条件独立,则有:
p ( x , y ∣ z ) = p ( x ∣ z ) p ( y ∣ z ) (条件独立下的联合概率分布) p ( x ∣ z ) = p ( x ∣ z , y ) p ( y ∣ z ) = p ( y ∣ z , x ) p(x,y|z)=p(x|z)p(y|z)\quad\text{(条件独立下的联合概率分布)}\\ p(x|z)=p(x|z,y)\\ p(y|z)=p(y|z,x) p(x,yz)=p(xz)p(yz)(条件独立下的联合概率分布)p(xz)=p(xz,y)p(yz)=p(yz,x)

条件独立不代表独立,独立也不代表条件独立
p ( x , y ∣ z ) = p ( x ∣ z ) p ( y ∣ z ) ⇏ p ( x , y ) = p ( x ) p ( y ) p ( x , y ) = p ( x ) p ( y ) ⇏ p ( x , y ∣ z ) = p ( x ∣ z ) p ( y ∣ z ) p(x,y|z)=p(x|z)p(y|z)\nRightarrow p(x,y)=p(x)p(y)\\ p(x,y)=p(x)p(y)\nRightarrow p(x,y|z)=p(x|z)p(y|z) p(x,yz)=p(xz)p(yz)p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)p(x,yz)=p(xz)p(yz)
条件独立非常重要

全概率公式:
p ( x ) = ∑ y p ( x ∣ y ) p ( y ) ( 离 散 情 况 ) p ( x ) = ∫ p ( x ∣ y ) p ( y )   d y ( 连 续 情 况 ) p(x)=\sum_yp(x|y)p(y)\quad\text(离散情况)\\ p(x)=\int p(x|y)p(y)\,\mathrm{d}y\quad\text(连续情况) p(x)=yp(xy)p(y)()p(x)=p(xy)p(y)dy()
贝叶斯准则:
p ( x ∣ y ) = p ( y ∣ x ) p ( x ) p ( y ) = p ( y ∣ x ) p ( x ) ∑ x ′ p ( y ∣ x ′ ) p ( x ′ ) (离散) p ( x ∣ y ) = p ( y ∣ x ) p ( x ) p ( y ) = p ( y ∣ x ) p ( x ) ∫ p ( y ∣ x ′ ) p ( x ′ )   d x ′ (连续) p(x|y)=\frac{p(y|x)p(x)}{p(y)}=\frac{p(y|x)p(x)}{\sum_{x'}p(y|x')p(x')}\quad\text{(离散)}\\ p(x|y)=\frac{p(y|x)p(x)}{p(y)}=\frac{p(y|x)p(x)}{\int{p(y|x')p(x')}\,\mathrm{d}x'}\quad\text{(连续)} p(xy)=p(y)p(yx)p(x)=xp(yx)p(x)p(yx)p(x)(离散)p(xy)=p(y)p(yx)p(x)=p(yx)p(x)dxp(yx)p(x)(连续)
p ( x ) p(x) p(x)为先验概率, p ( x ∣ y ) p(x|y) p(xy)为后验概率, p ( y ∣ x ) p(y|x) p(yx)为生成模型。

由于 p ( y ) p(y) p(y)不依赖于 x x x p ( y ) − 1 p(y)^{-1} p(y)1经常写成归一化常量 η \eta η,因此贝叶斯公式可以写作:
p ( x ∣ y ) = η p ( y ∣ x ) p ( x ) p(x|y)=\eta p(y|x)p(x) p(xy)=ηp(yx)p(x)
条件下的贝叶斯准则
p ( x ∣ y , z ) = p ( y ∣ x , z ) p ( x ∣ z ) p ( y ∣ z ) p(x|y,z)=\frac{p(y|x,z)p(x|z)}{p(y|z)} p(xy,z)=p(yz)p(yx,z)p(xz)
期望与协方差:
E [ X ] = ∑ x x p ( x ) (离散) E [ X ] = ∫ x p ( x )   d x (连续) C o v [ X ] = E [ X − E [ X ] ] 2 = E [ X 2 ] − E [ X ] 2 E[X]=\sum_xxp(x)\quad\text{(离散)}\\ E[X]=\int xp(x)\,\mathrm{d}x\quad\text{(连续)}\\ \mathrm{Cov}[X]=E[X-E[X]]^2=E[X^2]-E[X]^2 E[X]=xxp(x)(离散)E[X]=xp(x)dx(连续)Cov[X]=E[XE[X]]2=E[X2]E[X]2
期望是随机变量的线性函数:
E [ a X + b ] = a E [ X ] + b E[aX+b]=aE[X]+b E[aX+b]=aE[X]+b
熵(用来表示机器人接受的信息):
H p ( x ) = E [ − log ⁡ 2 p ( x ) ] H p ( x ) = − ∑ x p ( x ) log ⁡ 2 p ( x ) (离散) H p ( x ) = − ∫ p ( x ) log ⁡ 2 p ( x )   d x (连续) H_p(x)=E[-\log_2p(x)]\\ H_p(x)=-\sum_xp(x)\log_2p(x)\quad\text{(离散)}\\ H_p(x)=-\int p(x)\log_2p(x)\,\mathrm{d}x\quad\text{(连续)} Hp(x)=E[log2p(x)]Hp(x)=xp(x)log2p(x)(离散)Hp(x)=p(x)log2p(x)dx(连续)
− log ⁡ 2 p ( x ) -\log_2p(x) log2p(x)表示使用最佳编码对 x x x编码所需的比特数。

机器人与环境交互

环境或者世界是有内部状态的动态系统,机器人通过传感器获得环境的信息,由于传感器噪声和数据的不完备性,机器人保持其对于环境的一个内部置信度。环境特征用状态来表示。

典型的状态变量如下:

  • 位姿
  • 机器人执行机构配置
  • 机器人速度和角速度
  • 环境中的物体位置和特征。环境可能有很多状态变量,取决于建模的状态粒度。
  • 移动的物体的位置和速度
  • 影响机器人运行的其他状态变量

假设一个状态 x t x_t xt可以最好地预测未来,则称其为完整的完整性包括过去状态测量及控制的信息,没有先于 x t x_t xt的状态变量可以影响未来状态的变化。这种过程也称为马尔科夫链。完整性在理论上很重要(各种推导经常假设马尔科夫性),实际上的机器人系统不可能有完整的状态。

状态空间可以是连续的,或者离散的,或者混合状态空间(即包含连续状态空间又包含离散状态空间)。

机器人与环境的两种基本交互:

  • 测量。用传感器获取环境信息,又称为观测,感知等。

  • 控制。控制机器人,改变世界状态。

测量和控制的记录称为数据。

z t 1 : t 2 = z t 1 , z t 1 + 1 , z t 1 + 2 , ⋯   , z t 2 测量数据 u t 1 : t 2 = u t 1 , u t 1 + 1 , u t 1 + 2 , ⋯   , u t 2 控制数据 z_{t1:t2}=z_{t1},z_{t1+1},z_{t1+2},\cdots,z_{t2}\quad\textbf{测量数据}\\ u_{t1:t2}=u_{t1},u_{t1+1},u_{t1+2},\cdots,u_{t2}\quad\textbf{控制数据} zt1:t2=zt1,zt1+1,zt1+2,,zt2测量数据ut1:t2=ut1,ut1+1,ut1+2,,ut2控制数据

概率生成法则

状态演变概率法则:
p ( x t ∣ x 0 : t − 1 , z 1 : t − 1 , u 1 : t ) p(x_t|x_{0:t-1},z_{1:t-1},u_{1:t}) p(xtx0:t1,z1:t1,u1:t)
观测过程:
p ( z t ∣ x 0 : t , z 1 : t − 1 , u 1 : t ) p(z_t|x_{0:t},z_{1:t-1},u_{1:t}) p(ztx0:t,z1:t1,u1:t)

若状态 x x x完整的,即某个状态是前面所有状态的充分总结,则由条件独立,有:
p ( x t ∣ x 0 : t − 1 , z 1 : t − 1 , u 1 : t ) = p ( x t ∣ x t − 1 , u t ) p ( z t ∣ x 0 : t , z 1 : t − 1 , u 1 : t ) = p ( z t ∣ x t ) p(x_t|x_{0:t-1},z_{1:t-1},u_{1:t})=p(x_t|x_{t-1},u_t)\\ p(z_t|x_{0:t},z_{1:t-1},u_{1:t})=p(z_t|x_t) p(xtx0:t1,z1:t1,u1:t)=p(xtxt1,ut)p(ztx0:t,z1:t1,u1:t)=p(ztxt)
**概率 p ( x t ∣ x t − 1 , u t ) p(x_t|x_{t-1},u_t) p(xtxt1,ut) p ( z t ∣ x t ) p(z_t|x_t) p(ztxt)称为状态转移概率和测量概率,两者一起描述机器人及环境组成的动态随机系统。**这样的时间生成模型也称为隐马尔科夫模型或动态贝叶斯网络。

在这里插入图片描述

置信分布

置信度反映了机器人有关环境状态的内部信息,由于状态不能直接测量,机器人使用置信度来识别真正的状态。机器人通过概率分布表示置信度,置信度分布是以可获得数据为条件的关于状态变量的后验概率
b e l ( x t ) = p ( x t ∣ z 1 : t , u 1 : t ) \mathrm{bel}(x_t)=p(x_t|z_{1:t},u_{1:t}) bel(xt)=p(xtz1:t,u1:t)
定义 b e l ‾ ( x t ) \overline{\mathrm{bel}}(x_t) bel(xt):
b e l ‾ ( x t ) = p ( x t ∣ z 1 : t − 1 , u 1 : t ) \overline{\mathrm{bel}}(x_t)=p(x_t|z_{1:t-1},u_{1:t}) bel(xt)=p(xtz1:t1,u1:t)
在概率滤波的框架下, b e l ‾ ( x t ) \overline{\mathrm{bel}}(x_t) bel(xt)称为预测,由 b e l ( x t ) \mathrm{bel}(x_t) bel(xt)计算 b e l ‾ ( x t ) \overline{\mathrm{bel}}(x_t) bel(xt)称为修正或者测量更新。

贝叶斯滤波

大多数计算置信度的通用算法都是基于贝叶斯滤波

贝叶斯滤波是递归的,下图是贝叶斯算法的一次迭代。
在这里插入图片描述

贝叶斯滤波主要包含两个过程:

  1. 控制更新(预测)
  2. 测量更新

讨论

  1. 马尔科夫假设或者完整状态假设是苛刻的,其规定了过去数据和未来数据是独立的。但是很多因素会破坏这个假设,如
    • x t x_t xt中未包含的环境因素

    • 概率模型的不精确性

    • 近似误差

    • 控制系统的软件变量

定义状态 x t x_t xt时,应该尽量使未建模的状态变量的影响具有随机的效果。

  1. 贝叶斯滤波能以多种方式实现,一般的问题中,置信度必定是近似的。选择一个近似,需要考虑如下问题:
    • 计算效率

    • 近似的精度
      这个假设,如

    • x t x_t xt中未包含的环境因素

    • 概率模型的不精确性

    • 近似误差

    • 控制系统的软件变量

定义状态 x t x_t xt时,应该尽量使未建模的状态变量的影响具有随机的效果。

  1. 贝叶斯滤波能以多种方式实现,一般的问题中,置信度必定是近似的。选择一个近似,需要考虑如下问题:
    • 计算效率
    • 近似的精度
    • 易于实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值