ubuntu16.04下安裝運行PL-SLAM

PL-SLAM是Ruben Gomez-Ojeda大神融合點和線特徵SLAM的最新成果,並開放了源代碼,本博文記錄安裝運行PL-SLAM遇到的一些問題。php

1源代碼地址html

https://github.com/rubengooj/pl-slam

 

2編譯配置PL-SLAMgit

安裝依賴

OpenCV 3.x.x

It can be easily found at http://opencv.org.
建議安裝OpenCV 3.1.0,不然編譯過程當中會出現一些.so文件的錯誤,推測做者可能用的這個版本。github

參考教程web

http://www.javashuo.com/article/p-zytoivvx-gp.htmlapi

Eigen3 (tested with 3.2.92)

sudo apt-get install libeigen3-dev

Boost

sudo apt-get install libboost-dev

g2o - General Graph Optimization

It can be found at:
https://github.com/RainerKuemmerle/g2o.git
這裏在編譯時可能會出現錯誤,將安裝好的g2o文件夾中的cmake_modules文件夾複製到~/pl-slam文件夾中便可。 bash

YAML (tested with 0.5.2)

Installation on Ubuntu:app

sudo apt-get install libyaml-cpp-dev

stvo-pl

It can be found at:ide

https://github.com/rubengooj/stvo-pl
這個項目一樣是做者的工做,必須安裝這個項目,由於會用到這個項目的東西。測試

MRPT

https://github.com/MRPT/mrpt/tree/0c3d605c3cbf5f2ffb8137089e43ebdae5a55de3

必須使用這個指定版本的MRPT,不然會編譯報錯

Line Descriptor

We have modified the line_descriptor module from the OpenCV/contrib library (both BSD) which is included in the 3rdparty folder.
這裏不用操做,後面的腳本build.sh會一併安裝。
可是這裏值得特別注意,通常狀況下咱們安裝OpenCV就夠用了,可是爲了使用line_descriptor,必須安裝opencv_contrib,並且最好同時安裝,不然會可能出現一些錯誤。

 

Configuration and generation

cd ~/pl-slam
sh build.sh

編譯過程會出現找不到g2o庫文件的錯誤,經過如下方式解決

cd /usr/local/lib
sudo ln -sv libg2o_csparse_extension.so libg2o_ext_csparse.so

Usage
Datasets configuration

We employ an environment variable, ${DATASETS_DIR}, pointing the directory that contains our datasets. Each sequence from each dataset must contain in its root folder a file named dataset_params.yaml, that indicates at least the camera model and the subfolders with the left and right images. We provide dataset parameters files for several datasets and cameras with the format xxxx_params.yaml.
關鍵是設置數據集路徑的環境變量,閱讀~/pl-slam/app/plslam-dataset.cpp能夠加深理解。

gedit ~/.bashrc
export DATASETS_DIR=/home/zn(改成你的工做目錄)
source ~/.bashrc

在KITTI下載kitti/00數據,並將其放到~/KITTI目錄下。
將~/pl-slam/config/dataset_params/kitti00-02.yaml複製到~/KITTI/kitti/00,而後將kitti00-02.yaml改成dataset_params.yaml.
將~/pl-slam/config/config/config_kitti.yaml中vocabulary_p和vocabulary_l的路徑改成本身的。


SLAM Application

./build/plslam_dataset kitti/00 -c config/config/config_kitti.yaml -o 100 -s 2 -n 1000

 


 

 至此,整個編譯測試過程完成。

相關文章
相關標籤/搜索