Ubuntu16.04系统运行vins mono(完整版环境配置及编译)
**安装环境: 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的世界里徜徉啦!!!
来源:oschina
链接:https://my.oschina.net/u/4369794/blog/4369042