A case-based framework for reuse of previous design concepts in conceptual synthesis of mechanisms

A case-based framework for reuse of previous design concepts in conceptual synthesis of mechanisms

Computers in Industry 57 (2006) 305–318 www.elsevier.com/locate/compind A case-based framework for reuse of previous design concepts in conceptual sy...

1MB Sizes 0 Downloads 22 Views

Computers in Industry 57 (2006) 305–318 www.elsevier.com/locate/compind

A case-based framework for reuse of previous design concepts in conceptual synthesis of mechanisms Young-Hyun Han a,*, Kunwoo Lee b a

Principal Research Engineer, R & D Center, INUS Technology, Inc., 601-20 Yeoksam-dong, Gangnam-gu, Seoul 135-080, Republic of Korea b School of Mechanical & Aerospace Engineering, Seoul National University, San 56-1, Shinlim-dong, Kwanak-gu, Seoul 151-742, Republic of Korea Received 8 July 2004; accepted 12 September 2005 Available online 20 December 2005

Abstract This paper presents a case-based approach for reusing previous design concepts in conceptual synthesis of mechanisms. Design tasks for function generation and motion transmission are addressed in the current study. The basic idea of the present approach is to provide a computational framework for design synthesis by imitating the common design method of reviewing past designs to obtain solution concepts for a new design problem. A notion of virtual function generators is introduced to conceptualize and represent underlying design concepts contained in existing mechanisms. Virtual function generators are derived from previous designs, and serve as new conceptual building blocks for conceptual synthesis of mechanisms. Feasible design alternatives are generated by combining virtual function generators using some adaptation rules. The reuse of prior design concepts is accomplished via virtual function generators within the framework of case-based reasoning. The approach is demonstrated through an application. # 2005 Elsevier B.V. All rights reserved. Keywords: Conceptual synthesis of mechanisms; Case-based reasoning; Reuse of previous design concepts

1. Introduction In mechanism design, appropriate types of mechanisms for a particular design task are selected through conceptual synthesis (or type synthesis) [1,2]. During this process, a number of design alternatives should be prepared and evaluated to choose the most promising design concept for downstream design process. A traditional, but still very useful, method of obtaining workable design concepts is to consult previous, similar designs that are available through atlases, catalogs, or handbooks of mechanisms [3,4]. This approach has the advantage of being able to provide immediate ideas or useful design concepts by transferring and/or combining relevant design elements from existing mechanisms [5,6]. However, reviewing previous designs is very tedious and cumbersome even with the aid of computer-assisted tools since information on existing

* Corresponding author. Tel.: +82 2 6262 9970; fax: +82 2 6262 9999. E-mail addresses: [email protected] (Y.-H. Han), [email protected] (K. Lee). 0166-3615/$ – see front matter # 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.compind.2005.09.005

mechanisms is mostly provided in the form of drawings of final devices. The design principles for existing artifacts are usually difficult to obtain, and, even if available, such design knowledge is hard to represent into computerized form. Hence, to make the most of existing mechanisms, an automated computational approach needs to be developed that could effectively encode and reuse previous design concepts for conceptual design synthesis. In addition, a conceptualization scheme for existing mechanisms will necessarily be required to comprehend and identify underlying design concepts of previous designs for later reuse. This paper presents a systematic approach to reusing prior design concepts for the conceptual synthesis of mechanisms. The scope of the present work covers conceptual design of mechanisms for function generation and motion transmission, where the desired input and output motions are coordinated with respect to fixed axes [7]. The present approach employs case-based reasoning (CBR) to provide an overall framework for the reuse of past designs. The design cases of existing mechanisms are represented in terms of primitive mechanisms (e.g., slider-crank, worm gear, cam follower) and their relevant

306

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

functions. The underlying design concepts of them are then conceptualized and identified as virtual function generators (VFGs), which consist of respective functions and physical building block(s) achieving their functions. These VFGs are then stored in a case base for further reuse during design synthesis. When a design specification is given, relevant VFGs are retrieved from the case base, and combined by some adaptation rules to fit the given motion requirements, producing conceptual designs (feasible design alternatives) of a desired mechanism. With the notion of virtual function generators, the present approach can effectively generate various new design alternatives, sometimes creative ones, by transferring and/or combining prior design concepts derived from other mechanisms. Those design solutions may be considered to be more feasible than those by other from-scratch approaches in that the sub-mechanisms contained in such solutions have already been used successfully in existing designs. 2. Related work The kinematic structure (the number and types of the links/ joints, and their structural or topological relation) of mechanisms and the application of graph theory to type synthesis have been widely investigated for decades. By separately considering the kinematic structure from function [8], graph-based approaches to type synthesis can provide a systematic way of exhaustively enumerating all possible topological structures or configurations. Detailed review on this technique and its successful applications can be found in Refs. [1,2,9]. The approaches, however, have limitation in reflecting functional or behavioral requirements such as types of motion (translation, rotation, etc.) and behavioral characteristics (oscillating, intermittent, etc.) during the conceptual design process [10–12]. Hence, characterizing and representing a mechanism in a different way other than the kinematic structure is required in order to consider functional or behavioral aspects in the conceptual design phase. To cope with the above-mentioned limitation, several approaches based on conceptual building blocks have recently been proposed. Hoover and Rinderle [13] presented a transformational strategy applicable to the domain of gearbox design. Appropriate building blocks (e.g., spur gears, bevel gears, etc.) are selected by best-first search with a measure of function integration, and the given device specification is updated and transformed into a physical configuration of available components as design proceeds. Kota and Chiou [10,14] compiled a library of building blocks and proposed a matrix-based computational approach to the synthesis of mechanisms for function generation using the classified building blocks. The desired motion transformation matrix (MTM) for a given design task is decomposed into a product of MTMs by transformation (matrix manipulation) rules, and then the decomposed matrices are matched against the MTMs of the existing building blocks to identify possible combinations of building blocks to meet the prescribed design task. Li et al. [15] explored a qualitative approach to generate design alternatives by employing best-first heuristic search in a library of standard mechanical devices. When a design specification is only partially satisfied by a device

selected with a maximum score, new specifications are generated by applying a set of transformation rules and the synthesis process continues until finding out other devices that can completely fulfill the original specification together with the already selected devices. Subramanian and Wang [16] presented a compositional kinematic synthesis algorithm grounded on configuration spaces. A desired kinematic chain consisting of several basic kinematic pairs is synthesized by backward chaining and, at the same time, the constraints on key dimensions of constituent kinematic pairs are determined by constraint propagation during the synthesis process. The qualitative motion description language (i.e., rectilinear translation and rotation) and algebraic motion constraints in their approach are also derived from the analysis of the underlying configuration space relations of basic kinematic pairs. Li et al. [17] explored an application of configuration spaces to the synthesis of multiplestate devices. For each kinematic pair in a device library, all possible behaviors described in points and segments on its configuration space and the interactions of its components are encoded as physical features. The given design specifications of multiple operating states are mapped by a set of rules to abstract features that are represented in the same way as the physical features. The synthesis process then attempts to find out a matched kinematic pair by comparing the abstract and physical features above. If the design requirements are partially satisfied, a new specification is generated appropriately and the search repeats until a chin or a network of kinematic pairs is found that can fulfill the original specification, as in their previous work [15]. The physical building blocks addressed by the above approaches are referred to as fixed-axes mechanisms, the parts of which rotate or translate along fixed axes in space [18]. The present approach also defines similar types of building blocks. However, such building blocks are not directly used in synthesizing mechanisms in the present approach. They are utilized to represent existing complicated mechanisms and understand how the functions of them have been accomplished. The actual building blocks employed in the present approach are virtual function generators, which are conceptualized from existing devices, and composed of their respective functions and one or more physical building blocks that can achieve their functions. On the other hand, the application of more fundamental-level functional elements to a mechanical transmission problem has been investigated by Chakrabarti and Bligh [19]. They first identified a set of primary structures (lever, wedge, shaft, etc.) as functional building blocks from existing devices and mechanisms, and then employed breadth-first search to exhaustively enumerate all the solutions satisfying a given input and output motion specification. The use of low-level building blocks as in their work is very advantageous to creative synthesis of novel devices. However, there are some inherent problems to be solved when using such low-level elements. The generated solutions in their approach work at an instant of time; that is, the component structures undergo spatial variations with time. Thus, a temporal reasoning method is required to capture the overall behavior of the suggested solutions during their operation. In addition, the representation of the primary elements

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

is so abstract (i.e., the solutions are low-level design concepts) that another process of interpreting and mapping the functional solutions to physical embodiments is necessary (see Refs. [20,21] for details). Several design synthesis strategies based on bond-graph representation have been suggested in the design of dynamic systems (mechanical, electro-mechanical, hydraulic systems, etc.). Prabhu and Taylor [22,23] suggested a method to generate a solution for the given input/output scalar requirements and then to modify the obtained solution to satisfy the given vector requirements (orientation and position). A strategy, called design and debug, was proposed by Ulrich and Seering [24]. First, candidate schematic descriptions (abstract bond graphs of functional elements) are generated exhaustively for the given input/output relationship and evaluated to see if they exhibit the specified behavior. If not, they are modified to fit the requirements using domain knowledge. As a next phase, they are transformed into physical systems composed of known components, based on the idea of function sharing [25]. A transformational approach based on a bond-graph grammar was described by Finger and Rinderle [26] in the domain of gear train design. The transformation strategy used in their approach is fundamentally the same as the one presented in Hoover and Rinderle [13]. Welch and Dixon [27] developed a new representation of behavior graphs, which is similar to bond graphs and allows vector values (position and orientation) to be assigned to efforts or flows. An initial graph that is selected from a pre-compiled library of behavior graphs is modified by iterative redesign process to meet the required behavior of a system and then matched against the behavior graphs of known artifacts to find final physical systems. Bond graphs enable a general, uniform expression of the behaviors (energy flow) of idealized elements (building blocks) across different types of systems. However, they have a limitation in handling spatial or geometry-related knowledge such as the spatial configuration of devices and geometric constraints, though some researchers have attempted to avoid this point by introducing special elements [23] or developing a new representation [27]. The synthesis strategies discussed so far can be classified into three categories: transformational, refinement, and compositional approaches. Transformational approaches attempt to transform or update a given design specification to attain final physical systems [13,15,17,26], and refinement approaches modify (debug) an initially generated or selected design solution to fit a given design specification [24,27]. In compositional approaches, basic building blocks are combined one by one to compose a desired mechanism by decomposing a given specification into subspecifications (a decomposition/composition method) [10], or without attempting to change a given specification [16,19]. The present approach does not seek any transformation or decomposition of the given specification during design synthesis. Such decomposition is rather carried out when virtual function generators are identified and conceptualized from existing mechanisms. Desired devices are composed by combining relevant virtual function generators. That is, the synthesis strategy proposed in this paper may be said to be a compositional approach within the framework of case-based reasoning.

307

Case-based reasoning (CBR) has been utilized to solve mechanical or electro-mechanical design problems [28,29] since it well reflects the commonly used design methodology of consulting previous designs (designers rarely design an artifact from scratch). KRITIK [30] and IDEAL [31] generate preliminary designs for electrical or mechanical devices by retrieving and adapting prior designs. Structure-behaviorfunction (SBF) device models are used to represent and comprehend specific design cases, and also to provide necessary knowledge for modifying a retrieved case to fit a new design problem. CADET [32,33] and WATT [34] synthesize dynamic devices from a case base of past designs when the behavior specification of the inputs and outputs is given. CADET uses influence state diagrams (ISD) to model the behavior of multistate devices, and WATT does a bond graph to represent electromechanical devices. The given behavior specification for a new design is transformed according to a set of rules into subbehaviors, and prior cases that match those sub-behaviors are retrieved and synthesized together. The above-mentioned CBR systems are actually hybrid systems that combine case-based reasoning with model-based reasoning. A retrieved case or a given specification is transformed into a solution based on a generic model (general principle). Thus, they can be classified as transformational approaches. More detailed accounts of casebased design systems can be found in Refs. [28,29]. In the limited scope of the conceptual design of mechanisms, only a few works have been performed within the framework of CBR. Issa et al. [11] developed a system for conceptual design of mechanisms using analogical reasoning. This approach retrieves a past case based on a similarity metric and then adapts its kinematic structure by some transformational rules. Bose et al. [35] applied CBR to planar four-bar linkage design for path generation. In the FAMING system [36], CBR is used for innovative part shape design of 2D kinematic pairs. 3. Representation of mechanisms: case representation 3.1. Primitive mechanisms Primitive mechanisms are provided as basic building blocks for representing and understanding existing devices. Some examples of such primitive mechanisms are shown in Fig. 1 with their functions (motion transformation from input to

Fig. 1. Primitive mechanisms with their functions.

308

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

output). The input and output motions of primitive mechanisms are considered to translate and/or rotate about fixed axes (fixedaxes mechanisms) and all the links are assumed to move in parallel planes (2D planar mechanisms). The motion types at input and output can be one of translation (T), shaft rotation (R0), pivotal rotation (R), or helical motion (H: coordinated T and R). Shaft rotation is an ordinary rotation at the input and output of most primitive mechanisms and assumed to have zero radius of rotation. In contrast, pivotal rotation is considered to have a conceptual radius of rotation and used to denote some special cases as in a lever, which swivels around an axis (see the lever in Fig. 1). In addition to the primary types of motion, motion modifiers are introduced to express behavioral characteristics of motions. Reciprocating (r) and oscillating (o), respectively, qualify translation and rotation when the direction of motion changes constantly during operation; intermittent (i) indicates a pause in a motion without change of direction. As can be seen in Fig. 1, a primitive mechanism may have multiple functions. This is primarily because of the reversibility of mechanisms; the input and output are interchangeable. For example, the slider-crank mechanism transforms a reciprocating translation into a shaft rotation (rT ! R0) in internal combustion engines, and vice versa (R0 ! rT) in sawing machines. Sometimes multiple functions stem from the selection of an output location in a mechanism. For instance, when the end of the follower in the cam with oscillating follower mechanism shown in Fig. 1 serves as an output point, the mechanism can transform a rotation (or oscillating rotation) into a pivotal oscillating rotation (R0 ! oR or oR0 ! oR), which could be used to transmit a repetitive lifting motion to an object placed over the follower. It should be noted that such different uses (functions) of a mechanism are regarded as distinct design concepts in the present approach. Fig. 2 shows an illustrative example of a cam with oscillating follower contained in the device library of the present system. The device library has all the relevant information about primitive mechanisms such as types of primitive mechanisms, allowable functions, operational characteristics (e.g., interchangeability, linearity, and cycle ratio), and possible spatial configurations expressed in matrix form.

Fig. 3. A film clawing mechanism: (a) kinematic diagram and (b) abstract graph representation.

3.2. Representation of existing mechanisms Complex mechanisms can be conceptualized and understood by using primitive mechanisms as constructive building blocks. As an example, consider the kinematic diagram of a film clawing mechanism [4] shown in Fig. 3(a). The mechanism transforms an input motion of shaft rotation (R0) into two output motions of reciprocating translation (rT) and oscillating pivotal rotation (oR), and transmits the two output motions, respectively, to the output link (claw). This mechanism can be regarded as composed conceptually of four primitive mechanisms. A cam with positive-return follower (CprT) transforms the input shaft rotation into a reciprocating translation. On the other hand, a cam with translating follower (CtF) transforms the input shaft rotation into a reciprocating translation, which is then transformed into an oscillating shaft rotation by a slidercrank (S-Cr) and then finally into an oscillating pivotal rotation by a lever (L). In this way, by understanding a mechanism in terms of its constituent primitive mechanisms and their relevant functions, we could easily conceptualize how the overall function of the mechanism has been accomplished. As illustrated in Fig. 3(b), a mechanism can be represented as a directed acyclic graph, in which each arc is labeled with an associated primitive mechanism and each node with appropriate motion type. The root and leaf nodes represent, respectively, the input and output(s), and the interior nodes denote the connection (common motion type) between two concatenated primitive mechanisms. The direction of an arc indicates the flow of motion from input to output. With the arc label and two types of nodes, we can identify the associated primitive mechanism and its relevant function (one of its multiple functions). Existing mechanical devices are represented in directed acyclic graphs as mentioned above, and stored in the case base of the present system. They serve as fundamental design cases, from which underlying design concepts (VFGs) will be extracted. Fig. 4 illustrates the case representation of the film clawing mechanism shown in Fig. 3. 3.3. Conceptualization scheme

Fig. 2. Example of a cam with oscillating follower.

Existing mechanical devices in design atlases and compendia are provided merely in the form of final artifacts, and

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

Fig. 4. Case representation of a film clawing mechanism.

explicit design knowledge is not clearly available. In order to draw out the underlying design concepts of previous designs, we need to first conceptualize how the overall functions of such devices have been realized. The most fundamental level of conceptualization is to understand the overall function of a mechanism in terms of individual subfunctions that are, respectively, implemented by its primitive mechanisms. Let us recall the previous film clawing mechanism shown in Fig. 3. As shown in Fig. 5(a), we may assume that the film clawing mechanism results from the combination of four sub-mechanisms. Each sub-mechanism serves as a conceptual building block, which consists of a single primitive mechanism and its relevant function. We regard such a conceptual building block as an underlying design concept. Thus, four underlying design concepts can be identified through this conceptualization. Most building-block-based approaches to mechanism synthesis have grounded on the above-mentioned conceptualization [10,15–17]. Each conceptual building block consists of a single primitive mechanism. Such building blocks as composed of a single primitive mechanism are suitable for first-principle approaches that compose a resulting mechanism from scratch. Each primitive mechanism with its own role takes part in the realization of a desired mechanism. However, such a low-level conceptualization alone is not adequate to reason about the underlying design concepts of a mechanism. Many design concepts may often be borrowed from existing

309

devices in chunks of several primitive mechanisms to implement any subfunction of an overall function. In addition, designers sometimes come up with necessary design concepts from his/her own experience, in which case such concepts may be realized by a group of primitive mechanisms as well as by a single primitive mechanism. Therefore, a higher-level conceptualization is also necessary that may identify a group of primitive mechanisms as a single design concept. Considering the aforementioned aspect of concept generation, we could assume as a higher-level conceptualization that the film clawing mechanism has been obtained by combining two or three sub-mechanisms, as depicted in Fig. 5(b) and (c). In these cases, each sub-mechanism, which serves as a single conceptual building block, is composed of one or more primitive mechanisms. Such higher-level conceptual building blocks consisting of more than one primitive mechanism are also regarded as distinct design concepts in the present approach. On the other hand, there exist several different possible combinations of sub-mechanisms as indicated in the figure, but we could not reason further about how the original design concepts of the mechanism has been formed since there is no available explicit knowledge about it. Hence, we can merely accept every conceptual building block (sub-mechanism) derived from all possible combinations as a proper design concept. Similarly, the entire mechanism itself shown in Fig. 3(b) could also be regarded as a distinct design concept. In this case, a group of four primitive mechanisms constitutes a single conceptual building block that realizes the whole design concept. 3.4. Virtual function generators The notion of virtual function generators (VFGs) is introduced to conceptualize and represent underlying design concepts of existing mechanisms. VFGs are virtual entities that are derived from portions of or the whole of existing devices. They consist of one or more primitive mechanisms and perform a specific function of motion transformation/transmission from input to output(s). The notion of VFGs allows combining conventional building blocks of individual primitive mechan-

Fig. 5. All possible conceptualizations of a film clawing mechanism: (a) four sub-mechanisms, (b) three sub-mechanisms, and (c) two sub-mechanisms.

310

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

Fig. 6. Sub-mechanisms of a film clawing mechanism.

isms with new higher-level conceptual building blocks consisting of several primitive mechanisms. In the present approach, VFGs are the actual constructive building blocks that are used to compose desired mechanisms during design synthesis. VFGs can be obtained by extracting all the subgraphs from the graph representations of existing mechanisms (the detailed algorithm of subgraph extraction for acyclic directed graphs that has been applied in the present work is given in Appendix A). For example, from the graph structure of the film clawing mechanism in Fig. 3(b), we can extract a total of ten subgraphs, as depicted in Fig. 6. Three types of VFGs are defined according to the graph structure of extracted submechanisms (subgraphs), as indicated in Fig. 6. An S-type VFG is derived from a sub-mechanism consisting of a single primitive mechanism. A chain of concatenated primitive mechanisms constitutes a C-type VFG. A sub-mechanism with multiple outputs forms a G-type VFG. Fig. 7 illustrates each type of VFG created and stored in the present system. Stype and C-type VFGs have a single input and a single output; and G-type VFGs involve a single input and multiple outputs. The physical realization of a VFG is captured by its graph structure, through which its constituent primitive mechanism(s) and relevant function(s) can be identified. The reference

mechanisms are a list of existing devices, from which respective VFGs are derived. Since a VFG can be used in several different devices, a number of existing mechanisms can be listed as reference mechanisms. The derivation type denotes that a VFG is derived either in part ( partial) or in whole (complete) from its reference mechanism. 4. Case memory organization and indexing scheme The obtained VFGs, together with primitive mechanisms and existing devices, need to be stored into a case memory for efficient retrieval. Fig. 8 illustrates an example of the case memory provided in the present framework. The case memory is organized in a multi-layered structure with different levels of abstraction. The first functional index layer serves as a system index, which consists of pointers for locating the VFGs stored in the next virtual case layer. VFGs are indexed by their functions (i.e., motion types of input and output(s)). Hence, all the VFGs with the same function are clustered under the same index and thus can be retrieved in a group at the same time. Mtype and C-type VFGs, which have a single input and a single output (SISO), are indexed into the primary index. On the other hand, G-type VFGs are indexed into the auxiliary index, classified according to the number of outputs: SI2O (single

Fig. 7. Examples of virtual function generators (VFGs).

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

311

Fig. 8. Example of the case memory.

input/two outputs), SI3O, etc. In this layer, mechanisms are dealt with from the functional point of view without considering physical realizations. The second is the virtual case layer, wherein obtained VFGs are stored as virtual cases. As shown in the figure, VFGs are stored separately according to their types. Since VFGs are defined with their own physical realizations (constituent primitive mechanisms) to accomplish their overall functions, it can be said that this layer represents an abstraction level of mechanisms in terms of functions and physical artifacts (i.e., function–structure mapping). The third physical layer is comprised of the device library of primitive mechanisms and the case base of existing devices, details of which were explained in the previous sections. This layer stores physical building blocks and artifacts. Let us explain the procedure of storing and indexing VFGs with the previously explained example shown in Fig. 6 and the case memory illustrated in Fig. 8. The four S-type VFGs derived from the sub-mechanisms in Fig. 6(a)–(d) are first stored, respectively, as S0–S3 in the S-type virtual case base (their constituent primitive mechanisms and reference mechanisms are also given in the second and third columns, details of which we can identify by consulting the device library and the case base, respectively). Next, they are indexed in the primary index (SISO) according to their functions (e.g., see S0 and S1 under the index R0 ! rT). Similarly, the three C-type VFGs from the submechanisms in Fig. 6(e)–(g) are stored as C0–C2 in the C-type virtual case base and indexed, respectively, by their overall functions in the primary index (SISO). The three G-type VFGs obtained from the sub-mechanisms in Fig. 6(h)–(j) are stored in

the G-type virtual case base and indexed appropriately in the SI2O auxiliary index. In the case memory of Fig. 8 are also presented some VFGs obtained from other mechanical devices, which will be used in an application example later. VFG S4 is derived from a sawing machine (slider-crank; R0 ! rT), and VFGs S5, S6, C3, C4, and C5 are from an impact printing mechanism (cam with oscillating follower + double-rocker + lever; R0 ! oR0 ! oR0 ! oR). Notice here that VFG S4 involves the same primitive mechanism (PM0: slider-crank) as VFG S2, but they are treated as distinct VFGs because their relevant functions are different (S2: rT ! oR0; S4: R0 ! rT). It should also be noted that when adding a newly derived VFG to the case memory, we have to search the case memory first to see if there already exists the same VFG. If the same one is found, only the information on reference mechanisms and derivation types of the existing VFG will be updated appropriately. For example, consider the VFG (lever; oR0 ! oR) derived from the above impact printing mechanism. Since the same VFG S3 already exists in the S-type virtual case base, only the new reference mechanism (and derivation type not shown in the figure) is added to the existing one (see CA2 of S3 in Fig. 8). 5. Synthesis of mechanisms: retrieval and adaptation 5.1. Synthesis of mechanisms with a single output The design synthesis of mechanisms with a single input and a single output begins with the design specification that consists

312

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

of the desired motion transformation from input to output. Given a specified function of motion transformation Mi ! Mo, partial cases (VFGs) matched with the specified input or output motion are retrieved from the case memory. A set Pi of input-matched cases is retrieved from the case memory using the functional index Mi ! *, where * denotes an arbitrary motion. Similarly, output-matched cases are retrieved as a set of Po using the index * ! Mo. Among the retrieved sets Pi and Po, exactly matched cases, which satisfy both the input and output motions, can be obtained by Pi \ Po since exact matches exist in both Pi and Po. Such VFGs will fulfill the specified function without any adaptation and thus can be potential solution concepts for the given design problem. After removing exact matches from the sets Pi and Po, we now have only partial matches in both Pi and Po. From these partial cases, new design solutions can be generated by combining two VFGs pi and po ( pi 2 Pi and po 2 Po) if such a pair satisfies a compatibility condition that the output motion of pi should be the same as the input motion of po. We apply the following heuristic adaptation rules to compose new design solutions, preventing duplication or redundancy (overlap) of synthesized mechanisms: (1) If two compatible VFGs have no common reference mechanism, they can be combined at the common node (the output node pi and input node po, both of which have a common motion type) to compose a new mechanism, which is illustrated in Fig. 9(a). This composition of two design

concepts (VFGs) that is derived from different mechanisms can generate a new design concept. (2) If two compatible VFGs have any common reference mechanism, but they are not connected in the reference mechanism, they can be combined to produce a new mechanism. Such a combination will yield a new design concept that is not originally part of the reference mechanism as shown in Fig. 9(b). (3) If two compatible VFGs have a common reference mechanism, and they are overlapped in the reference mechanism, they should not be combined. This is because a new mechanism generated by concatenating such two VFGs comprises redundant primitive mechanisms, as illustrated in Fig. 9(c). (4) If two compatible VFGs have a common reference mechanism and they are adjacent (connected) to each other in the reference mechanism, they should not be combined. This is because a VFG that is equivalent to a new mechanism that will be produced by combining such two VFGs already exists in the case memory as an exactly matched case. An example is shown in Fig. 9(d), where the new mechanism obtained by VFG1 + VFG2 is identical to VFG3 that was also derived from the same reference mechanism. The SISO design synthesis method explained above provides new solution concepts by either searching for exact matches or combining partial matches. It realizes the design technique of combination or transference of prior design

Fig. 9. Heuristic adaptation rules: (a) combining two compatible partially matched cases, (b) combining two VFGs derived from the same reference mechanism, (c) redundancy, and (d) duplication.

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

concepts, which is recognized as a very useful method of concept generation in engineering design [5,6]. Previous design concepts are reused in a new design problem via the notion of VFGs. 5.2. Synthesis of mechanisms with multiple outputs The proposed SISO synthesis process can be utilized to solve the design problem of mechanisms with a single input and multiple outputs (SIMO). New mechanisms with multiple outputs can be generated by repeatedly applying the SISO procedure as described in the following steps: (1) Synthesizing stem chains: Given an input and multiple outputs, an arbitrary output is first selected. Then the SISO synthesis procedure is executed to compose kinematic chains, called stem chains, with the specified input and the chosen output. A number of chains (design alternatives) will be generated in this step, each of which may serve as a stem chain for further synthesis. (2) Synthesizing and merging branch chains: Another output is selected and then the SISO synthesis procedure is invoked again to construct a branch chain connecting the selected output to the stem chain. The branch chain can be merged to the stem chain at a branching node (the original input node and the interior nodes of the stem chain can be possible branching nodes). The SISO synthesis procedure is carried out for every pair between the chosen output and branching nodes serving as an input, which will give rise to a variety of topologies of new mechanisms. (3) Synthesizing and merging other branch chains: Step 2 is repeated for the other outputs until all the outputs are connected to the mechanism being synthesized. Notice that as a new branch chain is merged to the mechanism being constructed, its interior nodes also become possible branching nodes at the next stage. In the procedure explained above, the order of output selection causes different topologies of generated mechanisms. Hence, the above procedure should be performed for each permutation of the outputs to produce all possible topologies. In this process, some duplicated mechanisms may be generated and thus graph isomorphism test is necessary to detect and discard duplicate ones. When merely exact matches need to be retrieved directly, the auxiliary index (SI2O, SI3O, etc.) can be utilized without invoking the SIMO synthesis procedure. Notice, however, that such exact matches are also suggested as solution concepts by the above SIMO synthesis procedure. Each chain of a G-type VFG is also stored as an S-type or a C-type VFG, and the composition of such component chains will produce the original G-type VFG. For example, the composition of S0 in Fig. 6(a) and C0 in Fig. 6(e) will yield G1 in Fig. 6(i). 6. Spatial configuration and reasoning: evaluation The conceptual synthesis procedure described previously yields a large number of potential design concepts. We need to

313

evaluate generated solution concepts to select more promising ones for downstream design process (dimensional synthesis or parametric design). A lot of evaluation criteria, based on design requirements, can be considered at this point such as compatibility, safety, coupling, and cost [5–7]. As one of such evaluation criteria, we may think of a spatial configuration problem of desired mechanisms. When such spatial constraints as the orientation of component primitive mechanisms and the directions and positions of input and output(s) of resulting mechanisms are given as a design specification, we have to evaluate if generated design alternatives could satisfy such specified spatial constraints. Furthermore, we often need to find out how the component mechanisms should be placed in space to meet the given spatial constraints. To employ aforementioned spatial requirements as an evaluation criterion, we developed a matrix-based representation for encoding relevant spatial knowledge of mechanisms and a new qualitative spatial reasoning method using sign algebra [37]. Since such quantitative information as geometries or dimensions of component parts, which is necessary to deal with a spatial reasoning problem of a mechanism, is usually unavailable in this early stage of conceptual design, the proposed spatial reasoning method seeks to reason about the possible spatial configuration of a mechanism based solely on qualitative information. A brief summary of the spatial representation and reasoning developed within the present framework is described in the following. Basic spatial configuration information (input/ output direction and position, and orientation) of primitive mechanisms is first encoded qualitatively in matrix form. The provided spatial knowledge of primitive mechanisms is utilized to reason about the overall spatial configuration of a complicated mechanism (i.e., design concepts produced in the previous synthesis process) since the overall configuration is determined by individual configurations of its constituent mechanisms. We can construct all possible spatial configurations of a mechanism by enumerating all the configurations of component mechanisms while concatenating the component mechanisms one by one. Sign algebra is employed to reason about and predict all the attainable spatial variations of a mechanism. Now that we have all possible spatial solutions of a candidate mechanism, we can evaluate the spatial feasibility of it by comparing its attainable spatial solutions with the given spatial constraints. More detailed account of the proposed spatial representation and reasoning is beyond the scope of this paper and interested readers are referred to Ref. [37]. 7. Application example Consider a sewing machine as an illustrative design example. The input motion is a shaft rotation via belt-pulley from an electric motor. From the input motion, it should transmit a reciprocating motion to the needle and two oscillating motions to the feed dog, as shown in Fig. 10(a). The design task can therefore be stated to conceptually synthesize mechanisms with a single input motion (R0) and

314

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

Fig. 10. Design specification: (a) motion requirements and (b) output sequence.

three output motions (rT, oR, oR). To illustrate the design example, we will make use of the case memory shown in Fig. 8, and describe the synthesize procedure only for the output sequence shown in Fig. 10(b). The first step is to synthesize stem chains with the given input and the first output (output 1 in Fig. 10(b)). The desired function is designated by R0 ! oR. With this functional index, input-matched cases and output-matched cases are retrieved from the case memory, as shown in Fig. 11(a). Among them, C2 and C5 exist in both sets, and therefore each of them can be a solution as an exact match, which is illustrated in Fig. 11(b).

Next, possible compatible pairs of VFGs (see Fig. 11(a)) are combined by applicable adaptation rules. Among nine pairs of compatible VFGs, only four pairs are acceptable as shown in Fig. 11(c). The other combinations result in duplication or redundancy; they are prevented from being composed by adaptation rule 3 or rule 4. As a result, six stem chains are obtained in this step; two chains are found as exact matches, and the other four chains are composed by combining two partial matches. The next step is to synthesize branch chains that can connect the second output rT (see output 2 in Fig. 10(b)) to the stem chains obtained previously. Branch chains need to be synthesized for each pair between the current output and possible branching nodes (i.e., the original input node and the interior nodes of a stem chain). For simplicity, let us just consider only the original input node as a branching node in this illustration. Then the required motion transformation is denoted by R0 ! rT. Using this index, input and output matches are retrieved from the case memory, as shown in Fig. 12(a). As indicated in the figure, VFGs S0, S1, and S4 may be solutions as exact matches, which is illustrated in Fig. 12(b). The three branch chains found in this step can be merged, respectively, to the six stem chains obtained in the previous

Fig. 11. Synthesis of stem chains: (a) retrieved cases, (b) exact matches, and (c) combinations of partial matches.

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

315

Fig. 12. Synthesis of branch chains for the second output: (a) retrieved cases, (b) exact matches, and (c) an intermediate mechanism being constructed.

step. Hence, a total of 18 different topologies of intermediate mechanisms will be produced, one of which is shown in Fig. 12(c). Finally, we have to compose branch chains that can join the last output oR (see output 3 in Figs. 10(b) and 12(c)) to the mechanisms being constructed. As in the previous step, only the original input node will be considered as a branching node. Then the required motion transformation is represented by R0 ! oR, which is identical to the case of the stem chain synthesis explained earlier. To exemplify a different combina-

tion of branch chains in this phase, let us consider a windshield wiper mechanism [38] and a needle valve driving mechanism of a fuel supply system [4], as shown in Fig. 13. Then a different branch chain can be constructed by combining partial matches derived from the two design cases (see Fig. 13(c)). This branch chain is merged to the intermediate mechanism shown in Fig. 12(c), producing a resulting mechanism as depicted in Fig. 14. Fig. 15 shows a synthesized design solution for the sewing machine example and its one possible spatial configuration.

Fig. 13. Synthesis of a branch chain for the third output: (a) windshield wiper mechanism, (b) needle valve driving mechanism, and (c) combined branch chain.

Fig. 14. Synthesized sewing machine: (a) graph structure and (b) kinematic diagram.

316

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

Fig. 15. Screen image of the prototype system: (a) synthesized mechanism and (b) one possible spatial configuration.

8. Discussion The present algorithm will produce a number of design alternatives within the scope of the case memory built in the system. The number of generated design alternatives grows exponentially at O(vn1cnn!), where n is the number of outputs, c the average number of generated chains at each synthesis stage, and v is the number of valid branching nodes. Thus, the general applicability of the present methodology may be restricted since the algorithm will likely lead to computational explosion as the size of the case base and the number of outputs grow. However, considering that n takes at most the value of two or three in most design problems, we can notice that the number becomes O(vc2) or O(v2c3) for practical applications. Thus, it can be said that the proposed procedure could solve most synthesis problems in polynomial time. To handle the present synthesis process in a more manageable way, we can further think of reducing v and c in the foregoing complexity O(vc2) or O(v2c3). Firstly, we may put a restriction on the total number of primitive mechanisms constituting any kinematic chain to reduce potential branching nodes (v). Considering that most motions in mechanical devices are obtained from the main driving shaft, we can only allow branch chains to branch off from the first node (usually shaft rotation), which will considerably reduce the number of valid branching nodes (v). However, it should be noticed that there is a trade-off such that the above-mentioned restriction can prevent creative generation of candidate mechanisms; some creative designs have branch chains that originate from intermediate motions. On the other hand, the number of

generated chains (c) can be reduced by introducing more detailed input/output descriptions and more strict compatibility conditions. Some behavioral characteristics of primitive mechanisms such as linearity, cycle ratio, and reversibility may also be considered and incorporated in the synthesis process together with the primary motion types and modifiers. Furthermore, if we utilize formal behavioral modeling techniques based on bond graphs [22–27,34] or configuration spaces [16,17], more feasible solution candidates will be generated. The foregoing issues are left for further study. 9. Conclusion This paper presented a case-based approach for the reuse of previous design concepts in the conceptual design of mechanisms. The notion of virtual function generators is proposed to identify and conceptualize underlying design concepts of existing mechanisms. Such identified virtual function generators are stored in a case memory together with real design cases, and indexed by their functions for efficient retrieval. Conceptual design alternatives of a desired mechanism are synthesized by combining virtual function generators that are retrieved from the case memory. An application example was presented to demonstrate the proposed systematic approach of reusing previous design concepts for the conceptual design synthesis. The notion of virtual function generators proposed in the present approach provides new types of conceptual building blocks that may be composed of several primitive mechanisms as well as individual primitive mechanisms, through which

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

subassemblies of previous designs can be easily delivered as a whole (in a group) to new design solutions. Virtual function generators serve as linkages between functions and structures, and thus they facilitate function-to-structure mapping in design synthesis. In addition, they can help represent common functionalities shared by several different mechanisms, and also capture different usage of any primitive mechanism resulting from its multiple functions. One major contribution of this paper is that the present approach could provide a computational tool for the common practice of reviewing and reusing previous designs in conceptual design. By introducing the notion of virtual function generators within the framework of CBR, the present approach can effectively realize the concept generation method of transference or combination of prior design concepts in conceptual design synthesis.

317

of the graph G. This is accomplished by the function FindAllSubGraphs.

Acknowledgement This work was supported by the Korean Ministry of Science and Technology through the National Research Laboratory (NRL) program for modeling kernel development. Appendix A. Subgraph extraction algorithm In the present work, all the subgraphs of an acyclic directed graph are obtained by an algorithm using depth-first search and recursion. Given a graph, every node, starting with the root node, will be visited recursively using depth-first search and its subgraphs will be found incrementally as follows. If the visited node is the root node, a one-node graph is made and stored in a list of subgraphs. If the visited node is not the root node, an arc connecting the current node and its parent node is constructed and is tried to be merged to each existing graph in the subgraph list. If merging is possible, new subgraphs will be generated and added to the subgraph list. Notice that the subgraphs extracted by the above procedure will have the same root nodes as that of the given graph. To extract other subgraphs that are expanded from interior or leaf nodes of the given graph, the aboveexplained procedure need to be repeated for each node in the graph, regarding the current node as the root node of a tree (actually a subtree). The foregoing extraction algorithm is presented as a pseudocode below. The Graph G is a given graph from which all the subgraphs will be extracted. The SubgraphList SGL is a container to save all the extracted subgraphs. The Stack PS is to save the path from the root node to the currently visited node. By saving the path, we can determine if the current node is a root node or not; if it contains only one node, then the current node is a root node. We can also obtain the parent node of a node using the path stack; the element below the current node (the top element in the stack) is its parent node. The function VisitExtract extracts all the subgraphs by traversing the given graph G starting with the given node N. The traversal is achieved using depth-first search with recursion. All the subgraphs extracted by VisitExtract are the ones rooted in the specified node N. To extract the subgraphs rooted in other nodes, it is necessary to perform VisitExtract for the other nodes

References [1] J.E. Titus, A.G. Erdman, D.R. Riley, The role of type synthesis in the design of machines, in: Proceedings of the NSF Engineering Design Research Conference, 1989, pp. 451–474. [2] A.G. Erdman, Computer-aided mechanism design: now and the future, ASME Journal of Mechanical Design 117 (2) (1995) 93–100. [3] N.P. Chironis, Mechanisms, Linkages, and Mechanical Controls, McGraw-Hill, 1965. [4] I.I. Artobolevsky, Mechanisms in Modern Engineering Design, vols. 1–3, MIR Publishers, 1986. [5] G. Pahl, W. Beitz, Engineering Design: A Systematic Approach, second ed., Springer-Verlag, 1996. [6] S. Pugh, Total Design, Addison-Wesley, 1990. [7] A.G. Erdman, G.N. Sandor, S. Kota, fourth ed., Mechanism Design: Analysis and synthesis, vol. 1, Prentice-Hall, 2001. [8] F. Freudenstein, E.R. Maki, The creation of mechanisms according to kinematic structure and function, Environment and Planning B 6 (1979) 375–391.

318

Y.-H. Han, K. Lee / Computers in Industry 57 (2006) 305–318

