Blog

Notes from the seams

Practitioner writing on functional safety, AI safety, autonomy certification and the regulation that ties them together. No standard summaries — the parts that are actually contested.

"Possibility of avoidance" was written for a person who can see it coming

One parameter in the IEC 61508 risk graph carries more unexamined optimism than any other. Autonomous and collaborative robots are exactly where that optimism stops being justified.

Read the article

The risk graph method behind SIL determination rests on four parameters: consequence severity, frequency and duration of exposure, probability of the unwanted event, and possibility of avoidance — whether someone in the danger zone can realistically get out of the way once something starts to go wrong. Of the four, avoidance is the one that quietly does the most work, and the one whose assumptions age worst.

The inherited assumption

The parameter was written for fixed guarded machinery: an operator standing at a known station, facing a machine whose motion envelope is fixed and familiar, able to see a fault developing and step back before it matters. In that setting "possible" is a defensible answer, and it has been rated that way in classification after classification for decades.

Move the same reasoning to a collaborative arm that only occasionally reaches outside its usual envelope, or a mobile robot approaching from a blind corner in a shared aisle, and the assumption underneath "possible" quietly stops holding. The person is not facing a known machine at a known station. They may not know the robot is there at all until it is close enough that avoidance is no longer realistic.

Where the optimism hides

We see three recurring patterns when we re-examine an existing avoidance rating:

  • The rating was set when the robot operated in a fenced cell, and never revisited when the cell was removed for a collaborative retrofit.
  • The rating assumes a warning signal — a light, a sound, a floor projection — whose own reliability was never analysed as a safety function in its own right.
  • The rating assumes a reaction time drawn from a standing, attentive adult, applied to a workforce that includes people walking, carrying loads, or wearing hearing protection.

What a valid re-assessment looks like

State the assumed context explicitly for every avoidance rating: is the person expected to be facing the hazard, aware the robot operates autonomously, and free to move? If the warning strategy is load-bearing, does the warning path itself have the safety integrity the rating depends on — because if the warning fails silently, the avoidance claim fails with it? And for any robot whose task envelope has changed since the rating was set, treat that as an item-definition change that triggers a new hazard and risk analysis, not a footnote.

The uncomfortable outcome. Done honestly, this exercise tends to move a handful of safety functions up a SIL. That is expensive, and it is also the point — the alternative is a safety case whose foundation contains an assumption the deployment environment already contradicts.

Your model's confidence number is not evidence

A softmax score or a detector's confidence output looks like epistemic humility. Usually it is neither calibrated nor validated as the decision boundary it is being used as.

Read the article

Almost every perception or grasp-planning model in production reports a confidence value alongside its output. Almost every safety architecture built around that model treats low confidence as the trigger for a fallback behaviour. The step nobody checks is whether the number means what the architecture assumes it means.

Why the number is usually wrong in a specific way

Modern classifiers are frequently overconfident exactly where it matters most — on inputs that sit outside the training distribution. A network rarely outputs "I don't know." It outputs a class and a high score, because nothing in standard training ever taught it to recognise novelty. This is precisely the failure mode ISO/IEC TS 25223 is being written to address: not whether the model is accurate, but whether its stated uncertainty is calibrated — whether a 90% confidence score is actually right 90% of the time, including on the inputs the model has never met.

Four questions before a confidence threshold becomes a safety function

Was calibration measured, not assumed? Expected calibration error or an equivalent metric, on a held-out set that includes near-distribution and out-of-distribution examples — not just the validation split from the same collection campaign as training.

Does the threshold hold under distribution shift? A threshold tuned on indoor lighting rarely survives a change in camera, a new SKU, or a different floor surface. If the threshold moves, the safety function built on it moves with it — silently.

Is the failure asymmetry represented? A missed grasp and a dropped, misidentified, or crushed object are not equivalent errors. The confidence threshold that minimises overall error is rarely the threshold that minimises harm.

