Kinematics & Dynamics

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.

Unit-aware inputs Deterministic calculation Engineering interpretation
Calculation workspace

Enter the known values and review the calculated result

Deterministic calculation
01
Parameters

Input parameters

Use consistent values and select the intended engineering units.

Calculation mode

Motion

Motion limits

Move time

02
Output

Results

Live
Ready to calculate Complete the required inputs and run the calculation.
Engineering Pro Save, document and continue this calculation

Turn this result into a reusable engineering record with saving, PDF export and reporting workflows.

Engineering reference

Method, application and limitations

Review the calculation method, intended application and engineering assumptions before using the result in a design decision.

01
Method

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

“`

02
Application

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.

03
Decision support

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.

04
Worked case

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.

05
Model boundaries

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.
06
Questions

Frequently asked questions

What is jerk in motion control?
Jerk is the rate of change of acceleration with time, j = da/dt, and is also the third derivative of position. Its units are length per time cubed, such as m/s³ or mm/s³. Limiting jerk prevents instantaneous acceleration changes and produces smoother motion commands.

What is a jerk-limited S-curve motion profile?
A jerk-limited S-curve motion profile changes acceleration gradually by limiting jerk. A full symmetric profile can contain jerk-up, constant-acceleration, jerk-down, constant-velocity and mirrored deceleration phases. In this calculator, the actual profile contains four, six or seven active segments depending on the travel distance and motion limits.

How does the calculator determine the minimum move time?
The minimum-time mode uses travel distance together with maximum velocity, maximum acceleration and maximum jerk. It determines which limits can be reached, calculates the required jerk, constant-acceleration and constant-velocity phase durations, and returns t_min = 4t_j + 2t_a + t_v.

How do I calculate required jerk from travel distance and move time?
For the balanced four-segment profile used by this calculator, peak jerk is j_peak = 32s/t³. The same profile gives v_peak = 2s/t and a_peak = 8s/t². These equations apply specifically to this rest-to-rest profile and should not be treated as universal formulas for every S-curve trajectory.

What is the difference between an S-curve and a trapezoidal motion profile?
A conventional trapezoidal velocity profile changes acceleration instantaneously at its transition points, which corresponds to theoretically unbounded jerk. An S-curve profile limits jerk so acceleration ramps between levels over a finite time. This generally produces smoother commanded motion but can increase the time required to complete a move for the same velocity and acceleration limits.

Why does a short move not reach maximum velocity or maximum acceleration?
A short travel distance may not provide enough distance to ramp acceleration and velocity up to their entered limits and then return to rest. The calculator therefore reduces the achieved peak velocity, and for still shorter moves it also reduces peak acceleration while maintaining the jerk limit.

What do 4, 6 and 7 active S-curve segments mean?
Four active segments mean that only the four non-zero jerk phases are required. Six active segments add two constant-acceleration phases. Seven active segments additionally include a constant-velocity cruise phase. Zero-duration phases are not counted as active segments.

What happens if the target move time is shorter than the minimum feasible time?
The target is infeasible under the entered velocity, acceleration and jerk limits. The calculator reports a warning and the target-time shortfall. The displayed profile remains the calculated minimum-time feasible profile rather than forcing the motion into the shorter target time.

Is a jerk-limited trajectory the same as a minimum-jerk trajectory?
No. This calculator limits the magnitude of jerk and, in its limits-based mode, finds the minimum move time for its symmetric S-curve model. A minimum-jerk trajectory usually refers to an optimization or polynomial trajectory designed to minimize a jerk-related cost. These are different motion-planning problems.

Does this calculator calculate motor torque, power or drive load?
No. The calculator evaluates only the kinematic motion profile. It does not use mass, inertia, screw lead, pulley radius, transmission efficiency or motor data, and it does not calculate force, motor torque, RMS torque or power. Those quantities require a separate drive-sizing or dynamics calculation.

Can I use the calculator for a move with non-zero starting or ending velocity?
No. The implemented equations assume a symmetric point-to-point move that starts and ends at zero velocity and zero acceleration. Moves with non-zero boundary velocity or acceleration require a more general jerk-limited trajectory generator.

Add an engineering note