Skip to content

Warehouse A deployments, a PlanSys2 fleet, playgrounds and Zenoh - #1

Merged
fmrico merged 3 commits into
rollingfrom
warehouse_and_plansys2
Oct 25, 2026
Merged

fmrico merged 3 commits into
rollingfrom
warehouse_and_plansys2

Conversation

@fmrico

@fmrico fmrico commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Needs EasyNavigation/EasyFleet#5 (capability API, TF relay, fleet obstacles, easyfleet_bt_nodes). Two commits.

1. Playgrounds and Zenoh, per-robot TF with a fleet RViz, READMEs and fixes

  • Simulations from easynav_playgrounds (simulation_launch.yaml in each package), and rmw_zenoh_cpp by default with its router.
  • Each robot keeps its TF under its namespace; navigation_manager relays only odom, base_footprint and base_link to /tf, for a central RViz with each robot's base and path.
  • Launch arguments to choose each robot's EasyNav, navigation and navigation manager parameters, its own RViz and the mission.
  • Python fake capabilities for simple_api_py; the fastdds (DDS Router) and farm (Summit, GPS, NavMap) deployments, listed in the README but never committed.
  • Navigation capability: its executor is only spun from on_execute(), and a cancel waits for EasyNav's answer, so it no longer disturbs the next goal.
  • The collaboration mission said every phase succeeded even when a robot's goal ended CANCELED; it now says which robot missed which waypoint.
  • A README per deployment.

2. Warehouse A deployments and a PlanSys2 fleet

  • easyfleet_easynav_deployment (one robot) and easyfleet_easynav_collaboration_deployment (two) in Warehouse A of large_warehouse_world:
  • easyfleet_plansys2_warehouse_deployment: four Kobukis, two scouts (perception) and two carriers (manipulation), driven by PlanSys2 with Kairos. The controller builds the PDDL problem from the capabilities the robots announce and reaches the mission's goals in turn; each action's behavior tree calls the robot's capabilities with easyfleet_bt_nodes.

Tested: every package's tests and linters pass. In simulation, one Kobuki reaches a rack aisle 0.15 m from where it believes it is, and the four Kobukis deliver the first goal's two packages in 657 s, all of them within 0.35 m of their estimate along 12 minutes.

The warehouse world comes from juanscelyg/large_warehouse_world (its changes merged in juanscelyg/large_warehouse_world#1).

- Simulations from easynav_playgrounds (simulation_launch.yaml in each package);
  rmw_zenoh_cpp by default, with its router.
- Each robot keeps its TF under its namespace; navigation_manager relays odom,
  base_footprint and base_link to /tf for a central RViz (no RobotModel).
- New launch arguments to choose each robot's EasyNav, navigation and navigation
  manager parameters, its RViz and the mission.
- Python fake capabilities for the simple_api_py deployment; the fastdds (DDS
  Router) and farm (Summit, GPS, NavMap) deployments.
- Navigation capability: its executor only spun from on_execute(), and a cancel
  waits for EasyNav's answer, so it no longer disturbs the next goal.
- The collaboration mission reports which robot missed which waypoint instead of
  always announcing success; robot_node takes config_package.
- A README per deployment; run instructions point to simulation_launch.yaml.

Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
- easyfleet_easynav_deployment and the collaboration deployment in Warehouse A of
  large_warehouse_world: a 0.2 m costmap of what the lidar sees at its height, routes
  along every rack aisle, the corridors and to the docks, and the scripts that
  generate them from the world (sdf_to_costmap.py, aisle_routes.py).
- AMCL with reseeding, a 30 m lidar (at 12 m it sees almost nothing in the open
  areas) and a cylinder at lidar height on each Kobuki so the others see it.
- easyfleet_plansys2_warehouse_deployment: four Kobukis, two scouts and two carriers,
  driven by PlanSys2 (Kairos). The controller builds the problem from the
  capabilities the robots announce; each action's behavior tree calls them with
  easyfleet_bt_nodes. The robots share each other as obstacles.

Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
…e merged

Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
@fmrico
fmrico merged commit b5cf6cf into rolling Oct 25, 2026
1 check failed
@fmrico
fmrico deleted the warehouse_and_plansys2 branch October 25, 2026 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant