OmniLink · 29 October 2026 · Reference-model simulation
76 valid episodes: {'FAIL': 26, 'PASS': 50}. Constructed tests, not a field failure probability. Source and candidate were frozen before qualification; prospective inputs were declared before any qualification run.
Choose whether a reduced approach speed is a useful operating restriction for a mapped low-traction area, and identify conditions where that restriction is insufficient. The speed cap reduces throughput; no payload capacity, material coefficient or hardware performance is established.
0.458 m (FAIL) → 0.156 m (PASS). Same physical crossing, μ 0.8 → 0.04, no payload. The policy caps speed at 0.35 m/s before the boundary instead of continuing at 0.6 m/s.
0.963 m (FAIL) → 0.109 m (PASS). Same physical crossing, μ 0.8 → 0.04, no payload. The policy caps speed at 0.35 m/s before the boundary instead of continuing at 0.6 m/s.
7 capped-speed episodes still failed. Their inputs and reasons remain below. In particular, split surfaces can defeat this turning controller; the cap is not a general remedy. Uniform-floor controls separate fixture effects from controller limits.
48 grid episodes: braking/turning × crossing/split × 0/10 kg rigid payload × low μ 0.04/0.10/0.20 × cruise/cap. Eight uniform-floor controls; eight selected-endpoint confirmations; 12 prospective episodes use new μ 0.06/0.12/0.15 with 5/15 kg, changed boundary/trigger/radius and one right-turn input. High μ 0.8 throughout.
Every episode observes 24 s at 16 ms, Newton 1.5.0 / MuJoCo 3.11 CPU, eight configured substeps, machine 9722d23d12a3. Initial settle is 1 s. Boundary x=1.2 m and trigger x=1.9 m in the grid; the cap starts at x=0.45 m. No braking delay, external forces, pose/velocity writes or altered physics between policy variants.
Braking: qualified 0.3 s approach at the selected speed; forward excursion ≤0.25 m; lateral excursion ≤0.15 m; linear speed ≤0.025 m/s and yaw rate ≤0.05 rad/s within 2 s, held for at least 0.5 s and the rest of the observation; rollback ≤0.05 m. Turning: follow a 90° radius-1 m arc within 0.30 m; final position within 0.25 m and heading within 0.15 rad; complete and hold stopped through the last second. Both tasks require stability and physical-fixture validity. A controller emergency stop after 1 m path deviation limits runaway but does not turn a failure into a pass.
Friction patches are rigid physical colliders. Compiled solver geometry, friction and mass are verified. Robot geoms are fixed at μ 0.01 on both sides; equal explicit priorities make the floor coefficient set effective contact friction. These coefficients are imposed assumptions, not measured concrete, water, ice, sand or soil. No deformable terrain, OEM firmware, perception, hardware calibration or safety certification.
The box payload is 0.30 × 0.25 × 0.20 m, rigidly mounted 0.35 m above the Husky chassis frame. These experimental loads are not vendor-rated capacities.
All specs and metrics · CSV · Complete traces, solver dumps and offline verifier · Public source add-on · Reference-source check
Extract evidence.zip and run python verify.py to check checksums, reconstruct fixture adoption and independently regrade every episode. Source add-on instructions are on the service page; the prepared Windows kit provides verify, accept and rerun commands. These are fresh physics runs, not checkpoint replay. Independent-PC and hardware validation remain unverified.
| Case | Stage | Task | Layout | Low μ | kg | Policy | Verdict | Reasons |
|---|---|---|---|---|---|---|---|---|
| case-000 | grid | brake | crossing | 0.04 | 0 | cruise | FAIL | stopping_excursion_exceeded |
| case-001 | grid | brake | crossing | 0.04 | 0 | surface-cap | PASS | |
| case-002 | grid | brake | crossing | 0.1 | 0 | cruise | PASS | |
| case-003 | grid | brake | crossing | 0.1 | 0 | surface-cap | PASS | |
| case-004 | grid | brake | crossing | 0.2 | 0 | cruise | PASS | |
| case-005 | grid | brake | crossing | 0.2 | 0 | surface-cap | PASS | |
| case-006 | grid | brake | crossing | 0.04 | 10 | cruise | FAIL | stopping_excursion_exceeded |
| case-007 | grid | brake | crossing | 0.04 | 10 | surface-cap | PASS | |
| case-008 | grid | brake | crossing | 0.1 | 10 | cruise | PASS | |
| case-009 | grid | brake | crossing | 0.1 | 10 | surface-cap | PASS | |
| case-010 | grid | brake | crossing | 0.2 | 10 | cruise | PASS | |
| case-011 | grid | brake | crossing | 0.2 | 10 | surface-cap | PASS | |
| case-012 | grid | brake | split | 0.04 | 0 | cruise | PASS | |
| case-013 | grid | brake | split | 0.04 | 0 | surface-cap | PASS | |
| case-014 | grid | brake | split | 0.1 | 0 | cruise | PASS | |
| case-015 | grid | brake | split | 0.1 | 0 | surface-cap | PASS | |
| case-016 | grid | brake | split | 0.2 | 0 | cruise | PASS | |
| case-017 | grid | brake | split | 0.2 | 0 | surface-cap | PASS | |
| case-018 | grid | brake | split | 0.04 | 10 | cruise | PASS | |
| case-019 | grid | brake | split | 0.04 | 10 | surface-cap | PASS | |
| case-020 | grid | brake | split | 0.1 | 10 | cruise | PASS | |
| case-021 | grid | brake | split | 0.1 | 10 | surface-cap | PASS | |
| case-022 | grid | brake | split | 0.2 | 10 | cruise | PASS | |
| case-023 | grid | brake | split | 0.2 | 10 | surface-cap | PASS | |
| case-024 | grid | turn | crossing | 0.04 | 0 | cruise | FAIL | turn_corridor_exceeded, turn_goal_error_exceeded |
| case-025 | grid | turn | crossing | 0.04 | 0 | surface-cap | PASS | |
| case-026 | grid | turn | crossing | 0.1 | 0 | cruise | PASS | |
| case-027 | grid | turn | crossing | 0.1 | 0 | surface-cap | PASS | |
| case-028 | grid | turn | crossing | 0.2 | 0 | cruise | PASS | |
| case-029 | grid | turn | crossing | 0.2 | 0 | surface-cap | PASS | |
| case-030 | grid | turn | crossing | 0.04 | 10 | cruise | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-031 | grid | turn | crossing | 0.04 | 10 | surface-cap | PASS | |
| case-032 | grid | turn | crossing | 0.1 | 10 | cruise | PASS | |
| case-033 | grid | turn | crossing | 0.1 | 10 | surface-cap | PASS | |
| case-034 | grid | turn | crossing | 0.2 | 10 | cruise | PASS | |
| case-035 | grid | turn | crossing | 0.2 | 10 | surface-cap | PASS | |
| case-036 | grid | turn | split | 0.04 | 0 | cruise | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-037 | grid | turn | split | 0.04 | 0 | surface-cap | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-038 | grid | turn | split | 0.1 | 0 | cruise | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-039 | grid | turn | split | 0.1 | 0 | surface-cap | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-040 | grid | turn | split | 0.2 | 0 | cruise | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-041 | grid | turn | split | 0.2 | 0 | surface-cap | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-042 | grid | turn | split | 0.04 | 10 | cruise | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-043 | grid | turn | split | 0.04 | 10 | surface-cap | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-044 | grid | turn | split | 0.1 | 10 | cruise | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-045 | grid | turn | split | 0.1 | 10 | surface-cap | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-046 | grid | turn | split | 0.2 | 10 | cruise | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-047 | grid | turn | split | 0.2 | 10 | surface-cap | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-048 | control | brake | uniform-high | 0.04 | 0 | cruise | PASS | |
| case-049 | control | brake | uniform-high | 0.04 | 0 | surface-cap | PASS | |
| case-050 | control | brake | uniform-low | 0.04 | 0 | cruise | FAIL | stopping_excursion_exceeded |
| case-051 | control | brake | uniform-low | 0.04 | 0 | surface-cap | PASS | |
| case-052 | control | turn | uniform-high | 0.04 | 0 | cruise | PASS | |
| case-053 | control | turn | uniform-high | 0.04 | 0 | surface-cap | PASS | |
| case-054 | control | turn | uniform-low | 0.04 | 0 | cruise | FAIL | turn_corridor_exceeded, turn_heading_error_exceeded |
| case-055 | control | turn | uniform-low | 0.04 | 0 | surface-cap | PASS | |
| case-056 | confirmation | brake | crossing | 0.04 | 0 | cruise | FAIL | stopping_excursion_exceeded |
| case-057 | confirmation | brake | crossing | 0.04 | 0 | cruise | FAIL | stopping_excursion_exceeded |
| case-058 | confirmation | brake | crossing | 0.04 | 0 | surface-cap | PASS | |
| case-059 | confirmation | brake | crossing | 0.04 | 0 | surface-cap | PASS | |
| case-060 | confirmation | turn | crossing | 0.04 | 0 | cruise | FAIL | turn_corridor_exceeded, turn_goal_error_exceeded |
| case-061 | confirmation | turn | crossing | 0.04 | 0 | cruise | FAIL | turn_corridor_exceeded, turn_goal_error_exceeded |
| case-062 | confirmation | turn | crossing | 0.04 | 0 | surface-cap | PASS | |
| case-063 | confirmation | turn | crossing | 0.04 | 0 | surface-cap | PASS | |
| case-064 | holdout | brake | crossing | 0.06 | 5 | cruise | FAIL | stopping_excursion_exceeded |
| case-065 | holdout | brake | crossing | 0.06 | 5 | surface-cap | PASS | |
| case-066 | holdout | turn | crossing | 0.06 | 5 | cruise | FAIL | turn_corridor_exceeded, turn_goal_error_exceeded |
| case-067 | holdout | turn | crossing | 0.06 | 5 | surface-cap | PASS | |
| case-068 | holdout | brake | split | 0.12 | 5 | cruise | PASS | |
| case-069 | holdout | brake | split | 0.12 | 5 | surface-cap | PASS | |
| case-070 | holdout | turn | split | 0.12 | 5 | cruise | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-071 | holdout | turn | split | 0.12 | 5 | surface-cap | FAIL | turn_not_completed, turn_corridor_exceeded, turn_goal_error_exceeded, turn_heading_error_exceeded |
| case-072 | holdout | brake | crossing | 0.15 | 15 | cruise | PASS | |
| case-073 | holdout | brake | crossing | 0.15 | 15 | surface-cap | PASS | |
| case-074 | holdout | turn | crossing | 0.15 | 15 | cruise | PASS | |
| case-075 | holdout | turn | crossing | 0.15 | 15 | surface-cap | PASS |