feat(cam-lower): window the feed sups (angular cert tightening 1.7-2.1x) #131
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "patman/feed-windowing"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
SE(3) extension S-h, reviewer-identified tightening lever. FeedSups become per-window (closed-form exact sups over each clipped time window), so blend kappa-derivative peaks stop multiplying accel-phase feed maxima that never co-occur with them. Gentle orientation cert 6.55e-2 -> 3.76e-2 rad (1.74x), stiff omega 21.0 -> 9.86 rad/s (2.13x). Straddling steps charge to the MOST SEVERE piece with the charged window widened over every touched piece on both curvature and time axes — reviewer derived this is a SOUNDNESS requirement (the naive charge-to-start-piece rule is sound but 4.9x WORSE; the max-of-two-sups argument collapses with per-window feeds), recorded at the charging site. Tightening-ladder tests pin pre-lever ceilings (re-measured at their cited commits) + current goldens at 1e-6 rel. Opus review PASS.
Certificate tightening lever 1, from the review finding on S-d/S-e. S6 windowed the curvature sups per piece but left the s-domain feed sups (v, v_dot, v_ddot, v_dddot) pass-wide, so every blend's enormous kappa-derivative peaks were multiplied by acceleration- and jerk-phase feed sups that never physically co-occur with them: a corner blend is traversed at steady feed mid-pass, while the pass's peak v_dot belongs to the ramp at either end and its peak v_ddot to a jerk phase shorter than the blend. - s_domain_sup_third / _fourth become s_domain_sup_third_over / _fourth_over, taking a time window and clipping each profile segment's closed-form extrema to it. Called with (0, D) they reproduce the pass-wide value candidate for candidate, in the same order, so the translational certificate is unchanged bit for bit (the existing golden pin holds). - lower_core takes a feed-sup closure instead of a precomputed SDomainSup, so the angular half can ask for any window. - angular_windows charges each piece its own feed sups over the time window its steps span. SOUNDNESS is the same argument as S6, now applied to both factors: for the times charged to piece p, every term of Omega is bounded by the product of that term's factors' sups over that same window, so Omega_sup,p bounds |omega''''| there by the triangle inequality and the sum over pieces bounds the total variation. A window's sup never exceeds the pass's, so this is strictly tightening, never looser -- pinned by a test. One subtlety worth the reviewer's attention. Straddling steps are charged to the MOST SEVERE piece they span, not the one they start in, and the charged piece's curvature sups are widened over the whole span so the sliver past the boundary stays covered. Charging straddlers the other way is a real regression, not a style choice: a long Line host beside a short blend has zero curvature sups of its own, and handing it a straddling step widens it to the blend's kappa''' -- which its whole long duration then multiplies. Measured, that variant made the gentle bound 4.9x WORSE than the pass-wide-feed baseline. Severity is ranked under the pass-wide feed so the ranking does not depend on the per-window feed it helps compute. ACHIEVED IMPROVEMENT, stated plainly because the numbers go to Patrick: gentle (200x150 mm, 1 mm corridor, 50 mm/s, dt 0.5 ms) orientation 6.546571e-2 -> 3.758043e-2 rad (1.74x) omega 5.126469e-3 -> 2.942506e-3 rad/s (1.74x) stiff (60x40 mm, 0.2 mm corridor, 0.35 m/s, dt 1 ms) orientation 1.864105e1 -> 8.751411e0 rad (2.13x) omega 2.100633e1 -> 9.859359e0 rad/s (2.13x) That is BELOW the 2x bar on the gentle fixture -- a real but modest gain, not a breakthrough. The stiff fixture's orientation bound is still far past pi and still uninformative: this lever helps, it does not rescue. The dominant term remains |kappa'''|v^4, so the remaining headroom is in the curvature sups, not the feed ones. Revisable: the severity ranking and the neighbourhood widening are both heuristics chosen for tightness, not soundness requirements -- soundness comes from the widening alone, and any charging rule paired with it is sound. If a future pass shape ranks badly, the rule can change without touching the argument. Co-authored-by: patman-assist <patrick-ai@kgroo.co>