Module 2/5 · Weeks 4–6 · 27 h

C2 link and detect-and-avoid

UAT 402 Advanced UAS Technology and BVLOS Operations

About 90 minDraft, awaiting reviewLast updated 28 September 2026

Lesson

By the end of this module you will be able to

  1. Explain the DAA well-clear definition and the parameters DMOD, HMD, ZTHR and modified tau
  2. Compute whether and when an encounter will lose well clear
  3. Break down the avoidance timeline and find the required detection range
  4. Compare avoidance by the pilot over C2 with onboard avoidance

Prerequisites: UAT 402 Module 1 · UAT 312 Module 4 and UAT 207 Modules 2–4 (C2 links)

Why this matters

UAT 312 computed the time available to decide after seeing another aircraft, and UAT 207 designed C2 links and failsafes. The drone knowledge base’s unit on C2 link design and lost-link covers telemetry, video links, redundancy, latency and lost-link procedures, and its unit on C2 and abnormal events in simulation stresses that a returning video feed does not confirm that C2 is sound or that DAA capability exists. This module turns “avoiding in time” into a criterion checked with numbers.

The well-clear definition

A DAA system must keep well clear of other aircraft. RTCA DO-365 (MOPS for DAA systems) sets values for larger unmanned aircraft in its first phase; per NASA’s WellClear documentation these are DMOD = HMD = 4,000 ft (about 1,219 m), ZTHR = 450 ft and modified tau 35 s. Loss of well clear occurs when both horizontal and vertical conditions hold. Horizontally, the current range is below DMOD or modified tau is between 0 and 35 s, and the predicted closest horizontal distance (HMD) is below 4,000 ft; vertically, the height difference is within ZTHR. Modified tau approximates the time until range reaches DMOD. For small drones, ASTM F3442 sets separate DAA performance requirements, so the values in this example are used to practise the principle.

Example 1 Three aircraft on the display

The pipeline drone is at the origin. Three aircraft are shown: one head-on 4 km away at a similar height, one crossing that will pass 2 km away, and one head-on but 200 m higher (hypothetical data).

import numpy as np

FT = 0.3048
DMOD, HMD, ZTHR, TAU = 4000 * FT, 4000 * FT, 450 * FT, 35.0   # DO-365 well-clear values (Phase 1)

def check(p_rel, v_rel, dz):
    r = np.linalg.norm(p_rel)
    rdot = p_rel @ v_rel / r
    tau_mod = (DMOD**2 - r**2) / (r * rdot) if rdot < 0 else float("inf")
    t_cpa = max(0.0, -(p_rel @ v_rel) / (v_rel @ v_rel))
    hmd = np.linalg.norm(p_rel + v_rel * t_cpa)
    horiz = (r <= DMOD or 0 <= tau_mod <= TAU) and hmd <= HMD
    lowc = horiz and abs(dz) <= ZTHR
    return tau_mod, hmd, lowc

cases = {   # intruder relative position (m), relative velocity (m/s), height difference (m)
    "head-on 4 km": (np.array([4000.0, 0]), np.array([-70.0, 0]), 30),
    "crossing, passes 2 km": (np.array([3000.0, 2000]), np.array([-60.0, 0]), 30),
    "head-on 4 km, 200 m above": (np.array([4000.0, 0]), np.array([-70.0, 0]), 200),
}
for name, (p, v, dz) in cases.items():
    start = next((s for s in range(0, 121) if check(p + v * s, v, dz)[2]), None)
    tau, hmd, _ = check(p, v, dz)
    msg = f"loss of well clear in {start} s" if start is not None else "stays well clear"
    print(f"{name:26s} now: tau_mod {tau:5.1f} s  HMD {hmd:5.0f} m  -> {msg}")
head-on 4 km               now: tau_mod  51.8 s  HMD     0 m  -> loss of well clear in 15 s
crossing, passes 2 km      now: tau_mod  64.0 s  HMD  2000 m  -> stays well clear
head-on 4 km, 200 m above  now: tau_mod  51.8 s  HMD     0 m  -> stays well clear

The head-on aircraft at the same level will lose well clear in 15 seconds, though it is still 4 km away. The crossing aircraft at 2 km and the one 200 m higher (above the ZTHR of about 137 m) stay well clear. Judging by current range alone is wrong in both directions; direction and relative velocity matter.

Top view: the drone at the centre of a blue circle with DMOD and HMD radius of 1,219 metres; a pink aircraft on the right heads straight in, with a point at 15 seconds on the alerting boundary; a green aircraft above crosses outside the circle
Figure 1 Encounter geometry and the well-clear boundary

The avoidance timeline

The required detection range depends on the total time from the sensor first seeing an aircraft to the avoidance taking effect: detecting and establishing a stable track, sending data down the C2 link, displaying it, the pilot deciding, sending the command up, and the time the drone takes to actually change direction. If the system can avoid onboard, the steps through C2 and the human disappear.

Example 2 How far away must we see?

Using assumed times for each step, compare closing speeds of 60 and 90 m/s, with avoidance complete before entering DMOD.

DMOD = 4000 * 0.3048          # m
steps_pilot = {"detect and track": 8, "C2 downlink + display": 1.5, "pilot decides": 12,
               "C2 uplink": 0.5, "manoeuvre takes effect": 8}
steps_onboard = {"detect and track": 8, "onboard decision": 1, "manoeuvre takes effect": 8}

for name, steps in [("pilot in the loop", steps_pilot), ("onboard avoidance", steps_onboard)]:
    t = sum(steps.values())
    for v_close in (60, 90):  # closing speed m/s
        r = v_close * t + DMOD
        print(f"{name:18s} timeline {t:4.1f} s  closing {v_close} m/s -> detect by {r/1000:.2f} km")
pilot in the loop  timeline 30.0 s  closing 60 m/s -> detect by 3.02 km
pilot in the loop  timeline 30.0 s  closing 90 m/s -> detect by 3.92 km
onboard avoidance  timeline 17.0 s  closing 60 m/s -> detect by 2.24 km
onboard avoidance  timeline 17.0 s  closing 90 m/s -> detect by 2.75 km

With the pilot deciding over C2, the sensor must see aircraft 3–4 km away, while onboard avoidance needs 2.2–2.8 km. Many sensors on small drones cannot see light aircraft that far. An ADS-B receiver only helps with aircraft carrying a transmitter; the rest need ground radar, observers or the strategic mitigations from Module 1.

Two timeline bars: pilot in the loop totals 30 seconds, made of detect and track, C2 downlink, decide, C2 uplink and manoeuvre taking effect; onboard avoidance totals 17 seconds with no C2 segments and a shorter decision
Figure 2 Two avoidance timelines

Module lab

Lab: measuring the real system timeline

  1. In SITL, inject simulated aircraft over MAVLink and measure the time from data arrival to display on the ground station
  2. Have each learner decide to avoid when alerted; record the times and find the mean and maximum
  3. Measure how long the training drone takes to turn 90 degrees at cruise speed
  4. Put the real values into Example 2 and compare with the range your sensor or ADS-B receiver can see
  5. Write the limitations of the team’s DAA system honestly

Common mistakes

Watch out

  • Judging by current range alone without relative velocity
  • Using the pilot’s best decision time instead of the measured maximum
  • Forgetting C2 time in both directions
  • Assuming ADS-B shows every aircraft
  • Applying large-aircraft well-clear values to small drones without checking the applicable standard

Summary

  • Well clear combines horizontal (DMOD, HMD, modified tau) and vertical (ZTHR) criteria
  • Modified tau gives the time before reaching DMOD, so it alerts earlier than range alone
  • Required detection range = closing speed × timeline + DMOD
  • Onboard avoidance greatly shortens the timeline by removing C2 and the human

Check your understanding

  1. About how many metres is DMOD in the first phase of DO-365?
  2. Has an aircraft 200 m higher lost vertical well clear?
  3. With a 20 s timeline, 50 m/s closing speed and DMOD 1,219 m, at what range must it be seen?
  4. What does modified tau mean when the aircraft is flying away?
  5. Why does a working video feed not confirm DAA capability?
Answers
  1. About 1,219 m (4,000 ft)
  2. No, because ZTHR of 450 ft is about 137 m
  3. m
  4. It has no alerting meaning, because range is increasing ()
  5. Video is mission data; it does not systematically detect, track and alert on other aircraft

Key formulas

Modified tau
Required detection range

Key references

  1. RTCA. (2022). Minimum operational performance standards (MOPS) for detect and avoid (DAA) systems (DO-365C). link
  2. NASA Langley Formal Methods. WellClear: Formal definitions and algorithms for DAA well-clear (software documentation). link
  3. ASTM International. (2025). Standard specification for detect and avoid system performance requirements (ASTM F3442-25). link
  4. Joint Authorities for Rulemaking on Unmanned Systems. (2024). JARUS guidelines on Specific Operations Risk Assessment (SORA), main body, edition 2.5 (JAR-DEL-SRM-SORA-MB-2.5). link

Further reading

Study the assigned knowledge units in advance, review media and take the module quiz

In class / field

Lab or field practice from worksheets with a safety checklist

Learning evidence: Checked worksheets and quiz results

Module quiz

This is a formative self-check, not a graded exam

Knowledge domain: Communications, networks and IoT · Law, safety and risk