开源软件名称(OpenSource Name): LRMPUT/PlaneLoc开源软件地址(OpenSource Url): https://github.com/LRMPUT/PlaneLoc开源编程语言(OpenSource Language):
C++
99.0%
开源软件介绍(OpenSource Introduction): PlaneLoc
An open source project that provides a probabilistic framework
for global localization using segmented planes.
Prerequesties:
-Boost
-Eigen
-PCL 1.8
-OpenCV >= 3.0
-g2o
-CGAL
Paper
If you find PlaneLoc useful in your academic work please cite the following paper:
@article{wietrzykowski2019,
title = {{PlaneLoc}: Probabilistic global localization in {3-D} using local planar features},
author = {Jan Wietrzykowski and Piotr Skrzypczy\'{n}ski},
journal = {Robotics and Autonomous Systems},
volume = {113},
pages = {160 - 173},
year = {2019},
issn = {0921-8890},
doi = {https://doi.org/10.1016/j.robot.2019.01.008},
url = {http://www.sciencedirect.com/science/article/pii/S0921889018303701},
keywords = {Global localization, SLAM, Planar segments, RGB-D data},
}
Building:
Tested on Ubuntu 16.04.
Install Boost, Eigen, and CGAL:
sudo apt-get install libboost-system-dev libboost-filesystem-dev libeigen3-dev libcgal-dev
Build PCL from sources and install it:
sudo apt-get install libvtk6-dev libflann-dev libxi-dev libxmu-dev libgtest-dev libproj-dev
wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.1.tar.gz
tar xvfj pcl-pcl-1.8.1.tar.gz && cd pcl-pcl-1.8.1
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
sudo make install
Build OpenCV from sources and install it:
wget https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/3.1.0/opencv-3.1.0.zip
unzip opencv-3.1.0.zip && cd opencv-3.1.0
mkdir build && cd build
cmake -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j$(nproc)
sudo make install
Build g2o and install it:
git clone https://github.com/RainerKuemmerle/g2o.git
cd g2o
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
Build PlaneLoc:
mkdir build && cd build
cmake ..
make -j$(nproc)
Dataset
Dataset is available here .
Building your own maps
Accumulated representation files can be generated by setting processFrames
to 1 in settings file. Map is saved in file ../output/acc/acc%05d
every time new accFrames
are processed, so for maps of the whole environment set accFrames
to the number frames in the whole trajectory. For local maps set it to the desired length (usually 50 frames is a good compromise between the map size and the frequency of the localization). If you want to use precomputed local maps set processFrames
to 0 and place generated maps in acc
folder in a trajectory folder.
Launching:
Adjust settings file in res/settings.yml for your dataset.
Launch demo:
./demoPlaneSlam -s ../res/settings.yml
请发表评论