16
.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 This paper presents a feature-based method to obtain assembly mating relations between a set of polyhedral com- ponents. 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 geom- etry 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 fea- tures 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 config- urations 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 com- ponent parts, requiring manual or automated assem- bly to be constructed. The design process of such an assembly consists of ( 1) satisfying the overall func- tional 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 func- tional components. Assembly product design and assembly process planning require considerable geometric reasoning capabilities, which are current- ly heavily dependent on human designers and man- ufacturing engineers. The growing trend of concur- rent product and process engineering seeks to reduce overall product development time by providing deci- sion-making support for manufacturing process con- siderations 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 systemat- ic 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 achiev- ing an automated assembly redesign capability. Such a capability could be beneficial for product mainte- nance 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 envi- ronments, where the automated assembly redesign 187

Feature-based assembly mating reasoning

Embed Size (px)

Citation preview

Page 1: Feature-based assembly mating reasoning

.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 This paper presents a feature-based method to obtain

assembly mating relations between a set of polyhedral com- ponents. 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 geom- etry 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 fea- tures 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 config- urations 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 com- ponent parts, requiring manual or automated assem- bly to be constructed. The design process of such an assembly consists of ( 1 ) satisfying the overall func- tional 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 func- tional components. Assembly product design and assembly process planning require considerable geometric reasoning capabilities, which are current- ly heavily dependent on human designers and man- ufacturing engineers. The growing trend of concur-

rent product and process engineering seeks to reduce overall product development time by providing deci- sion-making support for manufacturing process con- siderations 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 systemat- ic 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 achiev- ing an automated assembly redesign capability. Such a capability could be beneficial for product mainte- nance 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 envi- ronments, where the automated assembly redesign

187

Page 2: Feature-based assembly mating reasoning

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.

1.1 Overview This paper presents a method that determines

assembly mating relations from features that are automatically recognized from the boundary repre- sentations 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 com- ponents to recognize form features from the compo- nent geometry. Assembly mating relations are calcu- lated 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 prob- lems 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-

cation of feature recognition to assembly l~catures has received little attention.

Liu and Popplestone' describe a method to recog- nize 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 pre- serve the features' shape. The authors consider only fits contact relations, in which a protrusion feature is mated via plane-plane contact to a depression fea- ture. Such contact implies that the two features have the same symmetry group. Feature matings are found by searching fbr features with the same sym- metry groups.

Carney and Brown' adopt a qualitative reasoning approach to feature recognition and fitting. The geo- metric domain is limited to components consisting of a single base block or cylinder, with any nurnber of noninteracting protrusion and depression fea- tures. 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 appropri- ate transformation is obtained and applied to one of thc components, and the resulting mating is dis- played graphically for human evaluation. Components can be translated, but rotations are restricted to 90 ° increments. In general, the repre- sentation of features does not provide sufficient richness to model real parts.

Nnaji and Liu 3 present an algorithm to recognize mating features from the boundary representation of the components. Concave (depression) features are identi- fied as sets of thces connected through the transitive clo- sure 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.

188

Page 3: Feature-based assembly mating reasoning

.hmrmtl o! .'#anulacturing Svstents \2~1. 18.No. 3

1999

Inferring the positions of assembly components from mating relations. Early assembly modeling 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 assem- bled and the assembly mating relations between them, these transformation matrices can be calculat- ed 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 auto- mated 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 char- acterizc 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 sta- bility 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 con- figuration. The component translation vectors need- ed to achieve the assembly configuration are gener- ated as part of the feature mating calculations, as described in Section 5. Thus, the components' trans- formation 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

can be achieved within any single assembly config- uration, Thus, these alternative component mating relations could give rise to multiple alternative assembly configurations, which are enumerated through a backtracking search, in contrast with pre- vious 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 lbl- lows. 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 algo- rithm by which the the assembly mating relations are obtained from the FFDs of the assembly compo- nents. Section 4 describes how.leature matings are calculated between features of different compo- nents. These feature matings are combined into com- ponent matings in Section 5. The set of component matings thus obtained is generally a superset of the assembly mating relations, possibly admitting multi- ple valid interpretations of the assembly correspond- ing 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 implementa- tion of this assembly mating algorithm has been completed in C++ and Prolog using the DESIGN- BASE 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.

2. Form Feature Decomposition The feature recognition method to obtain assem-

bly 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 extract- ed. 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 intbrma- tion is available.

189

Page 4: Feature-based assembly mating reasoning

JournalqfManuJbcturing3),stems Vol. 18/No. 3 1999

A convex decomposition called Alternating Sum of Volumes with Partitioning (ASVP) is a volumet- ric representation of solid objects obtained from the boundary information. 2° ASVP decomposition combines the decomposition step composed of con- vex hull and set difference operations 21 and a parti- tioning method using cutting operations as a reme- dy for nonconvergence? °a2 Using ASVP decompo- sition, a novel approach in recognizing volumetric form features intrinsic to the shape of the solid has been devised. 23

ASVP decomposition is a hierarchical decom- position of the boundary faces of the given solid based on extremality where the volumetric expres- sions abstract the boundary face information. An example of ASVP decomposition is given in Figure la. The faces of ASVP volumes are distin- guished 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 main- tained 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 reme- dial partitioning operations. In Figure la, volume B( l, 1,1 ) has six original faces, namely the top, bot- tom, and four vertical side faces, and four slanted fictitious faces arising from the convex hull opera- tion. 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 inter- relations between the solid faces can be systemati- cally 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~ i

B(3 J B(3 21 ,

(a) ASVP decomposition of part B (b) FFD of part B

Figure I

volumes of the ASVP decomposition based on the hierarchical structure and face dependency informa- tion 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 prod- uct shape. The FFD of a solid is achieved when all volumes of the decomposition are treated as recog- nized form feature entities having at least two origi- nal faces, and all original faces are connected by the transitive closure of adjacency. 23 The 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 geo- metric 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 intrin- sic information that the tbrm features provide.

190

Page 5: Feature-based assembly mating reasoning

.hmrnal o/ AhmU/acturing Systems W)I. IS/No. 3

1 qOq

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 algo- rithm is described in a later section, as indicated.

4. Feature Matings A feature mating indicates that two features can

mate with each other and, hence, that the two com- ponents 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 intend- ed to denote the actual assembly motion that would be applied to assemble these two components. Interference tests are applied later to evaluate poten- tial feature matings (Section 4.2). The results of these and other tests are recorded in the feature mat- ing weight.

This paper considers containment matings, where a positive feature of one component fits partially or wholly inside a negative feature of another compo- nent: that is, they have non-null volumetric intersec- tion, 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 effi- ciently enumerated. This is achieved by exploiting the original face information of the form features.

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 repre- sents the elimination of one degree of freedom of

Table I 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

translational motion. Form features of FFDs are con- vex (Section 2), so their faces are uniquely charac- terized 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 vec- tor is calculated that would move the positive fea- ture'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 nega- tive 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 con- strained position. As a special case, the normal vec- tors of any three mutually adjacent original faces will always comprise an independent set.

Figure 2a shows a mating between a positive pro- trusion 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

191

Page 6: Feature-based assembly mating reasoning

Journal of ManuJacturing 5(vstems Vol. 18/No. 3 1999

(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 trape- zoidal slot feature S. The faces of T mate with the faces of S along a face, an edge, and a vertex, respec- tively. T'S position relative to S is fully constrained.

Recall that a form feature corresponds to the inter- relation 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 protru- sion P can satisfy the mating at any position along a continuous range between P0 and Pt, as shown. In par- ticular, P may freely extend beyond the shaded ficti- tious side faces of S because these laces do not repre- sent real boundaries of S's component.

Such cases are handled by exploiting the decom- position hierarchy to enlarge the set of original faces to be considered. When calculating halfspace matings

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.

4.2. Local Feasibility Tests The candidate feature matings are evaluated based

on local feasibility tests. Each candidate feature mat- ing'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 cost- ly to calculate here, as it can exploit the convexi- ty of feature volumes and the inclusion property of the FFDs. If interference is detected, the can- didate 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

Page 7: Feature-based assembly mating reasoning

.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 posi- tive 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 accessibil- ity directions. If none of the directions are valid, the candidate feature mating is discarded.

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 posi- tive 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 fea- tures 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 simulta- neously. Informally speaking, this occurs when the positive feature is smaller than the negative feature and hence can mate at numerous differ- ent positions within it. The degree to which the negative feature constrains the positive feature is measured by counting the number of uncon- strained directions between the two features. These are directions in which the positive fea- ture may move to achieve a halfspace mating that involves original faces of the two features only and is not currently achieved. The direc- tions used here are derived locally from the three halfspaces of the negative feature by tak- ing their pairwise intersection. Conceptually,

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 fea- tures 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.

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 direc- tion (Section 4.2, item 3). The remaining two princi- pal directions are either mated, accessible at the fea- ture level (but not necessarily accessible at the com- ponent level), or unconstrained. A partial contain- ment mating has zero, one, or two unconstrained directions. It is preferred to maximally constrain the features" positions, so this number is to be mini- mized. Perfect matings are defined to have a value of -1 to always take precedence over partial con- tainments, so that both the containment and the con- straint 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 pos- itive protrusion features that mate simultaneously

193

Page 8: Feature-based assembly mating reasoning

Journal o[Manu/acturing 3)'stems Vol. 18/No. 3 1999

with the same number of negative depression fea- tures of another component. These multiple posi- tive-negative matings would be represented by sep- arate feature matings that all have the same transla- tion 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 direc- tions are combined as described in Section 5.1, and the feature mating weights are merged as described in Section 5.2.

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 ini- tial 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 upward- facing original face of the untranslated compo- nent. Detailed characteristics contributing to sta- bility, such as friction, balance, center of gravi- ty, and moment of inertia, are beyond the scope of the current work.

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 mat- ing records the total number of distinct component matings between the same two features, that is, the number of alternative positions in which the two fea- tures can mate with each other. The following crite-

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 encoun- tered. The component mating with the better fea- ture mating weight is chosen. This criterion ensures that perfect matings are used first, fol- lowed 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 mat- ings, as shown in Figure 3. Pairs of components with the fewest number of alternative positions are preferred.

4. Component Accessibility. The component mat- ing 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 compo- nent mating. The component mating with the larger sum is preferred because it most greatly simplifies the set of features.

The result of applying the Find-Mating- Relations 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 com- ponents. 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 evaluat- ed, different assembly configurations can be obtained. The next section describes a simple con-

194

Page 9: Feature-based assembly mating reasoning

.hmrnal o/.i/anu/acturing System.s \.'oI. Ig/No. 3

19t19

trol mechanism that can be used in conjunction with Find-Mating-Relations to enumerate all of these assembly configurations.

6. Component Assembly This section presents the Find-Mating-

Configurations algorithm (see Table 2) that provides a backtracking, depth-first search mechanism to obtain all assembly configurations from the compo- nent mating list produced by Find-Mating- Relations. 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 genera- tion 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 sin- gle 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 configura- tion is achieved, and the traversal gives the assembly sequence. Backtracking to a previous state of the graph may be invoked to generate all remaining fea- sible assemblies and assembly sequences. The result of the backtracking traversal will be a directed acyclic graph showing all feasible assembly config- urations 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 com- ponents, then by performing a Boolean union oper- ation. 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 compo- nents to obtain the FFD of the new subassembly and update the component matings.

Table 2 Find-Mating-Configurations Algorithm

Step

Step

EndWhile.

Procedure Find-Mating-Configurations. Input: A set of assembly components and;or subassemblies. Output: A directed graph of assembly configurations and their

assembly sequences. While more than one component remains:

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.

3b. If there are no Component Matings (Section 6.2): Step 3bl. Apply Feature Conversion to all FFI)s

(Section 6.4). 3c. Backtrack to the most recent choict." pmnt

(Section 6.3).

6.1. Feasible Assembly Configuration If all components have been successfully mated at

the beginning (Step 1 ) of any iteration of Find-Mating- Configurations, then a feasible assembly configura- tion 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 , a- ture convepwion (Section 6.4) may be applied to attempt to find additional feasible assembly config- urations 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 apply- ing its next component mating. This comprises an additional pass through the algorithm. Backtracking ensures that all feasible assembly configurations are

195

Page 10: Feature-based assembly mating reasoning

.h~urnal of Manufacturing 5~vstems Vol. 18/No. 3 1999

found. If no more choice points remain in any previ- ous state, the algorithm halts.

6.4. Feature Conversion Feature conversion is an additional mechanism to

proceed beyond dead end configurations by convert- ing features into alternative representations. Feature conversion uses positive-to-negative conversion as described in Waco and Kim ~4 and/or negative-to- positive conversion, which is the complementary procedure. Figure 4a shows the application of posi- tive-to-negative conversion to the FFD of compo- nent 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 con- version for the FFD of component B. Negative fea- ture b2 has two shaded original faces, and the two

a~°."'--,

a3 (÷) (a) Positive to negative conversion

@ li

/ ,,

(+) " " ~

b2 ~ 1-)

(b) Negative to positive conversion

II II

(-) (q

II (7":

• ,/' ~

b4' (+)

Figure 4 Feature Conversion

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 uncon- verted FFD are intrinsic to the geometry of their component, za they are favored over any other repre- sentation. 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 con- figuration 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 rep- resentations obtained through feature conversion have been examined, then this dead end configura- tion has been exhausted and control returns to Step 3c to backtrack out of the dead end configuration.

7. Examples Two examples of the Find-Mating-Configurations

algorithm are now provided.

Example I Figure 5 shows tour components A, B, (7, and D

to be assembled. In Step 1 o f Find-Mating- Configurations, the FFDs of A, B, C, and D are found, as shown in Figure 6. Component A has a convex hull a l , 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

196

Page 11: Feature-based assembly mating reasoning

.I,,urnal ~,/ ~lanu/iwturm,~ .Siv~'tem,s Vol. I ~,'No. 3

I ~)gt~

x

A B

Figure 5 Componenls 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 ances- tor 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 bot- tom 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 calcu- lated 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 dis- tinct component matings. The weights of these com- ponent matings are calculated in Step 2c and are tab- ulated 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

II

U"

~ -.. ~ a z ~ ? a3 ( 1 (*) -e

1 , -,

~3

(°) ~o

'l

Figure 6 FFDs of Coml~ments A. 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 ac3- d3 is found. Feature matings ac3-b2 and ac3-b3 fhil the global noninterference test between components

197

Page 12: Feature-based assembly mating reasoning

,hmrnal o/" Manu/~zcturing ,%ivstems Vol. 18/No. 3 1999

A ~ a l ~ ~2)~ a3[~ ~[~ (,) - (,)

Figure 7 Features and Matings in State 1 (the initial state)

Table 3 Weights of Component Matings

a3-e2 ~ e3-b2 e3.-b3 Feature accessibility 2: -Y. -2:, 2: ~Y, ~-Z 2: -X, ~Z 2: +X, --Z

directions Feature mating weight -1 (pedL=ct) -1 (perfect) -l(pcrfect) -l(pertbct) Alternative positions 1 I I I Component accessibility 2 2 2 2

directions Features in components 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 sub- assembly 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 simultane- ously. Figure 12a shows the final assembly configu- ration 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

AC

,c, t

(a) New component AC and its FFD

(b)Assembly ( ' ~ If. ' seqt'encea3 ~

. , . , ,

u "

~ / X : -" "-' ~ ' . -o ac2 .( ac3 [ ~

ac5 [ ~ (-)

Figure 8 Result of Assembling Components A and C in State I

AC

Figure 9 Features and Matings in State 2

ACO ~ (b) Assembly 3.c21(~ sequence ~

(a) New component a .~ ACD and its FFD </

acdl ~' ~" (*)

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 assem- bly configuration will again be a cube. Figure 13 shows the complete assembly sequence tree, show-

198

Page 13: Feature-based assembly mating reasoning

./e,urnal of ,llanu/a('turing .5"vstenl.~ Vol . 1 8 / N o . 3

1 9 9 9

ACD (+1 (+) (+) [ ~

Figure I 1 Features and Matings in State 3

Table 4 Perfect Feature Matings

acd2-b2 acd3-b3 acd3-b2 acd2-b3 Feature accessibility 2: -X, ,Z 2: -X, +Z 2: -X, -Z 2: +X, ~Z

directions I-eature mating weight -I (perfect) -I (perfect) -l(perfcct) -l(perfect) Alternative posiuons I I 1 1 ( 'omponcnt accessibility "~ 2 2 2

directions Translation vector ~1 v I v2 v3

ing two assembly sequences that both result in feasi- ble assembly configurations.

Example 2 The second example demonstrates the use of par-

tial containment matings. Figure 14 shows five com- ponents J, K, L, M, and N to be assembled, and their FFDs. Component J has a base blockj 1 and two neg- ative 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 con- vex, so it has one positive feature m l that is identi- cal to M.

Figure 15 shows the features and feature matings in state i, all of which are partial containment mat- ings. 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 Table 5.

The M-J component mating has the fewest alter- native 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 fea- ture mj3. Positive feature k2 can mate with negative

a3c2

acd2b3 acd3b2

(a) Assembly (b) Assembly sequence configuration ACDB

,)

Figure 12 Feasible Assembly Configuration ACDB in State 4

ac, c0a Figure 13

Assembly Sequence Tree for Example I

II !1 I II II

• I1 m l ( '1 ¢'~ k l :" I.~

I-)

Figure 14 Components J. K, L, .M, and N To Be Assembled in Example 2,

and Their FFDs

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

Page 14: Feature-based assembly mating reasoning

Journal q[' Manu[ac.turing ,Sivstems Vol. 18/No. 3 1999

N@

Figure 15 Features and Malings in State 1

Table 5 Feature Mafings

ml- j3 k2-j2 12-j2 n2--j2 Feature accessibility directions 1: -Z 1 : -Z I:-Z I:-Z Feature mating weight I:* X 1:± Y I:-. X,i Y 2:= X.: Y Alternative positions 1 2 4 4

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 fea- tures 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 inter- ference 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 con- strained, 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 con- figuration of Figure 19. Note that this configura- tion was achieved without having to search through all combinations of alternative compo- nent 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.

N@

kl (+)

I1 (*)

m,, (~) j2 -"

(*)

Figure 16 New Component M J, Its FFD, and New Feature Matings in State 2

Table 6 Feature Matings

k2-mj2 n2-mj2 12-mj2 Feature accessibility directions 1: -Z I: -Z I:-Z Feature mating weight 1 :± X I :.--- Y I: : X. ~ Y Alternative positions I 2 4

Summary This paper has presented a method ( i ) to identify

mating features directly from the boundary repre- sentations of a set of assembly components, based on the FFDs obtained through convex decomposi- tion, 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 vol- umes and the decomposition hierarchy, is used to identify matings between components. The feasibil- ity ofmatings between components is checked using noninterference, accessibility, and stability tests. The component matings may admit one or more fea- sible assembly configurations, which are enumerat- ed 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 incorpo- rates the existing implementation of the form feature recognition algorithm based on ASVP decomposi- tion described in Section 2, the Find-Mating- Relations algorithm described in Section 3 and the Find-Mating-Configurations algorithm described in Section 6. This implementation has been tested suc- cessfully on the two examples given in Section 7.

200

Page 15: Feature-based assembly mating reasoning

.Iourmd of ,14anulacturing .~)'stem,s Vol. 18.'No. 3

lgq9

KM, i kmjl ~ - ~ " . . . . ~ . . . J , ,., (+)

o: ,mi26C / ~ " - .

" ' ~k~.,3 ~ , ¢ - " ,{I kmi4 [~ ; 7 '÷>

i~'1 (+l

NKMJ ~ ~ ~

,3 nkml'~, I J ~

I

i1 12 t (.) t-~

Figure 17 New Component KMJ, Its FFD, and New Feature Matings in State 3

Figure 18 Ne~ Component NKMJ, Its FFD, and Ne~ Feature Matings in State 4

Table 7 Feature Matings

n2-kmj3 12-kmj3 Feature accessibility directions I: -Z I: -Z Feature mating ,,,.'eight I: : Y 2:+-- X, i Y Alternative positions 1 ( front ) 2 ( front, back)

Acknowledgment This work was supported in part by NSF grant

DDM 9210214. The provision of DESIGNBASE by Ricoh Corporation is also greatly appreciated.

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 (v17 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

Figure 19 Feasible Assembly Configuration I.NKMJ in State 5

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), pp741- 750. 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. t lomem de Mello and A.C. Sanderson. "'Representations of Assembly Sequences,'" t',v,r, of I lth Int'l Joint (onf . 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, no 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

201

Page 16: Feature-based assembly mating reasoning

Journal of Manu[acturing 3~vstems Vol. I8/No. 3 1999

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 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), pp461- 476. 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.

Authors' Biographies 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 Urbana- Champaign. Mr. \~'ang's research interests include feature-based computer- aided process planning, assembly planning, and geometric reasoning.

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'rbana- Champaign. 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 vice- chair 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