Utility class for generating a jerk-limited 7-segment S-curve that covers distance x, from v0->v1, with constraints on v_max, a_max, j_max, assuming final accel=0 and an arbitrary initial accel=a0. More...
Static Public Member Functions | |
static SCurveResult | SCurve7SegmentClosedFormPhases (float x, float v0, float a0, float v1, float vMax, float aMax, float jMax, int v_max_itr=60) |
Main entry point: 1) Adjust initial acceleration a0 to zero if needed. | |
Detailed Description
Utility class for generating a jerk-limited 7-segment S-curve that covers distance x, from v0->v1, with constraints on v_max, a_max, j_max, assuming final accel=0 and an arbitrary initial accel=a0.
If v_max cannot be reached, we solve for a smaller v_peak.
Member Function Documentation
◆ SCurve7SegmentClosedFormPhases()
|
static |
Main entry point: 1) Adjust initial acceleration a0 to zero if needed.
2) If we can fully accelerate to v_max and decelerate to v1 within the remaining distance, do so (and add a cruise if leftover). 3) Otherwise, bisection to find a smaller peak velocity. 4) Build the 7 time durations T1..T7 and expand the phases. Returns a SCurveResult with phases.