《概率机器人》目前我仅大概过了一遍第I部分和第II部分,便发现这本书结构非常清晰,主要把第一部分的基础理论学扎实,后面的第II和第III部分便不会学得头大.
第I部分
第2~4章主要介绍了构成所有算法基础的数学基础:
首先引入概率机器人技术的核心就是由传感器数据来估计状态这个思路,对概率机器人进行建模时,引出了先验概率、后验概率等概念,进而引出了本书理论的基石-贝叶斯准则.在贝叶斯准则的基础上,讨论了贝叶斯滤波算法和马尔科夫假设.但这里的贝叶斯滤波器仅是介绍了一个框架,具体的概率模型并没有提及,也就是说还未交代如何实现的?所以作者紧接着便开始阐述两大类贝叶斯滤波器的具体实现方式.
当贝叶斯滤波算法中的概率模型用高斯概率模型表示时,此类递归状态估计器则称为高斯滤波.线性高斯滤波中最有名的当属卡尔曼滤波(KF).但并不是所有系统都是线性化的,所以,便有了扩展卡尔曼滤波和无迹卡尔曼滤波,这两种滤波放宽了线性化假设.但计算时,仍需要将非线性系统近似为线性系统进行计算,扩展卡尔曼滤波采用了泰勒级数展开的线性化技术,而无迹卡尔曼滤波采用了无迹变换.
我们知道,上述方法都依赖于确定的后验概率,于是便有了非参数化滤波技术,直方图滤波和粒子滤波便出场了,这两种滤波不需要对后验密度进行强参数化假设,并且,能够很好地表示复杂的多峰置信度(想想高斯滤波的单峰).另外,贝叶斯滤波也从前面的连续贝叶斯滤波变为离散贝叶斯滤波(笔者曰:贝叶斯准则真的要好好理解,相当重要).
到此,本书关于贝叶斯滤波的具体实现方式已经介绍完毕,也就是我们已经知道了状态转移估计模型,但是,似乎机器人的运动控制概率模型和观测模型还不知道.别急,特龙博士又要介绍新东西了.
第5章主要介绍了机器人运动模型:
根据控制量的不同,可以分类速度运动模型和里程计运动模型.
第6章主要介绍了机器人观测模型:
首先,从实际物理模型出发,引出了测距仪的波束模型.当然,这个波束模型有缺点,那么便提出了另一种测距仪的似然域模型,然后还提到了基于相关性、特征的测量模型.
第I部分完...结构还是很清晰的,但如果只是单纯学习了这些数学工具,不知道怎么用,也是很蒙圈的.特龙博士很懂你啊,第II部分便告诉你,前面那么工具是如何组合,变成一个个定位算法的.
第II部分
第7章可以看做上述高斯滤波在定位中应用
-
马尔科夫定位=贝叶斯滤波+马尔科夫准则
扩展卡尔曼定位=EKF+运动模型+基于特征的测量模型
无迹卡尔曼定位=UKF+运动模型+基于特征的测量模型
第8章可以看作是非参数滤波在定位中的应用
栅格定位=栅格分解+直方图滤波
蒙特卡罗定位=粒子滤波定位
第I部分和第II部分我仅仅是过了一遍,对其中的细节和公式推导理解得还不充分,所以打算在上述框架上重新撸一遍.
奉劝各位看这本书的朋友,一定一定要把第I部分和第II部分理解透了,磨刀不误砍柴工!
参考文献
- 《概率机器人》.Sebastian Thrun等著
- 官方配图