
An AI agent that flies a simulated quadcopter to find objects using only natural language commands and a camera; no pre-scripted routes.
The problem: Traditional drone automation relies on hardcoded flight paths that break the moment the environment changes. Manual control requires constant human attention.
The solution: Kormoran uses a two-loop architecture: an LLM (via LangGraph) makes high-level navigation decisions from camera observations, while a deterministic PID controller safely executes each move inside a 3D physics simulator. An independent safety supervisor vetoes any dangerous action; the LLM never has direct control of the drone.
Key capabilities:
Finds named objects ("find the yellow cylinder") across complex multi-room layouts
Learns across missions; long-term memory (SQLite + ChromaDB) stores wall locations, gaps, and target positions so search gets faster over time
Independent safety layer enforces geofence, altitude, and battery limits on every action
Zero safety violations across 132 evaluation runs
Full Streamlit dashboard with live trajectory, reasoning stream, and memory browser
Tech stack: Python 3.12, LangGraph, OpenRouter (Gemini 2.5 Flash), gym-pybullet-drones, ChromaDB, Streamlit, Pydantic v2, Docker
Architecture designed for real hardware: The same agent code can fly a DJI Tello with only a backend swap(theoretically).