You are browsing as a guest. Sign up (or log in) to start making projects!

Autonomous Multi-UAV Graph Explorer

  • 1 Devlogs
  • 11 Total hours

Hackathon submission for the EDTH Hackathon Munich (June 2026), ATS GmbH challenge: an autonomous multi-UAV coordination algorithm for 3D graph exploration and surveillance. Three drones cooperate to map an unknown graph using greedy frontier-based exploration, makespan-balanced task assignment, and Voronoi territory partitioning, scored by the slowest drone’s total flight distance.

Ship #1 Changes requested

Built at ETH Hackathon Munich 2026 in 48 hours by @jachym_fukal and @srijan: a multi-UAV coordination algorithm where three autonomous drones explore and surveil an unknown 3D graph together. The hardest part was fixing oscillation — drones kept bouncing between the same two nodes forever. We solved it with a departure-tick penalty that discourages reversing course. Biggest win: 100% completion rate across all 6 test graphs with a total score of 1538.7. To test it, clone the repo and run `uv run run_eval.py --submission my_solution.py --graphs graphs/train.`

  • 1 devlog
  • 11h
Try project → See source code →
Open comments for this post

11h 24m logged

How We Taught Three UAVs to Explore the Unknown in 48 Hours — ETH Hackathon Munich

This weekend @srijan and I competed at the ETH Hackathon Munich, taking on the ATS GmbH challenge: coordinate three autonomous UAVs to explore and surveil an unknown 3D graph as efficiently as possible. The score is the total flight distance of the slowest drone — so balancing all three agents matters as much as raw speed.

What we built

We implemented a greedy frontier-based exploration algorithm where drones bid on uncovered nodes using a makespan-balanced auction. To cover the graph efficiently, we used k=4 hop sensor footprints and soft Voronoi territory partitioning so drones naturally split the space without stepping on each other’s toes.

The hard parts

The trickiest bug was oscillation — a drone would arrive at node B, making A look like the best frontier, then immediately go back to A, and repeat forever. We fixed this with a departure-tick penalty that decays over 5 ticks, discouraging drones from reversing course.
Performance was another challenge: naively running BFS for every frontier on every agent every tick was way too slow on graphs with 7000+ nodes. Caching coverage values once per tick made it viable.

Result

100% completion rate across all 6 training graphs, with a total suite score of 1538.7 — just above our 1500 target, but we’re happy with it as a first hackathon submission!

0
0
1

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…