一、下载EuRoC数据集
见我的另一篇博客:ubuntu20.04运行VINS-Mono(跑EuRoC数据集)-CSDN博客
二、安装VINS-Fusion
1、下载VINS-Fusion
和VINS-Mono一样的流程
链接:GitHub - HKUST-Aerial-Robotics/VINS-Fusion: An optimization-based multi-sensor state estimator
2、解决错误
这个博客写的非常全,按照要求修改即可。
备注:其中
set(CMAKE_CXX_FLAGS “-std=c++11”)
我是直接修改为
set(CMAKE_CXX_FLAGS “-std=c++14”)
3、编译
catkin_make
编译成功:
把工作空间放入.bashrc文件中,这样就不用每次source
source ~/vinsfusion_ws/devel/setup.bash
4、修改配置文件内容
修改VINS-Fusion中的euroc_mono_imu_config.yaml文件,将其中结果输出保存路径修改为本地的绝对路径或相对路径
output_path: "/home/xxx/output/VinsFusion/" #修改为本地的输出目录
三、运行VINS-Fusion
以EuRoC数据集为例,打开四个终端,分别输入
roslaunch vins vins_rviz.launch
rosrun vins vins_node ~/vinsfusion_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml
rosrun loop_fusion loop_fusion_node ~/vinsfusion_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml
rosbag play ~/dataset/MH_01_easy.bag #根据自己选择的rosbag的路径
其中vinsfusion_ws是我的工作空间,修改为你的工作空间名即可。
结果: