Project Overview

DroneOS is a framework for autonomous drone control built on ROS 2 and PX4 Autopilot. PX4 already publishes raw topics via DDS — you could control drones directly by publishing to /fmu/in/trajectory_setpoint. This project provides the developer-friendly abstraction layer on top.

Remote Control via 4G/VPN

FastDDS discovery server configuration for WAN connectivity using Tailscale.

Containerized Deployment

Docker Compose setup for both SITL development and production on Raspberry Pi.

Web Interface + AI Agent

React UI with rosbridge WebSocket for telemetry. Experimental natural language control.

This is experimental, work-in-progress code. See the GitHub README for setup instructions.

Repository Structure

drone_core

C++ library and ROS 2 node providing high-level drone control APIs for arming, takeoff, landing, and position control.

drone_gcs_cli

Python command-line interface for interacting with drone_core. Supports both SITL and real drone deployments.

web_interface

React/TypeScript web UI with real-time telemetry via rosbridge WebSocket. Includes experimental AI agent integration.

camera_ros

ROS 2 camera node using libcamera for Raspberry Pi camera modules. Streams video via web_video_server.

Micro-XRCE-DDS-Agent

Bridges PX4 (running XRCE-DDS client) to the ROS 2 DDS network over serial or UDP.

The Command Center: Ground Station UI

The Ground Station UI is the web-based command center for DroneOS. It provides a comprehensive interface for operators to plan missions, monitor real-time flight data, and control UAV operations from anywhere with an internet connection.

– Real-time Telemetry

Live maps, video feeds, and system health monitoring.

– Interactive Mission Planning

Under Development

Create, upload, and manage complex missions with a few clicks.

– Secure Control

Role-based access and encrypted communication for safe operations.

Get Started

DroneOS runs on the companion computer (Raspberry Pi), not the flight controller. The GitHub README includes setup instructions for both SITL development and real drone deployment.