improvingassemblyprecedenceconstraintgeneration...

45
Improving Assembly Precedence Constraint Generation by Utilizing Motion Planning and Part Interaction Clusters Carlos Morato a,b,* , Krishnanand Kaipa a,b , Satyandra K. Gupta a,b,** a Department of Mechanical Engineering b Maryland Robotics Center University of Maryland, College Park, MD 20742, USA. Abstract In this paper, we present a technique that combines motion planning and part interaction clusters to improve generation of assembly precedence con- straints. In particular, this technique automatically finds, and clusters, parts that can mutually affect each other’s accessibility, and hence may impose assembly constraints. This enables generation of accurate precedence con- straints without needing to examine all possible assembly sequences. Given an assembly model, our technique generates potential disassembly layers: Spatial clustering is used to generate part sets. Next, motion planning based on rapidly-exploring random trees (RRT) with multiple trees is used to eval- uate the interaction between these part sets. Specifically, motion planning is used to determine which part sets can be removed from the assembly. These sets are added to the first disassembly layer and removed from the assem- bly. Part sets that can be removed from the simplified assembly are then added to the second layer. If the process gets stuck, parts in the parent set are regrouped, and the process continues until all disassembly layers are found. The resulting structure reveals precedence relationships among part sets, which can be used to generate feasible assembly sequences for each part set and the whole assembly. We present theoretical results related to the algorithms developed in the paper. Computational results from tests on a * Corresponding author ** Principal corresponding author Email addresses: [email protected] (Carlos Morato), [email protected] (Krishnanand Kaipa), [email protected] (Satyandra K. Gupta) Preprint submitted to Computer-Aided Design November 17, 2013

Upload: others

Post on 03-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Improving Assembly Precedence Constraint Generation

by Utilizing Motion Planning and Part Interaction

Clusters

Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

aDepartment of Mechanical EngineeringbMaryland Robotics Center

University of Maryland, College Park, MD 20742, USA.

Abstract

In this paper, we present a technique that combines motion planning andpart interaction clusters to improve generation of assembly precedence con-straints. In particular, this technique automatically finds, and clusters, partsthat can mutually affect each other’s accessibility, and hence may imposeassembly constraints. This enables generation of accurate precedence con-straints without needing to examine all possible assembly sequences. Givenan assembly model, our technique generates potential disassembly layers:Spatial clustering is used to generate part sets. Next, motion planning basedon rapidly-exploring random trees (RRT) with multiple trees is used to eval-uate the interaction between these part sets. Specifically, motion planning isused to determine which part sets can be removed from the assembly. Thesesets are added to the first disassembly layer and removed from the assem-bly. Part sets that can be removed from the simplified assembly are thenadded to the second layer. If the process gets stuck, parts in the parentset are regrouped, and the process continues until all disassembly layers arefound. The resulting structure reveals precedence relationships among partsets, which can be used to generate feasible assembly sequences for each partset and the whole assembly. We present theoretical results related to thealgorithms developed in the paper. Computational results from tests on a

∗Corresponding author∗∗Principal corresponding authorEmail addresses: [email protected] (Carlos Morato), [email protected]

(Krishnanand Kaipa), [email protected] (Satyandra K. Gupta)

Preprint submitted to Computer-Aided Design November 17, 2013

SK Gupta
Text Box
This is a draft version of the following paper: C. Morato, K.N. Kaipa, and S.K. Gupta. Improving assembly precedence constraint generation by utilizing motion planning and part interaction clusters. Computer-Aided Design, 45 (11):1349--1364, 2013. Readers are encouraged to get the official version by contacting Dr. S.K. Gupta ([email protected])
SK Gupta
Text Box
Page 2: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

variety of assemblies are presented to illustrate our approach.

Keywords: Assembly sequence planning; Motion planning; Part interaction clusters.

1. INTRODUCTION

Assembling a complex product requires careful planning (De Fazio &Whitney 1987; Lee & Shin 1990; Wilson 1992; Wilson & Latombe 1994;Gupta et al. 1997; Gupta et al. 1998, 2001; Zha et al. 1998; Jimenez2011). Shapes and sizes of parts in the assembly impose restrictions on theorder in which assembly operations can be performed. In order to generatea detailed assembly plan, we need to first understand precedence constraintsamong assembly operations and be able to generate feasible sequences thatare consistent with precedence constraints.

Intuitively, assembly precedence can be determined by analyzing accessi-bility (Lee & Shin 1990; Laperriere & ElMaraghy 1992; Wilson 1992; Wilson& Latombe 1994; Rajan et al. 1999). Notions of semi-infinite accessibilityand infinitesimal-motion are well understood. Unfortunately, requirement ofsemi-infinite accessibility leads to elimination of feasible operations. On theother hand, feasibility of infinitesimal-motion alone does not guarantee thatthe assembly operation will be feasible. So these notions are not very usefulin assembly sequence determination. However, representing accessibility infinite space is computationally challenging. So we instead would like to relyon motion planning to ensure that a proposed assembly operation is feasible.

The goal of assembly sequence planning is to generate a sequence of op-erations to construct a product from its individual parts. The complexity ofthis problem is proportional to the number of parts in the assembly (Wil-son & Latombe 1994; Goldwasser et al. 1996). However, a product maybe composed of a hierarchical structure, in which parts that mutually affecteach other’s accessibility belong to a common cluster that form a part set;in turn multiple part sets may mutually affect each other’s accessibility con-straints in the next level of assembly. Parts in such sets can be separatelyassembled before the final assembly of the product. Hence, the main goal ofsequencing the individual parts can be divided into several subgoals that willreduce the number of assembly operations involved in each subgoal. How-ever, the information about the interaction between part sets is not knownbeforehand. Therefore, we introduce a methodology to automatically detect

2

Page 3: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

the part interaction clusters in a product so that the assembly sequencingproblem can be applied to part sets at multiple levels of hierarchy.

We start by grouping individual parts into spatial clusters based on theproximity between parts. Each cluster identified in this way is treated as anindividual part set. Now, we consider the whole assembly and use motionplanning to determine which part sets can be removed from the assembly.These sets are added to the first part set removal layer and removed fromthe assembly. We again determine which part sets can be removed from thesimplified assembly. These are then added to the second layer and removedfrom the assembly. If the process gets stuck, parts in the parent set areregrouped, and the process is continued until all parts have been removedfrom the assembly. This information is used to impose precedence constraintsamong the part sets. Finally, we generate feasible assembly sequences usingthe precedence constraints for each part set and the whole assembly.

Recent advances in rapidly-exploring random trees (RRT) based motionplanning (LaValle & Kuffner 2001) enable efficient generation of motionplans in highly crowded scenes. However, parts in their final positions in theassembly have very limited amount of feasible motions. Hence, we need toensure that moves being tried by the RRT-based motion planner are able tocorrectly assess motion feasibility. This requires us to create multiple treesto ensure that if a feasible path exists, then we can find it with a very highprobability.

Implementing a system based on the above ideas requires tuning a largenumber of parameters to ensure reasonable system performance on moder-ately complex assemblies. This paper describes our approach for combiningRRT-based motion planning and part interaction cluster detection for gener-ating improved precedence constraints, which in turn can be used to generatefeasible assembly sequences.

The input to the system is a 3D assembly comprising a set of parts thatare described by their geometric models and relative positions. Our approachtakes into account product characteristics such as component geometry, interrelationships between components, component material, and tolerances. Weassume that the product is made of rigid parts and restrict ourselves tofinding a feasible sequence of collision-free motions for each part (part set).We define each part (part set) as a free-flying object. Therefore, we do notconsider grasping of the objects, the forces involved, or the stability of thepart (part set) during motion. Additionally, we consider non-linearity in theassembly operations: an assembly operation may involve more than two part

3

Page 4: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

sets at the same step. We assume only monotone assembly sequences: whenan operation has assembled a part into a part set, that part may no longerbe moved relative to that part set. Although restrictive in application, theseassumptions are very common in assembly sequencing and can be applied toa majority of products.

The approach of assembly-by-disassembly relies on constructing a disas-sembly sequence and then reversing the entire sequence to obtain a feasibleassembly sequence. In general, the steps involved in the sequences are notnecessarily symmetric, for instance, when considering flexible parts whichmay undergo deformation during assembly. However, under our assump-tions, these two operations are indeed symmetrical.

As mentioned earlier, the main challenges encountered in assembly se-quence planning include sequence generation, combinatorial explosion, non-linearity, and interaction between part sets. The main contributions of thispaper that address these problems include the following:

1. A spatial clustering based method to automatically detect the partinteraction clusters in a product.

2. A technique that uses a variation of RRT-based motion planning inorder to assess motion feasibility.

3. An algorithm to generate improved assembly precedence constraintsby combining the part interaction cluster detection and the motionplanning methods into an assembly-by-disassembly approach.

2. LITERATURE REVIEW

