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