Package Summary

The cob_3d_mapping_geometry_map package provides a node for processing and visualization of 3D environment data.


The node subscribes to messages of type ShapeArray, handling shapes of types polygon and cylinder. If necessary the shapes are transformed to a common target frame. Reoccuring shapes are associated and merged accordingly. For every input message the resulting aggregated geometric map is published and ready for visualization in rviz or further processing in cob_3d_visualization.


Subscribed Topics

/shape_array (cob_3d_mapping_msgs/ShapeArray)
  • Input topic with geometric shapes.
/tf (/tf)
  • Transformations, connecting target frames

Published Topics

/geometry_map/map_array (cob_3d_mapping_msgs/ShapeArray)
  • Array with geometric shapes
/geometry_map/geometry_marker (visualization_msgs/Marker)
  • Line strip of shape contours.
/geometry_map/primitives (visualization_msgs/Marker)
  • Cylinder marker visualization of cylinder pieces.


clear_map (cob_srvs/Trigger)
  • Clears the geometry map.
get_map (cob_3d_mapping_msgs/GetGeometryMap)
  • Returns the current geometry map.
set_map (cob_3d_mapping_msgs/SetGeometryMap)
  • Sets a map, overrides existing map
modify_map (cob_3d_mapping_msgs/ModifyMap)
  • Returns the modified map


~map_frame_id (string, default: "/map")
  • Target frame the map is supposed to be transformed to. Make sure, that the corresponding transformation is available as /tf topic in the input data.
~enable_tf (bool, default: true)
  • If set to false, transformation of incoming shapes to the map frame is deactivated. Use this option if no tf is available.
~d (double, default: 0.05)
  • Distance threshold. If distance between two shapes falls below this value, they are considered merge candidates.
~cos_angle (double, default: 0.97)
  • Cosine of angle threshold. If angular merge criteria falls below this value, shapes are considered merge candidates.


The geometry map node can be started using the corresponding launch file:

roslaunch cob_3d_mapping_geometry_map geometry_map.launch

Save map to a bag file

rosrun cob_3d_mapping_geometry_map get_geometry_map map.bag

Clear the map

rosservice call geometry_map/clear_map

Load an initial map from a bag file

  • Edit set_geometry_map.launch: set the path to map.bag as file_path
  • Load the map

roslaunch cob_3d_mapping_geometry_map set_geometry_map.launch


A sample point_map of a scene, recorded in a kitchen.


The result of using the cob_3d_mapping_geometry_map is shown below. It consists of published shapes, geometry markers and cylinder primitives.


If one intends to use the enhanced capabilities provided by interactive markers, the node is started according to cob_3d_visualization.


Wiki: cob_3d_mapping_geometry_map (last edited 2013-01-31 14:01:24 by GeorgArbeiter)