Research in automated assembly sequencing has rapidly increased overthe past few decades (De Fazio &Whitney 1987; Homem De Mello & Sander-son 1991; Hoffman 1991; Krishnan & Sanderson 1991; Lee & Shin 1990;Wilson 1992; Zhang et al. 2005; Su 2007, 2009; Chen et al. 2010). Theproblem of finding a valid assembly sequence for general cases that allowcomplex combination of motions was shown to be impractical, primarily ow-ing to the issue of combinatorial explosion (Kavraki et al. 1993; Kavraki& Kolountzakis 1995; Wilson et al. 1996). This led to an increase in thenumber of assumptions made in order to address restricted cases of the as-sembly sequence planning. Examples include monotone assembly sequences(each assembly operation leads to a final subassembly), two-handed assem-bly sequences (each assembly operation merges exactly two assembly parts

4

Page 5: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

or components), and non-linear assembly sequences (at least two componentsare assembled at the same time).

The assembly process starts from an initial configuration in which all theparts are in a completely disassembled state and finishes with a goal configu-ration corresponding to the final assembly. An assembly sequence plan spec-ifies the order in which each part and/or subassembly must be inserted intoan incrementally expanding subassembly that eventually leads to the finalassembly. The components to be assembled may be quite different from eachother in terms of component geometry, precedence, accessibility, and othertypes of constraints. Therefore, assembly sequence planning for a 3D assem-bly, with large number of parts and complex assembly relationships betweenits individual parts, is a large-scale combinatorial problem (Goldwasser et al.1996; Baldwin et al. 1991). Although the associated constraints play an im-portant role in limiting the number of sequences (Kavraki et al. 1993), thereare numerous combinations of valid feasible assembly sequences (Homem DeMello & Sanderson 1991). Among these, some sequences optimize the as-sembly process with respect to one or more criteria (Lambert 1997, 1999,2002, 2006).

Our literature survey presents several key approaches in the field anddescribes methods that are closely related to the techniques presented in thispaper. Interested readers may refer to some of the survey papers (Guptaet al. 1997; Zha et al. 1998; O’Shea et al. 1998; Lambert 2003; Jimenez2011) for a more comprehensive coverage of the field.

2.1. Assembly-by-disassembly and Graph Theory based Approaches

Woo & Dutta (1991) used the “onion peeling” approach and introducedconnection graphs for disassembly analysis. Later, this approach was usedby Srinivasan (1998) to derive optimal disassembly sequences. Chen et al.(1997) used the onion peeling approach for parallel disassembly of compo-nents. Most existing methods are based on graph theory and involve ad-ditional information such as contact analysis, fastener matrix, disassemblyprecedence matrix, etc. (Gupta et al. 1997; Zha et al. 1998; Lambert2003); standard graph search algorithms can be applied to graph representa-tions of assembly structures in order to determine feasible or optimal assem-bly sequences (Selva et al. 2010). Wilson & Latombe (1994) introducednon-directional blocking graph, a compact data structure to represent a com-binatorial set of part intersections for an assembly product, which implicitlycontains the geometric constraints (Chen et al. 2002). Romney et al. (1995)

5

Page 6: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

extended this approach into their Stanford assembly analysis tool (STAAT).Romney’s work mainly focused on developing geometric assembly planningmodels rather than on optimization aspects. Khosla and Roy developedan assembly sequence method from a 3D CAD model and exact geometryrepresentation based face adjacency graph. The method used data relatedto the instances of parts and subassemblies to generate assembly sequences(Srinivasan 1998). A large number of parts in this representation leads tovery expensive geometric tests with the costs of nearest neighbor functionand the collision checking procedure representing the major bottle necks inperformance (Chen 1999). A method to reduce spatial representation andcomputational time to perform assembly simulation was introduced by Iacobet al. (2011).

2.2. Artificial Intelligence based Approaches

De Mello and Sanderson formulated the assembly sequence problem as adiscrete search and optimization problem. They proposed AND/OR graphsto represent precedence relations between parts (De Fazio & Whitney 1987;Homem De Mello & Sanderson 1991). Following this approach, a variety ofartificial intelligence methods were proposed using genetic algorithms (Chen& Liu 2000; DeLit et al 2001; Guan et al. 2002; Hui et al. 2008), neuralnetworks (Sinanoglu 2005; Chen et al. 2008), data mining (Duflou et al.2008).

2.3. Motion Planning based Approaches

Preliminary motion planning approaches were developed for integratedassembly simulation systems (Gupta et al. 1998, 2001; Thomas & Wahl2010); the goal was to perform assembly operation planning that includesassembly sequence planning, tool planning, and task planning. Motion plan-ning based on randomized methods have became popular in path planning.Algorithms such as probabilistic roadmaps (PRM) (Kavraki et al. 1996) andRRT (LaValle & Kuffner 2001) have been used to solve high DOF motionplanning problems. However, current motion planners may not work wellon part disassembly due to highly constrained environments that require thegeneration of a finer motion of the parts. Sundaram et al. (2001) describedthe disassembly planning problem as a repeated occurrence of “narrow” pas-sages in the Configuration space that makes it impractical to use PRM forthese problems. However, Le et al. (2009) performed assembly sequenceanalysis based on RRT by using collision models. They also showed the

6

Page 7: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

complexity of the domain (Xiao & Ji 2001) and the possibility of improve-ments to the representation. In the same direction, Jaillet et al. (2008);Cortes et al. (2008) proposed some strategies to improve the performanceof motion planning methods to solve the assembly sequencing problem.

2.4. Subassembly Detection Based Approaches

Dini & Santochi (1992) formulated one of the first approaches to detectsubassemblies based on a mathematical model of the product. The modelwas a function of the product’s interference, contact, and connection ma-trices. Zhang et al. (2002) described a procedure to automatically derivethe feasible assembly sequence and detect the subassemblies for automobilebody assembly. The procedure is based on the definition of a connection ma-trix and a contracted matrix. These two matrices represent the precedenceconstraint knowledge among components and sub-assemblies. Wang & Chen(2005) constructed a hierarchical assembly system and used a matrix oper-ation to generate assembly sequences. Later, Xing et al. (2007) extendedthis assembly modeling to completed types of subassemblies, and thus gener-ated feasible assembly sequences automatically. However, in all these cases,a complete description of the assembly was needed.

3. ASSEMBLY PRECEDENCECONSTRAINTS FRAMEWORK

On the one hand, assembly sequence planning is a large-scale combinato-rial problem; however, on the other hand, the assembly precedence relation-ships between parts make it a highly constrained problem. The number ofpotential assembly sequences is given by n!, where n is the number of partsin the assembly. This leads to a combinatorial explosion in the number ofsequences. In addition, the linearity assumption of placing one part at atime may not be valid in complex assemblies where some parts cannot besingly added/removed (i.e., in isolation with respect to others) and the num-bers of parts to be added/removed simultaneously is not always the same.These kind of non-linearities in assembly sequences increases the size of thesolution space to (2n−2)!

(n−1)!. However, absolute constraints such as geometrical,

precedence, and accessibility severely reduce the number of potential assem-bly sequences. Nevertheless, determining these constraints for an assemblyproblem dramatically increases the problem complexity. Assembly sequenceplanning was shown to be NP-complete (Kavraki et al. 1993; Wilson et al.

7

Page 8: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 1: (a) Polygonal triangulation applied to a simplified chassis assembly used in theexperiments. (b) Origins of absolute and relative reference frames extracted from the 3Dassembly model.

1996). As a result, most of the past and present work in this area focus onrestricted variants of the problem.

In our framework, we combine motion planning and part interaction clus-ters in order to derive precedence relationships that can be used to generateassembly sequences for complex assemblies. We consider a mechanical prod-uct as a hierarchical structure of part sets. Usually, parts in each set can beseparately assembled before the final assembly of the product. Hence, theoriginal goal of sequencing the individual parts can be divided into severalsmaller subgoals that will reduce the number of assembly operations involvedin each subgoal. This, thereby, reduces the combinatorial explosion of thenumber of sequences that span the solution space. Since the structure ofinteraction between the part sets is not known beforehand, we introduce amethodology to automatically extract this information so that the assemblysequencing problem can be applied to part sets at multiple levels of hierarchy.

3.1. Problem Formulation

The input to the system is a 3D assembly model of a mechanical prod-uct, which is a geometrical representation of a set of individual parts (thatconstitute the product) in their assembled configuration. The output of thesystem is a set of precedence constraints that can be used to generate a fea-sible assembly sequence in which components are assembled to give rise tothe desired product.

The CAD models used in this paper were obtained from the META teamat Vanderbilt University. These models, originally created in SolidWorks,

8

Page 9: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 2: Example of an error in the input CAD model of a complex chassis assemblycaused due to intersection between two of its parts

were converted into a stereolithography (.STL) format and used as inputsto the system. Given the assembly model in .STL format, the system auto-matically extracts the total number of individual parts n and all the implicitgeometrical information based on polygonal triangulation. An example of thepolygonal triangulation generation of a simplified chassis assembly is shownin Fig. 1(a). The assembly model must satisfy some consistency require-ments in order to have a feasible 3D workspace. For this purpose, all theassembly parts must respect their shape and volume as a rigid body in ev-ery pose; no intersections of part models in the assembled configuration areallowed. An example of error in the CAD model of a complex chassis as-sembly, which is caused due to intersection between two of its parts is shownin Fig. 2. These issues were resolved by manually adjusting the dimensionsand positions of the part causing the intersection before using the assem-bled model as input to the system. For example, in Fig. 2, the CAD modelof the spacer part (shown in red) was modified by changing its length andposition in the assembly by trial-and-error until the part intersection wasresolved. In addition, the position and orientation of each part in relativeand absolute reference frames are automatically queried (refer to Fig. 1(b))and used to compute the transformation between the two frames. All the

9

Page 10: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

input data analysis, except resolving part intersection errors, was carried outautomatically.

Next, we formalize the problem by laying out the assumptions underlyingthe framework, some definitions, and the problem statement as follows:

Assumption 1. All parts are rigid, all connections between parts are rigid,and once a connection or liaison is made, it remains in this way.

Assumption 2. Screws and nuts are included as members of the assembly;therefore, they belong to the assembly as parts. Any fastening method otherthan screw/nut must be removed from the 3D assembly model before ourapproach can be applied.

Assumption 3. The geometric disassembly and assembly precedence con-straints are only based on the information present in the assembly model.

Assumption 4. The disassembly sequence is completely reversible to turn itinto an assembly sequence.

We make the assumption 2 as we address only assemblies that use screwsand nuts for fastening. Therefore, some modifications have to be made toour framework presented in the paper before it can be applied to assembliesthat use other fastening methods. For example, if glue is used for fasteningtwo parts, then this must be specified the input data. Then, this additionalinformation can be used in the precedence constraints analysis accordingly.

Definition 1. Posture: The posture of a part ω is defined as qω = (pω, θω),where pω ∈ ℜ3 is the position (xω, yω, zω) in the Euclidian space and θω ∈ ℜ3

is the orientation (αω, βω, γω) in the Euclidian space.

Definition 2. Assembly: We define the assembly as a set of parts Ω =ω1, ω2, . . . , ωn | ∀ ωi : qωi ∈ ℜ6, cωi ∈ ℜ3, where qωi and cωi representthe posture and the center of mass of the part ωi, respectively. The set Ωincludes all the parts in the input assembly.

Definition 3. Obstacles: We define a set of obstacles O = o1, o2, . . . , on | ∀ oi: qoi ∈ ℜ6, where qoi represents the posture of an obstacle oi. When weselect a part to evaluate its motion feasibility, all the remaining parts of theassembly are considered as potential obstacles. Therefore, initially, the set Oincludes all the parts in the input assembly.

10

Page 11: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Definition 4. Part set: A part set is defined as a set of parts and/or partsubsets. A part set is considered to be a parent Cp for a set of child setsCc

i : i = 1, . . . , k; in turn, each child set is a parent for subsequent childsets, recursively, until each child is a single part. Accordingly, it is clear thatthe root part set Cr refers to the whole assembly Ω.

Definition 5. Disassembly structure: The disassembly structure for a givenn-part assembly Ω is defined as a set of hierarchical layers H = h1, h2, . . . , h|H|,

where hi represents the ith disassembly layer and |H| is the number of layers.

Every layer is composed of its part sets hi = C1, C2, . . . , C|hi|, where every

Ci is defined according to Definition 4 and 2 ≤∑|H|

i=1 |hi| = n.

Definition 6. Disassembly part set precedence ≺: Let Cci , C

cj ∈ Cp. If Cc

j

can be removed only after removing Cci , then we say Cc

i ≺ Ccj .

Definition 7. Disassembly part set equivalence ∼: Let Cci , C

cj ∈ Cp. If

Cci can be removed before Cc

j and Ccj can be removed before Cc

i , then we sayCc

i ∼ Ccj .

Definition 8. Disassembly layer precedence ≺≺: Let hi, hj ∈ H such thati < j (i.e., layer hi is generated before layer hj), then we say hi ≺≺ hj.Moreover, if Ci ∈ hi and Cj ∈ hj then Ci ≺≺ Cj.

Definition 9. Disassembly layer equivalence ≈: Let h ∈ H. If Ci, Cj ∈ h,then we say Ci ≈ Cj.

Definition 10. Assembly precedence : Let Cci , C

cj ∈ Cp. If Cc

j can beassembled only after assembling Cc

i , then we say Cci Cc

j .

Definition 11. Assembly equivalence !: Let Cci , C

cj ∈ Cp. If Cc

j can beassembled either before or after assembling Cc

i , then we say Cci ! Cc

j .

Problem Statement: Given a 3D assembly model of a n-part mechanicalassembly Ω (Definition 2), find a disassembly structure H = h1, h2, . . . , h|H|(Definition 5) along with a set precedence relationships P that can be used togenerate feasible assembly sequences.

Next, we describe our overall approach to find a solution to the aboveproblem.

11

Page 12: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

3.2. Overview of ApproachInitially, with the assumption that the largest part of the assembly is

the driving part that guides the assembly process, we extract this part fromthe given CAD model and keep it aside. If there are multiple largest parts,then heuristic information (e.g., which of these parts has maximum surfacecontact with the ground) is used to pick one of them. When there is lack ofsuch information, one of them is picked randomly.

Next, we group the remaining n − 1 parts into k (= 2) part sets usingspatial k − means clustering. Under this new arrangement, the assemblyis composed of k + 1 part sets−the largest part, part set 1, part set 2, . . .,part set k−in the first step. Now, we verify the assembleability of this newassembly. For this purpose, we use motion planning to determine which partsets can be removed from the assembly (explained in Section 4). These partsets are added to the first disassembly layer and removed from the assembly.We again determine which part sets can be removed from the simplifiedassembly. These part sets are then added to the second layer and removedfrom the assembly. If the process gets stuck before all part sets have beenremoved, we go to the first step, in which parts are rearranged into a differentgrouping by increasing the number of clusters by one. This results in k+1 newclusters. The cycle is continued until all part sets have been removed fromthe assembly and all part set removal layers are found. The techniques andalgorithms used to extract part interaction clusters are described in detail,using an illustrative example, in Section 5.

Note that until now, the disassembly layers have been generated for thewhole assembly while considering the identified clusters as individual partsets. Therefore, the above procedure is applied recursively to generate dis-assembly layers for each cluster identified in the previous step. The infor-mation extracted during the above procedure is used to impose precedenceconstraints among the part sets. Finally, we generate feasible assembly se-quences using the precedence constraints for each part set and the wholeassembly. Some theoretical results related to the properties of the proposedalgorithms are presented in Section 6. Computational results from tests ona variety of assemblies are reported in Section 7.

Based on the complexity of the assembly, we cannot reject some partsets that do not pass the assembleability test. This occurs when at leasttwo parts must be moved into their final assembly locations simultaneously.Therefore, whenever there is a failure, we recheck the assembleability for thelargest assembly part and a single set obtained by merging the part sets. If

12

Page 13: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

the assembly structure passes the test then a temporary assembly locationis needed to generate a feasible assembly sequence. This process give us theinformation about the existence of nonlinearity in the assembly. An exampleof this assembly scenario is explained in Section 7.5.

Next, we describe the principal techniques used to implement the aboveapproach−motion planning, generation of disassembly layers, and spatialpartitioning based part interaction cluster extraction.

4. MOTION PLANNING TO ASSESS FEASIBILITY OF PART

SET DISASSEMBLY

The capability of sampling-based motion planners to perform assemblyanalysis of complex product models can be mainly attributed to their com-putational efficiency. For example, the Manhattan-like RRT based plannerpresented in Cortes et al. (2008) can handle models with hundreds of degreesof freedom. Therefore, as mentioned earlier, we rely on motion planning toevaluate the feasibility of an assembly operation. In particular, we developeda multiple RRT based motion planning algorithm to compute a collision-freeescape path to move a part set from its assembled configuration to a givenlocation that lies outside of the assembly.

Considering that the parts are moved and disassembled one by one, anassembly admits a disassembly sequence if an escape path for disassemblingeach part ωi ∈ Ω can be found. Given the initial assembled state configura-tion qωi

initial : i = 1, 2, . . . , n, the problem consists of computing a collisionfree escape path, from qωi

initial to a disassembled configuration qωi

goal for allωi ∈ Ω.

Rapidly-exploring random trees (RRT) based motion planning providesfeasible solutions for part navigation in crowded scenes, a problem representa-tive of searching non-convex, high-dimensional spaces. A RRT is constructedincrementally by randomly sampling valid configuration states and quicklycomputing the nearest neighbor to states that already belongs to the tree.This process quickly reduces the expected distance of a randomly-chosenpoint to the tree. However, RRT cannot be directly applied to complex as-semblies that are composed of large number of parts, which often lead toscenes with high obstacle densities. The large number of obstacles generatesa highly constrained environment with very narrow passages, resulting inthe RRT’s failure to generate a valid state. This, thereby, increases the falsenegatives dramatically.

13

Page 14: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

In order to assess assembly feasibility, we used the RRT with multiplerandom trees based motion planning approach described in our earlier work(Morato et al. 2012). The approach performs a robust analysis of part motionfeasibility. It uses multiple RRTs that dynamically modify the environmentdescription in order to generate a valid escape path. It dynamically mod-ifies the number of trees for each assembly part based on the environmentconstraints associated with the part. A highly constrained environment mayrequire a large number of trees to find the escape path for an assemblypart. Multiple RRTs provide greater robustness across narrow passages andcrowded environments.

