Web: https://easyfleet.github.io
Doxygen documentation: https://EasyNavigation.github.io/EasyFleet/
EasyFleet is an open-source, ROS 2 framework for orchestrating fleets of multi-skill robots, designed to be:
✅ Capability-oriented, not stack-specific: any robot skill — navigation, manipulation, perception, or a custom one — is exposed the same way, as a self-describing, lifecycle-managed ROS 2 action.
🧩 Backend-agnostic, through a small set of base classes any integrator subclasses once — EasyFleet ships a real EasyNavigation-backed navigation capability out of the box, but nothing in the architecture assumes it.
🐝 Fleet-aware from the ground up: robots announce their own identity and capabilities at runtime, so a mission controller can discover, call, and monitor any number of robots without hardcoding who they are.
🗺️ Centrally coordinated when it helps: a fleet-wide Navigation Manager publishes one shared map and route graph, and watches every robot's planned path to prevent collisions.
🚀 Lightweight and simple to deploy, using plain ROS 2 nodes, actions, and parameter files — no external orchestration framework required.
EasyFleet is developed by the Intelligent Robotics Lab at Universidad Rey Juan Carlos, as the fleet-coordination layer that sits on top of a per-robot navigation stack such as EasyNavigation.
| Package | Description |
|---|---|
| easyfleet_core | ActionServerBase/ActionClient, Capability/CapabilityClient, Deployment/CapabilityFactory, plus the Navigation/Manipulation/Perception capability base classes. |
| easyfleet_interfaces | CapabilityDescription, CapabilityStatus, and the Navigation/Manipulation/Perception actions every capability speaks. |
| easyfleet_mission_manager | FleetSession, RobotHandle, SimpleController: the client-side API for discovering and driving a fleet's capabilities. |
| easyfleet_navigation_manager | navigation_manager_node: a shared map/route graph for the whole fleet, live-editable from RViz, plus multi-robot path-conflict detection and pause/resume. |
| easyfleet_easynav_navigation | The Navigate BehaviorTree.CPP plugin node — EasyFleet's own EasyNav-backed navigation capability building block. |
| easyfleet_example_deployments | Four self-contained example deployments, from mocked single-robot to two robots both running real EasyNav navigation at once. |
| easyfleet_tools | A read-only TUI/CLI for monitoring a running fleet. |
| Name | Organization | GitHub | Role |
|---|---|---|---|
| Francisco Martín Rico | Universidad Rey Juan Carlos | fmrico | Project Lead |
Apache-2.0 (see easyfleet_core/LICENSE).
