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!