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
case old time new time old peak new peak old final accel new final accel old max jerk new max jerk old max accel jump new max accel jump old distance error new distance error
1 mm short move 0.11591 0.18566 20.00000 10.77217 -150.00000 0.00000 26667 5000 100.00000 4.93786 0 0
12 mm medium move 0.30964 0.42558 69.28203 56.39410 -500.00000 0.00000 12503 5000 100.00000 5.00000 0 0
$J= finite jog, 6 mm 0.24970 0.33737 42.96689 35.56893 -450.00000 0.00000 25796 5000 100.00000 4.96137 0 0
Jog Cancel Summary
cancelled profile stop time stop distance final speed final accel cancel jerk
v1 jog, cancel fallback 0.44000 18.40000 0.00000 0.00000 instant 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.