UnB

1 downloads 0 Views 435KB Size Report
IMADE, (Sarma and Wright 1996), is an automated process planning system ... generates fixture configurations for each setup from the toleranced solid model of the finished ... A 2.5D feature can be described completely by specifying a 2D contour, ... Although it is a very significant step, feature recognition is not the focus of ...
Efficient algorithms for automated process planning of 2.5D machined parts considering fixturing constraints Balaji Kannan1 and Paul K. Wright1 1. Mechanical Engineering University of California at Berkeley Berkeley, California 94720, USA

1 Abstract In this paper, algorithms that perform automated setup sequencing and fixture planning for prototype machining of 2.5D machined parts are presented. A framework for the integration efficient setup sequencing algorithms with algorithms for fixture planning is developed. At a higher level of abstraction, these algorithms can be applied for automated process planning of 2.5D parts irrespective of the nature of fixturing elements used. The application of these algorithms to situations where standard fixturing elements such as parallel-sided vises and toeclamps are used is also discussed. In addition, an improved version of an existing algorithm for fixture planning using toe-clamps is presented. The algorithms have been implemented as part of a feature-based CAD/CAM environment.

1

2 Introduction In a typical feature-based CAD/CAM environment, process planning involves a number of steps such as feature recognition, selection and sequencing of setups, fixture planning and decomposition of features into machining operations. Selection of the sequence of setups and fixture configurations in which to machine the part account for a large portion of the time spent in manufacturing it. Though many commercial CAD/CAM systems do exist, there is always some amount of manual process planning involved, mainly when the cutting tools, machining parameters, setups and fixture configurations are to be selected. So, automatic generation of an optimal sequence of setups and fixture configurations would result in significant reduction in manufacturing time and help insure minimal human interference during machining. As will be explained later in the paper, process planning, in general, is not a linear activity. Therefore generation of process plans that are optimal in every sense is difficult. On the one hand, a number of algorithms have been proposed for near-optimal setup sequencing without consideration of fixturing constraints such as the one proposed by (Sarma and Wright 1996). On the other hand, algorithms have also been formulated for generation of near-optimal fixture configurations without concern for efficient sequencing of setups, such as the algorithm proposed by (Das et al. 1995). Algorithms have also been developed for optimal sequencing of machining operations within each setup (Yang et al. 1992). One of the key issues this paper focuses on is the development of algorithms both for minimizing the number of setups for machining the part as well as determining fixture configurations for each setup. Two classes of existing algorithms from previous literature- one for setup sequencing and the other for fixture planning- are integrated to obtain algorithms that achieve both these objectives. 2

Another issue which this paper focuses on is the algorithms for the generation of fixture configurations themselves. Much of the original version of the algorithm for fixture planning with a vise is retained, while a much more enhanced version of the fixture planning algorithm that deals with toe-clamps is developed and implemented. Specifically, an improved version of the latter algorithm is presented that generates a configuration of toe-clamps for each setup that is maximum in a certain sense. The significance of this maximum configuration is discussed in a later section. The organization of the paper is as follows. Section 3 reviews previous work done in the area of automated (feature-based) process planning. Section 4 discusses the concepts of features and feature based-models and presents an overview of the architecture of the feature-based process planning system that the authors have used. Section 5 discusses algorithms for automatic generation of setup sequences and fixture configurations, independent of the fixturing elements used. Section 6 discusses algorithms for fixture planning for each setup using standard fixturing elements. Section 7 describes results from the authors’ implementation of these algorithms and section 8 presents some conclusions and directions for future research in this area.

3 Literature Review There have been a number of approaches to feature-based process planning. HutCAPP (Mäntylä and Opas 1988) is an early feature-based process planning system that works on the principle of generative setup planning using a global optimization approach. Features such as grooves and slots are predefined in the system; and instances of these features present in the solid model of the part are organised into a tree. To facilitate process planning for these features, cutting directions of all features in the part are analysed and cutting strategies are associated with these features.

3

Essentially a cutting strategy is the access direction for the feature and the tool that can be used to generate the feature. Finally, global reasoning is applied to the cutting strategies of the various features to generate cutting plans for the whole part. PART (Planning of Activities, Resources and Technology) (van Houten 1991) is another early integrated feature-based process planning system, which consists of a fixture planning system FIXES (Boerma and Kals 1988). This is a generative fixture planning system for prismatic parts. FIXES is responsible for both setup selection as well as fixture design for each setup. Setups are automatically selected by comparing tolerances between different features of the part as well as their orientation. A setup consists of features with the smallest tolerances and acceptable machining directions with respect to the axis configuration of the selected machine tool. MCOES (Manufacturing Cell Operator’s Expert System) described in (Shah and Mäntylä 1995) was developed as a design and planning system for short batch production. MCOES uses featurebased part family models for process planning. A variant feature approach is adopted so that varying levels of detail and granularity could be used in the feature model for the part families. The system consists of a design data interface, a generative process plan preparation system and an operative process planning system. The design interface supports feature-based modeling of part families. The generative planner allows manufacturing processes to be described and related to part-family models. The operative planner generates process plan and NC code based on part family descriptions. IMADE, (Sarma and Wright 1996), is an automated process planning system developed at the University of California at Berkeley in which the focus of process planning is on simply fixturable machined parts. A part is simply fixturable either because it can be held in a universal

4

workholding device such as RFPE1 (Sarma and Wright 1997) or it is simple enough that fixturing can be guaranteed for every setup. Optimization of the process planning activity in this system thus concentrates on minimizing the number of setups as well as tool changes within each setup. By formulating these objectives as a graph problem, (Sarma and Wright 1996) have developed a near-optimal algorithm for minimizing setup and tool changes. In a system developed by (Das et al. 1995), feature-based models (FBMs) are generated from the solid model of the part by feature recognition. Every FBM represents each feature in a single direction. The use of FBMs simultaneously with the solid model of the part allows their system to consider multiple representations of various features for both machining operation planning and automated fixture planning. In many cases a large number of these FBMs have to be evaluated to arrive at a good and feasible process plan. This is a sequential approach to process planning, in that feature recognition takes place prior to and independent of process planning. MAPP (Matrix Architecture for Process Planning) (Hayes et al. 1997) is a system that captures a sequence of planning phases that cut across functional boundaries while still allowing organization of data into important functions. There are various problem solving phases in MAPP, such as identifying goals, planning between setups and planning within setups. Each of these phases reads or writes data on any of the blackboards corresponding to the data functions such as fixturing, tools or setups. In order for information to flow through this system throughout all the planning phases, the CAD and tool databases are made accessible to each of the problemsolving phases. In particular, the CAD database is used by all phases while the tool database is most heavily used by phase that plans within setups. The problem-solving phases are divided

1. RFPE is an acronym for Reference Free Part Encapsulation.

5

between two modules called MEDIATOR and COORDINATOR. MEDIATOR (Gaines et al. 1999) performs feature recognition and makes some early process planning decisions such as possible tool and fixture combinations for each feature. COORDINATOR performs the detailed process planning functions such as tool selection. This system thus simultaneously identifies features and generates one or more machining operations to machine each feature. A different approach to process planning is taken in (Shirur et al. 1998; Hirode 1996). A model of the volumes that can be machined is first created by defining abstractly the shapes that a given combination of cutting tool and machine can achieve. This abstraction is represented by means of an algebraic expression that specifies a closed profile and a sweep operator along the access direction. An inverse operator is used to map the machining volume back to the machining process by performing a degree of freedom analysis on the machining volume. The authors refer to this as a process-based approach rather than a feature-based approach to emphasise the fact that inverse mapping from process capability to machining volumes is done instead of pre-defining features. Sakurai (Sakurai 1992) has implemented a system that automatically plans the setup sequence and generates fixture configurations for each setup from the toleranced solid model of the finished component. Fixturing schemes are synthesised with a major emphasis on accurate location and stability, with kinematic analysis of stability being done using screw theory. A few heuristics are used to determine the setup directions and sequence of setups. The Quick Turnaround Cell (QTC) has a feature-based process planner (Joneja and Chang 1999) that considers fixture planning as an integral part of process planning. The setup planner is knowledge-based and the fixture-planner is interactive. The fixture planner looks at all the

6

available resources in a workshop and creates all details for multiple setup information, including a complete fixture plan, machining operation plans and tool selection. Both vise-related and modular fixturing methods are part of their fixture planner.

4 Feature-based process planning Section 4.1 presents the concepts of machining features and feature-based models and their role in an automated process planning system. Section 4.2 presents an overview of the architecture of the feature-based process planning system.

4.1 Machining features and Feature Based Models (FBMs) In a broad sense, a feature is a physical constituent of the part that is mappable to a generic shape, has engineering significance and has predictable properties. Several definitions of features have been proposed, depending on the context in which they are used. For purposes of machining, features are often conceived of as solid volumes that have to be removed from the raw stock to generate the part. In this paper the focus is on 2.5D features, which are described below. A 2.5D feature can be described completely by specifying a 2D contour, depth and an access direction. More specifically, the removal volume associated with a 2.5D feature can be generated by sweeping the 2D contour along its access direction by a distance equal to its depth. Figure 1 shows a part composed entirely of 2.5D features. Identification and extraction of features provides the crucial link between design and manufacturing in CAD/CAM systems. This is because features can be mapped onto machining operations such as milling and drilling by choosing appropriate cutting tools and machining parameters. The process of identification and extraction of features is called feature recognition.

7

Although it is a very significant step, feature recognition is not the focus of this paper. Rather, it is assumed that feature recognition has already been performed on the designed part and that the input to the process planning system is a set of machining features. In this research, the feature recogniser used is the one described in (Sundararajan and Wright 1998). A significant concept in the use of machining features for process planning is that of alternate representations of features (Sundararajan and Wright 1998). An alternate representation of a feature is another feature that is (a) accessible from a direction different from the access direction of that feature (b) occupies the same volume in space as the given feature. Figure 2 shows an example of a feature that has alternate representations. Alternate representations allow the process planning system to investigate the various combinations of feature representations that can be used to machine the part and choose the most optimal combination from among these. The concept of alternate representations leads naturally to that of feature-based models. As described in the beginning of this section, one can associate a stock and a set of machining features with the part. A Feature Based Model (FBM), as described in (Das et al. 1995), is any irredundant subset of this set of features, which when removed from the stock, generates the part. Since each feature can potentially have many alternate representations, a single part can have numerous FBMs, each of which corresponds to a certain way of machining the part. Generation of the various FBMs associated with a given part is quite straightforward and is described in detail in (Das et al. 1995). Essentially, a set of independent features is identified, their representations in different access directions are noted down and each combination of these representations is identified as an FBM. One of the reasons why FBMs are useful in the planning stage is that in a certain FBM, each feature has only one access direction associated with it. In

8

other words, a feature in an FBM can be machined only in the access direction associated with it; if for some reason that feature cannot be machined (for example, tools might not be available or fixturing constraints might not be satisfied) process planning for that FBM can be discontinued at that stage, which proves to be very efficient in many instances.

4.2 Structure of the process planning system The various tasks performed by the automated process planning system that the authors have used can be organised into reasonably independent modules that are interfaced with each other. First there is the feature recogniser which, as mentioned in the previous section, identifies and extracts the features in the part. These features and the geometry of the stock of the part are sent to a higher level process planning module called the macroplanner. The macroplanner is responsible for identification and sequencing of the setups as well as generation of fixture configurations for the setups. The macroplanner interfaces at an early stage with a module called the microplanner. The microplanner is responsible for checking whether the features can be machined using the available resources (validation of features). If they can be machined, the microplanner decomposes them into machining operations by selecting appropriate cutting tools and parameters for the different operations. The input to the microplanner is a single feature (which is to be validated) and the state of the part just before this feature is removed. Once all features have been validated by the microplanner, the macroplanner groups the features into different setups depending on their access directions, generates fixture configurations for all setups and finally interfaces with a module called the tool-path planner. The tool-path planner takes as input each feature and the machining operations and parameters associated with it and

9

generates the tool-paths and ultimately G&M codes for the manufacturing it on a CNC milling machine.

5 Setup sequencing and fixture planning algorithms for 2.5D parts 5.1 Precedence constraints and linearization of setup sequencing A machining feature contains much more information than just depth, access direction and contour geometry. In general, a feature has a parent feature and child features (Shah and Mäntylä 1995) and this information is also stored by the feature. Such information is critical for setup sequencing because it sets up precedence constraints between different features. One of these constraints is that if feature A provides machining access to feature B, then feature A must always be machined before feature B. Thus a parent feature should be machined before any of its children. Constraints between features can also arise due to feature interaction. A feature interaction can be defined as the intersection of the boundary of the feature with that of other features so that the geometry of the feature becomes different from what the designer originally intended (Shah and Mäntylä 1995). Such interactions are sometimes important during the process planning stage. An important interaction arises when holes and pockets intersect. The geometry and the physics of drilling and milling require that the holes be drilled before the intersecting pocket can be machined. It was mentioned in section 2 that process planning is not a linear activity in most cases. Reasons for this are described in detail in (Sarma and Wright 1996), though for the sake of completeness, one of the important reasons for the non-linear nature of process planning is discussed here. An

10

important goal of the macroplanner is minimization of the number of setups to machine the part. Before setup minimization can proceed, precedence constraints between features (e.g. parentchild relationships) must be generated, which in turn can be done only after access directions of the various features are determined. This means that the setup minimization performed here is particular to this set of access directions. A different set of access directions could have produced a more optimal sequence of setups, meaning that setup minimization actually determines an optimal set of access directions for the features. The need for iteration in the setup sequencing stage is evident here. Section 4.1 described how a part can potentially be machined in a number of FBMs. Since each FBM fixes the access directions for all the features, precedence constraints can be generated between features and process planning (in particular, setup sequencing) becomes linearised for each FBM. But the price that is paid for this linearity is that a number of FBMs might have to be considered before the optimal sequence of setups is obtained. The next section discusses how the number of FBMs that need to be analysed can be reduced substantially.

5.2 Generic macroplanning algorithms with fixturing constraints (Sarma and Wright 1996) describe an algorithm that can be used to determine a reasonably optimal sequence of setups when the part is simply fixturable. (Das et al. 1995) describe algorithms for machining prismatic parts that simultaneously consider fixturing constraints with vises, using the concept of FBMs. It should be noted here that the algorithms proposed by (Das et al. 1995) do not perform efficient setup sequencing. The macroplanning algorithms which are discussed in this paper combine the positive aspects of both the algorithms and perform near-

11

optimal setup sequencing as well as fixture planning. A generic algorithm for this purpose (independent of the nature of fixturing elements used) for 2.5D parts is outlined below: 1. Validate all features in the part by calling the microplanner. If the microplanner determines that a feature can be machined using the available resources, it decomposes the feature into machining operations by selecting appropriate parameters for the machining process. 2. Using the method presented in (Das et al. 1995) generate all the possible FBMs for the part. It should be noted that when the FBMs are generated, only those representations of features that are validated by the microplanner should be used. Assume that Nf is the number of different FBMs generated. 3. For each FBM, determine the number of different access directions over all the features. For instance, if in a certain FBM with 3 features, say F1, F2 and F3, F1 and F2 have access direction +X (+ and - represent positive and negative directions respectively, and X, Y, Z represent standard Cartesian co-ordinate directions) while F3 has access direction -Z, there are 2 different access directions over all the features, namely +X and -Z. The number of different access directions in an FBM gives a lower bound for the minimum number setups (and hence the minimum time) that would be needed to machine it. This minimum time is referred to as the preliminary setup time for the FBM. 4. Sort the FBMs in ascending order of the preliminary setup time. The importance of sorting the FBMs in this fashion is explained as follows. Assume that the ith FBM (here i ε [1, Nf] represents the index of the FBM after sorting) has been analysed and found to have an actual setup time equal to, say Ti. In other words, setup sequencing of the FBM has been performed and the actual number of different setups to machine the FBM corresponds to a certain amount

