Escolar Documentos
Profissional Documentos
Cultura Documentos
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:
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
377
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
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
f f
~i:i~iiiiiil]i!iiii!]!!!ilil]i!]~]!i]!!!!i!]]~
l,
computer-aided 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. 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.
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)
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 raw-stock 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 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(
:::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 ).
CL-DATA OPTIMIZATION
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
381
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.
ir
I Initialize o=(a,l~) I I Comp,,teCL-OataL=~p,,,)]
( Ooo,in,Ch k
I Compute JointValuesJ I
l
]Trynew(ot,13)] No O~
[Trynew(ot,[3)] No
382
computer-aided 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 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)
> 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
!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
iiii|j!iii|iiiiii~
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 chord-length spline surface is constructed which is similar to the nonuniform B-spline surface-fitting
= : : = = ~ l l l l = = ~
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : : : : : : : : : : :
-70
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
. . . . . . . . . . .
-80
=~===~=.=== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
=====~====== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
383
(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 )
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 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).
CONCLUSIONS
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).
-85
Search region
t
Figure 13. Requirement of search curve
s (15, - 85)
384
computer-aided design
REFERENCES
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
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 (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)
11 TOSNUC
Instruction
Manual
Toshiba
12 Gottfried, B S and Weisman, J Introduction to Optimization Theory Prentice-Hall ( 1973 ) 13 Craig, J J Introduction to Robotics Addison-Wesley (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
computer-aided design