PX4 fleet management, Mava multi-agent RL swarms, OpenAthena geospatial ISR, Batear acoustic counter-detection. From individual drone to coordinated swarm โ sovereign British AI at every layer.
Open-source autopilot. Mission planning, geofencing, failsafe. MAVSDK Python SDK for programmatic control.
Multi-agent reinforcement learning. Decentralised swarm coordination. Each drone learns optimal patrol patterns.
$10 ESP32 acoustic drone detector. Frequency analysis identifies hostile UAVs at 500m+ range.
Multirotor (ISR), Fixed-wing (long endurance), VTOL (hybrid), UGV (ground), UUV (underwater). All MAVLink.
DEFONEOS uses PX4 Autopilot as the core flight controller, managed through MAVSDK Python bindings. Every drone in the fleet is addressable via MCP tools, enabling AI-driven mission planning.
Runs on Pixhawk hardware or SITL simulation. Handles real-time flight control, attitude stabilisation, sensor fusion (IMU/GPS/barometer). MAVLink protocol for telemetry.
Python SDK wrapping MAVLink. Programmatic takeoff, waypoint navigation, payload control. DEFONEOS MCP exposes this as drone_takeoff, drone_waypoint, drone_rtl.
QGroundControl or programmatic mission files. Waypoint grids, search patterns, ISR orbits. Pre-loaded on drone before launch, updated mid-flight via data link.
Mava RL engine assigns roles: leader, scout, relay, striker. BFT council validates each engagement decision. All actions SIGIL-signed for audit trail.
| Platform | Type | Endurance | Payload | Role |
|---|---|---|---|---|
| PX4 Multirotor | Quad/Hex | 25-40 min | 1-3 kg | ISR recon, close-range |
| PX4 Fixed-Wing | Airplane | 2-6 hrs | 2-5 kg | Long-endurance patrol |
| PX4 VTOL | Hybrid | 1-3 hrs | 1-3 kg | Runway-independent ops |
| ArduRover (UGV) | Ground | 4-8 hrs | 5-20 kg | Ground patrol, cargo |
| ArduSub (UUV) | Submarine | 2-4 hrs | 1-5 kg | Underwater ISR, mine detection |
Mava provides decentralised multi-agent RL for swarm coordination. Each drone is an independent agent learning to cooperate. DEFONEOS trains swarm policies for search-and-rescue, ISR coverage, and perimeter defence.
PX4 SITL + AirSim/Flightmare simulation. N drones in shared airspace. Observation: GPS position, velocity, neighbours, targets. Action: velocity vector, role switch.
Coverage reward (maximise area scanned), collision penalty, energy efficiency bonus, target capture reward. BFT council can override malicious reward signals.
Multi-Agent PPO with parameter sharing. Centralised critic, decentralised actors. Trained on M2/M3 Mac via JAX. 10M steps per policy iteration.
Trained policy exported to ONNX. Runs on Raspberry Pi 5 companion computer aboard each drone. Inference <5ms. Real-time swarm coordination.
| Swarm Pattern | Drones | Strategy | Use Case |
|---|---|---|---|
| Dragonfly (ISR) | 5-10 | Decentralised search | Area recon, missing person |
| Hornet (Strike) | 3-5 | Coordinated approach | Target interdiction |
| Killer Bee (Overwhelm) | 20-50 | Saturation swarm | AD suppression, decoy |
| Worker (Logistics) | 2-4 | Relay chain | Comms extension |
OpenAthena performs terrain analysis and target geolocation from drone imagery. Combines DEM (Digital Elevation Model) data with drone telemetry to calculate precise 3D coordinates of ground targets.
Drone camera captures ground imagery. Telemetry (GPS, altitude, heading, camera angle) embedded in EXIF or transmitted via MAVLink.
OpenAthena correlates image features against UK Ordnance Survey DTM (Digital Terrain Model). Ray-casting from camera position through terrain model.
Outputs WGS84 latitude/longitude with confidence radius. Typical accuracy: 5-30m from 500m altitude. Better than pure GPS for ground targets.
Geolocated targets displayed on 3D Cesium globe in DEFONEOS C2. Target tracks updated in real-time. Cursor-on-Target (CoT) protocol for TAK interoperability.
| DEM Source | Resolution | Coverage | Access |
|---|---|---|---|
| OS Terrain 50 | 50m grid | UK full | Ordnance Survey (free) |
| SRTM 30m | 30m grid | Global (ยฑ60ยฐ lat) | NASA (free) |
| OS Terrain 5 | 5m grid | UK full | Ordnance Survey (paid) |
| LIDAR DTM | 1m grid | UK partial | DEFRA (free) |
Batear is an ESP32-based acoustic drone detector that costs $10 in parts. Uses frequency analysis to identify the distinctive rotor signatures of common commercial and military drones. Deployable in dense networks.
INMP441 I2S MEMS microphone on ESP32. Samples at 44.1kHz. Continuous monitoring. Power draw: <200mA (solar-compatible).
On-device Fast Fourier Transform identifies rotor blade frequencies. DJI Phantom: 180-220Hz. DJI Mavic: 140-170Hz. Custom: signature database extensible via MCP.
Positive detection triggers MQTT alert to DEFONEOS C2. Includes bearing estimate (array of 2+ Batears), confidence score, timestamp. All SIGIL-signed.
Distributed mesh of Batear nodes covers 360ยฐ acoustic detection. $100 buys 10 nodes = 500m perimeter coverage. UAV tracking + classification without radar.
| Drone Type | Blade freq (Hz) | Detection Range | Confidence |
|---|---|---|---|
| DJI Phantom 4 | 190-210 | 300-500m | 94% |
| DJI Mavic 3 | 145-165 | 200-400m | 91% |
| Autel EVO | 160-180 | 250-400m | 89% |
| PX4 DIY | Variable | 150-300m | 76% |
| Military (fixed-wing) | 80-120 | 500-800m | 82% |
The defoneos-counterdrone-mcp and defoneos-tak-mcp expose all autonomous system capabilities through the Model Context Protocol. AI agents can launch, control, and recall swarms programmatically.
| Tool | Input | Output | Description |
|---|---|---|---|
| drone_takeoff | system_id, altitude | status | Command specific drone to take off and hold altitude |
| drone_waypoint | system_id, lat, lon, alt | eta | Send drone to GPS waypoint |
| drone_rtl | system_id | status | Return to launch |
| swarm_launch | pattern, n_drones, area | mission_id | Launch coordinated swarm mission |
| swarm_status | mission_id | JSON status | Get real-time swarm formation, coverage, individual drone status |
| swarm_recall | mission_id | status | Recall all drones in swarm |
| batear_deploy | node_id, location | status | Register and activate Batear acoustic detector |
| batear_scan | node_id or "all" | detections[] | Get acoustic detections with bearing, freq, confidence |
| openAthena_locate | image, drone_telemetry | lat, lon, confidence | Geolocate ground target from drone imagery + DEM |
| fleet_status | none | JSON fleet | Get all connected drones: battery, position, mode, mission |