VINS-Mono 初体验
一、基本介绍
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
编译成功截图
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” 编译即可 (我的就是这种情况)
最终的运行结果如下:
上一篇: Centos7安装ik分词器
下一篇: VIO作业(三)补充:g2o学习