ROB-420 · Lesson 12 of 12 · 27 min
Capstone: a safety case and validation plan for a campus shuttle or delivery drone
This capstone brings the course together. You will develop a safety case and validation plan for one of two systems: a low-speed automated shuttle carrying students and staff around a university campus, or a delivery drone carrying small parcels between campus buildings. Either system involves the full chain covered in the course: an operational design domain, perception, localization, planning and control or flight control, validation, regulation, human factors and ethics. The deliverable is not a working vehicle but the engineering argument and evidence plan that would justify deploying one. This lesson walks through a worked version for the shuttle and highlights where the drone version differs, then sets out the assignment and how it will be assessed.
Step 1: define the system and its ODD
Every safety case starts with a precise description of what is being argued about. For the shuttle: a battery-electric vehicle for up to 10 passengers, with a maximum speed of 25 km/h, running a fixed 3.2 km loop on campus roads with six stops, sharing the road with cars, cyclists and many pedestrians. The ODD specifies the route and its features, speed limits, times of operation, such as 7:00 to 22:00 on weekdays, and environmental limits: daylight and street-lit night, rain up to moderate intensity, temperatures from minus 25 to plus 35 degrees Celsius, and no operation in active snowfall or with snow-covered lane markings unless validated. It specifies a remote supervisor who monitors up to three shuttles and can assist, but not drive, and an on-board attendant during the first phase.
For the drone: a quadrotor under 25 kg carrying parcels up to 2 kg between six rooftop pads within a 2 km radius, cruising at 60 m above ground at 15 m/s, in winds below 10 m/s, visibility above 3 km, no icing conditions, and temperatures above minus 15 degrees Celsius, operating under the applicable BVLOS rules with a remote pilot supervising up to three aircraft.
Step 2: hazard analysis
Next, identify what could go wrong. Use structured methods: a hazard and operability study across operating modes, failure mode and effects analysis for components, and a SOTIF analysis of triggering conditions under which correct components might produce unsafe behaviour. For each hazard, estimate severity, exposure and controllability, and assign an integrity target, as in ISO 26262, or a risk class. Record everything in a hazard log that will be updated throughout the project.
| Hazard | Example cause | Severity | Mitigation |
|---|---|---|---|
| Strikes pedestrian crossing outside crosswalk | Occlusion by parked van; late detection | High | Speed limit near occlusions, lidar and camera redundancy, conservative prediction |
| Passenger falls during hard braking | Emergency stop with standing passengers | Medium | Seat-only policy, braking limits, announcements |
| Leaves lane on snow-covered road | Lane markings hidden; localization degraded | High | ODD exit on snow detection, map-relative lidar localization, integrity monitoring |
| Fails to yield to emergency vehicle | Siren not detected | High | Audio detection, remote supervisor alert, pull-over procedure |
| Stops in unsafe location after fault | Compute failure | Medium | Redundant compute, minimal risk manoeuvre to a safe stop |
For the drone, top hazards include loss of control over people due to motor or battery failure, mid-air collision with a crewed aircraft such as a medical helicopter landing at a campus hospital, flyaway after GNSS or link loss, and dropping a payload. Mitigations include redundant propulsion or a parachute, routing over roofs and less-used areas, DAA sensing and coordination with the helipad, geofences and failsafes, and secure payload latches with pre-flight checks.
Worked problem
Fault tree for a drone flyaway
A flyaway requires GNSS failure or spoofing that goes undetected and the geofence failsafe failing. Per flight hour, undetected GNSS fault probability is \( 10^{-4} \), and independent geofence failure is \( 10^{-3} \). Separately, a software defect that disables both has probability \( 10^{-7} \). What is the flyaway probability per hour?
Show solution
- Independent path (AND gate): \( 10^{-4} \times 10^{-3} = 10^{-7} \).
- Common-cause path: \( 10^{-7} \).
- OR gate, small probabilities: \( 10^{-7} + 10^{-7} = 2 \times 10^{-7} \) per hour.
Answer: About \( 2 \times 10^{-7} \) per flight hour, with half the risk from the common-cause defect, a reminder that redundancy helps only if failures are truly independent.
Step 3: safety requirements and architecture
Turn mitigations into requirements that can be tested. For example: the shuttle shall not exceed 15 km/h within 5 m of an occluding object adjacent to its path; it shall detect a pedestrian-sized object at 40 m with 99.9 % probability in the ODD; it shall reach a minimal risk condition within 10 s of a primary compute failure; it shall maintain lateral position within 0.3 m with a protection level reported at 10 Hz. Each requirement traces to a hazard and to the evidence that will show it is met. The architecture should support these requirements with redundancy where needed, an independent safety monitor and a minimal risk manoeuvre available at every point on the route.
# Check a shuttle speed policy: can it stop for a pedestrian appearing from an occlusion?
import numpy as np
rng = np.random.default_rng(42)
t_lat, a_brake = 0.4, 3.5 # latency (s) and comfortable-to-firm braking (m/s^2)
def stop_dist(v):
return v * t_lat + v**2 / (2 * a_brake)
for v_kmh in (25, 20, 15, 10):
v = v_kmh / 3.6
# pedestrian emerges at a random distance 4 to 12 m ahead from behind a parked van
d_emerge = rng.uniform(4, 12, 100_000)
p_collide = np.mean(stop_dist(v) > d_emerge)
print(f"{v_kmh:2d} km/h: stop {stop_dist(v):5.2f} m, fraction of emergences that cannot be avoided {p_collide:6.3f}")25 km/h: stop 9.67 m, fraction of emergences that cannot be avoided 0.708 20 km/h: stop 6.63 m, fraction of emergences that cannot be avoided 0.330 15 km/h: stop 4.15 m, fraction of emergences that cannot be avoided 0.018 10 km/h: stop 2.21 m, fraction of emergences that cannot be avoided 0.000
Step 4: the validation plan
The validation plan explains how evidence for each requirement and for overall safety will be gathered. It combines the layers from Lesson 8. Simulation covers a scenario library built from the hazard analysis, campus video surveys and public scenario databases, with parameter sweeps and falsification to find failures; hardware-in-the-loop tests check timing and fault handling; a closed test area on campus, such as a parking lot after hours, confirms critical scenarios with soft pedestrian targets; and staged on-road testing proceeds from an attendant with hands near controls, to an attendant without controls, to supervised operation without an attendant. Each stage has entry and exit criteria based on metrics such as minimum time to collision distributions, interventions per 1,000 km, rule violations and passenger comfort, and a safety review board decides on progression.
Worked problem
How much campus driving is enough?
The shuttle team wants 95 % confidence that the rate of safety-relevant interventions, ones where the attendant judged a collision likely without intervention, is below 1 per 10,000 km. How many intervention-free kilometres are needed? At 3 shuttles running 120 km a day, how long will that take?
Show solution
- Rule of three: \( n \approx 3/\lambda_0 = 3 \times 10\,000 = 30\,000 \) km.
- Fleet distance per day: \( 3 \times 120 = 360 \) km.
- Days: \( 30\,000/360 \approx 83 \) operating days, about four months of weekdays.
Answer: About 30,000 intervention-free km, roughly four months of weekday service. This is feasible for this narrow metric, but it cannot by itself demonstrate a low serious-injury rate, which is why simulation and scenario evidence are also required.
# Track intervention data during staged testing with a 95 % upper bound
import numpy as np
rng = np.random.default_rng(5)
true_rate = 1 / 25_000 # assumed true rate per km
km_per_day, days = 360, 120
km = np.cumsum(np.full(days, km_per_day))
events = np.cumsum(rng.poisson(true_rate * km_per_day, days))
for d in (30, 60, 90, 120):
k, n = events[d - 1], km[d - 1]
# 95 % one-sided upper bound on the Poisson mean (Wilson-Hilferty approximation)
mu_up = (k + 1) * (1 - 1 / (9 * (k + 1)) + 1.645 / (3 * np.sqrt(k + 1)))**3
upper = mu_up / n
print(f"day {d:3d}: {n:6,.0f} km, {k} events, upper bound 1 per {1 / upper:7,.0f} km")day 30: 10,800 km, 1 events, upper bound 1 per 2,284 km day 60: 21,600 km, 1 events, upper bound 1 per 4,568 km day 90: 32,400 km, 2 events, upper bound 1 per 5,155 km day 120: 43,200 km, 3 events, upper bound 1 per 5,578 km
Step 5: regulatory pathway and stakeholders
In Canada, the shuttle team would review whether the vehicle meets CMVSS or needs a section 9 exemption, follow Transport Canada's testing guidelines, and obtain provincial approval, for example under Ontario's automated vehicle pilot or a Quebec pilot project authorization. Campus roads may be private property, but public roads crossing campus bring provincial rules into play. The drone team would operate under the Canadian Aviation Regulations, using the lower-risk BVLOS rules if the routes qualify, or a Special Flight Operations Certificate otherwise, and coordinate with any nearby aerodrome or hospital helipad. Both teams should consult the campus safety office, security, accessibility services, student associations and local emergency services early.
Human factors and ethics belong in the plan too: how will passengers with disabilities board and get help; how will the shuttle communicate with pedestrians; what data will be recorded and how will privacy be protected; how will the remote supervisor's workload be kept manageable; and how will incidents be communicated openly to the campus community?
Step 6: operations, monitoring and updates
The safety case continues after launch. Define safety performance indicators and thresholds that trigger review, an incident response procedure, and a change management process: every software or map update passes regression testing in simulation and a short on-campus check before release, and the safety case is updated accordingly. Seasonal changes matter on Canadian and northern US campuses; the first winter is effectively a new ODD and should be approached as a new validation stage.
The assignment
Choose the shuttle or the drone, or propose another campus autonomous system of similar scope with instructor approval. Produce: a system and ODD description; a hazard log with at least 15 hazards, causes, severity and mitigations; a top-level safety argument in goal structuring notation with at least four sub-goals and their evidence; at least 10 testable safety requirements traced to hazards; a validation plan with simulation, closed-course and on-road stages, entry and exit criteria and a statistical justification of test quantities; a regulatory and stakeholder plan for your jurisdiction; and a one-page discussion of human factors, equity and privacy. Include at least one calculation from the course, such as stopping distance, protection level budget, hover endurance or the rule of three, with its assumptions.
| Criterion | Weight | What earns full marks |
|---|---|---|
| ODD and system definition | 10 % | Precise, measurable limits and clear roles |
| Hazard analysis | 20 % | Broad coverage including SOTIF triggers and common-cause faults |
| Safety argument and requirements | 20 % | Clear structure, traceability and testable requirements |
| Validation plan | 25 % | Layered evidence, justified quantities, honest limits |
| Regulation and stakeholders | 10 % | Correct, current, jurisdiction-specific pathway |
| Human factors, ethics, privacy | 10 % | Concrete measures rather than general statements |
| Communication | 5 % | Concise, well organized, readable by a non-specialist reviewer |
Common mistakes
MistakeWriting a vague ODD such as "good weather".
InsteadUse measurable limits such as visibility, precipitation rate and temperature range.
MistakeListing hazards without causes or mitigations.
InsteadEach hazard needs causes, a risk estimate, mitigations and evidence.
MistakeAssuming redundant components fail independently.
InsteadAnalyse common-cause failures such as shared software or power.
MistakeJustifying test quantities by intuition.
InsteadUse statistics such as the rule of three and state what the data can and cannot show.
MistakeTreating the safety case as a one-time document.
InsteadUpdate it with field data, incidents and every change.
Summary and key terms
- A safety case is a structured argument with evidence that a system is acceptably safe in its ODD.
- Start with a precise system and ODD definition, then a structured hazard analysis.
- Turn mitigations into testable, traceable safety requirements supported by the architecture.
- Validation combines simulation, hardware in the loop, closed-course and staged on-road or in-flight testing.
- Statistical reasoning sets test quantities and shows the limits of what testing proves.
- Regulatory pathways, stakeholders, human factors and privacy are part of the plan.
- Operations, monitoring and change management keep the safety case current.
- Safety case
- A structured argument, supported by evidence, that a system is acceptably safe.
- Goal structuring notation
- A graphical notation for safety arguments using goals, strategies and evidence.
- Hazard log
- A living record of hazards, causes, risk estimates and mitigations.
- FMEA
- Failure mode and effects analysis.
- Fault tree
- A logic diagram combining events with AND and OR gates to compute failure probability.
- Common-cause failure
- A single cause that defeats several redundant elements.
- Traceability
- Links from hazards to requirements to evidence.
- Entry and exit criteria
- Conditions for starting and finishing a test stage.
- Safety review board
- A group that independently reviews evidence before progression.
- Change management
- Controlled processes for updating software, maps and procedures.
Practice problems
Work each problem on paper first, then reveal the answer to check.
What must every safety case start with?
Show answer
A precise system and ODD description.
Name three hazard analysis methods.
Show answer
HAZOP, FMEA, fault tree analysis or SOTIF triggering-condition analysis.
Write a testable requirement for a shuttle.
Show answer
For example, shall not exceed 15 km/h within 5 m of an occlusion beside its path.
Two independent safeguards fail with probabilities 0.01 and 0.001: combined?
Show answer
\( 10^{-5} \).
Why can common-cause failures dominate?
Show answer
They defeat redundancy, so the product of probabilities no longer applies.
Intervention-free km needed for 95 % confidence below 1 per 5,000 km?
Show answer
About 15,000 km.
Name two validation stages before supervised operation.
Show answer
Simulation, hardware in the loop, closed course or attendant-supervised testing.
Name two stakeholders to consult on campus.
Show answer
Campus safety, security, accessibility services, students or emergency services.
Why treat the first winter as a new stage?
Show answer
Snow and cold change perception, localization and dynamics.
What does goal structuring notation show?
Show answer
Goals, strategies, context and evidence in a safety argument.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.