UAV Systems Engineering · Module 8
M8-T7: FMEA
FMEA is a disciplined way to ask “how can this fail, what happens, how would we know, and what do we do” for every part of the system, before the vehicle flies.
Verification starts by knowing what you are verifying against. FMEA turns the system architecture into a list of concrete failure modes with consequences and detection means; that list drives the test plan, the monitors and the failsafes of the rest of this module.
Learning objectives
After this lesson, you should be able to:
- Describe the structure of an FMEA table and the meaning of severity, occurrence and detection.
- Build an FMEA for the navigation subsystem of a GNSS-denied UAV.
- Compute and critically use a risk priority number, and know its limits.
- Link each high-risk failure mode to a monitor, a mitigation and a test.
Conceptual explanation
An FMEA walks through the system element by element. For each element it lists the failure modes (how it can fail), their effects locally and at system level, the causes, the current controls (detection and prevention) and recommended actions. Each mode is scored for severity (S), occurrence (O) and detection (D), classically on 1–10 scales, and ranked by risk.
| Column | Question it answers |
|---|---|
| Item / function | What element, doing what? |
| Failure mode | How can it fail to do that? |
| Effect (local, system, vehicle) | What happens if it does? |
| Cause | Why would it fail? |
| Current controls | What detects or prevents it today? |
| , , | How bad, how likely, how likely to go undetected? |
| Action and owner | What will reduce risk, who owns it, and what verifies it? |
FMEA is a bottom-up method: start from components and ask what their failures do. Its complement, fault-tree analysis (lesson M8-T8), is top-down: start from a hazard such as “uncontrolled flight into a person” and ask which combinations of failures cause it. Use both.

Engineering intuition
The value of an FMEA is the conversation and the traceability, not the number. A team that writes “GNSS spoofing: effect, vehicle follows a false position; control: innovation gate only; detection score 8” has just discovered a gap, and the action (“add odometry cross-check, verify with the failure simulator”) is a requirement that can be tested. Scores help to order the work, but a mode with a catastrophic effect deserves action even if its risk priority number is low because it is rare.
Mathematical formulation
The classical risk priority number multiplies the three scores:
- severity of the worst credible effect: 10 = catastrophic (injury or uncontrolled flight), 1 = negligible.
- occurrence likelihood: 10 = almost certain in normal use, 1 = remote.
- detection: 10 = no means of detection before the effect, 1 = almost certain detection.
RPN has well-known weaknesses: it treats the three factors as interchangeable ( = 10, = 1, = 1 gives 10, the same as , , ), the scales are ordinal, and many different combinations give the same product. Modern practice (for example the harmonised AIAG-VDA approach) ranks by action priority that gives severity the strongest weight, and aviation safety processes tie severity classes to required assurance levels. For a first-pass UAV project, a simple rule works: act on every mode with severity ≥ 9 regardless of RPN, then on the highest RPNs.
Formal aviation practice (for example SAE ARP4761 for system safety assessment) uses defined severity classifications and probability targets per class. For an operation under a regulator’s risk assessment (for example JARUS SORA), the severity and likelihood definitions come from that framework: use them for any real approval.
Worked example: navigation subsystem of a GNSS-denied UAV
| Item | Failure mode | Effect | Detection / control | RPN | |||
|---|---|---|---|---|---|---|---|
| GNSS receiver | Loss of fix (blockage, jamming) | No absolute position; drift on odometry | Fix quality and C/N0 monitor | 6 | 6 | 2 | 72 |
| GNSS receiver | Spoofed position, slow ramp | Estimate follows false position; geofence invalid | Innovation gate only today | 9 | 3 | 8 | 216 |
| Camera / VIO | Low features (dark, textureless) | Visual odometry freezes or jumps | Feature count and inlier-ratio monitor | 7 | 6 | 3 | 126 |
| Camera / VIO | Camera-IMU timing offset after a driver update | Rotation-dependent drift | None until calibration check | 7 | 4 | 8 | 224 |
| LiDAR odometry | Degenerate geometry (corridor) | Drift along the corridor axis | Degeneracy flag from covariance | 7 | 5 | 4 | 140 |
| IMU | Accelerometer bias step (thermal or vibration) | Inertial drift in all modes | Bias state monitor, redundant IMU | 8 | 3 | 4 | 96 |
| Estimator | Overconfident covariance | Silent drift while confidence stays GREEN | NIS and NEES monitoring | 9 | 4 | 6 | 216 |
| Companion computer | Process overrun or crash | Stale setpoints; PX4 leaves offboard mode | Heartbeat, offboard timeout, watchdog | 8 | 4 | 2 | 64 |
| Link | Loss of GCS link | No operator override | Link-loss failsafe action | 7 | 5 | 2 | 70 |
The scores above are illustrative: they show how the method ranks modes, not measured field rates. The two highest-risk items (spoofing with weak detection, and an overconfident estimator) have severity 9 and deserve action under the “severity first” rule. Each action must name a verification: the spoofing item is closed by adding the odometry cross-check and showing it works in the GNSS-Denied Failure Simulator and in a flight test of the acceptance plan.
Architecture and data flow
FMEA outputs feed the rest of the verification chain: each failure mode with a monitor becomes a requirement on the monitor (module 8, lesson M8-T1), each mitigation a design change to the architecture (lesson M2-T16), each detection claim a test case (lesson M8-T6), and the highest-severity modes the top events of fault trees (lesson M8-T8). Keep the FMEA as a living table under configuration control (lesson M7-T19): re-run it whenever the architecture changes.
Real-world UAV applications
- Planning the failure-injection tests for software-in-the-loop and flight test.
- Showing a regulator or customer that the navigation system’s failure modes were considered.
- Prioritising which monitors to build first.
- Choosing where redundancy buys the most risk reduction.
Implementation example
This runs as shown: a small FMEA tool that computes RPN, applies the “severity first” rule, and checks that every high-risk mode has a named verification. Keeping the FMEA as data lets the build fail when a high-risk mode has no test.
from dataclasses import dataclass
@dataclass
class Mode:
item: str; mode: str; S: int; O: int; D: int; verification: str = ""
@property
def rpn(self): return self.S * self.O * self.D
fmea = [
Mode("GNSS receiver", "spoofed position, slow ramp", 9, 3, 8, "SIM-GNSS-SPOOF; FT-04"),
Mode("Camera / VIO", "timing offset after driver update", 7, 4, 8, ""),
Mode("Estimator", "overconfident covariance", 9, 4, 6, "SIM-NEES; FT-02"),
Mode("IMU", "accelerometer bias step", 8, 3, 4, "SIM-IMU-BIAS"),
Mode("Link", "loss of GCS link", 7, 5, 2, "FT-07"),
]
def must_act(m: Mode, severity_threshold=9, rpn_threshold=150):
return m.S >= severity_threshold or m.rpn >= rpn_threshold
for m in sorted(fmea, key=lambda m: (-m.S, -m.rpn)):
flag = "ACT" if must_act(m) else " "
print(f"{flag} S={m.S} RPN={m.rpn:4d} {m.item}: {m.mode} [{m.verification or 'NO VERIFICATION'}]")
unverified = [m for m in fmea if must_act(m) and not m.verification]
print("high-risk modes without verification:", [m.mode for m in unverified])
assert [m.mode for m in unverified] == ["timing offset after driver update"] # RPN 224 >= 150 and no test yet: the check catches it
assert max(fmea, key=lambda m: m.rpn).mode == "timing offset after driver update"Common engineering mistakes
Using RPN as the only criterion
It hides catastrophic, rare modes. Apply a severity-first rule alongside it.
Listing component faults without system effects
The effect on the vehicle and on people is what sets severity.
Scoring detection optimistically
“We would notice” is not a detection mechanism. Name the monitor and the time to detect.
Writing the FMEA once at the end
It must drive design decisions early and be updated with every architecture change.
Actions with no verification
A mitigation not tested is a hope. Each action must name how it will be verified.
Failure modes
| Failure mode | How it shows up | Likely cause |
|---|---|---|
| Common-cause failures missed | Redundant items fail together in the field | Item-by-item analysis misses shared dependencies (power, clock, vibration) |
| Inflated confidence in detection | A monitor that never fired in test fails to fire in flight | Detection scored without fault-injection evidence |
| Stale FMEA | New sensor or software version has no analysis | Document not under change control |
| Ranking distorted by arbitrary scales | Low RPN on a severe mode | Pure RPN ranking |
Debugging approach
- Walk the system block diagram (Architecture Builder) and confirm every interface appears in the FMEA.
- For each detection claim, point to a fault-injection test that triggered it.
- Review each severity-9 mode with someone outside the design team.
- Cross-check against incident reports of similar vehicles for modes you did not list.
Practical exercises
- Add three failure modes for the companion computer and the power system and score them.
- Show with numbers why , , should not be ranked below , , .
- Convert two FMEA rows into requirements with a verification method each.
- Use the failure simulator to produce evidence that a detection score of 3 is justified for GNSS loss.
Interview questions
Write an answer in your own words, then reveal the model answer. Nothing is sent anywhere.
Question 1
What is FMEA and how does it differ from fault-tree analysis?
Model answer
FMEA is bottom-up: start from component failure modes and trace effects. Fault-tree analysis is top-down: start from a hazard and find the failure combinations that cause it. They complement each other.
Question 2
What are the weaknesses of the RPN?
Model answer
It multiplies ordinal scores, so very different risks can give the same value and a severe but rare failure can rank low. Use a severity-first rule or action-priority tables.
Question 3
How do you make an FMEA drive verification?
Model answer
Give every high-risk mode a monitor or mitigation requirement and a named test case or simulation that demonstrates it, and track them in a traceability matrix.
References and further reading
Primary papers, official documentation and standards. Each claim above that is specific to a tool or version points here.
- SAE ARP4761: Guidelines and methods for conducting the safety assessment process on civil airborne systems and equipment
- EASA: specific category civil drones (operational risk assessment, SORA)
- NASA Systems Engineering Handbook (risk management and FMEA)
- IEC 60812, Failure modes and effects analysis (FMEA and FMECA).