This package implements the reMap manager. The reMap manager has the following responsibilities:
- manage the activation and deactivation of reMap plugins;
- initializing the objects shared among the plugins.
Two classes are implemented as part of this package:
RemapManager
(inheriting fromrclcpp::Node
): implementing the basic functionalities of a reMap manager, including the ROS 2 interface.SemanticRemapManager
: inheriting fromRemapManager
, it implements and manages all the functionalities relative to the semantic representation, such as the map_handler and the regions register.
This package also provides a ROS 2 node, remap_manager_node
, initializing and spinning a SemanticRemapManager
object.
This node initializes and spins a SemanticRemapManager
object, which implements the ROS 2 interface for activating and deactivating reMap plugins.
This node might also subscribe to various other topics, depending on the activated plugins. All the plugins share this node's interface to subscribe to the required topics.
Check each plugin documentation to verify which additional topics this node might subscribe to.
ros2 run remap_manager remap_manager_node
remap_manager.launch.py
: launches the remap_manager_node
.
/remap/world
(sensor_msgs::msg::PointCloud2
): the full reMap grid, published as a point cloud.
-
/remap_manager/activate_plugin
(remap_msgs/srv/AddPlugin
): interface to activate a certain reMap plugin. It returns a boolean, representing activation success. -
/remap_manager/remove_plugin
(remap_msgs/srv/AddPlugin
): interface to deactivate a certain reMap plugin. It returns a boolean, representing deactivation success.
voxel_size
(double
, default:0.1
): size of the voxel (in meters) used to create the 3D grid.vertex_centered
(bool
, default:false
): whether the VDB grid is vertex centered. For more information about the difference between vertex and cell centering, check OpenVDB documentation.fixed_frame
(string
, default:map
): the fixed frame used by theremap::map_handler::SemantiMapHandler
instatiated by the manager. This is the reference frame to be used by the plugins in order to achieve a coherent representation in space of the uploaded entities.default_plugins
(vector<string>
, default:[]
): list of plugins to be activated by default when the node is launched.