1. 程式人生 > >VINS-Mono研究工作整理——目錄與參考

VINS-Mono研究工作整理——目錄與參考

前言:港科大的VINS-Mono作為目前state of the art的開源VIO專案,是研究視覺與IMU融合的必讀演算法,網上的論文解讀與程式碼實現也非常豐富(感謝!)。為更好地進行學習,本人將在學習之餘逐步整理自己對演算法的論文和實現的相關解讀,歡迎大家一起討論。

原文:VINS-Mono A Robust and Versatile Monocular Visual-Inertial State Estimator

VINS程式碼地址:https://github.com/HKUST-Aerial-Robotics/VINS-Mono


PS. 本人蔘考的VINS-Mono是新版本,程式碼結構有所區別,可以在節點圖中看出增加了一個"/pose_graph"節點。

from github:
29 Dec 2017: New features: Add map merge, pose graph reuse, online temporal calibration function, and support rolling shutter camera.

其中 map reuse 可以參考文章:
Relocalization, Global Optimization and Map Merging for Monocular Visual-Inertial SLAM


目錄!(不斷補充)

VINS-Mono論文翻譯

VINS-Mono程式碼解讀——各種資料結構 sensor_msgs measurements

VINS-Mono程式碼解讀——視覺跟蹤 feature_trackers

VINS-Mono理論學習——IMU預積分 Pre-integration

VINS-Mono程式碼解讀——狀態估計器流程 estimator

VINS-Mono程式碼解讀——視覺慣性聯合初始化 initialStructure() visualInitialAlign()

VINS-Mono程式碼解讀——基於滑動視窗的非線性優化 solveOdometry() optimization() slideWindow()

TUM VIO資料集介紹與嘗試


VINS介紹:

VINS是一種具有魯棒性和通用性的單目視覺慣性狀態估計器。
該演算法主要有以下幾個模組:

  1. 預處理
    影象特徵光流跟蹤
    IMU資料預積分
  2. 初始化
    純視覺Sfm
    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:相機校準模組
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:幫助文件
8、vins_estimator
   factor:實現IMU、camera等殘差模型
   initial:系統初始化,外參標定,SFM
   utility:相機視覺化,四元數等資料轉換
   estimator.cpp:緊耦合的VIO狀態估計器實現
   estimator_node.cpp:ROS 節點函式,回撥函式
   feature_manager.cpp:特徵點管理,三角化,關鍵幀等
   parameters.cpp:讀取引數


參考筆記:(不斷補充)

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