GithubHelp home page GithubHelp logo

tae-kyun-kim / gpmp2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gtrll/gpmp2

0.0 0.0 1.0 615 KB

Gaussian Process Motion Planner 2

License: Other

Shell 0.26% C++ 62.48% Python 24.52% MATLAB 11.91% CMake 0.83%

gpmp2's Introduction

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.

Prerequisites

  • CMake >= 3.0 (Ubuntu: sudo apt-get install cmake), compilation configuration tool.
  • Boost >= 1.50 (Ubuntu: sudo apt-get install libboost-all-dev), portable C++ source libraries.
  • Anaconda2, virtual environment needed if installing python toolbox.
  • GTSAM == 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.

Installation (C++ only)

  • Install 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
  • Setup paths.
    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
  • Install gpmp2.
    git clone https://github.com/gtrll/gpmp2.git
    cd gpmp2 && mkdir build && cd build
    cmake ..
    make check  # optional, run unit tests
    sudo make install

Installation (C++ with Python toolbox)

  • Setup virtual environment.
    conda create -n gpmp2 pip python=2.7
    conda activate gpmp2
    pip install cython numpy scipy matplotlib
    conda deactivate
  • Install GTSAM.
    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
  • Setup paths.
    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
  • Install gpmp2.
    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

Citing

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}
}

License

GPMP2 is released under the BSD license, reproduced in LICENSE.

gpmp2's People

Contributors

mhmukadam avatar dongjing3309 avatar tae-kyun-kim avatar kalyanvasudev avatar

Forkers

helmchoi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.