From 8b03a52aa6e520ff6398bcea6003061e94c63df9 Mon Sep 17 00:00:00 2001 From: "Claude (auto-RE)" Date: Thu, 13 Aug 2026 23:42:28 +0000 Subject: [PATCH] re(flight): both axes at settled speeds -- shape confirmed, absolute scale is not Burst design repeated with the HUD clock bracketed (01:01.86 -> 02:10.61, ~x1.26) and roll measured in the same flight. pitch 87.0 @ 85 82.8 @ 308 47.0 @ 1077 min:max 1.85 roll 125.0 @ 76 119.0 @ 291 82.6 @ 1023 min:max 1.51 SHAPE CONFIRMED on both axes: the rate interpolates between _Min (at minimum speed) and _Max (at maximum speed), matching to 1.6% for pitch (vs PitchMinus 75/40 = 1.88) and 5.6% for roll (vs 200/125 = 1.60). Both ratios are clock-independent so they stand regardless of the conversion, and pitch's re-confirms ly+ = pitch-MINUS (reproducing 1.82 from the previous run). ABSOLUTE SCALE DOES NOT MATCH, and not in the same direction: pitch measured/predicted = 1.15, 1.21, 1.07 consistently OVER roll = 0.62, 0.64, 0.60 consistently UNDER, very flat A clock error cannot explain this -- it would move both axes together and these go opposite -- so the discrepancy is per-axis. Candidates, neither measured: a 1 s burst not completing the angular-acceleration ramp (would under-read; fits roll's flat 0.62, not pitch's excess), or an unidentified per-axis multiplier. Left as an open question with the separating test named: 1 s versus 3 s bursts at the same throttle, where the ramp hypothesis predicts the longer burst reads higher. Also noted: the roll run correctly REFUSED on a WEAK row pin after the pitch bursts left the craft tumbled -- and roll is immune to that labelling, which the guard's own message says, so ALLOW_WEAK_PIN=1 is its documented exception. A guard that states its own exception is worth having. --- docs/re/captures/pitch-burst-final.csv | 7 ++++ docs/re/captures/roll-burst-final.csv | 7 ++++ docs/re/flight-speed-law.md | 44 ++++++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 docs/re/captures/pitch-burst-final.csv create mode 100644 docs/re/captures/roll-burst-final.csv diff --git a/docs/re/captures/pitch-burst-final.csv b/docs/re/captures/pitch-burst-final.csv new file mode 100644 index 0000000..d9c224a --- /dev/null +++ b/docs/re/captures/pitch-burst-final.csv @@ -0,0 +1,7 @@ +throttle,rep,settled_speed,burst_speed,rate_deg_per_wall_s +min,0,126.5,98.1,100.93 +min,1,130.0,115.5,118.43 +cruise,0,414.3,395.5,101.48 +cruise,1,462.7,381.0,107.22 +max,0,1463.5,1330.5,56.83 +max,1,1496.4,1382.8,61.68 diff --git a/docs/re/captures/roll-burst-final.csv b/docs/re/captures/roll-burst-final.csv new file mode 100644 index 0000000..b89b3af --- /dev/null +++ b/docs/re/captures/roll-burst-final.csv @@ -0,0 +1,7 @@ +throttle,rep,settled_speed,burst_speed,rate_deg_per_wall_s +min,0,103.5,99.3,165.34 +min,1,123.8,91.9,149.72 +cruise,0,434.7,352.0,149.9 +cruise,1,423.1,382.5,150.07 +max,0,1230.6,1258.2,102.76 +max,1,1624.8,1319.1,105.38 diff --git a/docs/re/flight-speed-law.md b/docs/re/flight-speed-law.md index 9a280f6..9916215 100644 --- a/docs/re/flight-speed-law.md +++ b/docs/re/flight-speed-law.md @@ -658,3 +658,47 @@ deg/*game*-second cannot be computed from it, and choosing a ratio that makes th numbers fit would be circular. The probe now takes clock screenshots at both ends so the next run closes it. Data: [`captures/pitch-burst-settled-speeds.csv`](captures/pitch-burst-settled-speeds.csv). + + +## Both axes, three settled speeds: shape โœ…, absolute scale ๐ŸŸก + +Repeat of the burst design with the HUD clock bracketed (01:01.86 โ†’ 02:10.61) and +roll measured in the same flight. Clock โ‰ˆ ร—1.26. + +| axis | min speed | cruise | max speed | min:max | definition ratio | +|---|---|---|---|---|---| +| pitch | 87.0 ยฐ/game-s @ 85 | 82.8 @ 308 | 47.0 @ 1 077 | **1.85** | `PitchMinus` 75/40 = **1.88** | +| roll | 125.0 @ 76 | 119.0 @ 291 | 82.6 @ 1 023 | **1.51** | `Roll` 200/125 = **1.60** | + +**The shape is confirmed on both axes** โ€” the rate interpolates between `_Min` (at +minimum speed) and `_Max` (at maximum speed), matching to **1.6 %** for pitch and +**5.6 %** for roll. These ratios are **clock-independent**, so they stand regardless +of the conversion. Pitch's ratio also re-confirms `ly+` = **pitch-minus** (1.88) +rather than plus (2.14), reproducing the earlier run's 1.82. + +**The absolute scale does not match, and not in the same direction:** + +``` +pitch measured / predicted = 1.15, 1.21, 1.07 (consistently OVER) +roll measured / predicted = 0.62, 0.64, 0.60 (consistently UNDER, and very flat) +``` + +**A clock error cannot explain this** โ€” it would scale both axes the same way, and +these go opposite. So the discrepancy is per-axis. Two candidates, neither measured: + +- a **1-second burst may not complete the angular-acceleration ramp**, which would + *under*-read โ€” that fits roll's remarkably constant 0.62 but not pitch's excess; +- a **per-axis multiplier** applied to the cap that is not yet identified. + +Recorded as an open question. The next measurement that would separate them is cheap: +**1 s versus 3 s bursts at the same throttle** โ€” if the ramp is the cause, the longer +burst reads higher. Data: +[pitch](captures/pitch-burst-final.csv) ยท [roll](captures/roll-burst-final.csv). + +## Note on the WEAK-pin guard + +The roll run refused to start: after the pitch bursts the craft was no longer level, +so the row pin came back **WEAK** (margin 0.109). That refusal is correct for pitch +and yaw โ€” but **roll is immune to the up/right labelling**, which is exactly what the +guard's own message says, so `ALLOW_WEAK_PIN=1` is the documented and legitimate +override there. It is worth having a guard that states its own exception.