Representation, Generation, and Analysis of Mechanical Assembly Sequences With k-ary Operations

advertisement
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
Download