Skip to content
This repository has been archived by the owner on Jul 17, 2023. It is now read-only.

A repository for 3D volumetric (occupancy) maps, providing a generic interface for disparity map and pointcloud insertion, and support for custom sensor error models.

Notifications You must be signed in to change notification settings

ProjectArtemis/volumetric_mapping

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

volumetric_mapping

A repository for 3D volumetric (occupancy) maps, providing a generic interface for disparity map and pointcloud insertion, and support for custom sensor error models.

Packages

volumetric_map_base - base class/package that all volumetric maps should inherit from, contains methods to handle ROS disparity maps and pointclouds.

volumetric_msgs - collection of messages for interacting with various maps.

octomap_world - an octomap-based volumetric representation, both with a library and a stand-alone ROS node.

Dependencies

In addition to ros-indigo-desktop-full, please install:

sudo apt-get install ros-indigo-octomap-mapping

And the following packages: minkindr minkindr_ros eigen_catkin glog_catkin gflags_catkin

On Mac OS X, see the mav_tools Wiki instructions.

Libraries

OctomapWorld - general library for handling insertion of pointclouds, can be run outside of a ROS node, and takes parameters as a struct.

OctomapManager - inherits from OctomapWorld, essentially a ROS wrapper for it. Reads parameters in from the ROS parameter server.

Nodes

octomap_manager

Listens to disparity and pointcloud messages and adds them to an octomap.

Parameters

  • tf_frame (string, default: "/world") - tf frame name to use for the world.
  • resolution (double, default: 0.15) - resolution each grid cell in meters.
  • Q (vector of doubles (representing 4x4 matrix, row-major)) - Q projection matrix for disparity projection, in case camera info topics are not available.
  • map_publish_frequency (double, default: 0.0) - Frequency at which the Octomap is published for visualization purposes. If set to < 0.0, the Octomap is not regularly published (use service call instead).
  • octomap_file (string, default: "") - Loads an octomap from this path on startup. Use load_map service below to load a map from file after startup.

For other parameters, see octomap_world.h.

Subscribed Topics

Published Topics

Services

Running

Run an octomap manager, and load a map from disk, then publish it in the map tf frame:

rosrun octomap_world octomap_manager _tf_frame:=map
rosservice call /octomap_manager/load_map /home/helen/data/my_awesome_octomap.bt
rosservice call /octomap_manager/publish_all

About

A repository for 3D volumetric (occupancy) maps, providing a generic interface for disparity map and pointcloud insertion, and support for custom sensor error models.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 98.6%
  • CMake 1.4%