Installation {#installation}
\htmlonly
Select your operating system:
Ubuntu
chmod u+x install-ompl-ubuntu.shNext, there are several ways to run this script:
./install-ompl-ubuntu.sh
will install the latest release of OMPL without Python bindings./install-ompl-ubuntu.sh --python
will install the latest release of OMPL with Python bindings./install-ompl-ubuntu.sh --app
will install the latest release of OMPL.app with Python bindings./install-ompl-ubuntu.sh --github
will install the main branch of OMPL (this can be combined with the other flags above)
apt-get
& pip
and from source. It will ask for your password to install things. The script has been tested on vanilla installs of 16.04 (Xenial) and higher. The Python binding generation requires a lot of RAM; having 6GB or more available is recommended.
apt-get install libompl-dev ompl-demosNote that this package does not include Python bindings.
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" > /etc/apt/sources.list.d/ros-latest.list' wget http://packages.ros.org/ros.key -O - | sudo apt-key add -and install OMPL:
sudo apt-get update sudo apt-get install ros-`rosversion -d`-omplPlease see MoveIt for further information.
Fedora
Simply type:sudo yum install omplNote that this package does not include Python bindings.
Linux (generic)
OMPL requires Boost (version 1.68 or higher), CMake (version 3.5 or higher), Eigen (version 3.3 or higher), and yaml-cpp (for parsing YAML configuration files, required for VAMP demos). To be able to generate python bindings you need to install the Python library and header files and Py++. Finally, you need a C++17 compiler (g++-7 or newer).
Note: OMPL includes VAMP (Vector-Accelerated Motion Planning) by default, which requires git
for submodule initialization.
Once the dependencies are installed, OMPL can then be compiled like so:
- Create a build directory and run cmake:
cd ompl mkdir -p build/Release cd build/Release cmake ../..
- Optionally, generate the Python bindings with
make -j 4 update_bindings
. The Python binding generation requires a lot of RAM; having 6GB or more available is recommended. - Compile OMPL by typing
make -j 4
. - Optionally, run the test programs by typing
make test
. - Optionally, generate the documentation (i.e., a local copy of this web site) by typing
make doc
(requires Doxygen and Graphviz to be installed).
The build system includes a number of options that you can enable or disable.
macOS
sudo port sync \; install omplIf you want to build OMPL from source, you can install just the OMPL dependencies like so:
sudo port install `port -q info --depends ompl | sed 's/,//g'`
Note: OMPL includes VAMP (Vector-Accelerated Motion Planning) by default, which requires git
for submodule initialization.
Once the dependencies are installed, OMPL can then be compiled like so:
- Create a build directory and run cmake:
cd ompl mkdir -p build/Release cd build/Release cmake ../..
- Optionally, generate the Python bindings with
make -j 4 update_bindings
. - Compile OMPL by typing
make -j 4
.
brew install omplNote that the Homebrew formula does not include Python bindings. You could install all the dependencies for OMPL and the Python bindings and build OMPL from source:
brew install eigen castxml numpy boost-python3 pypy3 flann yaml-cpp
Note: OMPL includes VAMP (Vector-Accelerated Motion Planning) by default, which requires git
for submodule initialization.
When building from source, initialize git submodules for VAMP:
git submodule update --init --recursiveMake sure to use Homebrew's python3 in that case by calling
cmake
like so:
cmake -DPYTHON_EXEC=/usr/local/bin/python3 ...
MS Windows
It is recommended to use vcpkg, a Microsoft-supported package manager for open source software. Once you have vcpkg installed, you can install OMPL like so:vcpkg install omplNote that the vcpkg installation does not include Python bindings.
If you want to build OMPL from source on Windows:
Note: OMPL includes VAMP (Vector-Accelerated Motion Planning) by default, which requires git
for submodule initialization.
- Follow the standard CMake build process with your preferred compiler (Visual Studio, MinGW, etc.)
CMake Fetchcontent
If you want to build ompl from source as part of another repository, FetchContent is one approach. In CMake, you can fetch and link like so:include(FetchContent) FetchContent_Declare( ompl GIT_REPOSITORY https://github.com/ompl/ompl.git GIT_SUBMODULES_RECURSE ON # Required for VAMP integration ) FetchContent_MakeAvailable(ompl)add_executable(main main.cpp) target_link_libraries(main PRIVATE ompl::ompl)
Note: The GIT_SUBMODULES_RECURSE ON
option ensures that VAMP submodules are automatically initialized.