第一章 绪论
机器人中的不确定性
- 机器人所处的环境。尤其是在有人的,高动态环境中。
- 传感器。受到传感器物理限制、性能限制,以及噪声和故障。
- 执行机构。控制噪声、机械故障等。
- 软件。内部模型是近似模型,是真实世界的抽象,存在模型误差
- 近似算法。
概率机器人学
概率机器人的主要思想是用概率理论的运算,明确表示机器人中的不确定性。不再只依赖可能出现情况的单一的“最好推测”,而是用概率算法来表示在整个推测空间的概率分布信息。
与传统机器人编程技术(基于模型和基于行为)相比,概率方法在面对传感器的局限和模型局限时鲁棒性更强。在很多方面,概率机器人即是基于模型的,又是基于行为的技术。
概率机器人学的代价:
- 计算复杂性。概率算法本质上比非概率算法效率低。因为它考虑的是整个概率密度而不是单一的推测。
- 近似的必要性。精确的后验分布往往很难计算,不确定性可以用一个紧凑的参数模型(如高斯分布)较好的近似。
第二章 递归状态估计
概率机器人技术的核心就是由传感器数据来估计状态的思路。状态估计指的是从传感器数据来推断不能直接观测的状态变量。
基本概率公式
建模:传感器、控制、机器人状态、环境等都建某为随机变量。
正态分布概率密度函数:
记作****
多元状态分布概率密度函数:
**是协方差矩阵,为半正定对称矩阵。**为均值矢量。
多元是单变量的泛华,对于单变量,,上面两式等价。
概率密度函数积分为1:
联合分布:
若与独立,则有:
条件概率:
若与独立,有:
若与以变量条件独立,则有:
条件独立不代表独立,独立也不代表条件独立:
条件独立非常重要
全概率公式:
贝叶斯准则:
为先验概率,为后验概率,为生成模型。
由于不依赖于,经常写成归一化常量,因此贝叶斯公式可以写作:
条件下的贝叶斯准则:
期望与协方差:
期望是随机变量的线性函数:
熵(用来表示机器人接受的信息):
表示使用最佳编码对编码所需的比特数。
机器人与环境交互
环境或者世界是有内部状态的动态系统,机器人通过传感器获得环境的信息,由于传感器噪声和数据的不完备性,机器人保持其对于环境的一个内部置信度。环境特征用状态来表示。
典型的状态变量如下:
- 位姿
- 机器人执行机构配置
- 机器人速度和角速度
- 环境中的物体位置和特征。环境可能有很多状态变量,取决于建模的状态粒度。
- 移动的物体的位置和速度
- 影响机器人运行的其他状态变量
假设一个状态可以最好地预测未来,则称其为完整的。完整性包括过去状态测量及控制的信息,没有先于的状态变量可以影响未来状态的变化。这种过程也称为马尔科夫链。完整性在理论上很重要(各种推导经常假设马尔科夫性),实际上的机器人系统不可能有完整的状态。
状态空间可以是连续的,或者离散的,或者混合状态空间(即包含连续状态空间又包含离散状态空间)。
机器人与环境的两种基本交互:
- 测量。用传感器获取环境信息,又称为观测,感知等。
- 控制。控制机器人,改变世界状态。
测量和控制的记录称为数据。
概率生成法则
状态演变概率法则:
观测过程:
若状态是完整的,即某个状态是前面所有状态的充分总结,则由条件独立,有:
**概率和称为状态转移概率和测量概率,两者一起描述机器人及环境组成的动态随机系统。**这样的时间生成模型也称为隐马尔科夫模型或动态贝叶斯网络。
置信分布
置信度反映了机器人有关环境状态的内部信息,由于状态不能直接测量,机器人使用置信度来识别真正的状态。机器人通过概率分布表示置信度,置信度分布是以可获得数据为条件的关于状态变量的后验概率
定义:
在概率滤波的框架下,称为预测,由计算称为修正或者测量更新。
贝叶斯滤波
大多数计算置信度的通用算法都是基于贝叶斯滤波。
贝叶斯滤波是递归的,下图是贝叶斯算法的一次迭代。
贝叶斯滤波主要包含两个过程:
- 控制更新(预测)
- 测量更新
讨论
- 马尔科夫假设或者完整状态假设是苛刻的,其规定了过去数据和未来数据是独立的。但是很多因素会破坏这个假设,如
- 中未包含的环境因素
- 概率模型的不精确性
- 近似误差
- 控制系统的软件变量
定义状态时,应该尽量使未建模的状态变量的影响具有随机的效果。
- 贝叶斯滤波能以多种方式实现,一般的问题中,置信度必定是近似的。选择一个近似,需要考虑如下问题:
- 计算效率
- 近似的精度
这个假设,如 - 中未包含的环境因素
- 概率模型的不精确性
- 近似误差
- 控制系统的软件变量
定义状态时,应该尽量使未建模的状态变量的影响具有随机的效果。
- 贝叶斯滤波能以多种方式实现,一般的问题中,置信度必定是近似的。选择一个近似,需要考虑如下问题:
- 计算效率
- 近似的精度
- 易于实现