12

of time = Ti. Now, if the (i+1)th FBM has a preliminary setup time greater than or equal to Ti, there is no need consider any FBMs beyond the ith FBM for planning. This is because the FBMs are already sorted and the preliminary setup time is the lower bound for the minimum number of different setups required for an FBM. Since sorting of FBMs (which can be performed in time O(Nf*logNf), where Nf is the number of FBMs) takes much less time than analyzing all FBMs for setup sequencing and fixture planning, this procedure helps reduce the number of FBMs that need to be considered by a substantial amount. 5. Assume that the time taken to machine a single setup is SST. In reality the time taken for a single setup will depend on the complexity of the features to be machined in the setup as well as the configuration of fixturing elements involved in the setup. Depending on these, one can estimate the setup time for every single setup that FBM has. But for the sake of simplicity it is assumed that each setup takes the same time. There is not loss of generality involved due to this assumption. 6. Assume that the worst setup time that can be tolerated is WST. For instance, if the maximum number of setups that can be tolerated is 10, WST = 10*SST. Initialise the variable BST, the best setup time seen so far for any FBM, as WST, i.e. BST = WST. Also initialise BEST_FBM, the index of the FBM with the best setup time so far, as 0, i.e. BEST_FBM = 0. 7. For each FBM do the following: (i) Let index of the current FBM in sorted list of FBMs be i. Let PSTi represent the preliminary setup time for the current FBM. If PSTi >= BST go to step 8. (ii) Generate the precedence constraints between various features for the current FBM as explained in section 5.1. 13

(iii) Using the algorithm proposed by (Sarma and Wright 1996) generate a sequence of simply fixturable setups for the current FBM. Let the number of simply fixturable setups be Nsf. Let SFj represent the set of features in the jth simply fixturable setup, where j ε [1, Nsf] is the index of a simply fixturable setup. In other words, these are the setups with which the FBM can be machined if there were no fixturing constraints. If fixturing constraints are considered, each of these setups represents a set of features that can potentially be machined (but not necessarily actually machined, since fixturing constraints may not admit that) from the access direction corresponding to that setup. (iv) Let the variable CSTi represent the current setup time for this FBM. CSTi will ultimately be equal to the total time for manufacturing the current FBM. Initialise CSTi = 0. (v) For each simply fixturable setup SFj, if CSTi >= WST consider the next FBM, by going back to step (i). Otherwise, do the following: (a) Create a set of potential features PFj. Initialise PFj = SFj. (b) As long as PFj is not empty and CSTi < WST do the following: • Orient the part in the current access direction. The current access direction is the access direction of the features in the set SFj. • Using the fixture planning algorithm (the algorithm for fixture planning using a vise as proposed by (Das et al. 1995), for instance) for the current setup, determine the subset MAX_FEATURES of the set PFj, which contains the maximum number of features that can be machined in the current setup with fixturing constraints.

14

• Update the set of potential features PFj by subtracting the set MAX_FEATURES from PFj. In other words, PFj = PFj - MAX_FEATURES. Update CSTi, i.e. CSTi = CSTi + SST. The rationale behind this step is as follows: From the current set of potential features it is possible that not all features can be machined in a single setup due to fixturing constraints. In such a case, machine as many features as possible in one setup. Then treat the remaining features from PFj (which could not be machined in the previous setup) as a new set of potential features and repeat the process of fixture planning for the next setup. (vi) If CSTi < BST, i.e. the setup time for the current FBM is better than the best setup time seen so far, set BEST_FBM = i and BST = CSTi, i.e. the current FBM becomes the best FBM and the setup time for the current FBM becomes the best setup time seen so far. 8. If BEST_FBM = 0, the part cannot be manufactured. Otherwise, do the following: (i) For the FBM with index BEST_FBM, using the tool change optimization algorithm proposed by (Yang et al. 1992) to optimise the selection of the sequence of cutting tools for each setup. (ii) Generate tool-paths for all features by sending each feature to the tool-path planner and then generate G&M codes for the CNC machine.

5.3 Optimality of the macroplanning algorithm An interesting question that arises is, how optimal is the algorithm that has been presented above? The algorithm generates a globally optimal sequence of setups if fixturing constraints do not split any of the simply fixturable setups in the best FBM into two or more setups. Otherwise, there is a

15

possibility that the algorithm is only near-optimal. The reason for this is explained here. The algorithm of (Sarma and Wright 1996) is not globally optimal in some cases because it predetermines access directions for all features before setup sequencing without considering any other set of access directions which could possibly result in a fewer number of setups. Whereas, the algorithm that has been outlined above considers all the combinations of access directions for the features, namely the different FBMs. If the simply fixturable setups in the best FBM were not decomposed into two or more setups, the setup sequence with fixturing constraints would be the same as the setup sequence without fixturing constraints, which is the most optimal because of the fact that the best FBM is considered. If any of the simply fixturable setups for the best FBM were split into different setups due to fixturing constraints, there is a possibility that a better sequence of setups could be obtained for the best FBM. The sub-optimality is caused by the step (7).(v).(b) in the macroplanning algorithm. In this step, a simply fixturable setup gets split recursively into a sequence of consecutive setups, if fixturing constraints are not satisfied for all features in the simply fixturable setup. But this need not be the most optimal sequence of setups. For instance, assuming that a simply fixturable setup SFj gets decomposed into a sequence of consecutive setups, say CSj1, CSj2 and CSj3, it is quite possible that postponing the planning of features in CSj2 and CSj3 to a later stage could result in a better setup sequence. However, this will happen only if fixturing becomes easier during the later stages of machining the part, which does not happen in many cases. Hence the macroplanning algorithm presented above is near-optimal for setup sequencing with fixturing constraints.

16

6 Fixture planning with standard fixturing elements For implementing the macroplanning algorithm described in section 5.2, two standard fixturing elements, namely parallel-sided vises and toe-clamps, were considered. For fixture planning with the vise, the algorithm presented in (Das et al. 1995) was used without much modification to the original version. Hence this paper does not discuss the algorithm for fixture planning with vises. However, it was found necessary to improve the algorithm for fixture planning with toe-clamps which was developed by (Sakurai 1992). First the original version of the algorithm is described and then the improvements made to the original algorithm are presented.

6.1 Original version of algorithm for fixture planning with toe-clamps The algorithm for fixture planning with toe-clamps as proposed by (Sakurai 1992) is presented below. It should be remembered that planning the fixture configurations is done for each setup. Hence, the algorithm outlined below is specific to a certain setup. 1. Select locating faces using the 3-2-1 or 4-2-1 locating principle and identify the primary locating face. This is the face that is in contact with the base plate. 2. Select all the features that can potentially be machined in the current setup. 3. Divide the bounding box of the primary locating face into a grid. The size of the grid is determined by the size of the clamps. 4. Identify all the faces in the current state of the part that can be used for placing the clamps. These faces must be flat and their normals must be exactly opposite to that of the primary locating face.

17

5. Cast a ray in the upward direction from the centre of each grid element that is completely interior to the primary locating face, and calculate the intersection (if any) with all the faces identified in step 3. 6. If and when an intersection is found, generate a solid model of the clamp at the point of intersection. Intersect this solid model with the solid models of the workpiece, all cutter-swept volumes for the features in this setup and solid models of other clamps that were previously obtained. 7. If there is no intersection, select the clamping position; otherwise move on to the next grid element and repeat step 5. 8. If at least two clamping positions are found, they are adopted. If not, the part cannot be fixtured using toe-clamps in this setup.

6.2 Improved version of the algorithm for fixture planning with toe-clamps This section describes improvements that the authors have made to the algorithm outlined in the previous section when fixture planning with toe-clamps had to be done during macroplanning. A few points are worth noting before the detailed version of the improved algorithm is presented. First, it is assumed that a toe-clamp can be modeled as an L-shaped block, which can be thought of as the convex hull of the toe-clamp. This assumption is necessary to simplify the geometric computations performed by the solid modeler. Second, it is assumed that, at any point on a face that can be used to place a toe-clamp, only four orientations of the toe-clamp are considered. This is explained in Figure 3. Each of these orientations is orthogonal to the edge of the stock which the toe-clamp crosses over. The justification for this assumption is that otherwise, there will be

18

virtually infinite orientations that the toe-clamp can be placed in and it would be quite impossible to come up with a deterministic fixture plan. Third, no analysis of the stresses experienced by the part due to clamping is carried out, both in the original and modified version of the algorithms. It is implicitly assumed that the clamping forces are such that the part does not deform disagreeably. Finally, the algorithm presented in the previous section (as well as its modified version presented in this section) insures stability of the part during machining without resorting to a full-fledged force analysis. This is because the clamping strategy deprives the part of all degrees of freedom and hence a kinematic check of stability becomes unnecessary. When implementing fixture planning with toe-clamps it was found necessary to modify the original algorithm from step (4) onwards. 1. Identify the primary locating face. This is the face that is in contact with the base plate. 2. Select all the features that can potentially be machined in the current setup. Call this set of features PF. 3. Divide the bounding box of the primary locating face into a grid. The size of the grid is determined by the size of the clamps. 4. Identify all the faces in the current state of the part that can be used for placing the clamps. These faces must be flat and their normals must be exactly opposite to that of the primary locating face. The only faces considered are either the topmost face (which comes from the stock) or faces that form the bottom of features already machined and which are accessible from the current access direction. 5. For each grid element that is completely interior to the primary locating face, do the following: 19

(i) Cast a ray in the upward direction from the centre of the grid element and check for intersection with the faces determined in step 4. Because of the way the faces are generated in step 4, if there is any intersection at all, it can only be with one of these faces. If there is no intersection, repeat this step for the next grid element until an intersection is found and call the face that is intersected as CFi. i represents the index of this grid in a list of all grids that resulted in an intersection. (ii) Generate a solid model of the toe-clamp in each of the four possible orthogonal orientations (mentioned at the beginning of this section) at the point where the ray intersects the face CFi. Henceforth, the presence of a toe-clamp at the point of intersection with the face CFi will be referred to as a configuration. Associated with each such configuration, there are four potential orientations of the toe-clamp. It is important to recognise the distinction between a configuration and an orientation. Create an empty set called TC_LIST which will ultimately contain a number of toe-clamp configurations that can potentially be used for fixturing the part. (iii) Assume that the current toe-clamp configuration is called TCi. Since each configuration stores information about the four possible orientations, the jth orientation (where j ε [1, 4] represents the index of the orientation) of TCi is referred to as TCij. (iv) For each of the four orientations TCij, do the following: (a) Check if the orientation intersects the current state of the part. If it does, go on to the next orientation. If it does not, go to step (b). Since the toe-clamps are modeled as L-shaped blocks and each orientation is orthogonal to the edge of the stock edge and the part is

20

composed of 2.5D features, this intersection check can be easily reduced to interference checking in 2D. An orientation is usable if it does not intersect with the part. (b) Determine all the cutter-swept volumes that the current orientation intersects with. The cutter-swept volumes are those associated with the features in the set PF, the set of potentially machinable features. Again, for reasons mentioned in (a), all interference checking can be reduced to 2D. Call the set of features associated with these cutter-swept volumes and their child features as BFij. The child features are also elements of this set because, if a certain feature cannot be machined in a setup, neither can its children. It should be noted that only those child features should be chosen that belong to the set PF. (v) If there is at least one usable orientation in configuration TCi, add TCi to TC_LIST. 6. Now TC_LIST is the set of all toe-clamp configurations that can be used individually for fixturing purposes, without intersecting the current state of the part. But it is not yet known which of these toe-clamps intersect with others. In order to guarantee kinematic stability during fixturing using toe-clamps, at least two clamps should be used that do not intersect with each other (Sakurai 1992). To this end, do the following: (i) For every pair of toe-clamp configurations, say TCi and TCj do the following: (a) For every pair of usable orientations, one from TCi and TCj, check for intersection of the two orientations with each other. If there is no intersection proceed to the next step. Otherwise go on to the next pair of orientations and repeat intersection checking.

21

(b) Assume that the orientations from TCi and TCj are denoted by TCik and TCjl. respectively. Since TCik and TCjl are both usable orientations, they have the associated sets of features BFik and BFjl respectively (mentioned in the step 5). Create the union set of BFik and BFjl and call it BF_UNIONijkl. Obviously, the set BF_UNIONijkl is a subset of the set of potentially machinable features PF. It contains features in the set PF that cannot be machined in the current setup if the two orientations TCik and TCjl are part of the fixture plan. (ii) If no pair of orientations of toe-clamps is found such that the two orientations in the pair do not intersect with each other, no fixture plan can be generated for the current setup. Hence the current FBM is not manufacturable. Therefore quit setup sequencing for the current FBM. Otherwise, there is at least one pair of orientations that such that the two orientations do not intersect with each other. Choose the pair such that the number of elements in the set BF_UNIONijkl associated with that pair is the least. Denote this set of least cardinality as BF_MINIMUM. Since two toe-clamps are enough to guarantee that a setup is fixturable, BF_MINIMUM represents the set of non-machinable features in this setup that has least size. If the set BF_MINMUM is equal to the set PF (the set of potentially machinable features in this setup), then none of the features can be machined in the current setup. Hence quit setup sequencing for the current FBM. Otherwise, proceed to step 7. 7. Since BF_MINIMUM has minimum size, the set PF - BF_MINIMUM has maximum size. Hence there is a pair of orientations of toe-clamps that guarantees machining access to the maximum number of features in the current setup. But it is quite possible that there are other

22

toe-clamp orientations TCij which satisfy the condition that the associated set BFij is a subset of BF_MINIMUM. This means, that these orientations can also potentially be used for clamping in this setup. The word potentially is stressed because they could intersect with some other orientations that satisfy the same condition. By examining all the configurations and associated usable orientations, it is possible to find out the set of orientations which satisfies the following condition: Each orientation TCij that is an element of this set has an associated set BFij which is a subset of BF_MINIMUM. Call this set TC_POTENTIAL. It should be noted that each toe-clamp configuration TCi can contribute a maximum of one orientation to the set TC_POTENTIAL. 8. There is a good chance that some of the toe-clamp orientations in the set TC_POTENTIAL intersect with each other. It is therefore necessary to find the subset FINAL_CONFIG of set TC_POTENTIAL which has the following property: None of the toe-clamp orientations in the set FINAL_CONFIG intersects with another toe-clamp orientation in the same set. Thus the toe-clamp orientations in the set FINAL_CONFIG have the following four properties: (a) The clamps do not intersect with the part. (b) The clamps do not intersect with each other. (c) The clamps give access to maximum number of features to be machined (d) This is the maximum number of toe-clamps that can be used while satisfying the above three conditions. Hence a good fixturing strategy for each setup is obtained, if the set FINAL_CONFIG can be determined. 9. Formulate the problem of determining the set FINAL_CONFIG as a graph problem by doing the following:

23

