Skip to content

BloodLemonS/VINS-Mono-Learning

 
 

Repository files navigation

VINS-Mono-Learning

VINS-Mono代码注释,仅供学习

详细内容可参考微博 VINS-Mono论文学习与代码解读——目录与参考

Forked from VINS-Mono: https://github.com/HKUST-Aerial-Robotics/VINS-Mono
29 Dec 2017: New features: Add map merge, pose graph reuse, online temporal calibration function, and support rolling shutter camera.


目录

VINS-Mono论文翻译

VINS-Mono代码解读——启动文件launch与参数配置文件yaml介绍

VINS-Mono代码解读——各种数据结构 sensor_msgs measurements

VINS-Mono代码解读——视觉跟踪

VINS-Mono理论学习——IMU预积分

VINS-Mono代码解读——状态估计器流程

VINS-Mono代码解读——视觉惯性联合初始化流程

VINS-Mono理论学习——视觉惯性对齐与外参标定

VINS-Mono理论学习——后端非线性优化

VINS-Mono理论学习——边缘化

VINS-Mono代码解读——滑动窗口的非线性优化流程

VINS-Mono代码解读——回环检测与重定位

VINS-Mono代码解读——四自由度位姿图优化

TUM VIO数据集介绍与尝试

Realsense D435i如何拿到IMU数据并顺利运行VINS-Mono


VINS介绍:

VINS是一种具有鲁棒性和通用性的单目视觉惯性状态估计器。
该算法主要有以下几个模块:

  1. 预处理
       1)图像特征光流跟踪
       2)IMU数据预积分
  2. 初始化
       1)纯视觉Sfm
       2)Sfm与IMU预积分的松耦合
  3. 基于滑动窗口的非线性优化
  4. 回环检测与重定位
  5. 四自由度位姿图优化

在这里插入图片描述


rqt_graph

node only 在这里插入图片描述

node all在这里插入图片描述


代码的文件目录

1、ar_demo:一个ar应用demo
2、benchmark_publisher:接收并发布数据集的基准值
3、camera_model
   calib:相机参数标定
   camera_models:各种相机模型类
   chessboard:检测棋盘格
   gpl
   sparse_graph
   intrinsic_calib.cc:相机标定模块main函数
4、config:系统配置文件存放处
5、feature_trackers:
   feature_tracker_node.cpp ROS 节点函数,回调函数
   feature_tracker.cpp 图像特征光流跟踪 6、pose_graph:
   keyframe.cpp 关键帧选取、描述子计算与匹配
   pose_graph.cpp 位姿图的建立与图优化
   pose_graph_node.cpp ROS 节点函数,回调函数,主线程
7、support_files:帮助文档、Bow字典、Brief模板文件
8、vins_estimator
   factor:实现IMU、camera等残差模型
   initial:系统初始化,外参标定,SFM
   utility:相机可视化,四元数等数据转换
   estimator.cpp:紧耦合的VIO状态估计器实现
   estimator_node.cpp:ROS 节点函数,回调函数, 主线程
   feature_manager.cpp:特征点管理,三角化,关键帧等
   parameters.cpp:读取参数


参考笔记:

VINS论文推导及代码解析 by 崔华坤

VINS技术路线与代码详解 by 五行缺帅wangshuailpp

VINS-Mono 学习笔记 by 童哲航

VINS-Mono 代码解读 by Rain-XIA

VINS-mono详细解读 by 极品巧克力

参考VINS代码注释:

https://github.com/castiel520/VINS-Mono by castiel520

https://github.com/QingSimon/VINS-Mono-code-annotation by QingSimon


About

VINS-Mono代码注释,仅供学习

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 93.3%
  • CMake 6.7%