Mathematics of Motion Control Profiles
Chuck Lewin, Founder of Performance Motion Devices
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 systems, is to focus on the motion profile
instead. In the past ten years advanced profiling features such as
asymmetric acceleration/deceleration, 7-segment S-curve profiling,
change-on-the-fly, and electronic camming have become
widely available, providing engineers with new tools to make
machines work faster and better. This article will take you
through the mathematics of motion profiles, discuss which profiles
work best for which applications, and provide insights into
how to “tune” your profile for maximum performance.
You can get there from here
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 other other 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.
In the context of a point-to-point move, a full S-curve consists
of 7 distinct phases of motion. Phase 1 starts moving the load
from rest at a linearly increasing acceleration until it reaches the
maximum acceleration. In phase II. the profile accelerates at
this max. acceleration rate until it must start decreasing as it approaches
the max. velocity. This occurs in phase III when the
acceleration linearly decreases until it reaches zero. In phase IV
the 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 Scurve
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.
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 straghtforward. There, 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 systems that utilize microprocessors or DSPs (Digital Signal Processor) to generate a new set of motion parameters at each tick of the motion 'clock'.
Continuous form
PT = P0 + V0T + 1/2AT2
VT = V0 + AT
and
Pdecel = V2/2A
Discrete time form
PT = PT + VT +1/2A
VT = VT+A
where:
P0 and V0, are the starting position and velocities
PT and VT, are the position and velocity at time T
A is the profile acceleration
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 profile previously took to accelerate to determine when to start decelerating.
Continuous form
PT = P0 + V0T + 1/2A0T2 + 1/6JT3
VT = V0 + A0T + 1/2 JT2
AT = A0 + JT
Discrete time form
PT = PT + VT +1/2AT + 1/6J
VT = VT+AT + 1/2JT
AT = AT+JT
where
P0, V0, and A0 are the starting position, velocity, and accelerations
PT , VT, and AT are the position, velocity, and acceleration at time T
J is the profile jerk (time rate of change of acceleration)
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/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/speed curves for servo and 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.
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 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.
Continuous form
PT = P0 + V0T + 1/2A0T2 - 1/6JT3
VT = V0 + A0T - 1/2 JT2
AT = A0 - JT
Discrete time form
PT = PT + VT +1/2AT - 1/6J
VT = VT+AT - 1/2JT
AT = AT- JT
where
P0, V0, and A0 are the starting position, velocity, and accelerations
PT , VT, and AT are the position, velocity, and acceleration at time T
J is the jerk (time rate of change of acceleration)
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 master timer or -encoder. 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 master encoder or each 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.
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 deg '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.
Summary
Choosing the right 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.
|