An Efficient Probabilistic 3D Mapping Framework Based on Octrees. Contains the main OctoMap library, the viewer octovis, and dynamicEDT3D.
C++ CMake C Other
Latest commit 817af60 Feb 24, 2017 @cehberlin cehberlin committed with ahornung Replace ${CMAKE_SOURCE_DIR} with ${PROJECT_SOURCE_DIR}
Enables embedding octomap into other source structures, for instance through add_subdirectory() (#157)

OctoMap - An Efficient Probabilistic 3D Mapping Framework Based on Octrees.

Originally developed by Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2014. Currently maintained by Armin Hornung. See the list of contributors for further authors.


Download the latest releases:

API documentation:

Build status: Build Status

Report bugs and request features in our tracker:

A list of changes is available in the octomap changelog


OctoMap consists of two separate libraries each in its own subfolder: octomap, the actual library, and octovis, our visualization libraries and tools. This README provides an overview of both, for details on compiling each please see octomap/ and octovis/ respectively. See and if you want to use OctoMap in ROS; there are pre-compiled packages available.

You can build each library separately with CMake by running it from the subdirectories, or build octomap and octovis together from this top-level directory. E.g., to only compile the library, run:

cd octomap
mkdir build
cd build
cmake ..

To compile the complete package, run:

cd build
cmake ..

Binaries and libs will end up in the directories bin and lib of the top-level directory where you started the build.

See octomap README and octovis README for further details and hints on compiling, especially under Windows.