Vibhu Tripathi
← Back to blog
ArticlePublished Updated

Zero collisions can mean the system refused to fly

#drones#utm#simulation#safety#dense-uav-ops

I have been building dense-uav-ops, an open-source research implementation for tactical deconfliction in dense, low-altitude traffic. It models mixed multirotor and fixed-wing fleets, cooperative and broadcast-only aircraft, admission control, surveillance faults, and bounded maneuver negotiation.

The most useful result so far is not a larger aircraft count. It is a measurement problem: a system can reduce collisions by quietly refusing difficult flights.

That may be the correct decision when sensing or maneuver authority is inadequate. But a collision counter alone cannot distinguish a useful safety system from one that keeps every aircraft on the ground.

Counting the flights that did not happen

The simulator now reports safety and service together:

  • requested, admitted, and completed operations
  • queue wait and unfinished demand
  • separation breaches, collisions, and airspace exits
  • stale or missing surveillance
  • maneuver infeasibility and missed compute deadlines

This changes how I read a “zero collisions” result. I also want to know how much demand entered the airspace, whether it reached its destination, and which assumptions the controller needed to do it.

A bug that made the problem obvious

In one surveillance test, telemetry was delayed by two seconds. The admission warmup expired before a usable traffic frame arrived, so the system began releasing aircraft without a current traffic picture.

Across four paired runs, the earlier version admitted all 20 requests and recorded controlled separation breaches in all four runs. The corrected gate requires at least one delivered frame within a configured age and clock-error bound. It admitted none of the 20 requests, and the breaches disappeared.

That is the safer response to stale input, but it is not a capacity improvement. Completed operations also fell to zero. The result is correctly reported as deferred entry and failed service, not “safe dense operations.” The complete 24-run paired follow-up is retained in the repository.

The same issue appears at higher density. In a separate 948-run evaluation, a four-encounter density comparison found that checked admission removed the observed participant collisions while admitting roughly 79% of requested traffic. Goal reach remained between 23% and 27%, and measured command latency still exceeded the configured control step. Fewer collisions did not make the full system ready.

What I am working on next

The current repository is deliberately a research implementation, not a certified flight system. The next useful milestone is a test profile where surveillance is ready, maneuver continuations remain feasible, command deadlines are met, and requested traffic is actually served on new evaluation seeds.

Until those conditions hold together, the honest output is a failed gate with reproducible evidence—not a capacity number.