Multi-agent autonomous drone fleet platform with live airspace deconfliction, BVLOS-ready mission planning, and run-tracked observability.
Our agentic mission-planning platform ingests live commercial-air-traffic data via OpenSky Network, enabling autonomous drone fleet operations with real-time decision-making across specialist agents
OpenSky Network ADS-B feed cached every 60 seconds via a per-minute WP cron. SF Bay bounding box covers SFO and OAK commercial traffic with high refresh density.
Groq llama-3.3-70b-versatile orchestrates Mission Commander, Deconfliction Analyst, and Geofence Auditor roles. Each decision runs in its own PHP request — Action Scheduler dispatches one job per drone with atomic counter increments per outcome.
Every mission gets a UUID run_id, persistent row in prod_drone_mission_runs, and a live status REST endpoint. Zero silent failures — every queue, decision, and finalize event is observable through /drone-mission/status?run_id=X.
Trigger a mission — a 4-drone simulated fleet flies the San Francisco Bay area while live commercial air traffic streams in the background. Three specialist agents make routing, deconfliction, and geofence decisions in real time. Watch every decision land in the ticker below.
Plans the route from launch to recovery against current airspace state. Holds the mission objective and trades off speed, fuel, and risk tolerance.
Reviews Mission Commander's route against live ADS-B traffic and other fleet drones. Flags potential conflicts and proposes lateral or vertical separation.
Validates the final route against FAA Class B airspace boundaries, no-fly zones, and altitude ceilings. Cleared routes get a compliance stamp; violations get blocked.
Live air-traffic ingestion feeds a rolling cache. Mission triggers fan out to per-drone agent decisions via Action Scheduler. Run state aggregates atomically into a single observable record — surfaced via REST and polled live by the cockpit UI.
Per-minute cron pulls OpenSky /states/all for SF Bay bounding box; caches state vectors.
User clicks Run Mission; trigger endpoint returns run_id and HTTP 202 in under 500ms.
Action Scheduler kickoff schedules one decision action per drone with a 2-second stagger.
Each decision action runs Mission Commander, Deconfliction Analyst, and Geofence Auditor in its own PHP request.
When all drones complete, the finalize hook stamps finished_at and computes the terminal status.
Frontend polls /drone-mission/status every 2 seconds; the ticker renders decisions live until terminal status.
Three public REST endpoints expose the mission lifecycle. All endpoints return JSON. Trigger returns 202 with a run_id immediately and processes asynchronously.
Schedule a new mission run. Returns immediately with run_id; processing runs asynchronously via Action Scheduler.
{ "success": true, "run_id": "<uuid>", "status": "queued" }Read the current state of a mission run. Includes status, drone counters, decisions array, and errors.
{ "run_id": "...", "status": "running", "drones_completed": 2, "decisions_json": [...] }List recent mission runs. Default limit 30, maximum 100.
[ { "run_id": "...", "status": "completed", ... } ]Autonomous drone mission planning involves generating, validating, and executing drone flight plans without manual input, using real-time airspace data and regulatory constraints, a key aspect of our autonomous drone fleet platform
Free ADS-B aircraft tracking REST API for non-commercial research. Used for live commercial-traffic positions in the SF Bay demo region.
Open-source photorealistic drone simulator. Referenced as a future expansion target — not bundled in v1.
Free FAA-approved Low Altitude Authorization and Notification Capability API. Referenced as the future production-grade authorization layer.
This platform demonstrates agentic decisioning, async run-tracking, and zero-silent-failure observability — the same patterns we apply to enterprise engagements.