Path-Consistent Safety Filtering (PACS) Overview
- Path-Consistent Safety Filtering (PACS) is a framework that ensures real-time robotic safety by reducing speed on the intended path to prevent collisions.
- It employs set-based reachability analysis and formal induction guarantees to predict and avoid unsafe states without shifting the policy's training distribution.
- Empirical evaluations show PACS significantly improves task success and safety in dynamic human-robot interactions versus traditional reactive filters.
Path-Consistent Safety Filtering (PACS) is a control framework designed to provide formally guaranteed, real-time safety assurances for robots operating under diffusion policies (DPs). Unlike classical reactive safety mechanisms, PACS preserves consistency with the DP’s training distribution by enforcing safety exclusively through speed reduction along the originally intended geometric path. The methodology employs set-based reachability analysis, formal induction-based guarantees, and compositional integration with chunked trajectory outputs from deep learning policies, enabling robust performance in dynamic and human-interactive environments without introducing distribution shift or out-of-distribution states.
1. Formal Definition and Path-Consistent Braking
Given a robot with configuration (joint) state
$x(t) = \bigl(q(t), \dot{q}(t), \ddot{q}(t), \dddot{q}(t)\bigr) \in \mathbb{R}^{n \times 4},$
and control input
a pretrained diffusion policy (DP) generates, at discrete high-level timepoints , an action chunk
where and is the chunk length. For the first actions, waypoints are computed via forward integration: This defines the desired joint configuration trajectory over the planning horizon . In the absence of safety filtering, a lower-level controller would nominally track these waypoints or a corresponding spline:
The safety constraint set is defined according to task-specific predicates derived from international standards (ISO/TS 15066:2016):
- Speed and Separation Monitoring (SSM): forbids any collision,
- Power and Force Limiting (PFL): allows contact if kinetic energy remains below a threshold, \begin{equation} c_{\text{safe,PFL}}(t):\,\neg c_{\text{coll}}(t) \;\lor\; T_{\text{robot}}(t) \leq T_{\text{safe}}(t). \end{equation}
Path-consistent braking is the central mechanism of PACS: if (the control input tracking the intended trajectory) is projected to violate safety in future steps, PACS computes a failsafe braking input that decelerates (and restricts jerk) along the same geometric path, bringing as rapidly as dynamic limits allow—never steering away from the planned path. The executed input is
This approach strictly reduces speed (and higher derivatives) but never projects off the geometric waypoints.
2. Set-Based Reachability Analysis
PACS determines whether continuing along stays within via set-based reachability:
- Forward reachable set from initial state under all admissible is
For an interval ,
- In practice, is over-approximated via zonotopes or interval enclosures—one propagates
using software such as CORA or the SaRA framework. This encodes one-step dynamics with over-approximating reachable states at and the set of admissible control actions.
- To guarantee collision-free execution, PACS requires that
This suffices for to be maintained due to the soundness of the reachable set over-approximation.
3. Algorithmic Implementation and Real-Time Workflow
PACS operates two nested control loops:
- A high-level loop at DP’s chunk rate
- A low-level safety loop at
A streamlined version of the algorithm:
1 2 3 4 5 6 7 8 9 10 11 12 |
t = 0 while task not complete: o(t) ← get_observation(t) A = (Δq_0,…,Δq_{H-1}) ∼ π(·|o(t)) (q_0=q(t),…,q_h) ← integrate(A) χ_I ← plan_intended_trajectory(q_0…q_h) # time-optimal via Ruckig shield ← start_shield(χ_I) for k in 0 … (hΔt/α_s−1): m_o(t) ← measure_objects(t) u_safe(t+α_s), shield ← shield.step(t, m_o(t)) apply_input(u_safe(t+α_s)) t ← t+α_s |
Within shield.step(…), PACS computes the monitored reachable set for the monitored trajectory:
and checks for . If future motion is safe, is used; otherwise, PACS transitions to .
Notable engineering parameters:
- Safety frequency: ; each step takes .
- Intended-trajectory planning: via Ruckig (jerk limited), per chunk.
- Uncertainty handling: Object pose noise and model errors are addressed by over-approximating with a bounding ball.
- Dynamic obstacles: Re-measured at every safety step and checked against precomputed reachable sets.
4. Formal Safety Guarantees
PACS provides an inductive formal safety guarantee:
Proposition (Safety-by-Induction):
Suppose at , . If the shield (low-level module) always ensures that the monitored trajectory satisfies on each safety subinterval, then the actual execution remains in for all .
The guarantee follows directly: Only inputs are ever commanded for which the forward reachable occupancy does not intersect the object occupancy or violate the kinetic energy threshold. The soundness of the set-based approximation suffices, and induction over safety steps establishes invariance in .
5. Distribution-Shift Mitigation and Policy Consistency
Reactive filters such as control barrier functions frequently cause distribution shift by rerouting the robot away from the DP’s intended path, which leads to states unseen during demonstration-based training. PACS mitigates this by:
- Only reducing the speed, acceleration, and jerk along the DP-planned geometric path
- Ensuring the policy’s observations (RGB images , joint angles ) remain consistent with training; no explicit velocity state is observed, so slowing/pausing does not introduce out-of-distribution data
Empirical results indicate that this mitigation preserves task success rates even under extensive safety intervention.
6. Experimental Evaluation and Quantitative Results
PACS was evaluated on three real-world human-robot interaction tasks:
- Sorting (Coexistence, SSM): Robot sorts red blocks while a human picks green blocks simultaneously; no contact is allowed.
- Handover (Collaboration, PFL on Hand): Robot picks a block from a human’s hand; contact permitted up to .
- Feeding (Collaboration, PFL on Head): Robot brings a fork to the human mouth; contact up to .
Metrics used:
- Success: Percentage of completed tasks
- Safe Success: Tasks completed with no safety violation
- Safety Violations: Fraction of unsafe timesteps
- Duration: Execution time per task
Key quantitative findings:
- Simulation (Robomimic lifts):
- Control barrier function (CBF): 4% success
- Single-action SSM/PFL: 41–44%
- PACS: 69% (SSM), 72% (PFL) — up to 68% absolute improvement over CBF
- Hardware (Sorting only):
- CBF: 43% success
- PACS: 80% — 37% improvement
- Across all real tasks, unshielded DP: 0% Safe Success (violations every trial); PACS: ~80% Safe Success
- Using chunked intended trajectories versus single-action shielding yielded +28% success (H3)
- Enforcing dynamic feasibility led to a 14% speedup in “no-human” Sorting
7. Reproducibility and System Hyperparameters
Parameter values confirmed in real-robot experiments:
- Action-chunk length:
- Execution steps per chunk:
- Policy timestep:
- Safety step:
- Joint velocity limits: $1.25$–
- Acceleration limits:
- Jerk limits:
- Diffusion inference: 10 DDIM steps (hardware)
- Learning rate:
- Batch size: 64
8. Context and Impact within Safety-Critical Robot Learning
PACS is the first formally guaranteed, real-time safety filter for DPs and other action-chunking policies in dynamic human-robot interaction. It preserves state-distribution consistency while providing closed-loop guarantees and is empirically shown to provide up to 68 percentage points increase in task success relative to reactive baselines. This suggests its adoption can substantially improve the practical deployability of demonstration-trained deep policies in safety-critical applications where both task completion and formal safety are required.