Вы находитесь на странице: 1из 10

Cutter-location data optimization in 5-axis surface machining

B K Choi, J W Park and C S Jun*

A few 5-axis machining software systems 1-3 have been reported, and most of the commercial CAD/CAM systems support 5-axis machining capabilities, but very little has been published concerning 'machining efficiency'. Perhaps the two major issues (ignoring the issue of optimizing cutting conditions) in 5-axis milling are: how to generate cutter-contact paths (or tool trajectories) to give a minimum machining time (or a maximum width of a machined strip), how to generate CL data from the given cutter-contact paths to give minimum cusp heights. The first issue is addressed in Reference 4, in which 'the possibility of reducing machining time by fitting the tool trajectory to the surface shape' is explored. The second issue is the subject of this paper.

A method of generating 'optimal' cutter-location data for 5-axis NC contour milling from given cutter-contact data is presented in the paper. The cutter-location dataoptimization problem is formulated as a 2D constrained minimization problem. The cutter orientation angles consisting of the tilt angle ~ and yaw a n g l e / / a r e used as decision variables. An analytic expression for approximate cusp heights is derived as a function of ~,~ (for a given path interval) to be used as a measure of optimality. The proposed optimization scheme has been successfully applied in the 5-axis face milling of large marine propellers.
5-axis NC machining, cutter-location data generation, cusp heights

5-axis contour milling is widely used in the machining of turbine blades 1, impellers 2 and marine propellers 3. The machining of large sculptured surfaces on 5-axis NC machines is usually based on face milling4, while end mills are used for 'smaller' sculptured surfaces ~. In 5-axis contour milling, the milling cutter is tilted forwards in the direction of the feed. This technique is known as Sturz milling 1. As shown in Figure 1, 5-axis contour milling in general requires four stages of information processing:


In this section, some terminologies used in the paper are introduced, and the goal of CL-data optimization is informally stated. The surface of the raw stock to be machined is called the raw-stock surface, and the final smooth surface to be produced is called the part surface. A mathematical description of the part surface is called the surface data r(u, v). As shown in Figure 2, two stages of metal removal are usually required to produce a smooth sculptured surface. The raw stock is first machined away by a series of milling operations to obtain a machined surface, and then the uncut volumes (i.e. the cusps left by the milling cutters) are removed by grinding operations to obtain the smooth part surface. A point on the part surface at which the cutter is planned to make contact is called the cutter-contact point e. A series of cutter-contact points may form a cutter-contact path. The distance between a pair of adjacent cutter-contact paths is called the path interval d.

Cutter contact paths are generated from the input surface data. Cutter-location data (CL data) are obtained from the cutter-contact data, and then the CL data are converted to joint values of the 5-axis machine. Bounded-deviation joint path planning 5 is performed, if necessary, to ensure straight-line trajectories. Finally, the resulting joint values are postprocessed to obtain NC-codes.
IE Department, Korea Advanced Institute of Science & Technology, 373-1, Gusung-dong,Yusong-gu,Taejon, Korea *GyeongsangNational University,Chinju, Korea Paper received: 8 June 1992. Revised: 30 October 1992

volume 25 number 6 june 1993

0010-4485/93/060377-10 @ 1993 Butterworth-Heinemann Ltd


B K Choi, J W Park and C S Jun

Cutter Contact Path Generation

The face-milling cutter shown in Figure 3 is making a point contact with the part surface r(u,t~) at a cutter-contact point e. The cutter has two degrees of freedom, which have to be fixed to determine a unique cutter location. It is convenient to define an orthogonal coordinate frame at c. The unit vector in the direction of the cutter-feed motion is called a cutter-feed vector f, and a unit tangent vector perpendicular to f is called a surface-tangent vector t. Then, a unit normal vector n is defined as n = f x t. Thus, the three unit vectors f, t, n and the position c define an orthogonal coordinate frame

CL-Data Optimization CC-Data to CL-Data Conversion CL-Data to Joint Value Conversion

