0% found this document useful (0 votes)
30 views

Cosine Motion Profile Algorithm

Uploaded by

chintaec
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Cosine Motion Profile Algorithm

Uploaded by

chintaec
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

______________________________________________________PROCEEDING OF THE 23RD CONFERENCE OF FRUCT ASSOCIATION

Motion Profile Control Algorithm and Corner


Smoothing Technique for Trajectory Optimization of
High-Precision Processing

Kseniia V. Zimenko, Maxim Ya. Afanasev,


Anastasiya A. Krylova, Sergey A. Shorokhov, Yuri V. Fedosov
ITMO University, St. Petersburg, Russia
[email protected], [email protected], {ananasn94, stratumxspb}@gmail.com, [email protected]

Abstract—Processing accuracy in instrumental technology rate control methods in use, such as linear motion profile
has always been of great importance. Producers of Computer generation, for instance, result in high jerk and vibration,
Numeric Control (CNC) systems are constantly looking for novel causing the degradation of the surface quality obtained during
solutions to achieve higher velocities and precision. However, processing.
most of the produced software algorithms are inaccessible to
the general public. Hence the task to develop sufficient open Apart from that, some methods that allow for an increase
source software arises. This paper aims to create a trajectory in processing speed lead to a divergence between programmed
optimization algorithm, including feed rate control and a corner and real instrument path, namely machining error. Calculations
smoothing technique, which will allow effective high-speed and show that this inaccuracy is directly proportional to feed rate.
high-precision processing. It is intended to standardize the algo- Hence, these methods lead to low accuracy during high-speed
rithm for application with both stepper and servo motor driven
processing.
machines. The developed motion planning method is based on a
cosine function to attain a smooth change of velocity that allows On the other hand, most of the CNC systems offered on the
for vibration reduction. To achieve smooth corner processing, modern market provide software which allows high-precision
spline curves are applied to adjust the size and shape of a fillet and processing even at high velocities. Yet these solutions are part
thus satisfy the required tolerance and maintain high velocities.
of proprietary code that is for the most part inaccessible to
The resulting algorithm is programmed and simulation tests are
carried out. The final algorithm shows a smooth transition of third-party developers. Hence, the goal of this work is to
velocities, which leads to vibration reduction and consequently create and implement an open source algorithm. Another task
to minimization of machining error. In corner smoothing the use is handling the processing at trajectory corners. There are two
of parametric curves demonstrates the ability to vary tolerance. main types of corner machining: full stop mode (G61) and
As a result, a sufficient motion control algorithm is developed continuous mode (G64) [1], [2].
and can be used in CNC software.
The first mode means that the machine will follow the
programmed path exactly, stopping at the corner. The second
I. I NTRODUCTION type results in a fillet, as it is impossible to create a sharp
Since the requirements for accuracy are continuously corner without reducing processing speed to zero. Both of
growing nowadays in the field of instrumentation technology, modes result in machining error. In the first case the obtained
the main direction of development of CNC systems is surface quality decreases due to the high jerk caused by sudden
increasing effectiveness of high-speed and high-precision changes of velocity. In the case of continuous mode, there is a
processing. This can be achieved with the improvement of discrepancy between the given and the resulting trajectory, as
software algorithms, used for converting the given part of the a sharp corner is replaced with a curve. The goal is to reduce
program into tool movements. error caused by velocity change and to maintain the required
trajectory accuracy by regulating the size and shape of the
The process of analyzing an input part program consists of resulting fillet.
several stages. It ranges from program interpretation, where
all the given data like feed rate and trajectory coordinates To get a small enough fillet that corresponds to the de-
is extracted, to acceleration/deceleration control and then to manded precision it is important to reduce the machining
interpolation procedure. Interpolation process includes axis speed, compared to neighboring linear blocks. The problem
movement generation from block data given by an interpreter. is to find a way of calculating the corner velocity based on
The final step is position control, which main aim of which the data received from the corresponding blocks. One method,
is to minimize the difference between interpolation positions for example, suggests comparing the allowable acceleration
and real positions received from an encoder [1]. The stage of on each axis to the actual velocity changes at the corner
acceleration/deceleration (acc/dec) control, which is applied to followed by a speed reduction if this value is exceeded [1].
create a velocity profile and smooth tool movements. However, the resulting feed rate does not depend on the
size and shape of processed fillet. Another aim of this study
Together with interpolation most reflects the accuracy of is to create an algorithm universal enough for use on both
processing and thus it is important to apply effective algorithms stepper and servo motor driven machines. Most of the methods
that lead to minimal machining error. However, most of feed presented in recent years are specifically designed for servo

ISSN 2305-7254
______________________________________________________PROCEEDING OF THE 23RD CONFERENCE OF FRUCT ASSOCIATION

driven CNC systems. This type of motor can achieve higher of feed rate scheduling with round-off error compensation. Xu
precision processing, as it is intended for applications where Du et al. [11] used the same type of feed rate profile and
rapid acceleration and deceleration occur [3]. developed the s-shape motion control schedule. His algorithm
was designed specifically for NURBS curve interpolation.
However, servo motors require more complicated con- Another s-shaped speed control schedule was proposed by Lin
trollers which make their price rise significantly. On the Wang et al. [12]. A look ahead algorithm was also applied to
other hand, stepper motors have a lower price compared to prevent surplus decelerations. Huaizhong Li et al. [5] presented
servo motors and still allow for the attainment of sufficient the acc/dec control algorithm, which reduces jerk and vibration
machining accuracy. Low-end and middle-end machines are residuals. Their approach is based on the application of a
driven by stepper motors [4]. cosine function to the acceleration calculation. It smoothes
This study aims to develop a novel trajectory optimization velocity change and thus leads to minimal vibrations. The
algorithm, including a low jerk acc/dec control. The main algorithm allows real-time motion profile generation. How-
criterion for trajectory optimization is the minimization of ever, there was no look ahead algorithm presented, and it is
machining error during high-speed processing. The selected expected that block analysis is executed independently. This
feed rate control method is based on applying the cosine methodology is used in the present paper to smooth the acc/dec
function to achieve a smoother transition of velocity and avoid motion phases. Qingzhen Bi et al. [13] proposed a continuous-
surplus vibrations [5]. curvature smoothing algorithm, which includes the usage of a
Bezier curve to blend the junctions of the linear tool path. A
Because for the most part programs consist of a large Bezier blend, which consists of three control points, is applied
number of blocks, it is crucial to build a velocity profile with in the algorithm. It is possible to approximate the curve under
the use of a look-ahead algorithm, which takes into account the a predefined tolerance. So it is possible to change the size of
data of neighboring blocks while executing. It helps to avoid the blend to satisfy the accuracy requirements. However, due
unnecessary decelerations on the edges of blocks and smooths to the number of control points it is impossible to change the
the resulting motion profile. The look-ahead algorithm is used shape of the resulting curve. The present paper sets a goal of
in the proposed method of acc/dec control. altering the shape of the curve and therefore requires a greater
The proposed algorithm also includes fillet generation at number of control points.
trajectory corners to avoid unnecessary decelerations. The abil-
Burak Sencer et al. [14] demonstrated a way to blend two
ity to adjust the size and shape of said fillet is also taken into
consecutive linear segments with a Bezier curve, which has six
account, as it is important to satisfy the required processing
control points. With this method it is possible to adjust both
accuracy. The corner smoothing technique includes using b-
the size and shape of the curve. However, in this case two
splines or parametric curves. This type of corner processing
values are required to specify the fillet, which leads to more
requires several values that can determine the size and shape
complicated calculations. Apart from that the corner-velocity-
of the generated blend. Two types of curves are compared
finding algorithm presented by the researchers requires the use
in this paper: those with three and those with six control
of curvature value, which leads to complicated calculations.
points. This paper also applies a method of feed rate reduction
The present paper uses a Bezier curve with six control points
at corners which avoids exceeding the allowable acceleration
to adapt the resulting fillet to processing requirements; in
value. This paper presents a description of the methodology,
other words, to change the size and shape under a predefined
implementation and simulation results.
tolerance. However, the present work has a goal of simplifying
The paper is organized as follows. Section II is dedicated to the corner feed rate calculation. Any Bezier curve with a
an overview of related work. In Section III the reader can find greater number of control points [15], [16] requires more than
a description and the results of the acc/dec control algorithm two values to determine the size and shape of the fillet. It will
simulation, with examples provided. Section IV describes lead to more complicated calculations for users.
the proposed corner smoothing algorithm. Examples of fillet
compositions are shown. A comparison between splines with Therefore, after the related work analysis the task remains
three and six control points given. In Section V the example to combine the low jerk motion control, look-ahead algo-
of the proposed algorithm execution is depicted. The obtained rithm and corner velocity generation with a corner smoothing
results are presented graphically. The final section is dedicated technique to further minimize the velocity discontinuities and
to an analysis of the results. thereby reduce the discrepancy between the programmed and
the real trajectories during high-speed processing.
II. R ELATED W ORK
As creating efficient acc/dec control is crucial to achieving III. M OTION PROFILE GENERATION
smooth and precise tool motion, there have been a lot of
algorithms developed. The linear or trapezoidal feed rate As the main aim of the proposed motion control algorithm
scheduling method [6–8] has the simplest implementations. is to minimize jerk and vibrations, induced by high speed
On the other hand, this methodology results in large amount change, it is critical to ensure the smooth transition of accel-
of vibrations and jerk and thus lower accuracy. This is caused eration. The selected method is based on applying the cosine
by the abrupt change of velocity. function to achieve a smooth transition of velocity and avoid
surplus vibrations of motion [5]. The velocity profile can be
There are different ways to smooth the feed rate profile divided into three stages: acceleration tinter ∈ [t0 , t1 ], constant
by applying s-shape [9], Sine-shape or polynomial algorithms. speed tinter ∈ [t1 , t2 ] and deceleration tinter ∈ [t2 , t3 ]. The ac-
Hepeng Ni et al. [10] proposed an optimized s-shape algorithm celeration value at each interpolation time can be calculated by

