Trajectory Planner: S-Curve Velocity Profile

← Back to Engineering Library

If you want smooth motion in an actuator system, you can't just focus on speed (velocity) and how quickly you get up to speed (acceleration). You also have to control how sharply you start or stop accelerating—the “jerk,” or rate of change of acceleration. This S-Curve Velocity Profile calculator lets you figure out the timing for each motion phase based on your distance, max velocity, max acceleration, and max jerk. This matters in places where sudden motion causes problems: think precision linear actuators, CNC machines, robotics, or medical positioning. Mechanical shock and vibration from poor profiles are a top cause of performance issues and premature wear. You'll find the practical equations, a worked example, a breakdown of the engineering behind S-curves, and a FAQ below.

What is an S-Curve Velocity Profile?

An S-curve velocity profile is a way of controlling movement so velocity ramps up and down smoothly instead of jumping between levels. By capping jerk (the rate acceleration changes), you avoid sudden forces. This takes stress off motors, actuators, and mechanisms, decreasing unwanted vibration and fatigue.

Simple Explanation

If you stomp the gas or slam on the brakes in a car, it’s rough—like a trapezoidal profile. If you press the pedals gradually, letting speed change smoothly, that’s an S-curve profile. The same logic applies to machine motion: smoother starts and stops mean less shock, less wear, and better control over your payload.

📐 Browse all 384 free engineering calculators

S-Curve Velocity Profile Diagram

Trajectory Planner: S Curve Velocity Profile Technical Diagram

S-Curve Velocity Profile Interactive Visualizer

Adjust the distance, velocity, acceleration, and jerk sliders to see how each parameter shapes the seven-phase S-curve profile. You’ll see how changing these values affects total time, acceleration and constant-velocity phases, and how smoother profiles avoid sudden jumps.

Distance (mm) 200 mm
Max Velocity (mm/s) 100 mm/s
Max Acceleration (mm/s²) 500 mm/s²
Max Jerk (mm/s³) 2000 mm/s³

TOTAL TIME

2.40 s

ACCEL PHASE

0.50 s

CONST VEL

1.40 s

FIRGELLI Automations — Interactive Engineering Calculators

How to Use This Calculator

  1. Enter your move Distance in millimeters.
  2. Enter your system’s Maximum Velocity (mm/s).
  3. Enter the Maximum Acceleration (mm/s²) and Maximum Jerk (mm/s³) your equipment will tolerate.
  4. Click Calculate to get the full phase breakdown.

S-Curve Motion Profile Calculator

Engineering calculation notice

This calculator is intended for education, concept evaluation, and preliminary design. Results are based on the equations and assumptions described on this page, but cannot account for every real-world load case, tolerance, material property, environmental condition, installation detail, safety factor, code, or regulatory requirement. Verify all inputs, assumptions, units, and results independently before selecting components or using the result in a real application. Safety-critical, structural, medical, lifting, transportation, or regulated applications must be reviewed by a qualified engineer.

Found a calculation error? Message us

📹 Video Walkthrough — How to Use This Calculator

Trajectory Planner: S-Curve Velocity Profile

Mathematical Equations

Here’s how the S-curve phase durations and positions are worked out. These are the formulas behind the calculator:

The S-curve motion profile uses these core equations to break down your move into phases:

Phase 1 - Acceleration Build-up (Jerk Limited):

t₁ = amax / jmax

v(t) = ½jmaxt² for 0 ≤ t ≤ t₁

s(t) = ⅙jmaxt³ for 0 ≤ t ≤ t₁

Phase 2 - Constant Acceleration:

t₂ = (vmax - amaxt₁) / amax

v(t) = amaxt₁ + amax(t - t₁)

a(t) = amax = constant

Phase 3 - Constant Velocity:

t₃ = (d - saccel - sdecel) / vmax

v(t) = vmax = constant

a(t) = 0

Total Distance Constraint:

dtotal = ∫₀ᵀ v(t)dt

Where the integral is evaluated across all five motion phases

Simple Example

Inputs: Distance = 200 mm, Maximum Velocity = 100 mm/s, Maximum Acceleration = 500 mm/s², Maximum Jerk = 2000 mm/s³.

  • Acceleration phase: t₁ = 500 / 2000 = 0.25 s
  • Constant acceleration: t₂ = (100 − 500 × 0.25) / 500 = −0.15 s → 0 s (move is velocity-limited by input values)
  • Constant velocity phase picks up remaining distance
  • Total move time: roughly 2.25 s

Theory and Applications of S-Curve Motion Profiles

