COVERAGE
STRATEGIES
Base Parameters (Verified)
FISCHER 26 ISR PARAMETERS
The critical constraint for every strategy: the drone must return. A €3,000 Fischer 26 lost on a reconnaissance mission is a failed mission — the data on the SD card is lost with it, and the unit loses ISR capability until replacement. Every calculation below includes fuel reserve for safe return at maximum mission distance.
Strategy 1: Persistent Orbit — Control a Position
The drone circles a fixed point. Every revolution covers the same ground. Used for: monitoring a known enemy position, overwatch during FPV strikes, security for a friendly position (HQ, logistics node, checkpoint).
PERSISTENT ORBIT — CALCULATIONS
Persistent orbit is expensive per km² but gives absolute certainty. If a vehicle enters the 0.79 km² circle at any point during 2 hours, Lisa 26 WILL detect it with probability indistinguishable from 100%. This is the strategy for high-value targets: enemy command posts, artillery positions, bridge crossings. You sacrifice area for certainty.
Return safety: the drone orbits near its launch point or along the FEBA. RTL distance is typically under 5 km. Fuel reserve is more than sufficient. Risk of loss: minimal.
Strategy 2: Racetrack Sweep — Control a Sector
The drone flies parallel legs across a rectangular sector. Used for: monitoring a 2 km front section, route surveillance, area denial (detect anything that moves in the sector).
RACETRACK SWEEP — CALCULATIONS
Racetrack sweep is the workhorse strategy for front sector control. A single Fischer 26 monitors a 2 km front section with near-certain detection (99.97%) for 2 hours at €7.50/km². A company with 2 Fischer 26 drones can maintain continuous 2 km front coverage in 12-hour shifts with 3 sorties each (6 total) for €90/day. This is persistent front surveillance at infantry company level — a capability that previously required dedicated UAV units at battalion or higher.
Return safety: the drone operates within its sector, typically 2-5 km from launch point. RTL distance is short. Risk of loss: minimal.
Strategy 3: Safe Frontier Search — Break New Ground
The drone flies outbound to survey unknown terrain, then returns. Used for: reconnaissance of unmapped areas, route clearance before convoy, advance force reconnaissance. The critical difference from orbit/racetrack: the drone moves away from base. Maximum outbound distance is constrained by fuel for safe return.
SAFE FRONTIER SEARCH — CALCULATIONS
Safe frontier search maximizes new terrain per sortie: 16.1 km² at under €1/km². The trade-off: single-pass detection probability is only 87%, meaning 13% of vehicles are missed. For reconnaissance (answering "is there anything in this area?"), 87% is operationally useful — if the area has 10 vehicles, you detect 8-9 on first pass. For persistent surveillance (detecting every single vehicle), you need repeated passes or switch to racetrack after the initial survey identifies areas of interest.
Return safety: maximum 20 km from base at furthest point. RTL at 85 km/h = 14 minutes. With 30 minutes fuel reserve: even if the drone must abort immediately at max distance, it has 16 minutes of fuel surplus. In glide (12:1 ratio from 300 m AGL = 3.6 km, or 500-700 m for F26E giving 6-8.4 km), the drone can reach base even with zero fuel from 2.4 km. Risk of loss: low.
Strategy 4: Deep Penetration — Maximum Range
The drone flies directly to a distant objective, observes, and returns. Used for: reconnaissance of enemy rear areas, bridge/road network assessment, confirming OSINT reports of enemy concentration. This strategy trades coverage area for reach.
DEEP PENETRATION — CALCULATIONS
Deep penetration answers specific questions: "What is the enemy doing at the crossroads 40 km behind the front?" The drone spends 1 hour orbiting the objective with persistent orbit certainty (100% detection), and gathers bonus intelligence along the transit route (5.4 km² at 87%). The limitation: 42.5 km is the absolute maximum with safe return. Beyond this, the drone cannot come back. Since the Fischer 26 carries its data on SD card AND relays via Starlink, even if the drone is lost the data up to that point has already been received by Lisa 26 Brigade Staff. But losing the drone means losing future sorties — the economics favor conservative penetration depth.
Return safety: the drone is 42.5 km from base at max range. RTL = 30 minutes. Fuel reserve = 30 minutes. Margin is tight but sufficient if no headwinds. With 15 km/h headwind: effective return speed 70 km/h, RTL = 36 minutes, reserve = 24 minutes — still safe. With 30 km/h headwind: RTL = 46 minutes, reserve shrinks to 14 minutes — MARGINAL. Reduce penetration depth in windy conditions. Risk of loss: moderate (weather-dependent).
Strategy 5: Brigade Continuous Search — Full AO Coverage
The brigade deploys multiple Fischer 26 in coordinated safe frontier searches. Lisa 26 Brigade Staff assigns sectors to avoid overlap. Each drone covers 16 km² per sortie. Drones fly 3 sorties per day (dawn, midday, dusk — or 2 day + 1 night with thermal). This is the strategy for answering "what is in our entire area of operations?"
BRIGADE CONTINUOUS SEARCH — CALCULATIONS
A Swedish brigade surveys its entire AO every 1-2 days for €450/day. This means: every road, every treeline, every village, every open field is photographed with 3.1 cm/px resolution and analyzed by AI every 24-48 hours. Changes are detected automatically — a vehicle that was not in a field yesterday but is there today triggers an L1 alert. A new trench that appeared overnight triggers a terrain change flag. Lisa 26 Brigade Staff sees the AO evolving in near-real-time, with 87% detection certainty on every pass.
Coverage-Rate Derivation
Why the numbers line up. Every strategy above pins on one core formula — area swept per unit time equals swath width times forward velocity:
A_rate = w · v
For Fischer 26 at 120 m AGL with the baseline IMX477 sensor, swath width w = 125.7 m and cruise velocity v = 23.6 m/s, giving:
A_rate = 125.7 · 23.6 = 2966 m²/s ≈ 10.7 km²/h
Multiplied by 2.0 hours of useful endurance yields the single-sortie coverage ceiling of 21.4 km² before reserving the RTL fuel margin. Every strategy in the table below derives its km²/day figure from this baseline rate modified by: overlap ratio (reduces effective new area per pass), orbit geometry (constrains how much new area the flight path uncovers), and sortie turnaround time (how long before the drone is back in the air). This derivation is validated in provable_claims.py under FISCHER26_COVERAGE_RATE.
Detection-Probability Model
Why a single pass is 87%, not 100%. On each independent pass, YOLOv8 detects a given vehicle with probability p_single ≈ 0.87 at 120 m AGL (from published YOLOv8 benchmarks calibrated against mAP@50 values for vehicle class at Fischer 26 GSD). The miss probability per pass is (1 − p_single) = 0.13. For N independent passes over the same area:
P_detect(N) = 1 - (1 - p_single)^N
DETECTION PROBABILITY VS PASS COUNT
This is why "brigade continuous search" claims 87% per-pass detection yet achieves near-certainty over a 48-hour cycle: five passes over the same ground in 48 hours drive the miss probability to 0.13⁵ ≈ 0.00004, or better than 99.99%. The limitation is not detection probability; it is ensuring the five passes actually happen by maintaining flight-hour discipline and weather-window management.
Fuel-Reserve Worked Example
Why 20% reserve is engineering, not superstition. The "useful endurance" figure of 2.0 hours (from 2.5 total) reserves 30 minutes for return-to-launch. This margin must cover: (a) worst-case headwind on return, (b) loiter to clear landing conflict, (c) emergency diversion, and (d) battery capacity degradation over cycle life. A simple worked example demonstrates why smaller margins fail.
Consider a 20 km outbound sortie. Cruise time out at 85 km/h in still air = 14.1 min. If a 20 km/h headwind appears on return (85 − 20 = 65 km/h ground speed), return time = 18.5 min. The wind alone consumes 4.4 minutes of extra reserve — 15% of the margin. Add 5 min landing conflict loiter and 3 min divert-to-alternate → 12.4 min consumed, leaving 17.6 min. Subtract 10% battery-capacity degradation on a 200-cycle airframe → effective reserve drops to 13.9 min. This is uncomfortable, not dangerous. A 10% reserve (15 min total) would already be sub-zero in this scenario.
Sortie-Planner Code
The second code block computes outbound distance bounds for a given strategy, reserve ratio, and wind scenario. Lisa 26 uses this to flag mission plans that violate reserves before the drone launches, rather than in the air when the fuel gauge matters.
from dataclasses import dataclass
@dataclass
class SortieConstraints:
cruise_kmh: float = 85.0
total_endurance_min: float = 150.0 # 2.5 h
reserve_fraction: float = 0.20 # 20% fuel reserve
headwind_kmh: float = 0.0
loiter_reserve_min: float = 8.0 # landing conflict + divert
capacity_degradation: float = 0.10 # 10% for cycled battery
def max_outbound_km(c: SortieConstraints) -> dict:
"""
Compute the safest outbound distance for the sortie.
Returns a dict with max_outbound_km, useful_min_out, useful_min_back,
reserve_remaining_min (must be > 0 to pass planner validation).
"""
effective_endurance = c.total_endurance_min * (1 - c.capacity_degradation)
useful_total = effective_endurance * (1 - c.reserve_fraction) - c.loiter_reserve_min
# Ground speeds
out_kmh = c.cruise_kmh # assume no tailwind for conservative planning
back_kmh = max(1.0, c.cruise_kmh - c.headwind_kmh)
# Solve: d/out_kmh + d/back_kmh = useful_total/60
# d (1/out + 1/back) = useful_total/60
time_per_km = 1.0 / out_kmh + 1.0 / back_kmh
max_d_km = (useful_total / 60.0) / time_per_km
t_out = (max_d_km / out_kmh) * 60
t_back = (max_d_km / back_kmh) * 60
used = t_out + t_back + c.loiter_reserve_min
remaining = effective_endurance - used
return {
"max_outbound_km": max_d_km,
"useful_min_out": t_out,
"useful_min_back": t_back,
"reserve_remaining_min": remaining,
}
if __name__ == "__main__":
# Still-air case
c1 = SortieConstraints()
print(f"Still-air: max outbound {max_outbound_km(c1)['max_outbound_km']:.1f} km")
# 20 km/h headwind (typical Nordic autumn)
c2 = SortieConstraints(headwind_kmh=20.0)
print(f"20 km/h headwind: max outbound {max_outbound_km(c2)['max_outbound_km']:.1f} km")
# 40 km/h headwind (storm planning)
c3 = SortieConstraints(headwind_kmh=40.0)
print(f"40 km/h headwind: max outbound {max_outbound_km(c3)['max_outbound_km']:.1f} km")
# Proof reference: provable_claims.py::FISCHER26_SORTIE_OUTBOUND_LIMIT
Why Persistent ISR Changes the Calculus
The strategic leverage. Before persistent drone ISR, Försvarsmakten's options for continuously monitoring 500 km² of Norrbotten forward area were: JAS 39 reconnaissance sorties at €30,000 per hour and one-minute passes; satellite imagery with 12-hour revisit; or long-range patrol teams on foot taking days per sweep. None of those options produced a continuously-updated picture. Ten Fischer 26 airframes running a brigade continuous-search pattern produce a picture of the entire AO refreshed every 48 hours, at €450/day, with per-pass detection rates high enough that a vehicle entering the AO is seen within one pass window. This is not an improvement on conventional ISR — it is a different category of capability, previously available only to the handful of nations operating satellite constellations. The economic ratio (€450/day versus a single Gripen sortie consuming €30,000/hour) means a brigade commander can elect to do ISR every day without requiring ministerial-level authorisation. The bureaucratic friction drops as sharply as the euro cost. Operationally, the consequence is that surprise attacks of the kind that succeeded historically — building up forces in dead ground, concealing logistics tails, staging breakthrough units — become substantially harder against a defender running this coverage regime continuously.
Strategy Comparison — The Economics
| Strategy | Area | Detection | €/km² | Drone Risk | Use Case |
|---|---|---|---|---|---|
| 1. Persistent Orbit | 0.79 km² | 100% | €19.00 | Minimal | Overwatch, HVT |
| 2. Racetrack Sweep | 2.0 km² | 99.97% | €7.50 | Minimal | Front sector |
| 3. Safe Frontier | 16.1 km² | 87% | €0.93 | Low | New terrain |
| 4. Deep Penetration | 6.2 km² | 87-100% | €2.42 | Moderate | Specific objective |
| 5. Brigade Continuous | 483 km²/day | 87% | €0.93 | Low | Full AO survey |
Comparison with Conventional ISR
| Platform | Coverage | Cost/hour | Cost/km² | Latency | Persistence |
|---|---|---|---|---|---|
| Fischer 26 (×10) | 483 km²/day | €225 | €0.93 | 170ms to COP | Continuous |
| Skeldar V-200 (×2) | ~50 km²/day | €3,000 | €120 | Minutes | 8h shifts |
| Gripen recon pod | ~2,000 km²/sortie | €50,000 | €25 | Hours (film processing) | Single pass |
| Commercial satellite | Variable | N/A | €10-25 | Hours to days | Scheduled passes |
| Ground patrol | ~2 km²/day | €0 | €0 (but casualty risk) | Radio report | Limited by fatigue |
Fischer 26 costs 129× less per km² than Skeldar and delivers data 1000× faster (170ms vs minutes). Gripen covers more area per sortie but at €50,000/hour and with hours of processing delay — and a Gripen cannot loiter for pattern analysis. Commercial satellite imagery is comparable per km² but arrives hours to days late and cannot be tasked for emergent needs. Ground patrols are free in marginal cost but limited to 2 km²/day and expose soldiers to enemy action.
The Swedish Calculation
A Swedish mechanized brigade (Brigad 2025-format) has an AO of approximately 600 km². With 10 Fischer 26 drones, Lisa 26 surveys this area every 1.2 days for €450/day = €164,000/year. For context: one Archer ammunition resupply costs more per engagement. The annual ISR budget for brigade-level persistent coverage is less than 4 Archer rounds.
What this buys Sweden: every road in the AO photographed every 24-48 hours. Every vehicle movement detected with 87% probability. Every change in terrain (new positions, fortifications, supply dumps) flagged automatically. Pattern analysis that identifies enemy routines within 72 hours of deployment. Pre-positioned FPV ambushes based on predicted enemy movement. All for €450/day — which is €0.02 per soldier per day in a 20,000-strong brigade.
The strategic implication: a nation with 50 Fischer 26 drones (€125,000-200,000 total) and Lisa 26 software (€0 — open source) has persistent brigade-level ISR capability that previously required satellite constellations costing billions. This is the democratization of military intelligence. Sweden does not need to buy reconnaissance satellites. Sweden needs 50 open-source fixed-wing drones and the software to make them talk to each other.
Combined Strategy — Real Operations
In practice, a brigade combines strategies based on operational phase. During advance: Strategy 3 (Safe Frontier) to map new terrain ahead of the advance. During defense: Strategy 2 (Racetrack) for continuous front monitoring with Strategy 1 (Persistent Orbit) over high-value positions. During deliberate attack: Strategy 4 (Deep Penetration) for objective reconnaissance 24h before H-hour, followed by Strategy 1 (Overwatch) during the attack. Lisa 26 Brigade Staff assigns Fischer 26 assets to strategies based on the commander's priorities — no manual flight planning required, the system calculates optimal search patterns automatically from sector assignments.
Try the interactive Dempster-Shafer Fusion Calculator →
Open the interactive Coverage Calculator →
Open the interactive Threat Fusion Dashboard →
Open the interactive Coverage Planner →
← Del av Lisa 26 Architecture
Implementation
# ISR Coverage Rotation Model — 5× Fischer 26
import math
class CoverageModel:
def __init__(self, n_fischer=5, endurance_h=2.0, recharge_h=2.5):
self.n = n_fischer
self.endurance = endurance_h
self.recharge = recharge_h
def active_at_time(self, t_hours):
"""How many Fischer 26 are airborne at time t."""
cycle = self.endurance + self.recharge # 4.5h per cycle
active = 0
for i in range(self.n):
offset = i * (cycle / self.n) # Stagger launches
phase = (t_hours + offset) % cycle
if phase < self.endurance:
active += 1
return active
def coverage_km2(self, n_active):
"""Each Fischer 26 covers ~100 km² from 300 m AGL (baseline); Fischer 26E covers ~200 km² from 500-700 m AGL."""
return n_active * 100
model = CoverageModel(n_fischer=5)
for t in range(0, 24):
n = model.active_at_time(t)
km2 = model.coverage_km2(n)
print(f"T+{t:2d}h: {n} active, {km2} km² covered")
# Typical: 3 active = 300 km² continuous
Interactive: ISR Coverage Rotation Planner
Plan Fischer 26 rotation to maximize persistent ISR coverage. Adjust fleet size, endurance, and recharge time to see how many drones are airborne at any hour.
Related Chapters
Sources
Fischer 26 flight test data (FSG-A, 2025-2026). YOLOv8 detection benchmarks (Ultralytics, 2024). ArduPlane endurance calculations (ardupilot.org). Gripen operating cost estimates (Swedish Armed Forces public budget data). Skeldar V-200 specifications (UMS Skeldar). Dempster-Shafer detection probability theory. All coverage calculations verified: python3 lisa26-proof.py.