What happens below threshold? "Fall back to a safe state" is not a specification until the safe state, the transition time, and the behaviour if the robot is mid-task are all defined and themselves verified.

The reframe. Stop asking "how confident is the model" and start asking "has this confidence value been shown to correlate with correctness, on the distribution we actually operate in, at the threshold we actually use." That question is what a calibrated-uncertainty argument has to answer — and it is usually the first thing missing from an AI safety case that otherwise looks complete.

The EU Machinery Regulation just widened to cover your robot

(EU) 2023/1230 applies from January 2027 and explicitly names autonomous mobile machinery, AI-based safety systems, and industrial and collaborative robots. Teams still reading it as a formality are underestimating it.

Read the article

The Machinery Regulation replaces the old Machinery Directive, and the headline change is not procedural — it is scope. Where the Directive's software provisions were written for an era of fixed control logic, the Regulation names categories that did not meaningfully exist when it was drafted the first time around: autonomous mobile machinery, AI-based safety systems, and industrial robots and cobots, alongside machinery with remote-operation features and connected, software-defined equipment.

Why "we already do functional safety" is not the same as ready

A robot manufacturer with a solid IEC 61508 programme can still find itself outside conformity, because the Regulation is not only asking whether the hardware fails safely. It is asking questions the classic functional-safety lifecycle was never built to answer on its own: what happens when a safety-relevant function is implemented in AI, what evidence supports that function's trustworthiness, and how changes to that function after the machine is placed on the market are governed.

This is exactly the seam our AI-safety and certification practices exist to close — the Regulation does not care whether your evidence lives in three different teams' folders, only whether it adds up to a coherent conformity argument.

2027 is not as far away as it looks

Robotics hardware and safety architecture decisions have long lead times. A conformity gap discovered during a 2026 design freeze is a very different problem than one discovered in a 2025 concept review. The practical advice is the same one we give on every regulatory deadline: read the annex now, map your current architecture and evidence against the named categories, and treat any gap as an architecture decision, not a documentation task to close later.

What we're watching. How national market surveillance authorities interpret "AI-based safety system" in practice will matter as much as the text itself. We track the guidance as it lands and adjust client conformity strategies accordingly — this is a live regulatory question, not a settled one.

A safety case is not a compliance folder

Teams with genuinely careful engineering still fail customer due diligence, because the evidence was never organised into claims anyone outside the engineering team can evaluate.

Read the article

We are regularly shown a shared drive full of test reports, review minutes and component datasheets and told "the safety case is all in there." It usually isn't — not because the engineering is weak, but because a folder of evidence is not the same thing as an argument. UL 4600's structure — claim, argument, evidence — exists precisely because that difference is where certification reviews stall.

The three parts, and where each one breaks

A claim is a specific, falsifiable statement: "the robot will not exceed 15 N of contact force during unexpected human contact in collaborative mode." Claims break when they are vague enough that no evidence could ever contradict them.

The argument is the reasoning that connects evidence to the claim: why these tests, this analysis, and this operational history are sufficient to support it. Arguments break silently — a document simply asserts the claim is "demonstrated by testing" without saying which testing, under what conditions, or why that testing generalises to the claimed scope.

The evidence is the test report, the analysis, the field data. Evidence breaks when it quietly supports a narrower claim than the one it's cited against — a force measurement taken at one joint configuration, cited in support of a claim about the whole workspace.

A test you can run on your own case today

Pick any claim in your safety documentation. Ask: if I deleted the evidence behind it, would a reader who has never met your team notice that the claim is now unsupported? If the honest answer is "probably not, because the evidence and the claim aren't explicitly linked," that is the gap a UL 4600-structured case is built to close.

Start the structure early. A safety case retrofitted onto finished engineering is always weaker than one that shaped what evidence got collected in the first place. Claims written during architecture review tell you what to test; claims written during submission tell you what you forgot to.

Building evidence for standards that aren't published yet

ISO/IEC TS 22440 and TS 25223 are still approved work items, not finished text. Waiting for the final wording is the expensive option, not the cautious one.

