Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
humble

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
jazzy

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
humble

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
humble

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
humble

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
humble

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
humble

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
eloquent

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
dashing

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
galactic

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
foxy

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
iron

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
lunar

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Name
cmake

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
jade

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
indigo

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
hydro

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
kinetic

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
melodic

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange

Package symbol

octomap package from octomap repo

dynamic_edt_3d octomap octovis

ROS Distro
noetic

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

The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++. The map implementation is based on an octree. See http://octomap.github.io for details.

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged octomap at Robotics Stack Exchange