代码:https://github.com/rubengooj/pl-svo

1.Prerequisites and dependencies

(1)SVO

安装SVO,with ROS:https://github.com/uzh-rpg/rpg_svo/wiki ,过程参考:http://www.cnblogs.com/Jessica-jie/p/7780499.html

安装SVO,without ROS.

(2)MRPT---In case of using the provided representation.

sudo apt-get install libmrpt-dev

(3)Line descriptor (in 3rdparty folder)

We have modified the line_descriptor module from the OpenCV/contrib library (both BSD) which is included in the 3rdparty folder.

2.Configuration and generation---配置和生成

运行build.sh文件,生成the line_descriptor模块并且配置和生成PL-SVO库---libplsvo.so(在lib文件夹中);生成了可执行文件bin/run_pipeline。

$ ./build.sh
bash: ./build.sh: Permission denied //文件为只读,或者用户没有权限。
$ chmod 777 build.sh
$ ./build.sh

此过程中出现了错误:

/home/wj/Downloads/pl-svo/include/plsvo/sceneRepresentation.h:119:5: error: ‘CVectorDouble’ does not name a type
CVectorDouble v_aux, v_aux_, v_aux1, v_aux1_, v_auxgt, gt_aux_, v_auxgt_;

修改:找到这个头文件sceneRepresentation.h,将 CVectorDouble换成 mrpt::vector_double 即可。

3. Dataset format and usage

The run_pipeline basic usage is:

./run_pipeline  <dataset_path>  

在< dataset_path >指序列文件夹相对于环境变量${DATASETS_DIR},必须预先设定。序列文件夹必须包含数据集配置文件命名following the examples in pl-svo/config,其中images_subfolder refers to the image subfolder.(图像子文件夹)

error:

$ ./run_pipeline /home/wj/Downloads/PL-SVO/config/dataset_params.yaml
*FATAL*: Signal SIGSEGV caught!
Aborted (core dumped)
05-11 20:16