Note: Version compatible with latest GTSAM is being maintained at borglab/gpmp2.
This library is an implementation of GPMP2 (Gaussian Process Motion Planner 2) algorithm described in Motion Planning as Probabilistic Inference using Gaussian Processes and Factor Graphs (RSS 2016). The core library is developed in C++ language with an optional Python 2.7 toolbox. GPMP2 was started at the Georgia Tech Robot Learning Lab, see THANKS for contributors.
sudo apt-get install cmake
), compilation configuration tool.sudo apt-get install libboost-all-dev
), portable C++ source libraries.wrap_export
, a C++ library that implements smoothing and mapping (SAM) framework in robotics and vision. Here we use the factor graph implementations and inference/optimization tools provided by GTSAM.git clone https://github.com/borglab/gtsam.git
cd gtsam
git checkout wrap-export
mkdir build && cd build
cmake ..
make check # optional, run unit tests
sudo make install
echo 'export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/share:${LD_LIBRARY_PATH}' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/gtrll/gpmp2.git
cd gpmp2 && mkdir build && cd build
cmake ..
make check # optional, run unit tests
sudo make install
conda create -n gpmp2 pip python=2.7
conda activate gpmp2
pip install cython numpy scipy matplotlib
conda deactivate
conda activate gpmp2
git clone https://github.com/borglab/gtsam.git
cd gtsam
git checkout wrap-export
mkdir build && cd build
cmake -DGTSAM_INSTALL_CYTHON_TOOLBOX:=ON ..
make check # optional, run unit tests
sudo make install
conda deactivate
echo 'export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/share:${LD_LIBRARY_PATH}' >> ~/.bashrc
echo 'export PYTHONPATH=/usr/local/cython:${PYTHONPATH}' >> ~/.bashrc
source ~/.bashrc
conda activate gpmp2
git clone https://github.com/gtrll/gpmp2.git
cd gpmp2 && mkdir build && cd build
cmake -DGPMP2_BUILD_PYTHON_TOOLBOX:=ON ..
make check # optional, run unit tests
sudo make install
cd ../gpmp2_python && pip install -e .
conda deactivate
If you use GPMP2 in an academic context, please cite following publications:
@inproceedings{Mukadam-IJRR-18,
Author = {Mustafa Mukadam and Jing Dong and Xinyan Yan and Frank Dellaert and Byron Boots},
Title = {Continuous-time {G}aussian Process Motion Planning via Probabilistic Inference},
journal = {The International Journal of Robotics Research (IJRR)},
volume = {37},
number = {11},
pages = {1319--1340},
year = {2018}
}
@inproceedings{Dong-RSS-16,
Author = {Jing Dong and Mustafa Mukadam and Frank Dellaert and Byron Boots},
Title = {Motion Planning as Probabilistic Inference using {G}aussian Processes and Factor Graphs},
booktitle = {Proceedings of Robotics: Science and Systems (RSS)},
year = {2016}
}
@inproceedings{dong2018sparse,
title={Sparse {G}aussian Processes on Matrix {L}ie Groups: A Unified Framework for Optimizing Continuous-Time Trajectories},
author={Dong, Jing and Mukadam, Mustafa and Boots, Byron and Dellaert, Frank},
booktitle={2018 IEEE International Conference on Robotics and Automation (ICRA)},
pages={6497--6504},
year={2018},
organization={IEEE}
}
GPMP2 is released under the BSD license, reproduced in LICENSE.