VINS_Fusion 框架


VINS_Fusion簡介

VINS即Visual-Inertial navigation Systems),港科大在2019年1月12號發布了Vins-fusion,從2017年發布的Vins-mono:單目+IMU,這次晉級了vins-fusion,demo中主要給出了四個版本:單目+imu/純雙目/雙目+imu/雙目+imu+GPS.
VINS-Fusion是基於優化的多傳感器狀態估計器,可為自主應用(無人機,汽車和AR/VR)實現准確的自定位。
VINS-Fusion是VINS-Mono的擴展,它支持多種視覺慣性傳感器類型(單攝像機+IMU,立體攝像機+IMU,甚至純雙目攝像機)。

系統特征

  1. 支持多種傳感器組合(雙目相機/單目相機+IMU/雙目相機+IMU)
  2. 支持在線空間校准(可校准相機和IMU之間的外參)
  3. 支持在線時間校准(可校准相機和IMU之間的時間偏移)
  4. 支持視覺閉環,具有閉環檢測的功能

Github地址

  1. VINS_mono:原版VINS_mono
  2. VINS_Fusion:VINS_mono的雙目版本,也是要學習的重點
  3. VINS_mobile:VINS_mono使用與移動設備的版本
  4. VINS_RGBD:基於VINS_Fusion改進的RGBD相機版本
  5. VINS_Fusion_gpu:VINS_Fusion的GPU版本

系統結構框架

系統流程圖如下所示:

如上圖所示,VINS_Fusion系統主要分為三個部分:

  1. 前端
  2. 初始化
  3. 后端非線性優化

文件目錄

* camera_models
* config
* docker
* global_fusion
* loop_fusion
* support_files
* vins_estimator

安裝與運行測試

環境配置

Ubuntu 64-bit 16.04 or 18.04.
ROS Kinetic or Melodic. [ROS Installation](http://wiki.ros.org/ROS/Installation)
Ceres Solver(Follow [Ceres Installation](http://ceres-solver.org/installation.html)).

可直接參考VINS_Fusion的安裝文件

    cd ~/catkin_ws/src
    git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git
    cd ../
    catkin_make
    source ~/catkin_ws/devel/setup.bash

在EuRoC數據集上測試VINS_Fusion

    roslaunch vins vins_rviz.launch
    rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml 
    (optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml 
    rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag

測試結果

接下來需要重點研究的幾個工作

  1. 系統的初始化
  2. 前端特征追蹤策略
  3. 后端的優化
  4. 相機模型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM