COMPUTER-AIDED DESIGN Computer-Aided Design 35 (2003) 347±357
www.elsevier.com/locate/cad
Rolling ball method for 5-axis surface machining P. Gray, S. Bedi*, F. Ismail Automation and Control Group, Department of Mechanical Engineering, University of Waterloo, Waterloo, Ont., Canada N2L 3G1 Received 26 June 2001; revised 20 October 2001; accepted 24 November 2001
Abstract Curvature matching for 5-axis surface machining has been plagued by the complexity of the task. As a result the current tool positioning strategies are likewise computationally complicated. Gouging the surface has been the main concern and has presented the greatest dif®culty in the algorithms. Some of the methods perform exhaustive searches of the surface to avoid gouging while others incrementally adjust the tool orientation until gouges are no longer detected. In this paper a new positioning strategy is presented that is simple to implement and is not dif®cult to compute. The rolling ball method rolls a variable radius ball along the tool path and positions the cutting tool to cut the rolling ball. A small region of the ball's surface is used to approximate a small region of the surface being machined. The radius of each ball is computed by checking a grid of points in the area of the surface that the tool casts a shadow for each tool position. A pseudo-radius is computed for each grid point and the most appropriate radius is selected to be the rolling ball's radius. The selection process follows a hierarchy of surface pro®les ranging from convex to concave. Convex, concave, and saddle (mixed) surface regions are all computed in a similar fashion and there are no special cases for which the positioning strategy must be changed to compute a tool position. Local gouge checking is automatically built-in to the positioning computations so that the typical iterative strategy of checking for gouging, then incrementally tilting the tool until no gouges are detected is eliminated. The method is robust and simple to implement and it only requires surface coordinates and surface normals. A simulation of the method and a cutting test were performed and are presented in this document. Crown Copyright q 2002 Published by Elsevier Science Ltd. All rights reserved. Keywords: Five-axis; Machining; Surface
1. Introduction Surface machining is performed for a variety of products including dies, molds and turbine blades. Typically ballnose endmills are used for ®nish milling operations. They are simple to program for three and 5-axis machines as the center of the ball always lies along the normal of the surface at a distance equal to the radius of the ball. Interference is easy to detect with the inside±outside method using the analytic geometric equation of a sphere [1]. A ball-nose endmill will not gouge most surfaces as long as the radius of the ball is less than the radius of curvature at the cutter contact point. On the other hand, a bull-nose (toroidal) or corner-radius endmill is preferred for surface machining because higher surface speeds can be achieved at lower rotational speeds leading to higher feedrates which gives higher metal removal rates [2] and an improved surface ®nish. Corner-radius endmills can be used in 3, 4, or 5axis machining but they are more dif®cult to program as * Corresponding author. Tel.: 11-519-888-4567 x2178; fax: 11-519888-6197. E-mail address:
[email protected] (S. Bedi).
multiple solutions exist for each tool position and interference with the workpiece can easily occur, often unexpectedly. Five-axis machining is inherently more complicated than 3-axis machining. It is critical to check for interference and travel limitations. The motion of the machine is far less intuitive and the machine itself is less rigid. To position a corner-radiused endmill a cutter contact point (ccp) is selected and, depending on the method, the tool is positioned according to surface characteristics at or around that ccp. Methods vary from simply ®nding a solution to ®nding a tool position and orientation that minimizes the distance between the whole tool and the surface to advanced methods which match the tool to the local shape of the surface. There are three general methods that have been developed. The ®rst development is known as Sturz method. The cutter axis is set to a ®xed angle with respect to the surface normal and feed direction at the ccp. The second, multi-point machining (MPM) pivots the tool about the ccp in an attempt to generate a second ccp for each tool position. The third method, known as the principle axis method (PAM) or curvature matching [3,4] attempts to match the curvature of the surface at the ccp by tilting the tool such
0010-4485/03/$ - see front matter Crown Copyright q 2002 Published by Elsevier Science Ltd. All rights reserved. PII: S 0010-448 5(02)00056-8
348
P. Gray et al. / Computer-Aided Design 35 (2003) 347±357
Fig. 1. Rolling ball method.
that the projected effective radius of the tool matches that of the curvature of the surface. Further details of these methods can be found in Refs. [1±5,8,9] but some details are outlined in the body of this paper for completeness. To successfully implement PAM and the Sturz method, each tool position must be checked for local gouging; a secondary process that is more expensive both computationally and time-wise than the original positioning strategy. When a gouge is detected, the tool is incrementally inclined further and checked for gouging until the tool clears the part. This increases the apparent curvature of the tool and lifts the tool further away from the surface. This technique of gouge avoidance is only applicable to the local vicinity of the cutting face of the tool and does not check for tool shank and tool holder interference with the part, ®xture, or clamping devices. It is, however, a suf®cient check for open face free form surfaces. For MPM, gouge checking and avoidance are part of the algorithm and do not need to be performed separately. However, the basic tool position algorithm is very time consuming. PAM uses local curvature information generated at one speci®c point on the surface to position the tool. This approximation fails frequently because the tool is a spatial entity and to position it without gouging, regional surface information under the shadow of the tool is needed. MPM on the other hand uses regional surface information via searching for the second ccp. Though MPM generates gouge-free tool positions, it comes at the expense of an extremely complex algorithm. 1.1. Local gouge detection versus global interference detection It is important at this point to make a distinction between gouge detection and avoidance versus interference detection and avoidance. The purpose of 5-axis surface machining is to match the tool's cutting surface as closely as possible to the model surface so as to cut as wide a strip as possible without gouging the surface. With the attempt to cut a wider strip the area about the ccp is in danger of being gouged. Furthermore, the backside of the tool may also gouge the surface. For these reasons, gouge detection algorithms are critical to any 5-axis tool positioning strategy. Some
methods inherently check for gouging within the algorithm such as MPM and the rolling ball method (RBM) proposed in this paper. Others rely on gouge detection to eliminate gouging by iteratively checking for gouges and tilting the tool incrementally until gouges are no longer detected for each tool position. This is usually performed as a secondary simulation and gouge avoidance algorithm. It is this secondary simulation and iterative gouge check and avoidance routine that the RBM eliminates in an ef®cient fashion. It is important to note that regardless of the positioning strategy all tool paths suffer from the possibility of interference of the tool and tool holder with the work piece and its ®xture. Thus, every tool path must ultimately, in some way, be checked for global interference whether it be a visual check or through simulation software. With complicated parts, ®xtures, and tool paths this is an essential secondary operation to be performed. For simple operations or when machining open face surfaces it is not as critical. 1.2. Research goals There are two goals of this work. The ®rst is to simplify the tool positioning computation. The strategy should not be based on optimization and exhaustive search routines because these are slow and unpredictable in the sense that the routines may not converge to a solution. Furthermore, these types of algorithms require special parameters that are dif®cult to set and require a mathematical understanding of the algorithm and parameters. The second goal is to have a built-in gouge checking and avoidance system to eliminate the need for a secondary gouge checking and correction process. It is not the intention of this work to eliminate tool path simulation for detection of global interference of the tool shank and tool holder with the work piece. A clear distinction between local gouge versus global interference detection and avoidance has been made in Section 1.1 for the purpose of this work. In this paper a method is presented to match the curvature of a corner-radiused endmill to that of a region of a surface. It is relatively simple to calculate for convex, concave, saddle, and planar surfaces and gouge avoidance is built-in the method. 1.3. Introduction to the rolling ball method The basic idea of the RBM is to roll a varying radius ball along a tool path on a surface (Fig. 1) and position the cutting tool inside the ball (Fig. 2). The ball is guaranteed to have one ccp and it approximates the model surface in a speci®ed area around the ccp as a sphere. The radius of the ball is the critical piece of data that must be generated. To evaluate the radius of the ball, the pseudo-curvature of the surface is computed for a grid of points in a small area about the ccp where the tool will be positioned. (Pseudo-curvature is a term that refers to the general radius of a sphere that is ®tted to a region of a surface which approximates the surface region. The term is explained in more detail later.) Thus only a small section of the rolling ball sphere is used to
P. Gray et al. / Computer-Aided Design 35 (2003) 347±357
349
Fig. 3. Sturz method (taken with permission from Warkentin et al. [6]).
Fig. 2. Circular line of contact between a toroidal tool and a sphere for a concave surface region.
approximate the region of the surface that the tool casts a shadow on. These calculations are simple because they only require surface coordinates and surface normals. The `most concave' radius of curvature is used as the radius of the ball. This ensures that the tool will not gouge the surface because it is the smallest ball that will ®t in the area without gouging the surface while maintaining contact at the ccp. In contrast to PAM and other methods that use curvatures computed at a single point on the surface, the RBM uses regional information around the ccp beneath the tool to determine the curvature of the region instead of the curvature at a single point. Two methods were used to verify this theory. An advanced simulation program was created to check for gouging tool positions and to view the generated tool path. An actual cutting test was performed to physically prove the theory. The sample workpiece was measured with a CMM and the data compared to the CAD model to verify the accuracy of the positioning strategy. Computation times are also included for different tool dimensions.
typically between 5 and 108. Obviously the tool will not be optimally positioned for every point but the gains in metal removal rate are signi®cant over 3-axis surface machining [6]. The dif®cult question is: at what angle should the tool be inclined? If the angle is too high then lower gains in metal removal rate will occur. If it is too low the tool may gouge the workpiece. This means that the tool paths generated must be simulated and checked for gouging with the design surface. If any is detected the tool path must be regenerated with a larger inclination angle. 2.2. Multi-point machining In contrast with the Sturz method, MPM is one of the most complicated 5-axis tool positioning strategies. The objective of MPM is to position the tool such that there are two ccps instead of only one. This is a mathematically dif®cult task that involves searching speci®c areas for potential candidates for the second ccp for each tool position. The tool is forced to maintain contact at the ®rst ccp. It is then rotated about two independent axes until an optimal position is achieved that minimizes the distance between the tool and the second ccp [7,8] (Fig. 4). The method also fails to converge to a solution in some cases. Due to the complexities of the algorithm this method would have limited use in industry.
2. Other 5-axis tool positioning strategies Tool positioning in 5-axis has generally focused on positioning a milling cutter on a surface such that it does not gouge the model surface. There are several ways to accomplish this, three of which are reviewed here. 2.1. Sturz or inclined tool This is the simplest method for 5-axis positioning. The tool is inclined at a constant angle in the feed direction about the ccp in the plane containing the ccp, the feed direction and the surface normal [5] (Fig. 3). The inclination angle is
Fig. 4. Multi-point machining.
350
P. Gray et al. / Computer-Aided Design 35 (2003) 347±357
iterative procedure of gouge checking and tool position adjustment is then performed until the tool is clear of the surface. This is not ef®cient and the computation time for each position is unpredictable and varying. For these reasons industry has not bene®ted from these sophisticated positioning strategies and has only implemented the Sturz method because it is simple, reliable, and robust. 3. Rolling ball method 3.1. Overview Fig. 5. Principle axis method (taken with permission from Warkentin et al. [6]).
2.3. Principle axis method PAM is actually a degenerate case of MPM where the two ccps converge to a single ccp. The tool position is selected based on the local principle curvatures of the surface at the ccp. The tool is inclined about the maximum curvature direction by an angle such that the effective projected radius of the tool is equal to the minimum radius of curvature [9] (Fig. 5). Originally the feed direction was chosen to follow the direction of minimum curvature computed at each ccp. However, the method has been modi®ed to permit tool paths in any direction [1]. The inclination angle computed from the maximum curvature is a starting point for an iterative search for an angle that does not cause gouging. Thus each tool position must be incrementally checked for gouging and adjusted until it is gouge-free. The axis about which the tool is lifted is selected in an ad hoc manner or by an optimization method that can be time consuming and temperamental. The secondary step of gouge checking and avoidance makes this technique dif®cult to implement. 2.4. Discussion The common dif®culty encountered with all the methods is that they are extremely complicated to implement; the calculations and algorithms are dif®cult. Often the methods require data from the surface that is dif®cult to compute such as curvature which requires directional second derivatives. The data required may not be available if the surface does not have high enough continuity in all directions or the surface is given as a triangulated set of data points. Sometimes these dif®culties can be overcome by using numerical computation methods which are often impractical to implement because of the complexity of implementation, long calculation times, and unreliable results if the solution does not converge. Often special code to detect and account for special cases has to be implemented. Furthermore, for most of the positioning methods, local gouge checking is not part of the tool positioning strategy and the strategy only gives a starting point. A secondary process involving an
The principle objectives in the development of the RBM was to simplify the computation for 5-axis tool positioning and to make a robust algorithm capable of machining complex surfaces reliably without having to perform a secondary local gouge checking and avoidance procedure. To accomplish this it was determined that the method should use simple algorithms based on regional information of the surface in the area surrounding the tool and is applicable to all types of surfaces and surface de®nitions. The method is a derivative of PAM and MPM in that it takes the best features of both and combines them into a unique tool positioning strategy that produces gouge-free tool positions. It can be thought of as a ball of varying radius rolling along the surface in the direction of the tool path (Fig. 1). The tool is placed inside the rolling ball and maintains contact at the ball's ccp similar to PAM but it will not gouge the surface and the inclination angle is only computed once. Similar to MPM but in contrast to PAM, the RBM uses regional information around the ccp to compute the curvature of the region below the tool instead of curvature computed at a single point. However, unlike MPM, the RBM is a stable algorithm that is simple to implement and fast to compute. 3.2. Theory RBM uses the principle of MPM to position the cutting tool inside of a rolling sphere. It can be shown that any cylindrical or toroidal tool can be placed on a sphere and have a full circular line of contact with the sphere [10] (Figs. 2 and 6). A modi®cation of the PAM strategy is used for positioning the rolling ball. In PAM the curvature values computed at the ccp are local in nature and do not provide any information about the surrounding area which, in many cases, will cause the tool to gouge the surface. For the RBM, a pseudo-radius of curvature is calculated for each point of a grid of points in the vicinity of the ccp where the tool contacts the surface. The rolling ball radius is selected as one of the pseudo-radii of curvature of the grid of points and used for positioning the tool at the speci®c ccp. Depending on the regional surface characteristics in the area of the grid of points, the rolling ball approximates the surface region as either convex or concave or as a ball of in®nite radius if the surface is a ¯at planar area. Determining the regional
P. Gray et al. / Computer-Aided Design 35 (2003) 347±357
351
Fig. 6. Toroidal tool positioned on outside of sphere for convex surface regions.
surface pro®le is automatic in the algorithm because the radius is used to determine the concavity or convexity of the region. Tool positioning for concave regions is identical to tool positioning for convex regions. The identical approach to all surface pro®les makes the RBM very robust and reliable. Saddle regions (mixed concave and convex) are considered to be concave because the RBM positioning strategy will lift the tool further above the surface for concave balls than for convex balls. A hierarchy was developed to determine which of the pseudo-radii computed from the shadow checking area should be used for the rolling ball. The radius is selected as the `most concave' radius computed from the shadow checking area. Fig. 7 shows this hierarchy structure. 3.3. Radius of rolling ball This is the key element to the RBM. The radius of the ball depends on the surface region around the ccp. When a tool is positioned in 5-axis to touch the surface at the ccp, it may gouge the region of the surface where the tool resides. In order to compute a tool orientation that does not cause gouging, the positioning strategy must take into account the shape of the surface in the shadow of the tool as the tool is being positioned. The shadow region over which the rolling ball radius must be calculated depends on the tool orientation and is not initially known. This means that the shape and size of this region must be estimated in order to position the tool. Though the shape of the region is arbitrary, it must encapsulate all possible shadows that the tool could cast onto the surface once it is positioned. In our implementation we use a circular region. The region is an oversized estimate of the shadow the tool will project onto the surface once it is positioned. This shadow area is divided into a grid of points which are used to determine the rolling ball's radius (Fig. 8). A pseudo-radius of curvature is computed for each
Fig. 7. Hierarchy for rolling ball radius selection.
shadow area grid point. The pseudo-radius of curvature is de®ned as the radius of the circle whose center lies along the surface normal at the ccp and the circle passes through the ccp and the shadow area grid point (Fig. 9) (Eq. (1)). This is similar to the calculation of the osculating plane presented by Farin [11] for three-dimensional spline curves. A potential radius for the ball is computed at each grid point in the shadow-area beneath the tool. Each radius is compared and the ®nal rolling ball radius is selected as the `most concave radius' found in the shadow area checking region. The most concave radius refers to a hierarchy for the radius of curvature shown in ®gure (Fig. 7). The `most concave radius' is the most concave radius of the shadow region. It is used to ensure that the tool position is matched to the highest protruding point in the shadow region which guarantees no gouging will occur provided the shadow-checking grid is dense enough. It ensures that the tool will be lifted higher than all the other points where potential radii are calculated. ~E ~ 2E´
1 ~ ^E 2 £ n´ ~ is the SÅhadow_checking_pt 2 cÅcp, nà the Surface where, E normal at ccp and r is the pseudo-radius of curvature.
r
Fig. 8. Schematic of the shadow checking area boundary and grid points.
352
P. Gray et al. / Computer-Aided Design 35 (2003) 347±357
Fig. 9. Schematic of the pseudo-curvature circle.
This is a simple task when using functional parametric surfaces where the control points are mapped linearly from the domain to Euclidean space. For functional parametric patches the checking area can be stored as a constant array of Du and Dv parameters measured as offsets from the u and v coordinates of the ccp. Unfortunately the algorithm for calculating the shadow area cannot be implemented so easily for surfaces that are not linearly mapped between the domain and Euclidean spaces. A marching method would then be required to outline the boundaries of the shadow checking area. 3.4. Positioning the tool inside the rolling ball Positioning the tool inside the rolling ball is a simple matter. Warkentin et al. [10] showed that any cylindrical tool, be it toroidal or ¯at-ended can be positioned in a sphere such that it forms a circular line of contact. For RBM the tool is placed such that it maintains contact at the ccp and has a circular line of contact with the rolling ball (Fig. 2) (Eqs. (2) and (3)). The RBM matches convex surface regions by positioning the tool on the outside of the rolling ball (Fig. 6). This can only be done using toroidal tools that have a clearance in the bottom center area. q a Rsphere 2
Rsphere 2 r2 2 R2major
2 Toolcenter0
0; 0; a Toolcenter1 Rx;f Toolcenter0 2 Toolcenter2
^ x du
6 6 du 6^ y 6 6 6 du ^ 4 z 0
^ x dv
n^x
^ y dv
n^y
^ z dv
n^ z
0
0
ccpx
3
7 ccpy 7 7 7Toolcenter 7 1 ccpz 7 5 1
where Rsphere is the rolling ball radius, Rmajor the major radius of toroidal tool, r the minor radius of toroidal tool, a the initial z-height of a toroidal tool inside the rolling ball with it's axis aligned with the z-axis, ccp (ccpx,ccpy,ccpz), the ^
du ^ x ; du ^ y ; du ^ z ; the cutter contact point coordinate, du ^ tangent to surface in u-parametric direction at ccp, dv ^ x ; dv ^ y ; dv ^ z ; the tangent to surface in v-parametric direc
dv tion at ccp, n^
n^ x ; n^ y ; n^z ; the surface normal at ccp, [Rx,f ] the rotation about x-axis by the tool inclination angle f for a
rolling ball centered at (0,0,0), Toolcenter0 the tool center position inside rolling ball sphere centered at the origin (0,0,0), Toolcenter1 the tool center rotated about the x-axis by the inclination angle f such that the tool contacts the bottom of the rolling ball where the z-axis intersects the ball and this will be the ccp, Toolcenter2 is the tool center transformed such that the lowest point of the rolling ball touches the surface at the ccp and the z-axis of the ball is aligned with the surface normal. ^ axis
0; 0; 1 Tool 0
3
^ axis Rx;f Tool ^ axis Tool 1 0 2
^ x du
6 ^ ^ axis 6 Tool 6 du 2 4 y ^ z du
^ x dv ^ y dv ^ z dv
n^ x
3
7 7^ n^ y 7Tool axis1 5 n^z
where Toolaxis0 is the tool axis vector inside rolling ball sphere centered at the origin (0,0,0), Toolaxis1 the tool axis rotated about the x-axis by the inclination angle f such that the tool contacts the bottom of the rolling ball where the zaxis intersects the ball and this will be the ccp, Toolaxis2 is the tool axis rotated such that the lowest point of the rolling ball touches the surface at the ccp and the z-axis of the ball is aligned with the surface normal. 3.5. Tool path generation Typical tool paths for surface machining move the tool along constrained x, y, or z directions along isoparametric lines or in a spiraling fashion. In the RBM, the tool path can be as complicated or as simple as desired. The tool can turn corners or change feed directions simply by changing the shadow area boundaries and computing the rolling ball radius for the new region. The tool can then be pivoted about the ccp inside the rolling ball sphere. This permits the ability to perform sharp turns, commonly found in zigzag or spiral surface cutting routines, smoothly without any gouges. 3.6. Convex curvature matching A simple check for convex curvature matching had to be implemented to avoid interference of the protruding surface and the bottom of non-center cutting corner radius endmills (Fig. 10). If the convex surface point has too small a radius then the rolling ball may interfere with the center of the cutting tool. To avoid this the minimum allowable convex radius is used as the rolling ball radius instead of the radius computed from the shadow area (Eq. (4)). This effectively lifts the backside of the tool and prevents the center area from interfering with the surface (Fig. 11). Rballconvex
2 2
Min2clearance 1 R2major 2 rminor 2 £
rminor 2 Minclearance
4
P. Gray et al. / Computer-Aided Design 35 (2003) 347±357
353
Fig. 11. Rolling ball radius substitution for tool center clearance.
possibilities. Fig. 12 shows the test surface and Table 1 is a list of the control points.
Fig. 10. Tool center clearance for convex machining.
Rballconvex is the minimum rolling ball radius for a convex surface region, Minclearance the user-speci®ed minimum safety clearance between the tool center and the surface, Rmajor the major radius of toroidal tool, rminor is the minor radius of toroidal tool. 4. Testing the rolling ball method To test the RBM a simulator for tool paths was constructed to check for gouging and an actual cutting test was performed for a sample surface. 4.1. Tool path generation and RBM implementation The RBM algorithm described in the previous section was implemented with a few additional items that limit the selection of some of the free parameters. These parameters and items are discussed in the following sections. 4.1.1. Test surface The test surface is a bi-cubic Bezier patch. It was chosen to be a functional patch (to have a linear mapping between the domain space and Euclidian space) to simplify the computation of the shadow area and boundary. The control points were chosen to create a complex and dif®cult surface to machine to demonstrate the robustness of RBM. The bicubic surface has convex, concave and saddle (mixed concave and convex) regions, which test all the positioning
4.1.2. Tool path and adaptive forward step algorithm For simplicity tool passes were chosen to follow adjacent isoparametric lines of the test surface. As the tool moves along the tool path its trajectory is a function of the milling machine's kinematics. To minimize deviation of the tool from the planned course, a tool path must contain numerous points. As the distance between points decreases, the controller processing time increases. This can lead to the machine starting and stopping for every move while waiting for the next command. To avoid this a simple adaptive forward step algorithm was used to maximize the distance between ccps. A linear transition is assumed over the relatively short distances between two consecutive ccps. The cutter will cut off peaks between ccps in convex sections and will leave material between ccps in concave sections. The adaptive forward step searches for the next ccp along the selected isoparametric line by incrementally marching forward and computing the pseudo-radius of curvature between the current ccp and the next potential ccp. The pseudo-radius of curvature is de®ned in Fig. 9 and Eq. (1). A straight line cuts the circle of radius equal to the radius of curvature between the current and next potential ccp. The
Fig. 12. Cutting test surface.
354
P. Gray et al. / Computer-Aided Design 35 (2003) 347±357
Table 1 Test surface control points (mm) x y z
0 0 0
0 50.8 0
0 101.6 0
0 152.4 0
45.72 0 0
45.72 50.8 0
45.72 101.6 245
45.72 152.4 245
93.98 0 245
93.98 50.8 245
93.98 101.6 0
93.98 152.4 0
139.7 0 0
139.7 50.8 0
139.7 101.6 0
139.7 152.4 0
Table 2 Computation times for different tool dimensions Major radius (mm)
Minor radius (mm)
Total number of tool positions
Total computation time (s)
Number of tool positions/second
Number of shadow checking grid points/second a
12.7 12.7 19.05 19.05
6 3 6 3
2297 1787 1583 1379
32.427 25.256 22.332 19.418
70.83 70.75 70.88 71.01
283 283 283 284
a
344 021 439 066
Each tool position was generated with the same 200 £ 20 shadow checking grid points described in Section 4.1.3.
maximum distance between the straight line and the arc between the ccps is the approximate gouge or lift between ccps due to the forward movement of the tool. The next ccp is the point at which the computed gouge or lift is less than or equal to the maximum allowable value provided by the user. For the simulation and cutting tests, this value was set to ^0:00127 mm: A minimum forward step distance in the domain space was speci®ed as 0.00005 to prevent data overload to the controller. This corresponds to a distance of 0.006985 mm. This distance is also used as the marching increment distance to ®nd the next ccp. A maximum forward step distance was speci®ed in the domain space as 0.01 (1.397 mm) in the v-direction to minimize the deviation due to machine kinematics described earlier. 4.1.3. Shadow area and boundary The shadow area boundary was chosen to be a circle in the u±v domain. The center of the circle is located at a distance of the major radius of the torus of the cutting tool away from the
Fig. 13. Tool path simulation.
ccp opposite to the feed direction (Fig. 8). The grid points were placed at varying radial distances from the center of the shadow circle. The number of points for each concentric circle was set to 200 and the number of concentric circles was set to 20 giving a total of 4000 shadow area grid points to check for each tool position. The numbers chosen here, though arbitrary, are more than suf®cient in the author's opinion after having tested the software with a large variation in the parameters. It is important to note that these parameters can signi®cantly affect the accuracy of positioning and ultimately the tolerance to which the tool may gouge the surface. Clearly a formal study of the effect should be undertaken some time in the future to further understand the behavior of this tool positioning strategy. However, the high density of shadow area grid points was used because the computation time is very small (around 70 tool positions computed per second). Table 2 shows the different computation times required for four different tool sizes to generate a tool path for the test work piece
Fig. 14. Cutting test surface.
P. Gray et al. / Computer-Aided Design 35 (2003) 347±357
355
Fig. 15. Cutting test surface.
Fig. 16. Cutting test surface.
using the adaptive forward step algorithm. These times were generated using an Intel Pentium III, 900 MHz processor. The functional bi-cubic test surface simpli®es the computation of the shadow area grid points. The grid points were stored as an array of Du and Dv values to be measured from the u, v coordinate of the ccp. The shadow area grid points for each tool position can then be easily calculated simply by offsetting the array of delta domain coordinates by the domain coordinate of the ccp.
indicating a gouge has occurred. The magnitude of the gouge is approximately the magnitude of the intersecting ray. Results of the simulation indicate that no numerically signi®cant gouges occurred. The data also indicates that the Adaptive Forward Step algorithm works well because all the detected gouges are smaller than the maximum allowable gouge parameter. All of the detected gouges are less than the maximum allowable gouge of 0.00127 mm. The largest gouges detected are 0.001072 and 0.001120 mm which is less than 0.00127 mm, the maximum allowable gouge setting. All other gouges were below 0.001 mm. It is clear that the tool path does not gouge above the tolerance speci®ed.
4.2. Veri®cation of the test piece 4.2.1. Simulation The principle of Swept Volumes [12] was used for simulation of the tool paths. Swept Volumes is a method of generating the surface that a tool will sweep or leave behind as it moves through space. A numerical implementation of Swept Volumes for a torus representing the cutting teeth of a bull-nose endmill was used to determine if the tool path gouges the model surface. Details of the calculation are presented by Roth et al. [13,14]. The imprint points are then used to create a triangulated surface which is the surface swept by the tool moving along the tool path (Fig. 13). As a further check for gouging, a model of the cutting tool was included in the simulation package and also checked for gouging. Thus gouging is checked in the static instance of the tool and tool holder as well as the motion of the tool along the path. Gouging is detected using a z-map of rays grown from the model surface and intersected with static instances of the tool and tool holder model and the swept volume surfaces for each tool position. A negative ray magnitude indicates that either the static tool model or the swept surface is below the model surface
4.2.2. Cutting test workpiece A 2-tooth indexible toroidal endmill with a major radius of 12.7 mm and a minor radius of 6.0 mm was used. The surface was machined using the University of Waterloo's Deckel Maho 5-axis DMU 80P Hy-Dyn milling center. The DMU's 428 Hiedenhain controller automatically generated the inverse kinematics. 4.2.3. Machining results Figs. 14±16 show the ®nal machined surface. It is clear that there are no obvious signs of gouging and that the tool passes along the surface were smooth. Pro®les of the cusps between passes were measured on a CMM and were matched to the CAD model of the surface. Chart 1 shows the normalized deviation of the machined surface. The average cusp is about 0.025 mm in height. Due to setup errors arising from error in machining reference directions in the test part, from error in the measured surface varied approximately ^0:1 mm: This limited the data analysis to cusp height measurements only.
356
P. Gray et al. / Computer-Aided Design 35 (2003) 347±357
Chart 1. Plot of the difference between measured and model surface heights.
5. Conclusions The RBM is capable of producing gouge-free (to speci®ed tolerances) tool positions that do not need to be checked and adjusted for gouging. Determining interferences of the tool shank and tool holder with the part and ®xturing is not integral to the positioning strategy, thus a secondary graphical checking method is recommended for this. The method is robust and can handle any type of surface pro®le be it concave, convex or saddle. It is computationally fast and simple to implement. It is also robust in that there are no dif®cult points to machine and no special cases or non-converging solutions. The only information required from the CAD model is the surface coordinates and their corresponding surface normals. This means that surfaces with as low as ®rst-order de®nitions can be machined. More importantly, however, triangulated graphics data (triangle vertex coordinates and a normal vector for each coordinate are supplied for rendering of the model) could be used by the RBM eliminating the need for the surface equations. Another advantage to the RBM is that it automatically determines if the cutting tool is too large to cut the surface. If the cutter is too large, it will not ®t inside the smallest concave rolling ball. This can be determined by a simple check of the rolling ball radius and if the cutter is too small, the user can be noti®ed and required to select a new tool. References [1] Rao N, Ismail F, Bedi S. Tool path planning for ®ve-axis machining using the Principal Axis Method. Int J Machine Tools Manufact 1997;37(7):1025±40. [2] Gray P, Bedi S, Ismail F, Rao N, Morphy G. Comparison of 5-axis and 3-axis ®nish machining of hydroforming die inserts. Int J Adv Manufact Technol 2001;17(4):562±9.
[3] Jensen C, Anderson DC. Accurate tool placement and orientation for ®nish surface machining. J Des Manufact 1993;3(4):251±61. [4] Jensen C, Mullins S, Anderson D. Scallop elimination based on precise 5-axis tool placement, orientation and step-over calculations. Proc ASME Adv Des Automat 1993;65(2):535±44. [5] Vickers G, Bedi S, Haw R. The de®nition and manufacture of compound curvature surfaces using g-surf. Comput Ind 1985;6: 173±83. [6] Warkentin A, Ismail F, Bedi S. Comparison between multi-point and other 5-axis tool positioning strategies. Int J Machine Tools Manufact 1999;40:185±208. [7] Warkentin A, Ismail F, Bedi S. Intersection approach to multi-point machining of sculptured surfaces. Comput Aid Geometric Des 1998;15(7):567±84. [8] Warkentin A. Multi-point machining of sculptured surfaces. PhD thesis. Mechanical Engineering, University of Waterloo, 1997. [9] Rao N, Bedi S, Buchal R. Implementation of the Principal-Axis Method for machining of complex surfaces. Int J Adv Manufact Technol 1996;11(4):249±57. [10] Warkentin A, Bedi S, Ismail F. Five-axis milling of spherical surfaces. Int J Machine Tools Manufact 1996;36(2):229±43. [11] Farin G. Curves and surfaces for computer-aided geometric design. San Diego: Academic Press, 1996 p. 175±6. [12] Sheltami K, Bedi S, Ismail F. Swept volumes of toroidal cutters using generating curves. Int J Machine Tools Manufact 1997;38(6):855±70. [13] Roth D, Bedi S, Ismail F, Mann S. Surface swept by a toroidal cutter during 5-axis machining. Comput Aid Des 2001;33(1):57±63. [14] Roth DJ. Surface swept by a toroidal cutter during 5-axis machining of curved surfaces and its application to gouge checking. Masters thesis. Mechanical Engineering, University of Waterloo, 1999. Paul Gray is currently a graduate student at the University of Waterloo in Canada. His research interests include 5-axis machining tool positioning and path planning, machining simulation software, and CAD/CAM software development.
P. Gray et al. / Computer-Aided Design 35 (2003) 347±357 S. Bedi is interested in the application of CAD/ CAM, solid modeling, and geometric and surface modeling methods to mechanical engineering. His recent work includes 5-axis machining strategies, NC simulation, and intelligent NC machine control.
357 F. Ismail obtained his BSc in Mechanical Engineering and his Masters degree in Production Engineering both from the University of Alexandria, Egypt. He received his PhD from McMaster University in Canada. He has been with the University of Waterloo, Waterloo, Ont. in Canada for the past 19 years. Prof. Ismail's areas of expertise include modeling and control of machining chatter, structural dynamics using modal analysis, and machinery diagnostics.