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,甚至純雙目攝像機)。
系統特征
- 支持多種傳感器組合(雙目相機/單目相機+IMU/雙目相機+IMU)
- 支持在線空間校准(可校准相機和IMU之間的外參)
- 支持在線時間校准(可校准相機和IMU之間的時間偏移)
- 支持視覺閉環,具有閉環檢測的功能
Github地址
- VINS_mono:原版VINS_mono
- VINS_Fusion:VINS_mono的雙目版本,也是要學習的重點
- VINS_mobile:VINS_mono使用與移動設備的版本
- VINS_RGBD:基於VINS_Fusion改進的RGBD相機版本
- VINS_Fusion_gpu:VINS_Fusion的GPU版本
系統結構框架
系統流程圖如下所示:
如上圖所示,VINS_Fusion系統主要分為三個部分:
- 前端
- 初始化
- 后端非線性優化
文件目錄
* 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
測試結果
接下來需要重點研究的幾個工作