Decision Engine
Interactive decision authority simulator showing L1/L2/L3 routing, kill chain steps, fratricide checks, and ROE delegation for drone strike decisions.
Interactive: Decision Authority & Kill Chain Simulator
Configure a detection scenario. The engine determines decision level, required authority, estimated time, and whether autonomous action is permitted under FSG-A ROE.
Three-Level Decision Authority for Autonomous Drone Systems
The Decision Engine simulator demonstrates how Lisa 26 assigns each detection to the appropriate command echelon level. Level 1 (Inform) applies to every detection regardless of confidence — detections propagate automatically to all displays on all COP screens within 170 milliseconds. No human action is required or requested. Level 2 (Recommend) activates when confidence exceeds 70 percent — the system generates a specific action recommendation including target type, approach vector, recommended FPV platform, and estimated strike cost. A human commander at the appropriate tier (platoon for vehicles, company for personnel) must explicitly approve or reject. Level 3 (Autonomous) is restricted to air defense only — when an inbound drone is detected at greater than 85 percent confidence with less than 10 seconds to impact, interceptor deployment occurs without operator authorization because the 8-15 second human decision cycle would result in the friendly position being struck before any response.
Kill Chain Visualization Step by Step
The simulator displays every step in the kill chain as a sequential pipeline. For a vehicle strike, the chain includes: Fischer 26 detection, AI classification, L2 recommendation generation, display on commander's COP, commander review, commander approval, FPV team briefing, FPV launch, FPV flight to target, terminal attack, and battle damage assessment pass. Each step has an estimated time. The total chain from detection to impact typically takes 2-8 minutes for vehicle targets depending on ROE delegation level. For the L3 autonomous air defense chain, the sequence compresses to: radar detection (0.1s), AI classification (0.2s), IFF verification (0.1s), launch command (0.3s), motor spin-up (1.2s), and intercept flight (2-6s) — total 4-8 seconds.
Fratricide Prevention and Blue Force Tracking
Before any strike recommendation, the Decision Engine performs an automatic fratricide check. Every friendly unit broadcasts a 27-byte HMAC-authenticated heartbeat on the MANET mesh every 2 seconds, providing continuous blue force position updates. The engine calculates the distance from the proposed target to every known blue force position. If any friendly unit is within 100 meters of the target, the strike recommendation is blocked and replaced with a fratricide warning. This safety radius is configurable — in dense urban environments it may be reduced to 50 meters, while in open terrain it may be increased to 200 meters. The fratricide check cannot be overridden by any automated system — only a human commander can authorize a strike within the safety radius.
Read the full technical documentation →
ROE Configuration Per Operation Type
The decision engine supports three ROE templates that commanders select before each operation. Standard ROE requires company commander approval for personnel engagements and platoon commander approval for vehicle targets — the default for most defensive operations. Delegated ROE pushes all approval authority to platoon level, enabling faster response during active contact where seconds matter — used during offensive operations and breakthrough exploitation. Restrictive ROE escalates all engagement decisions to battalion level regardless of target type — used during ceasefire periods, in areas with high civilian presence, or during joint operations with allied forces where political sensitivity requires senior officer oversight. The decision engine adjusts its routing logic automatically based on the selected ROE template without any code changes.
Implementation
# Decision Engine — L1/L2/L3 Routing Logic
class DecisionEngine:
def route(self, detection):
"""Route detection to correct authority level."""
# L3: Autonomous air defense (no human approval)
if (detection["cls"] == "drone" and
detection["inbound"] and
detection["time_to_impact"] < 10 and
detection["confidence"] > 0.85):
return "L3_AUTONOMOUS", "INTERCEPTOR LAUNCH", 0
# L2: Human approval required
if detection["confidence"] > 0.70:
tier = "PLATOON" if detection["cls"] == "vehicle" else "COMPANY"
return "L2_RECOMMEND", f"{tier} CDR APPROVES", 30
# L1: Display only
return "L1_INFORM", "COP DISPLAY", 0
engine = DecisionEngine()
det = {"cls": "vehicle", "confidence": 0.87,
"inbound": False, "time_to_impact": 120}
level, action, delay = engine.route(det)
print(f"Level: {level}")
print(f"Action: {action}")
Sources
- ArduPilot — ardupilot.org
- FOI — FOI publications catalogue (foi.se/publications)