.hmrnal o/Manu/ucturing .S)'.stems Vol IX'No. 3 1999
@.
Feature-Based Assembly Mating Reasoning Eric Wang and Yong ~ KIm, CAD/CAM Laboratory, Mechanical Engineering Dept., University of Wisconsin-Milwaukee, Milwaukee, Wisconsin
Abstract
rent product and process engineering seeks to reduce overall product development time by providing decision-making support for manufacturing process considerations to design engineers at early stages in the design cycle. The ability to quickly evaluate an assembly design can assist designers in creating practical designs that can be efficiently and flexibly manufactured. It would be beneficial to develop automated tools to support the design and evaluation of assembly operations. The overall objective of this research effort in assembly mating reasoning is to develop a systematic geometry-based reasoning capability for assembly tasks that can support or mimic human geometric reasoning. A method to determine assembly mating relations directly from the geometry of the assembly components is presented. This method is intended as a stcp toward achieving an automated assembly redesign capability. Such a capability could be beneficial for product maintenance applications, where some components of an existing assembly design must be replaced with other available components that satisfy functional requirements but that have different shapes or other assembly characteristics. For example, the necessary parts may no longer be available on the market or advances in technology may make it advantageous to use a different part. Similarly. emergency repair applications may require that a malfunctioning piece of critical equipment receive an on-the-spot repair using whatever parts are at hand. In both ot" these applications, the original set of assembly mating relations specified by the designer is no longer valid. An automated assembly redesign system could then systematically generate the new assembly mating relations and assembly configurations. Another potential application could arise in the use of robots for attlonomotts construction of structures from modular components in remote and/or hostile environments, where the automated assembly redesign
This paper presents a feature-based method to obtain assembly mating relations between a set of polyhedral components. Previous research in assembly planning has assumed that these assembly mating relations, or equivalent information such as the final assembled configuration of the components, is provided as part of the problem input. This paper addresses the case where only the component geometry is provided, which can arise in product maintenance or emergency repair applications where the originally designed assembly mating relations are no longer valid, and in robotic autonomous construction applications. The basis of the method is to represent components in terms of form features using a feature recognition method based on Alternating Sum of Volumes with Partitioning (ASVP) decomposition. Feature recognition is applied to each component to obtain its Form Feature Decomposition (FFD), which is a hierarchy of positive and/or negative form features. Positive form features of each component are compared with negative form features of other components to obtain mating relations between pairs of features. Multiple feature matings between the same pair of components are merged into component matings, which comprise the assembly mating relations. A backtracking search generates all feasible assembly configurations from the component matings.
Keywords: Feature Recognition, Mating Feature, Mating Relation. Assembly Sequence
1. Introduction In the modern marketplace, a product is typically an aggregate ot" tbrm and function of multiple component parts, requiring manual or automated assembly to be constructed. The design process of such an assembly consists of ( 1) satisfying the overall functional and packaging requirement of the product while involving (2) spatial reasoning of components with secondary functional requirements that arc to be added and altered to support the primary functional components. Assembly product design and assembly process planning require considerable geometric reasoning capabilities, which are currently heavily dependent on human designers and manufacturing engineers. The growing trend of concur-
187
Journal of Mam#/bcturing 5ivstems Vol. 18/No. 3 1999
capability is used to flexibly adjust the construction plans to account for differences in terrain and other local factors.
cation of feature recognition to assembly l~catures has received little attention. Liu and Popplestone' describe a method to recognize assembly features from component geometry and use them to generate assembly plans. Parts arc input as boundary representations and arc searched for instances of a set of predefined mating features. Features are characterized by their .symmetry groups. which are families of rigid transtbrmations that preserve the features' shape. The authors consider only fits contact relations, in which a protrusion feature is mated via plane-plane contact to a depression feature. Such contact implies that the two features have the same symmetry group. Feature matings are found by searching fbr features with the same symmetry groups. Carney and Brown' adopt a qualitative reasoning approach to feature recognition and fitting. The geometric domain is limited to components consisting of a single base block or cylinder, with any nurnber of noninteracting protrusion and depression features. Each component is represented as a hierarchy of features, where each feature joins to its parent feature through exactly one lace. Features are grouped according to five qualitative measures, namely proximity, height, volume, convexity, and complexity, or some combination thereof. Feature groups are turther organized into topology patterns roughly corresponding to intuitive surface patterns that a humarl engineer would recognize. The feature groups of two components are compared to identify promising pairs of mating feature groups. From each pair of candidate feature groups, an appropriate transformation is obtained and applied to one of thc components, and the resulting mating is displayed graphically for human evaluation. Components can be translated, but rotations are restricted to 90 ° increments. In general, the representation of features does not provide sufficient richness to model real parts. Nnaji and Liu3 present an algorithm to recognize mating features from the boundary representation of the components. Concave (depression) features are identified as sets of thces connected through the transitive closure of adjacency through concave edges, bordered by a loop of convex edges. Convex (protrusion) features are identified in an analogous manner. Recognized features are classified by ad hoc rules. The application of this tbature recognition method to assembly planning is mentioned only briefly, with few details.
1.1 Overview
This paper presents a method that determines assembly mating relations from features that are automatically recognized from the boundary representations of the components. A sequential assembly process is assumed, wherein one component is moved at a time. All components are assumed to be polyhedral. A simple notion of stability is assumed to hold in the initial state and is enforced by each assembly operation. The problem domain is assumed to require translational motion only; that is, components are assumed to be correctly oriented, but may be located randomly in the workspace, as long as they satisfy the stability constraint. Component accessibility directions are restricted to the six principal directions. Feature recognition is applied to the set of components to recognize form features from the component geometry. Assembly mating relations are calculated between form features and are combined to obtain the mating relations between components. Once these mating relations are obtained, they can be used to determine properties of the assembly process, such as feasibility, assembly motions, and sequencing of assembly operations. A backtracking search algorithm to enumerate all feasible assembly configurations is described to demonstrate that these configurations can be obtained using this approach. 1.2 Related Work
Much of the existing research in assembly has assumed that either the assembly mating relations are specified or that the assembly configuration is provided. Less attention has been given to the problems of identii~,ing the mating relations, or even the assembly features, directly from the component geometry. Recognizing assembly features. A common theme in assembly planning research is the use of assembly, or mating, features. These features can be as simple as individual planar and cylindrical faces, or more complex shapes such as screws. Comparatively little work has been done on finding mating features automatically from the component geometry. The problem of feature recognition is itselfa vast field of research, but the specific appli-
188
.hmrmtl o! .'#anulacturing Svstents \2~1. 18.No. 3 1999
Inferring the positions of assembly components from mating relations. Early assembly modeling
can be achieved within any single assembly configuration, Thus, these alternative component mating relations could give rise to multiple alternative assembly configurations, which are enumerated through a backtracking search, in contrast with previous assembly sequence planning works which assume that one assembly configuration is specified or that the specified assembly mating relations admit only one configuration. The remainder of the paper is organized as lbllows. Section 2 describes the feature recognition method based on Alternating Sum of Volumes with Partitioning (ASVP) and the resulting Form Feature Decomposition (FFD). Section 3 outlines the algorithm by which the the assembly mating relations are obtained from the FFDs of the assembly components. Section 4 describes how.leature matings are calculated between features of different components. These feature matings are combined into component matings in Section 5. The set of component matings thus obtained is generally a superset of the assembly mating relations, possibly admitting multiple valid interpretations of the assembly corresponding to multiple distinct assembly configurations. To illustrate how these assembly configurations can bc enumerated. Section 6 describes a simple recursive backtracking search over the space of component matings. Finally, two examples of the method arc provided in Section 7. A preliminary implementation of this assembly mating algorithm has been completed in C++ and Prolog using the DESIGNBASE solid modeling toolkitY including the feature recognition method, the generation of feature and component matings, and the recursive backtracking search. This implementation has been successfully applied to both examples in Section 7.
systems required that the user specify the location of each component by providing its transformation matrix, which was a laborious and error-prone process. 4 Given the set of components to be assembled and the assembly mating relations between them, these transformation matrices can be calculated by deriving and solving systems of constraint equations. 4-~° Generating assembly sequences. A current topic of considerable interest is the automatic generation of assembly sequences. This is seen as a critical step toward providing production engineers with automated tools to assist in assembly process design, as well as providing cost and feasibility feedback to design engineers early in the design stage. Assembly sequences are inferred from the geometry of the components and the set of mating relations between them, 7aN~ or from the components' geometry and a specification of the assembly configuration. ~4-~s Comparisons to other work. Previous research in recognizing assembly features has been limited by the lack of effective feature recognition methods. Liu and Popplestone's ~ symmetry groups can characterizc only a limited set of features, whereas the approach presented in this paper can use all form features recognized from the component geometry to obtain mating relations. Carney and Brown's-' method considers only two components of limited geometry, so it does not address accessibility or stability issues, while this paper's approach handles any number of components. Nnaji and Liu 3 describe a feature recognition method only and do not discuss the generation of assembly mating relations. Additionally, the current approach can obtain the positions of each component in the assembly configuration. The component translation vectors needed to achieve the assembly configuration are generated as part of the feature mating calculations, as described in Section 5. Thus, the components' transformation matrices arc easily computed once the assembly mating relations are generated. In contrast to the previous work in generating assembly sequences mentioned above, the current approach obtains not only the assembly sequences but also the assembly mating relations from the component geometry. Additionally, it generates all alternative component mating relations, even when only a subset of these component mating relations
2. Form Feature Decomposition The feature recognition method to obtain assembly features is now described. To support product engineering applications efficiently, product shape models need to be represented with higher-level geometric entities, called[brmfbatures, from which meaningful engineering information can be extracted. Particularly, it is desirable to have lbrm features that reflect intrinsic interrelations between the boundary faces of the solid while a corresponding volumetric representation of the boundary intbrmation is available.
189
JournalqfManuJbcturing3),stems Vol. 18/No. 3 1999
A convex decomposition called Alternating Sum of Volumes with Partitioning (ASVP) is a volumetric representation of solid objects obtained from the boundary information. 2° ASVP decomposition combines the decomposition step composed of convex hull and set difference operations 21 and a partitioning method using cutting operations as a remedy for nonconvergence?°a2 Using ASVP decomposition, a novel approach in recognizing volumetric form features intrinsic to the shape of the solid has been devised. 23 ASVP decomposition is a hierarchical decomposition of the boundary faces of the given solid based on extremality where the volumetric expressions abstract the boundary face information. An example of ASVP decomposition is given in Figure la. The faces of ASVP volumes are distinguished as original or fictitious based on their role in representing the original boundary of the given solid, and their origin and dependency relations with the faces of upper-level volumes are maintained in the decomposition. 2~ A face is classified as original when it is the highest face occurring in the decomposition hierarchy that corresponds to an original boundary of the given solid, and fictitious when it is inherited from an ancestor volume or when it is introduced by the convex hull or remedial partitioning operations. In Figure la, volume B( l, 1,1 ) has six original faces, namely the top, bottom, and four vertical side faces, and four slanted fictitious faces arising from the convex hull operation. Volume B(2,1,1) has one original face- its bottom face--and the five remaining thces are inherited from its parent volume B ( I , I , I ) and are thus fictitious. In ASVP decomposition, the faces of a given solid are organized in outside-in characteristics, while volumetric expressions are associated to these faces. These volumes are related by a strict inclusion property wherein each volume contains all of its descendent volumes in the hierarchy and is contained within all of its ancestor volumes. Moreover, adjacency and dependency relations between the faces (and therefore between the sets of the faces, or form features) can be obtained by the decomposition procedure. Thus, intrinsic interrelations between the solid faces can be systematically found by dealing with the volumes according to the hierarchical structure of the decomposition. By applying combination operations among the
I i
...., 8(1.
• ..,
.
.
.:
i
::i ~ 8 ( 2 2 2~ B(3
J
B(3
(a) ASVP decomposition of part B
21
i ,
(b) FFD of part B Figure I
volumes of the ASVP decomposition based on the hierarchical structure and face dependency information of the decomposition, the ASVP decomposition is converted into the Form Feature Decomposition (FFD) where the volumes correspond to compact and meaningful high-level constituents of the product shape. The FFD of a solid is achieved when all volumes of the decomposition are treated as recognized form feature entities having at least two original faces, and all original faces are connected by the transitive closure of adjacency. 23The FFD of solid B is shown in Figure lb, where solid B is represented by the base block, a rectangular through hole and a rectangular boss. Detailed description on converting ASVP into FFD can be found in Kim. '-~ Being intrinsic to the product shape, the FFD is neutral in its nature and can serve as a central feature representation from which a wide range of manufacturing process design activities can be supported through pertinent context-dependent geometric reasoning. Note that the outside-in geometric hierarchy is intrinsically important in material removal and material-additive manufacturing processes as well as in assembly operations. Fhe geometric reasoning process of the FFD tbr the machining application has been developed earlier. ~4,25
3. Assembly Mating Algorithm Given a set of" assembly components, the FFD of each component is obtained according to the method described in Section 2. Form features in the FFDs are considered to be assembly features and are used to drive the search for component matings, in this way, the method exploits the higher-level intrinsic information that the tbrm features provide.
190
.hmrnal o/ AhmU/acturing Systems W)I. IS/No. 3 1qOq
Table I
The assembly mating relations are obtained through the following algorithm (see Table 1). The output of the algorithm is a sorted list of component matings (Section 5), representing mating relations between pairs of components. Each step of the algorithm is described in a later section, as indicated.
Find-Mating-Relations Algorithm Procedure Find-Mating-Relations. Input: The FFDs of the assembly components. Output: A list of feasible Component Matings, sorted by weight. Step I. ()blain Feature Matings (Section 4): For every pair of features between components: Step la. Obtain Halfspace Matings between the features (Section 4. I ). Step lb. Translate one feature to the other using the Italfspace Matings. Step It. "lest the features for noninterlerencc and accessibility (Section 4.21. Step I d. Calculate weight based on the level of containment and the number of unconstrained directions between the two features (Section 4.3). Step 2. Obtain Component Matings (Section 5): Step 2a. Combine Feature Matings into Component Matings that consist of: the two mated components, the translation vector, and the weight. Step 2b. Test the components lbr accessibility and stability (Section 5. I ). Step 2c. Calculate weight based on Feature Mating weights. number of alternative positions for the same two components, accessibility, and number of tizatures eliminated (Section 5.2 L
4. Feature Matings A feature mating indicates that two features can mate with each other and, hence, that the two components containing these features might mate with each other. A feature mating consists of a translation vector, a weight, and a set of accessibility directions. Conceptually, the translation vector superimposes one feature onto the other feature to bring as many of their original faces as possible into contact. This vector disregards possible collisions between the components of these two features, so it is not intended to denote the actual assembly motion that would be applied to assemble these two components. Interference tests are applied later to evaluate potential feature matings (Section 4.2). The results of these and other tests are recorded in the feature mating weight. This paper considers containment matings, where a positive feature of one component fits partially or wholly inside a negative feature of another component: that is, they have non-null volumetric intersection, and at least one pair of original faces of the two components are in contact. The top-level positive feature of all FFDs is excluded from consideration except when it is the only feature in that FFD (that is, its component is convex). The calculation of feature matings encounters a "'chicken-and-egg" problem. The translation vector must be applied to one of the components before the quality of the mating can be evaluated. However, the good matings---that is, good sets of contact faces between features--must somehow be identified bet%re the translation vectors can be calculated from them. The set of all possible matings must be efficiently enumerated. This is achieved by exploiting the original face information of the form features.
translational motion. Form features of FFDs are convex (Section 2), so their faces are uniquely characterized by their normal vectors. Every original face of each feature is mapped to the face of the other feature that has the closest orientation. If the face in the other feature is also original, these two faces are recorded as a halfspace mating. The translation vector is calculated that would move the positive feature's original face into contact with the negative feature's original face such that the positive feature is supported by the halfspace that contains the negative feature's face. Matings between an original face and a fictitious face are discarded. This method looks for matings that rnaximally constrain one feature's position with respect to the other. Recall that any three independent vectors form a basis vector set for 3D space. Thus, applying at most three halfspace matings whose faces' normal vectors are independent will result in a fully constrained position. As a special case, the normal vectors of any three mutually adjacent original faces will always comprise an independent set. Figure 2a shows a mating between a positive protrusion feature P having five original faces and a negative corner feature (" having three mutually adjacent original faces, where original faces are indicated by the shaded markings. P cannot move relative to C without violating one of the three halt-space matings. In this example, all three halt`space matings involve pairs of parallel faces, resulting in
4.1. Halfspace Mating Given two features, one positive and one negative, all halfspace matings between their original faces are generated. Intuitively, a halfspace mating represents the elimination of one degree of freedom of
191
Journal of ManuJacturing 5(vstems Vol. 18/No. 3 1999
between two features, if either or both features are such that the normal vectors of their original faces do not span 3D space, then both features' sets of original laces are amended as follows. For each feature, its nearest ancestor feature within its FFD is obtained. Then, for every pair of adjacent original faces of the feature, those original faces of its ancestor feature that are adjacent to both of the feature's original faces are found. These additional original faces of the ancestor feature are then included in the halfspace mating calculations described above. See example 1 in Section 8 for an application of this technique. Once all halfspace matings have bccn obtained between the given pair of features, all sets of three halfspace matings between original faces are lbund such that their normal vectors are independent. To satisfy the intuitive notion that a mating should bring at least two laces into planar contact with each other. at least one of the three halfspace matings in each set must consist of parallel original laces. Froln every such set of three halfspace matings, a new candidate feature mating is created with a translation vector equal to the vector sum of the translation vectors of the three halfspace matings. The result of this process is a set of candidate feature matings.
(a) P is fully constrained relative to C
s
~
s
(b) r is fully constrained relative to S
s
(c) P is partially constrained relative to S
Figure 2 Hatfspace Matings Shaded rectangular markings indicate original faces Shaded triangular faces of S in (c) are fictitious
lace-to-face contact. In the general case, any three original faces with independent normal vectors will suffice to fully constrain the mating, and the mated faces need not be parallel. Figure 2b shows a mating between a tetrahedral protrusion feature T and a trapezoidal slot feature S. The faces of T mate with the faces of S along a face, an edge, and a vertex, respectively. T'S position relative to S is fully constrained. Recall that a form feature corresponds to the interrelation of at least two adjacent original faces. 2~Thus, a form feature may have only two original faces. More generally, the normal vectors of a feature's original faces may not span 3D space. Such a feature cannot fully constrain the relative position of any feature with which it is mated. Figure 2c shows a mating between a protrusion feature P having five original laces and a step feature S having two original faces. The protrusion P can satisfy the mating at any position along a continuous range between P0 and Pt, as shown. In particular, P may freely extend beyond the shaded fictitious side faces of S because these laces do not represent real boundaries of S's component. Such cases are handled by exploiting the decomposition hierarchy to enlarge the set of original faces to be considered. When calculating halfspace matings
4.2. Local Feasibility Tests The candidate feature matings are evaluated based on local feasibility tests. Each candidate feature mating's translation vector is applied to one of its two features, and the following tests arc applied: 1. Local noninterference. The positive feature must have null volumetric intersection with all of the negative feature's positive descendants. Such an intersection is guaranteed to fail the global noninterference test described immediately below, t towever, the test is considerably less costly to calculate here, as it can exploit the convexity of feature volumes and the inclusion property of the FFDs. If interference is detected, the candidate feature mating is discarded. 2. Global noninterference. The components of the features must have null volumetric intersection under this feature mating's translation vector. The translation vector is applied to the component of the translated feature, and an interference test is pertbrmcd between the features' components. If the components interfere, the candidate feature mating is discarded.
192
.hmrnal o/Manu]acturing A)'~tems Vol. 18:No, 3 1099
3. Feature accessibility. The features must have one or more valid accessibility directions. Accessibility is tested along the six principal directions only. The positive feature is swept along each direction to create an extruded positive body, which is checked for noninterference with the negative component. If the extruded positive body and the negative component do not interfere, the accessibility direction is valid: otherwise, it is invalid. The candidate feature mating records all of its valid feature accessibility directions. If none of the directions are valid, the candidate feature mating is discarded.
Figure 3 Number of Constrained Directions Between Features
the positive component is slid away from one of its halfspace matings while maintaining the other two halfspace matings. If such sliding motion would eventually result in a previously unused halfspace mating between these two features to become satisfied, then the direction of sliding is an unconstrained direction. Figure 3a shows a typical case where the positive feature is unconstrained in one direction, resulting in two alternative mating positions, while in Figure 3h the positive feature is unconstrained in two directions, resulting in tbur alternative mating positions.
4.3. Feature Mating Weight Once all local feasibility tests have been passed, the quality of the mating between the two features is evaluated. This evaluation considers the degree to which the positive feature is contained within the negative feature, and the degree to which the positive feature is constrained by the negative feature, in that order. 1. Containment. Two cases of containment are distinguished. Per/ect mating occurs when the feature volumes are identical. Because both features are convex, equality is efficiently tested by comparing their vertex positions. All other cases are treated as partial containment. Figure 2a shows the typical partial containment case where the positive feature extends outside the negative feature, while Figure 2b shows the case where the positive feature is entirely contained within the negative feature. 2. Constraint. A pair of features may have more halfspacc matings than can be achieved simultaneously. Informally speaking, this occurs when the positive feature is smaller than the negative feature and hence can mate at numerous different positions within it. The degree to which the negative feature constrains the positive feature is measured by counting the number of unconstrained directions between the two features. These are directions in which the positive feature may move to achieve a halfspace mating that involves original faces of the two features only and is not currently achieved. The directions used here are derived locally from the three halfspaces of the negative feature by taking their pairwise intersection. Conceptually,
Note that of the six principal directions, three are always eliminated by halfspace matings (Section 4.1 ), and at least one is a feature accessibility direction (Section 4.2, item 3). The remaining two principal directions are either mated, accessible at the feature level (but not necessarily accessible at the component level), or unconstrained. A partial containment mating has zero, one, or two unconstrained directions. It is preferred to maximally constrain the features" positions, so this number is to be minimized. Perfect matings are defined to have a value of -1 to always take precedence over partial containments, so that both the containment and the constraint criteria can be represented with a single numeric weight, and this is taken to be the weight of the candidate feature mating.
5. Component Matings Two components can mate with each other through multiple features simultaneously. For example, a component could have two or more positive protrusion features that mate simultaneously
193
Journal o[Manu/acturing 3)'stems Vol. 18/No. 3 1999
with the same number of negative depression features of another component. These multiple positive-negative matings would be represented by separate feature matings that all have the same translation vector. Therefore, for each distinct translation vector, all feature matings having this translation vector are gathered and are combined into a single component mating. The feature accessibility directions are combined as described in Section 5.1, and the feature mating weights are merged as described in Section 5.2.
ria are then applied, in the specified order, to rank the component matings: 1. Mate Best Features. Two component matings are compared by comparing their lists of feature mating weights element by element, halting as soon as the first unequal elements are encountered. The component mating with the better feature mating weight is chosen. This criterion ensures that perfect matings are used first, followed by partial containment matings from most constrained to least constrained. 2. Mate Most Features. If the weight list of one component mating is exhausted before an unequal pair of weights is encountered, the other component mating (the one with the longer weight list) is considered to be better, as it mates more features. 3. Mate Components with Fewest Alternative Positions. Two features may mate with each other at multiple relative positions, each one having a different translation vector. This is especially common tbr partial containment matings, as shown in Figure 3. Pairs of components with the fewest number of alternative positions are preferred. 4. Component Accessibility. The component mating with fewer valid component accessibility directions is chosen. In this respect, component accessibility directions are treated similarly to unconstrained directions (Section 4.3, item 2). 5. Eliminate More Features. This heuristic sums the number of features in the two components" I:FDs to obtain the number of features that will be eliminated by the application of this component mating. The component mating with the larger sum is preferred because it most greatly simplifies the set of features.
5.1. Global Feasibility Tests Before multiple feature matings between the same two components can be combined, they must pass the following tests. These tests ensure that the two components in question can be mated in a way that satisfies all feature matings simultaneously. I. Component accessibility. All of the feature matings between these two components must share at least one accessibility direction. The intersection of the feature matings' accessibility directions is obtained. If the result is null, there is no consistent accessibility direction, and all of the feature matings are discarded. 2. Stability. A simple notion of stability is enforced for all intermediate subassemblies. Components are assumed to be stable in the initial state, resting on the ground. Thereafter, a translated component is considered stable if it rests on some other component, that is, it has at least one downward-facing original face that is wholly or partially in contact with one upwardfacing original face of the untranslated component. Detailed characteristics contributing to stability, such as friction, balance, center of gravity, and moment of inertia, are beyond the scope of the current work.
The result of applying the Find-MatingRelations algorithm of Section 3 to a set of FFDs is a list of component matings sorted by their weights. A single component mating corresponds to one assembly mating relation between two components. However, the set of component matmgs obtained through this algorithm will usually be a superset of the assembly mating relations for any one assembly configuration. Depending on the order in which the component matings are evaluated, different assembly configurations can be obtained. The next section describes a simple con-
5.2. Component Mating Weight Each component mating represents one or more feature matings having the same translation vector. The weights of all of these feature matings are extracted and sorted from best to worst, retaining all duplicate entries. In addition, each component mating records the total number of distinct component matings between the same two features, that is, the number of alternative positions in which the two features can mate with each other. The following crite-
194
.hmrnal o/.i/anu/acturing System.s \.'oI. Ig/No. 3 19t19
Table 2
trol mechanism that can be used in conjunction with Find-Mating-Relations to enumerate all of these assembly configurations.
Find-Mating-Configurations Algorithm Procedure
Find-Mating-Configurations.
Input: A set of assembly components and;or subassemblies. Output: A directed graph of assembly configurations and their
6. Component Assembly
assembly sequences. While more than one component remains:
This section presents the Find-MatingConfigurations algorithm (see Table 2) that provides a backtracking, depth-first search mechanism to obtain all assembly configurations from the component mating list produced by Find-MatingRelations. Consider a graph representation of this problem, where each node represents a component and a weighted arc between two nodes represents a component mating and its weight. Then the generation of a single feasible assembly configuration can be studied as a graph reduction problem. At each step, the arc with the highest weight is selected and its two nodes are merged into a single node. This corresponds to the assembly of the two components represented by these nodes. All other arcs to these two nodes are deleted, and new arcs are calculated from the new node to all remaining nodes. The process succeeds when the graph is reduced to a single node, or fails when the graph has no more arcs. This process can be implemented as a depth-first traversal over the set of arcs available at each state of the graph. When the traversal reaches a state with only one component, a feasible assembly configuration is achieved, and the traversal gives the assembly sequence. Backtracking to a previous state of the graph may be invoked to generate all remaining feasible assemblies and assembly sequences. The result of the backtracking traversal will be a directed acyclic graph showing all feasible assembly configurations and their assembly sequences. When only one component remains, a feasible assembly configuration is achieved (Section 6.1), and the algorithm backtracks to the most recent choice point. When all choice points have been exhausted, the algorithrn halts. A component mating is executed (Step 3a2) first by applying its translation vector to one of its components, then by performing a Boolean union operation. These two components" FFDs are deleted, and the component mating list is updated by deleting all other component matings that involve either of these two components. Find-Mating-Configurations is recursively called with the updated set of components to obtain the FFD of the new subassembly and update the component matings.
Step I. ()blain FFDs of all new components (Section 2). Step 2. Call Find-Mating-Relations (Section 3). Step 3. Perform Component Assembly (Section 6): Step 3a. Ira Component Mating exists: Step 3al. If multiple ('omponent Mattngs tie for the best. save the others in a choice point for later backlracking. Step3a2. Execute the best Component Mating to obtain a nov, subassembly. Step 3a3. Recursively call Find-Mating-
Configurations with
the new subassembly as the only nev, component.
Step 3b. If there are no Component Matings (Section 6.2): Step 3bl. Apply Feature Conversion to all FFI)s (Section 6.4). Step 3c. Backtrack to the most recent choict." pmnt (Section 6.3). EndWhile.
6.1. Feasible Assembly Configuration If all components have been successfully mated at the beginning (Step 1) of any iteration of Find-MatingConfigurations, then a feasible assembly configuration has been achieved, and it is recorded. This is a successful termination of one pass of the algorithm.
6.2. Dead End Configuration On the other hand, if the component mating list is empty at this point in an iteration (Step 3b of the algorithm), then a dead end configuration has been reached. This is an unsuccessful termination of one pass of the algorithm. The simplest course of action is to treat this as a Dilute and immediately backtrack to a previous state (Section 6.3). Alternatively, fi, ature convepwion (Section 6.4) may be applied to attempt to find additional feasible assembly configurations starting from this state. Note that a state whose component matings have been exhausted through backtracking is not considered to be a dead end configuration.
6.3. Backtracking After a feasible assembly configuration or a dead end configuration has been reached, the algorithm backtracks to the most recent state that contained a choice point and resumes from that point by applying its next component mating. This comprises an additional pass through the algorithm. Backtracking ensures that all feasible assembly configurations are
195
.h~urnal of Manufacturing 5~vstems Vol. 18/No. 3 1999
found. If no more choice points remain in any previous state, the algorithm halts.
positive halfspaces induced from them are used to partition the positive parent feature b l into positive components b3' and b4~ These feature conversions are applied to the FFDs in the dead end configuration to obtain alternative FFDs and then recompute new component matings between them. In the general case, all FFDs in the dead end configuration will have both positive and negative features. Because the features in an unconverted FFD are intrinsic to the geometry of their component, za they are favored over any other representation. Therefore, all component matings tound as a result of feature conversion are considered to be of lower precedence than any component matings found through Step 3 of the algorithm. Thus, feature conversion is applicable only when a dead end configuration is reached and need not be considered otherwise. The application of the conversions to the FFDs may involve considerable computation. Given n FFDs, the strategy is to convert a subset of k FFDs to have positive features only, and to convert the remaining (n k) FFDs to have negative features only, for all 1 <- k <- (n - 1). For each alternative set of converted FFDs, Find-Mating-Algorithms is called again. Backtracking will eventually return to this alternative representation when all assembly sequences that begin from it have been exhausted, and feature conversion is applied to obtain the next alternative representation. When all alternative representations obtained through feature conversion have been examined, then this dead end configuration has been exhausted and control returns to Step 3c to backtrack out of the dead end configuration.
6.4. Feature Conversion Feature conversion is an additional mechanism to proceed beyond dead end configurations by converting features into alternative representations. Feature conversion uses positive-to-negative conversion as described in Waco and Kim ~4 and/or negative-topositive conversion, which is the complementary procedure. Figure 4a shows the application of positive-to-negative conversion to the FFD of component A. Positive wedge feature a3 has two shaded original faces. Negative halfspaces arc induced from these two original faces and are used to partition the negative parent feature a2. This converts a2 and a3 into two negative features a4' and a5'. Figure 4h shows the complementary negative-to-positive conversion for the FFD of component B. Negative feature b2 has two shaded original faces, and the two
II
II
a~°."'--, (-)
(q
a3 (÷) (a) Positiveto negativeconversion
@
7. Examples
li
Two examples of the Find-Mating-Configurations algorithm are now provided.
II (7":
Example I
/ ,, •
Figure 5 shows tour components A, B, (7, and D to be assembled. In Step 1 o f Find-MatingConfigurations, the FFDs o f A, B, C, and D are found, as shown in Figure 6. Component A has a convex hull al, two negative features a2 and a4, and a positive feature a3. Component B has a base block b l and two negative slot features b2 and b3. Component C has a base block c 1, a negative thature c2, and a positive feature c3. Component D has a
,/' ~
(+) " " ~ b2 ~ 1-)
b4' (+)
(b) Negativeto positiveconversion Figure 4 Feature
Conversion
196
.I,,urnal ~,/ ~lanu/iwturm,~ .Siv~'tem,s Vol. I ~,'No. 3 I ~)gt~
II A
B U"
x
~ a3 (*)
Figure 5
Componenls
-..
~ a
z~ ?
(1
-e
A. B. C. and D Io Be Assembled in Example I
convex hull dl, a negative slot feature d3, and two other negative features d2 and d4. In Step 2, Find-Mating-Relations (Section 3) is called. None of the components A, B, C, and D are convex, so their top-level features al, bl, cl, and dl are not considered for feature matings. A perfect feature mating relation is found between features a3 and c2, denoted a3-c2. Features b2, b3, and d3 are slot features having three original faces each, with two of these original faces facing each other, that is, having antiparallel normal vectors, so the normal vectors of their original faces span only 2D space. When these slot features are considered for feature matings, additional original faces from their ancestor features are included in the halfspace mating tests, as described in Section 4.1. Slot features b2 and b3 include the top and bottom faces of their ancestor feature b l, slot feature d3 includes the bottom face of its parent feature d l, and positive feature c3 includes the top face of its ancestor feature c l. In this way, three perfect mating relations c3-b2, c3-b3, and c3-d3 are found. Figure 7 shows the resulting feature matings in initial state 1. The weights of all four feature matings are calculated in Step l d of Find-Mating-Relations. In Step 2a, it is found that the feature matings all have d i f ferent translation vectors, so they result in four distinct component matings. The weights of these component matings are calculated in Step 2c and are tabulated in 7able 3, listed from best to worst. The first two component matings A-C and C-D tie in all weights. Component mating C-D is saved in a choice point at state I, and component mating A-C is executed. Figure 8a shows the FFD of the new subassembly component AC, consisting of a convex hull acl, a positive feature ac3, and three negative features ac2, ac4, and at5, while Figure 8b shows the assembly sequence
1
,
-, ~3
(°)
~o
'l
Figure 6
FFDs of Coml~mentsA. B. C. and D in Example I
Figure 9 shows the updated set of features and their feature matings in state 2. Perfect t~ature mating ac3d3 is found. Feature matings ac3-b2 and ac3-b3 fhil the global noninterference test between components
197
,hmrnal o/"Manu/~zcturing ,%ivstems Vol. 18/No. 3 1999
A~
al~ (,)
~2)~ (,)a3[~ ~[~
(b)Assembly( ' ~ seqt'encea3 ~
If.'
-
AC .,.,,
,c, t
u"
~ / X
~ :' .-"
ac2
.(
ac3 [ ~
"-' -o
(a) Newcomponent ACandits FFD ac5 [ ~ (-) Figure 7 Figure 8 Result of Assembling Components A and C in State I
Features and Matings in State 1 (the initial state)
Table 3
Weights of Component Matings
Feature accessibility directions Feature mating weight Alternative positions Component accessibility directions Features in components
a3-e2 2: -Y. -2:,
~ 2: ~Y, ~-Z
e3-b2 2: -X, ~Z
e3.-b3 2: +X, --Z
AC
-1 (pedL=ct) -1 (perfect) -l(pcrfect) -l(pertbct) 1 I I I 2 2 2 2 A4+C3 7
(_'3~D4 =7 B3+C3 =6 B3+C3 -6
AC and B, so they are discarded. Component mating AC-D is the only available component mating, so it is applied. Figure lOa shows the FFD of the new subassembly ACD, consisting of a base block acdl and two positive features acd2 and acd3, and Figure lob shows the updated assembly sequence. Figure 11 shows the updated set of features and feature matings in state 3. Perfect feature matings acd2-b2, acd2-b3, acd3-b2, and acd3-b3 are found, as tabulated in Table 4. Three separate component matings ACD-Bvl, ACD-B,2, ACD-B,.3 are created, one for each of three possible translation vectors vl, v2, v3. Component mating ACD-B,I wins because it has two feature matings and the other two component matings have one feature mating each (Section 5.2, item 2). Thus, components ACD and B are assembled so as to mate features acd2 with b2 and acd3 with b3 simultaneously. Figure 12a shows the final assembly configuration ACDB, while Figure 12b shows the final assembly sequence for this configuration. Now the algorithm backtracks to the only choice point in state 1, which corresponds to component mating c3-d3 in Figure 7. If this component mating
Figure 9 Features and Matings in State 2
AC~O
(b)sequence Assem3.bcyl21(~ ~
(a)Newcomponent ACDandits FFD
acdl (*)
a
.~
~' ~" 7.?
@:;
Figure !0 Result of Assembling Components AC and D in State 2
is applied first, an alternative assembly sequence CDAB would be generated, but the resulting assembly configuration will again be a cube. Figure 13 shows the complete assembly sequence tree, show-
198
./e,urnal of ,llanu/a('turing .5"vstenl.~ Vol. 1 8 / N o . 3 1999
,) a3c2
ACD
(+1
(+)
(+) [ ~
acd2b3 acd3b2
(a) Assembly configuration ACDB
(b) Assembly sequence
Figure 12 Feasible Assembly Configuration ACDB in State 4
Figure I 1 Features and Matings in State 3 Table 4 Perfect Feature Matings Feature accessibility directions I-eature mating weight Alternative posiuons ('omponcnt accessibility directions Translation vector
acd2-b2 2: -X, ,Z
acd3-b3 2: -X, +Z
acd3-b2 2: -X, -Z
acd2-b3 2: +X, ~Z
-I (perfect) -I (perfect) -l(perfcct) -l(perfect) I I 1 1 "~ 2 2 2 ~1
vI
v2
v3
ac, c0a
ing two assembly sequences that both result in feasible assembly configurations.
Example 2 Figure 13 Assembly Sequence Tree for Example I
The second example demonstrates the use of partial containment matings. Figure 14 shows five components J, K, L, M, and N to be assembled, and their FFDs. Component J has a base blockj 1 and two negative features j2 and j3. Components K, L, and N each have two positive features, respectively ki and k2, il and 12, and n l and n2. Component M is convex, so it has one positive feature m l that is identical to M. Figure 15 shows the features and feature matings in state i, all of which are partial containment matings. Positive feature k2 can mate at either the left end or the right end of negative pocket feature j2, so it has two alternative positions. Positive features 12 and n2 can mate at any one of j2's four corners. Positive feature m l mates with negative feature j3 in only one way. These weights are summarized in
II
!1
•
kl
I
:"
I1 I.~
II
ml
II
('1
¢'~
I-)
Figure 14 Components J. K, L, .M, and N To Be Assembled in Example 2, and Their FFDs
Table 5. The M-J component mating has the fewest alternative positions, so it is selected and applied. Figure 16 shows new component M J, its FFD, and the new feature matings in state 2. MJ consists of a base block mj l, a negative feature mj2, and a positive feature mj3. Positive feature k2 can mate with negative
feature mj2 at its left end, but not at its right end, as it fails the noninterference test with child feature mj3 of mj2. Similarly, two of four mating positions between positive feature n2 and mj2 are eliminated due to local interference with mj3. Table 6 shows the three feature matings.
199
Journal q[' Manu[ac.turing ,Sivstems Vol. 18/No. 3 1999
m,,
(~)
j2
-"
kl
(+)
I1
(*)
N@
N@
(*)
Figure 15 Features and Malings in State 1
Figure 16 New Component MJ, Its FFD, and New Feature Matings in State 2
Table 5 Feature Mafings
Table 6 Feature Matings
Feature accessibility directions Feature mating weight Alternative positions
ml-j3 1: -Z I:* X 1
k2-j2 1: -Z 1:± Y 2
12-j2 I:-Z I:-. X,i Y 4
n2--j2 I:-Z 2:= X.: Y 4
Feature accessibility directions Feature mating weight Alternative positions
k2-mj2 1: -Z 1:± X I
n2-mj2 I: -Z I :.---Y 2
12-mj2 I:-Z I: : X. ~ Y 4
Summary
The K-MJ component mating is applied. Figure 17 shows the new component KMJ, its FFD, and the updated feature matings in state 3. Component KMJ has a convex hull kmjl, two negative features kmj2 and kmj3, and a positive feature kmj4. Note that kmj3's slanted face is a fictitious face, which does not constrain positive features 12 and n2. After eliminating feature matings due to interference with positive child feature kmj4, feature matings n2-kmj3j-ro,,, 12-kmj3yro,,, and 12-kmj3~,c, are found, as shown in Table 7. Component mating N-KMJ is more constrained, so it is applied, as shown in Figure 18 for state 4. New component NKMJ has a convex hull nkmjl, a negative corner feature nkmj2, and a negative feature nkmj3. Feature mating 12-nkmj3 is now a perfect mating. Applying its component mating L-NKMJ results in the final assembly configuration of Figure 19. Note that this configuration was achieved without having to search through all combinations of alternative component matings. At every step of the assembly process, a unique component mating was selected as a clear winner, and its application eliminated some alternatives of the remaining component matings.
This paper has presented a method ( i ) to identify mating features directly from the boundary representations of a set of assembly components, based on the FFDs obtained through convex decomposition, and (2) to obtain the assembly mating relations between these components, which are represented as component matings. The form feature representation of the components, including both the feature volumes and the decomposition hierarchy, is used to identify matings between components. The feasibility ofmatings between components is checked using noninterference, accessibility, and stability tests. The component matings may admit one or more feasible assembly configurations, which are enumerated using a backtracking depth-first heuristic search. A preliminary implementation of this algorithm has been completed using C, C++, and the DESIGNBASE solid modeling toolkit. It incorporates the existing implementation of the form feature recognition algorithm based on ASVP decomposition described in Section 2, the Find-MatingRelations algorithm described in Section 3 and the Find-Mating-Configurations algorithm described in Section 6. This implementation has been tested successfully on the two examples given in Section 7.
200
.Iourmd of ,14anulacturing .~)'stem,s Vol. 18.'No. 3 lgq9
KM, kmjl (+)
NK~MJ~ ~
i
~-~"....~...
J
,mi26C "'
, ,.,
/
~
o: "
-.
~k~.,3 ~ , ¢ ,{I kmi4[~
,3
"
; 7 '÷>
nkmlI '~, J ~ I
i~'1
(+l
t
i1 (.)
12 t-~
Figure 18 N e ~ Component NKMJ, Its FFD, and Ne~ Feature Matings in State 4
Figure 17 New Component KMJ, Its FFD, and New Feature Matings in State 3
Table 7 Feature Matings Feature accessibility directions Feature mating ,,,.'eight Alternative positions
n2-kmj3 I: -Z I: : Y 1 ( front )
12-kmj3 I: -Z 2:+-- X, i Y 2 ( front, back)
Figure 19 Feasible Assembly Configuration I.NKMJ in State 5
Acknowledgment This work was supported in part by NSF grant DDM 9210214. The provision of DESIGNBASE by Ricoh Corporation is also greatly appreciated.
Mathematical Programming." (',mqmwr-,.lidcd I)csign (`.22. nT, Sept. 1990), pp394-400. 10. J.Ij. Turner. S. Subramaniam, and S. (iupta, "Constraint Representation and Reduction m Assembly Modeling and Analysis." IEEE 7hm~ ,n Robotics and ..lulomatton I`.'~. n(',. I)ec. 1992), pp741750. II. H. Ko and K. l,ce, "'Automatic Assembling Procedure (ieneratton from Mating ('onditions." ( 'oml,uwr-..lidcd l)e~ien ( ~ I tL n I. Jan. Feb. 1987), pp3-10. 12. T.L. L)e Fazio and 1).1!. "~.khitnc,., "'~,implified Generation of All Mechanical Assembly Sequences." II:'H: .hmrnal n/ Rohoti~s and ,4utom~tti,m (vRA-3, n6, Dec. 19~7), pp640-658. 13. [_.S. tlomem de Mello and A.C. Sanderson. "'Representations of Assembly Sequences,'" t',v,r, of I lth Int'l Joint ( o n f . on Artificial Intelligence. Detroit. Aug. 1989. pp IO35-1(140. 14. M. Sbpitalni. G. I'lber, and li. l,enz. "'Automatic Assembl.`. of Three-Dimensional Structures `. ia ('onnecti`. itv (imphs.'" Innals o/ the ('IRP (',3~, nl. 10891, pp25-2g. Ifi. A.(. Sanderson. L.S. Ilomem dc Mcllo, and tl. Zhang, "'Assembly Sequence Planning," AI Magazine ( v I I. n I. Spring I qg0 L pp62-g I 16. R.H. Wilson and J.F. Rit, "Maintaining (ieomctric l)cpcndencic~ m an Assembly Planner," I'roc. of IEI.:I! lnt'l (.'on[', on Robotics and Automation. Cincinnati, May 1990 (',2. It)cl(h. pp8C)0-8¢15. 17. T.C. ~ o o and 1). [)utta. ""kutomatic I)isassembly and lbtal ()rdering in Three Dimensions." ..|SAIl.," .hntrnal ,~] I-ngg l i , lndu.~trv (,.I 13. n2. May 1991), pp207-213 18. R.tl. Wilson and J.-(_'. I,atombc. "'(ieomctric Rca~,oning About Mechanical Assembly." Artificial Intelh,~emc {~71, n o 2. I)cc. 19941, pp371-3t)6. 19. It. Chiyokura. Solid ~,todeling with I)ESI(iNBASI: (P, eading. MA: Addison-Wesley, 1988 I. 20. Y.S. Kim and I).J. Wilde, "'A ('olwcx l)cconlposition Using Convex Ilulls and I.ocal ('ausc of Its, Non-con`.'crgcncc,'" l'r,w. ~d" ASMIi
References 1. Y. l.iu and R.J. Popplestone, "'Planning for Assembly from Solid Models?" l ' r , , of [l-I!I" Int'l Conf. on Robotics and Automation (','1, 1989), pp222-227. 2. S. Came,, and I). l:lro,.vn, "'A Continued Investigation into Qualitati'.'c Reasoning About Shape and Fit." drt(ficial Intelligem'e./i)r Engineering I)e~ign. .4nalv.~is and .~anu/~tcturing (AI I-I)AM) (',3, n2. 1989), pp85-1 I1) 3. B.(). Nnaji and I'1.-('. Liu, "Feature Reasoning for Automatic Robotic Assembly and Machining in Polyhedral Representation." lnt 7 ,hmrnal ,/l'roduction Research (','28, n3. Mar. 1990), pp517-540. 4. K. l,ec and G. Andrews, "'Inference of the Positions of Components m an Assembly: Part 2.'" ('omputer-Aided Design (v17, n l, Jan..:Feh. 1985 ), pp20-24. $. A.P Ambler and R.J. Popplestone, "'Inferring the Positions of Bodies from F,pecified Spatial Relationships," Art!ficial lntelligem',' [,.,6. n2, Summer 1975). pp157-174. 6. R.J. Popplcstonc. A.P Amblcr, and I.M. Bellos, "'An Interpreter t'~w a Language for Describing Assemblies." .4rt!lk'ial Intelligence (v14. n I. Aug. It)gO). pp79-107. 7. K. Lcc and D.C. Gossard, "'A Hierarchical Data Structure |or Representing Assemblies: Part 1," ('omputer-Aided Design ( v 1 7 nl. Jan..'Feb. 1985L pp15-19. 8. DN. Rocheleau and K. Lee, "'System for Interactive Assembly Modeling." {',mputer-Aided l)esign (v19, n2, Mar. 1987), pp65-72. 9. J.L.i Turner. "'Relative Positioning of Parts in Assemblies Using
201
Journal of Manu[acturing 3~vstems Vol. I8/No. 3 1999
Authors' Biographies
Advances in Design Automation, Montreal, Sept. 1989. Also ASMt:" Journal ~'Mechanical Design (v114, n3, Sept. 19921, pp459-467. 21. T.C. Woo, "'Feature Extraction by Volume Decomposition," Proc. of
Eric Wang is a research associate at the CAD, CAM l,aborator~ at the University of Wisconsin-Milwaukee (UWM) and is a PhD candidate in the computer science department of the University of Illinois at UrbanaChampaign. Mr. \~'ang's research interests include feature-based computeraided process planning, assembly planning, and geometric reasoning.
Conf. on CAD/CAM Technology in Mechanical Engg., Massachusetts. Mar. 1982. 22. Y.S. Kim and D.J. Wilde, "A Convergent Convex Decomposition of Polyhedral Objects," Proc. of SIAM Conf. on Geometrical Design, Tempe, AZ, Nov. 1989. Also ASME Journal ~71"Mechanical Design (v114, n3, Sept. 1992), pp468-476. 23. Y.S. Kim, "Recognition of Form Features Using Convex Decomposition," Computer-Aided Design (v24, n9. Sept. 1992), pp461476. 24. I). Waco and Y.S. Kim, "Geometric Reasoning for Machining Features Using Convex Decomposition." Proc. of ACM/It'~EE Symp. on Solid Modeling, Montreal, May 1993. Also Computer-Aided Design (v26, n6, June 1994), pp477-489. 25. D. Waco and Y.S. Kim, "'Handling Interacting Positive Components in Machining Feature Reasoning Using Conve Decomposition." Advances in Engg. So/tware (v20, n20. 1994). pp107-119.
Yong Se Kim is an associate professor of mechanical engineering at the University of Wisconsin-Milwaukee (UWM), where he directs the CAI)/CAM l,aboratory, lie joincd UWM in 1997. From 1990 to It,~q7, hc was an assistant professor at the University of Illinois at t'rbanaChampaign. He received his Phi) in mechantcal engineering from the Design Division of Stanlord Untversity in 1990. Professor Kim's research interests include computer-integrated design and manufacturing, process planning, product development, and visual reasoning, lie is currently vicechair of the Computcrs and lntbrmation in Engineering (CIE) di,,ision of ASME and will be general chair for the 2000 ASMF ('IF, conference Prot~ssor Kim is also the director of international relations tot the ~qocicty of CAD'CAM Engineers in Korea.
202