Jerk-Limited S-Curve Motion Profile Calculator
Calculate a jerk-limited S-curve motion profile: find minimum move time from distance, velocity, acceleration and jerk limits, or calculate the required peak velocity, acceleration and jerk from distance and move time.
Enter the known values and review the calculated result
Input parameters
Use consistent values and select the intended engineering units.
Calculation mode
Motion
Motion limits
Move time
Results
Engineering Pro Save, document and continue this calculation
Turn this result into a reusable engineering record with saving, PDF export and reporting workflows.
Method, application and limitations
Review the calculation method, intended application and engineering assumptions before using the result in a design decision.
Formula and calculation method
“`html
Jerk is the rate of change of acceleration:
j = da/dt = d3x/dt3
Minimum-time jerk-limited profile
For a symmetric rest-to-rest S-curve profile, the total move time is:
ttotal = 4tj + 2ta + tv
where:
- tj — duration of each constant-jerk phase
- ta — duration of each constant-acceleration phase
- tv — duration of the constant-velocity phase
The jerk-phase duration required to reach the acceleration limit is:
tj,A = amax / jmax
The velocity reached when the acceleration limit is just attained without a constant-acceleration phase is:
vA = amax2 / jmax
If the velocity limit is reached before the full acceleration limit:
tj = √(vmax / jmax)
ta = 0
Otherwise:
tj = amax / jmax
ta = vmax / amax − tj
The distance required to reach vmax and return symmetrically to rest is:
sV = vmax · (2tj + ta)
The distance at which amax is just reached is:
sA = 2amax3 / jmax2
When the velocity limit is reached:
tv = (s − sV) / vmax
When the acceleration limit is reached but the velocity limit is not:
ta =
[−3tj + √(tj2 + 4s/amax)] / 2
vpeak = amax · (ta + tj)
For a short jerk-limited move that reaches neither vmax nor amax:
tj = (s / (2jmax))1/3
apeak = jmax · tj
vpeak = jmax · tj2
Profile from travel distance and move time
For the balanced four-segment jerk-limited profile used by the calculator:
tj = t / 4
vpeak = 2s / t
apeak = 8s / t2
jpeak = 32s / t3
Time scaling
For a target move time ttarget not shorter than the minimum feasible time:
kt = ttarget / tmin
vpeak,new = vpeak / kt
apeak,new = apeak / kt2
jpeak,new = jpeak / kt3
Symbols
- s — travel distance
- t — specified move time
- tmin — minimum feasible move time
- ttarget — optional target move time
- vmax — maximum allowed velocity
- amax — maximum allowed acceleration
- jmax — maximum allowed jerk
- vpeak — calculated peak velocity
- apeak — calculated peak acceleration
- jpeak — calculated peak jerk
- kt — time-scaling factor
“`
When to use this calculator
Use this calculator to plan a symmetric jerk-limited S-curve motion between two stationary positions. It can either find the minimum feasible move time from velocity, acceleration and jerk limits, or determine the peak kinematic demand for a specified travel distance and move time.
- Calculate the minimum move time for a linear axis from travel distance, maximum velocity, maximum acceleration and maximum jerk.
- Determine whether a short move reaches the entered velocity limit, acceleration limit, both limits, or neither limit.
- Calculate peak velocity, peak acceleration and peak jerk for a specified distance and move time using the calculator’s balanced four-segment jerk profile.
- Inspect jerk-phase time, constant-acceleration time and constant-velocity time for the generated S-curve profile.
- Use an optional target move time to stretch a feasible minimum-time profile while reducing its peak velocity, acceleration and jerk.
- Estimate point-to-point motion timing for servo axes, linear actuators, CNC positioning moves, robotics and automated machinery before detailed controller implementation.
This calculator is not a motor-sizing or drive-load calculator. It does not calculate motor torque, RMS torque, power, reflected inertia, ball-screw torque, belt forces or thermal duty.
It should also not be used as a general trajectory planner for non-zero initial or final velocity, non-zero boundary acceleration, asymmetric acceleration/deceleration limits, intermediate waypoints, multi-axis synchronization or path curvature.
How to interpret the result
The primary results are peak velocity vpeak, peak acceleration apeak and peak jerk jpeak of the generated symmetric jerk-limited profile.
The additional timing results describe the profile shape: tj is the duration of each jerk phase, ta is the duration of each constant-acceleration phase, and tv is the duration of the constant-velocity phase.
Minimum-time mode
The calculated tmin is the shortest move time produced by this model while respecting the entered maximum velocity, acceleration and jerk limits. Depending on travel distance and the relative limits, the profile contains four, six or seven active segments.
- 4 active segments — neither maximum velocity nor maximum acceleration is reached; only the jerk phases are active.
- 6 active segments — constant-acceleration phases are present but there is no constant-velocity cruise.
- 7 active segments — jerk, constant-acceleration and constant-velocity phases are all present.
If an optional target move time is equal to or longer than tmin, the profile is uniformly stretched. A larger time-scaling factor kt reduces peak velocity in proportion to 1/kt, peak acceleration in proportion to 1/kt2, and peak jerk in proportion to 1/kt3.
A positive target-time margin Δt means the requested target time is longer than the minimum feasible time. If the requested target time is shorter than tmin, the calculator reports a warning and Δtshort shows the time shortfall. In that condition, the displayed motion profile remains the minimum-time feasible profile; it is not recalculated at the infeasible target time.
Distance-and-time mode
In the distance-and-time mode, the results are the kinematic demands of the calculator’s balanced four-segment jerk-limited profile. The mode does not compare those demands with machine limits because velocity, acceleration and jerk limits are not inputs in this mode.
Therefore, a successfully calculated profile does not by itself prove that a real axis can execute the move. Compare vpeak, apeak and jpeak with the permitted values of the selected machine, actuator and controller.
Result status
- Safe — the JavaScript generated a finite, internally consistent profile. In minimum-time mode the generated profile stays within the entered kinematic limits. In distance-and-time mode, this status does not constitute a hardware safety check.
- Warning — the optional target move time is shorter than the calculated minimum feasible time.
- Invalid — an input is non-finite or outside its permitted range, a finite profile cannot be constructed, or the endpoint consistency check fails.
This calculation verifies only the kinematic motion profile. Motor torque, available power, structural loads, tracking error, resonance, vibration, thermal limits and other machine constraints may still require separate verification.
Calculation example
Example 1 — minimum move time from motion limits
A linear axis must travel 1.0 m from rest to rest. The permitted motion limits are:
- Travel distance s = 1.0 m
- Maximum velocity vmax = 1.0 m/s
- Maximum acceleration amax = 2.0 m/s2
- Maximum jerk jmax = 10.0 m/s3
The jerk time required to reach the acceleration limit is:
tj = amax / jmax = 2 / 10 = 0.20 s
The constant-acceleration time required before the velocity limit is reached is:
ta = vmax / amax − tj = 1 / 2 − 0.20 = 0.30 s
The distance required to reach vmax and symmetrically decelerate back to rest is:
sV = 1.0 · (2 · 0.20 + 0.30) = 0.70 m
Because the required travel is 1.0 m, a constant-velocity segment is present:
tv = (1.0 − 0.70) / 1.0 = 0.30 s
The minimum move time is:
tmin = 4 · 0.20 + 2 · 0.30 + 0.30 = 1.70 s
The generated seven-segment profile therefore has:
- vpeak = 1.00 m/s
- apeak = 2.00 m/s2
- jpeak = 10.00 m/s3
- tj = 0.20 s
- ta = 0.30 s
- tv = 0.30 s
- tmin = 1.70 s
If a target move time of 2.00 s is entered, the calculator stretches the profile by kt = 2.00 / 1.70 = 1.1765. The resulting peaks are approximately 0.850 m/s, 1.445 m/s2 and 6.141 m/s3, all below the original limits.
Example 2 — required profile from distance and move time
For the same 1.0 m travel distance with a specified move time of 2.0 s, the distance-and-time mode uses its balanced four-segment jerk profile:
tj = 2.0 / 4 = 0.50 s
vpeak = 2 · 1.0 / 2.0 = 1.00 m/s
apeak = 8 · 1.0 / 2.02 = 2.00 m/s2
jpeak = 32 · 1.0 / 2.03 = 4.00 m/s3
The two calculation modes can produce different peak values for the same distance and total time because they use different profile construction rules. The distance-and-time mode always uses the balanced four-segment profile, while the limits-based mode first constructs the minimum-time profile and then uniformly stretches that profile when a longer target time is requested.
These results describe the commanded kinematics only. A real motion system must also be checked for actuator capability, load dynamics, tracking performance and other application-specific limits.
Assumptions and limitations
- The calculation represents one-dimensional point-to-point motion with positive travel distance.
- The motion is symmetric and starts and ends at zero velocity and zero acceleration.
- The profile uses piecewise-constant jerk and may contain four, six or seven active segments.
- Positive and negative acceleration use the same acceleration magnitude limit, and positive and negative jerk use the same jerk magnitude limit.
- The minimum-time mode uses travel distance together with maximum velocity, maximum acceleration and maximum jerk to construct the shortest profile supported by this model.
- The distance-and-time mode uses a balanced four-segment profile with tj = t/4, no constant-acceleration phase and no constant-velocity phase.
- The distance-and-time equations vpeak = 2s/t, apeak = 8s/t2 and jpeak = 32s/t3 apply specifically to that four-segment profile and are not universal equations for every jerk-limited trajectory.
- If a target time longer than the minimum feasible time is entered, the calculator uniformly time-scales the minimum-time profile rather than solving a different profile topology.
- If the target time is shorter than the minimum feasible time, the calculator retains the minimum-time profile and reports a warning and time shortfall.
- The calculator does not support non-zero initial or final velocity, non-zero boundary acceleration, asymmetric acceleration/deceleration limits or asymmetric jerk limits.
- The calculator does not model intermediate waypoints, path curvature, multi-axis synchronization or coordinated Cartesian motion.
- The calculation is purely kinematic. Mass, force, torque, motor power, reflected inertia, friction, transmission efficiency and thermal loading are not included.
- Structural flexibility, backlash, vibration, resonance, controller bandwidth, following error and settling behavior are not modeled.
- This is a jerk-limited S-curve calculation, not a minimum-jerk polynomial optimization that minimizes an integral or other cost function based on jerk.
- All inputs must be finite and positive where required, and units must be dimensionally consistent.
