Application Note 3412: Velocity Smoothing

Application Note #3412
Smoothing Velocity Profiling (using IT and VT commands)
Background:
Moving a motor from one position to another involves accelerating the motor to a certain
velocity, traveling at that velocity for a set time, and then decelerating to a stop to a
desired position. The Galil controller controls relative point-to-point moves of the motor
using a trapezoidal velocity profile. This means that as the velocity changes from one
value to another, the constant acceleration (or deceleration) value creates a linear velocity
transition.
A trapezoidal velocity profile is fine for most systems, but the sudden transition from
zero to full acceleration can cause an unacceptable jerk in some mechanical systems. For
these systems, the Galil controller has the ability to smooth the velocity profile. On
current generation controllers - this smoothing of the motion profile is set with the IT
command for all motion commands including JG, PR, PA, VP, CR and LI moves.
Prior generation controllers use the VT command for smoothing coordinated motion
moves (VM or LM mode).
Example:
Consider this simple motion program that commands a jog move on the X-axis:
#A
AC 400000
JG 100000
BGX
EN
Assume that the motor is at rest, the program above is downloaded into the program
RAM of the controller, and then sending the XQ command to the controller runs the
program. The motor will begin to accelerate from rest to the commanded jog speed of
100,000 counts per second. After that speed is reached, the acceleration stops and then
the motor will run then continuously at 100,000 counts per second. A graph the velocity
of the motor versus time is shown below:
-1Galil Motion Control, Inc.  270 Technology Way  Rocklin, CA 95765 USA  800-377-6329  Ph: 916-626-0101  Fax: 916-626-0102  www.galilmc.com
Velocity
105 counts/sec
0
time
.25 sec
The linear profile of the velocity as the motor starts to spin and finally reaches the jog
speed is referred to as a trapezoidal profile. Since the acceleration rate of 400,000
counts/sec2 is constant, the motor reaches the 100,000 counts/sec jog speed in exactly
0.25 seconds. The acceleration versus time graph is shown below:
Acceleration
400,000 cts/s 2
0
time
.25 sec
The step shape of the acceleration versus time is the source of the sharp discontinuities at
the beginning of the move and at the point when the slew speed is reached at .25 seconds.
These sharp corners can cause a sharp jerk in the mechanical motion; a preferable
velocity profile would gradually roll on the acceleration and roll off when the desired
speed is reached.
This smooth roll on and roll off of acceleration is where the smoothing profile is needed.
For our example program using the Jog mode of motion, the IT command can provide
smoother transitions during the acceleration of the motor. The smoothing profiling is
achieved by the use of an algorithm that smoothes the square pulse of acceleration with a
single time constant digital filter.
Again, consider the motion program example above. If a single time constant low pass
filter is used to filter the acceleration step, the acceleration versus time graph will look
like the following:
-2Galil Motion Control, Inc.  270 Technology Way  Rocklin, CA 95765 USA  800-377-6329  Ph: 916-626-0101  Fax: 916-626-0102  www.galilmc.com
Acceleration
400,000 cts/s 2
time
0
This is the same effect that an electrical RC filter has on a step shaped voltage versus
time. The filtering of the acceleration versus time will of course change the velocity
versus time into the following shape:
Velocity
105 cts/s
time
0
The amount of smoothing of the acceleration in our motion example is set with the IT
command.
Here is a table that describes the functionality based on the product line:
Optima Series, DMC-1800, DMC-21xx, DMC-18x2, etc:
Command
Effect
IT
smoothes AC, DC phase of motion due to JG, IP, PR, PA commands.
VT
smoothes VA, VD phase of motion due to VP, CR, LI commands.
Current Generation Accelera Series (DMC-40x0, 41x3, 18x6, etc…)
Command
Effect
IT
smoothes AC, DC phase of motion on JG,IP,PR,PA,VP,CR,LI commands.
VT
replaced with IT
-3Galil Motion Control, Inc.  270 Technology Way  Rocklin, CA 95765 USA  800-377-6329  Ph: 916-626-0101  Fax: 916-626-0102  www.galilmc.com
Using the IT command with Vector Motion on Current controllers
The IT command affects vector moves on an individual axis basis for current generation
controllers such that the velocity profile is smoothed individually rather than smoothing
the vector velocity. This can help with abrupt changes such as a 90 degree corner –
however it will also lead to the corner being “rounded”. If a true 90 degree corner is
desired without affecting the path shape, the IT command should not be used and instead
the speed for the vector segments should be reduced using the <o >p values which are
optional speed parameters for the VP, CR or LI segments.
Example 1 – Default. Here is the graph of velocity for the X and Y axes on a 90degree
vector move with no IT smoothing:
#A
IT1,1; ‘default
VA10000
VD10000
VS5000
DP0,0
WT1000
VMXY
VP10000,0
VP10000,10000
VE
BGS
AMS
EN
Example 2 – using IT 0.01,0.01. Here is the graph of velocity for the X and Y axes on a
90degree vector move with IT smoothing:
-4Galil Motion Control, Inc.  270 Technology Way  Rocklin, CA 95765 USA  800-377-6329  Ph: 916-626-0101  Fax: 916-626-0102  www.galilmc.com
The following shows how the shape of the corner is affected (IT smoothing shown in
dark red, no IT smoothing shown in light red):
Y Axis
X Axis
Example 3 – Corner Slow Down. Here is the program and velocity graph using corner
slow down and default IT 1,1. Note: this method does not cause rounded corners – the
shape of the pattern will be followed exactly.
#A
VA10000
VD10000
VS5000
DP0,0
WT1000
VMXY
VP10000,0>0
VP10000,10000<5000
VE
BGS
AMS
EN
Modeling the Smoothing function
The S curve digital filter is modeled in the z plane by this equation:
F( z ) 
z
z  e  T /
where T is the sample time, fixed at 2 milliseconds on the controller, and  is the time
constant. The IT command sets the pole of the S curve filter:
-5Galil Motion Control, Inc.  270 Technology Way  Rocklin, CA 95765 USA  800-377-6329  Ph: 916-626-0101  Fax: 916-626-0102  www.galilmc.com
1  IT  e  T /
Solving the above equation for the time constant , and substituting the 2 millisecond
sample time for T:

.002
ln(1  IT )
The equation above shows how the IT setting affects the S curve filter’s time constant .
The IT setting on the controller defaults to 1.0, which results in an infinitely short time
constant and no filtering effect. Decreasing IT causes the time constant to increase, and
the acceleration and deceleration is then smoother. Substitute VT for IT in the above
equation to determine the vector acceleration time constant.
The time constant of the S curve filter changes the amount of time to ramp up and ramp
down the acceleration in our motion example. If the S curve time constant were 0, then
the acceleration ramps up and down nearly instantaneously:
Acceleration
400,000 cts/s 2
0
time
.25 sec
If the IT value is decreased the time constant will increase, and the amount of time for the
acceleration to reach the set value will also increase:
Acceleration
400,000 cts/s 2
time
0
The amount of time for the acceleration to ramp up is approximately equal to the time
constant multiplied times 2.2. Since the equation for the time constant is exponential, the
ramp time is an approximation. Experimentation is the only method to obtain an exact
time value. The amount of time for the acceleration to ramp up to the set value and the
time for the acceleration to ramp down from the set value back to zero are equal.
-6Galil Motion Control, Inc.  270 Technology Way  Rocklin, CA 95765 USA  800-377-6329  Ph: 916-626-0101  Fax: 916-626-0102  www.galilmc.com