ChanHui Jung
All projects

Case study · Floatic · 2022–2024

Flody: keeping a warehouse fleet out of deadlock

Robots shared their poses and planned paths over a site-local bus and planned around each other. Fleet deadlocks went from 3–4 per hour to about one every two hours.

Role
Robotics Software and Platform Engineer
Period
2022–2024
Scale
10 robots, 3 sites
Stack
ROS 2, Nav2, Redis, Kafka, AWS IoT
A Floatic picking robot with shelves for totes, standing in a warehouse aisle
A Floatic warehouse robot. Image: Floatic, via The Robot Report.

The problem

Flody robots carried goods through narrow warehouse aisles. When several robots needed the same aisle they blocked each other, and the fleet deadlocked 3–4 times every hour.

Before this work, a deadlock was cleared with an e-stop or by simple rule-based handling.

The approach

Coordination was decentralized. Each robot shared its own state with the fleet and planned around its neighbors.

  1. 1 Share Each robot published its pose and planned path on a site-local Redis bus.
  2. 2 Read neighbors Every robot read the poses and paths of the robots near it from the same bus.
  3. 3 Plan around Nearby robots were added to each robot's own local costmap before it planned.
Robot 1 Neighbor costmap layer Nav2 planner pose, path neighbors Robot 2 Neighbor costmap layer Nav2 planner pose, path neighbors Robot n Neighbor costmap layer Nav2 planner pose, path neighbors Site-local Redis pub/sub ONE WAREHOUSE SITE
Each robot publishes its own pose and planned path to a Redis bus that only runs inside the site, and reads its neighbors back into a costmap layer. Nav2 then plans around them, with no central planner in the loop.

Results

Before 3–4 per hour fleet deadlocks
After ~1 per 2 hours fleet deadlocks
10robots in the fleet
300+hours of operation
3warehouse sites
Watch the demo video

My part

At Floatic I built the navigation stack and middleware for the warehouse fleet.

  • A DDS-style middleware layer that put robot–backend communication behind one interface, so Kafka and AWS IoT could be swapped without touching robot software.
  • Multi-robot navigation on ROS 2 Nav2: cost functions for custom costmap layers, a Kalman filter correcting wheel odometry, and planner and controller tuning for dense warehouse aisles.
  • Behavior-tree task execution backed by an edge database server that tracked the tasks allocated to each robot.

Press

Coverage of Floatic and its warehouse robot.

The Robot Report
Jun 2024
Floatic raises $3.8M for AMRs to tackle e-commerce picking
Automated Warehouse
Nov 2024
LogisALL doubles productivity in trial with Floatic picking robots
Red Dot Design Award
2024, Design Concept
Flody: Warehouse AMR
KED Global
Jul 2022
Warehouse robotics maker Floatic raises $2.6 million in pre-Series A

What it led to

Flody gave me a concrete version of the problem I now study: multi-agent path finding when many robots crowd into the same space. My two JKSPE papers look at MAPF in congested environments and continuous-time conflict-based search.

See publications on the home page