Skip to content

ompl/ompl

Repository files navigation

The Open Motion Planning Library (OMPL)

OMPL is an open source sampling-based motion planning library

  • Over 40 sampling-based planning algorithms (RRT-Connect, PRM, KPIECE, RRT*, and many more) across more than 20 state spaces (SE(3), Euclidean space, and others)
  • Easily extensible to custom planners (Python and C++) and state spaces (C++)
  • SIMD-accelerated planning with VAMP for millisecond planning in both Python and C++

Build Format PyPI

Paper Paper Paper Paper Paper

Installation

Visit the OMPL installation page for detailed installation instructions.

OMPL has the following required dependencies:

  • Boost (version 1.68 or higher)
  • CMake (version 3.12 or higher)
  • Eigen (version 3.3 or higher)

The following dependencies are optional:

  • VAMP (enabled by default) - Vector-Accelerated Motion Planning for high-performance collision checking with SIMD optimization
  • Doxygen (needed to create a local copy of the documentation at https://ompl.kavrakilab.org/core)
  • Flann (FLANN can be used for nearest neighbor queries by OMPL)
  • Spot (Used for constructing finite automata from LTL formulae.)
  • yaml-cpp (Used for reading and writing YAML world descriptions in the PlanarManipulator demos)

Once dependencies are installed, you can build OMPL on Linux, macOS, and MS Windows. Go to the top-level directory of OMPL and type the following commands:

git submodule update --init --recursive 
mkdir -p build/Release
cd build/Release
cmake ../..
make -j <num_cores> # replace <num_cores> with the number of cores on your machine

To install the Python bindings, go to the top-level directory of OMPL and type the following commands:

git submodule update --init --recursive
pip install ./py-bindings

About

The Open Motion Planning Library (OMPL)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages