Components
The FleetCore ecosystem consists of three primary active components that work together to manage drone fleets.
1. Backend Server (Java/Quarkus)
Central coordination server. Manages persistent state and configuration for the entire fleet, organized by Outposts.
Key Responsibilities:
- Outpost Management: High-level logical organization of drones and groups into geographic outposts.
- Drone Onboarding: Registers new drones, provisions AWS IoT Certificates and Kinesis Video Signaling Channels.
- Mission Orchestration: Uses
FleetCoreLibto generate mission bundles (survey area partitioning or manual waypoints) and dispatches them via AWS IoT Jobs. - Job Scheduling: Supports immediate or scheduled mission execution.
- Maintenance Tracking: Keeps records of drone maintenance history and pending tasks.
- Data Persistence: Stores telemetry, detection events, and mission history in the database.
Tech Stack:
- Framework: Quarkus
- Database: PostgreSQL + PostGIS
- ORM: MyBatis Plus
- API: REST (OpenAPI/Swagger included)
Database Schema Design
The backend manages a PostGIS-enabled PostgreSQL database. The schema is designed to handle geospatial drone data, mission logs, fleet maintenance, and other required records.
2. Desktop Client (Tauri/React)
The Ground Control Station (GCS) used by operators to plan missions, manage fleets, and control drones in real-time.
Key Responsibilities:
- Outpost Management: Interface for managing multiple geographic regions and the groups assigned to them.
- Fleet Maintenance: Dashboard for tracking drone health status and completing maintenance logs.
- Mission Planning: Interface for defining survey boundaries (group missions) or manual waypoints (solo missions).
- Real-time Monitoring: Low-latency WebRTC video feed streamed directly from the active drone.
- Manual Control: Integrated support for gamepads and touch/mouse controls with real-time subsystem health checks.
Desktop Home Page
Figure 1: Landing page of the client showing active outposts.
Desktop GCS Overview
Figure 2: Mission planning screen for area coverage.
Low-Latency Manual Control
Figure 3: [Screenshot W.I.P] Manual drone control interface with telemetry and subsystems.
Tech Stack:
- Shell: Tauri v2 (Rust)
- Frontend: React + Tailwind CSS
- Streaming: WebRTC (Amazon KVS SDK)
3. Onboard Agent (Python)
The coordinator software of the drone, running on it's companion computer (Raspberry Pi 5).
Key Responsibilities:
- Flight Controller Bridge: Communicates with the PX4 flight stack via MAVSDK.
- Job Consumer: Listens for AWS IoT Jobs, downloads mission bundles from S3, and executes them autonomously.
- State Management: Uses a dedicated State Machine to track the drone's lifecycle.
- Telemetry Provider: Publishes real-time GPS, battery, health, and AI detections to AWS IoT Core.
- Video Streamer: Manages GStreamer pipelines to encode camera data and stream it via WebRTC.
- Manual Controller: Handles low-latency control commands from
FleetCoreDesktopvia WebRTC data channels.
Onboard Agent In Simulator
Figure 4: The drone agent controlling a simulated drone in Gazebo Classic.