Ubuntu16.04系统运行vins mono(完整版环境配置及编译)

风格不统一 提交于 2020-08-17 09:48:31

**安装环境: ubuntu16.04+ROS kinetic+opencv3.3.1+eigen3.3.3+ceres solver 1.14 **

一.ROS Kinetic的安装

1.设置sources.list

$sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2.设置key

$sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3.更新package

$sudo apt-get update

4.安装ROS kinetic完整版

$sudo apt-get install ros-kinetic-desktop-full

5.初始化rosdep

$sudo rosdep init

$rosdep update

注意:这一步通常会失败,因为网站的原因,直接跳过即可

6.配置ROS环境

$echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

$source ~/.bashrc

7.安装依赖项

$sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

8.测试ROS是否安装成功

1)CTRL+ALT+T打开终端(Termial),输入以下命令,初始化ROS环境:

$roscore

成功打开如下图所示:

在这里插入图片描述

上面显示有ROS的版本,还有一些节点、端号等内容。

2)再 打开一个新的终端(Termial),输入以下命令,弹出一个小乌龟窗口:

$rosrun turtlesim turtlesim_node

3)出现一个小乌龟的LOGO后,再 打开一个新的终端(Termial),输入以下命令

$rosrun turtlesim turtle_teleop_key

然后,通过方向键控制小乌龟的移动:如下图所示

在这里插入图片描述

4) 打开新的Termial,输入以下命令,可以查看ROS节点信息:

$rosrun rqt_graph rqt_graph

如图所示:
在这里插入图片描述

如果你能顺利进行到这一步,说明ROS安装成功了。

二.opencv3.3.1的安装

1.下载opencv包(这里是一个百度网盘链接)

复制这段内容后打开百度网盘手机App,操作更方便哦
链接: https://pan.baidu.com/s/1nxmUywmP_WhebyX-HSmOfQ
提取码:90w9

2.安装pip和numpy

$sudo apt install python-pip

$pip install numpy

3.安装依赖项

$sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev libtbb-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libpng-dev libdc1394-22-dev

4.解压opencv安装包,然后进行安装

$tar -xzvf opencv-3.3.1.tar.gz(可手动解压)
$cd opencv-3.3.1/(在终端打开opencv文件夹)
$cd ..
$mkdir build
$cd build
$cmake ..
$cmake ..
$make (多线程可能会报错,保险起见,直接make吧)
$make install

5.安装完成

三.eigen3.3.3的安装

1.安装

$sudo apt-get install libeigen3-dev   #即可

2.可输入以下命令寻找安装位置:

$sudo updatedb
$locate eigen3

四.ceres1.14的安装

1.github的下载链接

链接: https://github.com/ceres-solver/ceres-solver/tree/master

注意(这里的branch要切换到1.14版本)

2.安装依赖项

注意:若为Ubuntu14.04则应为libcxsparse3.1.2

$sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.4 libgflags-dev libgoogle-glog-dev libgtest-dev
$sudo apt-get install cmake
$sudo apt-get install libgoogle-glog-dev
$sudo apt-get install libatlas-base-dev
$sudo apt-get install libeigen3-dev

SuiteSparse和CXSparse(可选)

  • 如果要将Ceres构建为* static *库(默认),您可以在主Ubuntu软件包#storage中使用SuiteSparse软件包:
$sudo apt-get install libsuitesparse-dev         #但是,如果要将Ceres构建为* shared *库,则必须添加以下PPA:

$sudo add-apt-repository ppa:bzindovic / suitesparse-bugfix-1319687

$sudo apt-get update

$sudo apt-get install libsuitesparse-dev

3.安装

解压Cere安装包,进入安装目录下:

$tar zxf ceres-solver-1.14.0.tar.gz

$cd ceres-solver-1.14.0

$mkdir build

$cmake ..

$make

$make install

安装完成

五.数据集的下载与运行

1.下载EuRoC数据集

国外网站进不去,分享一个百度网盘链接吧(这个数据集比较大,可以下载其中的一部分,这里用的的是bag包,以MH-01.bag为例)

链接: https://pan.baidu.com/s/1JTmvlF-mxV-Wolhh50ur_w
提取码:2cf1

2.创建ROS工作空间

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

3.编译VINS(环境需要配置正确)

$cd ~/catkin_ws/src ##// 进入刚刚创建的工作空间中的src文件
$git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git ###//下载代码,
$cd ../
$catkin_make     ##///编译这与之前创建的工作空间同名

4.运行VINS

打开三个终端,

第一个终端:

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

第二个终端:

$source ~/catkin_ws/devel/setup.bash ##///配置环境变量
$roslaunch vins_estimator vins_rviz.launch  ////##启动rviz

rviz启动界面如下图所示.

在这里插入图片描述

第三个终端:

$source ~/catkin_ws/devel/setup.bash   ##///配置环境变量
$ rosbag play ~/数据集的路径(我的路径是home/yhr/下载/)/MH_01_easy.bag  #加载数据集

激动人心的时刻到了!!!

运行结果:
在这里插入图片描述
接下来就可以在VIOslam的世界里徜徉啦!!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!