5 spec failures remain after correcting the on-center slope spec to 0.005 N·m/deg — all concentrated in two metrics at specific conditions.
27 runs across 5 instruments · 3 temperatures · 2 voltages · 2 sweep rates · 135 raw files
Data preparation in five steps
Five instruments logged the same bench simultaneously with incompatible channel names, mixed units, and unsynchronised clocks. The pipeline resolved all of this before any spec check ran.
| Step | What happened | Result |
|---|---|---|
| 1 · Ingest | 135 raw files (MF4 + CSV) read. Channel names mapped to one canonical set. Robot rad→deg, rack→rwa via 1.8 mm/deg, ECU-A current→torque via Kt = 0.20 N·m/A. | Complete |
| 2 · Clock alignment | Per-source offset estimated by cross-correlating hwa_cmd_deg against the rig master (±3 s window). All sources resampled to a common 100 Hz grid. | Offsets: ±1 s max |
| 3 · Sensor QC | NaN gaps, frozen dropouts, spikes, warm-up masking, and truncation detection across all 17 canonical channels × 27 runs. | 58 instances flagged |
| 4 · Stabilised points | Held-point detection at ±200 deg and ±400 deg. 25 of 27 runs have holds; run07 and run18 truncated before the held-point phase. | 100 holds detected |
| 5 · Spec checks | 6 metrics computed per run and compared against the baseline spec sheet (on-center slope spec corrected to 0.005 N·m/deg). | 5 FAILs |
Source mapping
| Canonical signal | Rig DAQ | Robot | ECU-A | ECU-B | Conversion |
|---|---|---|---|---|---|
hwa_cmd_deg | SWA_cmd_deg (deg) | cmd_angle (rad) | HwaCmd | theta_cmd | robot: rad → deg |
rwa_deg | RWA_deg (deg) | rack_pos_mm | — | — | rack / 1.8 mm/deg |
fb_torque_Nm | FbTrq_Nm | — | TrqFb | M_fb | — |
motor_torque_Nm | MotTrq_Nm | — | (I_mot_A × Kt) | T_mot | ECU-A: current × 0.20 N·m/A |
motor_current_A | — | — | I_mot_A | — | — |
Channel health — nothing that blocks the analysis
All faults are minor and isolated. No canonical rig channel is compromised on more than one run.
- 54 spike instances — motor torque/current, 23 runs. Sparse 1–4 sample events. Peak metrics use 99.9th percentile.
- 3 NaN gaps —
rwa_deg__roboton run04 (5 samples) and run12 (4 samples);motor_torque_Nm__rigon run14 (1 sample). - 1 frozen dropout —
rwa_deg__roboton run03, 540 samples while rig rwa was moving. Rig copy is clean; used as primary.
Where the campaign stands — 5 failures, 2 metrics
| Metric | Spec target | Tolerance | PASS | FAIL |
|---|---|---|---|---|
| Steering ratio | 15.0 | ±5 % | 27 | 0 |
| FB torque at lock | 3.5 N·m | ±1.5 N·m | 22 | 3 |
| FB on-center slope | 0.005 N·m/deg | ±50 % | 18 | 0 |
| Motor torque peak | ≤ 8.0 N·m | — | 27 | 0 |
| Motor current peak | ≤ 40.0 A | — | 27 | 0 |
| On-center hysteresis | ≤ 0.4 N·m | — | 16 | 2 |
Four of six metrics are clean campaign-wide. Steering ratio holds at 15.000 ± 0.001 across all 27 runs. Motor torque peaks at 2.44 N·m — well below the 8.0 N·m limit.
Feedback torque at full lock — 3 FAILs at 80 °C only
Spec: 3.5 ± 1.5 N·m (band: 2.0–5.0 N·m). All three failures are at 80 °C — runs 19, 20, and 25 — measuring ~5.38 N·m against the 5.0 N·m upper limit. Every other condition is within the band. Runs run07 and run18 are truncated before the held-point phase and cannot be evaluated for full-lock torque, so 25 of 27 runs are scored — 22 PASS / 3 FAIL.
The temperature-scaling model predicts ~4.46 N·m at 80 °C. The measured value of ~5.38 N·m is 20% above that prediction. The −10 °C conditions sit near 2.8 N·m — within band but on the low side.
On-center hysteresis — 2 FAILs, both at 25 °C / 13.5 V
Measured within |HWA| < 0.5 deg. Limit: ≤ 0.4 N·m. Only run09 and run10 fail, both at 25 °C / 13.5 V, measuring ~0.65 N·m. All other rateA runs are within limit (0.17–0.39 N·m). Both failing runs carry operator notes.
On-center slope — all 18 rateA runs PASS (spec corrected)
The previous spec value of 0.014 N·m/deg was incorrect. The correct spec is 0.005 N·m/deg ±50 % (band: 0.0025–0.0075 N·m/deg). All 18 evaluated rateA runs measure 3.51–6.82 × 10⁻³ N·m/deg.
The prior version of this report showed 18 FAILs on this metric. Those were entirely an artefact of the incorrect spec value (0.014 instead of 0.005 N·m/deg). With the corrected spec, this metric is clean across the full campaign.
What the data shows
5 failures across 2 metrics. 4 of 6 metrics are clean campaign-wide.
- FB torque at full lock — 3 FAILs at 80 °C. Runs 19, 20, 25 measure ~5.38 N·m vs upper limit 5.0 N·m. All other conditions pass.
- On-center hysteresis — 2 FAILs at 25 °C / 13.5 V. Runs 09 and 10 measure ~0.65 N·m vs limit 0.4 N·m. Both have operator notes.
- Steering ratio, motor torque, motor current, on-center slope — all PASS. Steering ratio is 15.000 ± 0.001 across all 27 runs.
Spec correction. On-center slope spec updated from 0.014 to 0.005 N·m/deg (±50 % tolerance). This change converts 18 previous FAILs to PASSes. 27 runs × 5 sources = 135 files.
All data in this series is synthetic, generated to mirror a real steer-by-wire validation program. No customer data is used.
Next in the series: the fault-injection campaign. If the week that disappears before the first plot sounds familiar, we would like to talk: founders@movedot.com, or www.movedot.ai.
