代码: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)