S-curve profiles address a major weakness of the older trapezoidal approach: with trapezoids, acceleration jumps from zero to full value instantly, which translates straight into shocks, shakes, and drive wear. By making acceleration changes gradual via jerk limits, the S-curve smooths all transitions.

Fundamental Principles

S-curve profiles aren't purely about math—they’re a practical response to mechanical limitations. Motors and actuators, especially moving real loads, cannot jump from one acceleration to another instantly. Inertia and system elasticity always bite you if you try. With S-curves, acceleration ramps up and down as fast as your jerk limit allows. Velocity versus time looks like an "S" as a result.

Under the hood, it’s a set of third-order polynomial equations. This guarantees no discontinuities in position, velocity, or acceleration. The profile is broken into up to seven phases—jerk up, constant acceleration, jerk down, constant velocity, then mirror that for deceleration. The arrangement gives you direct control over how smooth or aggressive the transitions are.

Practical Applications

S-curve motion control is not just a theoretical improvement—you see tangible benefits in the real world. For precision gear such as medical positioners, laser or optical alignment equipment, or precise linear actuators, these profiles cut down shock, vibrations, and unwanted load movement more than any other solution.

In CNC machines, running an S-curve lets you cut at higher speeds without ruining the finish or sending vibrations through the tool, which is key for tool longevity and part precision. Pick-and-place robots or any machine needing fast settle times also rely on jerk-limited moves for repeatability and quick cycling.

Design Considerations

The smoothest possible S-curve will take more time—there's always a trade-off. If you set a low jerk limit for minimum shock, your cycle gets longer. A stiffer, heavier-duty system might let you push the jerk higher and save time. This calculator gives you clear feedback on those trade-offs for your constraints.

The less rigid your system, the more conservative you should be with jerk. If you have a flexible frame or anything prone to flexing, keep jerk low to avoid exciting resonances. If your setup is very rigid, you can afford higher jerk, cutting total cycle time without much penalty.

Worked Example

Suppose you have to move a linear actuator 100 mm with these constraints:

  • Max velocity: 50 mm/s
  • Max acceleration: 200 mm/s²
  • Max jerk: 1000 mm/s³

Working through this example:

  1. Time for jerk phase: t₁ = 200/1000 = 0.2 s
  2. Velocity at the end of t₁: v₁ = 0.5 × 1000 × 0.2² = 20 mm/s
  3. Constant acceleration time: t₂ = (50 - 20)/200 = 0.15 s
  4. Distance covered in acceleration: 8.67 mm during jerk, 5.25 mm during constant acceleration, totals 13.92 mm
  5. Constant velocity distance: 100 − 2 × 13.92 = 72.16 mm
  6. Time at constant velocity: 72.16/50 = 1.44 s
  7. Total profile time: 2 × (0.2 + 0.15) + 1.44 = 2.14 s

This breakdown shows which phase eats up most of your time, helping adjust your settings for better results.

Advanced Considerations

Implementing S-curve moves isn’t just about math—it depends on actuator response, controller speeds, and what your mechanics can actually achieve. If your actuator's torque or your controller’s update rates are limiting, you may need to use less aggressive profiles than the calculation suggests.

If you need ultra-smooth moves, you could limit higher derivatives of jerk (snap, etc.), but outside of some niche ultra-high-precision fields, this isn’t usually worth the extra control complexity. For most machines and actuators, the standard seven-phase S-curve is enough to nearly eliminate mechanical issues related to sudden motion.

When you synchronize movements across multiple axes, S-curves matter even more. Coordinating the phases between actuators avoids introducing geometric errors and keeps the whole system moving smoothly without overloading any single component.

Frequently Asked Questions

What is the difference between S-curve and trapezoidal motion profiles?
How do I choose appropriate jerk limits for my application?
Can S-curve profiles reduce cycle time compared to trapezoidal profiles?
What happens when the calculated profile cannot reach maximum velocity?
How does mechanical compliance affect S-curve profile performance?
What are the computational requirements for implementing S-curve profiles?

📐 Explore our full library of 384 free engineering calculators →

About the Author

Robbie Dickson

Chief Engineer & Founder, FIRGELLI Automations

Robbie Dickson brings over two decades of engineering expertise to FIRGELLI Automations. With a distinguished career at Rolls-Royce, BMW, and Ford, he has deep expertise in mechanical systems, actuator technology, and precision engineering.

Need to implement these calculations?

Explore the precision-engineered motion control solutions used by top engineers.

Share This Article
Tags: