Ubuntu16.04编译并运行VINS-MONO

入坑视觉SLAM已经快一年了,目前还没有完整的接触过VIO,一般来说,纯VO都不能满足工程应用需求,因此融合IMU是至关重要的.
VINS作为开源VIO方案中效果数一数二的,实在是很有必要学习一下.并且关于VINS的学习资料很多,有许多大牛都写了相应的博客.本文只是记录一下自己运行VINS的一些经验.

创建ROS工作空间

首先保证电脑安装了ROS系统,在Ubuntu16.04系统中安装的是ROS kinetic,其他Ubuntu系统下装的ROS也是可以的.
创建工作空间的步骤:(对ROS不了解的可以看看古月ROS入门21讲)

mkdir -p ~/vins/src        ##//其中vins是可以更改的,src不能更改
cd ~/vins/src   
catkin_init_workspace    ###//创建工作空间

编译VINS

首先保证电脑安装了相应的依赖项,VINS的依赖项主要有 ceres ,opencv , eigen .网上关于这些依赖项的安装方法有很多.
编译VINS的步骤为:

cd ~/vins/src      ##// 进入刚刚创建的工作空间中的src文件及
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git       ###//下载代码,
cd ../
catkin_make     ##///编译

运行VINS

打开三个终端,
第一个终端:

 source ~/vins/devel/setup.bash   ##///配置环境变量  ,,注意是vins  ,这与之前创建的工作空间名字有关
 roslaunch vins_estimator euroc.launch    ///这是运行euroc数据集的启动节点,,还有其他一些启动节点

第二个终端:

source ~/vins/devel/setup.bash   ##///配置环境变量  ,,注意是vins  ,这与之前创建的工作空间名字有关
roslaunch vins_estimator vins_rviz.launch    ////##启动rviz

rviz启动界面如下图所示.
Ubuntu16.04编译并运行VINS-MONO_第1张图片
第三个终端:

source ~/vins/devel/setup.bash   ##///配置环境变量  ,,注意是vins  ,这与之前创建的工作空间名字有关
rosbag play YOUR_PATH_TO_DATASET/MH_01_easy.bag  ###///播放bag数据集.

运行结果如图所示..
Ubuntu16.04编译并运行VINS-MONO_第2张图片

运行其他数据集

对于vins,运行不同的公开数据集需要启动不同的启动节点,运行实际采集数据集需要更改相应的topic 名称.

你可能感兴趣的:(Ubuntu16.04编译并运行VINS-MONO)