Resources / Articles / Mathematics of Motion Control Profiles

Mathematics of Motion Control Profiles

~ Chuck Lewin

Motion control engineers spend hours optimizing tuning parameters for their servo-based motion controllers. But what if they are using step motors? And what if, no matter how much time they spend on tuning, they can’t get the performance they want?

The answer, for many motor and control systems, is to focus on the motion profile instead. Advanced profiling features such as asymmetric acceleration and deceleration, 7-segment S-curve profiling, change-on-the-fly, and electronic camming are now widely available, providing engineers with new tools that make machines work faster and more efficiently. This article will take you through the mathematics of motion profiles, discuss which profiles work best for which applications. It will also provide insights into how to “tune” your motion profile for maximum performance.

S-curve and Trapezoidal Motion Control Profiles

While there are a lot of different motion profiles in use today, a good starting point is the point-to-point move. For a large number of applications including medical automation, scientific instrumentation, pointing systems, and many types of general automation, the point-to-point move is used more frequently than any other motion control profile. Because of this, optimization of this profile will have the largest overall impact on system performance. Point-to-point means that from a stop, the load is accelerated to a constant velocity, and then decelerated such that the final acceleration, and velocity, are zero at the moment the load arrives at the programmed destination.

The two profiles commonly used for point-to-point profiling are the S-curve profile, and its simpler cousin the trapezoidal profile. They are shown in Figure 1.

S-curve and Trapezoidal Motion Profiles
Figure 1: S-curve profile and trapezoidal profile

In the context of a point-to-point move, a full S-curve motion profile consists of 7 distinct phases of motion. Phase I starts moving the load from rest at a linearly increasing acceleration until it reaches the maximum acceleration. In Phase II, the profile accelerates at its maximum acceleration rate until it must start decreasing as it approaches the maximum velocity. This occurs in Phase III when the acceleration linearly decreases until it reaches zero. In Phase IV, the control velocity is constant until deceleration begins, at which point the profiles decelerates in a manner symmetric to Phases I, II and III.

A trapezoidal profile, on the other hand, has 3 phases. It is a subset of an S-curve profile, having only the phases corresponding to #2 of the S-curve profile (constant acceleration), #4 (constant velocity), and #6 (constant deceleration). This reduced number of phases underscores the difference between these two profiles: The S-curve profile has extra motion phases which transition between periods of acceleration, and periods of non-acceleration. The trapezoidal profile has instantaneous transitions between these phases. This can be seen in the acceleration graphs of the corresponding velocity profiles for these two profile types. The motion characteristic that defines the change in acceleration, or transitional period, is known as jerk. Jerk is defined as the rate of change of acceleration with time. In a trapezoidal profile, the jerk (change in acceleration) is infinite at the phase transitions, while in the S-curve profile the "jerk" is a constant value—spreading the change in acceleration over a period of time.

What a Jerk

That an S-curve profile is smoother than a trapezoidal profile is evident from the above graphs. Why, however, do the S-curve profile result in less load oscillation? The answer to this has to do with the fact that for a given load, the higher the jerk, the greater the amount of unwanted vibration energy will be generated, and the broader the frequency spectrum of the vibration’s energy will be.

This means that the more rapid the change in acceleration, the more powerful the vibrations will be, and the larger the number of vibrational modes will be excited. This is shown in Figure 2. And because vibrational energy is absorbed in the system mechanics, it may cause an increase in settling time or reduced accuracy if the vibration frequency matches resonances in the mechanical and control system.

Induced Vibrations for S-curve and Trapezoidal

Figure 2: Induced vibrations for (2A) S-curve profile and (2B) trapezoidal profile

I Wanna Go Fast

Since trapezoidal profiles spend their time at full acceleration or full deceleration, they are, from the standpoint of profile execution, faster than S-curve profiles. But if this 'all on'/'all off' approach causes an increase in settling time, the advantage is lost. Often, only a small amount of "S" (transition between acceleration and no acceleration) can substantially reduce induced vibration. And so to optimize throughput the S-curve profile must be 'tuned' for each a given load and given desired transfer speed.

What S-curve form is right for a given system? On an application by application basis, the specific choice of the form of the S-curve will depend on the mechanical nature of the system, and the desired performance specifications. For example in medical applications which involve liquid transfers that should not be jostled, it would be appropriate to choose a profile with no Phase II & VI segment at all, instead spreading the acceleration transitions out as far as possible, thereby maximizing smoothness.

In other applications involving high speed pick and place, overall transfer speed is most important so a good choice might be an S-curve with transition phases (Phases I, III, V, and VII) that are 5-15 % of Phase II & VI. In this case the S-curve profile will add a small amount of time to the overall transfer time, but because of reduced load oscillation at the end of the move, the total effective transfer time can be considerably decreased. Trial and error using a motion measurement system is generally the best way to determine the right amount of "S", because modelling the response to vibrations is complicated, and not always accurate.

Trapezoidal Profile Equations

The basic math required to execute trapezoidal profiles is straightforward. There are, however, two forms that can be used; the Continuous Form, that will be familiar from High School Physics, and the Discrete Time Form, which is used in most motion control solutions that utilize microprocessors or DSPs (Digital Signal Processor) to generate a new set of motion parameters at each tick of the motion 'clock'.

Trapezoidal Profile Equation

S-Curve Profile Equations

Because they are third versus second-order curves, and because there are seven versus three separate motion segments, point-to-point S-curves are more complicated then Trapezoids. In particular it is not simple to calculate the stopping distance for a given set of profile values. Accordingly, many S-curve profiling systems restrict changes-on-the-fly, or do not allow asymmetric profiles. These restrictions allow information about how long, and over what distance, the motion control profile previously took to accelerate to determine when to start decelerating.

S-curve profile equation

Making Your Point-to-Point

The ultimate goal of any profile is to match the motion system characteristics to the desired application. Trapezoidal and S-curve profiles work well when the motion system's torque response curve is fairly flat. In other words, when the output torque does not vary that much over the range of velocities the system will be experiencing. This is true for most servo motor systems, whether DC Brush or Brushless DC.

Step motors, however, do not have flat torque and speed curves. Torque output is non-linear, sometimes having a large drop at a location called the 'mid-range instability', and generally having drop-off at higher velocities. Figure 3 gives examples of typical torque and speed curves for servo and step-motor systems.

Torque/Speed Curves for Servo and Step Motors

Figure 3: Typical torque/speed curves for (3A) servo and (3B) step motor systems

Mid-range instability occurs at the step frequency when the motor's natural resonance frequency matches the current step rate. To address mid-range instability, the most common technique is to use a non-zero starting velocity. This means that the profile instantly 'jumps' to a programmed velocity upon initial acceleration, and while decelerating. This is shown in Figure 4. While crude, this technique sometimes provides better results than a smooth ramp for zero, particularly for systems that do not use a microstepping drive technique.

Non-zero starting velocity

Figure 4: Non-zero starting velocity

To address drop-off of torque at higher velocities, a Parabolic profile, shown in figure 5 can be used. The corresponding acceleration curve has the characteristic that the acceleration is smallest when the velocity is highest. This is a good match for step-motor systems, because there is less torque available at higher speeds. But notice that starting and ending accelerations are very high, and there is no "S" phase where the acceleration smoothly transitions to zero. So if load oscillation is a problem, parabolic profiles may not work as well as an S-curve, despite the fact that a standard S-curve profile is not optimized for a step motor from the standpoint of the torque/speed curve.

Parabolic Motion Profile

Figure 5: Parabolic profile

Parabolic Profile Equations

Parabolic profiles are closely related to S-curves because they are third-order moves. And as was the case for S-curve profiles, calculating the distance to deceleration is complicated, particularly if profile changes-on-the-fly are allowed.

Parabolic Motion Equation

Table for 65,536 Please

