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

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

Package Summary

Version 0.3.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version kilted
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

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

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

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

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

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

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

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

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.2.1
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-02-27
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: Simple MapsManager package.

Maintainers

  • Francisco Martín Rico

Authors

No additional authors.

easynav_costmap_maps_manager

Description

Maps Manager that maintains 2D costmaps (static and dynamic), supports filter plugins (such as inflation and obstacle filters), and exposes maps through ROS topics and NavState integration.

At the core of this stack lies the Costmap2D data structure. Costmap2D extends the binary occupancy grid into a graded cost representation with values in the range [0–255]:

  • 0: Free space, no cost to traverse.
  • 1–252: Gradual cost values, representing increasing difficulty or proximity to obstacles.
  • 253: “Near obstacle” (inscribed obstacle) cost, traversal strongly discouraged.
  • 254: Lethal obstacle, occupied cell.
  • 255: Unknown space.

Authors and Maintainers

  • Authors: Intelligent Robotics Lab
  • Maintainers: Francisco Martín Rico fmrico@gmail.com

Supported ROS 2 Distributions

Distribution Status
humble kilted
jazzy kilted
kilted kilted
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_costmap_maps_manager/CostmapMapsManager
  • Type: easynav::CostmapMapsManager
  • Base Class: easynav::MapsManagerBase
  • Library: easynav_costmap_maps_manager
  • Description: Maintains a Costmap2D instance and manages map loading, updates, and filtering operations.

Parameters

Plugin Parameters (namespace: /<node_fqn>/easynav_costmap_maps_manager/CostmapMapsManager/...)

Name Type Default Description
<plugin>.package string "" Package name used to resolve relative map paths via ament_index.
<plugin>.map_path_file string "" Relative path (inside the package) to a ROS 1–style YAML map (with image, resolution, origin, etc.).
<plugin>.filters string[] [] List of filter identifiers to be instantiated (see section below).
<plugin>.<filter>.plugin string "" Type of filter plugin (e.g., easynav_costmap_maps_manager/InflationFilter).

Filter Plugins

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

ObstacleFilter

  • Plugin Name: easynav_costmap_maps_manager/ObstacleFilter
  • Type: easynav::ObstacleFilter
  • Description:
    Detects occupied cells from input point clouds (points key in NavState) and marks them as LETHAL_OBSTACLE in the dynamic costmap.
    The filter fuses incoming 3D points into the map frame, downsamples them to the costmap resolution, filters out ground-level points (z < 0.1 m), and sets corresponding cells to lethal cost. Additionally, it computes and stores bounding box (ObstacleBounds) of updated obstacles to enable efficient incremental inflation.

Parameters:

Parameter Type Default Description
(None) This filter does not declare additional ROS parameters beyond plugin. Downsampling resolution and frame fusion use the costmap’s own resolution and map frame.

NavState Keys:

Key Type Access Description
points sensor_msgs::msg::PointCloud2 Read Input point clouds to detect obstacles.
map.dynamic.filtered Costmap2D Write Marks cells as LETHAL_OBSTACLE (254).
map.dynamic.obstacle_bounds ObstacleBounds Write Bounding box of updated obstacles for incremental inflation.

InflationFilter

  • Plugin Name: easynav_costmap_maps_manager/InflationFilter
  • Type: easynav::InflationFilter
  • Description:
    Expands obstacle information in the costmap by assigning graded costs around LETHAL_OBSTACLE cells based on distance. Uses a breadth-first wavefront propagation algorithm (distance bins) to efficiently inflate obstacles up to inflation_radius.
    The filter reads both the static map and the dynamic filtered map, applies inflation to each, and merges results. If ObstacleBounds is available in NavState, inflation is restricted to the updated region for performance.

Parameters:

Parameter Type Default Description
<plugin>.inflation_radius double 0.3 Maximum inflation distance (m) from obstacles. Cells farther than this receive no inflation cost.
<plugin>.inscribed_radius double 0.25 Radius of the inscribed zone (m). Cells within this distance of an obstacle are marked with high constant cost (INSCRIBED_INFLATED_OBSTACLE, value 253) before exponential decay begins.
<plugin>.cost_scaling_factor double 3.0 Exponential decay rate controlling how quickly cost decreases with distance beyond the inscribed radius. Higher values produce steeper cost gradients.

NavState Keys:

Key Type Access Description
map.static Costmap2D Read Static costmap to inflate.
map.dynamic.filtered Costmap2D Read/Write Dynamic costmap input and output after inflation.
map.dynamic.obstacle_bounds ObstacleBounds Read (optional) Restricts inflation to updated region for performance.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package easynav_costmap_maps_manager

0.2.1 (2026-02-27)

  • 0.2.0
  • GPLv3 -> Apache 2.0
  • Documentation was corrected
  • Add a base_footprint frame in TFInfo
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Update sheets
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, Jose Miguel, Juan S. Cely G., Miguel

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_costmap_maps_manager at Robotics Stack Exchange