EasyNav Plugins

EasyNav Plugins (easynav_plugins) provides the official collection of plugins for the Easy Navigation (EasyNav) framework. These plugins extend the navigation core with planners, controllers, map managers, localizers and recovery systems.

Each plugin resides in its own ROS 2 package and is registered through pluginlib, enabling dynamic loading at runtime. To list the plugins installed in your system:

ros2 easynav plugins

Supported ROS 2 versions

  • ROS 2 rolling

  • ROS 2 lyrical

  • ROS 2 kilted

  • ROS 2 jazzy

See Build & Install for the install methods per distro, and Package availability for the plugins that are not in the binary packages yet.

ROS 2 rolling ROS 2 lyrical ROS 2 kilted ROS 2 jazzy rolling CI status

Repository overview

This repository groups all the official plugins for EasyNav into five main categories:

  1. Planners – generate paths from the robot’s current pose to the goal.

  2. Controllers – convert paths into motion commands.

  3. Maps Managers – manage and update spatial representations of the environment.

  4. Localizers – estimate the robot’s pose using map and sensor data.

  5. Recoveries – detect navigation problems and handle them.

Each plugin type implements a well-defined C++ interface and can be configured in the EasyNav parameter file. The plugins are grouped in stacks by the map representation they work on: Simple, Costmap, and NavMap + Bonxai. The PlayGrounds have ready-to-run configurations for each of them.

🧭 Planners

Package

Description

Documentation

easynav_costmap_planner

A* planner over Costmap2D.

README

easynav_navmap_planner

A* planner over a NavMap mesh.

README

easynav_simple_planner

Simple A* planner for SimpleMap.

README

βš™οΈ Controllers

Package

Description

Documentation

easynav_regulated_pp_controller

Regulated Pure Pursuit, a port of Nav2’s, with optional Dynamic Window (DWPP) extension. The recommended controller for differential robots.

README

easynav_mppi_controller

Model Predictive Path Integral (MPPI) controller.

README

easynav_mpc_controller

Model Predictive Controller (MPC) for trajectory tracking.

README

easynav_serest_controller

SeReST (Smooth Error-Responsive Speed and Turning) path tracking controller.

README

easynav_vff_controller

VFF reactive obstacle avoidance controller.

README

easynav_simple_controller

Simple PID path follower, for testing.

README

πŸ—ΊοΈ Maps Managers

Package

Description

Documentation

easynav_costmap_maps_manager

Costmap2D maps (YAML + image, as Nav2), with obstacle and inflation filters.

README

easynav_navmap_maps_manager

NavMap triangulated 3D surfaces, with obstacle and inflation filters.

README

easynav_bonxai_maps_manager

Bonxai probabilistic 3D voxel maps.

README

easynav_routes_maps_manager

Navigation routes, editable in RViz2, and a filter that keeps costmap paths on them.

README

easynav_simple_maps_manager

Minimal example map manager for SimpleMap (binary occupancy).

README

easynav_octomap_maps_manager

Deprecated: no longer maintained by EasyNavigation. OctoMap 3D occupancy trees.

README

πŸ“ Localizers

Package

Description

Documentation

easynav_costmap_localizer

AMCL over Costmap2D. Also provides the AmclConvergenceEvaluator and AmclRelocalizeMitigation recovery plugins.

README

easynav_mhamcl_localizer

Multi-Hypothesis AMCL over Costmap2D: global localization and kidnapping recovery.

README

easynav_navmap_localizer

AMCL for NavMap stacks, scoring 3D point clouds against a Bonxai map.

README

easynav_fusion_localizer

Multi-sensor fusion (UKF, based on robot_localization): GPS, odometry, IMU.

README

easynav_simple_localizer

AMCL over SimpleMap.

README

πŸ›Ÿ Recoveries

Recovery systems, loaded by recovery_node (see Recovery System). easynav_diagnostic_recovery is itself made of plugins (safety reflexes, evaluators and mitigations), documented in its README.

Package

Description

Documentation

easynav_diagnostic_recovery

Diagnosis-driven recovery system: safety reflexes, evaluators and mitigations.

README

easynav_simple_recovery

Simple recovery system, written as a tutorial.

README

Other plugins

Outside easynav_plugins:

License

All packages in this repository are released under Apache-2.0, unless stated otherwise in their respective package directories.