Inspiration

Modern warehouses may have many autonomous robots, but coordinating them creates a new problem: who should do each job, who should move first, and what happens when something fails?

That inspired me to build NEXUS, a fleet-level coordination system where the operator gives the fleet a goal and NEXUS decides how to accomplish it.


What it does

NEXUS lets users manage a robot fleet without manually controlling individual robots.

From the Fleet Command interface, I can select an item, choose its destination, set its priority or cargo type, and dispatch the task.

NEXUS evaluates available robots based on:

  • Distance
  • Battery
  • Health
  • Reliability
  • Workload
  • Cargo type
  • Priority

It then selects the best robot and explains why.

Multiple robots can work at the same time. NEXUS predicts route conflicts before they happen, decides which robot gets right-of-way, makes others yield, and automatically resumes them when the path is clear.

If a robot fails mid-delivery, NEXUS creates a recovery point, requeues the job, and assigns another robot to finish it.


How I built it

NEXUS is built on top of the Bracket Bot MuJoCo simulation environment.

Each robot runs independently, while a Python coordination layer maintains a shared warehouse model and handles:

  • Multi-job scheduling
  • Explainable task allocation
  • Traffic conflict prediction
  • Context-aware right-of-way
  • Failure recovery
  • Package reassignment

The live Control Center uses FastAPI, WebSockets, JavaScript, HTML, CSS, SVG, MuJoCo, and NumPy.


Challenges

One major challenge was coordinating robots running in separate MuJoCo simulations. I solved this using a shared logical warehouse coordinate system.

Another challenge was predicting real traffic conflicts. Crossing paths are not enough, the robots also have to arrive at the same place at roughly the same time, so NEXUS predicts future positions using safety thresholds.

Failure recovery was also tricky because a package may already be in transit. NEXUS preserves the package state and turns the failed robot's last location into a recovery point.


Accomplishments

I'm proud that NEXUS can now:

  • Run multiple jobs concurrently
  • Choose the most suitable robot for each task
  • Predict and resolve route conflicts
  • Make robots yield and resume automatically
  • Queue jobs when the fleet is busy
  • Recover packages after robot failures
  • Reassign unfinished work automatically
  • Explain its decisions in real time

My favourite demo is failing a robot mid-delivery and watching the fleet recover without manual routing.


What I learned

I learned that fleet autonomy is much more than navigation.

Once multiple robots share the same environment, scheduling, traffic, priorities, reliability, and recovery become just as important as movement itself.

I also learned that the closest robot is not always the best robot, especially for fragile, medical, or high-value cargo.


What's next

The next step is connecting NEXUS to physical robots using real localization, onboard sensing, and overhead perception.

I would also like to explore larger and heterogeneous fleets, obstacle-aware routing, real-time vision, and natural-language fleet commands.

We don't tell each robot what to do. We tell the fleet what needs to get done.

Built With

Share this project:

Updates

Submission history