Skip to content

Perception-SLAM Runtime Interface Contract

Last updated: 2026-05-09

Purpose

This contract defines the runtime interface between perception, SLAM/localization, maps, runtime assurance, planning, logging, diagnostics, and fleet observability. It is written for production airside vehicles where an incorrect "free", stale pose, incompatible model, bad calibration, or silent monitor failure can create an unsafe vehicle-aircraft, vehicle-person, or vehicle-GSE interaction.

The contract is intentionally stricter than a ROS topic list. A message is acceptable only when its time base, frame, provenance, quality state, uncertainty, and compatibility metadata are valid for the current ODD and active release manifest.

Contract Model

Contract layerRequired guaranteeRuntime owner
Data shapeMessage type, coordinate frame, units, covariance, enum domain, schema versionComponent owner
TimeSource timestamp, receive timestamp, clock state, age, skew, replay policyRuntime platform
ProvenanceBuild, model, map, calibration, config, sensor-kit, route, site, and evidence IDsRelease manager
QualityDiagnostic state, uncertainty, out-of-scope flag, OOD/unknown score, stale/future reject countProducing component
ActionPlanner/monitor behavior for green, yellow, red, unknown, and missing stateRuntime assurance
ObservabilityMetrics and logs that allow incident reconstruction and release-gate comparisonFleet SRE

Interface Inventory

InterfaceProducerPrimary consumersContract requirementsFail-closed rule
Dynamic objectsPerception object recognitionPlanner, tracker, monitor, loggerTrack ID, class, shape, velocity, existence probability, covariance, source sensors, ODD validityDo not remove a safety-relevant object solely because class confidence is low
Obstacle point cloudObstacle segmentationPlanner, occupancy, map disagreement monitorFrame ID, source sensor set, ground removal policy, point age, intensity/ring where availableStale or frame-invalid cloud is rejected and raises perception degraded
Occupancy/free-space gridOccupancy mappingPlanner, safety monitor, map QAOccupied/free/unknown semantics, resolution, origin frame, timestamp, update horizon, blind-spot policyUnknown is not traversable in protected zones
Ego poseLocalization/SLAMPlanner, map runtime, logger, safety monitorFrame tree, covariance/protection level, residuals, relocalization state, map tile IDPose red or unknown blocks autonomous motion outside approved degraded mode
Map lookupMap runtimeLocalization, planning, monitorSigned bundle ID, tile ID, layer IDs, active overlay IDs, frame datum, expiryWrong or expired map/overlay blocks dispatch
Calibration stateCalibration monitorFusion, map runtime, maintenance, release gateSensor pair, transform version, residual, confidence, last verified time, drift stateRed calibration removes affected modality or stops according to safety case
Runtime diagnostic graphROS/Autoware diagnosticsHMI, fleet SRE, runtime assuranceDiagnosticStatus levels, graph struct/status, latch policy, reset authorityMissing critical diagnostic is treated as unknown, not green
Model runtime healthInference runtimeFleet SRE, release gate, monitorModel ID, engine ID, latency, queue time, memory, precision, hardware compatibilityEngine mismatch or p99 latency violation blocks promotion
Evidence eventRuntime assurance/loggerIncident system, safety caseEvent ID, trigger, active manifest, raw log pointer, action taken, operator responseSafety events preserve raw evidence before log rotation

Autoware interface names are useful anchors: /perception/object_recognition/objects, /perception/obstacle_segmentation/pointcloud, and /perception/occupancy_grid_map/map map directly to the dynamic-object, obstacle, and occupancy contracts. They are not sufficient by themselves without the metadata above.

Message Acceptance Rules

RulePassReject or degrade
Frameheader.frame_id resolves through the approved TF tree at message timeMissing transform, future transform, stale transform, unapproved frame alias
TimeSource timestamp uses approved PTP/GNSS/PPS/vehicle clock source and age is inside validated envelopeHost-receive fallback for safety sensor without approved degraded mode
SchemaMessage type and custom fields match active schema URL/versionUnknown field semantics, missing required field, undocumented enum value
ProvenanceMessage can be joined to active manifest and component versionNo build/model/map/calibration/config ID for release vehicle
QualityProducer publishes explicit green/yellow/red/unknown state and uncertaintySilent success with no quality field
ReplayReplay messages declare sim_time, bag/MCAP ID, and deterministic replay policyMixed wall time and sim time in release evidence

State Machine

StateMeaningVehicle actionFleet action
GreenContract valid and all critical margins inside release envelopeNormal operationEligible for canary promotion
YellowContract valid but margin degraded or watch condition activeContinue only inside approved ODD, usually with speed/margin limitsOpen reliability ticket; pause automatic promotion
RedContract violated or safety-critical margin crossedControlled stop, remote assist, or modality removal if validatedOpen incident; block release/map publication
UnknownTelemetry missing, schema incompatible, monitor absent, or evidence cannot be joinedTreat as yellow for availability only when the safety case permits; red for release evidenceExclude from metrics claims until repaired

Timing and QoS Budget

PathRequired metricGate pattern
Sensor source to perception inputStamp age, inter-arrival jitter, dropout ratep99 within timestamp-shift and latency-jitter validation envelope
Perception input to object/free-space outputSource-to-output latency, queue age, dropped frame countp99 and p99.9 below planner stale-data thresholds
Localization source to pose outputPose age, covariance/protection-level margin, residualNo pose consumed after validated maximum age
TF lookupLookup failure count by frame pair and reasonNo persistent past/future extrapolation in release cohort
Diagnostic propagationOn-vehicle detect-to-action latency, cloud alert latencyP0 vehicle action visible in operational SLA

Use ROS diagnostics for component status and OpenTelemetry-compatible metrics/logs for fleet aggregation. Custom robotics fields must be versioned with a schema URL so dashboards can detect breaking telemetry changes.

Runtime Gating

GateBlocks if
R0 manifest joinAny critical message cannot be joined to active release, map, calibration, and vehicle IDs
R1 clock and TFTime source, skew, or transform validity is red or unknown
R2 calibrationA consumed sensor pair is outside approved extrinsic/time calibration envelope
R3 uncertainty actionabilityHigh uncertainty does not trigger a defined planner or monitor action
R4 free-space conservatismUnknown/low-observation cells are promoted to traversable free space in protected zones
R5 OOD/unknown objectOOD or unknown object evidence near route corridor is suppressed without obstacle treatment
R6 diagnostics coverageRequired diagnostic graph node is absent, stale, or unlatched contrary to policy
R7 loggingSafety event cannot preserve raw bag/MCAP, manifest IDs, and monitor trace

Evidence Artifacts

ArtifactContents
Interface contract manifestMessage types, topic names, frames, schemas, QoS, thresholds, owners
Active runtime manifestBuild/model/map/calibration/config IDs and compatibility hash
Monitor action proofTests showing planner/runtime assurance consumes red/yellow/unknown states
Timing validation reportTimestamp sweep, TF/message-filter failure envelope, latency/jitter stress
Calibration validation reportSensor-pair residuals, transform versions, drift thresholds
Free-space/unknown-object reportFalse-free-space, unknown conservatism, OOD/unknown object handling
Incident join proofExample event reconstructed from telemetry, raw logs, manifests, operator action
  • 20-av-platform/sensors/sensor-to-algorithm-readiness-contract.md
  • 40-runtime-systems/ros-autoware/autoware-localization-timing-diagnostics.md
  • 40-runtime-systems/middleware/topic-freshness-and-stale-data-contracts.md
  • 50-cloud-fleet/observability/slam-timing-health-dashboard.md
  • 60-safety-validation/runtime-assurance/online-perception-monitoring-odd-enforcement.md
  • 60-safety-validation/verification-validation/map-localization-release-gates-timing-health.md
  • 60-safety-validation/verification-validation/uncertainty-calibration-perception-slam-release-gates.md

Sources

Public research notes collected from public sources.