参考网址
【泡泡机器人公开课】第五十六课:gtsam_tutorial-董靖_哔哩哔哩_bilibili
T5 - 图优化 (第一节课)_哔哩哔哩_bilibili
战疫时期的算法课 - 知乎 (zhihu.com)
(164条消息) 【GTSAM】GTSAM/iSAM1/2资源整理_guoqiang_sunshine的博客-CSDN博客_gtsam isam
dongjing3309/minisam: A general and flexible factor graph non-linear least square optimization framework (github.com)
写一个简单的因子图库
peitianyu/factor_graph (github.com)
简介
1 2 3 4 5 6
| 此程序主要学习了mini_sam思路,讲真mini_sam库真心清晰,明了,干净. 程序包含 Core: 主函数在graph_optimize进行优化,然后通过sparsity_pattern保存稀疏矩阵缓存,variable与factor构造虚函数 types: 构造二维空间下的variable与factor slam: 简单的写了几个在二维下做的因子图 test: 测试主函数
|
架构
1 2 3 4 5
| variable: 相当于图优化里边的顶点 factor: 通过variable构造成一元边或者二元边, 并且将求解Jacobian也放在此类中(用的是数值求解雅各比) factor_graph: 将构造好的variable与factor添加入因子图,由于之后的优化 graph_optimize: 优化构造好的因子图,这里由于稀疏化技巧所以分出一个sparsity_pattern稀疏缓存器模块 sparsity_pattern: 包含两个部分一个是variable搜索引导一个是H与b稀疏矩阵缓存
|
测试
1 2 3 4
| 主要测试了: 1. 纯2d_point的优化 2. 2d环境下point与pose的优化(比如, 反光板与里程计) 3. 纯2d_pose的优化,(主要展示了读取g2o文件,并优化的效果)
|
BUG
1
| 1. 加入sqr_info后发现优化速度明显变慢,没找的什么原因
|
TODO
1 2
| 1. 边缘化操作 2. 如果H并不是稀疏矩阵,通过近似最小度排序变为稀疏矩阵
|
Build
1 2 3 4
| cd factor_graph_optimize && mkdir build cd build && cmake .. make -j ./g2o_slam2d
|