drive-replay

Recorded drives replayed through an ADAS stack on x86. One run command that resolves everything itself, bug replay that reproduces an issue from its recording and proves the fix, and a replay CI that gives every build drop a PASS or FAIL verdict. Stack under test: a C++17 radar forward collision warning, built with Bazel. Recordings: 10 real nuScenes drives (front radar) plus 3 must-warn cases with an injected target.

CI verdict per build drop

Every drop replayed through the current suite: runs, deterministic (two replays, same digests), requirements (ground-truth oracle) and regression (golden baselines). Hover a FAIL for the reason.

Replay timeline

Bug replays

Pre-roll study

A bug window starts 0.1 s before a known warning. Does the window replay give exactly the events of the whole-drive replay? Without pre-roll the tracker starts cold and the warning moves. Note the 1.0 s row of the stopped-car case: more pre-roll is not always closer, which is why replay bug checks fidelity every time.

Throughput and determinism

Vehicle dynamics (v0.3.0)

Kinematic and linear dynamic single-track models (C++17, RK4) with parameters identified from the nuScenes CAN bus data (steering, wheel speeds, IMU) of the training drives, evaluated on held-out test drives. 95 % bootstrap intervals over scenes. Full write-up: docs/VEHICLE_DYNAMICS.md.

Vehicle-dynamics data not available.

Ego motion prediction for AR-HUD latency compensation (v0.4.0)

A head-up display draws contact-analog overlays for where the car will be when the frame is lit, 50-500 ms after the newest sensor sample. Twelve predictors (CV, CTRV, CTRA, kinematic and dynamic single track, linear Kalman filters, an EKF on the CTRA state, ridge regression, a small MLP and two hybrids of EKF + learned residual) are tuned on validation drives and compared on held-out test drives of the nuScenes CAN bus data; the physics models, the EKF and the learned models also run in C++17. Full write-up: docs/MOTION_PREDICTION.md. Open the interactive AR-HUD demo (10 test scenes, simulated driver view, all errors from the benchmark code).

Motion-prediction data not available.

The run command

$ ./replay run 61 --drop v0.1.0
recording : scene-0061  (data/recordings/scene-0061.mcap, sha256 63639827e136, vehicle n015)
drop      : v0.1.0-45b71befcf41  (stack 0.1.0, commit 45b71befcf41, sha256 afbf8d3042c4)
config    : configs/fcw_default.json
window    : whole recording

247 cycles in 0.22 s (cycle p50 0.64 ms, p99 1.27 ms), digests events c3f72a3486b4c0d1 state 608010ca66789fed
     6.81 s  fcw_warning_on     track 51    TTC 2.07 s  range 11.6 m  closing 5.6 m/s
  oracle: warning at 6.81 s is FALSE (nothing in the driven path)
requirements met: NO (1 false, 0 missed, 0 not radar-observable)

Data: nuScenes v1.0-mini and the nuScenes CAN bus expansion (CC BY-NC-SA 4.0, nuscenes.org). This page shows derived numbers only; the AR-HUD demo also contains derived pose tracks of 10 test scenes (same licence). Timings are x86 replay timings, not an in-car target. Code: MIT.