
SparseOptimizer是最终要维护的东西,优化之前需要指定求解器和迭代算法。求解器Solver包含一个SparseBlockMatrix (用于计算稀疏的雅可比和海塞矩阵)以及一个线性方程求解器BlockSolver<>
可从PCG, CSparse, Choldmod 三者选一。
在g2o中选择优化方法一共需要三个步骤:
- 选择一个线性方程求解器,从 PCG, CSparse, Choldmod中选,实际则来自 g2o/solvers 文件夹中定义的东东。
- 选择一个 BlockSolver 。
- 选择一个迭代策略,从GN, LM, Doglog中选。
typedef g2o::BlockSolver< g2o::BlockSolverTraits<6,3> > Block; //矩阵块
Block::LinearSolverType* linearSolver = new g2o::LinearSolverDense<Block::PoseMatrixType>(); //选择线性方程求解器
Block* solver_pt

本文详细介绍了在使用g2o库时遇到的问题,包括优化器的配置、静态库路径设置以及依赖项安装。针对初始化错误和加载共享库失败的问题,提出了将linearSolver和solver_ptr更改为std::unique_ptr<>类型的解决方案,并指导如何解决g2o库路径配置和依赖项安装中的常见问题。
最低0.47元/天 解锁文章
99

被折叠的 条评论
为什么被折叠?



