Elodin Open-Sources AI Grand Prix Drone Race Practice Rig

Get the Tech newsletter
Daily tech — startups, AI labs, chips, the launches that shape the next decade. Free.
- Elodin released an open-source practice rig for Anduril's AI Grand Prix on GitHub (github.com/elodin-sys/ai-grand-prix), letting contestants iterate on autopilot code ahead of the official Virtual Qualifier 1 simulator; the rig runs on macOS and Linux (WSL should be workable) and requires only uv sync plus a roughly 5-minute Betaflight build.
- The practice rig wires three things together with one post-step callback: Elodin's 6-DOF rigid-body physics, motor dynamics, drag, multi-rate IMU/baro/mag sensors and a GPU-rendered 640×360 forward camera tilted +20° to match the VADR-TS-002 spec; real Betaflight SITL (master, with ENABLE_SIMULATOR_GYROPID_SYNC) handling RC, mixing and PID at its native rate; and an ~80-line UDP bridge stepping both sides in lockstep at 1 kHz.
- Contestants only edit solver/, a single autopilot(update: SensorUpdate) -> RCCommand Python function called every tick with body-frame IMU, world pose, baro, mag and an optional fresh RGBA camera frame — and per the published telemetry contract, no GPS, no depth, and no motor RPM are exposed.
- Elodin's underlying stack is a Rust ECS + JIT-compiled physics core (nox) with Python bindings, a 3D editor (elodin-db) that live-binds GLB models, plots and camera feeds to ECS components over TCP, and a small process runner (s10); the whole thing is Apache-2.0 at github.com/elodin-sys/elodin.
- The author came from games — an earlier job was on The Sims 4 — and frames Elodin as an attempt to bring game-engine polish (emergent behavior, deterministic replay, editor usable by non-engineers) to aerospace teams he says were stitching together MATLAB/Simulink + Gazebo + homegrown Python harnesses.
- Caveats the post flags: the rig speaks Betaflight's UDP packets rather than MAVLink, so contestants will need a thin shim to talk to the real qualifier sim; the solver is exposed to ENU world state where the spec calls for NED; atmospheric effects are a single drag coefficient with no turbulence or ground effect; and the spec's own VFoV = 90° contradicts its intrinsics (which imply VFoV ≈ 58.72°), so the rig follows the intrinsics on the bet the official sim's renderer will too.
Why it matters: Anduril's $500K AI Grand Prix contestants now have a working open-source stack to develop and tune autopilots on rather than waiting for the official Virtual Qualifier 1 simulator, but the practice rig is not spec-faithful: it speaks Betaflight UDP instead of MAVLink, exposes ENU where the spec says NED, and resolves the spec's own VFoV/intrinsics contradiction in a particular direction — meaning work done here will need translation to compete in the real sim.
Ask SkimNews



