Resources / Articles / S-Curve Motion Profiles - Vital For Optimizing Machine Performance

S-Curve Motion Profiles - Vital For Optimizing Machine Performance

~ Chuck Lewin

In addition to providing smoother motion, S-curve motion profiles are a vital tool for improving point to point transfer speeds by letting you tune the profile to the load.

By smoothing out the edges, S-curve motion profiles reduce abrupt acceleration changes and thereby smooth out the motion. But the actual power of S-curves goes far beyond just smoother moves by allowing the profile to be tuned, thereby optimizing point-to-point transfer speeds for a broad class of machines such as gantries, belt-driven systems, XYZ tables, indexers, embroidery, robotic mechanisms, and more.

S-curves motion profiles add 'transition' segments to the traditional 3-phase trapezoidal profile (accelerate, coast, decelerate) resulting in a 7-phase profile. This is shown in Figure 1.

Motion Profiles for S-Curve and Trapezoidal

Figure 1: Velocity Profiles for an S-Curve and a Trapezoidal Profile

What makes S-curve profiles so powerful is that they inject dramatically less vibrational energy into the connecting mechanisms and the load. This is true whether the drive motor used is a servo motor or a step motor. Just as importantly, compared to trapezoidal profiles, S-curves provide an additional control mechanism for cancelling oscillations in the load by adjusting the ratio of the profile's transition phases to the constant acceleration phases.

Together these two features can have a dramatic impact on the effective transfer time. The effective transfer time is the time from when the load begins moving to when it finally actually settles. For high speed point-to-point moves a tuned S-curve can reduce the effective transfer time by 25 % or even 33% depending on the nature of the mechanism being controlled.

The motion characteristic that defines change in acceleration is known as "jerk". In a Trapezoidal profile, the jerk  is infinite at the phase transitions, while in the S-curve profile jerk is a constant value, spreading the change over a non-zero time period. For a given load, the higher the jerk, the greater the amount of energy that will show up as unwanted vibrations in the system, and, the broader the frequency spectrum of this vibration inducing energy will be. This is shown in Figure 2. 

Vibrations from S-curve and Trapezoidal Profiles

Figure 2: Vibrations from S-curve and Trapezoidal Profiles

Comparing the amount and type of vibration energy produced by a trapezoidal profile with an S-curve profile, we see that a trapezoidal profile - because of its instantaneous change in acceleration - injects a relatively large amount of vibration energy into the system, and this vibration energy is spread over a wide range of frequencies. The S-curve motion profile injects less vibrational energy into the load and, just as importantly, the range of these vibrations cuts off rapidly at higher frequencies.

Putting S-curves to work

Now that we understand the principles involved, how can an S-curve be programmed, and what factors affect the smoothness and transfer times of the actual load?

Finding the optimum S-curve form for a given application is a matter of balancing the time spent transitioning from zero acceleration to maximum acceleration (Phases I & III) as a percentage of the time spent at maximum acceleration (Phase II).

On the one hand, if we spend nearly all our time transitioning (Phases I & III) and very little time at maximum acceleration (Phase II), the motion will be extremely smooth, but the total time of the move will have increased. This is because, during Phase I, the S-curve profile travels only a short distance, therefore, the greater amount of time spent here will increase the overall transfer time.

On the other hand, if we spend only a small fraction of time in Phases I and III, then the time of the total move will be minimized, however, the profile will not be as smooth and may cause unwanted vibration in the load. Happily though, there is a caveat because even relatively brief Phase I and III phases can result in dramatic reductions in load-induced oscillations. Don't forget that you are comparing a large jerk value (for the S-curve profile) with an infinite jerk value (trapezoidal profile), so even a little bit of transition tends to be much better than none at all.

In fact, for a given mechanism there is often a 'magic' value for the S-curve phase ratio. While too little transition time can inject too much vibrational energy, surprisingly, too much transition time can have a similar affect. There is often a specific value for jerk which 'sticks the landing' and significantly or entirely reduces settling oscillation at the end of the move. Finding that value is the goal of the S-curve tuning process.

Practically speaking, unless the weight of the load never changes, or unless the weight of the load is exactly known, you will probably tune the S-curve shape for a point to point transfer of an average load. But even an average-optimized value can make a big difference in effective point to point transfer times.

S-Curves Classic Example

Gentlemen, start your engines!

A classic example of S-curve versus trapezoidal motion can be found driving your car. Imagine holding your foot on the brake pedal of your car as it decelerates to a stop. If you do not move your foot from the pedal, you will decelerate at a more or less constant rate until the car stops. At the moment the car finishes decelerating, it will lurch backwards and oscillate a few times before settling down.

