UTM and Remote ID
UAT 367 Cybersecurity, Command and Control Links and Unmanned Aircraft Systems Traffic Management
Lesson
By the end of this module you will be able to
- Explain the UTM architecture, USS providers and the exchange of flight plans
- Check strategic conflicts between operational intents in space, altitude and time, and find the minimum delay
- Explain Remote ID data and performance under ASTM F3411 and FAA Part 89
- Compare the EU U-space framework with the situation in Thailand
Why this matters
When many drones from many operators fly beyond visual line of sight in the same area, nobody sees the whole picture, and traditional air traffic control was never designed to talk to hundreds of drones. UTM (UAS traffic management) is a system in which several service providers exchange flight plans automatically. ICAO’s framework, Edition 4 (2023), sets out its common principles. People on the ground also need to know whose drone is passing overhead, which is the job of Remote ID.
UTM architecture
- Operators submit flight plans through the USS (UAS service supplier) they use.
- A USS shares an operational intent, a set of volumes in space, altitude and time.
- The discovery and synchronization service (DSS) tells each USS which other USSs have plans in the same area.
- The authority publishes constraints, such as temporary no-fly zones.
- ASTM F3548-21 specifies USS interoperability, including strategic conflict detection before flight and monitoring whether flights conform to their plans.
The European Union uses the name U-space, under Regulation (EU) 2021/664, applicable from 26 January 2023. It requires four services in every U-space airspace: network identification, geo-awareness, UAS flight authorisation and traffic information. Weather information and conformance monitoring are optional services that Member States may require.
Status in Thailand: Aeronautical Radio of Thailand (AEROTHAI) is trialling AEROTHAI UTM at Wangchan Valley in Rayong, with a first demonstration on 1 September 2022. We found no CAAT or NBTC announcement that mandates UTM or Remote ID in general. Operators in Thailand must check CAAT’s latest announcements before real operations.
Checking conflicts between flight plans
Each flight plan is split into segments, each a box in space, altitude and time (plus a buffer). Two boxes conflict only when they overlap in every dimension; if they are separated in even one, there is no conflict.
Example 1 Two crossing medical delivery routes
Flight A flies 6 km east at 30–90 m. Flight B flies north, crossing the middle of A’s route at 50–90 m. Both fly at 15 m/s, with 1 km segments, 100 m either side and a ±30 s time buffer.
import math
def intent(start, end, alt, speed, depart, seg=1000, half_w=100, buf=30):
(x0, y0), (x1, y1) = start, end
length = math.dist(start, end)
vols = []
for i in range(math.ceil(length / seg)):
a, b = i * seg / length, min((i + 1) * seg / length, 1)
xa, ya = x0 + a * (x1 - x0), y0 + a * (y1 - y0)
xb, yb = x0 + b * (x1 - x0), y0 + b * (y1 - y0)
vols.append((min(xa, xb) - half_w, max(xa, xb) + half_w, min(ya, yb) - half_w, max(ya, yb) + half_w,
alt[0], alt[1], depart + a * length / speed - buf, depart + b * length / speed + buf))
return vols
def overlap(p, q):
return all(p[2 * k] < q[2 * k + 1] and q[2 * k] < p[2 * k + 1] for k in range(4))
A = intent((0, 0), (6000, 0), (30, 90), 15, depart=0)
for delay in range(0, 601, 30):
B = intent((3000, -3000), (3000, 3000), (50, 90), 15, depart=delay)
clashes = [(i + 1, j + 1) for i, p in enumerate(A) for j, q in enumerate(B) if overlap(p, q)]
print(f"B departs +{delay:>3} s: {len(clashes)} conflicting segment pairs {clashes}")
if not clashes:
break
B departs + 0 s: 4 conflicting segment pairs [(3, 3), (3, 4), (4, 3), (4, 4)]
B departs + 30 s: 4 conflicting segment pairs [(3, 3), (3, 4), (4, 3), (4, 4)]
B departs + 60 s: 3 conflicting segment pairs [(3, 3), (4, 3), (4, 4)]
B departs + 90 s: 3 conflicting segment pairs [(3, 3), (4, 3), (4, 4)]
B departs +120 s: 3 conflicting segment pairs [(3, 3), (4, 3), (4, 4)]
B departs +150 s: 1 conflicting segment pairs [(4, 3)]
B departs +180 s: 1 conflicting segment pairs [(4, 3)]
B departs +210 s: 0 conflicting segment pairs []
If B departs with A there are four conflicting pairs around the crossing. Delaying B by 210 seconds removes every conflict. Another option is to separate the altitude bands completely, which must stay within the authorised ceiling.
Remote ID
ASTM F3411-22a defines Remote ID message formats for both broadcast and network Remote ID. Broadcast messages come in several types, such as Basic ID, Location/Vector, Authentication, Self-ID, System and Operator ID. The US rule FAA 14 CFR Part 89, fully enforced since 16 March 2024, sets minimum data, such as the aircraft identifier, the position and altitude of both aircraft and control station, velocity, a time mark and emergency status, and sets performance requirements such as:
- At least 1 message per second.
- Broadcast no later than 1.0 second after measurement.
- Position within 100 ft (30.48 m) at 95% probability.
3GPP also specifies UAS identification and tracking over mobile networks in TS 23.256, relevant to drones using LTE or 5G.
Example 2 Checking a Remote ID log against Part 89
The US criteria are used here as an example of the checking method. The data is a hypothetical log of 20 messages.
FT100 = 100 * 0.3048
meas = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.4, 13.4, 14.4, 15.4, 16.4, 17.4, 18.4, 19.4]
lat = [0.3] * 20
lat[7] = 1.2
errs = [4, 6, 5, 8, 7, 12, 9, 6, 5, 11, 14, 10, 8, 7, 34, 9, 6, 5, 7, 8]
sent = [m + l for m, l in zip(meas, lat)]
gaps = [b - a for a, b in zip(sent, sent[1:])]
print(f"broadcasts {len(sent)}, largest gap {max(gaps):.1f} s, gaps over 1 s: {sum(g > 1.0 for g in gaps)}")
print(f"latency over 1 s: {sum(x > 1.0 for x in lat)}")
within = sum(e <= FT100 for e in errs) / len(errs)
print(f"position within {FT100:.2f} m: {within:.0%} (needs at least 95%)")
broadcasts 20, largest gap 1.9 s, gaps over 1 s: 2
latency over 1 s: 1
position within 30.48 m: 95% (needs at least 95%)
Position accuracy just passes, but there are two gaps longer than 1 second and one message sent more than 1 second late. The cause needs finding, for example other tasks competing for the broadcast module’s processor time.
Module lab
Lab: flight plans and Remote ID for the delivery network
- Draw routes from the hospital to all three health centres, split them into segments and use the code from Example 1 to check every pair of flights in a day.
- Build a departure schedule with no conflicts and compare it with altitude separation.
- If the lab has a Remote ID module or receiver app, record messages during a test flight and check them with the code from Example 2.
- Study the InterUSS documentation or an open USS simulator and explain which data is exchanged between USSs.
- Summarise Thailand’s rules from the CAAT website as of the lab date, citing sources.
Common mistakes
Watch out
- Checking conflicts in space only, forgetting time and altitude.
- No time buffer for late departures or wind.
- Thinking UTM replaces in-flight avoidance, when pre-flight checks are strategic only.
- Treating US or EU rules as Thai rules.
- Looking only at averages in the Remote ID log instead of checking every interval.
Summary
- UTM lets several USSs exchange flight plans through a DSS and check conflicts before flight.
- A conflict exists only when volumes overlap in every dimension; delaying or separating altitude resolves it.
- Part 89 requires at least one message per second, no more than 1 second latency and position within 30.48 m at 95%.
- U-space has four mandatory services; Thailand is still at the UTM trial stage.
Check your understanding
- Two boxes overlap in space and altitude but not in time. Is there a conflict?
- A 1 km segment flown at 20 m/s with a 30 s buffer: what is the time window of the first segment for a departure at 0?
- What are the four mandatory U-space services?
- How many metres is 100 ft?
- What is the status of UTM in Thailand, according to the information we could verify?
Answers
- No; they must overlap in every dimension.
- seconds.
- Network identification, geo-awareness, UAS flight authorisation and traffic information.
- m
- It is at the trial stage, for example AEROTHAI UTM at Wangchan Valley; no general mandate was found.
Key formulas
| Two intervals overlap | |
| Time window of segment i |
Key references
- International Civil Aviation Organization. (2023). Unmanned aircraft systems traffic management (UTM): A common framework with core principles for global harmonization (4th ed.). ICAO. link
- ASTM International. (2021). Standard specification for UAS traffic management (UTM) UAS service supplier (USS) interoperability (ASTM F3548-21). link
- European Commission. (2021). Commission Implementing Regulation (EU) 2021/664 of 22 April 2021 on a regulatory framework for the U-space. Official Journal of the European Union, L 139, 161–183. link
- ASTM International. (2022). Standard specification for remote ID and tracking (ASTM F3411-22a). link
- Federal Aviation Administration. Remote identification of unmanned aircraft, 14 C.F.R. Part 89 (compliance date September 16, 2023). link
- Federal Aviation Administration. (2024). FAA ends discretionary enforcement policy for drone remote identification [News release]. link
- บริษัท วิทยุการบินแห่งประเทศไทย จำกัด. AEROTHAI UTM. link
- 3GPP. Support of uncrewed aerial systems (UAS) connectivity, identification and tracking; Stage 2 (TS 23.256). link
Further reading
Study the assigned knowledge units in advance, review media and take the module quiz
In class / field
Intensive lab and field practice recorded in a lab notebook
Learning evidence: Lab notebook signed by the instructor