欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VINS-Mono 初体验

程序员文章站 2022-04-18 12:46:15
...

一、基本介绍

1. what is vins:

      HUKST Aerial Robotics Group 开发的 visual-inertial slam 算法,覆盖了预积分,边缘化,FEJ 等理论,是学习 VIO 很好的学习资料

     vins-mono 是初始版本,支持单目相机和IMU融合,后来在2019开源了支持双目版本的 VINS-Fusion 版本

2. github:

      https://github.com/HKUST-Aerial-Robotics/VINS-Mono

二、简单上手

1. 必备软件

(1). ROS (Ubuntu 16.04. ROS Kinetic)

(2). Ceres Solver (安装至标准路径,/usr/local/)

(3). Other Eigen, OpenCV

2. catkin_make ROS (常见步骤)

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

   编译成功截图

   VINS-Mono 初体验

3. 下载 EuRoC-MAV-datasets

   网上有人整理了百度云链接,参考 SLAM中常用数据集下载链接(TUM KITTI DSO Mono EuRoC)

4. 运行示例

roscore &
roslaunch vins_estimator vins_rviz.launch   # rviz 可视化
roslaunch vins_estimator euroc.launch # 开启 vins
rosbag play xxx/MH_01_easy.bag  # play rosbag

(1). 出现问题及解决

ERROR: cannot launch node of type [feature_tracker/feature_tracker]: can't locate node [feature_tracker] in package [feature_tracker]
ERROR: cannot launch node of type [vins_estimator/vins_estimator]: can't locate node [vins_estimator] in package [vins_estimator]
ERROR: cannot launch node of type [pose_graph/pose_graph]: can't locate node [pose_graph] in package [pose_graph]

<1>. 可能原因1: opencv 版本问题,https://github.com/HKUST-Aerial-Robotics/VINS-Mono/issues/75

<2>. 可能原因2: ~/catkin_ws/src 目录下有其他非 ros 工程,编译时使用的是 "catkin_make_isolated" 命令,将该 非 ros工程移除到 catkin_ws 外,然后 “catkin_make” 编译即可  (我的就是这种情况)

最终的运行结果如下:

VINS-Mono 初体验

相关标签: # vio