[9] D.G. Olson, A.G. Erdman, D.R. Riley, A systematic procedure for type synthesis of mechanisms with literature review, Mechanism and Machine Theory 20 (4) (1985) 285–295. [10] S. Kota, S.-J. Chiou, Conceptual design of mechanisms based on computational synthesis and simulation of kinematic building blocks, Research in Engineering Design 4 (2) (1992) 75–87. [11] G. Issa, S. Shen, M. Chew, Using analogical reasoning for mechanism design, IEEE Expert 9 (1994) 60–69. [12] A. Chakrabarti, T.P. Bligh, An approach to functional synthesis of solutions in mechanical conceptual design. Part I: Introduction and knowledge representation, Research in Engineering Design 6 (3) (1994) 127–141. [13] S.P. Hoover, J.R. Rinderle, A synthesis strategy for mechanical devices, Research in Engineering Design 1 (2) (1989) 87–104. [14] S.-J. Chiou, S. Kota, Automated conceptual design of mechanisms, Mechanism and Machine Theory 34 (3) (1999) 467–495. [15] C.L. Li, S.T. Tan, K.W. Chan, A qualitative and heuristic approach to the conceptual design of mechanisms, Engineering Applications of Artificial Intelligence 9 (1) (1996) 17–31. [16] D. Subramanian, C.-S. Wang, Kinematic synthesis with configuration spaces, Research in Engineering Design 7 (3) (1995) 193–213. [17] C.L. Li, K.W. Chan, S.T. Tan, A configuration space approach to the automatic design of multiple-state mechanical devices, Computer-Aided Design 31 (10) (1999) 621–653. [18] L. Joskowicz, Computational kinematics, Artificial Intelligence 51 (1–3) (1991) 381–416. [19] A. Chakrabarti, T.P. Bligh, An approach to functional synthesis of solutions in mechanical conceptual design. Part II: Kind synthesis, Research in Engineering Design 8 (1) (1996) 52–62. [20] A. Chakrabarti, T.P. Bligh, An approach to functional synthesis of mechanical design concepts: theory, applications, and emerging research issues., Artificial Intelligence for Engineering Design, Analysis and Manufacturing 10 (1996) 313–331. [21] T.C. Liu, A. Chakrabarti, T.P. Bligh, Transforming functional solutions into physical solutions, in: Proceedings of the ASME International Conference on Design Theory and Methodology, 1999, DETC/DTM-8768. [22] D.R. Prabhu, D.L. Taylor, Some issues in the generation of the topology of systems with constant power-flow input-output requirements, in: Proceedings of the ASME Design Automation Conference, 1988, pp. 41–48. [23] D.R. Prabhu, D.L. Taylor, Synthesis of systems from specifications containing orientations and positions associated with generalized flow variables, in: Proceedings of the ASME Design Automation Conference, 1989, pp. 273–280. [24] K.T. Ulrich, W.P. Seering, Synthesis of schematic descriptions in mechanical design, Research in Engineering Design 1 (1) (1989) 3–18. [25] K.T. Ulrich, W.P. Seering, Function sharing in mechanical design, in: Proceedings of the Seventh National Conference on Artificial Intelligence (AAAI-88), 1988, pp. 342–346. [26] S. Finger, J.R. Rinderle, A transformational approach to mechanical design using a bond graph grammar, in: Proceedings of the ASME International Conference on Design Theory and Methodology (DTM’89), 1989, pp. 107–116. [27] R.V. Welch, J.R. Dixon, Conceptual design of mechanical systems, in: Proceedings of the ASME International Conference on Design Theory and Methodology (DTM’91), 1991, pp. 61–68. [28] M.L. Maher, M.B. Balachandran, D.M. Zhang, Case-Based Reasoning in Design, Lawrence Erlbaum Associates, Inc., 1995.

[29] M.L. Maher, P. Pu (Eds.), Issues and Applications of Case-Based Reasoning in Design, Lawrence Erlbaum Associates, Inc., 1997. [30] A.K. Goel, B. Chandraskaran, Use of device models in adaptations of design cases, in: Proceedings of the DARPA Workshops on Case-Based Reasoning, 1989, pp. 100–109. [31] S.R. Bhatta, A.K. Goel, An analogical theory of creativity in design, in: Proceedings of International Conference on Case-Based Reasoning (ICCBR’97): Case-Based Reasoning Research and Development, 1997, pp. 565–574. [32] D. Navinchandra, K.P. Sycara, S. Narasimhan, A transformational approach to case-based synthesis, Artificial Intelligence for Engineering Design, Analysis and Manufacturing (AI EDAM) 5 (1) (1991) 31–46. [33] K.P. Sycara, R. Guttal, J. Koning, S. Narasimhan, D. Navinchandra, CADET: a case-based synthesis tool for engineering design, International Journal of Expert Systems 4 (2) (1992) 157–188. [34] T.N. Madhusudan, K.P. Sycara, D. Navin-Chandra, On synthesis of electro-mechanical assemblies, in: Proceedings of the ASME Design for Manufacturing Conference, 1996, 96-DETC/DFM-1631. [35] A. Bose, M. Gini, D.R. Riley, A case-based approach to planar linkage design, Artificial Intelligence in Engineering 11 (2) (1997) 107– 119. [36] B. Faltings, K. Sun, FAMMING: supporting innovative mechanism shape design, Computer-Aided Design 28 (3) (1996) 207–216. [37] Y-H. Han, K. Lee, Using sign algebra for qualitative spatial reasoning about the configuration of mechanisms, Computer-Aided Design 34 (11) (2002) 835–848. [38] How Windshield Wipers Work, http://auto.howstuffworks.com/wiper.htm. Young-Hyun Han is a principal research engineer at INUS Technology, Inc., Korea. He received his BE (1989), ME (1993), and PhD (1999), all from Seoul National University, Seoul, Korea. He was a visiting researcher at the Department of Mechanical Engineering, University of Wisconsin at Madison, and at the National Institute of Standards and Technology (NIST), Gaithersburg, MD, USA. His research interests are reverse engineering, geometric and solid modeling, and intelligent CAD. Kunwoo Lee is a professor in the School of Mechanical and Aerospace Engineering at Seoul National University in Korea. He received his BS (1978) from Seoul National University, and MS (1981) and Ph.D. (1984) in mechanical engineering from MIT. He was previously an assistant professor in the Department of Mechanical & Industrial Engineering, University of Illinois at Urbana-Champaign, a visiting associate professor in the Department of Mechanical Engineering at MIT, and a visiting professor in the Department of Mechanical Engineering at Stanford University. Currently, he is one of the Editors-in-Chief of Computer-Aided Design. He also serves as an associate editor of the Journal of Computers and Information Science in Engineering of ASME. He has been a program committee chair of Solid Modeling Symposium 2001and 2002. His research interests include CAD system supporting multiresolution, custom tailoring systems for shoes and wigs, and integrated framework for simultaneous simulation of product and operator.