Read the article

It's a reasonable instinct to wait for a standard to be finished before building a programme around it — clause numbers change, scope shifts, an early guess can look foolish in hindsight. For TS 22440 and TS 25223, both still in development, we advise against waiting anyway.

The questions don't move even when the clause numbers do

ISO/IEC TR 5469, published and stable since 2024, already describes the engineering questions the later specifications will formalise: what safety requirements look like for a system whose behaviour is learned rather than written, how AI verification integrates into a functional-safety lifecycle, and how a system's confidence in its own output should be treated as a safety property. Those questions do not change while the specification text is being drafted — only the precise, citable requirement wording does.

Teams that build their AI safety case around TR 5469's structure now are not gambling on a moving target. They are doing the engineering work the eventual specification will ask for anyway, and positioning themselves to map existing evidence onto new clause numbers when they publish — instead of starting the underlying analysis from a standing start under a submission deadline.

The precedent from SOTIF

We watched the same pattern play out with ISO 21448 in automotive: teams that structured their validation around the underlying scenario-space reasoning years before the standard reached its current published form adapted fastest once consensus formed. Teams that waited spent their first eighteen months translating existing but unstructured work into the standard's vocabulary, instead of producing new evidence.

What this looks like in practice. Structure your dataset specification, model evaluation and uncertainty-calibration evidence against the questions TR 5469 already poses, with clear traceability so each piece can be relabelled rather than rebuilt. When TS 22440 and TS 25223 publish, that traceability is the difference between a mapping exercise and a rewrite.

The forgotten interface: where your model meets the actuator

ML teams evaluate the model. Safety teams analyse the hardware. Between them sits the control interface that turns a model's output into a physical motion, and it belongs to nobody.

Read the article

The model that was evaluated is rarely the exact function that commands the motors. Between the two sit quantisation, a vendor inference runtime, a motion planner that translates a grasp pose into joint trajectories, and a motor controller with its own timing and fault behaviour. Each of these changes the function. Most of them are treated as a build step rather than a safety-relevant transformation.

Three questions that usually have no owner

What did quantisation cost you, and where? Compressing a model for an embedded accelerator typically costs a small amount of aggregate accuracy. That aggregate hides the distribution: the loss concentrates in low-confidence, rare, or novel-object cases — the same cases most likely to matter for a safety claim. If the deployed model was not re-evaluated on the stratified protocol, the safety evidence describes a different function than the one running on the robot.

Is the inference and motion toolchain qualified? A compiler or motion planner that transforms a safety-relevant function is a software tool in the IEC 61508 sense, with a tool confidence level and potentially a qualification requirement. Vendor toolchains for ML accelerators and modern motion stacks are frequently newer and less transparent than the tooling an organisation qualified carefully for its classic control loops.

What happens when the actuator executes a corrupted command? A plausible-looking but wrong model output, combined with a random hardware fault in the motion pipeline, does not announce itself. The model's own sensitivity to corrupted computation is an input to the dependent failure analysis — and it is usually missing from both the ML evaluation and the classic FMEDA.

How to close it

  • Treat the deployed, on-target artefact as the item under evaluation — not a workstation build with a different numerical path.
  • Classify the inference and motion toolchain formally, and qualify it or argue the confidence level down with your own verification evidence.
  • Include the actuation pipeline in the dependent failure analysis, with the model treated as a component whose behaviour under corrupted computation has been characterised.
  • Make timing and determinism explicit requirements — a motion pipeline that occasionally exceeds its control-loop budget under load is a functional safety finding, whatever its accuracy.

Organisationally. This interface needs one named owner comfortable in both vocabularies. Where it has none, the gap is not usually discovered in review — it is discovered by a certification body asking one very simple question about which model, on which hardware, actually commands the robot.

More articles are published roughly monthly. For notification, reach out on LinkedIn.

Have a question these posts don't answer?

Most of what is written here started as a client question. Yours is welcome too.