Download - Acc Decc Planning With Jerk Limitation Teza
Abstract
Motion control command of CNC controller includes path interpolation and
acceleration/deceleration planning. Smooth feed acceleration/deceleration with jerk
limitation noticeably reduces wear on mechanical parts and optimizes travel response.
Jerk limitation is an important factor when attempting to obtain high speed cutting
(HSC) on CNC machines.
This thesis imposes Blended S-Curve and Squared Sine function to provide
smooth velocity profiles for point-to-point motion. The trajectories are depended on
the acceleration and jerk constraints of machine. Overlapping one period of time has
been used for continuous motion. The proposed velocity profiles have been
implemented by two servo driver/motors and multi-axis motion control card.
I
Contents
Abstract...........................................................................................................................I
Contents.........................................................................................................................II
List of Figures..............................................................................................................IV
List of Tables...............................................................................................................VI
Chapter 1 Introduction..................................................................................................1
1.1 Backgrounds and Motivation.........................................................................1
1.2 Thesis Arrangement.......................................................................................2
Chapter 2 CNC Command Generation.........................................................................3
2.1 The Structure of CNC Command Generation.................................................3
2.2 Relation between Acceleration/Deceleration and Jerk...................................5
2.3 Structure of Acceleration/Deceleration..........................................................8
Chapter 3 Acceleration/Deceleration Planning...........................................................11
3.1 Blended S-Curve Velocity Profile [1]..........................................................11
3.2 Blended S-Curve velocity profile against different conditions.....................17
3.3 Squared Sine Velocity Profile......................................................................27
3.4 Squared Sine velocity profile against different conditions..........................33
3.5 Comparison of Three Velocity Profiles........................................................43
3.6 Continuous Motion.......................................................................................46
Chapter 4 Experiment and Result...............................................................................50
4.1 Configuration of Experiment.......................................................................50
4.2 Experiment Results......................................................................................51
4.2.1 Using Blended S-Curve velocity profile.....................................................51
4.2.2 Using Squared Sine velocity profile...........................................................55
4.2.3 Continuous Motion with Squared Sine velocity profile.............................59
II
Chapter 5 Conclusion and Future Work.....................................................................62
Reference.....................................................................................................................64
III
List of Figures
Figure 2-1 Structure of CNC command generation......................................................3
Figure 2-2 Velocity profile without acceleration/deceleration.....................................5
Figure 2-3 Different velocity profiles with acceleration/deceleration..........................6
Figure 2-4 Velocity profiles with jerk limitation..........................................................7
Figure 2-5 Acceleration/deceleration before interpolation...........................................8
Figure 2-6 Acceleration/deceleration after interpolation..............................................8
Figure 2-7 Acceleration/deceleration structure as a low pass filter............................10
Figure 3-1 S-Curve velocity profile............................................................................11
Figure 3-2 Blended S-Curve velocity profile..............................................................13
Figure 3-3 Blended S-Curve condition (1-1)..............................................................19
Figure 3-4 Blended S-Curve condition (1-2)..............................................................21
Figure 3-5 Blended S-Curve condition (1-3)..............................................................23
Figure 3-6 Blended S-Curve condition (2-1)..............................................................25
Figure 3-7 Blended S-Curve condition (2-2)..............................................................26
Figure 3-8 Squared Sine funciton velocity profile......................................................29
Figure 3-9 Square Sine velocity profile (Without linear section)...............................33
Figure 3-10 Squared Sine condition (1-1)..................................................................35
Figure 3-11 Squared Sine condition (1-2)..................................................................37
Figure 3-12 Squared Sine condition (1-3)..................................................................39
Figure 3-13 Squared Sine condition (2-1)..................................................................41
Figure 3-14 Squared Sine condition (2-2)..................................................................42
Figure 3-15 Comparison of three velocity profiles.....................................................44
Figure 3-16 Motion without continuity.......................................................................46
Figure 3-17 Jerk in overlapped section.......................................................................48
IV
Figure 3-18 Continuous motion under jerk constraint................................................49
Figure 4-1 PCC1620 and MSDA043A1A, MSMA042A1E.......................................50
Figure 4-2 Line interpolation with Blended S-Curve condition (1.1)........................51
Figure 4-3 Line interpolation with Blended S-Curve condition (1.2)........................52
Figure 4-4 Line interpolation with Blended S-Curve condition (1.3)........................53
Figure 4-5 Line interpolation with Blended S-Curve condition (2.1)........................54
Figure 4-6 Line interpolation with Squared Sine condition (1.1)...............................55
Figure 4-7 Line interpolation with Squared Sine condition (1.2)...............................56
Figure 4-8 Line interpolation with Squared Sine condition (1.3)...............................57
Figure 4-9 Line interpolation with Squared Sine condition (2.1)...............................58
Figure 4-10 Experiment trajectory for continuous motion.........................................59
Figure 4-11 Information of continuous motion experiment.......................................59
Figure 4-12 Main motion trajectory (Experiment result)...........................................60
Figure 4-13 Connection of motion block 1 and block 2 (Experiment result).............60
Figure 4-14 Connection of motion block 2 and block 3 (Experiment result).............61
Figure 4-15 Connection of motion block 3 and block 4 (Experiment result).............61
V
List of Tables
Table 3-1 Time constants against different conditions (Blended S-Curve)................27
Table 3-2 Time constants against different conditions (Squared Sine)......................43
Table 3-3 Comparison of velocity profiles in total motion time................................45
Table-4-1 The specification of experiment equipments.............................................50
VI
Chapter 1 Introduction
1.1 Backgrounds and Motivation
Motion control and servo driver/motor system are the major techniques in
automation industry. Such as robotic systems, automatic packaging, material
handling, electronic equipments, all need this technique which combine mechanics
with electronics in production [1]. Computer numerical control (CNC) machine tools
play an acme role in modern automatic manufacturing system. High speed and high
accuracy machining is an important issue to high performance CNC machine tools.
While the specification and performance of machine have been fixed, promoting the
motion control technique is most effective to obtain high performances.
According to the reference command, motion control generates the motion
trajectory, and controls in the machining process. It consists of path interpolation and
acceleration/deceleration planning [2].
Path interpolation describes the desired tool path accurately, and feeds a
sequence of reference points that constitutes the desired tool path. Two conventional
interpolation algorithms are straight line interpolation and circular arc interpolation
[3]. But the work-piece shape has more and more complicated recently, in order to
satisfy the permissible accuracy, it is significant to develop interpolation algorithm
which provides smooth feed motion to high speed machining systems.
Because of the stiffness of mechanical structure and the specifications of
actuators, most machine systems have physical constraints which are limits of
acceleration and jerk [4]. If the velocity has a heavy change in high speeds, it results
in saturation of the servo driver system. It may excite system vibrations, degrade the
1
contouring accuracy, and induce wear on mechanical parts. So providing a smooth
feed acceleration and deceleration must be considered.
In this thesis, we pay attention to plan acceleration and deceleration in smooth
motion. Designing velocity profile under the constraint of mechanical system, and
achieve the accurate movement in the shortest time. In addition to this, some
automatic machines required continuous motions, it is essential to develop a method
which connects several motion blocks.
1.2 Thesis Arrangement
The remainder of this thesis is organized as follows. Chapter 2 deeply presents
the structure of CNC motion controller and discusses the influence of acceleration and
deceleration on motion. In chapter 3 we recommend two smooth acceleration/
deceleration algorithms with jerk limitation which are Blended S-Curve and Squared
Sine velocity profiles. These algorithms provide adjustable jerk and acceleration.
Furthermore, we can establish complete condition decisions to guarantee movement
in shortest time. Besides, continuous motion is discussed. The mentioned profiles are
simulated by MATLAB. Chapter 4 shows the experimental results obtained with
applied algorithms. Finally, the conclusions are summarized in chapter 5.
2
Chapter 2 CNC Command Generation
2.1 The Structure of CNC Command Generation
Generally, the CNC command generation can be divided into five parts, and
they can be schematized as Figure 2-1 [1].
(1) Program interpreter.
(2) Path interpolation.
(3) Acceleration/deceleration planning.
(4) Coordinate change.
(5) Detail interpolation.
MotionCommand
NC code (from
MMI or CAM)
CommandInterpretor
Line, Arc, Spline
Path Coordinate Detail Servo ControlInterpolation Change Interpolation System
Trapezoidal Position, velocity, torqueBlending S-curve command
Squared Sine
Acceleration/Deceleration
Figure 2-1 Structure of CNC command generation
3
At first, user directly sends the motion commands with MMI (man machine
interface) of the controller or the controller obtains programs of NC code made from
CAM software. These NC code contain motion information, such as motion type,
displacement, and feedrate (velocity). Program interpreter translates NC code into the
motion control command of controller. In command signal generator, path
interpolation and acceleration/deceleration planning estimate the variables like motion
time constants and specific velocity. And then, according to the real axis coordinates,
the controller does detail interpolation in every interrupt service routine. Finally,
controller sends reference command signal to servo control system and the movement
will be achieve on the reference path [1].
Motion control consists of path interpolation and acceleration/deceleration
planning.
Two basic interpolation algorithms are straight line and circular arc
interpolation. Most off-line programming stations still generate the work-piece surface
of 3D programs by describing long sequences of straight line segments. If we want to
machine a complicated contour, traditional interpolation may be hard to maintain
permissible accuracy. An alternative is to describe the contour using splines. Some
high order parametric described curves have been developed, example of these are
Hermite Curve, Bezier Curve, B-Spline, Quintic Spline, and NURBS, etc [5,6]. They
provide a more continuous feed motion compared to multiple straight line and circular
arc segments.
The purpose of path interpolation is to describe accurate moving path, but
interpolator must consider the characteristic of backward servo control system. If the
command signal changes heavily, the servo driver/motor cannot achieve
4
immediately, and it may induce vibration to make the rough motion in machining.
These will cause bad effect to the output of motors and the machining of work-piece.
So we must provide acceleration/deceleration algorithm to obtain smooth velocity
profile.
2.2 Relation between Acceleration/Deceleration and Jerk
Interpolator obtains the motion information which includes motion type,
displacement, and feedrate. Figure 2-2 shows the original curve of velocity against
time, the velocity profile without acceleration and deceleration in movement. Its
acceleration is an impulse function, actually it is impossible to create an infinite
acceleration in system. The discontinuous velocity command causes a heavy variation
that saturates the servo control system in the axes [2,7]. In order to improve the output
of motors to be more smooth and effective, we must plan the acceleration/deceleration
to the original velocity profile judging from the NC code.
F Feedrate
A Acceleration
t
Time
t
Figure 2-2 Velocity profile without acceleration/deceleration
5
Some different kinds of velocity profile are developed. Figure 2-3 (A) shows
the Trapezoidal velocity profile, and its acceleration keeps a finite value. It is helpful
to improve the output of motors. Other profiles as Exponential, Single-Cubic Spline
velocity profiles are widely adopted in mechanical industry, they show in Figure 2-3
(B) and (C) [1,2,6].
F Feedrate F
A Accelerationt
A
t
F
tA
t
t
t
J Jerk J J
Timet t t
(A) (B) (C)
Figure 2-3 Different velocity profiles with acceleration/deceleration
Position, velocity must be continuous in motion process. If the acceleration
changes discontinuous, the jerk will be the impulse function. Jerk means the first time
derivative of acceleration, also be the rate of change of acceleration. Acceleration
changes according a jump function, it is disadvantageous for machining accuracy and
service life of machines. Besides, continuity of command signal has
6
great effect in Feedforward control. When a HSC CNC machines applied
Feedforward control, discontinuous command might induce infinite Feedforward
signal to saturate the servo control system [8]. Therefore, considering the continuity
of acceleration, jerk must be limited under the constraint of machine tools.
These above-mentioned acceleration/deceleration planning are advantageous in
easily implement and the shorter motion time. But the acceleration changes
discontinuously and the jerk be infinite. Further development, 3-Cubic Spline (Figure
2-4 (A)), S-Curve velocity profile (Figure 2-4 (B)) provide the velocity profile which
has continuous acceleration and limited jerk [2,9]. Since the start of motion till the
desired feedrate has been achieved, these profiles improve the vibration of machine
obviously. In this thesis, Blended S-Curve and Squared Sine velocity profiles are
consider for better continuity [1,2,5,10,11,12].
F Feedrate F
A Accelerationt
A
t
t
t
J Jerk J
Time
t t
(A) (B)
Figure 2-4 Velocity profiles with jerk limitation
7
2.3 Structure of Acceleration/Deceleration
Judging from the sequence of acceleration/deceleration, it could be divided into
two types, acceleration/deceleration before interpolation and acceleration/deceleration
after interpolation [13].
→ → Vx
TangentialMapping N x N y
Servo System
Velocity
V Acceleration/ InterpolatorDeceleration Vy
Servo System
Figure 2-5 Acceleration/deceleration before interpolation
Acceleration/deceleration before interpolation is shown in Figure 2-5. At first,
we apply the acceleration/deceleration along the desired motion path. In other words,
we plan the tangential velocity (resultant velocity) profile in the moving space. The
velocity profile is generated by the selection of polynomial function [14]. Then,
according to the geometry of respective axes and motion path, the interpolator
calculates the unit vector to map the tangent velocity profile to each axis. Finally, the
controller send reference command signal of each axis to respective servo control
systems in detail interpolator.
→ → Vx
TangentialMapping N x N y
Acceleration/ Servo System
DecelerationVelocity
V InterpolatorVy
Acceleration/ Servo SystemDeceleration
Figure 2-6 Acceleration/deceleration after interpolation
8
Figure 2-6 shows acceleration/deceleration after interpolation. According to the
geometry of respective axes and motion path, the interpolator first calculates the unit
vector to map the tangential velocity profile to each axis. And then, axes transmit
respective velocity profiles to the acceleration/deceleration structure. The velocity
profile is based on the digital convolution technique and digital differential analyzer,
and the velocity profile can be smoothed by this structure which acts as a low pass
filter. It shows in Figure 2-7 [14,15]. Finally, the controller sends reference command
signal of each axis to respective servo system in detail interpolator.
Although acceleration/deceleration after interpolation is advantageous in easy
implement because the acceleration/deceleration algorithm have simple structure, in
more than two blocks motion, the connection of blocks might induces contour error,
the real movement will not pass through the desired position that motion blocks
connect. Besides, the structure of low pass filter might be not easy to change [7].
Therefore, Acceleration/deceleration before interpolation is applied in this thesis.
9
F Feedrate
Time
tF
tF
t
Figure 2-7 Acceleration/deceleration structure as a low pass filter
10
Chapter 3 Acceleration/Deceleration Planning
3.1 Blended S-Curve Velocity Profile [1]
In industry, Trapezoidal, Exponential, and Single-Cubic Spline velocity profiles
are widely used because they are easy to implement and the motion time could be
shorten. But the acceleration changes with a jump function, the heavy change will
excite vibration of machine structure and reduce machining accuracy in high speed.
This will be the serious disadvantage in high speed and high accuracy machine tools.
Strengthening stiffness of machine and using high torque motor can extend the
saturated range of system, but there are not economical in automatic machine
products [1]. To solve this problem, improvement motion command is the most
effective method. Controlling rate of change of acceleration, in other words, the jerk
has to be limited. So the velocity and acceleration will be continuous. S-Curve is the
common method to achieve jerk limitation.
Feedrate
F
AccelerationT
Amax
JerkJ
max
Time
Figure 3-1 S-Curve velocity profile
11
Figure 3-1 shows the S-Curve velocity profile. S-Curve is the combination of
parabola, and named because the velocity profile looks like the English letter “S”. Its
greatest advantage is that acceleration is a continuous trapezoidal and jerk is not an
impulse function. Acceleration and jerk can be limited to desired value.
If we use complete S-Curve, the motor need greater acceleration, it means that
more torque or energy is required. In motion control, we prefer to use the energy of
motors effectively, so we can redesign this velocity profile. To combine the linear
with parabolic segment, we can limit jerk by use parabolic curve while start of the
motion and the desired feedrate will be achieved. In the middle accelerated period we
can use linear curve to obtain the maximum efficiency of motors. This combines
profile is named Blended S-Curve (also called Bell Shape) [2,6].
First we define the parameters of Blended S-Curve. And Figure 3-2 shows
Blended S-Curve and the physical meaning of parameter.
Ts : Jerk time,
Ta : Accelerate time,
To : Motion time without acceleration/deceleration,
L : Desired displacement,
F : Desired feedrate (Velocity),
J max : Desired maximum jerk,
Amax : Desired maximum acceleration,
J ref : Reference jerk
(Actual maximum jerk),
12
Aref
V1
V2
V3
: Reference acceleration
(Actual maximum acceleration),
: Velocity at end of jerk,
: Velocity at end of fixed acceleration,
: Velocity at end of acceleration
(Actual maximum feedrate).
S(t)
L
Dis
plac
emen
t
0 t1 t2 t3 t4 t5 t6 t7 Time
V(t
) V3
V2
Fee
drat
e
V1
A(t
) Time
Aref
Acc
eler
atio
n
Time
J(t) Jref
Jerk
TsTime
TaTo
Figure 3-2 Blended S-Curve velocity profile
13
The velocity profile can be divided to seven sections, and there have the symmetry.
Ts 0 t ≤ t1 t2 t ≤ t3 t4 t ≤ t5 t6 t ≤ t7 . (3.1)
Ta 0 t ≤ t3 t4 t ≤ t7 . (3.2)
To 0 t ≤ t4 . (3.3)
The relation between parameters can be calculated by integral theorem as follow:
Aref J ref Ts , (3.4)
V A
ref T
s , (3.5)1 2
V2 V1 Aref Ta − 2Ts , (3.6)
V3 V1 V2 Aref Ta − Ts . (3.7)
And V L . (3.8)3
To
Substitute (3.4) and (3.7) into (3.8), we get
J ref
L, (3.9)TsTa − Ts
To
Aref
L, (3.10)
Ta
− Ts
To
V1 LTs , (3.11)2Ta − Ts To
V2
2Ta
− 3Ts
L. (3.12)
2Ta
− Ts
To
Note that the above equations must satisfyTa ≥ 2Ts
. (3.13)
And
To ≥ Ta . (3.14)
Finally, Blend S-Curve equations can be derived by integral theorem and differential
theorem.
14
The displacement equations are
1 3J
ref t
6
1
A
t −
t 2
Vt
−t st 2 ref 1 1 1 1
1 t −
t 31
A t 2
t −
t st − J − t V
6 2ref 2 2 2 2 2
St V3 t − t3 st 3
1
− Jref
t −
t43 V
t
−
t4 st
4
6 3
1
A
t −
t 2 V
t −
t st −2 ref 5 2 5 5
1 t − t6
1
Aref t
− t6
V1 t − t6 st 6 Jref
3
−2
6 2
The velocity equations are
1 2J
ref t
2
t − t
A Vref 1 1
1 t −
t 2 A
t −
t V− J2 ref 2 ref 2 2
Vt V3
1− J ref t − 4 2 V
2 3
t − t V− Aref 5 2
1− Aref t − t6
V1
2
2 J
ref t −
t
6
0 t ≤ t1 Ts
t1 t ≤ t2 Ta − Ts
t2 t ≤ t3 T
t3 t ≤ t4 To . (3.15)
t4 t ≤ t5 To Ts
t5 t ≤ t6 To Ta − Ts
t6 t ≤ t7 To Ta
0 t ≤ t1 Ts
t1 t ≤ t2 Ta − Ts
t2 t ≤ t3 T
t3 t ≤ t4 To . (3.16)
t4 t ≤ t5 To Ts
t5 t ≤ t6 To Ta − Ts
t6 t ≤ t7 To Ta
15
The acceleration equations are
J t 0 t ≤ t Tref 1 s
A t t ≤ t T− T
ref 1 2 a s
− J
ref
t − t
2 A t
2 t ≤ t
3 T
ref
At 0 t 3 t ≤ t
4 T . (3.17)
o
t4 t ≤ t5 To Ts− Jref t − t4
− A t5
t ≤ t6
T T − Tref o a s
Jref
t − t
6
− A t6
t ≤ t7
T Tref o a
And the jerk equations are
Jref 0 t ≤ t1 Ts
0 t t ≤ t
2
T− T
1 a s
t2 t ≤ t3 T− J
ref
Jt 0 t3
t ≤ t
4 T . (3.18)
o
t4 t ≤ t5 To Ts− Jref
0 t5
t ≤ t
6
T T −To a s
J
ref
t6
t ≤ t
7
T To a
As above-mentioned planning, the displacement, velocity, acceleration and jerk
can be calculated by giving the time constants Ts , Ta , and To . But it can not indicate
whether the motion command exceed the real performance and physical limit of
machine tools or not [1,6,16]. If the real motion can not achieve the desired command,
saturated motor current will induce exceeding torque to vibrate machine
16
structure. Therefore, we have to use movement, feedrate, maximum acceleration, and
maximum jerk as designed parameter, estimate the shortest time constant satisfied
above physical constraints.
3.2 Blended S-Curve velocity profile against different conditions
Figure 3-1 shows that F 1 A T and A J T .2 2max max max
According to above two equations, we will obtain
2
F Amax . (3.19)
J max
It means that if the displacement is long enough, the feedrate F can be achieved with
the maximum acceleration and the maximum jerk. And judging from the user given
feedrate, we can discuss the changes of Blended S-Curve against different conditions.
If we know the actual maximum jerk J ref , the actual maximum acceleration
Aref , the actual maximum feedrate V3 , and the desired displacement L in motion,
according to (3.4), (3.7), (3.8), the following equations can be obtained.
The jerk time is
T A
ref . (3.20)s
J ref
The accelerate time is
T V3 T . (3.21)a A
ref
s
And the motion time without acceleration/deceleration is
T L . (3.22)
o
V3
17
If we decide the desired maximum acceleration Amax , maximum jerk J max , and
feedrate F in motion process, according to (3.19), there will be two kind of condition
in motion.
Condition (1): F ≥ Amax 2
J max
It means that the user given feedrate can be achieved by using
maximum acceleration and maximum jerk. But we must consider that
displacement may be not long enough to achieve our desired maximum
acceleration or feedrate. So we divide condition (1) to three conditions
further.
(1-1): The desired feedrate can be achieved, and the desired maximum
acceleration can be achieved.
According to (3.20), (3.21), (3.22),
Ts
Amax
, (3.23)J max
T F Ts
, (3.24)a A
max
T L . (3.25)o F
And the motion time without acceleration/deceleration must be equal
or greater than the accelerate time, (3.14) must be satisfied.
L ≥ F A
max . (3.26)AF J
maxmax
And the above equation can be
L ≥F 2
A F
max
. (3.27)A Jmaxmax
18
If we assume L is 20 mm , F is 50 mm s , Amax is 500 mm s 2 ,
and J max is 20000 mm s3 , the result will be shown as Figure 3-3.
This is the complete Bell Shape.
Figure 3-3 Blended S-Curve condition (1-1)
(1-2): The desired feedrate cannot be achieved, and the desired maximum
acceleration can be achieved.
Ts A
max, (3.28)J
max
T V3 Ts
, (3.29)a A
max
T L . (3.30)o
V3
In this condition, the motion time without acceleration/deceleration
equal to the accelerate time.19
To Ta . (3.31)
Thus L V3 A
max . (3.32)V A J
max3 max
And the above equation can be
− A 2 A 4 4A Jmax
2 LV3
max max max
. (3.33)2J max
Then we obtain the time constants
Ts
Amax
, (3.34)J max
− A 2 A 4 4A Jmax
2 LT
a max max max
Ts , (3.35)2J max
Amax
To Ta . (3.36)
The accelerate time must be equal or greater than double jerk time, the
maximum acceleration can achieve.
− A
max 2 A
max 4 4Amax J max 2 L≥
A(3.37)2J A J max .
max maxmax
It can be simplify to
3
L ≥ 2Amax . (3.38)
2
J max
In condition (1-2), the displacement will be
F 2 A F L ≥
2A 3 max max . (3.39)
Amax
J max
J max
2
If we assume L is 5 mm , F is 50 mm s , A is 500 mm s 2 ,max
and J max is 20000 mm s3 , the result will be shown as Figure 3-4.
20
Figure 3-4 Blended S-Curve condition (1-2)
(1-3): The desired feedrate cannot be achieved, and the desired maximum
acceleration cannot be achieved.
T A
ref ,s J
max
T V
3 T ,a A
refs
T L .o
V3
The accelerate time must be equal to double jerk time.
V
Aref
.3
A Jmaxref
The above equation can be
A 2
V3 ref .
J max
(3.40)
(3.41)
(3.42)
(3.43)
(3.44)
21
And the motion time without acceleration/deceleration must be equal
to accelerate time.
L 2A
ref. (3.45)V J
max3
ThusLJ max
2Aref
. (3.46)A 2
J max
ref
It can be simplify to
A 3 J max2 L . (3.47)
ref 2
Then we obtain the time constants
Ts 3L
, (3.48)2J max
Ta 2Ts , (3.49)
To Ta . (3.50)
The displacement is shorter than condition (1-2), so
3
L ≤ 2Amax . (3.51)
J max
2
If we assume L is 0.3 mm , F is 50 mm s , A is 500 mm s 2 ,max
and J max is 20000 mm s3 , the result will be shown as Figure 3-5.
22
Figure 3-5 Blended S-Curve condition (1-3)
Condition (2): F Amax 2
J max
It means that the user given feedrate can be achieved without
maximum acceleration. We also consider the displacement long
enough or not to achieve the user desired feedrate. So we divide
condition (2) to two conditions.
(2-1): The desired feedrate can be achieved, and the desired maximum
acceleration cannot be achieved.
T A
ref , (3.52)s J
max
T F Ts
, (3.53)a A
ref
T L . (3.54)o F
23
The accelerate time must be equal to double jerk time.
F A
ref.
A Jmaxref
And the above equation can be
Aref
FJ max .
The time constants are
Ts JF
,max
Ta 2Ts ,
To FL
.
(3.55)
(3.56)
(3.57)
(3.58)
(3.59)
The motion time without acceleration/deceleration must be equal or
greater than the accelerate time.
L ≥
2 F . (3.60)
FJ
max
The displacement may be
L ≥ 2
F 3
. (3.61)J
max
If we assume L is 2 mm , F is 8 mm s , A is 500 mm s 2 ,max
and J max is 20000 mm s3 , the result will be shown as Figure 3-6.
24
Figure 3-6 Blended S-Curve condition (2-1)
(2-2): The desired feedrate cannot be achieved, and the desired maximum
acceleration cannot be achieved.
This condition is similar to condition (1-3), so
Ts 3L
, (3.62)2J max
Ta 2Ts , (3.63)
To Ta . (3.64)
The displacement is shorter than condition (2-1).
L 2
F 3
. (3.65)J
max
If we assume L is 0.25 mm , F is 8 mm s , A is 500 mm s 2 ,max
and J max is 20000 mm s3 , the result will be shown as Figure 3-7.
25
Figure 3-7 Blended S-Curve condition (2-2)
Table 3-1 shows each condition and its corresponding time constants.
2
(1) F ≥
Amax
J max
(1-1) L ≥
F 2
A F F 2
A F
L ≥2A 3
(1-3) L ≤2A 3
max (1-2) max max max
Amax
J max
Amax
J max
J max
2 J max
2
Ts
Amax
Amax
3L
J max
J max
2J max
T F Ts
− A
max2 A
max 4 4Amax J max 2 L T 2Ta A
max2J
max A
max
ss
ToL
Ta TaF
26
2
(2) F
Amax
J max
(2-1) L ≥ 2
F 3
(2-2) L 2
F 3
J max
J max
TsF
3
LJ
max2J
max
Ta 2Ts 2Ts
ToL
TaF
Table 3-1 Time constants against different conditions (Blended S-Curve)
Judging from the given feedrate and displacement, we can calculate the shortest
time to form the Blended S-Curve velocity profile which under the acceleration and
jerk constraint.
3.3 Squared Sine Velocity Profile
In this section, we will present another acceleration/deceleration planning with
jerk limitation, and it is Squared Sine function velocity profile [11].
If we want the continuous jerk profile, using cubic polynomial is one direct way.
But the parameter of cubic polynomial which is one time derivative of jerk is more
difficult for us to experience and design. The most advantage of Squared Sine function
is the jerk profile not only can be limited but also can be continuous, and we do not
need to design any other parameter difficult to set. It is smoother than Blended S-
Curve, and more better to reduce vibration of machine structure.
27
Similar to Blended S-Curve, we define the parameters of Squared Sine function
at first. And Figure 3-8 shows Squared Sine function and the physical meaning of
parameter.
Ts : Jerk time,
Ta : Accelerate time,
To : Motion time without acceleration/deceleration,
L : Desired displacement,
F : Desired feedrate (Velocity),
J max : Desired maximum jerk,
Amax : Desired maximum acceleration,
J ref : Reference jerk
(Actual maximum jerk),
Aref : Reference acceleration
(Actual maximum acceleration),
V1 : Velocity at end of jerk,
V2 : Velocity at end of fixed acceleration,
V3 : Velocity at end of acceleration
(Actual maximum feedrate).
28
S(t)
L
Dis
plac
emen
t
0 t1 t2 t3 t4 t5 t6 t7 Time
V(t
) V3
V2
Fee
drat
e
V1
A(t
) Time
Aref
Acc
eler
atio
n
Time
J(t) Jref
Jerk
TsTime
TaTo
Figure 3-8 Squared Sine funciton velocity profile
The velocity profile can be divided to seven sections, and there have the symmetry.
Ts 0 t ≤ t1 t2 t ≤ t3 t4 t ≤ t5 t6 t ≤ t7 . (3.66)
Ta 0 t ≤ t3 t4 t ≤ t7 . (3.67)
To 0 t ≤ t4 . (3.68)
The acceleration equations can be defined as
29
2
ktAref
sin
Aref
Aref cos2 k t − t2
At 0
sin2 k t − t4
− A
ref
− Aref
− A
cos2 k t −
t 6ref
Where k π .2T
s
And J πA
ref kA .ref ref
2Ts
0 t ≤ t1 Ts
t1 t ≤ t2 Ta −Ts
t2 t ≤ t3 T
t3 t ≤ t4 To . (3.69)
t4 t ≤ t5 To Ts
t5 t ≤ t6 To Ta −
Ts t6 t ≤ t7 To Ta
(3.70)
(3.71)
Squared Sine equations can be derived by integral theorem and differential theorem.
The velocity equations are
Aref sin2kt
t −2 2k
A t− t V
ref 1 1
Aref
sin2kt −
t 2
t − t2 V2
2 2k
Vt V3
Aref sin2kt
− t
4− t − t4 − V3
2 2k
− Aref t − t5 V2
Aref sin2kt
− t
6
− t − t6 V12 2k
0 t ≤ t1 Ts
t1 t ≤ t2 Ta − Ts
t2 t ≤ t3 T
t3 t ≤ t4 To . (3.72)
t4 t ≤ t5 To Ts
t5 t ≤ t6 To Ta − Ts
t6 t ≤ t7 To Ta
30
The displacement equations are
Aref 2 cos2kt
Aref
0 t ≤ t1 Tst −
4 2k2
8k2
Aref t −t12 V1t−t1 S(t1) t1 t ≤ t2 Ta −Ts2
cos2kt −t
Aref 2
Aref
t −t2− 2
V2t −t2 St2 t2 t ≤ t3 T
4 2k2
8k2
St V
t
−t St t t ≤ t T
3 3 3 3 4 o
Aref cos2kt
−t
A
ref2
− t −t4 4
V3t −t4 S(t4) t4 t ≤ t5 To Ts4 2k
28k
2
A− ref t −t 2 Vt −t S(t ) t t ≤ t T T −T
2 5 2 5 5 5 6 o a s
cos2kt −t
Aref 2
Aref
− t −t6 − 6
V1t −t6− St6 t6 t ≤ t7 To Ta
4 2k2
8k2
. (3.73)
The jerk equations are
2kAref sinkt coskt 0 t ≤ t1 Ts
0 t t ≤ t
2 T
− T
1 a s
sink t − t
cosk t − t − 2kA
2 2t
2
t ≤ t
3T
ref
Jt 0 t3
t ≤ t
4 T . (3.74)
o
− 2kAref sink t − t4 cosk t − t4 t
4 t ≤ t5 To Ts
0 t5
t ≤ t
6 T T − T
o a s
2kA sink t − cosk t − 6 6 t6 t ≤ 7 T T
tref o a
As Blended S-Curve, we substitute (3.71) and (3.7) into (3.8), we will derive
31
J ref π L ,
2 TsTa − Ts To
Aref L .
Ta − Ts To
And
V t 1 V Ts A
ref sin2kT V1
Ts − s ,
2 2k
V2 V t 2 V Ta − Ts Aref Ta − 2Ts V1 .
V V V2
L3 1
To
(3.75)
(3.76)
(3.77)
(3.78)
(3.79)
Note that the above equations must satisfy (3.13), (3.14).
For the same reason as Blended S-Curve, we instead that using time constants
Ts , Ta , To of using movement, feedrate, maximum acceleration, and maximum jerk
as designed parameter, avoid the motion command exceed the real performance and
physical limit of machine tools.
32
3.4 Squared Sine velocity profile against different conditions
Feedrate
F
AccelerationT
Amax
J max
Jerk
Time
Figure 3-9 Square Sine velocity profile (Without linear section)
Figure 3-9 shows that F 1 A T and A J T .
2 max max max πAccording to above two equations, we will obtain
2
F π A
max . (3.80)
2J
max
It means that if the displacement is long enough, the feedrate F can be achieved with
the maximum acceleration and the maximum jerk. And judging from the user given
feedrate, we can discuss the changes of Squared Sine against different conditions.
If we know the actual maximum jerk J ref , the actual maximum acceleration
Aref , the actual maximum feedrate V3 , and the desired displacement L in motion,
33
according to (3.71), (3.78), (3.79), the following equations can be obtained.
The jerk time is
T π Aref . (3.81)s
2 J
ref
The accelerate time is
T V3 T . (3.82)a A
ref
s
And the motion time without acceleration/deceleration is
T L . (3.83)o
V3
If we decide the desired maximum acceleration Amax , maximum jerk J max , and
feedrate F in motion process, according to (3.80), there will be two kind of condition
in motion.
Condition (1): F ≥ π
Amax 2
2 J
max
It means that the user given feedrate can be achieved by using
maximum acceleration and maximum jerk. But we must consider that
displacement may be not long enough to achieve our desired maximum
acceleration or feedrate. So we divide condition (1) to three conditions
further.
(1-1): The desired feedrate can be achieved, and the desired maximum
acceleration can be achieved.
According to (3.81), (3.82), (3.83).
Ts πA
max , (3.84)2
J
max
T F Ts
, (3.85)a A
max
34
T L . (3.86)o F
And the motion time without acceleration/deceleration must be equal
or greater than the accelerate time, (3.14) must be satisfied.
L ≥ F π A
max . (3.87)AF 2 J
maxmax
And the above equation can be
L ≥F 2 π A F
2max
. (3.88)A Jmaxmax
If we assume L is 20 mm , F is 50 mm s , A is 500 mm s 2 ,max
and J max is 20000 mm s3 , the result will be shown as Figure 3-10.
Figure 3-10 Squared Sine condition (1-1)
(1-2): The desired feedrate cannot be achieved, and the desired maximum
acceleration can be achieved.35
Ts πA
max , (3.89)2
J
max
T V3 Ts
, (3.90)a A
max
T L . (3.91)o
V3
In this condition, the motion time without acceleration/deceleration
equal to the accelerate time.
To Ta . (3.92)
Thus L V3 π A
max . (3.93)AV
3
2 Jmaxmax
And the above equation can be
− πA 2 π 2 A 4 16A Jmax
2 LV3
max max max
, (3.94)4J max
then we obtain the time constants
Ts
πA
max
, (3.95)2 J
max
− πA 2 π 2 A 4 16A Jmax
2 L
Ta max max max
Ts , (3.96)4J max
Amax
To Ta . (3.97)
The accelerate time must be equal or greater than double jerk time, the
maximum acceleration can achieve.
− πAmax2 π 2 Amax
4 16Amax J max 2 L≥
π A(3.98)4J A 2 J max .
max maxmax
It can be simplify to
L ≥
π 2 A 3
. (3.98)max
2J
max
2
In condition (1-2), the displacement will be
36
F 2 π A F L ≥π 2 A 3
max max . (3.100)2
Amax 2
J max 2
J max
If we assume L is 5 mm , F is 50 mm s , Amax is 500 mm s 2 ,
and J max is 20000 mm s3 , the result will be shown as Figure 3-11.
Figure 3-11 Squared Sine condition (1-2)
(1-3): The desired feedrate cannot be achieved, and the desired maximum
acceleration cannot be achieved.
T π Aref ,s 2
J
max
T V3 T ,a A
refs
T L .o
V3
The accelerate time must be equal to double jerk time.37
(3.101)
(3.102)
(3.103)
Vπ
Aref
. (3.104)3
A 2 Jmaxref
The above equation can be
V3 πA
ref 2 . (3.105)2
J
max
And the motion time without acceleration/deceleration must be equal
to accelerate time.
L πA
ref. (3.106)V J
max3
Thus2 LJ max π
Aref
. (3.107)π A 2
J max
ref
It can be simplify to
A 3 2J 2 L. (3.108)max
ref
π 2
Then we obtain the time constants
Ts 3 πL , (3.109)
4J max
Ta 2Ts , (3.110)
To Ta . (3.111)
The displacement is shorter than condition (1-2), so
L ≤
π 2 A 3
. (3.112)max
2J
max
2
If we assume L is 0.3 mm , F is 50 mm s , A is 500 mm s 2 ,max
and J max is 20000 mm s3 , the result will be shown as Figure 3-12.
38
Figure 3-12 Squared Sine condition (1-3)
Condition (2): F π
Amax 2
2 J
max
It means that the user given feedrate can be achieved without
maximum acceleration. We also consider the displacement long
enough or not to achieve the user desired feedrate. So we divide
condition (2) to two conditions.
(2-1): The desired feedrate can be achieved, and the desired maximum
acceleration cannot be achieved.
T πA
ref , (3.113)s 2
J
max
T F Ts
, (3.114)a A
ref
T L . (3.115)o F
39
The accelerate time must be equal to double jerk time.
F πA
ref.
A 2 Jmaxref
And the above equation can be
A 2FJ
max .ref π
The time constants are
Ts πF
,2J max
Ta 2Ts ,
To FL
.
(3.116)
(3.117)
(3.118)
(3.119)
(3.120)
The motion time without acceleration/deceleration must be equal or
greater than the accelerate time.
L ≥ 2πF . (3.121)
FJ
max
The displacement may be
L ≥2πF 3
(3.122).
J max
If we assume L is 2 mm , F is 8 mm s , A is 500 mm s 2 ,max
and J max is 20000 mm s3 , the result will be shown as Figure 3-13.
40
Figure 3-13 Squared Sine condition (2-1)
(2-2): The desired feedrate cannot be achieved, and the desired maximum
acceleration cannot be achieved.
This condition is similar to condition (1-3), so
Ts 3 πL , (3.123)4J
max
Ta 2Ts , (3.124)
To Ta . (3.125)
The displacement is shorter than condition (2-1).
L 2πF 3. (3.126)
J max
If we assume L is 0.25 mm , F is 8 mm s , A is 500 mm s 2 ,max
and J max is 20000 mm s3 , the result will be shown as Figure 3-14.
41
Figure 3-14 Squared Sine condition (2-2)
Table 3-2 shows each condition and its corresponding time constants.
π2
(1) F ≥
Amax
2J
max
(1-1)(1-3)
F 2 π A F L ≥
π 2 A 3
(1-2) F 2 π Amax Fmax max
π 2 3
L ≥ A
max 2 J max 2 J
max
2
L ≤
Amax
2
Amax 2
J max 2
J max
Ts
π A
maxπ
A
max
3
πL
2 J
max2
J
max4J
max
Ta F Ts − πAmax2 π 2 Amax
4 16Amax J max2 L T
s2Ts
Amax
4J max
Amax
ToL
Ta TaF
42
π2
(2) F
Amax
2J
max
(2-1) L ≥ 2πF 3(2-2) L 2πF 3
J max
J max
TsπF
3
πL2J
max4J
max
Ta 2Ts 2Ts
ToL
TaF
Table 3-2 Time constants against different conditions (Squared Sine)
Judging from the given feedrate and displacement, we can calculate the shortest
time to form the Squared Sine velocity profile which under the constraints of
acceleration and jerk.
3.5 Comparison of Three Velocity Profiles
The above-mentioned two acceleration/deceleration planning were commonly
adopted in industrial motion control systems to achieve the jerk limitation. The
displacement, velocity, acceleration can be continuous and jerk can be limited. Now
we assume a motion command, displacement is 20 mm , feedrate is 50 mm s ,
maximum acceleration is 500 mm s 2 , maximum jerk is 20000 mm s3 , and then we
implement the acceleration/deceleration by Trapezoidal velocity profile, Blended S-
Curve profile and Squared Sine velocity profile. The results are shown in Figure 3-15.
43
Figure 3-15 Comparison of three velocity profiles
As it can be seen, the velocity and acceleration profiles with jerk limitation
(Blended S-Curve, Squared Sine) are smoother. This also can be seen by comparing
the frequency content of acceleration profiles for the three trajectories, which directly
relate to motor current, and actuation torque delivered by the drivers to the
44
mechanical structure. The Trapezoidal velocity profile produces high frequency
harmonics in acceleration, whereas the signal contents of jerk limited profile are
mainly in the low frequency range, making the trajectory also easier to track by the
limited bandwidth of the servo controller [5]. Blended S-Curve also can improve the
servo lag of position command, it had been compared to Trapezoidal and Exponential
velocity profile [7]. Attaching to ideal Feedforward controller, the contour error
almost can be reduced completely [8].
If the constraints of a motion control system, such as maximum acceleration and
maximum jerk have been decided, we can compare the total motion time (To Ta ) of
these three velocity profiles. Table 3-3 shows that different acceleration/ deceleration
types and the corresponding total motion time.
Type of acceleration/deceleration Total motion time
TrapezoidalL
V3
V3
Aref
Blended S-CurveL
V
Aref
V3
3
J ref
Aref
Squared SineL V
π Aref
V3
3
2 J
refA
ref
Table 3-3 Comparison of velocity profiles in total motion time
The total motion time of Squared Sine is the longest in these three
acceleration/deceleration profiles, and it is also the smoothest.
45
3.6 Continuous Motion
In automation industry, the point-to-point motion trajectory is usually used.
Sometimes, we required shortening the total machining time and the machining
accuracy also can be permitted, the continuous motion trajectory is considered. In
general, the end position of one forward motion block is the start position of one
backward motion block, and the velocity, acceleration and jerk will be zero at the turn
point in machining trajectory. It is shown in Figure 3-16.
Figure 3-16 Motion without continuity
Continuous motion means that as several single motion blocks connect to each
other, the motion trajectory will close to the desired connected positions but not pass
through them. The trajectory only passes through the start and end position of the
motion curve which combined with several single motion blocks. The velocity and
46
acceleration will be more smooth and each motion block will not need to accelerate at
rest. The purposed continuous motion method is polynomial addition which is to
overlap velocity profile of two connected motion blocks for one period of time [2].
Complete Blended S-Curve and Squared Sine velocity profiles are consist of
seven polynomial sections. We can use the property to plan the continuous motion.
We consider overlapping the last polynomial section of forward motion profile with
the first polynomial section of backward motion profile.
Equation (3.15) shows the jerk equations of Blended S-Curve, the jerk in the
first section and last section are the same. If we add the jerk function of these two
sections, the feedrate and acceleration may not exceed the desired value, but the jerk
value will be double of the desired maximum jerk. Therefore, we can not plan the
continuous motion to Blended S-Curve velocity profile by polynomial addition.
Equation (3.32) shows the jerk of Squared Sine velocity profile, similar to
Blended S-Curve, the jerk function in the first section and the last section are planned
the same. The jerk is not a jump function in these two sections, thus we can try to add
the jerk function of Squared Sine velocity profile under the jerk constraint.
47
Jerk
Block 1 Block 2
Tctime
J(t)
Tc t
Figure 3-17 Jerk in overlapped section
Figure 3-17 shows the jerk in overlapped section, this is the extreme condition
because these two motion blocks move in the same direction. We assume the
combined time is Tc here. Because the maximum jerk we set is fixed and the jerk
function in single block is symmetric, the jerk equation in the overlapped section can
be assumed as
J (t) 2kAmax sinktcoskt 2kAmax sinkTc − tcosk Tc − t
kAmax sin2kt sin2kTc − t. (3.127)
Then we differentiate J t to make sure that the time maximum jerk exist.
dJ t 2k 2 A cos2kt − cos2 kT − t 0 . (3.128)dt max c
The maximum jerk occurs at t Tc .2
The maximum jerk in combined section must be under the desired jerk constraint in
motion.
48
T T TJ c kA sin 2k c sin 2k T − c ≤ J max . (3.129)
2max
2c
2
2kAmax sinkTc ≤ kAmax , and π 1It can be simplify to ≤ .sin
2T sT
c
2
Finally we obtain the overlapped time T ≤1 T .
c 3 s
Figure 3-18 shows continuous motion in Squared Sine velocity profile, and we take
1T
c as
3 T
s .
Figure 3-18 Continuous motion under jerk constraint
49
Chapter 4 Experiment and Result
4.1 Configuration of Experiment
We use a PC to calculate the command with motion control, and then transmit
position command to servo driver/motors by PC-Based multi-axis motion control card.
Two servo motors are used to simulate two axes motion here. Encoders installed on
servo motors are used to measure real position, and decoder circuit is installed on
motion control card. C language is used to implement purposed algorithm with
Borland Turbo C++ 3.0. Figure 4-1 shows the motion control card and AC servo
driver/motor, Table 4-1 lists the experiment equipments [17-19].
Figure 4-1 PCC1620 and MSDA043A1A, MSMA042A1E
PC Intel Pentium Ⅱ 233 MHz , 128 MB RAM
Motion control card Pou Yuen Tech(PCC1620)
AC servo driver Panasonic(MSDA043A1A)
AC servo motor Panasonic(MSMA042A1E)
Table-4-1 The specification of experiment equipments
50
4.2 Experiment Results
In the experiments, the interrupt service routine time of motion control is 3ms .
4.2.1 Using Blended S-Curve velocity profile
For the experiment, we use the line interpolation to generate a motion trajectory.
Different displacements and feedrates are set to test different conditions in motion.
Figure 4-2 shows the motion information and the parameters are shown below.
It corresponds to the Blended S-Curve condition (1.1) presented at last chapter.
Maximum jerk 0.02 pulse ms3
Maximum acceleration 0.5 pulse ms2
Feedrate 50 pulse ms
Displacement: : pulseX 40000,Y 30000
Figure 4-2 Line interpolation with Blended S-Curve condition (1.1)
51
Figure 4-3 shows the motion information and the parameters are shown below.
It corresponds to the Blended S-Curve condition (1.2) presented at last chapter.
Maximum jerk 0.02 pulse ms3
Maximum acceleration 0.5 pulse ms2
Feedrate 50 pulse ms
Displacement X
:4800 ,Y:3600 pulse
Figure 4-3 Line interpolation with Blended S-Curve condition (1.2)
Figure 4-4 shows the motion information and the parameters are shown below.
It corresponds to the Blended S-Curve condition (1.3) presented at last chapter.
52
Maximum jerk 0.03 pulse ms3
Maximum acceleration 0.5 pulse ms2
Feedrate 80 pulse ms
Displacement
:400 :300 pulse
X ,Y
Figure 4-4 Line interpolation with Blended S-Curve condition (1.3)
Figure 4-5 shows the motion information and the parameters are shown below.
It corresponds to the Blended S-Curve condition (2.1) presented at last chapter.
Maximum jerk 0.03 pulse ms3
Maximum acceleration 0.5 pulse ms2
Feedrate 12 pulse ms
Displacement
:8000
,Y:6000 pulse
X
53
Figure 4-5 Line interpolation with Blended S-Curve condition (2.1)
Because the time constants of Blended S-Curve condition (2.2) is the same to
condition (1.3), Figure 4-4 also shows the motion information and its parameters are
shown below. It corresponds to the Blended S-Curve condition (2.2) presented at last
chapter.
Maximum jerk 0.02 pulse ms3
Maximum acceleration 0.5 pulse ms2
Feedrate 12 pulse ms
Displacement
:400 :300 pulse
X ,Y
54
4.2.2 Using Squared Sine velocity profile
For the experiment, we use the line interpolation to generate a motion trajectory.
Different displacements and feeerates are set to test different condition in motion.
Figure 4-6 shows the motion information and its parameters are shown below.
It corresponds to the Squared Sine condition (1.1) presented at last chapter.
Maximum jerk 0.02 pulse ms3
Maximum acceleration 0.5 pulse ms2
Feedrate 50 pulse ms
Displacement: : pulseX 40000,Y 30000
Figure 4-6 Line interpolation with Squared Sine condition (1.1)
55
Figure 4-7 shows the motion information and its parameters are shown below.
It corresponds to the Squared Sine condition (1.2) presented at last chapter.
Maximum jerk 0.02 pulse ms3
Maximum acceleration 0.5 pulse ms2
Feedrate 50 pulse ms
Displacement X
:4800 ,Y:3600 pulse
Figure 4-7 Line interpolation with Squared Sine condition (1.2)
Figure 4-8 shows the motion information and its parameters are shown below.
It corresponds to the Squared Sine condition (1.3) presented at last chapter.
56
Maximum jerk 0.02 pulse ms3
Maximum acceleration 0.5 pulse ms2
Feedrate 50 pulse ms
Displacement
:1200
,Y:900 pulse
X
Figure 4-8 Line interpolation with Squared Sine condition (1.3)
Figure 4-9 shows the motion information and its parameters are shown below.
It corresponds to the Squared Sine condition (2.1) presented at last chapter.
Maximum jerk 0.02 pulse ms3
Maximum acceleration 0.5 pulse ms2
Feedrate 18 pulse msDisplacement X ,Y
pulse:12000
:9000
57
Figure 4-9 Line interpolation with Squared Sine condition (2.1)
Because the time constants of Squared Sine condition (2.2) is the same to
condition (1.3), Figure 4-8 also shows the motion information and its parameters are
shown below. It corresponds to the Squared Sine condition (2.2) presented at last
chapter.
Maximum jerk 0.02 pulse ms3
Maximum acceleration 0.5 pulse ms2
Feedrate 18 pulse ms
Displacement
:1200
,Y:900 pulse
X
58
4.2.3 Continuous Motion with Squared Sine velocity profile
We take a rhombus as the experiment trajectory for continuous motion and it
shows in Figure 4-10.
Y-axis (0,120000)
(-80000,60000) (80000,60000)
(0,0) X-axis
Figure 4-10 Experiment trajectory for continuous motion
We decide maximum jerk is 0.02 pulse ms3 , maximum acceleration is 0.5
pulse ms 2 , and feedrate is 80 pulse ms . We decide overlapped time is 1
3 Ts , and the
experiment result is shown in Figure 4-11.
Figure 4-11 Information of continuous motion experiment59
The experiment trajectories are shown in Figure 4-12, 4-13, 4-14, 4-15.
Figure 4-12 Main motion trajectory (Experiment result)
Figure 4-13 Connection of motion block 1 and block 2 (Experiment result)
60
Figure 4-14 Connection of motion block 2 and block 3 (Experiment result)
Figure 4-15 Connection of motion block 3 and block 4 (Experiment result)
61
Chapter 5 Conclusion and Future Work
In this thesis we mainly impose acceleration/deceleration planning with jerk
limitation to generate a smooth motion trajectory which could avoid the saturation of
the motion control system effectively.
Using acceleration/deceleration before interpolation, Blended S-Curve velocity
profile provides the adjustable jerk and acceleration of motion, and in the middle
process of acceleration, linear velocity profile can obtain maximum efficiency of
motor. Besides, Squared Sine velocity profile has the continuity of jerk, it is more
advantageous to reduce vibration of machine and maintain the machining accuracy.
And it is convenient for planning the continuous motion under jerk constraint of
motion.
While the maximum acceleration and jerk already be decided, we calculate the
shortest motion time to form a smooth profile against different desired displacement
and feedrate both to two purposed velocity profile. As we calculate, the jerk time of
Squared Sine is approximately 1.57 times to the jerk time of Blended S-Curve. It is
more significant to develop an acceleration/deceleration algorithm that has continuous
jerk and its motion time can be shorter as possible.
In continuous motion, the purposed overlapped time 13 Ts is considered to the
extreme condition that the motion directions of two blocks are the same. Further we
can lengthen overlapped time by determining the motion direction of block. Such as
two connected blocks in opposite direction, we can overlap the complete jerk time and
it will not exceed desired constraint of jerk and acceleration.
The dynamic of system can be considered after adding load (ex. ball screw) to
62
servo driver/motors. It is important to research the vibration and jerk induced from
real output of system.
63