computer environments for the design of mechanical assemblies: a research review

16
Engineering with Computers 3, 121-136(1988) Engineering COmputers Springer-Verlag New York Inc. 1988 Computer Environments for the Design of Mechanical Assemblies: A Research Review Eugene C. Libardi, Jr. and John R. Dixon Mechanical EngineeringDepartment, Universityof Massachusetts, Amherst, Massachusetts Melvin K. Simmons Artificial IntelligenceBranch, GE Corporate Research and Development,Schenectady,New York Abstract. This paper reviewsthe most relevantliteraturedealing with the development of computerenvironmentsfor the concep- tual design of mechanical systemsand assemblies. Selectedliter- ature is reviewedand discussed in relationto meetingthe follow- ing requirements of such an environment: (l) representingand supporting top-down design, (2) representing and supporting multiple functional viewpoints, (3) representing functional knowledge, (4) representing spatial relationships and geometry, (5) maintainingconsistency,and (6) providinganalysis and other support. An appendix listing related readings is included. 1 Introduction 1.1 Purpose Despite considerable progress in computer-aided design (CAD) technology, few CAD systems sup- port conceptual design of mechanical systems and assemblies (MSAs). Those systems that are avail- able are in early stages of evolution (see, e.g., prod- ucts by ICAD, Cognition, and Wisdom Systems). There has been, however, considerable research in artificial intelligence and mechanical engineering that is relevant to aspects of conceptual design envi- ronments for MSAs. The purpose of this paper is to review the most relevant literature on this research. 1.2 The Problem An MSA consists of a (large) number of compo- nents that, when assembled, perform a system func- tion. The task of designing an MSA is the problem of selection and specification of these components and the specification of their relationships in the assembly. The process of designing MSAs focuses Reprint requests: Eugene C. Libardi, Jr., Mechanical Engi- neering Department, University of Massachusetts, Amherst, MA 01003, USA. on the relationships between components and sub- assemblies rather than on the detailed design of the individual components. 1.3 Requirements of a Conceptual Design Environment for MSAs In order to provide structure for the review, we first briefly discuss our view of the requirements of a CAD system to aid in the conceptual design of me- chanical systems and assemblies. Top-down is probably the way most designers carry out the conceptual design of mechanical sys- tems and assemblies. Since the design of MSAs starts at a high level of abstraction, the computer environment should support top-down design. Our definition of the top-down design of MSAs is the following. A designer begins with an abstract con- cept and recursively divides it into logical subsys- tems and subassemblies until the level of compo- nents and parts is reached. The subsystems of an MSA are in general not independent. The designer seeks divisions of the MSA into subsystems that minimize the number of interactions that must be specified between the subsystems, and that encap- sulate many components and their interactions in a meaningful way. The most meaningful way to di- vide MSAs into subsystems is one that allows a designer to conceive of some analysis that could evaluate some aspect of the performance of the sub- system as a whole. When designing MSAs, designers generally delay the addition of detail as long as possible--and cer- tain sections are detailed well before others. Thus, the system should enable the designer to focus on certain parts of the MSA while leaving others in an abstract or incomplete state. Designers often use geometric abstractions during conceptual design. The system should support geo-

Upload: eugene-c-libardi

Post on 11-Jul-2016

217 views

Category:

Documents


4 download

TRANSCRIPT

Engineering with Computers 3, 121-136 (1988) Engineering COmputers �9 Springer-Verlag New York Inc. 1988

Computer Environments for the Design of Mechanical Assemblies: A Research Review

Eugene C. Libardi, Jr. and John R. Dixon Mechanical Engineering Department, University of Massachusetts, Amherst, Massachusetts

Melvin K. Simmons Artificial Intelligence Branch, GE Corporate Research and Development, Schenectady, New York

Abstract. This paper reviews the most relevant literature dealing with the development of computer environments for the concep- tual design of mechanical systems and assemblies. Selected liter- ature is reviewed and discussed in relation to meeting the follow- ing requirements of such an environment: (l) representing and supporting top-down design, (2) representing and supporting multiple functional viewpoints, (3) representing functional knowledge, (4) representing spatial relationships and geometry, (5) maintaining consistency, and (6) providing analysis and other support. An appendix listing related readings is included.

1 Introduction

1.1 Purpose

Despite considerable progress in computer-aided design (CAD) technology, few CAD systems sup- port conceptual design of mechanical systems and assemblies (MSAs). Those systems that are avail- able are in early stages of evolution (see, e.g., prod- ucts by ICAD, Cognition, and Wisdom Systems). There has been, however, considerable research in artificial intelligence and mechanical engineering that is relevant to aspects of conceptual design envi- ronments for MSAs. The purpose of this paper is to review the most relevant literature on this research.

1.2 The Problem

An MSA consists of a (large) number of compo- nents that, when assembled, perform a system func- tion. The task of designing an MSA is the problem of selection and specification of these components and the specification of their relationships in the assembly. The process of designing MSAs focuses

Reprint requests: Eugene C. Libardi, Jr., Mechanical Engi- neering Department, University of Massachusetts, Amherst, MA 01003, USA.

on the relationships between components and sub- assemblies rather than on the detailed design of the individual components.

1.3 Requirements of a Conceptual Design Environment for MSAs

In order to provide structure for the review, we first briefly discuss our view of the requirements of a CAD system to aid in the conceptual design of me- chanical systems and assemblies.

Top-down is probably the way most designers carry out the conceptual design of mechanical sys- tems and assemblies. Since the design of MSAs starts at a high level of abstraction, the computer environment should support top-down design. Our definition of the top-down design of MSAs is the following. A designer begins with an abstract con- cept and recursively divides it into logical subsys- tems and subassemblies until the level of compo- nents and parts is reached. The subsystems of an MSA are in general not independent. The designer seeks divisions of the MSA into subsystems that minimize the number of interactions that must be specified between the subsystems, and that encap- sulate many components and their interactions in a meaningful way. The most meaningful way to di- vide MSAs into subsystems is one that allows a designer to conceive of some analysis that could evaluate some aspect of the performance of the sub- system as a whole.

When designing MSAs, designers generally delay the addition of detail as long as possible--and cer- tain sections are detailed well before others. Thus, the system should enable the designer to focus on certain parts of the MSA while leaving others in an abstract or incomplete state.

Designers often use geometric abstractions during conceptual design. The system should support geo-

122 E.C. Libardi, Jr. et al.

metric abstraction in the form of sketching or ap- proximate specifications of unknown or incomplete shapes.

In the conceptual stage mechanical designers think in functional terms, although perhaps without articulating them explicitly. They specify the func- tions of subsystems and how they interact. There- fore, the system should provide a way to link subas- semblies and/or components functionally.

Finally, design is usually done from several differ- ent functional viewpoints, and different analyses are applied for various functional purposes. A func- tional viewpoint is a particular partitioning (part-of hierarchy) of the MSA that focuses on certain func- tional characteristics or behaviors, such as struc- tural, electrical, or kinematic. The system should support design and analysis in multiple functional viewpoints.

In summary, the basic requirements of a concep- tual design aid for MSAs are:

�9 Top-down design support �9 Methods for allowing the designer to work at ab-

stract conceptual levels �9 Methods for allowing the designer to work with

abstract geometry �9 Methods for allowing the designer to specify func-

tion �9 Methods for allowing the designer to work from

multiple functional viewpoints

1.4 M e e t i n g the R e q u i r e m e n t s

To meet the preceding requirements, a computer system will need a number of predictable features and capabilities. These include at least the follow- ing:

�9 The ability to create and maintain several differ- ent representations of an in-progress design, in- cluding at least representations of the:

Part-of hierarchy(ies) Geometry of subassemblies and components Spatial relationships among subassemblies and components within and between abstraction levels in the part-of hierarchy Multiple viewpoints

�9 A method for maintaining consistency among these representations

�9 A (possibly hierarchical) vocabulary of functions and their associated semantics

1.5 Organ iza t ion and S c o p e o f the R e v i e w

The review is organized in the following five major categories suggested by the previously outlined re- quirements:

�9 Sec t ion 2 describes work done on methods for representing and supporting top-down design and multiple viewpoints.