Now, imagine braking the car at a constant rate but gently lifting your foot up from the pedal just before you come to a complete stop. This is something that most of us (the good drivers) do automatically to avoid jostling the passengers. Using this method, the car doesn’t oscillate.

Letting your foot off the brake at the end of the move is analogous to performing an S-curve profile. It creates a transition phase from constant deceleration to zero deceleration. This simple change results in much lower load oscillation.

Smooth Operator

Are there applications where S-curve transitions have benefits beyond improvements in point-to-point transfer time? Yes. One clear instance is when the motion system is transporting humans. In this case abrupt changes in acceleration are highly undesirable because they can cause discomfort or even nausea. Another instance is transporting a liquid or gel where it is important that the liquid not be agitated.

The following chart shows some common applications that benefit most from S-curve profiling: 


Typical Applications

Faster Transfer Time

  • Gantries
  • High-speed stitching
  • Electronic pick & place machines
  • Plotters
  • Robotic arms
  • Antenna/tracking systems control
  • 3-D printing systems

Smooth Motion

  • Medical or chemical analysis automation
  • Elevators
  • Human diagnostic scanners
  • Semiconductor equipment
  • Scientific instrumentation

Time for the rubber to hit the road

Figure 3 shows an apparatus setup in Performance Motion Devices' lab to illustrate the difference between drive motion and load motion and the important concept that to maximize load transfer time performance S-curve profile tuning is one of the best tools available. The basic elements are a linear motor, a load consisting of an inverted pendulum held by elastics and an encoder that can record the movement of the load. 

Motion Defined by Profile  S-curve/Trapezoidal
Figure 3: Motion Defined by Profile  S-curve/Trapezoidal


The load can rotate freely and is held in a vertical position by the tension of the elastics. This setup emulates a real-world machine where the load is connected via a mechanical assembly to the drive motor. All mechanical linkages have some 'give', which is represented by the elastics. Although exaggerated and simplified, this setup will provide useful results to illustrate some of the basic principles of S-curve motion.

We will start by driving the load using a Trapezoidal profile, as illustrated by the video below.


Notice that the load is driven into oscillation and doesn't settle down until well after the drive motor has finished moving.

The video below shows the same move, but with a good amount of S-curve added in. Notice that the load hardly vibrates at all! Despite a slightly longer profile execution time, the overall transfer time at the load is significantly lower:


The graph below shows data from the encoder and the following table provides a numerical summary of the results of the experiment.

Data from the Motor Encoder
Figure 4: Data from the Motor Encoder



Trapezoidal Profile

S-curve Profile

Motor move distance

54,700 counts

54,700 counts

Motor move maximum velocity

1.50 counts/sample time

1.50 counts/sample time

Motor move maximum acceleration

0.0035 counts/sample time2

0.0035 counts/sample time2

Motor transfer time

580 mSec

750 mSec

Total load transfer time

1150 mSec

857 mSec



S-curves are an important tool for minimizing the effective transfer time of a machine load, particularly when the motor is connected to the load via a mechanism. In the real world, this represents the vast majority of actual motion control applications.

S-curves work equally well for Servo systems as they do for step-driven systems and should be tuned to minimize the total transfer time, which is not just the motor, but the total time taken to move and settle the load. Experimentation with a good motion capture screen is the best way to determine how much "S" to add to the motion profile and get your machine running at peak performance.



PMD Products With S-Curve Profiling

PMD has three product groups that provide advanced S-curve profile generation; ICs, modules, and boards. While different in packaging, all are controlled by C-Motion, PMD's easy to use motion control language and are ideal for use in medical, laboratory, semiconductor, robotic, and industrial motion control applications.

Motion Control ICs

Magellan Family of ICs

Magellan Single and Multi-Axis Motion Control ICs are perfect for building a motion control board from the ground up. They feature the latest in profile generation, servo loop closure, current control, and PWM (Pulse Width Modulation) generation technology and will get your project off to quick and cost effective start.

Learn more >>


Motion Control Drives

ION Digital Drives

ION Digital Drives combine a single axis MC58113 IC and a high power digital amplifier into a compact rugged package. Whether used for S-curve point to point moves, high speed spindle control, or advanced indexer applications, IONs are easy to use plug and play devices that will get your application up and running in a snap.

Learn more >>


Motion Control Boards

Prodigy Motion Control Boards

Prodigy Motion Control Boards come in various form factors including PC-104, standalone, and standalone with built in Atlas Amplifiers (Prodigy/CME Machine Controller). In addition to sophisticated 7-phase S-curve profiling, these cards provide multi-dimensional synchronized contouring, electronic gearing, and a range of other features to form the core of your next machine design project.

Learn more >>


Additional resources you may be interested in: