EasyNav Plugins
Loading...
Searching...
No Matches
easynav_octomap_maps_manager Directory Reference
Directory dependency graph for easynav_octomap_maps_manager:
maps_managers/easynav_octomap_maps_manager

Directories

 
include
 
src

Detailed Description

easynav_octomap_maps_manager

Description

Maps Manager that maintains an OctoMap (probabilistic 3D occupancy tree), supports filter plugins (e.g., inflation and obstacle filters), and exposes the map through ROS 2 topics. This README documents plugin-level parameters only.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_octomap_maps_manager/OctomapMapsManager
  • Type: easynav::octomap::OctomapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_octomap_maps_manager
  • Description: Maintains an OctoMap instance, handles map loading/import, point-cloud ingestion, and filter application.

Parameters

Plugin Parameters

The current code (OctomapMapsManager.cpp) has the high-level parameter declarations for package and map paths commented out. Active runtime parameters are therefore limited to filter plugin namespaces populated by entries in filters (if/when enabled). Until the declarations are restored, only filter-local parameters are honored.

Filter Parameters

Each entry in <plugin>.filters defines a sub-namespace <plugin>.<filter> with at least the key plugin, plus any specific parameters.

InflationFilter

Name Type Default Description
<plugin>.inflation.inflation_radius double 0.3 Inflation radius (m) used to expand occupied cells.
<plugin>.inflation.cost_scaling_factor double 3.0 Exponential decay controlling the reduction of cost with distance.
<plugin>.inflation.inscribed_radius double 0.3 Inscribed radius (m) used by the inflation model.

ObstacleFilter

This filter does not declare additional ROS parameters apart from plugin.

Example Configuration

maps_manager_node:
ros__parameters:
map_types: [octomap]
octomap:
plugin: easynav_octomap_maps_manager/OctomapMapsManager
package: my_maps_pkg
octomap_path_file: maps/site.pcd
filters: [inflation, obstacles]
inflation:
plugin: easynav_octomap_maps_manager/InflationFilter
inflation_radius: 0.3
cost_scaling_factor: 3.0
inscribed_radius: 0.3
obstacles:
plugin: easynav_octomap_maps_manager/ObstacleFilter

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher <node_fqn>/<plugin>/map octomap_msgs/msg/Octomap Publishes the current OctoMap. depth=1
Subscription <node_fqn>/<plugin>/incoming_pc2_map sensor_msgs/msg/PointCloud2 Input point cloud used to build/update the OctoMap. depth=100

Services

Direction Service Type Purpose
Service Server <node_fqn>/<plugin>/savemap std_srvs/srv/Trigger Saves the current OctoMap to disk.

NavState Keys

Key Type Access Notes
map ::octomap::Octomap Read If present in NavState, used as an input/seed map. (Plugin currently does not write back to NavState.)

TF Frames

Role Transform Notes
Publishes This manager does not broadcast TF; outputs are stamped using the configured frame(s) in the map data.

License

Apache-2.0