�9 Sec t ion 3 describes work done on methods for representing and using functional knowledge.

�9 Sec t ion 4 describes work done on methods for representing spatial relationships and the geome- try of components in assemblies.

�9 Se c t i on 5 describes work done on methods for maintaining consistency and dealing with incon- sistency among representations.

�9 Sec t ion 6 describes work done on methods for providing analysis and other support.

Our goal has been to review a selection of the most relevant papers, rather than to do an exhaustive review. Although we have been as thorough as pos- sible in searching the published literature for rele- vant papers, it is inevitable that some good work has been either overlooked or mistakenly judged by us to be only marginally relevant to our subject. We apologize for these unintended errors and encour- age written comments to fill the gaps that we may have left. In order to allay any detriment caused by these omissions, we have included both a Reference section, which contains work actually referenced in the paper, and an appendix, which includes a list of related readings.

2 Top-Down Design and Multiple Viewpoints

In this section five selected papers are reviewed that present useful ideas on providing top-down de- sign environments and/or supporting multiple func- tional viewpoints.

Struss [1] describes a working research system im- plemented in a LISP-based object oriented language that models the structure and function of devices for the purpose of diagnosing malfunctions. This system, although designed for diagnostics, is inter- esting for conceptual design because it provides two kinds of abstraction as well as a means for express- ing function.

The first kind of abstraction relates to the connec- tivity among the components of an assembly. (In Struss's paper, the term s t ruc ture is used to refer to this connectivity.) An assembly can be broken down into components that have subcomponents, thus forming a hierarchy. Components have termi- nals, which are the variables or parameters that de- fine the state of the component. A connec t ion is an abstract entity that also has terminals. To connect two components, a connection is defined and placed between them, with the appropriate terminals of the components attached to the appropriate terminals of the connection. A t t a c h e d means that the respec-

Computer Environments for the Design of Mechanical Assemblies 123

tive terminals of the components and connection are constrained to have the same value.

Connections can be made up of both subcompo- nents and subconnections, also in hierarchical fash- ion. Thus, the distinction between connections and components is somewhat artificial, but it provides a powerful abstraction mechanism. At one level of abstraction a connection can be seen as simply a passive connection between two components. At a more detailed level of abstraction (i.e., when re- placing the connection by its actual subcomponents and subconnections) a connection can be seen also to have active components. For example, a hinge between a door and its frame, at one level, can be seen as a passive connection that restricts certain motions. At a more detailed level the hinge is made up of parts that move relative to each other and have properties of their own. A hinge may even consist of more than one hinge. Note that such ab- straction can make it possible for analysis proce- dures (such as motion analysis) to ignore unneces- sary detail.

The second type of abstraction provided by Struss's system is encapsulated in his idea of views (what we have been calling viewpoints). A view is a description of an assembly oriented to specific func- tions, such as electrical, thermal, kinematic, or structural. Struss realizes that the hierarchical breakdown of a machine will differ from view to view, and entities in one view may not even exist in another, or they may overlap. He allows the de- signer to define the views in which a component or connection may exist, and then to define its termi- nals, subcomponents, and subconnections indepen- dently for each view. Thus, views provide a way of describing the functional aspects of a component while also providing a mechanism by which analysis procedures specific to a certain view can ignore ir- relevant data and/or detail. Struss's notion of views is an important conceptual design tool.

Function is expressed in this system by character- izing the variables that describe the component and by defining constraints on these variables. The vari- ables reside on the terminals; their values are prop- agated through an assumption-based truth mainte- nance system (ATMS) [2] that maps the structure defined by the components and connections into a constraint network. Thus, functionality can essen- tially be expressed by exploring possible combina- tions of values for these variables.

Since Struss's objective was to support diagnos- tics, his system is not completely applicable to the design of MSAs. There is no provision for compo- nent shape, except as it may be expressed paramet- rically. In the design of complex three-dimensional

stand t o ~ ' / ~ p ~ p o r t

P

cable plug

Fig. 1. An example of Schubert's P-graphs

mechanical parts this is usually inadequate. Also, the connectivity of the device is static; thus, it can- not be changed or reasoned with by the program.

When multiple viewpoints exist, as in Struss's sys- tem, there are problems with edit and query opera- tions. These include, What effect should an edit op- eration in one viewpoint have on other viewpoints? Which operations are legal and which have no pos- sible interpretation in other viewpoints? Struss's work does not address these questions. It is up to the designer to assure that all actions made neces- sary by an edit operation in a viewpoint are carried out.

Schubert's [3] work on parts inference may pro- vide a formalism on which to base procedures for edit and query operations in multiple viewpoint sys- tems. Schubert's objective was to find an efficient method for the extraction of "part-of" knowledge from general parts graphs (P-graphs). An example of a P-graph is shown in Fig. 1. The nodes marked " P " represent partitioning assertions. For example, a lamp can be partitioned into a stand, a top, and a cord. It can also be partitioned into a support struc- ture, an electrical system, and a lampshade. Schu- bert [4] shows that even the simple problem of de- termining "is a part-of b," where a and b are nodes in a general P-graph, expands exponentially as the number of parts increases.

Schubert's work identifies additional restrictions on P-graphs that permit efficient information extrac- tion while still allowing overlap and multiple view- points. He defines closed P-graphs and proves that for every general P-graph there is a logically equiva- lent closed P-graph. He gives a procedure for con- structing a closed graph from a set of partitioning assertions. He then presents complete formal pro- cedures for answering the queries, "is a part-of b" and "is a disjoint from b," and proves that these procedures can be implemented in linear time rela-

124 E.C. Libardi, Jr. et al.

tive to the number of edges in the closed graph. In Papalaskaris and Schubert [5] the same treatment is given to a less restricted form of P-graph, a semi- closed P-graph.

Struss gives special status to the topological (or part-of) hierarchy in his system. The topological hierarchy is implied by Struss to be in some sense more fundamental to mechanical systems than other viewpoints. We are not certain that this is the case, although it is also implied in much of the work presented hereafter. Popplestone's EDS system, for example, also gives topology a special status. Many of the papers in Section 4 that claim to repre- sent mechanical assemblies deal only with topol- ogy. Freeman and Newell, on the other hand, de- scribe functional relationships only, and do not deal with topology at all. Only Schubert's P-graph for- malism allows multiple viewpoints to be repre- sented homogeneously. Perhaps if we define a func- tional viewpoint of an MSA to be a partition within a semiclosed Schubert P-graph (which does not pre- sume any distinction as to the importance of the different partitions), together with some functions and predicates on the elements of that partition, it will then be possible to provide a complete and sound procedure for edit and query operations in multiple viewpoint systems.

Another possible scheme for providing sound edit procedures in a multiple viewpoint system is to adopt the equivalence ideas from design version management as described by Katz [6]. Each view- point could be considered a different representation of the MSA with equivalence relations linking entit- ies in one viewpoint with entities in another view- point. The equivalence relations would denote the fact that the two entities are different manifesta- tions of the same designed object and could contain instructions or constraints indicating how edits on one entity affect the other. There need not be a one- to-one correspondence between the entities in each viewpoint; the equivalences could equate an entity in one viewpoint with a group of entities in another viewpoint.

Popplestone's Edinburgh Designer System (EDS) [7-9] defines modules that may have submodules or parts. There are two types of modules: concrete modules and interface modules. Concrete modules have parameters, which are quantities determined at design time (e.g., the diameter of a shaft), and variables, which are quantities that may vary as the module operates (e.g., shaft speed). Interface mod- ules define mathematical constraints between the parameters and variables of the concrete modules (in the following discussion, concrete modules will

be called simply modules, whereas interface mod- ules will be referred to by their full name).

Modules may be very abstract entities or assem- blies (such as a gear box); they may be components or rigid bodies; or they may be "features" of rigid bodies (such as holes or splines on shafts). More abstract modules are made of their submodules. So long as abstract modules have their parameters and variables defined, their detail may be deferred or ignored. Detail can be added hierarchically, top- down. The designer does not need to specify all the detail of the machine and analyses may still be per- formed since the abstract modules are completely defined parametrically.

The interface modules define constraints between parameters and variables of the concrete modules and impose a graph structure on them. When these concrete modules are features described by shape descriptors (combinations of CSG primitives), the constraints defined in the interface modules are spa- tial relationships. RAPT [10] is then used to derive the positions of bodies relative to others given these spatial relationships.

Popplestone also defines a taxonomy (or type hier- archy) of modules. Functional knowledge of stan- dard modules (such as gears) is contained in the taxonomy. ThuS, when a designer decides that a module is in the class "gear," analyses will have reference to the functional knowledge contained in the taxonomy with regards to gears. These analy- ses, or "specialists," have not yet been imple- mented; however, it is postulated by Popplestone that they will contain specific knowledge with re- spect to their task (e.g., assembly planning, machin- ing, etc.) and also access knowledge in the taxon- omy, as well as in the module graph structure.

The EDS is written in Prolog and Pop-ll. As cur- rently implemented, a user inputs the design de- scription in an ATMS. Since all assertions are treated as assumptions and not as facts (i.e., the structure is not static), the system can explore the design space by generating all possible combina- tions of the assumptions that satisfy the constraints.

Hobbs [11] argues that "our ability to conceptual- ize the world at different granularities [levels of ab- straction] and to switch among these granularities is fundamental to our intelligence and flexibility." Thus, he develops the framework for a theory of granularity and claims that, even for moderately in- telligent programs, it must be an integral part of their reasoning processes.

Fundamental to this theory is the concept of indis- tinguishability. Two objects are indistinguishable if no predicate relevant to the situation can distin-

Computer Environments for the Design of Mechanical Assemblies 125

guish between them. Using this definition, a fine- grained, complex world can be simplified to a more coarse-grained world by defining a mapping that converts all objects and predicates from one granu- larity to objects and predicates in another granular- ity. For instance, if x and y are distinguishable at granularity 0 but not at granularity 1, then mapping x from 0 to I produces x, and mapping y from 0 to 1 also produces x. Now, only predicates relevant to this new granularity are mapped from the old one. Thus, with Hobbs's definition of indistinguishabil- ity, if a predicate, p, is relevant at granularity 1, and the result of applying p to both x and y is the same at granularity 0, then the mapping to granularity 1 leaves us with p and x. Since no distinction can be made applying p to x and y at granularity 0, we have essentially eliminated detail that is not relevant to the coarser-grained world at granularity 1.

Hobbs does not apply his granularity concept to objects but only to "theories" or sets of axioms. In his formulation there is a static set of objects in the universe that do not themselves have granularity. In other words, there is no part-of hierarchy. His ideas, however, can be usefully extended to apply to objects in a top-down design system. The de- signer might start at a coarse granularity and define the objects and the relevant predicates that can act on those objects. Next, he or she would define ob- jects that are parts of the objects at the coarser granularity along with predicates that are relevant to these objects, and provide that all predicates at the coarser granularity are not able to distinguish among these finer-grained objects. In this way finer and finer detail can be added to the design, and simply by switching levels the system can ignore details when necessary.

In this section we have reviewed papers that make particularly strong contributions to issues involving the implementation of top-down conceptual me- chanical design systems and to issues involved with multiple functional viewpoints.

In the area of top-down design support, Pop- plestone, Struss, and Hobbs provide most of the knowledge, ideas, and concepts that are needed to meet the requirements of providing abstraction of the part-of type. Geometric abstraction (e.g., the ability to "sketch" or to specify approxi- mate forms), however, is still lacking to a large de- gree.

In the area of multiple viewpoints the reviewed literature contains some useful ideas and valuable methods, but has not yet progressed to complete solutions for complex systems. Struss's work is an especially successful beginning. Applying methods

from Katz and Schubert may make more fully de- veloped multiple viewpoint systems possible.

3 Function

Thinking about in-progress designs from a func- tional standpoint is an important tool to the concep- tual designer. Representing functional knowledge and reasoning with function are still poorly under- stood, especially in mechanical design. There is still no adequate definition of what is meant by function and how designers use it. In this section seven se- lected papers are reviewed that help us progress toward a concept of function in mechanical design.

Freeman and Newell [12] assert that "the choice of one of the structures providing a function is the central activity of qualitative design." They pro- ceed to develop what they call the functional model of design. In this model every structure in the de- sign is able to perform a set of functions. In order to perform these functions, the structures require in turn that they be provided with certain other func- tions. Structures are assembled by connecting them with functional connections. An assembly of struc- tures will require a set of functions (the set required by the parts that are not supplied through a func- tional connection with some other part) and will provide a set of functions (those not consumed by other parts).

In this theory a design problem is a statement of the functions to be provided by the finished design, together with a limiting set of functions that may be required by the finished design. Given a design problem, a configuration of structures and func- tional connections is sought that provides the cor- rect functions while requiring no more than the lim- iting set specified. The finished design may provide more functions than specified or require fewer than specified.

Bowen [13] used this functional model in a pro- gram called MAPLE, which automatically confi- gured microcomputer hardware from board level components in a bottom-up fashion. He noted that in order to perform the configuration in a top-down manner, one would need decomposition laws, which would indicate how to decompose high-level functions into low-level functions.

Bowen's work exposes a weakness in Freeman and Newell's concept of function. The latter require of "function" only that the system can equate "function required" to "function provided." Func- tions are indivisible. They are atoms that can be tested for equality. As Bowen points out, we need a

126 E.C. Libardi, Jr. et al.

1. Supporting 36. Permanent fastening 2. Attaching 37. Pressure increasing 3. Motion constraining 38. Streamlining 4, Force transmitting 39. Motion reducing 5. Scaling 40. Filtering 6. Friction reducing 41, Lighting 7. Protective covering 42. Pumping 8. Liquid constraining 43, Gas transferring 9. Pivoting 44. Aero. force transmitting 10. Torque transmitting 45. Motion transmitting 11. Pressure supporting 46. Signal transmitting 12. Oscillatory sliding 47. Motion damping 13. Shielding 48. Force distributing 14. Sliding 49. Reinforcing 15. Energy transformation 50. Pressure sensing 16. Removable fastening 51. Information transmitting 17. Limiting 52. Coupling 18. Electrical conducting 53. Displacement indicating 19. Contaminant constrain. 54. Clutching 20, Linking 55. Fastening 21. Continuous rolling 56. Information indicating 22. Liquid transferring 57. Position indicating 23. Force amplifying 58. Movable lighting 24. Power transmitting 59. Partitioning 25. Covering 60. Position restoring 26. Oscillatory rolling 61. Flexible spacing 27. Energy absorbing 62. Electrical amplifying 28. Light transmitting 63. Adjustable attaching 29. Viewing 64. Shape constraining 30. Energy dissipation 65. Deflecting 31. Guiding 66. Disconnecting 32. Latching 67. Electrical limiting 33. Electrical switching 68, Motion limiting 34. Stabilizing 69. Pressure limiting 35. Gas constraining 70. Sensing

71. Force sensing 72, Spacing 73. Temporary supporting 74, Gas switching 75. Electrical transforming 76. Power absorbing 77. Information attaching 78. Sound absorbing 79. Constraining 80. Flexible coupling 81. Removable coupling 82. Damping 83. Electrical distributing 84. Load distributing 85. Gas guiding 86. Pressure indicating 87. Electrical insulating 88. Sound insulating 89. Temporary latching 90. Force limiting 91. Force maintaining 92. Var. pos. maintenance 93, Liquid pumping 94. Electrical reducing 95. Rolling 96. Position Sensing 97. Energy stodng 98. Liquid storing 99. Flexible supporting 100. Switching 101. Press. to torque trans. 102. Electrical transmitting 103. Flexible motion trans. 104. Flexible torque trans. 105. Torque limiting

Fig. 2. Collins's [14] elemental mechanical functions

way of abstracting the functionality of components into the functionality of subassemblies.

Collins [14] takes us a step in that direction by providing a list of functions of mechanical devices that have intuitive definitions. He identified 46 key words of mechanical functions and 40 antecedent adjectives that were found in descriptions of heli- copter failures. By combining these, Collins listed what he calls elemental mechanical functions, 105 in all. His list of elemental mechanical functions is included in Fig. 2 in order of the frequency of their occurrence in helicopter failures. Hopefully, from this list a taxonomy (type hierarchy) or possibly even a part-of hierarchy of functions can be devel- oped. A possible implementation of a conceptual design aid is one in which the designer could specify designs in terms of structural units providing Col- lins's elemental mechanical functions in the frame- work of Freeman and Newell's functional model of design. Such a system could recognize incorrect as- semblages of units and report on the functions pro- vided or required by the developing design.

