grblHAL jerk v1 comparison

The old curve simulates the Dietz0r segment-nudged jerk path: a trapezoid-derived plan, then per-segment acceleration nudging. The v1 curve uses the new scalar reachability solve and exact S-curve phase integration. In these cases the configured jerk limit is 5000 mm/s^3.

Machining Visuals

1 mm short move: old segment nudge vs exact S-curve old segment-nudged jerk v1 exact S-curve velocity (mm/s) 0 5 10 15 20 25 acceleration (mm/s^2) -200 -100 0 100 200 300 jerk clipped at ±6750 mm/s^3 0 0.1 0.2 -5e+03 0 5e+03 1e+04 time (seconds)
short_move_profile.svg
12 mm medium move: old segment nudge vs exact S-curve old segment-nudged jerk v1 exact S-curve velocity (mm/s) 0 20 40 60 80 acceleration (mm/s^2) -400 -200 0 200 400 600 jerk clipped at ±6750 mm/s^3 0 1 -5e+03 0 5e+03 1e+04 time (seconds)
medium_move_profile.svg
Rest-to-rest peak-speed request across block lengths old segment-nudged jerk v1 exact S-curve planned peak speed (mm/s) 0 50 100 150 200 250 old / new peak-speed ratio 0 1 2 0 1 2 3 4 log10(block length in mm)
peak_speed_sweep.svg

Jogging Visuals

Finite $J= jogs now enter the same v1 S-curve path as ordinary finite motion. Jog cancel and feed hold deliberately leave that path and use the existing immediate trapezoid decel, so the stop remains prompt even though acceleration continuity is not preserved at the cancel instant.

$J= finite jog, 6 mm at 80 mm/s old segment-nudged jerk v1 exact S-curve velocity (mm/s) 0 10 20 30 40 50 acceleration (mm/s^2) -400 -200 0 200 400 600 jerk clipped at ±6750 mm/s^3 0 0.1 0.2 0.3 0.4 -5e+03 0 5e+03 1e+04 time (seconds)
finite_jog_profile.svg
Jog cancel at 0.28 s: S-curve to immediate stop fallback planned finite jog jog cancel fallback velocity (mm/s) 0 20 40 60 80 100 acceleration (mm/s^2) -400 -200 0 200 400 600 jerk clipped at ±6750 mm/s^3 0 1 -5e+03 0 5e+03 1e+04 time (seconds)
jog_cancel_profile.svg
Finite jog peak-speed request across jog distances old segment-nudged jerk v1 exact S-curve planned peak speed (mm/s) 0 20 40 60 80 100 old / new peak-speed ratio 0 1 2 0 1 2 3 4 log10(jog distance in mm)
jog_increment_sweep.svg

Numeric Summary

caseold timenew timeold peaknew peakold final accelnew final accelold max jerknew max jerkold max accel jumpnew max accel jumpold distance errornew distance error
1 mm short move0.115910.1856620.0000010.77217-150.000000.00000266675000100.000004.9378600
12 mm medium move0.309640.4255869.2820356.39410-500.000000.00000125035000100.000005.0000000
$J= finite jog, 6 mm0.249700.3373742.9668935.56893-450.000000.00000257965000100.000004.9613700

Jog Cancel Summary

cancelled profilestop timestop distancefinal speedfinal accelcancel jerk
v1 jog, cancel fallback0.4400018.400000.000000.00000instant accel step, clipped in chart

Units: seconds, mm/s, and mm/s^2. Jerk is clipped in the profile plots so the old acceleration discontinuities do not flatten the readable part of the chart.