(i) Create a graph G(V, E). G denotes the graph, V denotes the set of vertices of the graph and E denotes the set of edges of the graph. (ii) Map each toe-clamp orientation in the set TC_POTENTIAL to a vertex in the graph G. (iii) Create a node between two vertices in the graph if the toe-clamp orientations corresponding to the two vertices intersect with each other. (iv) Determine the subgraph GMAX(V, E) which is such that (a) the number of vertices is a maximum (b) there is an edge between any two vertices in the set V. Evidently V and E are subsets of V and E respectively, since GMAX is a subgraph of G. The set of toe-clamp orientations corresponding to the vertices in V is the set FINAL_CONFIG. This is because if there were no edge between a pair of vertices in set V then the toe-clamp orientations corresponding to those two vertices intersect each other. The problem of determining GMAX(V, E) given G(V, E) is called maximum clique detection and its complexity is known to be NP-HARD. Nevertheless, there are algorithms that can solve this problem with reasonable efficiency, such as the one proposed by (Bron and Kerbosch 1973).

6.3 Comparison of the improved version with original version In the original version of the algorithm as outlined in section 6.1, the strategy for determining the location of toe-clamps is greedy. Specifically, what the original algorithm does is, if the solid model of the toe-clamp at a certain location does not intersect with the part, that toe-clamp is certain to be used for fixturing. There is a very good chance that this toe-clamp prevents other good clamps from being used, because they might intersect with it. In other words, a certain configuration of clamps that could have made the part fixturable could be prevented from being

24

used; and the algorithm could end up determining that the part cannot be manufactured, while in reality it can be machined. But the improved version of the algorithm solves this shortcoming by presuming nothing about which toe-clamps should be used and which should not. Rather, this decision is postponed till after all individually good toe-clamp orientations are determined. In fact, the algorithm also determines the locations of the maximum number of toe-clamps that can be used while providing access to machining the maximum number of features. It should be noted that if the maximum configuration contains numerous toe-clamps, it is not necessary that all of them should be used. Only those necessary for guaranteeing the stability of the part need to be used. The ultimate aim of the automated process planning system is to spare the human operator from having to think about the most efficient way to manufacture the part. In spite of all the algorithms that perform automatic setup sequencing and fixture planning, there is a human operator who finally locates the part and clamps it to the milling machine. The improved algorithm presented above provides the human operator with the flexibility to choose those clamping locations that actually need to be used during machining, from the maximum configuration. It might be argued that this results in loss of automation in process planning. But it can be seen that the human operator only has to pick from a set of clamps that already guarantee that the part is fixturable in the setup. A completely automated determination of the best set of clamps in the maximum configuration would require at least the use of Finite Element Methods, which beyond the scope of this research.

25

7 Results from implementation of the macroplanning algorithm The macroplanning algorithms presented in section 5.2 and the fixturing algorithms in section 6 were implemented successfully, considering both vises and toe-clamps as fixturing elements. This section describes the process plans obtained from the implementation of these algorithms for two sample parts.

7.1 Setup and fixture plans using a parallel-sided vise The part shown in figure 4 has features both from the top as well as the bottom directions. This is evident from figure 4 and the setup configurations shown in figure 5. It should be noted that these figures correspond to the best FBM. The part can actually be machined in two setups if it were simply fixturable- one setup to machine the features accessible from the top and the other to machine features accessible from the bottom. However due to fixturing constraints, it is found that three setups are required when a vise is used as the fixturing element. Specifically, a minimum contact area is required between the faces of vise and that of the part to insure stability during machining. It so happens that not all features that can be accessed from the top can be machined in a single setup while maintaining this minimum contact area. Hence the macroplanning algorithm splits this simply fixturable setup into two setups (both accessed from the top direction), so that a subset of these features is machined in the first setup and the remaining features are machined in the next setup. While splitting the simply fixturable setup into different setups, the main considerations are (a) the contact area between the vise and the part should be at least equal to the minimum contact area (b) as many features as possible should be machined in each of these setups in order to obtain an optimal (or near-optimal) setup sequence. Of course, the setup sequence and fixture plans shown above are specific to a certain set of predetermined variables. For instance, some of these variables could be the average material removal 26

rate during machining of a setup (which determines the minimum contact area between the vise and the part) and the size of the vise.

7.2 Setup and fixture plans using toe-clamps The features in the part shown in figure 6 are such that at least three setups are required to machine the part. Figure 7 shows the sequence of setups and fixture plans for the best FBM, with the maximum configuration of toe-clamps required for each setup. It is evident that none of the toe-clamps intersect with the workpiece or with each other. Analysis shows that the number of features that are machined in each of the setups shown above is the maximum that possible. As in the case of the vise, the above figures are specific to a certain set of pre-determined variables such as the discretization of the locating face of the workpiece and the dimensions of the toe-clamps.

8 Conclusions 1. The algorithms presented above for both setup sequencing as well as fixture planning completely automate process planning and hence no human intervention is needed during the planning stage. 2. As mentioned in section 5.3, the process plans generated are near-optimal, so in many cases the sequence of setups and fixture configurations generated are very good. 3. The setup and fixture plans generated by the planning algorithms are provided to the machinist in a graphical format which can be easily interpreted and used during machining.

27

4. The algorithms are also quite general in the sense that, if a new kind of fixturing strategy needs to be incorporated, only the fixture planning modules have to be re-implemented. This is because of the setup sequencing algorithm is relatively independent of the type of fixture element used. All algorithms presented above were implemented on Sun workstations with the Solaris operating system, in the C++ programming language and using the ACIS (Spatial Technology) geometric modeling kernel.

9 Possible directions for future work Immediate future work in this area could focus on optimal setup sequencing and fixture planning for prismatic (rather than 2.5D) parts, since even in this case, vises and toe-clamps can be used effectively. One of the main challenges in this research would be feature recognition for prismatic parts, since the definition of access directions becomes more general in this case. A more ambitious direction for research would be attempting to solve the problem of automated process planning for the more general case of sculptured parts and parts made on 5-axis machine.

Acknowledgments The authors gratefully acknowledge contributions made by other members of the Integrated Manufacturing Laboratory, especially V. Sundararajan, Roshan D’Souza, Sung Ahn and Mike Schmittdiel. This research was primarily supported by a grant provided by the National Science Foundation (NSF), U.S.A.

28

References Boerma, J.R. and Kals, H.J.J., 1988, FIXES, a system for automatic selection of setups and design of fixtures, Annals of the CIRP, 37(1), 443-446. Bron, C. and Kerbosch, J., 1973, Finding all cliques of an undirected graph, Communications of the ACM, 16(9), 575-577. Das, D., Gupta, S.K., and Nau, D.S., 1995, Estimation of setup time for machined parts: accounting for work-holding constraints using a vise, Proceedings of the International Computers in Engineering Conference and Database Management Symposium, Boston, MA, USA, 17-20 Sepember (New York: ASME), pp. 619-631. Gaines, D.M., Castano, F., and Hayes, C.C., 1999, MEDIATOR: A resource adaptive feature recognizer that intertwines feature extraction and manufacturing analysis, Journal of Mechanical Design, 121, 145-158. Hayes, C.C., Gaines, D. M., Faheem, W., and Castano, J.F., 1997, MAPP: A matrix architecture for process planning, Proceedings of the 1997 IEEE International Symposium on Assembly and Task Planning, Marina Del Ray, CA, USA, 7-9 August (New York: IEEE), pp. 48-53. Hirode, K., 1996, Automatic evaluation and iterative refinement of machining process plans, Master’s Thesis, Arizona State University, Tempe, AZ, USA. Joneja, A., Tien-Chien Chang, 1999, Setup and fixture planning in automated process planning systems, IIE Transactions, Kluwer Academic Publishers, 31(7), 653-665. Mäntylä, M. and Opas, J., 1988, HutCAPP- A machining operations planner, Second International Symposium on Robotics and Manufacturing Research, New York, NY, USA, (ASME Press), pp. 901-910. 29

Sakurai, H., 1992, Automatic setup planning and fixture design for machining, Journal of Manufacturing Systems, 11(1), 1992. pp.30-37. Sarma, S.E. and Wright, P.K., 1996, Algorithms for the minimization of setups and tool changes in ‘simply fixturable’ components in milling, Journal of Manufacturing Systems, 15(2), 95-112. Sarma, S.E. and Wright, P.K., 1997, Reference Free Part Encapsulation: A New Universal Fixturing Concept, Journal of Manufacturing Systems, 16(1), 35-47. Shah, J.J., and Mäntylä, M., 1995, Parametric and Feature-Based CAD/CAM- Concepts, Techniques and Applications, (New York: John-Wiley and Sons, Inc.) Shirur, A., Shah, J.J., Hirode, K., 1998, Machining algebra for mapping volumes to machining operations for developing extensible generative CAPP, Journal of Manufacturing Systems, 17(3), 167-182. Sundararajan, V. and Wright, P.K., 1998, Identification of Multiple Feature Representation by Volume Decomposition for 2.5D components, ASME International Mechanical Engineering Congress and Exposition, Anaheim, CA, USA, November 15-20. van Houten, F.J.A.M., 1991, PART: A computer aided process planning system, Ph.D. Thesis, Department of Mechanical Engineering, University of Twente, Enschede, The Netherlands. Yang, Q., Nau, D.S.and Hendler, J., 1992, Merging Separately Generated Plans with Restricted Interactions, Computational Intelligence, 8(2), 648-676.

30

Figures

FIGURE 1. A part composed entirely of 2.5D features

Z

+Z X

Y -X

+X

FIGURE 2. Alternate feature representations for a slot. As shown, the slot can potentially be machined from the +Z, +X and -X directions. Though the slot is a single machining volume as such, it can be represented as three different features.

31

Different orientations for a single toe-clamp configuration

Edge of the workpiece

FIGURE 3. A single configuration of a toe-clamp and 4 possible associated orientations. The configuration of a toe-clamp its presence at a certain point on the workpiece. Each toe-clamp is modeled as an L-shaped block and comes in orthogonal to an edge of the workpiece

FIGURE 4. Solid model of a part obtained using the ACIS geometric modeling kernel

32

(a) 1st setup

(b) 2nd setup

(c) 3rd setup

FIGURE 5. The setup sequence and fixture plans for the part shown in figure 4, when a vise is used for fixturing. The faces of the vise jaws that are in contact with the faces of the part are shown. The state of the workpiece shown for each setup is at the end of machining that setup.

FIGURE 6. Solid model of a part obtained using the ACIS geometric modeling kernel

33

(a) 1st setup

(b) 2nd setup

(c) 3rd setup

FIGURE 7. The setup sequence and fixture plans for the part shown in figure 6, when toe-clamps are used for fixturing. For each setup, the set of toe-clamps forming the maximum configuration is shown. The state of the workpiece shown for each setup is at the end of machining that setup.

34