![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
grid_map_octomap | |
dynamic_edt_3d | |
octovis |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
grid_map_octomap | |
dynamic_edt_3d | |
octovis |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
grid_map_octomap | |
dynamic_edt_3d | |
octovis |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
grid_map_octomap | |
dynamic_edt_3d | |
octovis |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
grid_map_octomap | |
dynamic_edt_3d | |
octovis |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
grid_map_octomap | |
dynamic_edt_3d | |
octovis |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
grid_map_octomap | |
dynamic_edt_3d | |
octovis |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
dynamic_edt_3d | |
octovis |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
dynamic_edt_3d | |
octovis |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
dynamic_edt_3d | |
octovis | |
rtabmap | |
rtabmap_ros |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
dynamic_edt_3d | |
octovis | |
rtabmap |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/octomap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
grid_map_octomap | |
dynamic_edt_3d | |
octovis |
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/OctoMap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/OctoMap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/OctoMap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/OctoMap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/OctoMap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/OctoMap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | DEVELOPED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged octomap at Robotics Stack Exchange
![]() |
octomap package from octomap repodynamic_edt_3d octomap octovis |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.10.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/OctoMap/octomap.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-20 |
Dev Status | DEVELOPED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Armin Hornung
- Wolfgang Merkt
Authors
- Kai M. Wurm
- Armin Hornung
Octomap - A probabilistic, flexible, and compact 3D mapping library for robotic systems
Authors: Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2013. https://octomap.github.io
See the list of contributors for further authors.
License for octomap: New BSD License
REQUIREMENTS
- For only the octomap library: cmake and a regular build environment (gcc)
- For HTML documentation: doxygen (optional)
- For the viewer octovis: Qt4, OpenGL, QGLViewer (optional)
Skip to WINDOWS for tips on compilation under Windows. You can install all dependencies on Ubuntu by running:
sudo apt-get install cmake doxygen libqt4-dev libqt4-opengl-dev libqglviewer-dev-qt4
(Note: for older releases of Ubuntu you need to exchange the last package name with libqglviewer-qt4-dev
)
INSTALLATION
See http://www.ros.org/wiki/octomap if you want to use OctoMap in ROS! There are pre-compiled packages for octomap, octovis, and ROS integration available.
Build the complete project by changing into the “build” directory and running cmake:
mkdir build && cd build
cmake ..
Type make
to compile afterwards. This will create all CMake
files cleanly in the build
folder (Out-of-source build).
Executables will end up in bin
, libraries in lib
.
A debug configuration can be created by running:
cmake -DCMAKE_BUILD_TYPE=Debug ..
in build
or a different directory (e.g. build-debug
).
You can install the library by running make install
, though it
is usually not necessary. Be sure to adjust CMAKE_INSTALL_PREFIX
before.
The target make test
executes the unit tests for the octomap library,
if you are interested in verifying the functionality on your machine.
DOCUMENTATION
The documentation for the latest stable release is available online: https://octomap.github.io/octomap/doc/index.html
You can build the most current HTML-Documentation for your current
source with Doxygen by running make docs
in the build directory. The documentation will end up in
doc/html/index.html
in the main directory.
GETTING STARTED
Jump right in and have a look at the example src/octomap/simple_example.cpp
Or start the 3D viewer with bin/octovis
You will find an example scan and binary tree to load in the directory share
.
Further examples can be downloaded from the project website.
USE IN OTHER PROJECTS
A CMake-project config is generated for OctoMap which allows OctoMap to be used from other CMake-Projects easily.
Point CMake to your octomap installation so that it finds the file
octomap/lib/cmake/octomap/octomap-config.cmake, e.g. by setting the environment
variable octomap_DIR
to the directory containing it.
Then add the following to your CMakeLists.txt:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
In addition to this cmake-module we also provide a pkgconfig-file.
For convenience, there is a minimal example project included in the file share/example-project.tgz
File truncated at 100 lines see the full file
``` v1.10.0: 2024-03-19 ===================
- CMake: Fix duplicate uninstall target (#406)
- Fix errors with recent compilers and C++17/20 standard (#394)
- Fix ScanGraph.h c++20 compilation error (#398)
- Add smaller than operator for vectors (#330)
- Add vcpkg installation instructions to Readme (#382)
- Fix test dependencies in CMakeLists (#374)
- replace deprecated std::iterator by defining required types (#373)
- octovis: fix issue with saving not showing any dialog (#414)
- octovis: Fix deprecated QString and glext redefinition warning (#375)
- octovis: Declare missing dependency on opengl (#408)
- ROS: Updates to compile cleanly on ROS 2 Rolling on Ubuntu 24.04 (#415)
- ROS: Remove ccache for ROS-Industrial CI yml (#413)
- ROS: Remove EOL ROS distros from CI actions
v1.9.8: 2022-05-12
- Also set lowercase octomap_* variables in CMake config (#369)
- Fix float tests and overflow problem in binvox2bt
- Fix to freespace update when bbx is set. (#360)
- Update Doxygen & URLs (#354,#352)
- make setBBXMin/Max parameters const (#348)
- ROS: Remove unused ament_cmake dependency.
- octovis: Implement volume selection features (#339)
- octovis: Link dependencies in octovis-static library (#340)
v1.9.7: 2021-05-03
- Use explicit casting to prevent implicit sign conversion
- REP-136 compliance and compatibility with ROS1 & ROS2 using single branch
v1.9.6: 2021-01-23
- Fixed ifstream » byte with c++17
- strict warnings_as_errors compiler options and corresponding fixes
- octovis: Fixed qmake command to build libQGLViewer with Qt5.
- octovis: adapted to be compatible with libQGLViewer >= 2.7.0
- octovis: use -fPIC with all compilers
v1.9.5: 2020-03-25
- octovis: Update ROS dependencies to Qt5
v1.9.4: 2020-03-15
- octovis: Enable Qt5 by default
- Support added for configurable libdir for packaging
- Increased minimum CMake version to 3.0.2
v1.9.3: 2019-12-26
- Fixed Wpedantic warnings
- Removed problematic INSTALL_NAME_DIR (maxOS workaround)
v1.9.2: 2019-11-28
- Fixed ROS buildfarm failures for octovis
v1.9.1: 2019-11-23
- Improved compatibility with modern compilers and ROS2
v1.9.0: 2017-04-28
- Fixed getUnknownLeafCenters to return true leaf centers (thx to A. Ecins)
- dynamicEDT3D templated over OctoMap type (thx to J.V. Gomez)
- Added optimized rendering option and command line option for tree cutoff in octovis (thx to F. Endres)
- Added optional Qt5 support in octovis (thx to K. Stepanas)
- Improved the generation of config.cmake and version.cmake files, make them relocatable via CONFIGURE_PACKAGE_CONFIG_FILE (thx to J.V. Gomez)
- Enable rpath on OS X when the CMake version supports it (thx to J. Snape)
- Added version information to *-config.cmake files and exported targets to CMakeLists.txt (thx to J. Snape)
- Improved CMake build by specifically targeting local includes (thx to C.-E. Hrabia)
v1.8.1: 2017-01-13
- Disambiguated isnan (C++11)
- Fixed #123: Set root=NULL in clear()
- Fixed #131: Portable binary read/write of Pointcloud and ScanGraph (uint32_t)
v1.8.0: 2016-04-20
- Fixed #98: The tree structure in memory is now maintained in OcTreeBaseImpl to enable safely deriving custom node classes. The following functions were moved from OcTreeDataNode into OcTreeBaseImpl: createChild(…) -> OcTreeBaseImpl::createNodeChild(…) getChild(…) -> OcTreeBaseImpl::getNodeChild(…) expandNode() -> OcTreeBaseImpl::expandNode(…) pruneNode() -> OcTreeBaseImpl::pruneNode(…) hasChildren() -> OcTreeBaseImpl::nodeHasChildren(…) childExists(…) -> OcTreeBaseImpl::nodeChildExist(…) collapsible() -> OcTreeBaseImpl::isNodeCollapsible(…) If you use custom derived node classes, you need to adjust your code to the
File truncated at 100 lines see the full file