Strandberg (2004) proposed a multiple RRT algorithm, in which thenumber of trees is kept fixed. However, in our approach, the number of treesis changed on-the-fly; that is, a new tree is added only if it is required bymerging the information about the “old” tree with the “new” tree instan-taneously, thereby, increasing the probability of finding a valid state in thenext step by using the knowledge of the previous trees.

5. GENERATION OF PART INTERACTION CLUSTERS

5.1. Basic Idea Behind Identification of Disassembly Layers

The motion planning technique uses the geometric information extractedfrom the assembly model to find an escape path that allows a part to becompletely separated from the assembly. This enables the system to deter-mine which part movements are forbidden, which movements are feasible,and thereby, determine which part(s) can be removed at each stage of disas-sembly. Using Definition 5, we consider a hierarchical disassembly structureH = h1, h2, . . . , h|H|, such that hi ≺≺ hi+1, ∀ i 6= |H|. Therefore, eachlayer hi represents a precedence constraint for the layer hi+1 for disassembly.

For simplicity, we first describe the generation of disassembly layers with-out grouping part into clusters and by applying motion planning only to indi-vidual parts. Specifically, the system considers each part and uses the motionplanning algorithm to check if it is physically blocked by another part beforeit can be fully removed out of the assembly. Parts that can be removed inthis manner during the first attempt fill the first layer h1. This process isrepeated to fill the second layer h2 and so on, until all the parts are disas-sembled. As a result, the process is bounded by a maximum of n2 iterations.The resulting hierarchically layered structure comprising part groups thatcan be removed at each layer gives rise to disassembly precedence relations.

14

Page 15: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Algorithm 1 Assembly sequencing using DMRT based motion planning.Input: Ω, OOutput:

Assembleability ∈ TRUE, FALSE,AssemblySequence

Procedure DMRT ()→ (DisassemblyLayer,)

O ← ;while (| |6= 0) do

τ.init(qωinit);O ← RemovePart(O,ω);while (EscapePathFound == FALSE) do

qωrand ← RandomStage();for each TREE do

qωnear ← NearestNeighbor(qωrand, τ);u← SelectInput(qωrand, q

ωnear);

CheckCollision();if (Collision == FALSE) then

qωnew ← Newstate(qnear , u,∆t);τ.AddV ertex(qωnew);τ.AddEdge(qωnear , q

ωnew, u);

else

ReinitializeNewTree;end if

end for

end while

if (EscapePathFound == TRUE) thenDisassemblyLayer← AddPart(DisassemblyLayer, ω);O ← AddPart(O,ω);← RemovePart(, ω);|Paths|++;

end if

end while

← Ω; i = 1; |Paths| = 0;while (| |6= 0) do

(hi,)← DMRT ();H← AddLayer(H, hi);

end while

if (| Ω | == | Paths |) thenAssemblySequence← ReverseSequence(H);Return (TRUE,AssemblySequence)

else

Return Assembleability = FALSE

end if

15

Page 16: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 3: (a) 23-part assembly. (b) Exploded view. (c) Generation of disassembly layersfor 23-part assembly.

Generation of such disassembly layers for a chassis assembly of 23 parts isshown in Fig. 3.

The disassembly layers generated by the above process can be reversedand turned into a linear assembly sequence as shown in Algorithm 1. How-ever, the above process does not fully represent the precedence relationsbetween parts across different layers. For instance, H provides precedencerelation between layers hi ≺≺ hj for disassembly. Therefore, if ωi ∈ hi andωj ∈ hj, then ωi ≺≺ ωj. That is ωi can be removed before ωj. However,this doesn’t necessarily imply whether or not ωj can be removed before ωi.Consequently, we do not know for sure if ωi ωj for assembly. Also, theprecedence relations between the parts in the same layer are not evaluatedby this method.

In the next subsection, we show how the assembly structure identified by

16

Page 17: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 4: Definition of the centers of mass L = cω1 , cω2 , . . . , c

ωn based on the 3D assembly

model. L = (0, 26.85,−232.28), (0.22, 107.425,−360.295), . . . , (0, 55.35,−323.785).

our new approach reveals improved precedence relationships by reorganizingthe parts in different layers into different part sets.

5.2. Spatial Partitioning based Part Interaction Cluster Formation

We developed a spatial partitioning algorithm based on k −means clus-tering technique in order to generate part interaction clusters. K-meansclustering (MacQueen, 1967) is a method commonly used to automaticallypartition a data set into k groups. It proceeds by selecting k initial clustercenters and then iteratively refining them as follows: (a) Each instance cωi isassigned to its closest cluster. (b) Each cluster center Cj is updated to be themean of its constituent instances. The algorithm converges when there is nofurther change in assignment of instances to clusters or alternatively, whenthere is no change in the location of the cluster centers. The pseudocode forspatial clustering is given in Algorithm 2.

We illustrate the part interaction cluster extraction technique using theexample shown in Fig. 4. We initialize the number of clusters K = 2 andinitialize the cluster centers using instances chosen at random from the as-sembly set Ω. The data set is composed of 3D positions that represent the

17

Page 18: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Algorithm 2 K-Means based spatial partitioning.Input:

Ω = ω1, ω2, . . . , ωnLΩ = cω1 , cω2 , . . . , cωn (Centers of mass for parts to be clustered)K (number of clusters)

Output:

C = p1, p2, . . . , pK (Set of partitions) LC = cp1 , cp2 , . . . , cpK; (clustercentroids)

m : Ω→ C ; (cluster membership)Procedure SpacePartitioning(Ω, LΩ,K)→ (C,LC ,m)

LC ← InitialV alue( Random selection of K values from LΩ);for ωj ∈ Ω do

m(ωj) = argmink∈1,2,...,K Distance(cωj , cpk);end for

while ( there is change in m) do

for j ∈ 1, . . . , k doRecompute cpj as the centroid of ω | m(ω) = pj;

end for

for ωj ∈ Ω do

m(ωj) = argmink∈1,2,...,KDISTANCE(cωj , cpk);end for

end while

Return C, m

18

Page 19: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 5: First cycle of partitioning for the chassis assembly. Two valid part sets A andB are obtained with k = 2.

Figure 6: Second cycle of partitioning for the chassis assembly. B is partitioned into twovalid part sets C and D.

19

Page 20: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

center of mass cωi of each part ωi. We use the Euclidean distance metricto compute closeness of a data point to cluster centers. The cluster centersof the product affect the assembly feasibility in the sense that the resultingparts in one cluster may or may not be physically separated from parts inother clusters. Therefore, whenever a part partitioning corresponding to aset of cluster centers is not assembleable, then K is incremented by 1 and newcluster centers are identified. This process is repeated until cluster centersthat lead to a successful partitioning are found.

Every time an assembly set is repartitioned into a set of K clusters, wemust test whether the new organization of the parts is feasible to assembleor not. For this purpose, we treat these clusters as individual part sets bymerging all elements that belong to one cluster into one part set. There-fore, the reorganized assembly structure is composed of the set Ωreorg =ωrest, C1, C2, . . . , CK, where ωrest is either the largest part in the first iter-ation or the merged part set composed of all the assembly elements excludedfrom the current partitioning analysis. The pseudocode used to implementassembleability testing is shown in Algorithm 3. We introduce a parametercmin, which represents the minimum number of elements contained in a validcluster. That is, whenever |Ci| ≤ cmin, Ci is not partitioned further. In allour experiments cmin = 61.

The first cycle of partitioning (K = 2) is shown in Fig. 5. In thiscase, the reorganized assembly Ωreorg is composed of three part sets: Partset A, part set B, and ωrest, which is equal to the largest part of the as-sembly ωlargest detected at the beginning of the algorithm. Symbolically,Ωreorg = ωlargest, A, B. The motion planning module finds that the result-ing assembly structure is assembleable. Therefore, the algorithm proceedsto the second cycle of partitioning. Note that |A| = 4 (< cmin). There-fore, A doesn’t undergo further partitioning. However, note that |B| =18 (> cmin). Therefore, B is further partitioned into C and D as shownin Fig. 6. The new assembly is composed of three part sets C, D, andωrest, where ωrest is a merged part set composed of ωlargest and A. Therefore,Ωreorg = ωlargest, A, (B → C +D) The updated assembly structure is ver-ified to be assembleable. In the third cycle, C doesn’t undergo partitioning

1A low value of cmin (= 6) for the cluster results in obtaining manageable part clustersat the leaf node of the assembly tree structure whenever possible. Similar results will beobtained if this value is changed to 5 or 7.

20

Page 21: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 7: Third cycle of partitioning for the chassis assembly. D is partitioned into twovalid part sets E and F .

(|C| = 6) and D is partitioned into E and F (|D| = 12) (Fig. 7). Similarly, Fis partitioned into G and H (Fig. 8). However, the motion planning modulefinds that the resulting partitioning is not feasible for assembly. We continuerepartitioning of a invalid cluster only when at least one of its subclusterscontains cmin elements. Since |G| < 6 and |H| < 6, the algorithm haltsresulting in F as a single part set. Therefore, We obtain the final assemblystructure Ωreorg = ωlargest, A, (B → (C +(D → E+F ))). The pseudocodeto implement the spatial partitioning and motion planning based automatedgeneration of assembly precedence constraints is given in Algorithm 4.

