graph slam学习:g2o

1. graph_slam 学习

关于graph-slam的学习详细参照教材<<Probabilistic Robotics>> 2005版 第11章

图优化实际上是解一种非线性最小二乘问题,主要用于离线的slam优化,也有用在在线的方式的。 最小二乘解决的就是偏差全局最小的问题,再在原基础量上

叠加最小偏差量即为最优量。 图优化将问题全部抽象成 node(点)与edge(边)的问题。。

1.1 组成: 图优化的图形简化见下图

点: 每个t时刻的机器人位置robot_pos 2d(x,y,theta),与t时刻观察到的landmark_pos(rou,theta)<极坐标的样式 > 作为点;

边: 不同时刻的robot_pos 之间距离作为边 (t 时刻量与t-1时刻运动预测量偏差),t 时刻 robot_pos 与 landmark_pos 间的距离作为边(我称为虚拟边,,它在后面的矩阵稀疏化过程中会简化转成 跨时刻的 robot_pos 相应连接关系)

1.2 目的:

通过预测与观测的比较 : 使得当前时刻 取得的机器人位置与landmark位置偏差全局最小。

1.3 说明:

1) 需要初始的位置,迭代最优。

2) 稀疏矩阵的应用: 如图所示,每个格子占据表示的是robot_pos 与landmark_pos的关联关系。m3在t=2.3.4的时刻都可以观察到。robot_pos本来就有t=2,3间的

关系,假如我把m3简化调,必须引进robot_pos在t=2,4见的联系(x2->x4),如下右图。

1.4 图优化的过程伪代码: 算法的总体框架如下:

1) 初始化起始点。运动预测量(运动模型)

2) 转化为信息矩阵的形式(具体还没弄清为什么转到 information?,IF有更稳定),建立整个关联矩阵。

3) 矩阵稀疏化。去landmark点,建立Xi与Xj间的联系。

4) 系统状态更新(机器人状态与landmark 状态)。

说明:详细说明参见书本介绍与相应的推导。

1.5 图优化相应的资源

基于优化方法的机器人同步定位与地图创建(SLAM)后端(Back-end)设计技术收集

RGBD-SLAM

论文:

Hierarchical Optimization on Manifolds for Online 2D and 3D Mapping;(2010)

g2o: A General Framework for Graph Optimization;(2011)

Experimental Analysis of Dynamic Covariance Scaling for Robust Map Optimization Under Bad Initial Estimates;(2014)

2. g2o简单turorial:

论文: g2o: A General Framework for Graph Optimization;(2011)

开源代码 g2o

g2o的框架结构如下图所示:

任何业绩的质变都来自于量变的积累。

graph slam学习:g2o

相关文章:

你感兴趣的文章:

标签云: