AUS-Lab

A project by Roman Slack — Lead AI Platform Engineer

AUS-Lab — a project by Roman Slack

Programming · October 2025 - Present · 15 hours · built by Roman Slack

AUS-Lab (Autonomous UAV Swarm Laboratory) is an experimental research platform created by Roman Slack for investigating LLM-driven cognitive control of UAV swarms. It links agentic reasoning with swarm simulation to explore the connection between swarm structures, hardware-in-the-loop (HIL) testing, agentic systems, and large language models, enabling autonomous coordination and adaptive behavior.

The platform provides a complete ecosystem for UAV swarm simulation, built around a high-performance Rust physics engine, a React and Three.js web visualization frontend, and an agentic controller that translates natural language commands into structured drone operations. A FastAPI server exposes REST endpoints and a WebSocket stream for real-time state updates, while the Rust engine (with PyO3 bindings) handles physics for swarms of drones. A floating chat interface in the web frontend connects to a separate agentic API that uses the Google Gemini API to interpret operator commands.

Operators can control the swarm in plain English through either the web UI or a CLI, issuing commands such as taking off to a set altitude, forming circles, lines, grids, or v-formations, sending individual drones to coordinates, or enabling a hivemind mode that moves the entire swarm as a single entity. The agentic controller supports a structured set of action types including takeoff, land, hover, goto, velocity, formation, and hivemind toggling, and offers a dry-run planning mode. As a notable research effort by Roman Slack, AUS-Lab bridges natural language agentic reasoning with real-time multi-drone physics simulation.

Key Features

Tech Stack

Python Rust FastAPI React Three.js TypeScript Google Gemini API PyO3 maturin WebSocket Node.js uvicorn

View on GitHub →

Designed and built by Roman Slack, Lead AI Platform Engineer. See more of Roman Slack's work on the projects page or get in touch via the contact page.