2)VINS-Mono/vins_estimator/src/factor/projection_td_factor.cpp 3)vins_estimator/src/estimator.cpp(部分) 由于marginalization residual 已经在边缘化那一节讲过,IMU residual 在预积分那一节讲过,visual residual相关的视觉残差内容和以前介绍ORB SLAM2时候的内容大同小异,所以我们在此只介绍vins_estimator/src/...
VINS-Mono源码解读(一):特征跟踪 FeatureTracker的主要作用是跟踪特征并三角化恢复深度以后发给后端去优化。 FeatureTracker功能相关的代码不只是存放在一个文件中,它存放在VINS-Mono/feature_tracker/src文件夹下的所有文件中,这包括: feature_tracker_node.cpp:特征跟踪功能的可执行文件,也就是main函数所在的文件 featu...
vins-mono源码解读 https://blog.csdn.net/q597967420/article/details/76099409
解释了这三个问题,我们其实就完成了理解VINS-Mono里这个问题的理论部分,下面看代码实践部分。 系统中和边缘化优化相关的代码存放在下列文件中: 1)vins_estimator/src/factor/marginalization_factor.cpp:边缘化的具体实现 2)vins_estimator/src/estimator.cpp(部分): 函数optimization负责利用边缘化残差构建优化模型 函数...
从上面的流程图中可以看出,初始化共分为两大步,第一是纯视觉初始化,第二是视觉惯性联合初始化。另外,如果没有提供相机和IMU之间的外参,VINS-Mono还提供了相应的标定程序。因此我们梳理代码就按照这三部分来梳理。 首先看文件结构,初始化流程相关的代码在vins_estimator/src/estimator.cpp中,具体讲就是initialStructure...
VINS-Mono/vins_estimator/src/factor/integration_base.h 后者被前者调用,是一些更具体的函数的封装 下面就放出各个函数代码吧,代码是和公式一一对应的,所以没有太多的流程梳理 1. propagate:IMU预积分传播方程 propagate( double _dt, //时间间隔 const Eigen::Vector3d &_acc_1, //线加速度 ...