Haixia Wang Product Development & Global Technology, Caterpillar Inc., Peoria, IL USA 61629; School of Mechanical Engineering, Shandong University, Jinan Shandong, China e-mail: haixia@gmail.com Dariusz Ceglarek The Digital Laboratory, WMG, University of Warwick, Coventry CV4 7AL, UK; Department of Industrial and Systems Engineering, University of Wisconsin, Madison, WI 53706 e-mail: d.j.ceglarek@warwick.ac.uk Representation, Generation, and Analysis of Mechanical Assembly Sequences With k-ary Operations A new methodology is presented to generate all of the assembly sequences for a production system configured as a N-station assembly line with kn (n ¼ 1, 2,…, N) parts or subassemblies to be assembled at stations 1, 2,…, N, respectively. This expands current approaches in sequence generation applicable for binary assembly process to a k-ary assembly process by including: (i) nonbinary state between two parts, i.e., multiple joints between two parts or subassemblies, is taken into consideration, and (ii) simultaneous assembly of Y (Y 3) parts or subassemblies. The methodology is based upon proposed k-piece graph and k-piece mixed graph approaches for the assemblies without and with assembly precedence relationship, respectively. Compared with the currently used liaisons graph (or datum flow chain) representation which shows part-to-part assembly relations, the k-piece graph (or k-piece mixed graph) shows all of the feasible subassemblies and their constituent parts and joints (pairs of mating features). Based upon the k-piece graph or k-piece mixed-graph approach, all of the feasible subassemblies for a predetermined assembly line configuration are identified, and all of the sequences for a k-ary assembly process are generated. Case studies are presented to illustrate the advantages of the presented methodology over the state-of-the-art research in assembly sequence generation. [DOI: 10.1115/1.3617441] Keywords: assembly, sequence, graph 1 Introduction 1.1 Motivation and Prior Work. Assembly sequence planning is an integral part of analysis conducted during early phases of product and process design, since different sequences result in different tooling arrangements which directly affect assembly cost, productivity, and quality. For example, different sequences usually lead to different manufacturing variation propagation and hence, result in different 6-sigma variations of the final product. Automatic generation of all of the possible part assembly sequences has been studied for more than two decades. Bourjault [1] pioneered research in automatic assembly sequence generation by presenting a product with a liaisons graph, wherein a vertex represents a part and an edge shows a connection relationship between the parts. All of the feasible sequential part assembly sequences were obtained by applying an algorithm, i.e., a combination of queries, on the liaisons graph. The algorithm was later improved with reduced computation effort by De Fazio and Whitney [2]. Subsequently, other researchers developed methods for easier computer realization [3–6]. Homem de Mello and Sanderson [7] extended the methods by considering a parallel assembly scenario. Sequences are generated based on recursive bipartitions of liaisons graph using the cut-sets method. Mantripragada and Whitney [8] presented a method to represent a product with a directed graph, called datum flow chains (DFCs), wherein part-topart assembly precedence relationships constrained by assembly process are represented as directed edges. Part assembly sequences can be obtained by analyzing the precedence relationships. Although the current methods provide fundamental models for assembly sequence generation, they are applicable for binary (two-handed) assembly processes with the following assumptions: Contributed by the Computer Aided Manufacturing Committee of ASME for publication in the JOURNAL OF COMPUTING AND INFORMATION SCIENCE IN ENGINEERING. Manuscript received June 10, 2010; revised manuscript received March 22, 2011; published online December 16, 2011. Assoc. Editor: Kazuhiro Saitou. (i) (ii) the state of a pair of parts is binary: {not-joined, joined}; and exactly two parts or subassemblies are assembled at any given time. In fact, these restrictive assumptions turn to be sufficient to face many practical problems, and significantly reduce the combinatorial explosion of a number of sequences to be generated. However, when assembling some complex mechanical products or products with compliant parts, these methods can miss some interesting and important sequences or even provide no solution at all. Below we discuss the needs for relaxing both assumptions (i) and (ii) in details. Some of the important assembly sequences can be included by relaxing assumption (i), i.e., by considering multi-ary states between two parts caused by presence of multiple joints between two parts. For example, the multi-ary states between two parts can represent: not-joined, partially joined and fully joined states. An example shown in Fig. 1 illustrates a multi-ary state between two parts. Figure 1 shows a simplified sports utility vehicle (SUV) side frame assembly with four parts: v1, v2, v3, and v4, and six part-to-part mating joints: 1, 2, 3, 4, 5, and 6. Parts v2 and v3 can be in any of the following four states: not-joined, partially joined only at joint 5, partiallyjoined only at joint 6, and fully joined. If all of the four parts (v1, v2, v3, and v4) are to be assembled at one station without considering any geometrical or technological assembly constraints, there will be 6! ¼ 720 different part-to-part joint assembly sequences. As discussed in Wang and Ceglarek [9], some of the partially joined states between two parts are very critical since they might represent the optimum or near optimum sequence. However, the binary assembly planner generate only binary sequences and thus cannot consider partially joined assemblies, what results in 2*5! ¼ 240 part-to-part joining sequences in which joints 5 and 6 are consecutively joined. In general, over-constrained assemblies are prohibited in rigid parts assembly models. However, this is much more complex Journal of Computing and Information Science in Engineering C 2012 by ASME Copyright V MARCH 2012, Vol. 12 / 011001-1 Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms Fig. 3 Assemblies which can only be built by plans which are (a) nonsequential, (b) nonmonotone, and (c) noncontact coherent (from Wolter, 1991) Fig. 1 A sports utility vehicle side frame assembly and its partjoint graph (a vertex represents a part, an edge represent a pair of mating features, i.e., a joint between two parts) issue in case of compliant part assembly. For example, sheet metal parts used in automotive and aerospace assemblies usually have more than 6 degrees of freedoms (DOFs), and the exact number of DOFs depends on forces applied in the assembly process. Modeling of dimensional variations for compliant part assembly with predetermined sequences can be found in Refs. [10–13], and the impact of fixture layout on product dimensional quality in compliant sheet metal assemblies can be found in Ref. [14]. A detail discussion on how parts joining sequence affects product dimensional quality in compliant sheet metal assemblies can be found in Ref. [15]. In case of the aforementioned assumption (ii), the following scenarios show that the consideration of “simultaneous” assembly, i.e., more than two parts (or subassemblies) to be assembled at any given time and station, is important in a number of cases. • • • The mutual blocking scenario: for example, Natarajan [16] showed that s hands are necessary and sufficient for assemblies of s star-shaped polygons=polyhedra, as illustrated in Fig. 2. Wolter [17] listed several assemblies which are nonsequential, nonmonotone, and noncontact coherent, as shown in Fig. 3. As discussed in Ref. [17], currently there is no methodology to solve such problems. The adaptive assembly scenario: technology development provides potential trend for adaptive assembly with capability to adjusts and align multiple parts during the process and assembly them simultaneously. For example, the Nissan’s Intelligent Body Assembly System uses numerical control technology which is incorporated in the 250 servo motors to easily adjust parts alignments of the complex assembly system producing multiple products [18]. The Net Form and Pierce adaptive assembly system uses mechanical solution to automatically align locating features during the assembly of automotive body assembly [19]. The adaptive tooling concept presented by Pasek [20], provided preliminary steps toward adaptive assembly which allows to adjust multiple parts by in-process measurements and then using numerical control technology to complete the assembly. Nonsequential assembly scenario: the nonsequential assembly scenario occurs when the assembly sequences are not necessarily the inverse of disassembly sequences, especially when the afore-mentioned situations exist. In some way or another, commonly accepted methods in assembly sequence generation are based on recursive bipartitions of the liaisons graph by assuming that assembly and disassembly sequences are the inverse of one another. This is not necessarily true when sequential assembly is not the case, and when parts are compliant. Latombe et al. [21] illustrated it using an M-hand assembly as shown in Fig. 4: consider the product with N parts denoted by 1,…, N. Spatial relations are between 1 and 2, 1 and 3,…, and 1 and N. The first bipartition disassembly operation generates 1 and {2,…, N}. The second subassembly consists of N-1 floating parts. However, the assembly operation requires N hands to separately adjust the positions of parts 2, 3,…, N relative to part 1. The above examples illustrate some of the limitations related to the binary assembly. Bonneville et al. [22] suggested an intuitive extension of binary assembly to a ternary process by adding a ternary assembly operation to the bipartition operation commonly accepted by binary sequence planner. The simultaneous assembly of three parts is considered in the situations of assembling identical parts or assembly of parts with mutual blocking, as illustrated in Figs. 5(a) and 5(b), respectively: In the case of product A, the ternary operation that simultaneously place b1 and b2 on a would be missed by using binary operation; for product B, the binary assembly planners would provide no solution at all. The ternary operations show an interesting extension of binary assembly models, however, no further research has been conducted to provide a generic approach. The objective of this paper is to overcome the afore-mentioned limitations by developing a methodology of sequence generation for a k-ary assembly process. The concept of a k-ary assembly process is introduced to relax the assumptions of a binary assembly process by allowing (i) the consideration of multiple joints between a pair of parts (in other words, the state of the pair of parts is multi-ary: nonjoined, partially joined, or fully joined), and (ii) simultaneous assembly of any number of parts or subassemblies at any given time. In this paper, we take assembly line configuration [23–26],1 in which k1, k2,…, kN parts or subassemblies are to be assembled at stations 1, 2,…, N,2 [27] respectively, as an input for the k-ary sequence generation. This input will, • • Fig. 2 A composite of star-shaped objects in the plane requiring four hands for assembly (from Natarajan, 1988) 011001-2 / Vol. 12, MARCH 2012 reduce combinatorial explosion of sequence planning to a reasonable size; and allow including important information about production system architecture (standardized assembly system), which is 1 In case of generating a new assembly line where number of assembly stations and part allocation for station is unknown, the method presented in “Equipment selection and task assignment” [23–26] can be used to determine a suboptimal line configuration and task assignment. Then, in the next step, the k-ary sequences can be generated using the method presented in this paper. 2 In Ref. [27], N is a constant value. In this paper, N is a variable which is determined by the total number of parts and the number of parts to be assembled at each station. Transactions of the ASME Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms Fig. 4 An N-part product requiring N hands to assemble (from Latombe, Wilson, and Cazals, 1997) Fig. 5 A product with (a) an interesting ternary assembly and (b) a necessary ternary assembly becoming a very critical trend in modern manufacturing. For example, Toyota’s standardized assembly line configuration system called Global Body Shop has been installed in 30 of its 34 body lines worldwide [28]. Ford has introduced 16-cell standardized assembly line configuration system which allows producing different product models based on common platforms [29]. The predetermined and standardized line configurations are a prerequisite for modern automotive manufacturers and allows for significant reduction of new model changeover time and investment as well as increase of number of models which can be produced on a single line and reduce the overall line by half. The brief comparison of binary and k-ary sequence generation, in terms of input and output, is summarized in Table 1. Table 1 Input information 1.2 Proposed Methodology. This paper develops a methodology of sequence generation for a k-ary assembly process based on the k-piece graph and k-piece mixed-graph representations of assembly. It includes two main subtasks: (1) generation of k-piece graph and k-piece mixed-graph representations for assemblies without and with assembly precedence information, respectively, and (2) generation of all of the assembly sequences for any provided line configurations. In subtask (1), the k-piece graph Ck(G) and k-piece mixed graph k C (M) generalize the currently used liaisons diagram and datum flow chains representations, respectively, by extending part-topart relations to more generic relationships between any subassembly and its constituent parts and joints. This is briefly outlined in Table 2. Details are presented in Sec. 3. In subtask (2), all of the possible assembly sequences are generated for a k-ary assembly process based on k-ary operations as The comparison between binary and k-ary sequence generations Binary sequence generation [1,2,7] k-ary sequence generation (to be presented in the paper) An assembly was represented as a liaisons graph or datum flow chains wherein joints are represented as a single edge between two vertices. – Allows two states of two parts: nonjoined, or joined. An assembly is represented as a part-joint graph or part-joint mixed graph wherein multiple joints are represented as multiple edges between two vertices. – Allows multiple states of two parts: nonjoined, partially joined, or fully joined. – Allows multiple parts or subassemblies to be assembled sequentially or simultaneously. – Allows multiple parts or subassemblies to be assembled sequentially only. Output information Incomplete list of joining sequences Part sequences: Sequential part assembly only Journal of Computing and Information Science in Engineering A complete list of joining sequences A complete list of part sequences by including both sequential and simultaneous sequences MARCH 2012, Vol. 12 / 011001-3 Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms Table 2 k-piece graph and k-piece mixed graph representations of assembly Representation of assembly Two types of assemblies Used in the literature Without assembly precedence information With assembly precedence information Liaisons graph: G’ datum flow chain: M’ defined in Sec. 2. Details of sequence generation are presented in Sec. 4. Definition of k-ary Assembly Sequence 2 This section introduces graph terminology used in the paper based on Refs. [30,31] followed by definitions of k-ary operation and k-ary assembly sequence. 2.1 Preliminaries: Graph Terminology • • • • A graph or undirected graph G is an ordered pair G: ¼ (V, E) with — V, a set of vertices or nodes. — E, a set of unordered pairs of distinct vertices, called edges or lines. The vertices belonging to an edge are called the ends, endpoints, or end vertices of the edge. A mixed graph M is an ordered triple M: ¼ (V, E, A) with — V, E, the same as defined in the undirected graph. — A, a set of ordered pairs of vertices, called directed edges, arcs, or arrows. An edge e ¼ (x, y) is considered to be directed from x to y; y is called the head and x is called the tail of the edge. A multigraph (or mixed multigraph) is a graph (or mixed graph) wherein the same pair of vertices can be connected by multiple edges, that is, it has a multiset of edges. It is simply called graph (or mixed graph) in the context of this paper. Graph contraction operation: given an undirected graph G: ¼ (V, E), an edge (u, v) [ E, contract ((u, v), G) returns a graph D that is identical to G except that the vertices u and v have been replaced by a new vertex uv, and that all of the neighbors of u and v in G are now neighbors of uv in D. 2.2 Definition of k-ary Operation and k-ary Assembly Sequence. According to Bonneville et al. (1995, p. 248), a ternary assembly operation is “the production of a virtual subassembly x made by the mating of three complementary virtual subassemblies x1, x2, and x3, such that x ¼ x1 [ x2 [ x3 , and such that x2 [ x3 is not a virtual subassembly (otherwise this ternary assembly operation is a binary assembly operation).” By representing a final product as a part-joint multigraph, wherein an edge represents a pair of mating features and their associated parts, the definitions of k-ary operation and k-ary assembly sequence are stated as follows (we use the term “subassembly” in place of “virtual subassembly” in this paper for simplicity). Definition 1. A k-ary operation at a single-station assembly is the production of a k-ary subassembly X: ¼ (W, F), where vertex set W represents a set of k parts (or subassemblies) and edge set F represents all of the joints associated to the parts (or subassemblies) in W, through a set of joining operations with consideration of the following situations: • • any subset of F is a subassembly (i.e., the subassembly can be finished sequentially), or there exists a subset of F which is not a subassembly (i.e., some joints of the subassembly need to be assembled simultaneously). Definition 2. A k-ary operation in a multistation assembly scenario is the production of a final product with {k1, k2,…,kN}-ary 011001-4 / Vol. 12, MARCH 2012 Developed in this paper G’ ( (G=C1(G)) M’ ( (M=C1(M)) k-piece graph: Ck(G) (k ¼ 1,2,…, K-1) k-piece mixed graph: Ck(M) (k ¼ 1,2,…, K-1) operations related in a N-station assembly where k1, k2,…,kN parts or subassemblies are to be assembled at stations 1, 2,…,N, respectively, and where k ¼ {k1, k2,…,kN}. Definition 3. A k-ary assembly sequence is a complete set of ordered joining operations for a k-ary assembly process which assembles a final product from its first assembly operation 3 Subassembly Identification and Representation To generate a complete list of assembly sequences for a k-ary assembly process, it entails a generic assembly representation in which all of the possible subassemblies are identified and represented, so that the problem of sequence generation for multistation assemblies (for example, automobile body and aircraft fuselage assemblies) can be reduced to the problems of selection of any feasible subassembly for each station and generation of joining sequences within the station. In this section, the k-piece graph and k-piece mixed graph are defined3 and used as assembly representations for assemblies without and with assembly precedence information, respectively. 3.1 Representation of the Assembly Without Assembly Precedence Information. Without assembly precedence relationship, for example, when there does not exist an assembly precedence relationship or assembly precedence information is unavailable at a preliminary design phase, a product’s part-joint relationship is represented as a part-joint graph G: ¼ (V, E) where V represents its parts and E represents its unordered joints (pairs of assembly features between parts). Compared with the liaisons graph representation, part-joint graph representation differentiates multiple joints between a pair of parts by representing them as a multiset of edges. A k-ary subassembly X: ¼ (W, F) of the product is a connected induced k-vertex subgraph4 of G. To find all of the possible k-ary subassemblies, k-piece graph is defined in the following way which is the representation of the assembly without assembly precedence information. Definition 4. For integer k ¼ 1, 2, 3,…, K-1 (K is the cardinal size of V(G)), the k-piece graph Ck(G) of a graph G has all of the connected induced k-vertex subgraphs of G as vertices, i.e., V Ck ðGÞ ¼ fXjX is connected induced k-vertex subgraph in Gg (1) Two distinct vertices of Ck(G) are adjacent whenever the intersection of corresponding subgraphs is a connected (k-1)-vertex subgraph, i.e., ECk ðGÞ ¼ fðX; X0 ÞjX; X0 2 V Ck ðGÞ ; X [ X is a connected ðk 1Þ vertex subgraph in Gg (2) 3 The name of “k-piece graph” is recommended to the authors by Professor Douglas B. West at Mathematics Department, University of Illinois - Urbana-Champaign. 4 A subgraph of a graph (or mixed graph) is a subset of the vertices and edges of the graph (or mixed graph). An induced subgraph is a subset of the vertices of a graph (or mixed graph) together with any edges whose endpoints are both in this subset. A connected graph is an undirected graph where there is a path from any vertex to any other vertex in the graph. A mixed graph is connected if its underlying undirected graph is connected. Transactions of the ASME Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms Fig. 6 Illustration of the iterative process of implementing k-piece graph An Implementation Algorithm to Generate k-Piece Graph. There may exist several ways to implement k-piece graph Ck(G) (k ¼ 1, 2,…, K-1) from part-joint graph G. One way to implement it is based on iterative operations stated as follows. A vertex and an edge of the part-joint graph G ¼ C1(G) represent a part and a pair of parts, respectively, and are labeled accordingly. A vertex and an edge of the k-piece graph Ck(G) (k ¼ 2, 3,…, K-1) represents a k-ary subassembly and a (k þ 1)-ary subassembly, respectively, and are labeled accordingly. Observation 1. A vertex of k-piece graph Ck(G) (k ¼ 2,…, K-1) represents a distinct k-ary subassembly, however, several adjacent edges of k-piece graph Ck(G) may have a same label. In other words, the graph formed by these edges is a same-labeled subgraph of Ck(G). With given C1(G) ¼ G, the k-piece graph Ck(G) (k ¼ 2,…, K-1) can be derived from Ck1(G) as follows: has distinct same-labeled subgraphs of Ck1(G) as vertices; two distinct vertices of Ck(G) are adjacent whenever the corresponding subgraphs have a vertex in common. Figure 6 illustrates the iterative process of generating k-piece graph Ck(G) (k ¼ 2, 3) from part-joint graph G of a SUV side frame assembly, where v1, v2, v3, and v4 are part labels and joints 1, 2, 3, 4, 5, 6 are labeled as v1,2, v1,4, v1,3, v2,4, and two v2,3 in G. Ck(G) (k ¼ 2, 3) is shown as a set of solid edges together with their end vertices marked as “,” and Ck1(G) is shown as a set of dotted edges together with their end vertices marked as “.” For example, C2(G) is generated from C1(G) in Fig. 6(c), where labeled vertices v1,2, v1,3, v1,4, v2,3, and v2,4 of C2(G) are associated with same-labeled subgraph of C1(G) and represent all possible binary subassemblies. The edge labels of C2(G) and C3(G) are not list for figure legibility. Computational Complexity in k-Piece Graph Implementation. Circular doubly linked lists over nodes and edges are used in graph data structure representation (illustrated in Appendix A). These provide constant time Oð1Þ5 adding and removing nodes and edges. There exist several ways to implement k-piece graph. One way to implement it is through iterative operations as stated above. Since the edges are labeled, it takes constant time Oð1Þ to group them as same-labeled subgraphs. According to Definition 4, the number of vertices of graph Ck(G) are at most K! K K K . Therefore, it takes at most þ ¼ 2 3 k kÞ! k!ðK K K K þ þ ¼ 2 K 2 time, i.e., Oð2 Þ time, to generK1 ate k-ary subassemblies (k ¼ 2,…, K-1). Generally speaking, the computational cost of using the state-of-the-art method (i.e., the cut-set method) in sequence generation grows exponentially with the number of parts, and the value of the exponent depends on connection density among parts. By taking predetermined line configurations as input to a k-ary assembly process, the computational complexity will reduce greatly. Furthermore, computational complexity varies from methods in implementing k-piece graphs. Different implementation methods will be explored in future research. 3.2 Representation of the Assembly with Assembly Precedence Information. With assembly precedence relationship, a product’s part-joint relationship is represented as a part-joint mixed graph M: ¼ (V, E, A) where V represents its parts, E represents its unordered joints (pairs of assembly features between parts), and A represents its unordered joints. An ordered edge directed from vertices a to b denotes that a must be present before (or with) b is added to the assembly. Compared with the datum flow chains representation, part-joint mixed graph representation differentiates multiple joints between a pair of parts by representing them as a multiset of edges. A k-ary subassembly X of a product M is a connected induced k-vertex subgraph of M and any vertex of the subgraph has no inedge6 coming from its outside. To find all of the possible k-ary subassemblies, k-piece mixed graph is defined in the following, which is the representation of the assembly with assembly precedence information. All of the possible k-ary subassemblies of the product are represented by source vertices7 of the k-piece mixed graph (or source edges of the (k-1)-piece mixed graph). Definition 5. For integer k ¼ 2, 3,…, K-1 (K is the cardinal size of V(M)), the k-piece mixed graph Ck(M) of a mixed graph M has all of the connected induced k-vertex subgraphs of M as vertices, i.e., V Ck ð MÞ ¼ fHjH is connected induced k-vertex subgraph in Mg (3) An edge exists between two distinct vertices of Ck(M) whenever the intersection of corresponding subgraphs is a connected (k-1)vertex subgraph, i.e., E Ck ð MÞ ¼ fðH; H 0 ÞjH; H 0 2 V Ck ðGÞ ; H \ H 0 is a connected ðk 1Þ-vertex subgraph in Mg (4) The vertex H (or H’) of mixed graph Ck(M) has an in-edge from vertex H’ (or H) if vertex v(H- H\H’) (or v(H’- H\H’)) of mixed graph M, a vertex that is in subgraph H only (or H’ only), has an in-edge from any vertex of subgraph H’ (or H). An Implementation Algorithm to Generate k-Piece Mixed Graph. There may exist several ways to implement k-piece mixed graph Ck(M). One way to implement it is by adding direction to its underlying undirected graph Ck(G), which takes constant time Oð1Þ. In other words, the k-piece mixed graph can be implemented with the same level of computational complexity as k-piece graph generation, i.e., Oð2K Þ time. With given C1(M) ¼ M, the k-piece mixed graph Ck(M) (k ¼ 2,…, K-1) can be derived as follows: has distinct same-labeled subgraphs of Ck1(M) as vertices; two distinct vertices of Ck(M) are adjacent whenever the corresponding subgraphs have a vertex in common with a vertex as a head (successor), if the common vertex in the other subgraph is a head. 6 An in-edge to a vertex is an edge directed to the vertex. A source vertex of a mixed graph is a vertex which has no inward directed edge. A source edge is an edge where neither of its two end vertices has in-edge from outside. 7 5 An algorithm is said to run in O(f(n)) time if for some numbers c and n0, the time taken by the algorithm is at most cf(n) for all n n0 . Journal of Computing and Information Science in Engineering MARCH 2012, Vol. 12 / 011001-5 Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms Fig. 7 Illustration of the process of implementing k-piece mixed graph Figure 7 illustrates the process of k-piece mixed graph generation for the SUV side frame assembly example with some assembly precedence information. For example, B-pillar v4 is located by Panel rocker v1 through joint 2, which indicates that v4 cannot be presented before v1 is added to the assembly. v1,2 and v1,3, source vertices of C2(M) [i.e., source edges of C1(M)], represent the possible subassemblies assembled from two parts. v1,2,3 and v1,2,4, source vertices of C3(M) [i.e., source edges of C2(M)], represent the possible subassemblies assembled from three parts. 4 Generation of k-ary Assembly Sequences According to Definitions 1, 2, and 3, all of the possible k-ary assembly sequences correspond to a complete list of distinct sets of {k1, k2,…, kN}-ary operations related in a N-station assembly, where k1, k2,…, kN parts or subassemblies are to be assembled at stations 1, 2,…, N, respectively. The problem of Fig. 8 k-ary assembly sequences generation is decomposed into two hierarchical levels: (1) take as an input of a k-ary assembly process (line configuration), and select all of the possible k-ary subassemblies for each assembly station based upon the method of k-piece graph or k-piece mixed graph; and (2) generate joint assembly sequences for the assembly at each station. The two levels are manifested in four iterative steps as summarized in Fig. 8. For graph operations at station n (n ¼ 1, 2,…, N), we denote the aforementioned G, M, Ck(G), and Ck(M) as Gn, Mn, Ck(Gn), and Ck(Mn), respectively. Step 1: At station n, develop part-joint graph Gn or part-joint mixed graph Mn where a vertex represents a discrete assembly component (part or subassembly) and multiple edges denote joints between two components without precedence constraint. Directed edges in Mn denote precedence relationship between components. A directed edge from vertices a to b denotes that part b cannot be present before part a is added to the assembly. The procedure of k-ary sequence generation with {k1, k2,. . ., kN}-ary operations 011001-6 / Vol. 12, MARCH 2012 Transactions of the ASME Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms Fig. 9 Illustration of sequence generation for k-ary assembly processes For the SUV side frame example (Fig. 9), M1 is a given DFC and M2 is derived from M1 with graph contraction operation after the subassembly vs1 ¼ v1,3 is selected for station 1. To avoid text redundancy, an example that does not contain information of assembly precedence is not presented, since it shares the similar logic and procedure of this one. Step 2: At station n with any given number of components kn, obtain all of the possible kn-ary subassemblies by developing kn-piece graph or kn-piece mixed graph . The vertices in or source vertices in [which are associated edges in Ckn 1 ðGn Þ or Ckn 1 ðMn Þ, respectively] represent all of the possible kn-ary subassemblies. For the example shown in Fig. 9, after subassembly vs1 ¼ v1,3 is selected for station 1, the possible subassemblies for station 2 are vs1,2, and vs1,2,4, corresponding to k2 ¼ 2, and k2 ¼ 3, respectively. Step 3: At station n, pick a kn-ary subassembly, which is represented by a vertex in or a source vertex in kn-piece mixed graph and is associated with kn-vertex subgraphs in Gn or Mn, respectively; All of the assembly operations for the kn-ary subassembly Fig. 10 Subassembly sequences for the k-ary (k1 5 2, k2 5 3) process Fig. 11 Representation of joining sequences for the k-ary (k1 5 2, k2 5 3) process Journal of Computing and Information Science in Engineering MARCH 2012, Vol. 12 / 011001-7 Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms Fig. 12 Illustration of a k-ary assembly system that cannot be reduced to a binary assembly are then enumerated based on Definition 1 formulated in Sec. 2, and sets of sequential assembly operations to obtain the kn-ary subassembly can then be generated. For the example shown in Fig. 9, there are eight sets of assembly operation sequences for the subassembly v1,2,3 to be assembled at station 1. That is, there are two sets of assembly operation sequences, i.e., 1!3!(5, 6), and six other sets of assembly operation sequences, i.e., 3!(1, 5, 6), where (5, 6) and (1, 5, 6) represent all of their permutations. Step 4: Repeat steps 1, 2, and 3 for station (n þ 1) until n = N-1. 5 Case Studies Two case studies are presented to illustrate the contribution of the paper over the traditional methods in sequence generation in the two aspects: it can generate a complete list of joining sequences while the binary assembly planners would miss some of them; it can generate all of the possible part sequences while the binary assembly planners provide no solution at all. The SUV side frame assembly (shown in Figs. 7 and 9) is used to illustrate that the commonly used cut-set method is incapable to generate all of the possible joining sequences for a predetermined line configuration with k1 ¼ 2 and k2 ¼ 3. Using the proposed k-piece mixed graph method, C2(M1) is generated from C1(M1), in which the two sources vertices, v1,2 and v1,3, represent the possible subassemblies for station 1. If v1 and v2 are assembled at station 1, then v1,2, v3 and v4 are assembled at station 2: Joint 1 being finished at station 1, and joints 2, 3, 4, 5, and 6 being finished at station 2 with eight joining sequences. If v1 and v3 are assembled at station 1, then v1,3, v2 and v4 are assembled at station 2: Joint 3 being finished at station 1, and joints 1, 2, 4, 5, and 6 being finished at station 2 with 1 4! ¼ 24 joining sequences. There are total 32 joining sequences, as illustrated in the diamond diagram Fig. 10(a), where part numbers are put in the pigeon holes. Using the cut-set method presented in the literature, the generated part sequences are (((v1, v2), v3), v4), (((v1, v2), v4), v3), and (((v1, v3), v2), v4): the number of joining sequences being 2, 2 and 6, respectively. Only ten joining sequences are figured out using the cut-set based method, as illustrated in Fig. 10(b). Figure 11 shows all of the joining sequences (joint numbers are put in the pigeon holes: joint 4 is not included since joints 2 and 4 should be assembled simultaneously). A path from the beginning block to the end block indicates a joining sequence. The bold lines represent the connections missed by using the traditional approaches. The similar case using a SUV underbody assembly is presented in Appendix B. The example shown in Fig. 3(c) is used to show that the presented method is able to deal with the situation when a product cannot be assembled with a binary assembly. The part precedence relationship C1(M) is shown in Fig. 12(b), with the gravity assumption that part A is the base part. Traditional binary-focused approaches find no solution for this simple case. Using the presented k-piece mixed graph approach, we show that it is not feasible to form a subassembly with two parts since there is no source vertex in C2(M). However, the feasible assembly with three parts is manifested in the simpleton graph C2(M). 011001-8 / Vol. 12, MARCH 2012 6 Summary and Potential Future Research This paper presents a k-ary assembly planner, which expands the commonly accepted binary assembly planner by considering assembly in a k-ary process which • • considers multiple states of two parts, i.e., nonjoined, partially joined, or fully joined, by considering multiple joints between the two parts, and allows simultaneous assembly of Y (Y 3) parts or subassemblies. The k-ary assembly planner is based on the proposed k-piece graph and k-piece mixed graph approach that identifies and represents all of the possible subassemblies. It can generate all of the possible part sequences while the binary assembly planners provide no solution at all; it can generate a complete list of joint sequences while the binary assembly planners would miss some of them. Future research is needed to broaden the applications of the k-piece graph and the k-piece mixed graph: • • • It needs to be integrated within a CAD system so that part-topart precedence relations shown in 1-piece mixed graph could be derived directly from a systems assembly tree. Furthermore, the better understanding of graph dynamics can enhance research in automated product and process design. Subassembly precedence constraints resulting from variation accumulations in an assembly process need to be incorporated, so that the resultant infeasible sequences can be prune out. The comparison of computational complexity between the proposed approach and the state-of-the-art method need to be conducted. Computational complexity varies from methods in implementing k-piece graphs and k-piece mixed graphs. The implementation methods with less computational complexity need to be explored. Appendix A: Class Definition for a Circular Doubly Linked List Node A circular doubly linked list is illustrated as below at points to the next node in the list and a “previous” pointer to the previous node. “Circular” means that the list does not terminate at the first and last nodes. Instead, the “next” from the last node wraps around to the first node. Likewise, the previous from the first node wraps around to the last node (Fig. 13). Fig. 13 Illustration of circular doubly linked list representation of graph and mixed graph Transactions of the ASME Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms Fig. 14 The simplified SUV underbody and its part-to-part representation C1(M1) Here’s the Java class definition for a circular doubly linked list node: public class DblListnode { ==*** fields *** private DblListnode prev; private Object data; private DblListnode next; ==*** methods *** == 3 constructors public DblListnode() { this(null, null, null); } public DblListnode(Object d) { this(null, d, null); } public DblListnode(DblListnode p, Object d, DblListnode n) { prev ¼ p; data ¼ d; next ¼ n;} == access to fields public Object getData() { return data; } public DblListnode getNext() { return next; } public Object getPrev() { return prev; } == modify fields public void setData(Object ob) { data ¼ ob; } public void setNext(DblListnode n) { next ¼ n; } public void setPrev(DblListnode p) { prev ¼ p; } } With a given line configuration with k1 ¼ k2 ¼ k3 ¼ k4 ¼ k5 ¼ 3 (as shown in Fig. 15), iterative steps in sequence generation are described as follows (illustrated in Fig. 16). Since source edge representation of a k-part subassembly in Ck1(M) can save computational effort in generating Ck(M). The kn-piece mixed graph is used to identify all of the possible (kn þ 1) part subassemblies at station n. At station 1: Step 1, the 1-piece mixed graph M1 (in Fig. 14) represents part-to-part assembly relations. Step 2, develop 2-piece mixed graph C2(M1) (as shown in the first column of Fig. 16 for k1 ¼ 2) to identify the possible three subassemblies vs1 ¼ v7,2,4, vs1 ¼ v7,8,9, and vs1 ¼ v8,3,5. Step 3, select each of the three subassemblies, the within-station joining sequences are 2!1, 5/!11,8 and 14!15, respectively. At station 2: After each of the three subassemblies is selected for station 1, the possible subassemblies for station 2 are obtained following the iterative steps: Step 1, develop 1-piece mixed graph M2 where a vertex represents a discrete assembly component (part or the subassembly to be finished at station 1) and undirected edges denote connections between two components without precedence constraint. Step 2, develop 2-piece mixed graph C2(M2) to identify the possible eight subassemblies: vs2 ¼ vs1,8,9 after vs1 ¼ v7,2,4; vs2 ¼ vs1,2,4, vs2 ¼ vs1,2,3, vs2 ¼ vs1,2,10, vs2 ¼ vs1,2,11, vs2 ¼ vs1,3,10, vs2 ¼ vs1,3,11, vs2 ¼ vs1,10,11, vs2 ¼ vs1,3,5, after vs1 ¼ v7,8,9; vs2 ¼ vs1,8,9 after vs1 ¼ v8,3,5. Step 3, select each of the subassemblies and figure out its within-station joining sequences by enumeration. By repeating the steps 1, 2, and 3 for stations 3 and 4, all of the possible station sequences, i.e., sets of k-ary operations for the ternary assembly process can be obtained as shown in Fig. 17, where part numbers are put in the pigeon holes and the shaded holes indicate the parts which are joined already. All of the subassembly sequences for k1 ¼ 3, k2 ¼ 2, k3 ¼ 3, k4 ¼ 4, and k5 ¼ 3 are shown in Fig. 18 and Fig. 19. Table 3 shows the number of possible subassembly sequences for various SUV underbody assembly line configurations using the presented methodology. The obtained result offers design engineers more insight into assembly layout design during early phases of design. Appendix B: Illustration of Procedure of Sequence Generation for a k-ary Assembly Process Using a SUV Underbody Assembly The presented methodology in joining sequence generation for a k-ary assembly process is illustrated using a SUV underbody assembly where several parts have to be joined simultaneously. The 1-piece mixed graph (part-joint graph) M1, as shown in Fig. 14, indicates assembly precedence relations between parts. Fig. 15 A 3-ary assembly process with parameters k1 5 k2 5 k3 5 k4 5 k5 5 3 [8] Journal of Computing and Information Science in Engineering “a/!b ”means joints a and b should be joined simultaneously. MARCH 2012, Vol. 12 / 011001-9 Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms Fig. 16 Procedure of k-ary subassembly generation of the SUV underbody assembly for the k-ary process with k1 5 k2 5 k3 5 k4 5 k5 5 3 Fig. 17 Sets of k-ary operations of the SUV underbody assembly for the k-ary (k1 5 k2 5 k3 5 k4 5 k5 5 3) process 011001-10 / Vol. 12, MARCH 2012 Transactions of the ASME Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms Table 3 Number of station sequences of the SUV underbody assembly for different k-ary processes k-ary assembly processes k ¼ {k1, k2,…, kn,…, kN} Number of station sequences 132 112 73 … … Fig. 18 A k-ary assembly process with parameters k1 5 3, k2 5 2, k3 5 3, k4 5 4, k5 5 3 Fig. 19 Station sequences of the SUV underbody assembly with k1 5 3, k2 5 2, k3 5 3, k4 5 4, k5 5 3 References [1] Bourjault, A., 1984, “Contribution à une approche méthodologique de l’assemblage automatisé: Elaboration automatique des séquences opératoires,” Thése d’Etat, U. of Franche-Comté, Besancon. [2] De Fazio, T. L., and Whitney, D. E., 1987, “Simplified Generation of all Mechanical Assembly Sequences,” IEEE J. Rob. Autom., RA-3(6), pp. 640– 658. … [3] De Fazio, T. L., Abell, T. E., Amblard, G. P., and Whitney, D. E., 1990, “Computer-Aided Assembly Sequence Editing and Choice: Editing Criteria, Bases, Rules, and Technique,” IEEE International Conference on Systems Engineering, pp. 416–422 (Cat. No. 90CH2871-0). [4] Baldwin, D. F., Abell, T. E., Lui, M.-C., De Fazio, T. L., and Whitney, D. E., 1991, “An Integrated Computer Aid for Generating and Evaluating Assembly Sequences for Mechanical Products,” IEEE Trans. Rob. Autom., 7(1), pp. 78–94. [5] Henrioud, J. M., and Bourjault, A., 1991, “LEGA: A Computer-Aided Generator of Assembly Plans,” Computer-Aided Mechanical Assembly Planning, L. S. Homem de Mello and S. Lee, eds., Kluwer Academic, Norwel, MA, pp. 191–216. [6] Lee, Y. Q., 1993, “Automated Sequence Generation and Selection for Mechanical Assembly and Part Replacement,” Ph.D. Thesis, The Pennsylvania State University, Pennsylvania. [7] Homem de Mello, L. S., and Sanderson, A. C., 1991, “A Correct and Complete Algorithm for the Generation of Mechanical Assembly Sequences,” IEEE Trans. Rob. Autom., 7(2), pp. 228–240. [8] Mantripragada, R., and Whitney, D. E., 1998, “The Datum Flow Chain: A Systematic Approach to Assembly Design and Modeling,” Res. Eng. Des., 10, pp. 150–165. [9] Wang, H., and Ceglarek, D., 2005, “Quality-driven Sequence Planning for Compliant Structure Assemblies,” Ann. CIRP, 54(1), pp. 31–35. [10] Huang, W., and Ceglarek, D., 2002, “Mode-Based Decomposition of Part Form Error by Discrete-Cosine-Transform With Implementation to Assembly and Stamping System With Compliant Parts,” Ann. CIRP, 51(1), pp. 21–26. [11] Camelio, J., Hu, S. J., Ceglarek, D., 2003, “Modeling Variation Propagation of Multi-station Assembly Systems With Compliant Parts,” Trans. ASME J. Mech. Des., 125(4), pp. 673–681. (also in the 6th Design for Manufacturing Conference, ASME International 2001 Design Engineering Technical Conferences (DETC), Sept. 9–12, 2001, Pittsburgh, PA.) [12] Wang, H., and Ceglarek, D., 2009, “Variation Propagation Modeling and Analysis at Preliminary Design Phase of Multi-Station of Assembly Systems,” Assem. Autom., 29(2), pp. 154–166. [13] Wang, H., Yang, J., and Ceglarek, D., 2009, “A Graph-based Data Structure for Assembly Dimensional Variation Control at an Early Phase of Product Design,” Int. J. Comput. Integr. Manuf., 22(10), pp. 948–961. [14] Camelio, J., Hu, S. J., and Ceglarek, D., 2004, “Impact of Fixture Design on Sheet Metal Assembly Variation,” J. Manuf. Syst., 23 (3), pp. 182–193. [15] Liu, S. C., and Hu, S. J., 1995, “Spot Welding Sequence in Sheet Metal Assembly, Its Analysis and Synthesis,” ASME J. Manuf. Sci. Eng., 2(2), pp. 1145– 1156. [16] Natarajan, B. K., 1988, “On Planning Assemblies,” Proceedings of the 4th ACM Symposium on Computational Geometry, pp. 299–308. [17] Wolter, J., 1991, “A Combinational Analysis of Enumerative Data Structures for Assembly Planning,” IEEE International Conference on Robotics and Automation, April, 1991, pp. 611–618. [18] Iizuka, K., Nakao, H., Okuyama, K., Honda, S., and Noumaru, M., 1992, “Development of Intelligent Body Assembly System,” The 1992 Japan—USA Symposium on Flexible Automation Part 2 (of 2), San Francisco, CA, July 13– 15, 1992, pp. 1539–1542. [19] Ceglarek, D., 1998, “Multivariate Analysis and Evaluation of Adaptive Sheet Metal Assembly Systems,” Ann. CIRP, 47(1), pp. 17–22. [20] Pasek, Z. J., 1993, “Adaptive Assembly System for Automotive Applications,” Ph.D. thesis, University of Michigan, Ann Arbor, MI. Journal of Computing and Information Science in Engineering MARCH 2012, Vol. 12 / 011001-11 Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms [21] Latombe, J. C., Wilson, R. H., and Cazals, F., 1997, “Assembly Sequencing With Torleranced Parts,” Comput.-Aided Des., 29(2), pp. 159–174. [22] Bonneville, F., Henrioud, J. M., and Bourjault, A., 1995, “Generation of Assembly Sequences With Ternary Operations,” Proceedings of 1995 IEEE International Symposium on Assembly and Task Planning, pp. 245–249. [23] Graves, S. C., and Whitney, D. E., 1979, “A Mathematical Programming Procedure for Equipment Selection and System Evaluation in Programmable Assembly,” Proceedings of the Eighth IEEE Conference on Design and Control, pp. 531–536. [24] Holmes, C. A., 1987, “Equipment Selection and Task Assignment for Multiproduct Assembly System Design,” M.Sc. thesis, Operation Research Center, Massachusetts Institute of Technology, Cambridge, MA. [25] Graves, S. C., and Holmes-Redfield, C., 1988, “Equipment Selection and Task Assignment for Multiproduct Assembly System Design,” Int. J. Flexible Manuf. Syst., 1, pp. 31–50. 011001-12 / Vol. 12, MARCH 2012 [26] Bukchin, J., and Rubinovitz, J., 2003, “A Weighted Approach for Assembly Line Design With Station Paralleling and Equipment Selection”, IIE Trans., 35(1), pp. 73–85. [27] Webbink, R. F., and Hu, S. J., 2005, “Automated Generation of Assembly System-Design Solutions,” IEEE Trans. Autom. Sci. Eng., 2(1), pp. 32–39. [28] Brown, S. F., 2004, “Toyota’s Global Body Shop The Japanese Automaker is Putting the Final Touches on a New Strategy: Being Able to Build Almost Anything, Anywhere,” Fortune, http://money.cnn.com/magazines/fortune/fortune_archive/2004/02/09/360102/index.htm. [29] Waurzyniak, P., 2003, “Ford’s Flexible Push,” Manuf. Eng., 131(3), pp. 47–56. [30] Harary, F., 1969, Graph Theory, Addison-Wesley, Reading, MA. [31] Pemmaraju, S., and Skiena, S. S., 2003, Computational Discrete Mathematics: Combinatorics and Graph Theory With Mathematica, Cambridge University, New York. Transactions of the ASME Downloaded From: http://computingengineering.asmedigitalcollection.asme.org/ on 03/01/2014 Terms of Use: http://asme.org/terms