Bounded Deviation Joint Path Planning I I Post-Processing [

Figure 1. Information processing.for 5-axis machining

H = (f, t, n, e). The cutter location in Figure 3 is called a zero location in which the bottom of the face-milling cutter is seated on the f t plane making a point contact with the t n plane at e. Now, the shank of the cutter is tilted to the direction of f (i.e. rotated around t) while maintaining the point contact at e, as shown in Figure 4a. Depicted in Figure 4 are three orthogonal views of the cutter (i.e. the face of the cutter viewed from n and f, and the side of the cutter viewed from t). The rotation angle shown in Figure 4a is known as the Sturz angle I, but we call it the tilt angle ~. If the cutter in a zero location is rotated around the normal vector n, while still maintaining the point contact at e, the resulting Cutter location becomes the one shown in Figure 4b. This second rotation angle is called the yaw angle [L These two angles completely define the orientation of the face-milling cutter, and so they constitute the cutter orientation 0 = (~, [t). Figure 4c shows the three orthogonal views of the cutter with both

Raw stock surface

Machined surface

Figure 2. Metal removal in sculptured-surface machining; ( a ) milling, ( b ) grinding


f f

computer-aided design

Figure 3. Cutter location and coordinate frame (f, t, n, c)


Cutter-location data optimization in 5-axis surface machining

t b t f

i i i~i i i i i i i ~i i i i i i l_.


F i g u r e 4. Cutter-orientation angles and orthogonal views; ( a ) ct > O, fl = O, ( b ) ~ = O, fl > O, ( c ) ct > O, fl > O, ( d ) ellipse with 2D coordinate frame

the tilt and yaw angles ~, fl being positive (fl can be negative). In this general cutter location, the bottom face of the cutter appears as an ellipse in each of the orthogonal views. The elliptic view of Figure 4c projected on the t - n plane is shown again in Figure 4d in which a 2D coordinate frame is defined such that the center point of the ellipse becomes the origin, and the vectors t and n, become the x axis and y axis, respectively. The angle between the major axis of the ellipse and the x axis is the ellipse rotation angle O. The minor radius of the ellipse is denoted by a. Notice that the major radius of the ellipse is equal to the cutter radius R. The location of a cutter is completely specified by the cutter-center position p and the cutter-axis vector u. The tuple L = (p, u) is called the CL data. The information at a cutter-contact point used in obtaining CL data is called the cutter-contact data, or CC data 6. In 3-axis NC machining, a cutter-contact point c and a surface normal vector n constitute CC data, because the tuple (e, n) gives unique CL data for a given cutter type. However, in 5-axis machining, the local coordinate frame at the cutter-contact point is treated as CC data. Namely, the tuple (c, f, t, n) becomes CC data for 5-axis machining. With reference to Figure 2, for a given set of CC data, the goal of CL-data optimization is to produce an

'optimal' machined surface that can be converted to the final part surface at a 'minimum' grinding cost.


The CL data L = (p, u) for given CC data C = (c, f, t, n) becomes a function of the cutter orientation 0 = (~, fl). For a given cutter orientation 0 = (~, fl), it can be shown that the cutter-axis vector u is expressed as a linear combination of the coordinate-axis vectors f, t, n : u = cos~n + sin ~(cos flf + sin fit) (1)

When the cutter-axis vector u is not parallel to the normal vector n, the cutter position p is given by p=c+R(uxnxu)/luxnl (2a)

where R is the radius of the cutter. If u and n are parallel, the cutter position may be set to
p = e - Rf (2b)


Without loss of generality, we can set the radius of the cutter to 1 (i.e. R = 1 ). This normalization simplifies our discussion somewhat. Note that the major radius of the

volume 25 number 6 june 1993


B K Choi, J W Park and C S Jun

normalized ellipse (of Figure 4d) is always 1. The equation of the normalized ellipse at a given cutter orientation (et, fl) is completely specified by its minor radius a and the rotation angle O. An elementary algebraic manipulation gives the following (observe in Figure 4d that the CC point e is on the ellipse, and the tangent of the ellipse at e is t): a = sin ~cos 3 0 = atan ( - tan ~ sin/3)

to be (see the Appendix ) dc = ( 2 / c o s 0 ) / ( l +(tan0/a)21 14)

where 0 and a are as given in Equation 3. Further, if d exceeds 2/cos 0, the cusp height is undefined (the cusp height in this case becomes the distance between the part surface and the raw-stock surface). As shown in the Appendix, the cusp height H shown in Figure 5 is given by


H(~,flld)=tsin~-xsinO+ycosO O<d<~dc ~sin7 sin O + ( n - a ( 2m - m2 ) 1,'2) d~<d<2/cosO


where a is the minor radius and 0 is the rotation angle of the normalized ellipse. A cusp is an uncut volume left in-between a pair of adjacent cutter paths. More exactly, the uncut volume is obtained by subtracting the part surface r (u, v) from the machined surface generated by the contour milling. The height of a cusp is defined as a local maximum of the thickness of the uncut volume. Thus, cusp heights are dependent on the local geometry of the part surface, and also on the magnitude ofthepath interval d. Cusp heights for ball end milling are easily determined 6-1, but exact cusp heights for 5-axis face milling can only be computed from an extensive cutting simulation 7 and surface evaluation, which is a very time-consuming process. Thus, we propose a method of computing approximate cusp heights for 5-axis machining. Assuming that the part surface r(u, v) is smooth, it is approximated by its tangent plane at the cutter-contact point e. Further, for given values of the cutter orientation (~,3) and the path interval d, the cusp height is approximated from the construction shown in Figure 5. The identical ellipses (of Figure 4d) a distance d apart define a cusp as shown in Figure 5 (the tinted area). The approximate error increases as the curvature of the part surface across the cutter-contact paths increases. It would be interesting to extend the cusp-height construction to accommodate the effect of the curvature. This extension will reduce the approximation error, but may have little effect on the CL-data optimization problem. In Figure 5a, the two 'lower-half' ellipses (shown by the solid lines) yield an intersection point, which means that the cusp is formed by the face of the cutter alone. When the path interval d exceeds a certain value, the cusp is formed by the face as well as the side of the cutter, as in the case shown in Figure 5b. The critical value dc of the path interval separating these two cases is found

where 0 < ~ < 90, - 9 0 < fl < 90, d c is the critical value of d given by Equation 4, x = (m + (n2(4 - m 2 - n2)/ (m 2 + n2))1/2)/2, y = - a ( 1 X2) 1/2, m = dcos 0, n = d sin O/a, and a, 0 are as given by Equation 3. When the yaw angle is 0, the above equation reduces to the cusp-height formula presented in Reference 10, namely

H(e, 01d) = sin 2(1 - (1 - (d/2)2) 1/2 ) For a given path interval d, the cusp-height equation of Equation 5 is a smooth nonnegative function defined over the entire region of the cutter orientation space, 0 < ~ < 90 and - 9 0 </3 < 90. It can be shown that Equation 5 is an even function of ft. Namely, we have H(~, flld) = H(~, - f l l d ) . In practice, the range of the tilt angle ~ is limited further (to perhaps at most 45 ) when a face-milling cutter is used. In the case of marine-propeller machining 3, for example, ~ e [ 2 , 15]. Contour maps of the cusp-height function for d = 0.1,0.5, and 1.0 are shown in Figure 6 over the range of~ e [0, 45] and f i e [ 0 , 80]. In all the contour maps, the cusp height at the bottom-left corner is zero, i.e. H ( 0 , 0 1 d ) = 0 . The maximum values of the cusp heights are at the top-right corners : H(45, 80 ]0.1 ) = 0.0237 H(45, 80[0.5) = 0.1890 H(45,8011.0) = 0.4218 A contour line corresponds to a cusp height of about 0.0012 for d = 0.1, 0.0095 for d = 0.5, and 0.0211 for d = 1.0. Observe in Figure 6 that the cusp heights are increasing functions of ~ for a fixed value of 3 (and of 3 for a fixed value of ~) in the 'practical' range of the cutter orientation.

::i!:" :i(




Figure 5. Construction of cusp-height approximation

380 computer-aided design

Cutter-location data optimization in 5-axis surface machining

Figure 6. Contour map of cusp-height function; ( a ) d = 0.1, ( b ) d = 0.5, ( c ) d = 1.0

Figure 7.

Instances of 9ougin9


A 5-axis NC machine has at least two revolute joints (or at most three prismatic joints). Many of the 'standard' 5-axis machines have a linkage structure of the P--P--P--R--R type, where R and P denote revolute and prismatic joints respectively. A vertical 5-axis machining center manufactured by Cincinnati Milacron (with a 950-MC controller) is an example. The Toshiba 1 machine used for marine-propeller machining is of the R--P--R--P--R type, while the machine used for impeller machining 2 is of the R - - R - - P - - P - - P type. In all of the 5-axis machines, the cutter orientation (~,fl) is severely constrained by the ( r e v o l u t e ) j o i n t limits. The two revolute joints of the Cincinnati Milacron machine have a joint range of _+25, and one of the revolute joints of the Toshiba machine has a range of _+21.6 . With particular given CC data, a considerable

portion of the ~, fl space would turn out to be infeasible, owing to the joint limit over. The second constraint on the ~, fl space comes from 9ougin9 (meaning that the cutter overcuts the part surface). Instances of 9ougin9 are shown in Figure 7. A cutter orientation that results in gouging becomes infeasible. The third source of infeasible cutter orientation comes from 'collisions' between the machine structure and the workpiece (and between different parts of the machine structure ).

Since unique CL data L = (p, u) is obtained once the cutter orientation 0 = (ct, fl) is fixed, CL-data optim&ation is equivalent to finding an optimal (feasible) value of O = (ct, fl) for each set of CC data C = (c, f, t, n). In this paper, the cusp height given by Equation 5 is used

volume 25 number 6 june 1993


B K Choi, J W Park and C S Jun

as a measure of optimality (assuming that the grinding cost is proportional to the cusp height). Thus, the CL-data optimization problem may be formulated as follows : minimize H ( a, fl Jd ) (6)

as given by Equation 5, subject to (a) no gouging, (b) no joint limit over, and (c) no collisions. The formulation in Expression 6 is a 2D constrained optimization problem. The objective function is monotonic (see Figure 6), and, as a result, an optimal solution lies on the boundary of a feasible region. There may be more than one feasible region or no feasible region at all. Since the feasible region cannot be identified in advance, some form of search technique has to be used to solve Expression 6. A description of the search problem is given in Figure 8. The first step is to initialize the orientation 0 = (~, fi) for the current CC data Ci = (e, f, t, n). If the CC data corresponds to the first point of a tool path, the orientation angles are set to zero (i.e. =/3 = 0). Otherwise, the previous solution (7,/3 at C~_ 1) is used as an initial value. The main loop of the search procedure has three 'check' routines, and two 'computation' routines. The three check routines are (a) the cutter-gouging check routine, (b) the joint limit-over check routine, and (c) the collision check routine. The two computation routines are (a) the CL-data computation routine (Equations 1 and 2), and (b) the joint-value computation routine (inverse kinematic solution ). At the beginning of the main loop, the input CC data C i is converted to CL data L~ = (p, u) for the current orientation value 0 = (~,/3). The next step is to check whether the milling cutter at L~ gouges the part surface. When no gouging is detected, L~ is converted to a

joint-value vector J~ by solving the inverse kinematic equations of the 5-axis machine. If all the components of J~ are within their joint limits (i.e. the limit-over check is satisfactory), then the 3D locations of the machine components (usually spindle motors) are compared with the workpiece for a possible collision. To speed up the 9ouging-check and collision-check operations, the part surface r(u. v) can be stored in a nonparametric Z map form 7. For a gouging check, the Z values of a set of points sampled from the bottom face of the cutter are compared with the Z map of the part surface. This approach was applied in the marinepropeller machining, and found to be working fine. If all the three 'check' routines are satisfactory, we have a 'feasible' solution. Otherwise, the current orientation O = (~,fl) is an 'infeasible' solution. Once a feasible solution is obtained, a systematic search is made (within the feasible region) until no more improvement is observed. At this stage, one may use the so-called feasible-direction method 12. On the other hand, when the current solution is an infeasible one, a new cutter orientation is tried until a feasible solution is obtained or the search space is exhausted (in the latter case, there is no feasible cutter location for the input CC data C~). Here, a 2D grid search may be the only choice if no knowledge about the feasible region is available. The above search procedure is very time-consuming in general because the main loop needs a considerable amount of computation (and there are usually thousands of pieces of CC data). In particular, the 'gouging-check' and the 'collision-check' routines have to deal with volume-intersection problems, and the inverse kinematic solution may need numerical ,~terations. If we have some information about the shape of the feasible region, a more efficient search method can be devised, as will be seen in the next section.

I Initialize o=(a,l~) I I Comp,,teCL-OataL=~p,,,)]


The authors have developed a dedicated piece of CaM software 3 for the 5-axis machining of large marine propellers (up to 10m in diameter and 60 tons in weight) for a ship-building company in Korea. The parts (copper-alloy casting) are machined on a dual-spindle 5-axis Toshiba 11 machine. An overall view of the machine is shown in Figure 9. A part to be machined is loaded onto the table which provides the C motion of the machine. The kinematic structure of the machine is easily modeled using the Denavit-Hatenberg representation 13, but an iterative numerical search is required to obtain the inverse kinematic solution 3. Face-milling cutters of about 25 cm in diameter are used for the machining of the marine propellers. The face-milling cutter is shown in Figure 10. The company has been producing marine propellers for years by using a proprietary piece of CaM software from a Japanese company on a licensed basis. Currently, a commercial CAD system is being used in designing the marine propellers. The part surface (i.e. one side of the

( Ooo,in,Ch k

I Compute JointValuesJ I

]Trynew(ot,13)] No O~

[Trynew(ot,[3)] No

Figure 8. Search procedure for CL-data optimization


computer-aided design

Cutter-location data optimization in 5-axis surface machining



method introduced in Reference 7. A view of the resulting composite surface (consisting of 12 x 17 bicubic patches) is shown in Figure 11. In the marine-propeller machining, cutter-contact paths are generated in the u direction (i.e. the circular direction). The 'technical data' for path intervals in centimeters (for a NACA-type blade) are as follows: < 3 m diameter blade : 8 ( - 0 . 4 R ) ; 10 (0.5-0.9R); 6 (0.95-1.0R) 3-5 m diameter blade : 10 ( - 0 . 4 R ) ; 12 (0.5-0.9R); 7 (0.95-1.0R) 5-7 m diameter blade : 12 ( - 0 . 4 R ) ; 14 (0.5-0.9R); 8 (0.95-1.0R)

Figure 9. Dual-spindle 5-axis machine

> 7 m diameter blade : 14 ( - 0 . 4 R ) ; 16 (0.5-0.9R); 9 (0.95-1.0R) For technical reasons, the blade surface is divided into three regions, and different values of path intervals are specified. In the above example, the three regions are the region within 0.4 radius of the blade, the region between 0.5 radius and 0.9 radius, and the region over 0.95 radius. If cutter-contact paths are generated according to the above specification, about 20 or more paths are obtained along 'v-constant'

isoparametric lines.
Further, the allowed range of the tilt anole is 2-15 , and the yaw angles in the machining configuration are always negative (they are not allowed to exceed - 8 5 ). In summary, we have 2~<a~<15

-85~</~<0 Figure 10. Face-milling cutter used in 5-ax& machin#~9

d~0.8 In this particular case, the feasible region for typical CC data is always of the shape shown in Figure 12




-2 ~JJ!J~J~Ji~ii~JJiJilJiiJiJi~JJ~iilJJJJJJ~J~iJJ~#


Figure 11. Surface of one side of blade

-~ | [ [ J i i i i i i i i i ! i i i i '

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

blade) of a typical marine propeller is defined initially as a 13 18 array of 3D points; the number of points in the radial direction (called the v direction) is 18, and that in the circular direction (u direction) is 13. The 13 3D points in the u direction sequence lie on a concentric circle. From the input data array, a chord-length spline surface is constructed which is similar to the nonuniform B-spline surface-fitting

= : : = = ~ l l l l = = ~

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : : : : : : : : : : :


: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

. . . . . . . . . . .


=~===~=.=== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
=====~====== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Figure 1 l Feasible regionfor typical CC-data

volume 25 number 6 june 1993


B K Choi, J W Park and C S Jun

(we have yet to determine the reason). For some CC-data points, however, the feasible region grows to cover the entire domain (i.e. ~ e [2, 15],/3 e [ - 85, 0] ) or shrinks and disappears (i.e. no feasible solution exists ). To avoid an expensive 2D search, a smooth search curve can be defined for the ~,/3 domain, from the lowest cusp-height point (~ = 2 and /3 = 0) to the highest point ( ~ = 15 and / 3 = - 8 5 ) as shown in Figure 13. The curve should pass through the feasible region if it exists. Thus, the search curve should be selected from a family of curves located above the diagonal line joining the upper-left corner (c~ = 2, /3 = 0) and the bottom-right corner (~ = 15, /3 = - 8 5 ) of the domain. The actual shape of the search curve may be determined by changing its fullness. The requirement for the search curve is met by a conic-section curve. Thus, a reasonable choice for the parametric search curve r(u) is a rational quadratic' Bbzier curve 7 with its three control vertices Vi at the corners of the rectangular domain, as shown in Figure 14. Namely, V 1 = p(2, O) V 2 = q(15, 0)
V3 : S(15, - - 8 5 )




Search region

s=V 3
Figure 14. Rational Bkzier search curve

The fullness of the curve is easily controlled by varying the middle weight 09 of the rational curve. We tried different values of co, and found that ~o = 1 was a good choice (making it a nonrational curve). The search procedure of Figure 9 has been implemented as a 1D search along the search curve r(u) of Figure 14. The 1D (binary) search was found to be very efficient (compared with the 2D scheme), without there being a noticeable difference in the quality of the solution. At the early stage of the development, a version of the 2D search scheme was implemented, but was found to be impractical, because it took forever to compute 'optimal' CL data on a 386 IBM PC (we did not reach the end of the run, but it was expected to take more than 50h to process the data for a marine propeller). The company is currently using the CAM software
0 ( 2 , O) q (15, O)

running on 386 IBM PCs, and it takes about 2 h to complete the job (of Figure 1) for a large-size marine propeller. Of the 2 h, the CL-data optimization step alone is expected to take about 40 rain. As to the actual time required for a complete 5-axis machining, the company states that it takes about 4 0 h of NC machining (excluding the setup time) for an 8 m (in diameter) marine propeller, and about 60 h for a 9.8 m propeller. The grinding operations are performed manually by skilled operators, which also takes a few days, including handling. As to the optimality of the proposed CL-data optimization method, the authors of the paper were not able to verify it (experimentation with marine propellers was not permitted, because the price of a typical marine propeller is several hundred thousand dollars ). The company states that the CAM software developed by the authors resulted in a considerable saving in machining time while giving an improved machined quality (compared with the previous version).

In the paper, the CL-data optimization problem in 5-axis face milling is formulated as a 2D constrained minimization problem in terms of the cutter-orientation angles or,/3. To use the cusp height as the objective function of the optimization problem, an analytic expression of the cusp height is obtained in terms of the tilt angle ~, yaw angle/3, and path interval d. The proposed optimization scheme has been applied to the 5-axis face milling of marine propellers. In this specific application, the optimization problem has been efficiently implemented as a 1D search problem. However, a further study is needed to understand the structure of the CL-data optimization problem in general. In the paper, it is assumed that the cutter path planning is performed offline, but it will be interesting to see whether the proposed CL-data optimization scheme can be extended to online cutter path planning (meaning that the cutter path planning and the CL-data optimization are considered at the same time).


Search region

Figure 13. Requirement of search curve

s (15, - 85)


computer-aided design

Cutter-location data optimization in 5-axis surface machining

1 Mason, F '5 x 5 for high-productivity airfoil milling' Amer. Machinist (Nov 1991) pp 37-39 2 Takeuehi, Y e t aL '5-axis control machining based on solid model' J. Precision Eng. Vol 56 No 11 (1990) pp 111-116 (in Japanese) 3 Choi, B K et al. 'Development of a 9-axis marine propeller machining system' Project Report Korea Advanced Institute of Science & Technology, Korea (1991) (in Korean) 4 Mareiniak, K 'Influence of surface shape on admissible tool positions in 5-axis face milling' Comput.-AidedDes. Vo119 No 5 (1987) pp 233-236 5 Taylor, R 'Planning and execution of straight line manipulator trajectories' in Brady, M (Ed.) Robot Motion: Planning and Control MIT Press, USA (1982) pp 265-286 6 Choi, B K et aL 'Compound surface modeling and machining' Comput.-Aided Des. Vol 20 No 3 (1988) pp 127-136 7 Choi, B K Surface Modeling for C A D / C A M Elsevier (1991) 8 Kim, D H and Choi, B K 'Calculation of economic CL-data for sculpture surface machining' J. KIIE Vol 9 No 2 (1983) pp 27-35 (in Korean) 9 Loney, G C and Ozsoy, T M 'NC machining of free form surfaces' Comput.-Aided Des. Vol 19 No 2 (1987) pp 85-90 10 Viekers, G W and Quan, K W 'Ball-mills versus end-mills for curved surface machining' J. Eng. Industry (Trans. ASME) Vol 111 (1989) pp 22 26

Y E1
,(m,n) ~ L




I' Figure 15. Construction for cusp-height calculation

If the above ellipses are scaled in the y direction by 1/a, the equations of the resulting circles are X2 + y2 = 1 for Co, and (x-m) 2 + (y-k) 2 = 1 for Ca, where k = n/a = d sin O/a. The condition for the two 'lower-half' circles (i.e. ellipses) to intersect is that the distance between the point ( 1, 0) and the center point of C a is less than 1. That is, we need to have ((m -- 1) 2 + ( k - 0)2) 1/2 ~< 1 (9) (8)


600M Machine (1985)




12 Gottfried, B S and Weisman, J Introduction to Optimization Theory Prentice-Hall ( 1973 ) 13 Craig, J J Introduction to Robotics Addison-Wesley (1986)

APPENDIX Derivation of cusp-height Equation 5

The minor radii of the ellipses in Figure 15 are a and the major radii are 1. The second ellipse E 1 is obtained by translating E o by d in the direction of 0. Note that the cusps in Figure 15 are the same as the cusps in Figure 5. The height of the cusp is the distance between the intersection point p and the common tangent line L. The equations of the ellipses in Figure 15 are x 2 + y2/a2 = 1 for Eo, and ( x - m ) 2 + ( y - n ) 2 / a 2= 1 for E 1, where a = sin ~ cos/~, m = d cos 0, and n = d sin 0. (7)

Equation 4 for the critical value of d is a direct result of the above relation. Further, if m is greater than 2, which is equivalent to d > 2/cos 0, the cusp is undefined. If the condition in Expression 9 holds, the intersection point p in Figure 15a is obtained by solving Equations 8, and then scaling back the y value: P = (Px, Py) where Px= (re+s)~2 py = --a(1 -- px2)1/2 s 2 = k 2 ( 4 _ m 2 _ k z ) / ( m 2 + k 2) (10)

volume 25 number 6 june 1993


B K Choi, J W Park and C S Jun If Expression 9 does not hold, the intersection point p in Figure 15b is given by p~, = 1 and
py = n a(2m

and the distance of L from the origin is a o = sin the distance between p and is expressed as

namely the cusp height, (ll)

m2) 1/2

H = sin~ - p.n Since the unit normal vector of the tangent line L is given by n = (sin O, - c o s O)

Rearranging the terms in Equation 11, the cusp-height Equation 5 is obtained.


computer-aided design