Ubuntu16.04系統運行vins mono(完整版環境配置及編譯)
**安裝環境: ubuntu16.04+ROS kinetic+opencv3.3.1+eigen3.3.3+ceres solver 1.14 **javascript
一.ROS Kinetic的安裝
1.設置sources.listjava
$sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.設置keynode
$sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3.更新packagepython
$sudo apt-get update
4.安裝ROS kinetic完整版git
$sudo apt-get install ros-kinetic-desktop-full
5.初始化rosdepgithub
$sudo rosdep init $rosdep update
注意:這一步一般會失敗,由於網站的緣由,直接跳過便可ubuntu
6.配置ROS環境bash
$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的世界裏徜徉啦!!!