EasyNav Software
The EasyNav software is developed under the EasyNavigation GitHub organization, and it follows a highly modular structure. This modularity is reflected in the separation of functionality across multiple repositories, each dedicated to a specific role or typology:
C++ API
HowTo’s:
Repositories
Core
EasyNavigation This is the main repository that contains the core infrastructure of EasyNav, including the lifecycle management, execution engine, and common interfaces.
Plugins
easynav_plugins A collection of lightweight plugins that do not depend on external libraries. It includes generic implementations for controllers, planners, localizers, etc.
Stacks
Stacks are collections of plugins that typically share a common representation of the environment and often rely on specific third-party libraries.
easynav_simple_stack Plugins based on 2D gridmaps representing free (0) and occupied (1) cells. Designed to serve as an introduction to EasyNav and to validate the core system.
easynav_gridmap_stack Plugins that use the GridMap library to support elevation maps and metric layers.
easynav_octomap_stack Plugins that rely on the OctoMap library for 3D occupancy mapping.
easynav_pointcloud_stack Plugins that use the PCL (Point Cloud Library) to process and interpret point cloud data.
Test Cases
These repositories provide maps and configuration files tailored to common application scenarios:
easynav_indoor_testcase Contains test environments for indoor navigation with flat 2D maps.
easynav_outdoor_testcase Focused on outdoor scenarios involving uneven terrain and unstructured environments.
Playgrounds
Playgrounds define simulation setups for specific robot platforms in various environments.
easynav_playground_kobuki Simulation models and example scenarios for the Turtlebot2 (Kobuki) robot.
easynav_playground_summit Simulation of the SUMMIT XL robot from Robotnik, designed for both indoor and outdoor navigation tasks.