Using Fuzzy Control for Feed Rate Scheduling of Computer Numerical Control Machine Tools

: In industrial processing, workpiece quality and processing time have recently become important issues. To improve the machining accuracy and reduce the cutting time, the cutting feed rate will have a signiﬁcant impact. Therefore, how to plan a dynamic cutting feed rate is very important. In this study, a fuzzy control system for feed rate scheduling based on the curvature and curvature variation is proposed. The proposed system is implemented in actual cutting, and to verify the data an optical three-dimensional scanner is used to measure the cutting trajectory of the workpiece. Experimental results prove that the proposed fuzzy control system for dynamic cutting feed rate scheduling increases the cutting accuracy by 41.8% under the same cutting time; moreover, it decreases the cutting time by 50.8% under approximately the same cutting accuracy.


Introduction
Computer numerical control (CNC) machining is a manufacturing process automatically controlling the machine tools for producing high-precision workpieces. To achieve high-speed and high-precision machining, on-site operators typically adjust the feed rate in computer-aided manufacturing (CAM) software based on their experiences derived from previous cutting experiments. Previous studies presented many advanced control methods such as optimal control and adaptive control of cutting conditions in order to improve machining accuracy [1][2][3]. Among them, dynamic feed rate scheduling uses two indicators for evaluating the feed rate: constant cutting force-based and processing path-based dynamic feed rate scheduling.
First, in constant cutting force-based dynamic feed rate scheduling, the cutting force model is usually established depending on the cutting tool and the direction of the cutting velocity vector. In other words, the model provides a suitable feed rate instantly under a constant cutting force and spindle speed. Wang et al. [4] presented a feed rate optimization method for constant peak cutting force in the five-axis flank milling process to resolve the unstable machining of parts with ruled surfaces in the aviation industry. The optimization method used least squares theory with the cutter entry angle and feed rate as variables for establishing the peak cutting force for each cutting point. Moreover, a feed rate scheduling method was also designed to quickly solve the appropriate feed rate under constant peak cutting force. Kim et al. [5] proposed a mechanistic cutting force model to perform effective feed rate scheduling for indexable end milling in process planning. The developed cutting force model applied cutting-condition-independent cutting force coefficients which took run out, cutter deflection, geometry variation and size effect as consideration for accurate cutting force prediction. Lee and Cho [6] developed a reference cutting force model based on considering the transverse rupture strength of the tool material and the area of the rupture surface. The experimental results revealed that the model provides an effective criterion for a feed rate scheduling system that regulates cutting force at a given criterion. All these studies have implemented a cutting force model to adjust the feed rate; however, feed rate scheduling is still associated with many difficulties, such as incompatibility of the cutting force model, sensors installation, and cost much time for collecting cutting experimental data.
Secondly, the poor processing quality such as large surface roughness and insufficient contour precision is mainly attributed to an incorrect processing feed rate or large jerk produced by excessive acceleration and deceleration. These situations likely occur when machining with a larger curvature therefore producing the chord errors [7,8]. Luan et al. [9] noted that the chord error was affected by the interpolation algorithm, curvature, and feed rate. In a condition of the same feed rate, an area with larger curvature produces a larger chord error, because the interpolation algorithm of the conventional controller is constant, the feed rate must be reduced to maintain the chord error within the requirements; therefore, an offline dynamic feed rate scheduling method was proposed to alleviate the abovementioned problem. Yeh and Hsu [10] found that due to the non-uniform map between curves and parameters, it is very difficult to maintain a constant feed rate and chord accuracy between two interpolated points along parametric curves; therefore, an adaptive feed rate calculation using speed-controlled interpolation algorithm was proposed. Both simulation and experimental results for non-uniform rational B-spline (NURBS) examples were verified for the feasibility and precision of the proposed interpolation algorithm. Giannelli et al. [11] proposed a configurable trajectory planning strategy which can be applied to any planar path with a piecewise sufficiently smooth parametric representation. The processing path-based dynamic feed rate scheduling does not need to install an extra sensor. The establishment of a cutting force model does not require cutting experiments; therefore, employing the processing path-based dynamic feed rate scheduling is better than the other method in terms of practicality and versatility. Thus, the present study primary focuses on processing path-based dynamic feed rate scheduling method. An extended cutting experiment is needed to establish and verify the cutting force model. Therefore, this study uses fuzzy theory to control the dynamic cutting feed rate of a machine tool under the same processing software, cutting tool, and processing material to replace manual feed rate adjustment and improve the machining accuracy while shortening the processing time.
Fuzzy control was first proposed by L. A. Zadeh in 1964 [12] to develop a versatile control system and to avoid some of the difficulties associated with force-based controllers, it has been widely used in various fields, such as signal processing, servo control, and image processing. Ratava et al. [13] developed an adaptive optimizing fuzzy controller for controlling feed rate. The system designed based on the concept of the cutting state and collected expert rules. The experiment has shown that the system performed adequate results. Huang et al. [14] used fuzzy control to realize high cutting rate and high surface quality requirement. The control system is based on controlling the cutting force being milled by digital adaptation of cutting parameters. The experimental results show that the milling system with the designed controller has high robustness and the machining efficiency of the milling system with the adaptive controller is much higher than for the conventional CNC milling system. Chen et al. [15] designed an intelligent fuzzy proportional-integral-derivative (PID) controller to increase the processing efficiency of the CNC machine tool. The main feature of the proposed fuzzy PID controller was to change parameters in different degrees according to time-varying working conditions, thereby improving the adaptability and reliability of the controller. The advantages of fuzzy controller are that it is suitable for nonlinear systems and that it is described by control laws made by experts in their field. Miao and Li [16] developed a fuzzy control system based on the assumed feed rate, radial and axial depths of cut for CNC profile milling feed rate determination to predict the cutting force. Liang et al. [17] established a fuzzy logic-based torque control system for optimizing the material removal rate in high-speed milling processes.
The aforementioned studies have all used fuzzy controllers to achieve good results. The reason is that fuzzy controller has a human-like reasoning mechanism that can solve complex problems with unclear inputs and make decisions accordingly. Therefore, this study uses fuzzy control in processing path-based dynamic feed rate scheduling method.
In this study, a fuzzy control for feed rate scheduling based on curvature and curvature variation is proposed. The proposed system is implemented in actual cutting, and to verify the data an optical three-dimensional scanner is used to measure the cutting trajectory of the workpiece. The major contributions of this study are presented as follows: (1) A fuzzy control method is used to effectively schedule a reasonable feed rate; (2) an average filter is developed to reduce jerks to avoid excessive impact on the machine, and (3) the proposed system increases the cutting accuracy under the same cutting time; moreover, it decreases the cutting time under the same cutting accuracy.
The remainder of this paper is organized as follows. Section 2 describes materials and methods which includes fuzzy control for feed rate scheduling. Section 3 presents the experimental results. Finally, Section 4 presents the conclusions of this study, and future research directions are recommended.

Materials and Methods
In this study, cutting experiments are performed with three shapes: ∞-shaped, tridentshaped, and butterfly-shaped curves. First, the machining shapes are disassembled into discrete coordinate points and converted into processing programs, next, the machining programs extract features from the curvature and curvature variation. After obtaining the required characteristic values, input those values into the fuzzy controller for feed rate scheduling to obtain the feed rate. Subsequently, an average filter is used to adjust the final feed rate and input the final feed rate in the machining program for actual cutting. Finally, the cutting workpiece is scanned with an optical three-dimensional scanner and the cutting path error is verified. Figure 1 shows the experimental procedure of this study.

Processing Machine
A 5-axis CNC processing machine (VT18, Long Chang Machinery Co., LTD., Taichung City, Taiwan) is used in this study as shown in Figure 2. Table 1 lists the parameter settings of the cutting experiments.

Processing Machine
A 5-axis CNC processing machine (VT18, Long Chang Machinery Co., LTD., Taichung City, Taiwan) is used in this study as shown in Figure 2. Table 1 lists the parameter settings of the cutting experiments.

Processing Machine
A 5-axis CNC processing machine (VT18, Long Chang Machinery Co., LTD., Taichung City, Taiwan) is used in this study as shown in Figure 2. Table 1 lists the parameter settings of the cutting experiments.

Cutting Material
The 6061 alloy is primarily composed of aluminum, magnesium, and silicon. It has good mechanical properties and welding performance; it is widely used in the manufacture of aircraft structures, boats, and bicycle frames. Moreover, it shows good corrosion resistance; its corrosion resistance is better than that of ordinary carbon steel. Owing to those properties, an aluminum alloy 6061 sample with dimensions of 110 × 100 × 25 mm 3 is used as the cutting material in the experiment. A cooling cutting fluid is sprayed on the cutting area during processing. Tables 2 and 3 respectively show the mechanical properties and chemical composition of aluminum alloy 6061.

Cutting Tool
A tungsten steel ball knife is used as the cutting tool; it produces a V-shaped groove on the workpiece after cutting. The deepest end point of this groove is the tool tip position used to record the tool movement path. Table 4 lists the specifications of the milling cutter.

Optical Three-Dimensional (3D) Scanner
The optical 3D scanner (ATOS Core, GOM, Braunschweig, Germany) is used to scan the cutting trajectory of the workpiece for verifying the performance of the proposed method. The optical 3D scanner specifications are shown in Table 5.

Non-Uniform Rational Basis Spline (NURBS) Curve Conversion
NURBS curves were first described by Versprille and were standardized internationally in 1991. According to the Standard for the Exchange of Product Model Data (STEP) promulgated by the International Organization for Standardization (ISO), these curves are the only way to use mathematical expressions as a method to define the geometric shape of a product. NURBS curves have been used often in CAD/CAM. A NURBS curve is defined as follows: where P i is the ith control point, w i is the weight of control point P i , N i,p (u) is the p degree basis spline (B-spline), and u = {u 0 ,u 1 ...u n .} are knot vectors, and N i,p (u) can be defined as a recursive function as follows: To disassemble a NURBS curve into the coordinate feature points required by the machining code, the precision required for the machining segment must first be defined. Reference [18] mentioned that they use 800 coordinate points to represent the characteristics of the machining segment. To obtain a more precise machining segment, 2000 coordinate points are generated to represent the machining segment for converting into processing programs in this study. All coordinate points can be obtained by simply inputting the series u with an interval of 0.0005 in the NURBS curve function. Finally, all the coordinate points are written into the numerical control code.

Machining Path Feature Extraction
Many researchers [9,19] showed that the curvature has a great relationship with the machining path error as well as feed rate. Therefore, using a lower feed rate in the machining segment with a larger curvature can effectively reduce the machining path error; however, most scholars used the current curvature as the design method for dynamic feed scheduling. With this method, it is easy to cause excessive acceleration and deceleration in a machining algorithm with uneven curvature distribution. Thus, this study adds the curvature variation as the second condition to enable the dynamic feed scheduling to perform better acceleration and deceleration.

Curvature Calculation
The curvature is a variable that describes the degree of curvature of a curve; at least three coordinate points are required to determine its value. This study is in the XY plane; thus, Figure 3 shows an example of the curvature with three coordinate points (x 1 ,y 1 ), (x 2 ,y 2 ), and (x 3 ,y 3 ). dinate points are written into the numerical control code.

Machining Path Feature Extraction
Many researchers [9,19] showed that the curvature has a great relationship with the machining path error as well as feed rate. Therefore, using a lower feed rate in the machining segment with a larger curvature can effectively reduce the machining path error; however, most scholars used the current curvature as the design method for dynamic feed scheduling. With this method, it is easy to cause excessive acceleration and deceleration in a machining algorithm with uneven curvature distribution. Thus, this study adds the curvature variation as the second condition to enable the dynamic feed scheduling to perform better acceleration and deceleration.

Curvature Calculation
The curvature is a variable that describes the degree of curvature of a curve; at least three coordinate points are required to determine its value. This study is in the XY plane; thus, Figure 3 shows an example of the curvature with three coordinate points ( 1 , 1 ), ( 2 , 2 ), and ( 3 , 3 ).  Assuming this curve is s, its curve equation is given by Equation (4) with six unknowns (a 1 ,a 2 ,a 3 ,b 1 ,b 2 ,b 3 ). Equation (5) can be used to find t a and t b that satisfy Equation (6).

Curvature Variation Calculation
After collecting all curvatures, the curvature variation (Dκ) can be calculated using Equation (10). by sliding the window with a window size (WS) of 30. Using a small window size will cause the feed rate to oscillate where the curvature changes greatly. Using a large window size will cause the curvature value to be big and slow down the feed rate. In this study, we use trial and error to determine the window size. After trial and error, we found that setting the window size (WS) to 30 has a smoother curvature value. To enable Appl. Sci. 2021, 11, 4701 7 of 20 the fuzzy control for feed rate scheduling to use the maximum curvature in the future as the basis for deceleration, the maximum value is used as the curvature variation.

Fuzzy Controller for Dynamic Feed Rate Scheduling
The proposed fuzzy control for dynamic feed rate scheduling has two input dimensions: current curvature (κ i ) and amount of curvature variation (Dκ i ). After fuzzy inference, the current feed rate can be obtained by defuzzification, and all calculated feed rates are input into the average filter to obtain the machining feed rate. Figure 4 shows the architecture of the fuzzy controller for dynamic feed rate.

Curvature Variation Calculation
After collecting all curvatures, the curvature variation (Dκ) can be calculated using Equation (10). by sliding the window with a window size (WS) of 30. Using a small window size will cause the feed rate to oscillate where the curvature changes greatly. Using a large window size will cause the curvature value to be big and slow down the feed rate. In this study, we use trial and error to determine the window size. After trial and error, we found that setting the window size (WS) to 30 has a smoother curvature value. To enable the fuzzy control for feed rate scheduling to use the maximum curvature in the future as the basis for deceleration, the maximum value is used as the curvature variation.

Fuzzy Controller for Dynamic Feed Rate Scheduling
The proposed fuzzy control for dynamic feed rate scheduling has two input dimensions: current curvature ( ) and amount of curvature variation ( ). After fuzzy inference, the current feed rate can be obtained by defuzzification, and all calculated feed rates are input into the average filter to obtain the machining feed rate. Figure 4 shows the architecture of the fuzzy controller for dynamic feed rate.

Fuzzy Rules A. Fuzzification and membership function
Some common fuzzy membership functions include many different types, such as triangles, trapezoids, and Gaussians. In the past literature, it is pointed out that the use of the Gaussian membership function can obtain better experimental results. Compared with the triangular membership function, the use of the Gaussian membership function requires more computing resources and time. Therefore, in this study, we adopted the triangular membership function to define the input and output membership functions. The first input is the curvature membership function where ZO is the minimum curvature, VS is the very small curvature, S is the small curvature, M is the medium curvature, B is the large curvature, and VB is the maximum curvature. The other input is curvature variation where ZO is the very small change, L is a small change, M is a medium change, H is a large change, and VH is an extremely large change. For the output feed rate membership function, VLF is extremely slow speed, LF is slow speed, MF is medium speed, HF is high speed, VHF is very high speed, VVHF is extremely high speed, and TF is the highest speed. Figure 5 shows the membership functions of the curvature, curvature variation, and feed rate. large curvature, and VB is the maximum curvature. The other input is curvature variation where ZO is the very small change, L is a small change, M is a medium change, H is a large change, and VH is an extremely large change. For the output feed rate membership function, VLF is extremely slow speed, LF is slow speed, MF is medium speed, HF is high speed, VHF is very high speed, VVHF is extremely high speed, and TF is the highest speed. Figure 5 shows the membership functions of the curvature, curvature variation, and feed rate.  When inputting the amount of curvature variation, it is first normalized to the interval [0, 1] based on the maximum and minimum values. After many experiments and adjustments, if the curvature variation remains greater than 3, the curvature variation is represented by the maximum value of 3 and is then normalized. The curvature does not need to be normalized and the output is the feed rate percentage. The current feed rate can be obtained by multiplying by the output with the maximum feed rate, and the user is able to adjust the maximum feed rate to meet the machining requirements.

B. Establishment of fuzzy rules
The two inputs curvature (κ i ) and curvature variation (Dκ i ) designed in the previous section have six and five membership functions, respectively, and the output feed rate has seven membership functions. The tool needs to decelerate early before entering the high-curvature area; for this purpose, a low feed rate is used in the high-curvature area, and acceleration is started after leaving the high-curvature area, as shown in Figure 6. According to this rule, a total of 30 control rules are designed as shown in Table 6.

B. Establishment of fuzzy rules
The two inputs curvature ( ) and curvature variation ( ) designed in the previous section have six and five membership functions, respectively, and the output feed rate has seven membership functions. The tool needs to decelerate early before entering the highcurvature area; for this purpose, a low feed rate is used in the high-curvature area, and acceleration is started after leaving the high-curvature area, as shown in Figure 6. According to this rule, a total of 30 control rules are designed as shown in Table 6.

C. Fuzzy inference and defuzzification
After designing the input and output membership functions and fuzzy control rules, fuzzy inference and defuzzification are needed to calculate the control variable . In this study, the Mamdani fuzzy model is used for fuzzy inference and the control variable derived from the Mamdani fuzzy model is defuzzified to obtain the required precise value. Finally, the center of gravity method is used for defuzzification; the control variable is calculated as follows:

C. Fuzzy inference and defuzzification
After designing the input and output membership functions and fuzzy control rules, fuzzy inference and defuzzification are needed to calculate the control variable F. In this study, the Mamdani fuzzy model is used for fuzzy inference and the control variable u Feed derived from the Mamdani fuzzy model is defuzzified to obtain the required precise value. Finally, the center of gravity method is used for defuzzification; the control variable is calculated as follows:

Average Filter
According to the output of the fuzzy controller, a preliminary feed rate value can be obtained. For a simple input graph, the curvature rises and falls stably, the feed rate obtained by the controller is considered relatively stable. By contrast, for a complex input graph, the curvature is unstable causing the output feed rate to oscillate up and down. This study introduces an average filter to eliminate unnecessary oscillations in the feed rate curve. The window size of the average filter (m) is set to 30. The operation of the average filter is presented as follows:

Experimental Results
The ∞ shape, trident shape, and butterfly shape graphics [18,20], represented as NURBS graphs in Figure 7a-c, respectively, are used in the cutting experiment. The sizes of those shapes were shrunk to fit into the aluminum workpiece for cutting experiment in addition 2000-point coordinates are generated by a resolution of 0.0005, and the curvature and curvature variation are extracted through the machining path. Figures 8-10 show the curvature and curvature variation of the ∞ shape, trident shape, and butterfly shape, respectively.

Experimental Results
The ∞ shape, trident shape, and butterfly shape graphics [18,20], represented as NURBS graphs in Figure 7a-c, respectively, are used in the cutting experiment. The sizes of those shapes were shrunk to fit into the aluminum workpiece for cutting experiment in addition 2000-point coordinates are generated by a resolution of 0.0005, and the curvature and curvature variation are extracted through the machining path. Figures 8-10 show the curvature and curvature variation of the ∞ shape, trident shape, and butterfly shape, respectively.

Experimental Results
The ∞ shape, trident shape, and butterfly shape graphics [18,20], represented as NURBS graphs in Figure 7a-c, respectively, are used in the cutting experiment. The sizes of those shapes were shrunk to fit into the aluminum workpiece for cutting experiment in addition 2000-point coordinates are generated by a resolution of 0.0005, and the curvature and curvature variation are extracted through the machining path. Figures 8-10 show the curvature and curvature variation of the ∞ shape, trident shape, and butterfly shape, respectively.      To ensure all the shapes are engraved with the same depth, each aluminum 6061 alloy workpiece will be face-processed before cutting. Furthermore, to prevent the tool from bending, the depth of cut is set to 2 mm. Figure 11a shows the cutting process of an aluminum workpiece, and Figure 11b shows the aluminum workpiece after cutting.  To ensure all the shapes are engraved with the same depth, each aluminum 6061 alloy workpiece will be face-processed before cutting. Furthermore, to prevent the tool from bending, the depth of cut is set to 2 mm. Figure 11a shows the cutting process of an aluminum workpiece, and Figure 11b shows the aluminum workpiece after cutting.  To ensure all the shapes are engraved with the same depth, each aluminum 6061 alloy workpiece will be face-processed before cutting. Furthermore, to prevent the tool from bending, the depth of cut is set to 2 mm. Figure 11a shows the cutting process of an aluminum workpiece, and Figure 11b shows the aluminum workpiece after cutting.   Figure 12a shows a flowchart of optical three-dimensional measurement. First, the surface of the aluminum workpiece can easily refract light; therefore, a developer for measurement must be sprayed before optical measurement, as shown in Figure 12b. Figure 12c shows the scanning with the optical 3D scanner to obtain the geometric features of the workpiece. Figure 13 shows the software output as a binary 3D graphics file. After obtaining the 3D graphics, the deepest coordinate point of the cutting path groove is acquired as the tool tip cutting path. This coordinate is matched to the path of the original machining program, and the shortest distance is calculated as the path error, as shown in Figure 13. measurement must be sprayed before optical measurement, as shown in Figure 12b. Figure 12c shows the scanning with the optical 3D scanner to obtain the geometric features of the workpiece. Figure 13 shows the software output as a binary 3D graphics file. After obtaining the 3D graphics, the deepest coordinate point of the cutting path groove is acquired as the tool tip cutting path. This coordinate is matched to the path of the original machining program, and the shortest distance is calculated as the path error, as shown in Figure 13.  This study performs three experiments. At the same time, three methods proposed by Luan et al. [9], Yeh and Hsu [10], and Giannelli et al. [11] are also adopted to test and compare the results of the proposed method. The lower the tracking error the higher the accuracy and the less machining time the better the machining efficiency is. To performing suitable comparisons, the maximum feed rates, 300, 150, 185, and 58 mm/min, were calculated first according to the methods proposed by scholars before real cutting experiments. Additionally, the properties of the 5-axis CNC processing machine were also taken into consideration during the calculation. surface of the aluminum workpiece can easily refract light; therefore, a developer for measurement must be sprayed before optical measurement, as shown in Figure 12b. Figure 12c shows the scanning with the optical 3D scanner to obtain the geometric features of the workpiece. Figure 13 shows the software output as a binary 3D graphics file. After obtaining the 3D graphics, the deepest coordinate point of the cutting path groove is acquired as the tool tip cutting path. This coordinate is matched to the path of the original machining program, and the shortest distance is calculated as the path error, as shown in Figure 13.  This study performs three experiments. At the same time, three methods proposed by Luan et al. [9], Yeh and Hsu [10], and Giannelli et al. [11] are also adopted to test and compare the results of the proposed method. The lower the tracking error the higher the accuracy and the less machining time the better the machining efficiency is. To performing suitable comparisons, the maximum feed rates, 300, 150, 185, and 58 mm/min, were calculated first according to the methods proposed by scholars before real cutting experiments. Additionally, the properties of the 5-axis CNC processing machine were also taken into consideration during the calculation. This study performs three experiments. At the same time, three methods proposed by Luan et al. [9], Yeh and Hsu [10], and Giannelli et al. [11] are also adopted to test and compare the results of the proposed method. The lower the tracking error the higher the accuracy and the less machining time the better the machining efficiency is. To performing suitable comparisons, the maximum feed rates, 300, 150, 185, and 58 mm/min, were calculated first according to the methods proposed by scholars before real cutting experiments. Additionally, the properties of the 5-axis CNC processing machine were also taken into consideration during the calculation. Figures 14-17 show the feed rate, acceleration, and jerk of cutting the ∞ shape using the three previous methods and our method, respectively. Table 7 lists the processing time, maximum tracking error, minimum tracking error, average tracking error, and standard deviation. Cutting time indicates that CNC finishes executing the G-code of the machining. Figures 14-17 show the feed rate, acceleration, and jerk of cutting the ∞ shape using the three previous methods and our method, respectively. Table 7 lists the processing time, maximum tracking error, minimum tracking error, average tracking error, and standard deviation. Cutting time indicates that CNC finishes executing the G-code of the machining.     Figures 14-17 show the feed rate, acceleration, and jerk of cutting the ∞ shape using the three previous methods and our method, respectively. Table 7 lists the processing time, maximum tracking error, minimum tracking error, average tracking error, and standard deviation. Cutting time indicates that CNC finishes executing the G-code of the machining.     Figures 14-17 show the feed rate, acceleration, and jerk of cutting the ∞ shape using the three previous methods and our method, respectively. Table 7 lists the processing time, maximum tracking error, minimum tracking error, average tracking error, and standard deviation. Cutting time indicates that CNC finishes executing the G-code of the machining.        Figures 18-20 show the feed rate, acceleration, and jerk when cutting the trident shape using the three previous methods. Figures 21 and 22 show the feed rate, acceleration, and jerk when cutting the trident shapes using our method at maximum feed rates of 150 and 300 mm/min, respectively. Figure 23 shows a comparison of the jerk using the three previous methods and our method. Table 8 lists the processing time, maximum tracking error, minimum tracking error, and average tracking error.   Figures 18-20 show the feed rate, acceleration, and jerk when cutting the trident shape using the three previous methods. Figures 21 and 22 show the feed rate, acceleration, and jerk when cutting the trident shapes using our method at maximum feed rates of 150 and 300 mm/min, respectively. Figure 23 shows a comparison of the jerk using the three previous methods and our method. Table 8 lists the processing time, maximum tracking error, minimum tracking error, and average tracking error.                        Figure 23. Jerk when cutting trident shape using (a) method by Luan et al. [9], (b) method by Yeh and Hsu [10], (c) our method with maximum feed rate of 150 m/min, and (d) our method with maximum feed rate of 300 mm/min.

Experiment 3: Cutting Butterfly Shape
Figures 24-26 show the feed rate, acceleration, and jerk when cutting the butterfly shape using the three previous methods. Figures 27-29 show the feed rate, acceleration, and jerk when cutting the butterfly shape using our method at maximum feed rates of 58, 185, and 300 mm/min, respectively. Table 9 lists the processing time, maximum tracking error, minimum tracking error, and average tracking error.

Experiment 3: Cutting Butterfly Shape
Figures 24-26 show the feed rate, acceleration, and jerk when cutting the butterfly shape using the three previous methods. Figures 27-29 show the feed rate, acceleration, and jerk when cutting the butterfly shape using our method at maximum feed rates of 58, 185, and 300 mm/min, respectively. Table 9 lists the processing time, maximum tracking error, minimum tracking error, and average tracking error.

Discussion
The ∞ shape experimental data indicate that although the method by Giannelli et al. [11] has the largest jerk, the cutting speed is mostly as low as 20 mm/min; therefore, it shows the best tracking error while sacrificing the processing time. The proposed method has the same processing time as the method by Luan et al. [9]. The maximum tracking error is better than 0.041 mm, minimum tracking error is better than 0.006 mm, and average tracking error is better than 0.039 mm. Compared with the method by Yeh and Hsu [10], the maximum tracking error is less than 0.004 mm, minimum tracking error is better than 0.001 mm, and average tracking error is less than 0.005 mm; however, our method requires only half the processing time. In experiment 1, the proposed system increases the cutting accuracy by 41% under the same cutting time; moreover, it decreases the cutting time by 50% under approximative same cutting accuracy (0.023 and 0.028).
The trident shape experimental data prove that the method by Giannelli et al. [11] has the best path error performance, although it somewhat sacrifices the processing time. The proposed method uses a maximum cutting speed of 300 mm/min, in which case its

Discussion
The ∞ shape experimental data indicate that although the method by Giannelli et al. [11] has the largest jerk, the cutting speed is mostly as low as 20 mm/min; therefore, it shows the best tracking error while sacrificing the processing time. The proposed method has the same processing time as the method by Luan et al. [9]. The maximum tracking error is better than 0.041 mm, minimum tracking error is better than 0.006 mm, and average tracking error is better than 0.039 mm. Compared with the method by Yeh and Hsu [10], the maximum tracking error is less than 0.004 mm, minimum tracking error is better than 0.001 mm, and average tracking error is less than 0.005 mm; however, our method requires only half the processing time. In experiment 1, the proposed system increases the cutting accuracy by 41% under the same cutting time; moreover, it decreases the cutting time by 50% under approximative same cutting accuracy (0.023 and 0.028).
The trident shape experimental data prove that the method by Giannelli et al. [11] has the best path error performance, although it somewhat sacrifices the processing time. The proposed method uses a maximum cutting speed of 300 mm/min, in which case its

Discussion
The ∞ shape experimental data indicate that although the method by Giannelli et al. [11] has the largest jerk, the cutting speed is mostly as low as 20 mm/min; therefore, it shows the best tracking error while sacrificing the processing time. The proposed method has the same processing time as the method by Luan et al. [9]. The maximum tracking error is better than 0.041 mm, minimum tracking error is better than 0.006 mm, and average tracking error is better than 0.039 mm. Compared with the method by Yeh and Hsu [10], the maximum tracking error is less than 0.004 mm, minimum tracking error is better than 0.001 mm, and average tracking error is less than 0.005 mm; however, our method requires only half the processing time. In experiment 1, the proposed system increases the cutting accuracy by 41% under the same cutting time; moreover, it decreases the cutting time by 50% under approximative same cutting accuracy (0.023 and 0.028).
The trident shape experimental data prove that the method by Giannelli et al. [11] has the best path error performance, although it somewhat sacrifices the processing time.
The proposed method uses a maximum cutting speed of 300 mm/min, in which case its processing time is less than 1 min as with the method by Luan et al. [9], and its maximum tracking error is better than 0.029 mm and average tracking error is better than 0.008 mm. Compared with the method by Yeh and Hsu [10], the average tracking error is poorer than 0.004 mm; yet the processing time is better than 82 s. In experiment 2, the proposed system increases the cutting accuracy by 70% under the approximative same cutting time (46 and 45). Even though our method shows higher average tracking errors in comparison with [10] and [11], the machining time can be saved around 2.8 and 6.5 times, respectively.
The butterfly shape experimental data illustrate that the maximum tracking error of 0.004 mm is better than that of the method by Giannelli et al. [11], average tracking error is better than 0.002 mm, and processing time is half for the same maximum speed. Under the same maximum speed as in the method by Yeh and Hsu [10], the maximum tracking error is better than 0.019 mm, average tracking error is better than 0.003 mm, and processing time is less than 11 s. Our method uses the same maximum speed as the method by Luan et al. [9], and the maximum tracking error is better than 0.029 mm, average tracking error is better than 0.009 mm, and processing time is less than 6 s. In experiment 3, the average tracking error and machining time are all decreasing using the proposed method overall.

Conclusions
In this study, fuzzy control is used to productively schedule a reasonable feed rate, and an average filter is used to effectively reduce jerks to avoid excessive impact on the machine. The experimental results prove that our proposed method can effectively shorten the processing time, improve the cutting precision, as well as providing a stable machining which lower standard deviation of tracking error compared with those of three previously proposed methods.
In the future, dynamic feed rate scheduling could be applied to noncontact processing such as laser cutting and 3D printing. The current study only considers the XY plane, so the Z direction can be considered in future studies for dynamic feed rate scheduling to reach an optimal machining. For fuzzy control system, a fuzzy neural network could be implemented to learn the machining parameters of the machine, thus improving the performance of this method.