feat(cam): double-S profiles with nonzero boundary velocities #56
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "patman/cam-boundary-v"
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?
PR4b: plan_with_boundary_velocities(displacement, v_start, v_end, limits) — the general Biagiotti & Melchiorri 2008 sec 3.4 double-S (eqs. 3.30-3.34): per-side saturation casework, eq. 3.31 feasibility precheck (bitwise-consistent with the bracket invariant), eq. 3.32 closed-form peak when both sides saturate. Documented deviation, reviewer-verified: the gamma*a_max reduction recipe is replaced by bisection on peak velocity — cruise-less displacement is proven strictly monotone and continuous across both saturation regimes, so bisection is sound where gamma-reduction has no convergence guarantee; residual absorbs into the >= 0 cruise, measured endpoint errors ~1e-15 (test tolerances 1e-9, honest). New PlanError::{InvalidBoundaryVelocity, Infeasible}. Proptest pins exact reduction to plan_rest_to_rest at v=0. Line-count note: 198 non-blank non-test by the awk convention used across this stack; ~216 if measured as diff-added lines including docs — flagging per the <200 rule. Stacked on patman/cam-sample (#55).