As mentioned earlier, a linear assembly sequence is one in which eachoperation places a single part into the assembly. Although not all productscan be assembled linearly, such sequences are used in manufacturing owing totheir simplicity. Here, we showed that our approach can be used to achievemore complex organizational levels in which assembly of part sets can beassigned to different stations and later, these part sets can be put togetherto form the final assembly.

21

Page 22: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 8: Fourth cycle of partitioning for the chassis assembly. F is partitioned into twopart sets G and H . However, this partitioning fails the assembleability test making thepart sets invalid.

Algorithm 3 Assembleability testing.Input:

ωassemblyrest (Part excluded from partitioning analysis.

Initially it is the largest part).K (number of clusters)

Output:

Assembleability ∈ TRUE, FALSE,AssemblySequence

Procedure VerifyAssembly: (Ω, ωassemblyrest ,K)→ (Assembleability, AssemblySequence)

Assembleability = FALSE;while (k ≤ Ω ∨ AssemblySequence == FALSE) do

(C,LC ,m)← SpacePartitioning(Ω, LΩ,K);for k ∈ 1, 2, . . .K do

(Ω)←MergeElements(C,m,Ω);end for

(Assembleability, AssemblySequence)← DMRT (Ω);end while

Return (Assembleability, AssemblySequence);

22

Page 23: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Algorithm 4 Spatial partitioning and motion planning based automatedgeneration of assembly precedence constraints.Input: ΩOutput:Assembleability ∈ TRUE, FALSE;PartSet;TotalPartSetSequence

ωlargest ← IdentifyLargestPart;Ω← RemovePart(ωlargest);

ωassemblyrest = ωlargest;

LΩ ← PartCenterOfMass(Ω);cmin = 6;Cluster = C1, C2, ...Cu∀u ∈ ℵ

+(List of all clusters in the assembly);ClusterSet = C1 : C1 = ΩNumberOfNewClusters = 1;i = 0;while (NumberOfNewClusters > 0) do

NumberOfPreviousClusters = NumberOfNewClusters;i++; k = 1;ωassemblyrest = ωlargest + ClusterSetElements(C1, ]dots, Ci−1)

repeat

k ++;Assembleability← V erifyAssembly(Ci, ω

assemblyrest , k);

until (Assembleability == FALSE)if (Assembleability == TRUE) then

for Cj ∈ 1, . . . ,K doif |Cj | ≤ cmin then

Ω← Cj ;

PartSetSequencej ← DMRT (Ω);else

ClusterSet← AddCluster(Cj);end if

end for

else

(Ω)←MergeElementsInCluster(C,m,Ω);

(Assembleability, AssemblySequence)← V erifyAssembly(C, ωassemblyrest , k);

if (Assembleability == TRUE) then

AssembleSametime(Ci ∈ C);ClusterSet← AddCluster(C)

end if

end if

NumberOfNewClusters = |ClusterSet| −NumberOfPreviousClusters;end while

if (∑|ClusterSet|

i=1(Ci) = |Ω|) then

Return TotalClusterSequence← TotalAssembly(ClusterSequencej);else

Return Assembleability = FALSE;end if

23

Page 24: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

6. PROPERTIES OF PROPOSED ALGORITHMS

In this section, we present some theoretical results related to the tech-niques and the associated algorithms developed in this paper. The notationsand definitions used in the lemmas and theorems were described in Section3.1.

Lemma 1. Transitive precedence: If Ci ≺ Cj and Cj ≺ Ck, then Ci ≺ Ck.

Proof.

Let Ci, Cj, Ck ∈ H.

From Definition 6, we have Cj ≺ Ck

⇒ Ck can be removed only after removing Cj. (1)

However, Ci ≺ Cj

⇒ Cj can be removed only after removing Ci. (2)

Therefore, from (1) and (2), we have Ci ≺ Ck.

For example, in the 23-part assembly (Fig. 3), Part-23 ≺ Part-4 and Part-4 ≺ Part-5. Therefore, according to Lemma 1, Part-23 ≺ Part-5. Also, fromvisual inspection of the exploded view of the part assembly (Fig. 3(b)), itcan be verified that Part-23 must be removed before removing Part-5, whichis consistent with the above lemma.

Lemma 2. Let Ci, Cj ∈ H. Now, if Ci ≈ Cj then Ci ∼ Cj.

Proof. Ci ≈ Cj ⇒ Ci, Cj ∈ h for some h ∈ H . That is, the part sets belongto the same layer. Therefore, from Definition 5 and Definition 6, we haveCi ∼ Cj.

Remark 1. Note that the converse may or may not be true.

For example, in the 23-part assembly (Fig. 3), Part-16 ≈ Part-17 (thetwo parts belong to the same layer). Therefore, Part-16 ∼ Part-17 (Part-16can be removed before Part-17 and vice-versa). Note that Part-6 ∼ Part-4.However, the converse, Part-6 ≈ Part-4, is not true.

Lemma 3. Let Ci ∈ hi and Cj ∈ hj for some hi, hj ∈ H, where i 6= j. Now,if Ci ≺ Cj then Ci ≺≺ Cj.

24

Page 25: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Proof. Suppose ¬(Ci ≺≺ Cj). This implies Cj ≺≺ Ci or Ci ≈ Cj.If Cj ≺≺ Ci, from Definition 8 hj ≺≺ hi. This implies ¬(Ci ≺ Cj), which isa contradiction.If Ci ≈ Cj, then from lemma 2, we have Ci ∼ Cj, which is also a contradic-tion. Therefore, we have the result.

Remark 2. Note that the converse may or may not be true. In particular,the converse is true if, additionally, there is no Ck, k 6= i such that Ck ≺ Cj.

For example (Fig. 3), Part-4 ≺ Part-5. From Lemma 3, Part-4 ≺≺ Part-5. Note that the converse is also true as Part-3 ≺ Part-5 is not true. Now,Part-4 ≺≺ Part-6. However, the converse, Part-4 ≺ Part-6, is not true.

Theorem 1. For any two adjacent layers hi and hi+1, a layer precedencerelationship hi ≺≺ hi+1 is established if and only if, for every part set Ci+1 ∈hi+1, ∃ at least one part set Ci ∈ hi such that Ci ≺ Ci+1.

Proof. First, we prove the “if” part: Let ⊆ hi such that || ≥ 1 andCi ≺ Ci+1, ∀ Ci ∈ . Using lemma 3, we have Ci ≺≺ Ci+1, ∀ Ci ∈ . Thisimplies hi ≺≺ hi+1. Hence, the “if part” is proved.

Next, we prove the “only if” part:

Given hi ≺≺ hi+1 (3)

Suppose the result is untrue. That is, for some part set Ci+1 ∈ hi+1,¬(Ci ≺ Ci+1) for every Ci ∈ hi.

⇒ Ci ∼ Ci+1, ∀Ci ∈ hi (4)

or Ci+1 ≺ Ci, ∀Ci ∈ hi (5)

(4) ⇒ Ci+1 ∈ hi. However, this is a contradiction, since hi ∩ hi+1 = 0.

(5) ⇒ Ci+1 ≺≺ Ci (From lemma 3). Equivalently, hi+1 ≺≺ hi, which isalso a contradiction. Hence, we have the result.

From Fig. 3(c), h2 ≺≺ h3, where h2 = Part-2, Part-11, Part-14, Part-20 and h3 = Part-21, Part-22. Note that Part-2 ≺ Part-21 and Part-2≺ Part-22. That is, for every Part-i ∈ h3, there exists at least one Part-j∈ h2 such that Part-j ≺ Part-i. This is consistent with Theorem 1. Note

25

Page 26: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

that Part-21 and Part-22 have no individual precedence relationships withthe remaining parts in h2 even though they fall in different layers.From theorem 1, we can state the following corollary.

Corollary: For any two layers hi and hj , a layer precedence relationshiphi ≺≺ hj is established if and only if, for every part set Cj ∈ hj , ∃ at leastone part set Ci ∈ hi such that Ci ≺ Cj.

From Fig. 3(c), h1 ≺≺ h3, where h1 = Part-8, Part-9, Part-10, Part-12,Part-13, Part-15, Part-16, Part-17, Part-18. Note that Part-12 ≺ Part-21and Part-13 ≺ Part-22, which is consistent with the above corollary.

Theorem 2. Given the n-part assembly Ω, the part interaction clusters ex-tracted by Algorithm 4 admit a tree structure T with Ω as its root part setand a monotonically decreasing bound on its branching factor. Further, thebranching converges in a finite number of partition levels that is bounded byn− 2.

Proof. Let Ω = ω1, ω2, . . . , ωn. Applying Algorithm 4, we get Ω = Cr =C1, C2, . . . , Ck, ωlargest, where each Ci is a child part set of the parent partset Cr according to the Definition 4 and ωlargest is the largest part. Algorithm4 is applied recursively on each child part set until each part set is a singlepart. By considering each part set as a node and connecting each child partset to its parent by an edge, the resulting part sets can be represented by atree structure T , where Ω is the root node.

