这篇文章的理论核心是阐述展开:《概率机器人》的一句话,“FastSLAM本身就是一种R-B滤波。”以及阐述展开《概率机器人》第13章 FastSLAM 算法所言,"本章基于栅格的FastSLAM算法归功于Hahnel等(2003b),他们将改进的建议分布思想与R-B滤波相结合,并将其应用到基于栅格的地图。"
所以,理论涉及粒子滤波,RBPF粒子滤波,占据栅格地图构建,FastSLAM,建议分布等。
Ⅰ. 首先,先给大家献上这篇:R-B PF 粒子滤波应用到Grid-based场景建图基础阐述篇:
【1】http://www2.informatik.uni-freiburg.de/~stachnis/pdf/grisetti05icra.pdf
Ⅱ.然后,进入这篇:R-B PF 应用到Grid-based场景建图拓展篇,相较于上一篇,更详细,附上了建图的算法原理伪码:
ok,fine;回顾一下R-B粒子滤波的Mapping流程:
Ⅲ.接着,进入FastSLAM的起源:
【3】EE780 Final Project (bilkent.edu.tr)
【4】http://www.cs.bilkent.edu.tr/~culha/ee780/ParticleFilterBasedFastSLAM.pdf
Ⅳ.如果想好好了解FastSLAM的前世今生:
【5】http://www.ri.cmu.edu/pub_files/pub4/montemerlo_michael_2003_1/montemerlo_michael_2003_1.pdf
Ⅴ.然后进入FastSLAM2.0:
【6】http://robots.stanford.edu/papers/Montemerlo03a.pdf
Ⅵ.基于栅格的FastSLAM:
前面Ⅰ~Ⅴ:均为介绍FastSLAM;
现在开始,将FastSLAM算法扩展到占用栅格地图。程序13.4给出了具有占用栅格地图的FastSLAM算法,这个算法借助了蒙特卡洛定位(Ⅶ补充)和占用栅格地图构建(Ⅷ补充)。
这个算法使用的每个函数都是定位和地图构建所使用算法的变种。
其中: sample_motion_model:选odometry模型
measurement_model_map:
update_occupancy_map:
Ⅶ.蒙特卡洛定位:
此为蒙特卡洛定位的理论补充:
见:【7】Churlaaaaaaa:Monte Carlo Localization | 基础原理篇+配备代码讲解
Ⅷ.占据栅格地图:
此为占据栅格地图构建的理论补充:
其中用到的反演模型(inverse_sensor_model):
但是如果我采用最大后验占据栅格算法:
所选用的measurement_model就是传统测量模型。
Ⅷ.总结与思考
重点1:scan matcher;如何匹配,怎么判定匹配度高,激光和里程计数据怎么介入;
重点2:如何采样生成粒子,这个粒子是带着一个独立的地图,如何挑选出得分最高的粒子;
重点3:如何重采样,如何有效改进;
重点4:什么是建议分布,目标分布,为什么要改进建议分布;
重点5:怎么高效实现,考虑复杂度(FastSLAM),《概率机器人》的思想是将地图组织为平衡二叉树(balanced binary tree);
评论(0)
您还未登录,请登录后发表或查看评论