Flight path

The champion put to the product’s own test: a virtual fixed-wing UAV that must fly from a to b over Berlin with the model’s vision fixes as its only position source — dead reckoning in between, wind and gyro bias it cannot see, false fixes accepted like any other. Arrival is declared on the aircraft’s own estimate and scored against the truth.

91/100 flights arrive within 100 m of the target
45 m median miss at declared arrival
(p10 22 m · p90 92 m)
0/100 arrive without vision fixes
(dead-reckoning control, median miss 823 m)
9 flights miss beyond 100 m —
every one shown below

100 simulated flights, random start and target ≥2 km apart, random 2–6 m/s wind. Each vision fix is the real exported champion (berlin.onnx) run on a real orthophoto crop at the aircraft’s true position and heading, classified with the frozen scorer’s own thresholds.

1

One flight, replayed

Corner to corner — 9.2 km in ten minutes, seven false fixes survived, arrival at 25.5 m.

North-west corner to south-east corner, 9 km. At t = 85 s a false fix — barely confident, 6.5 km wrong (the red line points to its claim, marked ×) — hijacks the navigator’s belief. The aircraft never flies to the claimed spot: only its estimate teleports there, so the dashed believed path simply breaks off and rejoins once usable fixes haul the belief back within 300 m of the truth. A late burst of false fixes on final approach does little harm: by then the estimate is fresh, so wrong answers get little weight. The flight lands 25.5 m from the target.

Seed 6, disclosed: three of six seeds on this route overshot the corner out of the mapped box and were lost — beyond the edge there is no imagery and no way back. The 100-flight record below uses random routes, failures included.

true path believed path — drawn only while the estimate is within 300 m of the truth usable fix abstention false fix ×where the false fix claimed to be off the mapped box — no imagery, no fix
camera crop at the latest fix
0.0 s

Bottom camera — what the model saw

camera crop at the latest fix

128 × 128 px · 1 m/px · ~100 m AGL

2

The estimate against the truth

How far the navigator's belief is from the aircraft's true position, second by second.

Between fixes the error grows — wind the navigator cannot see. Each usable fix snaps it back down. The false fix at t = 85 s is the spike: one confident wrong answer worth over 5 km of injected error — the reason the mission score prices false fixes so high. The late cluster of false fixes barely registers: a fresh estimate gives a wrong answer little weight. Square-root vertical scale, so the 20–60 m cruise detail and the kilometre spike fit one honest axis; the dashed line is the 100 m usable radius.

3

A hundred flights

Every Monte-Carlo flight's miss distance — arrivals, overshoots, and the three catastrophes.

Each dot is one flight’s true distance from target at the moment it declared arrival (hollow = timed out, plotted at final distance). 91 land inside the 100 m line. Six miss moderately (120–314 m). Three fail catastrophically — and all three had their target on or beside the never-trained holdout ground: the ~3% of Berlin that the evaluation harness deliberately withholds from training as a diagnostic. Over that ground the model hallucinates confidently — 167 of 207 false fixes across all 100 flights stand on it. Excluding it, the in-flight false-fix rate is 0.77%, consistent with the 0.5% measured by the frozen eval. A deployed model would train on 100% of its box, so this exact failure is an artifact of simulating over the research configuration — reported as flown, not filtered out.

flightendedtrue miss false fixestarget on never-trained ground
39declared arrival120 m3 (3 on never-trained ground)
80declared arrival125 m2 (2 on never-trained ground)yes
15declared arrival137 m0yes
49declared arrival262 m2
92declared arrival288 m1yes
89declared arrival314 m0
95timed out400 m72 (72 on never-trained ground)yes
57declared arrival1,397 m25 (24 on never-trained ground)yes
27declared arrival7,362 m10 (10 on never-trained ground)yes
4

What is real here, and what is simulated

The test is honest only if its seams are visible.

Real

  • The model: the exported champion berlin.onnx (experiment 5, mission score 0.040), unmodified.
  • The camera: a 128 × 128 m orthophoto crop at the aircraft’s true position and true heading — the same off-lattice, rotated condition the frozen eval measures.
  • The thresholds: confidence gate and the 100 m usable radius imported from the frozen scorer, not re-chosen.
  • The fix schedule: every 6 s in cruise, 2 s on approach — the deployment spec’s own numbers.

Simulated

  • The airframe: point-mass fixed-wing, 16 m/s, bank-limited turns — kinematics, not aerodynamics.
  • The disturbances: constant wind 2–6 m/s + gusts, gyro bias, airspeed error — all invisible to the navigator.
  • The navigator: dead reckoning + magnetometer heading (standard FC hardware; vision stays the only position source), fixes blended by staleness. False fixes are accepted like any other.

Best-case caveats

  • The camera renders from the same reference imagery the model memorized — this validates the navigation loop, not sim-to-real transfer.
  • Altitude is fixed at the trained 1 m/px scale; tilt and altitude robustness are unmeasured, here as in the eval.

The control

  • Same 100 flights with vision disabled: 0 arrive within 100 m, median miss 823 m. Whatever navigation is happening here, it is the model doing it.

The bottom line

Asked to actually fly, the champion delivers 91 flights in 100 to within 100 m — and every failure is on the page, three of them explained by ground the research harness deliberately never taught it.

view on GitHub