The ultimate in point-to-point profile generation, or in fact for other types of profiles including continuous path generation such as is used in CNC (Computer Numerical Control) machine tools, is to construct a custom profile that compensates for the exact load and motor characteristics of the system. Such a profile would accelerate the motor, taking into account the available motor torque at each velocity point, the mechanical resonances at each velocity point, and the actuator or arm kinematics in the mechanism.

Since motor torque curves do not follow simple mathematical principles, and because the equations for kinematic compensation are complex, these calculations are generally calculated in advance, and stored in a table of motion 'vectors'. This table is generally set up as an array of position or time vectors, with a corresponding entry for velocity and acceleration at each point of the curve.

In this configuration the motion engine is merely providing a generic capability to download and execute a list of vectors, and the responsibility of the calculations falls to the user. Despite this extra work, if special conditions exist, such as when motors or mechanisms are highly non-linear, table-driven point-to-point profiles can provide a meaningful performance increase, and may be worth the effort.

Cam We Talk?

Beyond point-to-point moves, there is a broad range of motion applications that require repetitive motion, indexed by a timer, or encoder, or master rate envelop profile. Such applications fall under the category of electronic cams, which includes the related but simpler approach known as electronic gearing.

Cams typically also use downloadable tables. In this case, the tables are used to define a target position for each location of the encoder or tick of the master clock. The user can download a trapezoidal profile, an S-curve profile, or more commonly, a custom profile that replicates the function of a specially-shaped mechanical cam.

CAMming Profile Mode

Figure 6: Camming Profile Mode

There are a number of ways to specify the relationship between the master clock and the controlled axis. The most common is to define the number of encoder counts that make up a 360 degree 'rotation' of the master encoder, and then allow one or more output points to be defined at each degree position of the table. When executing the table, after reading the last location of the table the motion controller will 'wrap' back, and restart from the first. Because of this, the beginning and ending position targets must be the same, or very similar, to avoid a discontinuous jump in motion.

A variation on this approach is to treat each table entry as a relative distance to move rather than as an absolute desired axis location. Using this approach there is no requirement that the first and last entries in the table match up.

Electronic Gearing is a simpler version of camming where the relationship between the master can be expressed as a fixed ratio to the driven axis. Gear ratios can be positive or negative, and can be greater or less than one, meaning that the driven axis can amplify, or reduce, the motion specified by the master encoder.


Choosing the right motion control profile can improve smoothness, reduce wear, and lower transfer times for a broad range of motion control applications. Trapezoidal profiles are useful, but limited, because there is no way to define transitions between acceleration regions. S-curves solve this problem, but are correspondingly more complex mathematically. Another important profile for point-to-point moves is the parabolic profile, generally used only for step-motor based systems. Table-based approaches to motion profiling are also popular, and in particular, downloadable electronic cams are widely used in a number of industries.


PMD Products with Advanced Profiling Capabilities

PMD has three product groups that provide advanced S-curve and trapezoidal profiles, programmable start velocity, and cam capability. While different in packaging, all are controlled by C-Motion, PMD's easy to use motion control language and are ideal for use in a wide variety of 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 your own machine control board from the ground up. They feature the latest in profile generation, servo loop closure, current control, profile synchronization, event management, and PWM (Pulse Width Modulation) signal output generation. These low cost and easy to use ICs also are available in versions that support camming and synchronized multi-axis contouring via User Defined Profile Mode option.

Learn more >>


Motion Control Digital Drives

ION Digital Drives

ION Digital Drives have a Magellan IC at their core and combine this with a high power digital amplifier to create a compact rugged cable-connected module. Whether used for S-curve point to point moves, high speed spindle control, or your latest robotic design challenge, IONs are cost effective 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 have a multi-axis Magellan IC at their core and come in various form factors including PC-104, standalone, and standalone with built in Atlas Amplifiers (Prodigy/CME Machine Controller). In addition to supporting the sophisticated profiling modes described in this article, these cards provide multi-dimensional synchronized contouring via PMD's User Defined Profile Mode to solve all the challenges of your next machine design project.

Learn more >>


You may also be interested in: