GPU-based Optimization of Tool Path Planning in 5-Axis Flank Milling

0 downloads 0 Views 615KB Size Report
improving the computational efficiency in CAD/CAM using GPU. Keywords-5-axis machining; Flank milling; Particle swarm optimization; GPU; tool path planning.
2010 International Conference on Manufacturing Automation

GPU-Based Optimization of Tool Path Planning in 5-Axis Flank Milling

Hsin-Ta Hsieh

Chih-Hsing Chu

Department of Industrial Engineering and Engineering Management National Tsing Hua University Hsinchu, Taiwan [email protected]

Department of Industrial Engineering and Engineering Management National Tsing Hua University Hsinchu, Taiwan e-mail: [email protected]

Abstract—5-axis machining technology has received much attention since the late 90’s. It offers better machining efficiency and superior shaping capability compared with 3-axis machining. Machining error control is considered to be a challenging task in 5-axis flank milling of complex geometries. Previous studies have shown that optimized tool path planning is a feasible approach to reduction of the machining error. However, the error estimation is very time-consuming in the optimization process, thus limiting the practicality of the approach. In this work, we apply GPU computing technology to solve this problem. A PSO-based optimization scheme is developed to generate a series of cutter locations corresponding to a globally minimized machining error. The error induced by each cutter location is simultaneously calculated by the parallel processing units in GPU. This significantly accelerates the search process in the optimization scheme, while the optimal solution remains the same as that obtained by CPU. Our test result demonstrates the potential of improving the computational efficiency in CAD/CAM using GPU.

such as cylindrical and conical surfaces, the surface quality after machining is considered acceptable in practice as long as the amount of tool overcut and undercut can be limited within a given tolerance. Several heuristics-based methods have been developed for determining tool orientation in 5-axis flank milling of ruled surfaces with a focus to minimize the machining deviation. Bohez et al. [3] proposed a method that determines the tool orientation by offsetting the end points of surface rulings. They chose the offset direction as the average of the surface normal at the points. Lartigue et al. [4] estimated the tool swept volume with the envelope surface method. They compared several methods of tool path planning based on the estimated error. Tsay et al. [5] analyzed the influence of the two rotation angles on the amount of tool interference from the simulated errors of various test surfaces. The result works as look-up tables in the tool path planning of B-spline ruled surfaces. Liu [6] proposed to offset the points corresponding to the parameter values 0.25 and 0.75 of a surface ruling with a distance of the tool radius. The offset points determine the tool orientation. A second category of methods attempt to minimize the machining error in 5-axis flank milling using optimization schemes. Bedi et al. [7] applied a nonlinear optimization method for minimizing the tool interference at discrete cutter locations by locally adjusting the tool position and orientation around the contact ruling. Monies et al. [8] positioned the cutter tangent to the ruled surface at three points, i.e. two on the directories and one on the ruling of the surface. The interference errors on the two ends of the ruling are minimized from solving a set of nonlinear transcendental equations imposed on the tool axis. The recent research [9] found that the local optima discretely scattered on the surface do not transform into a global optimum in 5-axis flank milling of ruled surface due to the deviation induced by CNC interpolation. Optimization of cutter locations in a greedy manner does not guarantee a smaller error in view of the entire surface. This finding motivated the approach for the tool path planning based on global optimization schemes. Wu et al. [10] transformed the planning task into a curve matching problem and solved optimal tool path using discrete dynamic programming with the objective as the total machining error. Chu et al. [11]

Keywords-5-axis machining; Flank milling; Particle swarm optimization; GPU; tool path planning

I.

INTRODUCTION

5-axis machining technology has received much attention from industry since the 90’s. It is nowadays commonly used in the manufacture of aerospace, automobile, energy, and mold parts. It provides higher productivity and better quality over three-axis machining. There are two different milling methods in 5-axis machining. The cutting edges near the end of a tool perform material removal in the point milling. The cylindrical part of a tool does the main cutting in flank milling [1]. Tool path planning is one critical issue in any 5-axis machining operation. First, the tool must be properly posed in 3D space with the rotational degrees of freedom so as not to cause any unexpected collisions [2]. Control of machining error is another concern, especially in 5-axis flank milling of complex geometries. Except for machining of simple shapes 978-0-7695-4293-5/10 $26.00 © 2010 IEEE DOI 10.1109/ICMA.2010.31 10.1109/ICMA.2010.33

293 143

employed ant colony system algorithms to solve the same problem, with a focus to improve the computational efficiency. Those studies have shown that global optimization of tool path planning offers a good mechanism of machining error control in 5-axis flank milling, but the optimization process is time-consuming. This seriously limits the practicality of the method in practical use. To overcome this limitation, we apply GPU computing technology to optimization of tool path planning in 5-axis flank milling. A PSO-based optimization scheme is developed to generate a series of cutter locations corresponding to a globally minimized machining error. The parallel processing units in GPU are fully exploited in the vast amount of error estimations during the optimization. This significantly speed up the search for the optimal tool path, while the minimized machining error remains almost the same as that computed by CPU. Our test results verify the feasibility of improving the computational efficiency in CAD/CAM using GPU computing technology. II.

machined surface is considered acceptable as long as the amount of the machining error is smaller than design specification. Thus most path planning methods in 5-axis flank milling attempt to minimize the machining error. The tool path planning in 5-axis flank milling of ruled surfaces is described in Figure 2. Suppose a tool path contains n cutter locations (CL) and each CL specifies the tool center and the tool orientation in 3D space. The cutter location is computed based on the cutter contact line, defined as the connection between a point on one curve and that of the other. It is not necessary that the points are of the same parametric value of the curves; otherwise the tool would follow the surface rulings. The two points are then offset along the surface normal with a distance of the cutter radius. The tool orientation is determined by connecting the offset points.

METHODOLOGY

This section introduces the methods used in this work, which contains three major parts. Tool path planning in 5axis flank milling of ruled geometry is first discussed. The second part describes the estimation method of the machining error employed by this work. The last part explains how to improve the computational efficiency of the tool path planning with the parallel processing techniques provided by GPU.

Fig. 2. Tool path generation from the cutter contact line

The tool path planning is transformed into a 2D curve matching problem through the process just described. It becomes an optimization problem which can be solved by mathematical programming techniques. The objective of the optimization problem is to minimize the error produced on the machined surface compared with the design surface. The solution process involves discrete optimization when the cutter contact lines are generated from pre-defined discrete locations on the boundary curves. It requires continuous optimization when the cutter is allowed to contact at any points of the curves. Better solutions can be attained in the later, as it contains a larger solution space. Particle swarm optimization (PSO) is a meta-heuristic optimization technique inspired by social behavior of bird flocking or fish schooling [13]. In the typical PSO algorithm, a population of random solutions is first initialized and each solution is referred to as a particle. The algorithm searches for optima by updating the population that evolves during the optimization process. The population follows the optimum particles at one iteration. Each particle keeps track of its positions in the solution space associated with the best solution it has achieved so far, noted as pbest. The best value obtained by the neighbors of the particles is called lbest. At each iteration step the PSO process changes the velocity of each particle by directing it towards the weighted sum of the current pbest and lbest.

A(s) B(s) A B S(s, t)

cutter

Fig. 1. Cutter contacts a ruled surface along the ruling

A. Tool Path Planning in 5-axis Flank Milling of Ruled Geometry . The ruled geometry is usually generated by linearly interpolating two curves in 3D space. The line segments connecting the curves are referred to as the ruling lines. Tool interference in simple ruled geometries like cylindrical and conical surfaces does not pose a serious problem. In contrast, both overcut and undercut often occur in the flank milling of complex surfaces. Due to local non-developability [12], it is not possible to completely eliminate the machining deviation when a cylindrical cutter is used. Specifically, the cutter is not able to contact tangentially with both boundary curves at the same time, as shown in Figure 1. In practice, the

144 294

B. Machining Error Estimation Estimation of the machining error is a crucial task in tool path planning of 5-axis flank milling. The estimation method varies in different works [10], depending on individual applications. This study adopts an approximate method developed by the previous study Wu et al. (2008), and it is shown as Figure 3. 1. Determine sampling points.

ˇˁ

the tool with the line segments at each cutter location. ʳ Estimateʳ overcut, undercut, and the total machining error by summing up the remaining lengths of all the line segments after machining. ʳ

ʳ In the error estimation, the most time-consuming part is to intersect the tool and the approximating line segments. Without data pre-processing such as octree representation, it requires m*n computations to accomplish the error estimation when there are m cutter locations and n sample points. The computation load increases proportionally when the number of cutter locations or the sampling density is increased. Our goal is to improve the computational efficiency of this part by exploiting the parallel processing capability offered by GPU.

2. Generate line segments on sampling points.

C. Introduction of GPU Parallel processing indicates the capability of carrying out independent computations simultaneously. Special algorithms or problem transformations are normally needed when more than one CPU or processor core is used to execute a program or multiple computational threads. Modern GPU is designed with built-in parallel processing capability, which makes implementation of parallel computing easier than CPU or general-purpose GPU (GPGPU).

3. Generate cutter locations.

4. Linearly interpolate all cutter locations and intersect every location with the line segments.

(a) CPU Fig. 4. Structure of CPU and GPU [14]

5. Compute machining error.

(b) GPU

The structure difference of GPU and GPU is shown in Figure 4. There is only one continuous block of cache in CPU. A computation thread can be executed only after the data related to all the other threads to be parallel processed is sequentially input and stored in the cache. GPU has a parallel “many-core” architecture, and each core is able to running thousands of threads simultaneously. The memory of GPU consists of a large number of cache blocks. Each block can be independently accessed and controlled by an execution thread. The data required by multiple computation threads is simultaneously stored in different cache elements. A thread can be executed once the data related to it has been stored in the corresponding cache element. It does not have to wait until the data of other threads has been in place. In the estimation of machining error, the error calculated at each

Fig. 3. The schematic of the machining error estimation

Procedures of machining error estimation are described as follows: ˄ˁ A set of points are sampled from the design surface for machining error estimation. ʳ ˅ˁ A line segment is created along the surface normal direction on each sampling point. Another line segment is created along the reversed direction.ʳ ˆˁ Update the length of each line segment by intersecting

145 295

sampling point is irrelevant to that of the others. Thus, it is particularly suitable to parallel processing using GPU, i.e. each cache element is dedicated to computing the error at a sampling point. We adopt Compute Unified Device Architecture (CUDA) developed by NVIDIA for GPU implementation. CUDA is a parallel computing architecture and engine that are accessible to software developers through industry standard programming languages. In addition to graphics rendering and physical modeling, CUDA has also been used to accelerate nongraphical applications like scientific computing and computational biology.

GPU:

The major difference between CPU and GPU codes are from line 09 to line 11, i.e. the nested loop of the machining error estimation. GPU code does not need to have such iterative computation procedure. GPU stores the error estimation of each sampling point into a separate Cache and accomplish all the required computations at one time by parallel processing. III.

TABLE OF FIGURE

Two tests are carried out to compare the computational efficiency between CPU and GPU codes. The first test is to examine the computational efficiency of machining error estimation for different distributions and numbers of sampling points. The second test is combined with an optimization scheme based on PSO for minimizing the machining error. The purpose is to compare the optimal tool paths calculated using GPU and CPU, respectively. Our focus is to check if both optimal results are identical and to show their difference in computational efficiency.

Fig. 5. processing flow of CUDA

Traditional GPGPU technologies do not offer an advanced programming environment. Programmers often have to deal with coding at the level of Assembly Language in their application programs. Recent development of CUDA has significantly reduced the complexity of GPU programming. It offers an IDE (Integrated Development Environment) that is compatible with most C++ compliers and debugging tools. Moreover, it allows development of CPU and GPU codes in one single file, thus lowering the programming complexity. Only the part that requires parallel processing will be executed in GPU. The pseudo codes of the tool path planning are shown as below for both CPU and GPU: CPU:

A. Comparison of Machining Error Estimation A test ruled surface is used to show the difference of computational efficiency between GPU and CPU codes. The surface is constructed with two cubic Bezier curves with control points shown in Figure 6. TABLE I.

CONTROL POINTS OF RULED SURFACE

30.7,0,0.309

A1 A2 A3

42.245,0,-0.449

A4

70,0,2

52.857,0,-2

30.7,10,-0.309

B1 B2 B3

42.245,10,0.449

B4

70,10,-2

52.857,10,2

Fig. 6. Ruled surface and control points

The parameter setting in the test tool path planning is listed as follows. The length and the diameter of a flat-end

146 296

cutter are 30 mm and 2 mm, respectively. Two different tool paths are examined in the test. They consist of 30 and 60 cutter locations determined by taking discrete points of the same parameter interval from the boundary curves. Two intermediate tool locations are liner-interpolated between adjacent cutter locations for the error estimation. The total numbers of tool locations are 90 and 180 correspondingly. The distribution of the sampling point on the surface is shown in Figure 7. There are 9 rows of sampling points along the u direction. Each row contains 180 and 360 sampling points.

Fig. 8. Distribution of undercut and overcut on the test surface.

The same comparison is obtained by doubling the number of sampling points. The result is shown in Table 3. The error estimation based on GPU takes a much shorter computational time, while the estimation result is the same as CPU. The improvement is fairly significant see Table 4. In addition, the more sampling point is the higher efficiency GPU produces. The parallel processing GPU provides is most suitable for computation of a large scale. TABLE III.

Fig. 7. distribution of the sampling point on Ruled surface

Cutter location Sample point error (mm) 1000×50 time (sec) error (mm) 1000×100 time (sec)

Four measures are obtained from the tests: 1. 2. 3. 4.

Number of undercut Number of overcut Machining error estimation Time of error estimation

Cutter location Sample point undercut 1000×50 overcut undercut 1000×100 overcut

For the results of GPU and CPU, it is expected that the numbers of the undercut and overcut points are identical. The difference of the estimated machining errors should be negligible in both cases. Since GPU performs the procedure in a parallel manner, the computational time should be shorter than that of CPU.

TABLE IV. TABLE II. Cutter location Sample point error (mm) 180×10 time (sec) error (mm) 360×10 time (sec)

COMPARED BETWEEN CPU AND GPU COMPARED BETWEEN CPU AND GPU 90 CPU 299.508 118.332 603.162 239.115

GPU 299.508 1.078 603.159 1.984 90

CPU 22060 26989 44973 54126

GPU 22061 26986 44974 54120

180 CPU GPU 302.534 302.527 234.021 1.843 605.989 605.978 473.244 3.718 180 CPU GPU 10368 10369 38681 38679 21498 21499 77601 77596

COMPUTATION TIME BETWEEN CPU AND GPU

COMPARED BETWEEN CPU AND GPU 90 CPU 12.3233 3.938 21.441 7.813

Cutter location Sample point undercut 180×10 overcut undercut 360×10 overcut

GPU 12.3233 0.14 21.4409 0.141 90

CPU 727 902 1385 1864

Tool location Sample point

180

GPU 727 902 1385 1864

CPU 12.0298 7.781 21.1934 15.469

GPU 12.0295 0.171 21.1931 0.218

180×10 360×10 1000×50 1000×100

180 CPU GPU 48 48 1581 1581 712 712 2537 2537

90

180

4.12% 1.80% 0.911% 0.830%

2.20% 1.41% 0.787% 0.786%

B. Comparison of Optimal Tool Path Planning PSO is a stochastic optimization technique inspired by social behavior of bird flocking or fish schooling [13]. The PSO algorithm is initialized with a population of random solutions and searches for optima by updating generations. The potential solutions in PSO, referred to as particles, explore the solution space by following the current optimum particles. Each particle keeps track of its positions in the solution space associated with the best solution it has achieved so far, noted as pbest. Another value recorded during the optimization process is the best value obtained so far by the neighbors of the particles. This location is called l best. When a particle takes all the population as its neighbors, the value becomes a global best gbest. The PSO process changes the velocity of each particle at each time step toward its pbest and lbest positions.

Table 2 shows the calculated results. It can be seen that the numbers of undercut and overcut in GPU and CPU are exactly the same. The machining error has a slight difference, which is presumably from the accuracy of floating point calculation. The computational time of

GPU is much shorter than that of CPU. Figure 8 shows the distribution of overcut and undercut on the sampling points. Both cases have the same error distribution.

147 297

Step 1: N sets tool paths are randomly generated from uniform distribution. Each path corresponds to the location of particle X i . The initial velocity Vi (0) is 0. We obtain the minimal value X gb (0) by computing the machining error

To encode the problem to be solved in the optimization process is essential step in use of PSO. The solution space in our method contains all possible connections from the * boundary curves of the machined surface, described as A(u) & and B(u) , 0  u  1 . As illustrated in Figure 9, a tool path consisting of n cutter locations is represented by a (n × 2) matrix and each entry corresponds to a curve parameter value. We allow the parameter values to vary continuously in the search process. It explores a much larger solution space in which better optima are obtained than those of the discrete methods. It is advantageous to control the direction of cutter movement in the encoding. Consecutive digits in the encoding must increase monotonically, i.e. uiA  uiA1 and

produced by each particle. Step 2: Based on the Eqs.(1) and (2), we compute X i (t ) , Vi (t ) , and f i (t ) for each particle. We replace f ib (t ) with the smaller between f ib (t ) and the error. The same update is applied to f gb (t ) , too. Step 3: The process will terminate after T times of iteration; otherwise it repeats Step 2. The parameters in the PSO algorithm are shown in Table 5. A complete tool path consists of 40 cutter locations. 10 cutter locations are linearly interpolated from consecutive cutter locations obtained from the PSO algorithm, both the tool center point and the tool axis. The weight and the learning factors determine the velocity of particles searching through the solution space. We choose their values as shown in Table 6.

uiB  uiB1 when the cutter can only move forward.

TABLE V.

PARAMENTERS IH THE PSO ALGORITHM

W C1

Fig. 9. PSO encoding of tool path.

The following list defines the parameters and variables in the tool path planning algorithm based on PSO. Xgb(t)˖global optimal location f gb(t)˖the value of Xgb(t) Xib(t)˖the optimal location of particle i in one iteration f ib(t)˖the value of Xib(t) Xi (t)˖the location of particle i at time t f i (t ) : the value of Xi (t)

0.5 0.5

0.5 C2 Number of particles 40 Iteration 40 TABLE VI.

PARAMENT OF CUTTING EXPERIMENT

Number of tool paths 40 Cutting edge length (mm) 30 Cutting Radius (mm) 2 Number of interpolated cutter locations 10

Vi (t ) : the velocity of Xi (t) W: weight C1 , C 2 : learning factors

ʳ C. Test result The optimization processes based on GPU and CPU are shown in Figure 10. Note that PSO is a stochastic computational procedure. The search process can be different each time when the same PSO algorithm is running twice. It can be seen from the figure that the convergence curves of GPU- and CPU-based optimization are quite close. In fact, the optimal solutions are 16.85314 and 16.85256 mm respectively, which can be considered as the same result. The optimal tool paths attained at different iterations during the GPU-based search process are shown in Figure 11. The result is shown with the cutter contact lines on the machined surface. The machining error is decreased as the iteration increases. On the other hand, the computational time of the search process is drastically different in both cases. The GPU-based search process is almost 80 times faster than the CPU-based

rand1 , rand2 : the random numbers generated from the probability distribution of U(0,1) N: the population of particles T : the number of iterations W, C1 , and C 2 are constants to be chosen by the user. The initial velocity of particles is 0. The iteration process of PSO is described as follows: Vi (t  1)  W  Vi (t )  C1  rand1  ( X ib (t )  X i (t ))  C2  rand 2  ( X gb (t )  X i (t ))

(1) X i (t  1)  X i (t )  V i (t )

(2) 0  t  (T  1) , rand1 ~ U (0,1) , rand 2 ~ U (0,1) , i  1,2,...N

The algorithm consists of the following steps.

148 298

process. The test result demonstrates the advantage of using GPU in 5-axis tool path planning.

The GPU-based optimization is thus more efficient than CPU. There is a limit in the number of parallel processing units of GPU. Generally speaking, GPU divides a computing task into three levels: grids, blocks, and threads. The maximum number of blocks in a grid is 65,535. The maximum number of threads to be executed simultaneously in a block is 512. As a result, the maximal number of parallel processing units of CUDATM is 65,535  512.

number of iteration error (mm)

(a)

ʳ

number of iteration error (mm)

number of iteration error (mm)

number of iteration error (mm)

number of iteration error (mm)

(b)

ʳ

0

1

83.15305

60.39082

2

3

44.56377

35.84962

4

5

Error=27.68877

31.34457

10

20

21.38125

17.75407

30

40

16.88834

16.85314

Fig. 11. Optimal tool paths at each iteration during the optimization process. TABLE VII.

COMPUTATION TIME IN CPU-AND GPU-BASED OPTIMIZATIONS

Time CPU 61372.8 (s) GPU 775.6 (s)

(c)

ʳ

Fig. 10. Convergence of machining error in CPU- and GPU-based optimizations

IV.

The most time-consuming part of the search process is to estimate the amount of machining error at each trial, i.e. the machining error corresponding to a particle. As previously stated, GPU can significantly speed up the error estimation.

Multi-axis manufacturing efficiency and milling offers

149 299

CONCULSION

machining has emerged as a powerful technology in terms of both machining capability since the late 90’s. 5-axis flank superior material removal rate, but precise

error control is lack of solutions. Previous studies have shown that the machining error of 5-axis flank milling can be reduced by optimal tool path planning. However, the estimation of the objective in each trial during optimization process is time-consuming, which limits the practicality of this approach. On the other hand, GPU technologies have had a rapid progress in recent years. In addition to graphic applications, people started to apply GPU in various tasks of scientific computing. Among them collision check of 3D object is a typical application. Very few studies have successfully employed such parallel computing in CAD/CAM. This study aims at improving the computational efficiency in optimal tool path planning for 5-axis flank milling of ruled surfaces using GPU. We first compared the error estimation based on the stock height method for both GPU and CPU programs. The computational time in the former can be only 2% of the latter. The degree of acceleration increases with the density of sampling points in the error estimation. In addition, a PSO-based optimization scheme was designed to minimize the machining error of ruled surface in 5-axis flank milling. CUDATM technology was used to implement the optimization algorithm based on GPU. The convergence process of the search for optima is similar and the optimal solutions are considered as identical in both GPU and CPU cases. However, the GPU-based optimization is 80 times faster than that of CPU. The test result has demonstrated the advantage of GPU over CPU, because of its large number of parallel processing units. We have also shown that GPUcoding with CUDATM is simple and concise. It is of a good potential in other CAD/CAM applications. This work can be extended in the following directions. The current computing task processed by GPU is only estimation of machining error. Further improvement of computational efficiency can be obtained by representing each particle in PSO with one process unit in GPU. With the superior computing power provided by GPU, it is possible to optimize tool path in 5-axis machining based real-time simulation of cutting forces.

REFERENCES [1]

[2]

[3]

[4]

[5]

[6] [7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

150 300

Choi, B.K., Park, J.W., and Jun, C.S., “Cutter-Location Data Optimization in 5-Axis Surface Machining,” Computer-Aided Design, 25(6), 377-386, 1993. Li, S.X., and Jerard, R.B., “5-Axis Machining of Sculptured Surfaces with a Flat-End Cutter,” Computer-Aided Design, 26(3), 165-178, 1994. E. L. J. Bohez, S. D. R. Senadhera, K. Pole, J. R. Duflou and T. Tar (1997), “A Geometric Modeling and Five-Axis Machining Algorithm for Centrifugal Impellers,” Journal of Manufacturing Systems, Vol. 16, No. 6, pp.422-436. C. Lartigue, E. Duc and A. Affouard (2003), “Tool Path Deformation in 5-Axis Flank Milling Using Envelop Surface,” Computer-Aided Design, Vol. 35, pp. 375-382. D. M. Tsay and M. J. Her (2001), “Accurate 5-Axis Machining of Twisted Ruled Surfaces,” ASME Journal of Manufacturing Science and Engineering, Vol. 123, pp. 731-738. X. W. Liu (1995), “Five-Axis NC Cylindrical Milling of Sculptured Surfaces,” Computer-Aided Design, Vol. 27, No. 12, pp. 887-894. C. Menzel, S. Bedi and S. Mann (2004), “Triple Tangent Flank Milling of Ruled Surfaces,” Computer-Aided Design, Vol. 36, pp. 289-296. J. Senatore, F. Monies, J.M. Redonnet, W. Rubio, Improved positioning for side milling of ruled surfaces: analysis of the rotation axis’s influence on machining error, International Journal of Machine Tools & Manufacture 47 (2007) 934–945. Chu, C.H., Wu, P.H., and Lei, W.T. (2010) “Tool Path Planning for 5-Axis Flank Milling of Ruled Surfaces Considering CNC Linear Interpolation,” in press, Journal of Intelligent Manufacturing. Ping-Han Wu, Yu-Wei Li, Chih-Hsing Chu, (2008) “Tool Path Planning for 5-Axis Flank Milling Based on Dynamic Programming Techniques.” International Journal of Machine Tools & Manufacture, pp. 1224-1233 Chu, C.H., Tien, K.W., Lee, C.T., Ting, C.J., (2009) “Efficient Tool Path Planning in 5-Axis Milling of Ruled Surfaces using Ant Colony System Algorithms.” , International Journal of Production Research. C. H. Chu and J. T. Chen (2006), “Tool Path Planning for 5-Axis Flank Milling with Developable Surface Approximation,” International Journal of Advanced Manufacturing Technology, Vol. 29, No. 7-8, pp. 707-713. Kennedy, J., and Eberhart, R. C. (1995), Particle swarm optimization, Proc. IEEE International Conference on Neural Networks (Perth, Australia), IEEE Service Center, Piscataway, NJ, IV: 1942–1948 http://www.nvidia.com.tw/object/cuda_home_tw.html#

Suggest Documents