A method of generating 'optimal' cutterlocation data for 5axis NC contour milling from given cuttercontact data is presented in the paper. The cutterlocation 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 5axis face milling of large marine propellers.
5axis NC machining, cutterlocation data generation, cusp heights
5axis 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 5axis NC machines is usually based on face milling4, while end mills are used for 'smaller' sculptured surfaces ~. In 5axis 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, 5axis contour milling in general requires four stages of information processing:
Cutter contact paths are generated from the input surface data. Cutterlocation data (CL data) are obtained from the cuttercontact data, and then the CL data are converted to joint values of the 5axis machine. Boundeddeviation joint path planning 5 is performed, if necessary, to ensure straightline trajectories. Finally, the resulting joint values are postprocessed to obtain NCcodes.
IE Department, Korea Advanced Institute of Science & Technology, 3731, Gusungdong,Yusonggu,Taejon, Korea *GyeongsangNational University,Chinju, Korea Paper received: 8 June 1992. Revised: 30 October 1992
377
The facemilling cutter shown in Figure 3 is making a point contact with the part surface r(u,t~) at a cuttercontact 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 cutterfeed motion is called a cutterfeed vector f, and a unit tangent vector perpendicular to f is called a surfacetangent 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
H = (f, t, n, e). The cutter location in Figure 3 is called a zero location in which the bottom of the facemilling 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 facemilling cutter, and so they constitute the cutter orientation 0 = (~, [t). Figure 4c shows the three orthogonal views of the cutter with both
f f
~i:i~iiiiiil]i!iiii!]!!!ilil]i!]~]!i]!!!!i!]]~
l,
computeraided design
378
nIo
t b t f
i i i~i i i i i i i ~i i i i i i l_.
c
C
F i g u r e 4. Cutterorientation 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 cuttercenter position p and the cutteraxis vector u. The tuple L = (p, u) is called the CL data. The information at a cuttercontact point used in obtaining CL data is called the cuttercontact data, or CC data 6. In 3axis NC machining, a cuttercontact 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 5axis machining, the local coordinate frame at the cuttercontact point is treated as CC data. Namely, the tuple (c, f, t, n) becomes CC data for 5axis machining. With reference to Figure 2, for a given set of CC data, the goal of CLdata optimization is to produce an
'optimal' machined surface that can be converted to the final part surface at a 'minimum' grinding cost.
When the cutteraxis 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)
379
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)
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 rawstock surface). As shown in the Appendix, the cusp height H shown in Figure 5 is given by
(3)
where a is the minor radius and 0 is the rotation angle of the normalized ellipse. A cusp is an uncut volume left inbetween 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 61, but exact cusp heights for 5axis face milling can only be computed from an extensive cutting simulation 7 and surface evaluation, which is a very timeconsuming process. Thus, we propose a method of computing approximate cusp heights for 5axis machining. Assuming that the part surface r(u, v) is smooth, it is approximated by its tangent plane at the cuttercontact 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 cuttercontact paths increases. It would be interesting to extend the cuspheight construction to accommodate the effect of the curvature. This extension will reduce the approximation error, but may have little effect on the CLdata optimization problem. In Figure 5a, the two 'lowerhalf' 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 cuspheight 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 cuspheight 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 facemilling cutter is used. In the case of marinepropeller machining 3, for example, ~ e [ 2 , 15]. Contour maps of the cuspheight 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 bottomleft corner is zero, i.e. H ( 0 , 0 1 d ) = 0 . The maximum values of the cusp heights are at the topright 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(
:::P"
'k
b
c'
Figure 7.
Instances of 9ougin9
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 ).
CLDATA OPTIMIZATION
Since unique CL data L = (p, u) is obtained once the cutter orientation 0 = (ct, fl) is fixed, CLdata 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
381
as a measure of optimality (assuming that the grinding cost is proportional to the cusp height). Thus, the CLdata 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 cuttergouging check routine, (b) the joint limitover check routine, and (c) the collision check routine. The two computation routines are (a) the CLdata computation routine (Equations 1 and 2), and (b) the jointvalue 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
jointvalue vector J~ by solving the inverse kinematic equations of the 5axis machine. If all the components of J~ are within their joint limits (i.e. the limitover 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 9ougingcheck and collisioncheck 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 socalled feasibledirection 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 timeconsuming 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 'gougingcheck' and the 'collisioncheck' routines have to deal with volumeintersection 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.
ir
I Initialize o=(a,l~) I I Comp,,teCLOataL=~p,,,)]
( Ooo,in,Ch k
I Compute JointValuesJ I
l
]Trynew(ot,13)] No O~
[Trynew(ot,[3)] No
382
computeraided design
RAM
(B)
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 marinepropeller machining, cuttercontact paths are generated in the u direction (i.e. the circular direction). The 'technical data' for path intervals in centimeters (for a NACAtype blade) are as follows: < 3 m diameter blade : 8 (  0 . 4 R ) ; 10 (0.50.9R); 6 (0.951.0R) 35 m diameter blade : 10 (  0 . 4 R ) ; 12 (0.50.9R); 7 (0.951.0R) 57 m diameter blade : 12 (  0 . 4 R ) ; 14 (0.50.9R); 8 (0.951.0R)
> 7 m diameter blade : 14 (  0 . 4 R ) ; 16 (0.50.9R); 9 (0.951.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 cuttercontact paths are generated according to the above specification, about 20 or more paths are obtained along 'vconstant'
isoparametric lines.
Further, the allowed range of the tilt anole is 215 , 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
!o
12
t4
iiiJJJiJiiiiiiiiiiiiiiiJliiiiiiHiiiiiiiiiiiiiiiiiii!
~
2 ~JJ!J~J~Ji~ii~JJiJilJiiJiJi~JJ~iilJJJJJJ~J~iJJ~#
~iiiiiiE~iiilmliljiiiiiiiiiiiiiiiiiiHiiii!!~''"'
~  [ [ J i i i i i i i i i ! i i i i '
_oo
iiiij!iiiiiiiii~
mmiiiiiiiii~
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 chordlength spline surface is constructed which is similar to the nonuniform Bspline surfacefitting
= : : = = ~ l l l l = = ~
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : : : : : : : : : : :
70
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
. . . . . . . . . . .
80
=~===~=.=== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
=====~====== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
383
(we have yet to determine the reason). For some CCdata 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 cuspheight 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 upperleft corner (c~ = 2, /3 = 0) and the bottomright 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 conicsection 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 )
p=
V1
q=V2
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 largesize marine propeller. Of the 2 h, the CLdata optimization step alone is expected to take about 40 rain. As to the actual time required for a complete 5axis 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 CLdata 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).
CONCLUSIONS
In the paper, the CLdata optimization problem in 5axis face milling is formulated as a 2D constrained minimization problem in terms of the cutterorientation 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 5axis 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 CLdata 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 CLdata optimization scheme can be extended to online cutter path planning (meaning that the cutter path planning and the CLdata optimization are considered at the same time).
85
Search region
t
Figure 13. Requirement of search curve
s (15,  85)
384
computeraided design
REFERENCES
1 Mason, F '5 x 5 for highproductivity airfoil milling' Amer. Machinist (Nov 1991) pp 3739 2 Takeuehi, Y e t aL '5axis control machining based on solid model' J. Precision Eng. Vol 56 No 11 (1990) pp 111116 (in Japanese) 3 Choi, B K et al. 'Development of a 9axis 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 5axis face milling' Comput.AidedDes. Vo119 No 5 (1987) pp 233236 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 265286 6 Choi, B K et aL 'Compound surface modeling and machining' Comput.Aided Des. Vol 20 No 3 (1988) pp 127136 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 CLdata for sculpture surface machining' J. KIIE Vol 9 No 2 (1983) pp 2735 (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 8590 10 Viekers, G W and Quan, K W 'Ballmills versus endmills for curved surface machining' J. Eng. Industry (Trans. ASME) Vol 111 (1989) pp 22 26
Y E1
,(m,n) ~ L
a
x=l
.(re,n)
Eo
X
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 (xm) 2 + (yk) 2 = 1 for Ca, where k = n/a = d sin O/a. The condition for the two 'lowerhalf' 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)
11 TOSNUC
Instruction
Manual
Toshiba
12 Gottfried, B S and Weisman, J Introduction to Optimization Theory PrenticeHall ( 1973 ) 13 Craig, J J Introduction to Robotics AddisonWesley (1986)
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)
385
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
L,
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)
386
computeraided design
Гораздо больше, чем просто документы.
Откройте для себя все, что может предложить Scribd, включая книги и аудиокниги от крупных издательств.
Отменить можно в любой момент.