Let Cp = Cc1, C

c2, . . . , C

cr for some node Cp ∈ T . Note that the branch-

ing factor at Cp = r. The corresponding bound on the branching factor is|Cp|. This implies 2 ≤ r ≤ |Cp|. Similarly, the bound on branching factorat each Cc

i ∈ Cp = |Cci |. However, |Cc

i | < |Cp|, which implies a monoton-ically decreasing bound on the branching factor of the tree. Note that themaximum bound on the branching factor is n − 1, which occurs at the firstpartition level.

Consider a path from the root node to the leaf node. We note that themaximum number of partition levels is obtained by choosing a k = 2 partitionat each level i, with |n − 1 − i| number of part sets in one partition and asingle part in the other partition. This results in the following branchingstructure:

C1 = C2, ω : |C2| = n− 2, ω ∈ C1 − C2

C2 = C3, ω : |C3| = n− 3, ω ∈ C2 − C3

26

Page 27: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

...

C i = C i+1, ω : |C i+1| = n− i− 1, ω ∈ C i − C i+1...

Cn−2 = Cn−1, ω : |Cn−1| = 1, ω ∈ Cn−2 − Cn−1 (6)

From (6), |Cn−1| = 1. This implies that the branching terminates sincethe minimum number of parts in a part set for it to be partitioned is two.Therefore, Algorithm 4 partitions Ω into part sets in a finite number ofpartition levels, which is bounded by n− 2.

The tree structures obtained for the 23-part chassis assembly, the 73-partchassis assembly, the crank shaft assembly, and the radial engine assemblyare shown in Figs. 11, 14, 17, and 20, respectively. In all these examples,the branching converges in a finite number of partition levels.

Theorem 3. The number of possible assembly sequences ASn of an n-partassembly based on part interaction cluster structure extracted by Algorithm 4

is

n−1∑

i=1

SAi· SAn−i, where SAi is the number of possible assembly sequences

for the parent part set with i child part sets.

Proof. Let Algorithm 4 partition the parts into two part sets C1 and C2.Let |C1| = u and |C2| = v such that u + v = n, for some u and v ∈ ℵ+.Accordingly, let us assume assembling u parts and v parts separately, andthen combining the u-part and v-part sets to form the n-part assembly. Inthis particular case, the total number of possible assembly sequences of ann-part assembly is SAu ·SAv. In the general case, SAn is the sum of all suchcases:

ASn = SA1 · SAn−1 + SA2 · SAn−2 + ... + SAn−1 · SA1

=n−1∑

i=1

SAi · SAn−i

27

Page 28: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

7. COMPUTATIONAL RESULTS

We report the results from application of our technique to four differ-ent assemblies: (a) Chassis assembly (b) Crankshaft assembly (c) Radialcrankshaft assembly, and (d) The five part puzzle.

7.1. Simple Chassis Assembly

In the previous section, we used the 23-part chassis assembly (Fig. 4(a))in order to illustrate our approach of combining part interaction cluster ex-traction and motion planning to generate assembly sequences. Figure 9(a)shows the part sets identified by the system and Fig. 9(b) shows the corre-sponding assembly structure representing the precedence relations betweendifferent part sets and individual parts within each part set. Note that thealgorithm identifies four part sets, in which F precedes E (F ≺ E) and therest of the part sets do not have any additional precedence constraints. Thismeans that A, C, and F can be fit into the assembly (part 1) in any or-der, but E must be assembled after F . Also, note that the individual partsin each set can be assembled in parallel at different locations without anyprecedence between parts across different part sets. However, note that in-dividual parts admit precedence relations with each other within each partset. The disassembly layers generated by the approach used in our earlierwork (Morato et al. 2012) can be reversed and turned into a linear assemblysequence. However, they do not fully represent the precedence relations be-tween parts across different layers. In contrast, the algorithm developed inthis paper combines part cluster detection and disassembly layer extractionto generate precedence constraints for assembly. This distinction is illus-trated in Fig. 10. For instance, part 16 belongs to the first disassembly layerand part 7 belongs to the seventh disassembly layer (Fig. 10(a)). This im-plies that part 7 can be assembled before part 16. However, it is not clear ifthe converse is true. The assembly structure identified by the new approach(Fig. 10(b)) clarifies this precedence relation: Part 7 and part 16 have noprecedence constraint with respect to each other. That is, the set of parts(2, 3, 4, 5, 6, 12, 13, 21, 22, 23) that has to be removed before part 7 can beremoved does not include part 16. The new assembly structure reveals theseprecedence relationships by reorganizing the parts in individual layers intointeraction clusters, while maintaining the same hierarchy of layers found inFig. 10(a). Figures 11(a) and (b) show the directed acyclic graph representa-tion of the assembly structures obtained by the two techniques, respectively.

28

Page 29: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 9: (a) Part interaction clusters detected by the algorithm for the 23-part chassisassembly. (b) The corresponding assembly structure representing the precedence relationsbetween different part sets and individual parts within each part set.

7.2. Complex Chassis Assembly

Now, we report results on a more complex assembly comprising 74 parts,which is obtained by augmenting the previous assembly with 51 new parts.Two views of this 74-part chassis assembly are shown in Fig. 12. The disas-sembly layer generation and the directed acyclic graph representation of theassembly structure are shown in Figures 13 and 14, respectively.

7.3. Crankshaft Assembly

The crankshaft assembly, shown in Fig. 15, consists of 41 assembly parts:One crank shaft, 4 shafts, 4 lower shafts, 4 inner bearings, 4 bearings, 8pins, 12 rings, and 4 piston heads. The disassembly generation of a past-set identified by the algorithm is shown in Fig. 16. Figure 17 shows thedirected acyclic graph representation of the assembly structure extractedby the algorithm. From this figure, it is clear that the algorithm correctlyidentifies a feasible nested configuration of part set.

7.4. Radial Crankshaft Assembly

The radial crankshaft assembly, shown in Fig. 18, consists of 50 assem-bly parts: One master shaft, one radial bearing, 4 shafts, 4 bolts, 5 innerbearings, 5 bearings, 10 pins, 15 rings, and 5 piston heads. The disassem-bly generation of a part set identified by the algorithm is shown in Fig. 19.Figure 20 shows the directed acyclic graph representation of the assembly

29

Page 30: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 10: Precedence relations between layers in the hierarchical exploration structurefor the chassis assembly: (a) Simple disassembly generation. (b) Disassembly generationcoupled with cluster detection.

structure extracted by the algorithm. From this figure, it is clear that thealgorithm correctly identifies a feasible nested configuration of part set.

7.5. The Five Parts Puzzle

The five-part puzzle (Fig. 21) is used to illustrate the ability of the al-gorithm to deal with the issue of nonlinearity. In particular, this assemblyexample is representative of a scenario in which some parts cannot be as-sembled one by one in a linear order; rather, they must be simultaneouslymoved to their final assembly locations. The algorithm implementation canbe explained in the following steps:

1. Find part sets to test feasibility with Cmin = 1. No feasible partitionis found with k = 1, 2, 3 and 4.

2. Test feasibility with the largest part + a single part containing the fourremaining parts. The assembly structure passes the test. The result ofthis step is that the set of four parts must be assembled before placingin the final position.

3. Recursively partition the four-part set and test feasibility. This resultsin two part sets A and B.

30

Page 31: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 11: Directed acyclic graph representation of the assembly structure for the chassisassembly: (a) Simple disassembly generation. (b) Disassembly generation coupled withcluster detection.

Figure 12: The 73 part chassis assembly: (a) View 1. (b) View 2.

31

Page 32: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 13: Disassembly layer generation for the 73-part chassis assembly by combiningmotion planning and part interaction cluster detection methods.

32

Page 33: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 14: Directed acyclic graph representation of the assembly structure for the 73-partchassis assembly.

Figure 15: Crank shaft assembly

Figure 16: The disassembly generation of onepart interaction cluster identified by the al-gorithm for the crank shaft assembly.

33

Page 34: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 17: Directed acyclic graph representation of the precedence relations between as-sembly parts and part sets for the crank shaft assembly.

Figure 18: Radial engine assembly

Figure 19: The disassembly generation of onepart set identified by the algorithm for a Ra-dial engine assembly.

34

Page 35: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 20: Directed acyclic graph representation of the precedence relations between as-sembly parts and part sets for a Radial engine assembly.

The resulting assembly sequence is given below:

1. Assemble the two parts in part set A.

2. Assemble the two parts in part set B.

3. Assemble the previous two part sets into one single part set.

4. Assemble the resulting part set into its final position inside the largestpart.

8. CONCLUSIONS

We presented a framework that combined motion planning techniques andpart interaction cluster extraction to guide the generation of feasible assemblysequences for complex mechanical assemblies. We showed that our approachcan be used to achieve complex organizational levels of an assembly in whichassembly of part sets can be assigned to different stations and later, thesepart sets can be put together to form the final assembly. We also showed howour approach addresses the issue of nonlinearity in assemblies. The systemgenerated the assembly precedence constraints directly from 3D assembly

35

Page 36: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Figure 21: The five-part puzzle used to illustrate how the algorithm deals with nonlinearity:Initially, the four parts form two part sets. Next, they combine to form a single part set,which is finally assembled into the largest part.

models as it used only information about geometric and physical constraints.In situations where part assembly involves a single translation and a singlerotation, methods without using path planning are computationally moreefficient than our approach. However, our approach performs better whenapplied to more complex assemblies that involve multiple translations androtations. Our approach explores many different feasible assembly directions.Our approach checks for feasibility in a given assembly state. So it canhandle situations where different directions become feasible based on thestate of the assembly. For example, if the left direction is blocked in a givenassembly state, and the right direction is checked for feasibility and selected(if appropriate).

Our approach presented in the paper considered each part as a free-flyingobject. However, in a realistic scenario, as tools and human hand operationswill be used during assembly, some of the precedence constraints generatedby our approach may become infeasible. In order to address this issue, ourapproach must be augmented by incorporating motion planning for human-hand and tool models into the formulation. This will result in the genera-tion of modified precedence constraints that cater to the spatial constraintsimposed by the tools and the hands. Our technique was proposed for me-chanical assemblies that are composed of finite numbers of non deformableparts. Hence, assemblies that contain flexible parts, where the flexible prop-erty of a part is exploited to fit it into the assembly, were out of the currentscope of our current approach. In addition, an analysis beyond pure geomet-ric reasoning is required for assemblies that contain parts requiring force forplacement.

36

Page 37: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

9. ACKNOWLEDGMENTS

This work was partially supported by DARPA AVM iFab Project (Con-tract # FA8650-11-C-7128). This project was a large collaborative effortinvolving Carnegie Mellon University, Lockheed Martin, Pratt and Miller,University of Maryland, and University of Michigan. We acknowledge andthank all members of our team for their valuable input. We especially wouldlike to thank David Bourne from Carnegie Mellon University for sharing hisvaluable insights and feedback. We are also thankful to META team atVanderbilt University for providing the chassis assembly used in this paper.

REFERENCES

Lee, S., and Shin, Y. G., 1990 “Assembly Planning based on GeometricReasoning”. Computers and Graphics, 14(2), pp. 237–250.

Wilson, R. H., 1992. “On Geometric Assembly Planning”. Ph.D. Disser-tation, Department of Computer Science, Stanford University, Stanford,CA.

Laperriere, L., and ElMaraghy, H.A., 1992. “Planning of Products Assem-bly and Disassembly”. CIRP Annals - Manufacturing Technology, 41(1),pp. 51–9.

Wilson, R. H., and Latombe, J. C., 1994. “Geometric Reasoning aboutMechanical Assembly”. Artificial Intelligence, 71(2), pp. 371–396.

Rajan, N., and Sivasubramanian, K., and Fernandez, J. E., 1999 “Acces-sibility and Ergonomic Analysis of Assembly Product and Jig Designs”.International Journal of Industrial Ergonomics, 23(5-6), pp. 473–487.

Gupta S. K., Regli, W. C., Das, D., and Nau, D. S., 1997. “AutomatedManufacturability Analysis: A Survey”. Research in Engineering Design,9(3), pp. 168–190.

Chen, S. F., Oliver, J. H., Chou, S. Y. and Chen, L. L., 1997. “ParallelDisassembly by Onion Peeling”. Journal of Mechanical Design, 119(2),pp. 267–275.

37

Page 38: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Zha, X.F., Lim, S.Y.E., and Fok, S.C., 1998. “Integrated Intelligent Designand Assembly Planning: A Survey” The International Journal of AdvancedManufacturing Technology, 14(9), pp. 664-685.

OShea, B., Grewal, S. S., and Kaebernick, H., 1998. “State of the ArtLiterature Survey on Disassembly Planning”. Concurrent Engineering:Research and Applications, 6, pp. 345–380.

Morato C., Kaipa K. and Gupta S. K., 2012. “Assembly Sequence Planningby Using Multiple Random Trees based Motion Planning”. ASME In-ternational Design Engineering Technical Conferences & Computers andInformation in Engineering Conference.

Kaipa K., Morato C., Zhao B. and Gupta S. K., 2012. “Instruction Genera-tion for Assembly Operation performed by Humans”. ASME InternationalDesign Engineering Technical Conferences & Computers and Informationin Engineering Conference.

W. Zhang, T. Freiheit, and H. Yang, 2005 ”Dynamic scheduling in exibleassembly system based on timed Petri nets model,” Robot. Comput.-Integr.Manuf., 21(6), pp. 550-558.

Su, Q., 2007 Applying case based reasoning in assembly sequence planning,Int. J. Prod. Res., 45(1), pp. 29-47.

Su, Q., 2009 A hierarchical approach on assembly sequence planning andoptimal sequences analyzing, Robot. Comput.-Integr. Manuf., 25(1), pp.224-234.

Chen, W., Hsu, Y., Hsieh, L. and Tai, P., 2010. “A Systematic OptimizationApproach for Assembly Sequence Planning Using Taguchi Method, DOE,and BPNN”. Experts Systems with Applications, 37(1), pp. 716–726.

De Fazio, T.L. and Whitney, D.E., 1987. “Simplified Generation of All Me-chanical Assembly Sequences”. IEEE Transactions on Robotics and Au-tomation, 3, pp. 640–658.

Lambert, A. J. D., 2003. “Disassembly Sequencing: A Survey”. InternationalJournal Production Research, 41(16), pp. 3721–3759.

38

Page 39: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Jimnez, P., 2011. “Survey on Assembly Sequencing: A Combinatorialand Geometrical perspective”. Journal of Intelligent Manufacturing, 23,Springer on-line.

M. Goldwasser, J.C. Latombe, and R. Motwani, 1996. “Complexity measuresfor assembly sequences”. In Proceedings IEEE International Conferenceon Robotics and Automation, pp. 1851–1857.

Baldwin, D.F., Abell, T.E., De Fazio, T.L., and Whitney, D.E., 1991. “AnIntegrated Computer Aid for Generating and Evaluating Assembly Se-quences for Mechanical Products”. IEEE Transactions on Robotics andAutomation, 7, pp. 78–94.

Kavraki, L., Latombe, J.C., and Wilson, R.H., 1993. “On the Complexity ofAssembly Partitioning”. Information Processing Letters, 48, pp. 229–235.

Homem De Mello, L.S. and Sanderson, A.C., 1991. “A Correct and CompleteAlgorithm for the Generation of Mechanical Assembly Sequences”. IEEETransactions on Robotics and Automation, 7, pp. 228–240.

Lambert, A. J. D., 1997. “Optimal Disassembly of Complex Products”.International Journal of Production Research, 35(9), pp. 2509-2523.

Lambert, A. J. D., 1999. “Linear Programming in Disassembly/clustering Se-quence Generation”. Computers and Industrial Engineering, 36, pp. 723-738.

Lambert, A. J. D., 2006. “Exact methods in optimum disassembly sequencesearch for problems subject to sequence dependent costs”. Omega, 34,pp. 538-549.

Woo, T. C., and Dutta, D., 1991. “Automatic Disassembly and Total Or-dering in Three Dimensions”. Journal Eng. Ind. Trans. ASME, 113(2),pp. 207-213.

Srinivasan, H. and Gadh, R., 1998. “A Geometric Algorithm for Single Se-lective Disassembly using the Wave Propagation Abstraction”. ComputerAided Design. 30(8), pp. 603-613.

Lambert, A. J. D., 2002. “Determining Optimum Disassembly Sequencesin Electronic Equipment”. Computers and Industrial Engineering, 43,pp. 553-575.

39

Page 40: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Kavraki, L., Svestka, P., Latombe, J. C., and Overmars, M., 1996. “Prob-abilistic Roadmaps for Path Planning in Highdimensional ConfigurationSpaces”. IEEE Transactions on Robotics and Automation, 12(4), pp. 566–580.

S.F. Chen, 1999. “Assembly planning–a genetic approach”. ASME Proceed-ings of Design Engineering Technical Conferences,DAC-5798.

Iacob, R., Mitrouchev, P. and Leon J. C., 2011. “Assembly Simulation In-corporating Component Mobility Modeling based on Functional Surfaces”.International Journal Interactive Design Manufacturing, 5, pp. 119-132.

Yao, J., Jianhua, L., Ruxin, N. and Ye Z., 2005. “Assembly process modelingfor virtual assembly process planning”. International Journal of ComputerIntegrated Manufacturing, 18(6), pp. 442-451.

Chen, R., Lu, K., and Yu, S., 2002. “A Hybrid Genetic Algorithm Ap-proach on Multi-objective of Assembly Planning Problem”. EngineeringApplications of Artificial Intelligence, 15(5), September, pp. 447–457.

Selva, A. R., Castro, R. C., and Frias, V. G. F., 2010. “Design of DisassemblySequences using Search Strategies. Application of IDA in State Diagrams”.International Journal of Production Research, 49, pp. 3395-3403.

Romney, B., Godard, C., Goldwasser, M., and Ramkumar, G., 1995. “An ef-ficient system for geometric assembly sequence generation and evaluation”.in Proceedings of the ASME International Computers in Engineering Con-ference, pp. 699-712.

S.F. Chen and Y.J. Liu, 2000. “A multi-level genetic assembly planner”.ASME Proceedings of Design Engineering Technical Conferences,DAC-14246.

De Lit, P., Latinne, P., and Rekiek, B., 2001. “Assembly Planning with anOrdering Genetic Algorithm”. Int. Journal of Production Research, 39,pp. 3623–3640.

Guan, Q., Liu, J.H., and Zhong, Y.F., 2002. “A Concurrent HierarchicalEvolution Approach to Assembly Process Planning”. Int. J. of Prod. Res.,40, pp. 183–187.

40

Page 41: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Xing, Y., Chen, G., Lai, X., Jin, S. and Zhou, J., 2007. ”Assembly sequenceplanning of automobile body components based on liaison graph”. Assem-bly Automation 27(2), pp. 157-164.

Dini, G. and Santochi, M., 1992. ”Automated sequencing and subassemblydetection in assembly planning”. Annals CIRP, 41(1), pp. 1-6.

Zhang, Y., Ni, Y. and Lin, Z., 2002. ”Automatic sequence planning bysubassembly detection for automobile body assembly.” American Societyof Mechanical Engineers, Manufacturing Engineering Division, MED 13(November, New Orleans, Louisiana, USA), pp. 485-490

Hui, W., Dong, X. and Guanghong, D., 2008. “A Genetic Algorithm forProduct Disassembly Sequence Planning”. Neurocomputing, 71, pp. 2720-2726.

Sinanoglu, H.R.B., 2005. “An Assembly Sequence-planning System for Me-chanical Parts using Neural Network”. Assembly Automation, 25(1),pp. 38-52.

Wang, W. and Chen, G., 2005. ”Automated hierarchical assembly systemconstruction in automobile body assembly planning.” Journal of Mechan-ical Design, 127(2), pp. 347-351

Chen, W., Tai, P., Deng, W., and Hsieh, L., 2008. “A Three-stage IntegratedApproach for Assembly Sequence Planning using Neural Networks”. ExpertSystems with Applications, 34(3), April, pp. 1777–1786.

Duflou, J. R., Seliger, G., Kara, S., Umeda, Y., Ometto, A., and Willems,B., 2008. “Efficiency and feasibility of product disassembly: a case basedstudy”. CIRP Ann Manuf Technol 57, pp. 583-600.

Motavalli, A. and Islam, A., 1997. “Multi-criteria Assembly Sequencing”.Computers and Industrial Engineering, 32, pp. 743–751.

Gupta, S.K., Paredis, C., Sinha, R., Wang, C., and Brown, P.F., 1998. “Anintelligent environment for simulating mechanical assembly operation”. InASME Design for Manufacturing Conference, Atlanta, GA

Gupta, S. K., Paredis, C., Sinha, R., and Brown, P. F., 2001. “Intelli-gent Assembly Modeling and Simulation”. Assembly Automation, 21(3),pp. 215-235.

41

Page 42: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Thomas, U. and Wahl, F. M., 2010. “Assembly Planning and Task Plan-ningTwo Prerequisites for Automated Robot Programming”. Robotic Sys-tems for Handling and Assembly, STAR 67, pp. 333-354.

LaValle, S. M. and Kuffner, J. J., 2001. “Rapidly-exploring random trees:Progress and prospects”. Algorithmic and Computational Robotics: NewDirections, B. Donald, K. Lynch, and D. Rus, Eds. Boston: A.K. Peters ,pp. 293-308.

Sundaram, S., Remmler, I., and Amato N., 2001. “Disassembly sequencingusing a motion planning approach”. in Proceedings IEEE InternationalConference of Robotics and Automation, pp. 1475-1480.

Yang, Y. and Brock, O., 2005. “Efficient motion planning based on disas-sembly”. in Robotics: Science and Systems, S. Thrun, G. S. Sukhatme,and S. Schaal, Eds. Cambridge, USA: MIT Press, June 2005.

Kuffner, J. J., and LaValle, S. M. 2000 “RRT-connect: An ecient approach tosingle-query path planning”. IEEE International Conference on Roboticsand Automation, pp. 995–1001.

LaValle, S.M. 1998 “Rapidly-exploring random trees: A new tool for pathplanning”. Technical Report TR 98–11, Computer Science Dept., IowaState University.

Le, D. T., Cortes, J. and Simeon, T., 2009. “A path planning approachto (dis)assembly sequencing”. In Proceedings of 2009 IEEE InternationalConference on Robotics and Automation.

Xiao, J., and Ji, X., 2001. “Automatic Generation of High-level Contact StateSpace”. International Journal of Robotics Research, 20(7), pp. 584-606.

Jaillet, L., Cortes, J., and Simeon, T., 2008. “Transition-based RRT for pathplanning in continuous cost spaces”. in Proceedings IEEE/RSJ Interna-tional Conference of Intelligent Robotic Systems, pp. 22-26.

Cortes, J., Jaillet, L., and Simeon T., 2008. “Disassembly Path Planningfor Complex Articulated Objects”. IEEE Transactions on Robotics andAutomation, 24, pp. 475-481.

42

Page 43: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

Aguinaga, I., Borro, D., and Matey, L., 2008. “Parallel RRT-based PathPlanning for Selective Disassembly Planning”. International Journal ofAdvanced Manufacture Technology, 36, pp. 1221-1233.

Strandberg, M., 2004. “Augmenting RRT-planners with local trees”. inProceedings of the IEEE International Conference on Robotics and Au-tomation, pp. 3258–3262.

Wilson, R., 1992. ”On Geometric Assembly Planning”. Ph.D. thesis, De-partment of Computer Science, Stanford University. Stanford TechnicalReport STAN-CS-92–1416.

Lee, S. and Shin, Y., 1990 . ”Assembly planning based on geometric reason-ing”. Computers and Graphics, 14(2) 237–250.

Krishnan, S. and Sanderson, A., 1991 ”Path planning algorithms for as-sembly sequence planning”. in Proceedings International Symposium onIntelligent Robotics, pages 428–439.

Hoffman, R., 1991 ”A common sense approach to assembly sequence plan-ning”. In Computer Aided Mechanical Assembly Planning, pages 289–314.Kluwer Academic Publishers, Boston.

Wilson, R., Kavraki, L., Latombe, J.-C. and Lozano-Perez, T., 1995. ”Two-handed assembly sequencing”. International Journal of Robotics Research,14(4) 335–350.

Kavraki, L. and Kolountzakis, M., 1995. ”Partitioning a planar assemblyinto two connected parts is NP-complete”. Information Processing Letters,55(3) 159–165.

Kavraki, Latombe, J.-C. and Wilson, R., 1993. ”Complexity of partitioningan assembly”. In Proceedings 5th Canadian Conference ComputationalGeometry, pages 12–17, Waterloo, Canada.

43

Page 44: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

BIOGRAPHIES

Carlos W. Morato received his BS in Systems Engineering from theTechnical University of Oruro, Bolivia in 1998. He holds two Masters degrees,a MSc (Cum Laude) in Computer Science from San Andres University, LaPaz, Bolivia and a MSc in Aerospace Engineering from University of Mary-land, College Park in 2001 and 2011 respectively. He also received a graduatespecialization degree in Robotics and computer vision from Alicante Univer-sity in 2008. He was a RETECA-IDSIA research Fellow from 2005 to 2006.Currently, he is a PhD student at the Maryland Robotics Center, Universityof Maryland, College Park, USA. He is a member of IEEE.

Krishnanand Kaipa received his BE (Hons.) in Electrical Engineeringfrom the Birla Institute of Technology and Science, Pilani, India, in 1998.He received his MSc (Engg.) and PhD from the Department of AerospaceEngineering, Indian Institute of Science, Bangalore, India, in 2004 and 2007,respectively. He received best master thesis and best PhD thesis awards. Hewas a JRD Tata Research Fellow for two years (2007 -2008). He worked as apostdoctoral researcher at the Department of Computer Science, Universityof Vermont, Burlington, USA, from 2008 to 2010. Currently, he is a postdoc-toral researcher at the Maryland Robotics Center, University of Maryland,College Park, USA. Dr. Kaipa is member of the IEEE and the CLAWARAssociation.

Satyandra K. Gupta received his Master of Technology (M.Tech.) de-gree in production engineering from the Indian Institute of Technology, Delhi,

44

Page 45: ImprovingAssemblyPrecedenceConstraintGeneration ...terpconnect.umd.edu/~skgupta/Publication/CAD2013_Morato_draft.p… · Carlos Moratoa,b,∗, Krishnanand Kaipaa,b, Satyandra K. Guptaa,b,∗∗

in 1989; his Bachelor of Engineering (B.E.) degree from the University ofRoorkee (currently known as the Indian Institute of Technology, Roorkee)in 1988; and his Ph.D. degree in mechanical engineering from the Univer-sity of Maryland (UMD), College Park, in 1994. He is currently a Professorin the Department of Mechanical Engineering and the Institute for SystemsResearch at UMD. Dr. Gupta is a Fellow of ASME and a Senior Member ofIEEE.

45