
VINS
记录美好时刻!
TB81266
机器人SLAM
展开
-
VINS-mono论文带读及代码深度解析 [目录]
文章目录前言前言本文结合深蓝学院《VIO》课程,对VINS-mono的论文以及代码展开了详细的学习和介绍。原创 2020-07-17 16:58:43 · 2039 阅读 · 3 评论 -
七、VINS-mono 代码解析——紧耦合后端非线性优化 IMU+视觉的残差residual、Jacobian、协方差、基于舒尔补的边缘化
目录一、VIO残差函数的构建1、需要优化的状态向量:2、目标函数为:二、视觉约束(细致)1.视觉重投影误差residual(归一化平面)2、优化变量3、Jacobian4、协方差三、IMU约束(粗略,祥细见之前)1、残差:2、优化变量:3、IMU测量残差公式推导4、残差对状态量的Jacobian5、残差对状态量的协方差四、基于舒尔补的边缘化1、论文部分2、基本公式3、舒尔补4、marg后形成的先验5 具体例子5.1 原来的信息矩阵H的构成5.2 舒尔补后形成新的原创 2020-07-16 20:55:43 · 1567 阅读 · 1 评论 -
五、VINS-mono 代码解析——VIO初始化之SFM详解
文章目录前言前言我们知道VINS采用了视觉和IMU的松耦合初始化方案。我将初始化分为两部分, 第一部分就是本文主要讲的SFM. 第二部分为视觉部分和IMU部分之间的关联.由于单目紧耦合的VIO是一个高度非线性系统,单目视觉没有尺度信息,IMU的测量又存在偏置误差,如果没有良好的初始值很难将这两种测量结果有机融合,因而初始化是VIO最敏感的环节。本文主要介绍运动恢复结构(SFM)得到纯视觉系统的初始化, 即滑动窗口中所有帧的位姿和所有路标点的3d位置 ,然后讨论视觉部分和IMU部分之间的关联,如何对两原创 2020-07-16 20:43:55 · 2456 阅读 · 2 评论 -
VINS-mono 代码解析——IMU预积分processIMU( )实现
文章目录前言一 processIMU()函数1 IMU 预积分IntegrationBase类2 push_back()函数3 evaluate()函数前言在VINS-mono中,estimator/src/estimator_node.cpp中,从主函数依次为:main( )---->process( )---->processIMU( )其中,processIMU( )函数的原型为:void Estimator::processIMU(double dt, const Vecto原创 2020-07-13 20:24:13 · 2432 阅读 · 0 评论 -
VINS-Mono代码解析——状态估计器流程 vins_estimator/estimator_node.cpp
参考博客:https://blog.youkuaiyun.com/qq_41839222/article/details/86293038参考博客文章目录前言流程图代码结构输入输出estimator_node.cpp一 程序入口 int main(int argc, char **argv)参数二 订阅IMU、feature、restart、match_points的话题topicimu_callback()回调函数feature_callback()函数restart_callback()relocalizati原创 2020-07-13 15:03:03 · 1160 阅读 · 0 评论 -
VINS-Mono 代码解析——视觉跟踪 feature_trackers
文章目录理论分析数据预处理框架一、feature_tracker_node.cpp理论分析数据预处理框架代码流程如下图:主要三个源程序,feature_tracker_node是特征跟踪线程的系统入口,feature_tracker是特征跟踪算法的具体实现,parameters是设备等参数的读取和存放。一、feature_tracker_node.cpp主要分为两部分:int main()函数为程序入口,void img_callback()为ROS的回调函数,对图像进行特征点追踪,处理和发布。原创 2020-07-12 11:05:17 · 1884 阅读 · 0 评论 -
VINS-mon代码解析——启动文件lauch文件与参数配置文件yaml介绍
文章目录前言启动文件launch前言参考链接:https://blog.youkuaiyun.com/qq_41839222/article/details/86564879一般我们通过以下命令运行VINS-Mono跑MH_01数据集。roslaunch vins_estimator euroc.launch roslaunch vins_estimator vins_rviz.launchrosbag play YOUR_PATH_TO_DATASET/MH_01_easy.bag 那么,VINS的启原创 2020-07-11 16:09:20 · 1272 阅读 · 1 评论 -
VINS-Mono 代码详细解读——IMU预积分的残差、Jacobian和协方差
前言:对第k帧和第k+1帧之间所有的IMU进行积分,可得到第K+1帧的PVQ(位置、速度、旋转),作为视觉估计的初始值。每次qwbt优化更新后,都要重新进行积分,运算量较大。将积分模型转为预积分模型:PVQ积分公式中的积分项变为相对于第i时刻的姿态,而不是相对于世界坐标系的姿态。目录一、IMU离散中值预积分理论基础1、没...转载 2020-07-08 22:41:51 · 3189 阅读 · 0 评论