Freeman and Newell's functional model of design does not provide for a complete representation of an MSA. They realize the need to specify, in the problem Statement, various restrictions (con- straints), and they note that as restrictions become more complex, "the problem of design gradually converts from one of purely qualitative specifica- tion into one that gives full details of the structure

involved and requires a quantitative mathematical treatment." Thus, they conclude that a functionally described object is never complete and always ad- mits further refinement. This is especially true when shape and the relationships between function and form are considered.

Rinderle [15] argues that during conceptual design the designer is "explicitly or implicitly considering the relationships between the form which a device will take, [and] the functions it must perform." Ac- cording to him, these relationships determine the difficulty of the design task and the quality of the resulting product, and it is the knowledge of such relationships that distinguishes experienced design- ers from novices. He contends that a designer can choose among alternatives at a preliminary stage of design by evaluating the performance of the overall device based on the relationships between the form and function of the components at some abstract level. Therefore, form-function relationships need to be represented in a conceptual design tool for MSAs.

Unfortunately, as Rinderle points out, there is rarely a one-to-one correspondence between func- tion and form in mechanical design. This makes it difficult to know what effects a change in form will have on the overall function of a device. As an ex- ample, consider an automobile suspension. The nat- ural frequency is influenced by almost every com- ponent in the suspension system. To effect a change

Computer Environments for the Design of Mechanical Assemblies 127

Signal

Displacement } ' 1 , ~ ~ Fluid Pressure }'t

Hydraulic Supply l

Deceleration Force Frc ona Tor0ue "L'J

Fig. 3. Functional diagram of a brake system

in the natural frequency, for example, simply alter- ing the coil spring so that it is stiffer will also reduce the deflection, possibly an undesirable result. Rinderle does not discuss how to cope with such coupling.

He does propose, however, an interesting basis on which to represent the form-function relationships of components (as opposed to assemblies) that may allow aggregation of function into more abstract en- tities whose functions can be predicted (at least in the structural sense). If we characterize the func- tion of a component in terms of its forces and veloc- ities (i.e., how it interacts with other components and how it moves), then we can essentially replace the component itself with this characterization and the device would still function the same way. Since the product of force and velocity is power, and their ratio is mechanical impedance, perhaps the best way to describe the functional interactions between components is in terms of power and impedance. As Rinderle points out, rigid constraints, sliding contacts, hinged joints, and most other interactions can be described in terms of six axis impedance and power relations.

By allowing the designer to specify function in this simplified manner, Rinderle contends that it will be easier to make choices at the preliminary design stage about the feasibility of particular configura- tions and to predict the overall performance of a device.

Rinderle has added to our concept of function the idea that form and function are not independent and that the identification and representation of function-to-form relationships is important to con- ceptual mechanical design.

Crossley [16] also realizes the importance of func- tional specification and reasoning for conceptual de- sign systems, and presents a graphical technique for conceptually designing with mechanical functions. In this approach one represents a design in terms of

a functional diagram or flowchart, which describes the movement of basic engineering quantities through "function boxes." The engineering quanti- ties are displacement, pressure, force, torque, mo- tion, electricity, energy, and so on, and the function boxes are graphical symbols denoting functions such as enlarge, transform, change direction, insu- late, contain, separate, reduce, connect, and so on [17].

As an example, consider the functional diagram of an automobile brake system shown in Fig. 3. In the figure the ~ symbol means "transform or convert" and the ~ symbol means "lead as by conduit." Now the designer is free to explore all the physical devices that will perform the given functions, and thus is not forced into any particular design too early. Crossley suggests that a catalog of possible mechanisms for commonly occurring combina- tions of functions be kept so that a designer could choose just those best suited to the problem at hand. This graphical technique is quite amenable to computer simulation and may be the best way to present a functionally specified design to the de- signer.

Fenves and Baker [18], building on earlier work with shape grammars and space planning [19-21], developed a grammar for a generative preliminary structural design system for buildings, which is very similar to natural language grammars.

In language grammars there are transformation rules (syntax) governing how words can be con- nected within a sentence. There are also definitions of legal or meaningful words and combinations of words (semantics). Finally, there are definitions of the meanings of words and phrases in different situ- ations (context). Thus, a natural language inter- preter might take a sentence constructed with cor- rect syntax, apply its semantic knowledge to the sentence relative to some context, and deduce the meaning of the sentence.

128 E.C. Libardi, Jr. et al.

Fenves and Baker's grammar for structural design is directly analogous to this model and provides an interesting means to represent and reason with function. The syntax of the grammar consists of design objects (structural components like beams, columns, and frames), together with connectivity relations defining legal combinations of these ob- jects. Semantic transformations are able to examine the syntactic connections between design objects and to assign functional meaning to them (e.g., their load-carrying capability) based on their configura- tion (the context). Fenves and Baker give exam- ples of their grammar for a simple frame structural design system. There are rules for the ways that the frames can be connected (syntax) and rules of func- tion (semantics) that allow the system to take the spatial syntax and to assign the functional knowl- edge of type (e.g., braced frame, rigid frame, simple frame, shear wall, etc.) to the frames. Thus, the functional knowledge is encapsulated within these semantic rules and a rule-based system can reason about how to assemble frames in a meaningful way. This system, given constraints included in the con- text, and goals for load-carrying capability, can gen- erate a building design by applying syntactic trans- formations to the design objects and by adding meaning through the application of the semantic (functional) transformations within the context.

Although intended as a generative system for building structures, this approach might be applica- ble to design support systems for MSAs as well if the semantics (function) of a developing design is constrained to be legal as each syntactic (spatial) element is added. Complex MSAs involving three- dimensional geometry may add difficulties, how- ever, since the syntax alone (rules of combination of design objects) could involve prohibitive num- bers of rules. The semantics of all contexts arising in an MSA might also prove unwieldy.

Lai and Wilson [221 describe function with an En- glish-like grammar in a production system that con- tains the semantics involved with the grammar. They develop a language called FDL (Function De- scription Language), which allows a designer to de- fine both named components and subassemblies and the functional connections between them in terms of function sentences. In function sentences the verbs are functions and the nouns are compo- nents and subassemblies, for example, "rod fix flangel onto cylinder through flange 2," or "bottom hold gear 3."

The FDL system is equipped with certain func- tions and analysis rules dictating their semantics-- if-then rules that contain the knowledge needed to reason with function sentences. The user may use

this set of rules, or modify or add to them for a particular application. The set of rules they have developed analyzes the design and gives advice about dealing with redundant functions or redun- dant geometries. This information and advice may be used to redesign the assembly so that it contains fewer parts. The analysis is interactively controlled by the user. Groups of analysis rules may be selec- tively applied to particular components, assem- blies, or groups of these.

FDL is a powerful starting point for building a conceptual, function-based, mechanical design en- vironment. Lai and Wilson have not attempted to identify which functions are important, buL they have identified some general axioms for reasoning with function. These axioms are contained in their analysis rules. The semantics of the interactions of functions, however, remain to be determined. Ge- ometry has not been incorporated into this system, but Lai and Wilson realize the importance of func- tion-form relationships and list the representation of geometry and its associated semantics as an imme- diate topic of future work.

The research reviewed in this section illustrates that there are still many disparate approaches to the issue of function in design. Although there is not a great deal of common thrust, it is encouraging that Fenves and Baker as well as Lai and Wilson have independently developed grammars for expressing function in mechanical design. Both describe func- tion using verbs and objects using nouns; the mean- ing of the functions is included in a production rule system.

Also, an interesting comparison can be made be- tween Freeman and Newell's model and Crossley's approach. In Crossley's work the objects are at- tached to functions. In Freeman and Newell the functions are attached to objects. Crossley is con- cerned with selecting objects using a configuration of functions, whereas Freeman and Newell are con- cerned with achieving a set of functions with a con- figuration of objects.

More research is needed before a language of function can be incorporated into conceptual design environments for MSAs. A taxonomy of functions is needed, using Collins's list as a start, to help us formulate abstraction hierarchies for functions. More work must also be done to understand the linking of form and function.

4 Geometry and Spatial Relationships

In this section we review papers that make espe- cially strong contributions to representing the ge-

Computer Environments for the Design of Mechanical Assemblies 129

ometry and spatial relationships in assemblies. Al- though a vast amount of work has been done to represent the geometry of rigid components, rela- tively little has been done to represent the geometry of parts of an assembly together with their spatial relationships and relative motions. As we will see, most of these systems use a boundary representa- tion of some sort to represent the geometry of indi- vidual parts within an assembly.

Eastman [23] addresses the problem of represent- ing the locations of shapes relative to other shapes so that they may be automatically moved when shapes they are "associated" with move. He ac- complishes this through what he calls location graphs, which are tree structures whose vertices are shapes and whose edges are transformation matri- ces (T-matrices). Thus, a shape is located relative to its ancestors in the location graph, and if any of them move, the shape follows them automatically. The user must manually determine and input the T- matrices, and is also responsible for avoiding incon- sistencies that arise from cycles in location graphs.

Wesley [24] also makes use of T-matrices to de- scribe the relative locations and orientations of parts and subassemblies. Unlike Eastman's location graph's, however, Wesley's T-matrices cannot be chained together; a shape's T-matrix always trans- forms its coordinates into a global reference frame. This means that parts of a subassembly will not au- tomatically move should the subassembly's position change. In this system, as with Eastman's, T-matri- ces must be input by hand.

Wesley extends Eastman's ideas by providing a way of modeling the relative motions between sub- assemblies and parts in the data structure, called the World Model. The relationships provided are rigid attachment, rotationally constrained attach- ment, translationally constrained attachment, and conditional attachment. Conditional attachment al- lows the system to represent the concept of one object supporting another, as by gravity, and to de- fine the range of orientations and positions over which the support will hold. The geometry of parts in this system is built up by combining polyhedral representations of primitive shapes.

Wesley shows the representation's usefulness by using it as the source of information for several analyses: interactive scene composition (user- guided combination of several World Models), ro- bot manipulator path planning, and interference checking.

Lee and Gossard [25] describe a similar system. They use a hierarchical data structure of subassem- blies and components. Their virtual links contain the information about the mating of two subassem-

blies or components, and the allowed relative mo- tion. Components are modeled using a winged-edge B-rep. Stored in the virtual links are the "features" (centerline or planar face) that mate, the nature of the mating (against or fits), and the type of motion restriction (rigid attachment, conditional attach- ment, rotational constraint, or translational con- straint).

The major difference between the approaches of Wesley and of Lee and Gossard is that the latter's system can infer the position of bodies in the assem- bly (i.e., derive the T-matrices) from the mating in- formation contained in the virtual links. Lee and Andrews [26] describe the algorithm used for this inference. They use an approach developed by Light [27] to reduce a redundant set of equations to a linearly independent set and then employ a New- ton-Raphson iteration to obtain solutions. Roche- leau and Lee [28] enhance this algorithm by using a least squares technique to eliminate the redundant equations, which can handle nonlinear sets of equa- tions while greatly increasing the efficiency of the algorithm. Ko and Lee [29] further add to these ideas by using Lee and Gossard's data structure to generate assembly plans (see Section 6).

Kitajima and Yoshikawa [30] have developed a model of MSAs based on a part-of hierarchy similar to Lee and Gossard's and to Wesley's. At each level in the hierarchy the connectivity of the subas- semblies and components present in that level is represented by a graph structure. The nodes in the graphs are the components and subassemblies, and the branches contain information about the nature of the connections (e.g., motion transmission, mo- tion restriction, fixation, and combination). The ge- ometry of components is represented in a B-rep solid model. Their system calculates two types ofT- matrices. The first type is used for graphics output and specifies where a subassembly or component's coordinate system resides in relation to its parent's coordinate system. The other kind of T-matrix specifies the relationship between the coordinate systems of two subassemblies or components in the same hierarchical level. This T-matrix is expressed with respect to the connected faces of the compo- nents stored in the B-reps. This type of T-matrix plays an important role in their unified dimension matching and motion analysis algorithm for MSAs.

Takase and Nakajima [31] describe a system that is also similar to Lee and Gossard's in the sense that attachment is specified by joining faces and edges of primitives. There is no way to specify motion con- cepts, however, so the objects that can be built are not assemblies in the sense that parts cannot move relative to each other. This system, though, allows

130 E.C. Libardi, Jr. et al.

the designer to label dimensions on the part with variables that may be given values. The system can determine whether the "assembly" is overdimen- sioned, underdimensioned, or uniquely dimen- sioned by examining the number of unknowns in dimension loops. If it is uniquely dimensioned and there is only one unknown in a given loop, the un- known can be solved for: In this way, when a di- mension is changed, dimensions dependent on the altered one may automatically be updated.

In this section we have reviewed papers relating to geometry and spatial relationships in assemblies. The research into expressing spatial relationships and propagating geometric modifications is well de- veloped. Also, nearly all this work is based on boundary representations of solids, which seem well suited to the task.

Research on which designing with more abstract or incomplete geometries can be based is not yet available. It may be, however, that the design-with- features concept [32-34] will provide a basis for developing the required representations.

5 Maintaining Consistency

While designing a complex MSA, one must deal with inconsistencies that may arise because of con- straints on the design. These constraints may have been specified by the designer explicitly or may be implicitly created as the MSA is being designed (e.g., if two members of a triangular frame section already have their length and orientation defined, the length of the third member is implicitly con- strained). We envision a system in which a design can exist in an inconsistent state, and if an analysis is attempted while the design is in this state, the system would know how to respond appropriately. It might, for example, ignore the inconsistency and attempt the analysis anyway, consult the designer for instructions, attempt to resolve the problem it- self, or simply explain the problem and not proceed. In this section we review six selected papers that deal with managing constraints and handling incon- sistencies in mechanical design systems.

Cholvy and Foisseau [35] state that "the design process is in fact a long transaction during which the objects to be built violate the requirements; moreover, these objects are not entirely defined nor valued. The coherence is only reached at the end of the process." The authors suggest that any actions (creation, modification, deletion) that violate a con- straint should not be disallowed, but rather, they should be marked as inconsistent. They imple-

mented a design aid system called ROSALIE, which incorporates relational data base techniques and an object-oriented programming style. In this system, if constraints are violated, the user is warned but allowed to proceed.

Light and Gossard [27] developed a two-dimen- sional drafting system in which geometry could be created and then dimensioned with respect to char- acteristic points, such as vertices, centers of circu- lar arcs, or parts of cubic splines. The system ex- presses the dimensions as nonlinear constraint equations. The geometry corresponding to the set of dimensions is found by simultaneously solving the constraint equations. They develop a method by which the system can recognize when a dimension- ing scheme created by the designer is overcon- strained (too many dimensions specified), under- constrained (too few dimensions specified), or unre- alizable physically. This information is presented to the designer graphically so that it can be changed. When a designer changes any dimension in the model, the constraint equations are updated and re- solved, and all relevant geometry is thus updated.

Lin [36] extends these ideas to three-dimensional geometry. Further extensions to MSAs may be diffi- cult, however, because there are many more con- straints on the geometry of an MSA than merely dimensional ones.

In HIMADES-1, developed by Kitajima and Yoshikawa (see Section 4), a procedure for main- taining the correct dimensions and configurations of an assembly when dimensions or positions of com- ponents has changed is developed. The user can specify which quantities are to be variables and which are to be knowns. The quantities that are able to be manipulated are the positions of components and the dimensions of the assembly or components.

Their graph structure (described in Section 4) rep- resenting the connectivity of the components is sys- tematically searched for loops, and using these loops, a set of equations in the unknowns is found and solved. They use the Gauss iteration method when the equations are linear and the Newton- Raphson method when they are nonlinear. When the unknown quantities are determined, they are used to regenerate a solid model of the machine, and the machine is redisplayed in its new configura- tion.

The authors do not make clear how the system will behave if there are no loops in the structure. Nei- ther is it explained whether the system can recog- nize an over- or underconstrained set of equations, and what is done if these situations are encoun- tered.

Computer Environments for the Design of Mechanical Assemblies 131

We have seen in this section and the previous one that there are many well-known algorithms involv- ing the simultaneous solution of sets of nonlinear equations for maintaining consistency among the di- mensions and positions of parts in an assembly.

Not as well understood is the determination of what quantities should be maintained consistent. As is pointed out in Ref. [35], it is important to let the designer continue to work on an inconsistent set of design objects that might subsequently be made consistent. Also, modification to the design may lead to ambiguity as to what actions to take to main- tain consistency. In this case it is not clear what do do. The easiest solution in a design aid system is to have a default behavior that the designer may over- ride.

The reviewed research does not address how to handle inconsistencies that arise at various levels of abstraction or in several functional viewpoints and the effects they have on detail and other functional viewpoints.

6 Analysis and Other Support

Let us first define what we mean by analysis and other support as it pertains to computer environ- ments for the conceptual design of MSAs.

Engineers and computer scientists have developed many special purpose analysis programs. These are mostly used to perform analysis on single compo- nents or standard configurations of components. There are also very general programs for perform- ing some kinds of analysis. The mass property cal- culations contained in most solid modelers and fi- nite element analysis are two examples. Although these types of analyses are usually performed in the detailed design stage, it is desirable to provide a way to interface to these external programs. When good, general, mesh generators are available, inter- faces to FEM programs will be especially useful for structural analysis of the components in an assem- bly [37]. Expert systems are already available that, given application and desired accuracy information, can automatically choose the best element types and analysis types to use [38]. Methods are needed that can deduce the loading on individual compo- nents of an assembly from the overall loading on the assembly itself.

A useful tool for conceptual designers is on-line handbook type information. Cognition, Inc., has available on-line a large portion of the Mark's Stan- dard Handbook for Mechanical Engineers [39]. The designer can look through the handbook for topics

or pages, get equations and information on how to use them, and attach quantities from the design de- scription to variables in the equations and then solve for unknowns.

Another type of useful support is a catalog of stan- dard parts, together with expert systems for select- ing and sizing parts. ICAD, Inc., has a facility by which the information in vendor catalogs can be stored in data bases. These data bases can be browsed, and items contained in them can be in- serted into the design. The designer selects and sizes the parts manually.

The preceding types of design support will not be reviewed in detail here. Rather, we will review re- search that deals with analysis of assemblies per se. That is, motion analysis, assembleability evalua- tions, and assembly plan generation. The body of work dealing with these specific assembly analysis issues is still relatively small.

The representation of spatial relationships be- tween components in terms of lower and higher kinematic pairs is a useful one for motion analysis [40]. A kinematic pair is the coupling between two rigid components. Lower pairs are characterized by contact along a surface and are classified by seven types: revolute, prismatic, helical, cylindric, spheri- cal, planar, and rigid. Higher kinematic pairs are characterized by contact along a line or point and there are an infinite number of these. These classifi- cations determine the degrees of freedom of the pairs. When many components are linked by kine- matic pairs, they constitute a kinematic chain. From the theory of machines and mechanisms, there are sound procedures for analyzing the mo- tion of many classes of kinematic chains given the topology of the chain and the dimensions of the components.

The representation of an assembly should include kinematic pair classifications where possible so that motion analysis can be based on sound theories of mechanisms.

Joskowicz [4l] has designed a two-part algorithm for predicting the behavior of mechanical devices. The first part of the algorithm finds the possible relative motions of all pairs of objects initially in contact. First, the pairs of objects are classified into lower and higher kinematic pairs and then are typed within those categories.

There are simple motion rules that describe the relative motions between the components of a lower pair, and thus the difficult part is recognizing the pairs. Two objects that are in contact form a lower kinematic pair if their configuration space is one of a predefined group. Each lower pair corre-

132 E.C. Libardi, Jr. et al.

sponds to a unique configuration space [42]. The configuration space of a pair of contacting objects is computed by fixing one and determining the set of all possible positions of the second without overlap.

Higher pairs are harder to recognize, but Josko- wicz presents two possible approaches. In the func- tional approach, one defines preconditions that, when satisfied, validate certain possible motions by examining properties defining the objects. This ap- proach can only be used to recognize predeter- mined kinds of higher pairs such as gears. For un- known higher pairs, a differential approach is suggested. Here rules can be used to deduce the differential behavior of two components, that is, the infinitesimal behavior from one instant to the next. When these are integrated, the behavior over a pe- riod of time is found.

The second part of the algorithm takes the possi- ble motions of each pair of contacting components and the input motion and determines the behavior of the entire mechanism in terms of its parts. Josko- wicz uses a constraint propagation scheme where the components in the mechanism are represented by the nodes in the propagation network and the motion relationships are represented as constraint edges. The input motion is propagated as a label in the network, and when the propagation stops, the nodes contain labels that correspond to the only possible motions of the components.

This algorithm is only applicable to fixed axis mechanisms; all axes of rotation are fixed in space. It is, however, an excellent example of using kine- matic chains to determine the motion of a mecha- nism. The methods provided for classifying the in- teractions between objects in a mechanism are important and quite general.

Much work has been done in the area of qualita- tive kinematics to develop representations suitable for qualitative reasoning about mechanisms [43- 47]. Most of this work is aimed at developing models of human spatial cognition. For this reason it lacks, in general, the quantitative information needed by most designers that the theory of ma- chines and mechanisms can provide.

Nonetheless, ideas that are useful for our pur- poses have been set forward in this literature, nota- bly the concept of place vocabularies first discussed by Forbus [45,46] and further developed by Faltings [44]. Space vocabularies make it possible to answer questions about the contact points between objects and what motions are therefore restricted or al- lowed (i.e., the interactions between parts of mech- anisms). This information, together with informa-

tion about coordinate systems and forces, is what is needed to reason about motion. Faltings offers algo- rithms to construct space vocabularies from kine- matic chains (described earlier).

So far, these techniques have been developed for two-dimensional mechanisms only, and generaliz- ing them to three-dimensions will be difficult.

Ko and Lee [29] use the data structure described in Ref. [25] (see Section 4) as a basis for an algo- rithm that generates assembly plans. They discard the hierarchy developed there but use the boundary representation of the components and the informa- tion in the virtual links between components to de- velop their own specialized hierarchy. They con- sider four mating conditions:

�9 a g a i n s t - - t w o faces remain in contact at all times, sliding permitted

�9 f i t s - - c y l i n d e r fits in hole, rotational freedom and translational freedom along centerlines

�9 t i g h t - f i t s - - s a m e as fits, but no movement �9 c o n t a c t - - r i g i d attachment of two points

Their algorithm first takes the preceding informa- tion about the components (called the mating graph) and creates a hierarchy from which the assembly plan can be generated. This hierarchy is generally not the same as the one that the designer created when building the assembly with Lee and Gossard's system, because the hierarchical breakdown of an assembly that is convenient for a designer is not usually the most convenient breakdown for generat- ing assembly plans.

Ko and Lee's procedure for generating a useful hierarchy ~or assembly plan generation is based on the following definitions:

�9 c o m p o n e n t - - a part and its associated boundary representation

�9 s u b a s s e m b l y - - a collection of linked components with no relative motion

�9 g r o u p i n g - - a collection of components in a subas- sembly that mate directly

The procedure works as follows. Identify the com- ponent with the most components connected to it by virtual links; call this the base component. Now gather all the components connected to the base component by non-subassembly-type virtual links (i.e., no relative motion between them). Do this gathering recursively, using each gathered compo- nent as a new base component. When this is fin- ished, all components not yet visited are in a differ- ent subassembly. Identify a base component among the ones left, disregarding any virtual links to corn-

Computer Environments for the Design of Mechanical Assemblies 133

Bell Component Hierarchy

I inal I I Fixer I I R~ ! I R~ I I O~

Terminal Terminal Fig. 4. An example of a Ko and Lee [29] component hierarchy

ponents already visited. Now recursively gather all the components linked to this base as described ear- lier. Continue this procedure until there are no com- ponents left. An example Of a hierarchy so gener- ated for a bell assembly is shown in Fig. 4.

The procedure to generate the assembly plan from this hierarchy is as follows. First, determine the order of assembly between the descendants and their parents. This ordering comes directly from the preceding hierarchy. Ordering relations are written in the form "componentl < component2" where " < " is read "is assembled before" (note that " < " is transitive). Thus, looking at the body assembly in the figure, the following ordering relations are ob- tained:

�9 Ground Terminal < Terminal Base �9 Plus Terminal < Terminal Base �9 Terminal Base < Body

Further ordering relations are derived from looking at each subassembly's descendants.

The next step is to order the siblings at each level in the hierarchy. This is done by using an interfer- ence checker. A pairwise exhaustive search is made between the siblings at each level. The search notes whether a component in its assembled position will interfere with the volume swept by the other com- ponent when moved normal to the mating surface from infinity into its assembled position.

When all the ordering relationships have been ob- tained, the redundant relations are eliminated and, using the transitivity of the " < " relation, a prece- dence graph is generated [48]. This precedence

graph pictorially describes the order in which the components are to be assembled.

The assumption that a base component is always assembled after its descendants may not always hold. Also, the system cannot try twisted or curving paths in the interference checking to determine whether two siblings will collide (this is the piano movers' problem--see Ref. [49]). Although these simplifying assumptions may not be very general, Ko and Lee have developed an excellent scheme for generating assembly plans from a description of an assembly. The authors also assert that the prece- dence graphs generated could be used to drive robot assemblers automatically.

Research on the analysis of assemblies is still at an early stage. There needs to be work done on build- ing good interfaces to special purpose analysis pro- cedures (see Ref. [50]). A relatively large amount of work has been done on motion analysis. Although some progress has been made, general motion anal- ysis methods are still eluding researchers.

Also, although Ref. [29] represents a strong begin- ning, assembleability evaluation and assembly plan generation procedures need to be developed that can operate in a general manner from a suitable description of an assembly.

7 Summary

The requirements of a computer environment for the conceptual design of mechanical systems and assemblies are the following:

134 E.C. Libardi, Jr. et al.

�9 Top-down design support �9 Methods for allowing the designer to work at ab-

stract conceptual levels �9 Methods for allowing the designer to work with

abstract geometry �9 Methods for allowing the designer to specify func-

tion �9 Methods for allowing the designer to work from

multiple functional viewpoints

To meet the requirements, a computer system will need at least the following features and capabilities:

�9 The ability to create and maintain several differ- ent representations of in-progress designs, includ- ing at least representations of the:

ParVof hierarchy(ies) Geometry of subassemblies and components Spatial relationships among subassemblies and components within and between abstraction levels in the part-of hierarchy Functional viewpoints

�9 A method for maintaining consistency among these representations

�9 A (possibly hierarchical) vocabulary of functions and their associated semantics

In this paper we have reviewed the research in the mechanical engineering and artificial intelligence lit- erature that is most relevant to the previous issues. Some areas are well understood and developed, some are partially understood and under develop- ment, and several need new research initiatives. The topics discussed in the paper are listed here in categories that classify their state of development.

Welt-developed research basis

�9 Support for top-down design providing a part-of representation

�9 Methods for expressing spatial relationships �9 Geometric representations of components �9 Formal methods for testing and maintaining geo-

metric consistency

Work begun, partially developed

�9 Support for functional viewpoints �9 Support for expressing function in mechanical de-

sign �9 Methods for determining which specifications to

ignore or relax when temporarily inconsistent states are unavoidable

�9 Interfaces to special purpose external analysis programs (especially FEM programs)

�9 Motion analysis

New research initiatives needed

�9 Support for abstract geometric specification and analysis

�9 Assembly analyses (assembly plan generation, as- sembleability, etc.)

�9 Maintaining consistency among levels of abstrac- tion and between functional viewpoints

�9 Methods for representing and reasoning with tol- erances

Acknowledgments

This work was sponsored by grants from the GE Corporation and the National Science Foundation to the University of Massa- chusetts.

References

1. Struss, P. (1987) Multiple Representation of Structure and Function. IFIP Working group 5.2, Expert Systems in Com- puter-Aided Design. Amsterdam: North-Holland

2. de Kleer, J. (1986) An assumption-based TMS. AI 28(1), 127-162

3. Schubert, L.K. (1979) Problems with parts. In: Proceedings of Sixth IJCAI, Tokyo, pp. 778-784

4. Schubert, L.K. (1979) Representing and using knowledge about parts. Computing Science Technical Note, University of Alberta, Edmonton

5. Papalaskaris, M.A.; Schubert, L.K. (1981) Parts inference: Closed and semi-closed partitioning graphs. In: Proceedings of Seventh IJCAI, Vancouver, BC, pp. 304-309

6. Katz, R.H.; Bhateja, R.; Chang, E.E.; Gedye, D.; Trijanto, V. (1987) Design version management. IEEE Des. Test Feb- ruary, pp. 12-22

7. Popplestone, R.J.; Ambler, A.P.; Bellos, I. (1980) An inter- preter for a language for describing assemblies. AI 14(1), 79- 107

8. Popplestone, R.J. (1985) An Integrated Design System for Engineering. Preprints Third ISRR, Gouvieux, France

9. Popplestone, R.J. (1987) The Edinburgh designer system as a framework for robotics. In: Proceedings of IEEE Interna- tional Conference on Robotics and Automation, pp. 1972- 1977

10. Popplestone, R.J.; Ambler, A.P.; Bellos, I. (1978) RAPT: A language for describing assemblies. Ind. Rob. 5(3), 131-137

11. Hobbs, J.R. (1985) Granularity. In: Proceedings of the Ninth IJCAI, Los Angeles, CA, pp. 1-4

12. Freeman, P.; Newell, A. (1971) A model for functional rea- soning in design. In: Proceedings of the Second IJCAI, Los Altos, CA, pp. 621-633

13. Bowen, J. (1986) Automated configuration using a functional reasoning approach. In: Artificial Intelligence and its appli- cations (Eds. A.G. Cohn; J.R. Thomas). New York: John Wiley & Sons, pp. 79-106

14. Collins, J.A.; Hagan, B.T.; Bratt, H.M. (1976) The failure- experience matrix--A useful design tool. Trans. ASME, Ser. B., J. Eng. Ind. 98, 1074-1079

15. Rinderle, J.R. (1987) Function and form relationships: A ba- sis for preliminary design. Engineering Design Research Center, Paper no. EDRC-24-05-87, Carnegie-Mellon Univer- sity, Pittsburgh, PA

Computer Environments for the Design of Mechanical Assemblies 135

16. Crossley, E. (1980) A "shorthand" route to design creativ- ity. Much. Des. April, pp. 96-100

17. Koller, R. (1976) Konstruktions-Methode fuer den Mas- chinen-, Geraete- und Apparatebau. Berlin: Springer-Verlag

18. Fenves, S,J.; Baker, N.C. (1987) Spatial and functional rep- resentation language for structural design. Working Group 5.2, Expert Systems in Cumputer-Aided Design, IFIP 87

19. Coyne, R.D.; Gero, J.S. (1985) Design knowledge and se- quential plans. Environ. Plan. B 12(4), 401-418

20. Gips, J. (1974) Shape grammars and their uses. Doctoral dissertation, Stanford University, Palo Alto, CA

21. Stiny, G. (1975) Pictorial and Formal Aspects of Shape and Shape Grammars. Basel: Birkhauser Verlag

22. Lai, K.; Wilson, W.R.D. (1987) FDL: A language for func- tion description and rationalization in mechanical design. In: Proceedings of Computers in Engineering Conference, New York, pp. 87-94

23. Eastman, C.M. (1981) The design of assemblies. SAE Tech- nical Paper No. 810197

24. Wesley, M.A.; Lozano-P6rez, T.; Lieberman, L.I.; Lavin, M.A. ; Grossman, D.D. (1980) A geometric modeling system for automated mechanical assembly. IBM J. Res. Dev. 24(I), 64-74

25. Lee, K.; Gossard, D.C. (1985) A hierarchical data structure for representing assemblies: Part 1. CAD 17(1), 15-19

26. Lee, K.; Andrews, G. (1985) Inference of the positions of components in an assembly: Part 2. CAD 17(1), 20-24

27. Light, R.; Gossard, D. (1982) Modification of geometric models through variational geometry. CAD 14(4), 209-214

28. Rocheleau, D.N.; Lee, K. (1987) System for interactive as- sembly modeling. CAD 19(2), 65-72

29. Ko, H.; Lee, K. (1987) Automatic assembling procedure generation from mating conditions. CAD 19(1), 3-10

30. Kitajima, K.; Yoshikawa, H. (1984) HIMADES-I: A hierar- chical machine design system based on the structure model for a machine. CAD 16(6), 299-307

31. Takase, H.; Nakajima, N. (1985) A language for describing assembled machines. In: Design and Synthesis (Ed. H. Yoshikawa). North-Holland: Elsevier Science. pp. 471- 476

32. Dixon, J.R.; Libardi, E.C.; Luby, S.C.; Vaghul, M.V.; Sim- mons, M.K. (1985) Expert systems for mechanical design: Examples of symbolic representations of design geometries. In: Applications of Knowledge Based Systems to Engineer- ing Analysis and Design (Ed. C.L. Dym), ASME Publication No. AD-10, New York, pp. 29-46

33. Luby, S.C.; Dixon, J.R.; Simmons, M.K. (1986) Designing with features: Creating and using a features data base for evaluation of the manufacturability of castings. In: Proceed- ings of the ASME Computer Engineering Conference, Chi- cago, IL, pp. 285-292

34. Libardi, E.C.; Dixon, J.R.: Simmons, M.K. (1986) Design- ing with features: Design and analysis of extrusions as an example. ASME Paper No. 86-DE-4, Design Engineering Conference, Chicago, IL

35. Cholvy, L.; Foisseau, J. (1983) Rosalie: A CAD object-ori- ented and rnle-based system. In: Information Processing 83 (Ed. R.E.A. Mason). North-Holland: Elsevier Science, pp. 501-505

36. Lin, V.C.; Gossard, D.C.; Light, R.A. (1980) Variational geometry in computer aided design. In: Technical Document #23, MIT, Cambridge, MA

37. Kela, A.; Perucchio, R.; Voelcker, H. (1986) Toward auto- matic finite element analysis. CIME July, pp. 57-71

38. Bennet, J.; Creary, L.; Englemore, R.; Melosh, R. (1978) SACON: A knowledge-based consultant for structural anal- ysis. Technical Report STAN-CS-78-699, Stanford Univer- sity, Palo Alto, CA

39. Avallone, E.A. et al. (Eds.) (1987) Mark's Standard Hand- book for Mechanical Engineers. New York: McGraw-Hill

40. Angeles, J. (1982) Spatial Kinematic Chains: Analysis, Syn- thesis, Optimization. New York: Springer-Verlag

41. Joskowicz, L. (1987) Shape and function in mechanical de- vices. In: Proceedings of the Sixth A A A I Conference, Seat- tle, WA, pp. 611-615

42. Lozano-P6rez, T. (1983) Spatial planning: A configuration space approach. IEEE Trans. Comp. C-32(2), 108-120

43. de Kleer, J. (1975) Qualitative and quantitative knowledge in classical mechanics. MIT Artificial Intelligence Technical Report #352, MIT, Cambridge, MA

44. Faltings, B. (1986) A theory of qualitative kinematics in mechanisms. Department of Computer Science Report No. UIUCDCS-R-86-1274, University of Illinois, Urbana, IL

45. Forbus, K. (1980) Spatial and qualitative aspects of reason- ing about motion. In: Proceedings of the National Confer- ence on AI, Stanford University, August

46. Forbus, K. (1981) A study of qualitative and geometric knowledge in reasoning about motion. MIT Artificial Intelli- gence Technical Report #615, MIT, Cambridge, MA

47. Forbus, K. (1984) Qualitative process theory. MIT Artificial Intelligence Technical Report #789, MIT, Cambridge, MA

48. Prenting, T.O.; Battaglin, R.M. (1964) The precedence dia- gram: A tool for analysis in assembly line balancing. J. Ind. Eng. 15(4), 208-213

49. Schwartz, J.T.; Sharir, M.; Hopcroft, J. (Eds.) (1987) Plan- ning, geometry and complexity of robot motion. Ablex Se- ries in Artificial Intelligence, Ablex Publishing

50. Jones, C. (1986) A knowledge representation framework for automated engineering analysis. Master's thesis, Mechanical Engineering Department, University of Massachusetts, Amherst, MA

Appendix--Related Readings

Brown, C.M. (1982) PADL-2: A technical summary. IEEE CG&A 2(2), 69-84

Chang, D. (1983) Automatic scaling of assemblies for computer aided design. Master's thesis, MIT, Cambridge, MA

Desa, S.; Nagurka, M.; Ghosal, A. (1987) Product redesign for performance, manufacture, and assembly: A rational meth- odology towards total system design. In: Proceedings Inter- national Conference on Engineering Design, Boston, MA, pp. 463-472

Dyer, M.G.; Flowers, M.; Hodges, J. (1986) EDISON: An engi- neering design invention system operating naively. Int. J. AI Eng. 1(1), 36-44

Gelsey, A. (1987) Automated reasoning about machine geometry and kinematics. In: Proceedings of Third IEEE Conference on AI Applications, Orlando, FL, pp. 182-187

Ishii, K.; Barkan, P. (1987) Design compatibility analysis--A framework for expert systems in mechanical system design. Computers in Engineering Conference, New York, pp. 95- 102

Katz, R.H. (1985) Information Management for Engineering De- sign. New York: Springer-Verlag

Lai, K. (1987) Mechanical design simplification using function description language. In: Proceedings of Fifteenth NAMRC, Bethlehem, PA

136 E.C. Libardi, Jr. et al.

Latombe, J.C. (1976) Artificial intelligence in computer-aided design: The TROPIC system. TR 125, Stanford Research In- stitute, Menlo Park, CA, pp. 61-108

Lee, K. (1983) Shape optimization of assemblies using geometric properties. Doctoral dissertation, MIT, Cambridge, MA

Lieberman, L.I.; Wesley, M.A. (1977) AUTOPASS: An auto- matic programming system for computer controlled mechani- cal assembly. IBM J. Res. Dev. 21(4), 321-333

Maher, M.L. (1987) A knowledge-based approach to preliminary design synthesis. Engineering Design Research Center Paper No. EDRC-12-14-87, Carnegie-Mellon University, Pitts- burgh, PA

Mistree, F.; Muster, D. (1985) Design harmonization: A com- puter-based approach for design in the systems age. Optimi- zation in computer-aided design (Ed. J.S. Gero). North-Hol- land: Elsevier Science, pp. 1-30

Murthy, S.S.; Addanki, S. (1987) PROMPT: An innovative de- sign tool. In: Proceedings of Sixth AAAI Conference, Seat- tle, WA, pp. 637-642

Pahl, G. ; Bachmann, T. (1987) Systematic design helps CAD. In:

Proceedings of the International Conference on Engineering Design (Ed. W.E. Eder). Boston, MA, pp. 504-511

Pentland, A.P. (1987) Toward an ideal 3D CAD system. SIGCHI '87

Rinderle, J.R.; Watton, J.D. (1987) Automatic identification of critical design relationships. In: Proceedings of the Interna- tional Conference on Engineering Design, Boston, MA, pp. 512-525

Schubert, L.K.; Papalaskaris, M.A.; Taugher, J. (1983) Deter- mining type, part, color, and time relationships. Computer October, pp. 53-60

Stanfill, C. (1983) The decomposition of a large domain: Reason- ing about machines. In: Proceedings of the AAAI Confer- ence, pp. 387-390

Tomiyama, T.; Yoshikawa, H. (1987) Extended general design theory. In: Design Theory for CAD (Eds. H. Yoshikawa and E.A. Warman). North-Holland: Elsevier Science, 95-124

Winston, P.H.; Binford, T.O.; Katz, B.; Lowry, M. (1983) Learning physical descriptions from functional definitions, examples, and precedents. In: Proceedings of the 1983 AAAI Conference, pp. 433-439