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.
Repository overviewο
This repository groups all the official plugins for EasyNav into five main categories:
Planners β generate paths from the robotβs current pose to the goal.
Controllers β convert paths into motion commands.
Maps Managers β manage and update spatial representations of the environment.
Localizers β estimate the robotβs pose using map and sensor data.
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 |
|---|---|---|
|
A* planner over |
|
|
A* planner over a NavMap mesh. |
|
|
Simple A* planner for |
βοΈ Controllersο
Package |
Description |
Documentation |
|---|---|---|
|
Regulated Pure Pursuit, a port of Nav2βs, with optional Dynamic Window (DWPP) extension. The recommended controller for differential robots. |
|
|
Model Predictive Path Integral (MPPI) controller. |
|
|
Model Predictive Controller (MPC) for trajectory tracking. |
|
|
SeReST (Smooth Error-Responsive Speed and Turning) path tracking controller. |
|
|
VFF reactive obstacle avoidance controller. |
|
|
Simple PID path follower, for testing. |
πΊοΈ Maps Managersο
Package |
Description |
Documentation |
|---|---|---|
|
|
|
|
NavMap triangulated 3D surfaces, with obstacle and inflation filters. |
|
|
Bonxai probabilistic 3D voxel maps. |
|
|
Navigation routes, editable in RViz2, and a filter that keeps costmap paths on them. |
|
|
Minimal example map manager for |
|
|
Deprecated: no longer maintained by EasyNavigation. OctoMap 3D occupancy trees. |
π Localizersο
Package |
Description |
Documentation |
|---|---|---|
|
AMCL over |
|
|
Multi-Hypothesis AMCL over |
|
|
AMCL for NavMap stacks, scoring 3D point clouds against a Bonxai map. |
|
|
Multi-sensor fusion (UKF, based on |
|
|
AMCL over |
π 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 |
|---|---|---|
|
Diagnosis-driven recovery system: safety reflexes, evaluators and mitigations. |
|
|
Simple recovery system, written as a tutorial. |
Other pluginsο
Outside easynav_plugins:
easynav_alt_imu_sensor: an example perception plugin, see Writing a Custom Perception Plugin.
easynav_gridmap_stack and easynav_lidarslam_ros2: deprecated, no longer maintained by EasyNavigation.
Licenseο
All packages in this repository are released under Apache-2.0, unless stated otherwise in their respective package directories.