---------------------------------------------------------------------------- 426 ----------------------------------------------------------------------------


______________________________________________________PROCEEDING OF THE 23RD CONFERENCE OF FRUCT ASSOCIATION

applying the following equations. The acceleration value dur- 30 Velocity

ing the speed escalating stage is obtained as follows, Eq. (1):


25

  

Velocity, mm/sec
20
A 2π
a= · 1 − cos ·t
2 Tacc (1) 15
2F
Tacc = t1 − t0 =
A 10

where F is the feed rate and A is the allowable acceleration. 5

During the constant speed period acceleration equals zero. And


in the deceleration stage it equals, Eq. (2): 0

0.0 2.5 5.0 7.5 10.0 12.5 15.0


Time, sec
   (a) Velocity profile without block overlap control
D 2π
a=− · 1 − cos · (t − t2 )
2 Tdec (2) 30 Velocity
2F
Tdec = t3 − t2 =
D 25

Velocity, mm/sec
20
where D is the allowable deceleration. The speed and dis-
placement values can be obtained by integration. The resulting
acceleration and speed profiles are shown in Fig. 1. 15

10
Acceleration

20 Velocity 25 5
Acceleration, mm/sec^2

0
10 20
Velocity, mm/sec

0 2 4 6 8 10 12 14
Time, sec

0 15 (b) Velocity profile with block overlap control

Fig. 2. The result of look-ahead algorithm application


10 10

IV. C ORNER SMOOTHING ALGORITHM


t0 t1 t2 t3
20 5
The only way to create an accurate corner is to stop the
0
instrument completely. However, this results in intermittent
0 1 2 3 4 5 6 motion of the tool that leads to a deterioration in the quality
Time, sec of the obtained surfaces and an increase in machining time.
To raise the quality of the processing result and velocity
Fig. 1. Acceleration and velocity profiles.
maintenance it is necessary to use smoothing algorithms.
There are two ways of implementing fillets using the corner
processing mode: using arcs or splines, or parametric curves.
The proposed method is best suited for individual blocks;
Changing the angle to a circular arc is easy in implementation.
however, a typical control program consists of a large number
However, there is no opportunity for the user to change the
of blocks. Consequently, when used on several segments as
form and size of the arc.
a whole, the algorithm returns a feed profile like that shown
in Fig. 2a. Evidently, the reductions of feed rate on the border
of blocks are unnecessary and lead to exceeded vibrations and To implement smoothing at corners with the ability to
jerk resulting in a lower quality of obtained surface. adjust the parameters of the fillet the study suggests the
algorithm which uses splines, a Bezier curve in particular.
Hence, the special look-ahead algorithm is built-in. While As all smoothing methods result in machining inaccuracy, the
generating the velocity profile it considers the consecutive seg- advantage of said algorithm lies in its error value control.
ments and adjusts the speed profile according to the maximum And the less deceleration there is at the corner, the bigger
reachable feed rate value on these segments. Thus, feed profile the fillet and consequently the processing inaccuracy will be.
like the one depicted in Fig. 2b can be obtained using this And in each case it is possible to regulate the correlation
technique. between the corner speed and error. However, for precise spline

---------------------------------------------------------------------------- 427 ----------------------------------------------------------------------------


______________________________________________________PROCEEDING OF THE 23RD CONFERENCE OF FRUCT ASSOCIATION

formation parameters are needed in a quantity corresponding 30.0 Final trajectory


Programmed trajectory
to the number of control points used. 27.5

Two adjacent linear segments are blended with a Bezier 25.0


curve. The resulting blend in comparison to the initial trajec-
22.5
tory is shown in Fig. 3. The simplest method of Bezier curve

Y, mm
formation is to use three control points Pstart , Ptrans and 20.0
Pend . Implementation requires one parameter: transition length
Lt depicted in Fig. 3. In this case, it is possible to adjust the 17.5

size of the curve by changing the Lt parameter which functions 15.0


as scaling factor. However, the shape of the resulting blend is
constant, which limits processing possibilities. 12.5

10.0
Ptrans Ptrans 20 30 40 50 60
X, mm
(a) Bezier curve with Lt = 2 mm.
d

 
Lt

Lt

P2 P3 30.0 Final trajectory


Programmed trajectory
c

27.5

P4
c

P1 25.0
P0 P5
Pstart Pend Pstart Pend Y, mm 22.5

20.0
Bezier blend with Bezier blend with
3 control points 6 control points 17.5

Fig. 3. Bezier curve 15.0

12.5

For example, two fillets have been obtained. For the first 10.0
curve, shown in Fig. 4a, the Lt parameter is set to 2 mm, 20 30 40 50 60
and for the second, depicted in Fig. 4b, the Lt parameter X, mm
equals 5 mm. Evidently, the size of the blend has changed; (b) Bezier curve with Lt = 5 mm.
however, the curvature stays the same. This is shown in Fig. 4c.
30.0 Final trajectory
Recent studies, including Burak Sencer’s [14], suggest Programmed trajectory

using six control points for the Bezier blend. The spline 29.8
segment can be defined in Cartesian coordinates as, Eq. (3):
29.6

⎧ ⎫
Y, mm

29.4
5
⎪ (1 − u) P0 + ⎪
⎡ ⎤ ⎪ ⎪
⎪ + 5u(1 − u)4 P1 +


⎪ 29.2

Bx (u) ⎪
⎨ ⎪

+ 10u2 (1 − u)3 P2 +
B(t) = ⎣ By (u) ⎦ =
29.0


⎪ + 10u3 (1 − u)2 P3 + ⎪

Bz (u) ⎪
⎪ ⎪
⎪ 28.8
⎪ + 5u4 (1 − u)P4 +
⎩ ⎪

+ u 5 P5 28.6
⎡ ⎤ ⎡ ⎤ 41.0 41.5 42.0
X, mm
42.5 43.0 43.5 44.0

P0,x (u) P5,x (u)


P0 = ⎣ P0,y (u) ⎦ , . . . , P5 = ⎣ P5,y (u) ⎦ (c) Bezier curve shape with 3 control points.

P0,z (u) P5,z (u) Fig. 4. Bezier blend with 3 control points
(3)
where P0 , P1 , . . . , P5 are control points and u changes from 0 With different values for segments c and d various curva-
to 1. It also requires two values to clarify the size and shape tures of the fillet can be achieved. Thus both size and form
of a curve. In addition to transition length, ratio n defined of the curve are alterable. Other, higher order Bezier blends
by Eq. (4) is applied. The resulting curve is shown in Fig. 5. require more parameters to determine the curve, which leads
the corresponding algorithm to unnecessary complications.
Therefore this study applies a smoothing algorithm with six
c control points. Two curves were obtained with the same
n= (4)
d transition length of 2 mm, but with ratio n equal to 0.9 and 0.3.

---------------------------------------------------------------------------- 428 ----------------------------------------------------------------------------


______________________________________________________PROCEEDING OF THE 23RD CONFERENCE OF FRUCT ASSOCIATION

Fillets are depicted in Fig. 5 respectively. Obviously, the cur- V. T HE DEMONSTRATION OF THE FINAL ALGORITHM
vature of the blend has changed, which allows customizations EXECUTION
to match the required precision.
The resulting algorithm creates spline trajectories at cor-
ners, calculates allowable corner feed rates and builds a low
30.0 Programmed trajectory jerk velocity profile.
Lt = 2 mm, n = 0.9 The proposed approach has been implemented using the
Lt = 2 mm, n = 0.3 Python programming language of version 3.6, charts are made
29.8
with the Matplotlib plotting library of version 3.0.0 and
mathematical calculations are made using Numpy.
29.6 The algorithm execution requires input data including co-
ordinates of trajectory segments, feedrate values at each block,
allowable acceleration and deceleration, parameters for spline
Y, mm

29.4
building (transition length Lt and ratio n).
For execution example a trajectory with four segments,
29.2 divided by different corners is used. The input data for the
computer simulation is given below.
29.0 Trajectory P, mm = [
[20, 10, 0],
[60, 40, 0],
28.8 [160, 40, 0],
[170, 20, 0]
];
Feedrate F, mm/sec = [30, 30, 18, 25];
28.6 The allowable acceleration A, mm/s = 15;
41.0 41.5 42.0 42.5 43.0 43.5 44.0 The allowable deceleration D, mm/s = 15;
X, mm Transition length Lt mm = [4, 3, 3];
Ration n = [0.9, 0.8, 0.94].
Fig. 5. Bezier blend with 6 control points
The proposed algorithm starts with analyzing the given
data. Spline trajectories are created separately with machining
The next task is to create an algorithm which controls the error calculation. The machining error at corners is estimated
feed rate value at trajectory corners. It is necessary to reduce as follows:
the commanded feed rate for the corresponding linear segment
to avoid exceeding the acceleration limit.  = ||Ptrans − B|u=0.5 || (7)
This study suggests comparing the allowable acceleration
value on each axis with the actual speed difference on the bor- Applying Eq. (7) the following  values are obtained:
der of two segments. Firstly, the velocity change is calculated 1 = 0.63 mm, 1 = 0.82 mm, 1 = 1.2 mm. The whole
as follows [1]: trajectory is built afterwards, shown in Fig. 6.
Next, feedrate on splines is calculated. The resulting ve-
locities equal to Fc1 = 25.0 mm/s; Fc2 = 12.3 mm/s and
AE2 − AS2 AE1 − AS1 Fc3 = 8.2 mm/s, where Fci is the velocity at i-th corner.
ΔVA = F2 · − F1 · (5)
L2 L1 All of the obtained speed values are smaller than the initial
commanded feedrates. It prevents the violation of the allowable
acceleration and deceleration.
where Li is the length of block Ni , Fi is the feed rate of block
Ni , AEi and ASi is A-axis coordinate. Then the allowable Next, to apply the velocity profile generation segments’
acceleration ΔVmA of A-axis is determined. And next, the lengths, acceleration, constant speed and deceleration time are
velocity change ratio is given by Eq. (6) [1]. calculated. Finally, motion profile is generated with block over-
lap considered. All the resulting plots are depicted in Fig. 6.
  It should be noted that the corner from which the process-
ΔVmx ΔVmy ΔVmz
Q = min , , (6) ing started is obtained without machining error. Smoothing
ΔVx ΔVy ΔVz algorithm is not applied here because a tool starts and finishes
its motion at this point and thus is able to create an accurate
sharp corner. All other trajectory corners are processed as
where ΔVA is the real speed difference on the A-axis. If the fillets.
ratio Q is greater than 1, then there is no violation of the
allowable speed change. If the Q value is lower than 1, than The machining error in the case of the proposed algo-
the feed rate on the corner should be reduced by multiplying rithm is present only on corners. Machining errors in the
the initial value by Q. The resulting feed rate value is used to example are obtained as: 1 = 0.63 mm, 1 = 0.82 mm,
generate the speed profile. 1 = 1.2 mm. With the change of corner smoothing parameter

---------------------------------------------------------------------------- 429 ----------------------------------------------------------------------------


______________________________________________________PROCEEDING OF THE 23RD CONFERENCE OF FRUCT ASSOCIATION

Tool trajectory at corner 1 Tool trajectory at corner 2 Tool trajectory at corner 3


40.0 40.0 Final trajectory
22.5 Programmed trajectory

39.5 39.5
22.0

39.0
39.0 21.5
Y, mm

Y, mm

Y, mm
38.5
21.0
38.5

38.0 20.5
38.0

Final trajectory 37.5 Final trajectory 20.0


Programmed trajectory Programmed trajectory
37.5
57 58 59 60 61 62 63 64 157 158 159 160 161 167.0 167.5 168.0 168.5 169.0 169.5 170.0
X, mm X, mm X, mm
Tool trajectory Velocity profile
40 30 Velocity

35 25

Velocity, mm/sec
30 20
Y, mm

25 15

20 10

15 5

Final trajectory
10 Programmed trajectory 0

20 40 60 80 100 120 140 160 0 5 10 15 20 25


X, mm Time, sec

Fig. 6. Resulting trajectories and motion profile

Velocity profile
it is possible to alter the resulting inaccuracy. For example, Velocity
if the Lt values are set for the same tool path as Lt1 = 0.5, 25
Lt2 = 0.25, Lt3 = 0.25, the following results will be provided:
1 = 0.08 mm, 1 = 0.07 mm, 1 = 0.10 mm. Thus users can 20
adjust the machining error to satisfy the specific requirements.
Velocity, mm/s

The proposed motion profile allows processing of the 15

example trajectory in tp = 23.9 s. As the two main criteria of


the motion control algorithm are the processing time as well 10

as the accuracy value, the obtained results need to be analyzed


from the perspective of these two characteristics. 5

Firstly, in order to correctly estimate the machining time


0
obtained, it is advisable to compare the resulting speed profile
0 5 10 15 20 25
with profile, created in the absence of the used look ahead and Time, s
corner smoothing approach. The resulting speed chart is de-
Fig. 7. Motion profile without corner smoothing and look ahead
picted in Fig. 7 and has the time of processing equaling 25.4 s.
The algorithm on the other side gives the processing time tp
of 23.9 sec. So the proposed approach is 5.9 % faster. In the course of project implementation the following
tasks were accomplished. The efficient acc/dec control was
It should also be noted that velocities of three of the four presented for motion profile generation. A look-ahead algo-
blocks in the simulation were not reached. Maximal speeds, rithm was also applied which provides smooth transition of
obtained are 19.2, 27.3, 12.9, and 25.0 mm/s. So in this case, velocity. The simulation results, described in Section III, show
the motor will almost every time work at lower power and processing time reduction as well as braking exclusion on the
high processing itself would be impossible. block edges. This algorithm allows high-speed machining with
To sum up, the resulting velocity profile allows high-speed high precision that, in comparison to the individual execution
processing with reduced jerk and vibrations. Consequently, it of each block with stoppage at corners, provides approx. 6 %
is possible to obtain high surface quality with the proposed faster processing.
algorithm. The corner smoothing technique that has been presented
allows for the creation of a fillet with a predefined tolerance.
VI. D ISCUSSION
Hence, it is possible to keep the tool velocity and still maintain
The main results of the proposed algorithm should be the required accuracy. It has been shown that the machining er-
discussed: the accomplished tasks, the aspects that need to ror, received from a corner smoothing is alterable by changing
be improved and plans for the future development. Lt and n parameters value.

---------------------------------------------------------------------------- 430 ----------------------------------------------------------------------------


______________________________________________________PROCEEDING OF THE 23RD CONFERENCE OF FRUCT ASSOCIATION

The velocity at corners is calculated based on the block the acc/dec control of circular interpolation as well as generate
length and the programmed feed rate. The corner velocity the allowable velocity on a circular path. Future tests of the
is generated by comparing allowable acceleration and the resultant algorithm will be conducted on CNC systems.
actual speed change at corner. This method prevents velocity
transitions greater than what a motor can follow correctly. VIII. ACKNOWLEDGEMENTS
However, there are some aspects in this research that need This work was carried out under project no. 617026 “Tech-
to be improved for better performance. One of the problems nologies of cyber-physical systems: management, computing,
that have not been solved is corner velocity generation. The security” conducted at the Faculty of Control Systems and
method of feed rate control used at corners is carried out Robotics, ITMO University.
independently from the shape of the curve.
Another problem is that even though the simulation results R EFERENCES
show the machining error appear only at corners and being [1] S.-H. Suh, S.-K. Kang, D.-H. Chung, and I. Stroud, Theory and Design
predefined, in the real life tests, carried out on the CNC equip- of CNC Systems, 1st ed. Springer Publishing Company, Incorporated,
ment, it is very plausible to receive the inaccuracy because of 2008.
the minor vibrations. So experiments on CNC equipment are [2] P. Smid, CNC Programming Handbook: A Comprehensive Guide to
needed. Practical CNC Programming, ser. Industrial Press eBooks. Industrial
Press, 2003.
One of the criteria for the implementation of the algorithm [3] A. Hughes, Electric Motors and Drives: Fundamentals, Types and
is the ability to apply it on stepper motor driven machine as Applications. Elsevier Science, 2005.
well as in servo driven systems to achieve universality. For [4] A. Overby, CNC Machining Handbook: Building, Programming, and
that it is necessary to calculate the duration of the next step Implementation, 1st ed. New York, NY, USA: McGraw-Hill, Inc.,
based on the previous move. For now the step calculation of 2010.
the acceleration and deceleration motion stages has not been [5] H. Li, Z. Gong, W. Lin, and T. Lippa, “Motion profile planning for
reduced jerk and vibration residuals,” SIMTech technical reports, vol. 8,
determined. no. 1, pp. 32–37, 2007.
The algorithm has been implemented in the [6] J. Hu, L. Xiao, Y. Wang, and Z. Wu, “An optimal feed rate model and
Python programming language (link to repository: solution algorithm for a high-speed machine of small line blocks with
look-ahead,” The International Journal of Advanced Manufacturing
github.com/stwinter2014/Motion-profile- Technology, vol. 28, no. 9, pp. 930–935, Jul 2006.
control-for-CNC-equipment). The final version of [7] G. Zhao, Y. Zhao, and S. Wang, “The acceleration/deceleration control
CNC software will be presented in C language. algorithm based on trapezoid-curve jerk in cnc machining,” Research
Journal of Applied Sciences, Engineering and Technology, vol. 5, no. 5,
To sum up, the solution proposed in the present paper pp. 1639–1645, 2013.
provides the motion control for high speed processing with a [8] T. Hu, L. Zhang, T. Wu, and F. Huang, “Study on an acc/dec method
machining error being present only at corners. It is also made based on moving average technology for cnc machine tools,” Applied
possible to adjust the said machining inaccuracy by creating a Mechanics and Materials, vol. 556-562, pp. 1413–1416, 2014.
fillet of different size and shape. [9] L. Rutkowski, A. Przybyl, and K. Cpalka, “Novel online speed profile
generation for industrial machine tool based on flexible neuro-fuzzy
However, certain improvements should be made such as approximation,” IEEE Transactions on Industrial Electronics, vol. 59,
evaluation of the effect of the curve shape and size on the no. 2, pp. 1238–1247, Feb 2012.
corner speed as well as algorithm adaptation to stepper motor [10] H. Ni, T. Hu, C. Zhang, S. Ji, and Q. Chen, “An optimized feed rate
driven machines. scheduling method for cnc machining with round-off error compen-
sation,” International Journal of Advanced Manufacturing Technology,
vol. 97, no. 5-8, pp. 2369–2381, 2018.
VII. C ONCLUSION [11] X. Du, J. Huang, and L.-M. Zhu, “A complete s-shape feed rate
scheduling approach for nurbs interpolator,” Journal of Computational
An efficient trajectory optimization methodology is pre- Design and Engineering, vol. 2, no. 4, pp. 206–217, 2015.
sented in this paper. The acc/dec control with look-ahead is
[12] L. Wang and J. Cao, “A look-ahead and adaptive speed control algorithm
designed to create a smooth motion profile that will provide for high-speed cnc equipment,” International Journal of Advanced
for high-precision processing. A Bezier blend generation is Manufacturing Technology, vol. 63, no. 5-8, pp. 705–717, 2012.
made to reduce the unnecessary decelerations at corners and [13] Q. Bi, Y. Wang, L. Zhu, and H. Ding, “A practical continuous-curvature
simultaneously allows users to control the machining error by bzier transition algorithm for high-speed machining of linear tool path,”
adjusting the curves size and curvature. Lecture Notes in Computer Science (including subseries Lecture Notes
in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 7102
The performed simulation of the algorithm implementation LNAI (PART 2), pp. 465–476, 2011.
showed its compliance with the initial requirements. The ma- [14] B. Sencer, K. Ishizaki, and E. Shamoto, “A curvature optimal sharp
chining error in computer simulation appears only at corners, corner smoothing algorithm for high-speed feed motion generation of
nc systems along linear tool paths,” International Journal of Advanced
where tool velocity is not equal to zero. The processing time Manufacturing Technology, vol. 76, no. 9-12, pp. 1977–1992, 2015.
received equals to 23.9 s, which has been shown to be 6 % [15] Y. Zhang, P. Ye, J. Wu, and H. Zhang, “An optimal curvature-smooth
faster than of the algorithm without corner smoothing and look transition algorithm with axis jerk limitations along linear segments,”
ahead approach. International Journal of Advanced Manufacturing Technology, vol. 95,
no. 1-4, pp. 875–888, 2018.
The performed simulation of the algorithm implementa- [16] B. Sencer, A. Dumanli, and Y. Yamada, “Spline interpolation with
tion showed its effectiveness and compliance with the initial optimal frequency spectrum for vibration avoidance,” CIRP Annals,
requirements. It is planned to create an algorithm to carry out vol. 67, no. 1, pp. 377–380, 2018.

---------------------------------------------------------------------------- 431 ----------------------------------------------------------------------------

You might also like