PLVS II
Author: Luigi Freda
PLVS is a real-time system that leverages sparse SLAM, volumetric mapping, and 3D unsupervised incremental segmentation. PLVS stands for Points, Lines, Volumetric mapping, and Segmentation.
PLVS is available in two different versions.
- PLVS I: hosted in the branch
plvs1
. It is based on ORB-SLAM2, and supports mono, stereo, and RGB-D cameras. - PLVS II: hosted in the
master
branch. It is based on ORB-SLAM3, and also supports camera systems provided with IMUs.
Here you can find a list of the new features provided by PLVS. You can find further information and videos on this page and in the following document:
PLVS: A SLAM System with Points, Lines, Volumetric Mapping, and 3D Incremental Segmentation
Luigi Freda
Note: PLVS is an active project. This README is under construction and will be updated soon with further information and details.
Quick start
- Install basic dependencies:
$ ./install_dependencies.sh
- Install opencv in a local folder:
$ ./install_local_opencv.sh
(if you want, skip this step and set the variableOpenCV_DIR
inconfig.sh
with your local OpenCV path) - Build the framework:
$ ./build.sh
Running the examples
Once everything is built, you can enter in the Scripts
folder and test the different examples. For instance you can configure and run:
$ ./run_tum_rgbd.sh
for TUM RGB-D datasets$ ./run_kitti_stereo.sh
for KITTI datasets$ ./run_euroc_stereo_inertial.sh
for Euroc datasets, stereo + inertial$ ./run_euroc_stereo.sh
for Euroc datasets, only stereo$ ./run_tum_vi_stereo.sh
for TUM VI datasets, only stereo$ ./run_tum_vi_stereo_inertial.sh
for TUM VI datasets, stereo + inertial
In each of the above scripts, you have to configure the DATASET_BASE_FOLDER
, the specific DATASET
of interest, and the used YAML
configuration file. In particular, each configuration file shows different sections with commented options.
Note: PLVS is an active project. This README is under construction and will be updated soon with further information and details.