因子图优化

本文介绍了peitianyu/factor_graph项目,基于mini_sam库构建了一个简单易懂的二维因子图库,包括variable、factor的定义,slam应用示例,以及核心优化函数graph_optimize。研究了稀疏矩阵处理和测试了不同场景的优化效果,如2D点、点与pose和纯2D_pose。同时提到了优化速度变慢的BUG和未来待实现的功能如边缘化操作等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写一个简单的因子图库

peitianyu/factor_graph (github.com)

简介

此程序主要学习了mini_sam思路,讲真mini_sam库真心清晰,明了,干净.
程序包含
Core:	主函数在graph_optimize进行优化,然后通过sparsity_pattern保存稀疏矩阵缓存,variable与factor构造虚函数
types: 	构造二维空间下的variable与factor
slam:	简单的写了几个在二维下做的因子图
test: 	测试主函数

架构

variable: 			相当于图优化里边的顶点
factor: 			通过variable构造成一元边或者二元边, 并且将求解Jacobian也放在此类中(用的是数值求解雅各比)
factor_graph: 		将构造好的variable与factor添加入因子图,由于之后的优化
graph_optimize: 	优化构造好的因子图,这里由于稀疏化技巧所以分出一个sparsity_pattern稀疏缓存器模块
sparsity_pattern: 	包含两个部分一个是variable搜索引导一个是H与b稀疏矩阵缓存

测试

主要测试了:
1. 纯2d_point的优化
2. 2d环境下point与pose的优化(比如, 反光板与里程计)
3. 纯2d_pose的优化,(主要展示了读取g2o文件,并优化的效果)

BUG

1. 加入sqr_info后发现优化速度明显变慢,没找的什么原因

TODO

1. 边缘化操作
2. 如果H并不是稀疏矩阵,通过近似最小度排序变为稀疏矩阵

Build

cd factor_graph_optimize && mkdir build
cd  build && cmake ..
make -j
./g2o_slam2d
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值