Ways to tell, while a robot runs, that it is failing or has been fed something wrong. Most of these are on my to-read list, so the table comes from their abstracts.

DetectorWhat it watchesTraining dataAlarmReported
SAFEa VLA’s internal featuressuccessful and failed rolloutsconformal thresholdworks on unseen tasks with OpenVLA, π0 and π0-FAST, in simulation and on real robots
FAIL-Detectscores distilled from the policy’s inputs and outputsno failure dataconformal thresholdflow-based density scores were the most consistent, and flagged failures sooner than baselines
Hide-and-Seekcontrastive signals within and between trajectoriesone success or failure label per runconformal thresholdfinds the step where things start to go wrong, on LIBERO, VLABench and a real robot
VLM judges (FailBench)camera video of the attemptnone (general VLMs) or fine-tunedthe model’s verdictbest of 13 reaches 0.77 balanced accuracy, and they lean towards “success”
Detect and Suppressone sparse-autoencoder feature inside a VLApatched and clean inputslinear probesuppressing the feature only when the probe fires restores success under intermittent attacks
C-3POits own pose estimate against the input points and the shape priorself-trainingtwo certificatescertified outputs are always correct; it abstains on the rest
SOTERthe robot’s state against a safe setnone (reachability)switch to a safe controllerthe advanced controller ran more than 96% of 104 simulated hours

Notes

  • Detectors that read the policy itself (SAFE, FAIL-Detect, Hide-and-Seek) have settled on conformal thresholds. Conformal guarantees need data that looks like the calibration data, which drift and attacks both break.
  • Outside judges are cheap and lean towards saying yes. No Free Checker makes the general point: the cheaper and earlier a verdict, the less it tells you.
  • Only C-3PO and SOTER say anything about what to do next, and both do it by refusing or falling back. See failure recovery.

Related: Safety and verification, runtime monitoring.