Professional Documents
Culture Documents
Technology
Department of Robotics and Digital Technology
Technical Report 95-7
Contents
Abstract and Keywords
1 Introduction
vi
1
1.1 Motivation : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
1.2 Organisation of the Report : : : : : : : : : : : : : : : : : : : :
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Introduction : : : : : : : : : : : : : : : : : : : :
Representations of Mechanical Assemblies : : :
Classication of Assembly Sequences : : : : : :
Representations of Assembly Sequences : : : : :
Generation of Assembly Sequences : : : : : : :
Evaluation and Selection of Assembly Sequences
Complexity of Automatic Assembly Planning :
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
1
3
4
4
8
9
16
18
20
22
3.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22
3.2 General Methodology : : : : : : : : : : : : : : : : : : : : : : : 22
4 Assembly Modelling
4.1 Introduction : : : : : : : : : : : : : : : : : : : :
4.2 Initial Representation of Assemblies : : : : : : :
4.2.1 Relational Information : : : : : : : : : :
4.2.2 Topological and Mechanical Information
4.2.3 Fasteners : : : : : : : : : : : : : : : : :
4.3 Expert-System Representation of Assemblies : :
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
30
30
31
31
33
38
39
41
5.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 41
5.2 Fundamental Contacts Between Parts : : : : : : : : : : : : : : 42
5.3 Virtual Contacts Between Parts : : : : : : : : : : : : : : : : : 43
i
6 Application Examples
6.1
6.2
6.3
6.4
6.5
6.6
6.7
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Introduction : : : : : : : : : : : : : : : : : : : : : : : : : :
Virtual Contacts and Unstable Connections : : : : : : : :
Insertion Path Obstructed by Intermediate Fixturing : : :
Assembly Requiring Multidimensional Part Insertion Path
Four Interlocking Blocks : : : : : : : : : : : : : : : : : : :
Non-monotone Assembly Sequence : : : : : : : : : : : : :
Non-coherent Assembly Sequence : : : : : : : : : : : : : :
7 Conclusion
Bibliography
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
46
47
48
50
57
66
66
66
80
81
83
84
85
88
91
ii
List of Tables
2.1 Mello's attribute functions for the contact entities in Figure 2.2 7
5.1 Decompositions for assembly in Figure 5.9 : : : : : : : : : : : 61
iii
List of Figures
2.1 Exploded view of assembly (a) and graph of connections (b). :
2.2 Mello's relational model graph for the assembly in Figure 2.1 :
2.3 Two Representations of States in the Directed Graph of Assembly Sequences. : : : : : : : : : : : : : : : : : : : : : : : : :
2.4 Directed graph of feasible assembly sequences for the assembly
shown in Figure 2.1 : : : : : : : : : : : : : : : : : : : : : : : :
2.5 De Fazio's \diamond representation" of feasible assembly sequences for the assembly shown in Figure 2.1 : : : : : : : : : :
2.6 Bourjault's product example and two assembly trees. : : : : :
2.7 AND/OR graph of feasible assembly sequences for the assembly shown in Figure 2.1 : : : : : : : : : : : : : : : : : : : : : :
2.8 Two solution trees for the product in Figure 2.1 : : : : : : : :
3.1 Simultaneous establishment of connections : : : : : : : : : : :
3.2 Functional modules of the system developed, and
ow of information : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
4.1 Exploded view of simplied
ashlight (a), graph of connections
(b), and incidence matrix (c) : : : : : : : : : : : : : : : : : : :
4.2 Relational Model of simplied
ashlight : : : : : : : : : : : : :
4.3 Sample of Fundamental Connection Types : : : : : : : : : : :
4.4 Simple Didactic Assembly : : : : : : : : : : : : : : : : : : : :
4.5 Stacked parts fastened by a screw : : : : : : : : : : : : : : : :
5.1 Interference between parts without any real contact : : : : : :
5.2 Cross-section of didactic assembly : : : : : : : : : : : : : : : :
5.3 Rule propagate:inside : : : : : : : : : : : : : : : : : : : : : : :
5.4 Rules propagate:planar1 and propagate:planar2 : : : : : : : :
5.5 Cross-section of assembly showing insucient alignment clearance : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
5.6 Infeasible connection : : : : : : : : : : : : : : : : : : : : : : :
5.7 Four interlocked blocks : : : : : : : : : : : : : : : : : : : : : :
iv
6
6
11
12
12
13
15
15
27
28
32
33
35
36
38
44
44
45
46
51
52
53
5.8
5.9
5.10
5.11
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
56
57
58
63
67
67
73
78
80
82
83
84
86
Abstract
This report describes current work on the modelling of assemblies and the
encapsulation of assembly knowledge in a rule-based system which allow efcient generation of feasible assembly sequences for mechanical products.
The set of feasible sequences is generated from the topological and mechanical descriptions of the connections between component parts of the product.
The rule-based system interprets the connection information, enhances it and
evaluates the feasibility of assembly operations under the control of procedural code. The method presented here has three advantages. One is that
it does not need to interrogate the designer for supplementary data as the
sequence-generation evolves. The second is that it is suitable to be used in
an assembly-planning concurrent-engineering tool, early in a product development cycle, because it does not require any geometric information about
the product. Finally, it provides explanations for the infeasibility of assembly
operations, therefore, guiding the designer in the redesign of the product.
Keywords
Assembly Sequence Planning, Rule-based Systems, Concurrent Engineering
vi
Chapter 1
Introduction
1.1 Motivation
It has been increasingly recognised that product development requires a concurrent engineering approach for eective cost, quality and delivery times.
Concurrent engineering creates an environment in which all the disciplines
that contribute to the product development cycle (design, manufacturing,
quality assurance, marketing, etc.) perform their functions cooperatively [1],
allowing ease of manufacture and assembly, quality control, maintenance etc.,
to be considered right from the conceptual design phase of the product.
It is at the conceptual design phase that the design team has the greatest opportunity to explore alternatives and identify the best product and
manufacturing process [2]. At this stage commitments to hardware and constraints due to the interactions between the various specialities involved in
the product's life cycle are not yet tight [2]. But, because of the large number of options available and because the decisions taken at this stage will
seriously constrain the options available at later phases of the product development cycle, these are the most dicult and in
uential decisions in the
whole process.
For this reason it is fundamental to provide tools to the concurrent
engineering team that facilitate eective communication and identication
of downstream implications of the in
uential early decisions. There are
in fact several types of tools currently available to concurrent engineering
teams, which range from management based tools to Computer-Aided Design (CAD), Quality Function Deployment (QFD), Design for Assembly and
Manufacture (DFA/M), etc. However, there is an important activity which
still lacks an ecient computer-aided tool for use early in the product development cycle. This activity is the planning of the product-assembly sequence.
1
DFA methodologies and related software tools successfully assist the designer in reducing the cost of a product by improving its assemblability, but
the planning of the sequence is not part of the DFA procedure. During the
last decade work done in this area has lead to the development of several
assembly-sequence-planning methodologies. Typically, these methodologies
involve CAD representations of the product and are either based on geometric algorithms or on user interaction for the evaluation of the feasibility of
assembly operations.
Assembly sequence planning has a central role in product and assembly
system design. The choice of assembly sequence can impact directly on the
eciency and cost eectiveness of the assembly process. The sequence in
which parts are assembled in
uences, for example, the number of changes
in assembly orientation and in tools (e.g. robot grippers), the number and
complexity of xtures, and the complexity of the assembly operations. In addition, the assembly sequence can aect, and be aected by, several factors
such as the choice and layout of equipment, product testing and repair strategies, and the assembly method; manual or automated. Dierent sequences
can lead to totally dierent assembly times and costs. Without considering
the complete set of possible assembly sequences it is possible that a poor
choice is made.
The set of alternative assembly sequences of a product is primarily determined by the design of the product. Small changes in the design may change
the set of sequence options, and rule out a sequence that could lead to a
more ecient assembly process. Furthermore, for a typical product there
may be thousands of possible assembly sequences. Hence, a tool that can be
used very early in the design stage of the product, when CAD drawings may
not yet be available is fundamental to deal eciently with the combinatorial complexity of the problem and allow an analysis of the impact of design
changes on the set of valid sequences of assembly.
The main characteristics of the assembly sequence planning problem at
early stages of design are the inadequacy of applying algorithmic solution
methods and conventional optimization techniques, compounded by the problem's combinatorial complexity, which grows exponentially as the number of
parts and interconnections increases.
Using AI methods, assembly knowledge can be represented in an expert
system, to allow the inference of assembly operation feasibility from topological and mechanical information on the connections between the parts
composing a product, without the need for the precise geometric information
required by trajectory-path planners. Furthermore, graph search techniques
using heuristic knowledge can guarantee that the best assembly sequences
are eciently found, by providing valuable shortcuts when it is impractical,
2
Chapter 2
Computer-Aided Assembly
Sequence Planning
2.1 Introduction
Assembly sequence planning involves the generation evaluation and selection
of feasible assembly sequences of a product. An assembly sequence is feasible if it comprises only feasible assembly operations and leads to the fully
assembled state of a product.
Typically, an automatic planner takes as input a computer-based model
of the product to generate a representation of all feasible sequences. Ideally,
from this representation the planner evaluates the assembly sequences and
select one or a set of feasible sequences according to specied user criteria.
Until recently, the methods used to generate the possible assembly sequences for a product involved either precedence diagrams or exhaustive
exploration. In 1984, Bourjault [3] introduced the algorithmic generation of
all possible assembly sequences for the set of parts that constitute the assembled product from its representation. This was a fundamental step towards
the generation of automatic assembly sequence planners, whether they are
to be part of a set of DFA tools or part of an integrated control system for
the assembly process. Several related methods were subsequently devised.
This chapter summarises various methods of representing an assembly,
and methods of generating, evaluating and selecting assembly sequences.
contain all the essential data required by the assembly planner to generate
all feasible assembly sequences. For many assemblies the number of feasible assembly sequences of a product is extremely large and it may not be
practical or useful to generate the complete set of feasible sequences. Several
approaches have been proposed to reduce the number of sequences generated, although ensuring the best sequences, according to some user specied
criteria, are obtained. In any case the automatic planner must take into
consideration any feasible sequence, that is, it must be able to generate all
sequences. Consequently, the assembly model must provide not only the information that enables the planner to generate all assembly sequences, but
also information that enables it to reason about the feasibility of the assembly operations comprising a sequence. Since Bourjault [3] presented a
method for the algorithmic generation of all assembly sequences for mechanical products, research advances in this area have given rise to the creation of
systems that have progressed from strongly interactive systems towards fully
automatic systems. Some authors have devised systems intended to be used
as computer aids to assembly planning; such as for example Bourjault and
Henrioud [4], and De Fazio and Whitney [5, 6]. Others have devised systems
that are, in addition, aimed to be integrated in control systems of
exible
assembly systems, Homem de Mello and Sanderson [7, 8, 9], and Delchambre
[10]. This aspect has a direct implication for the structure of the computer
representation of assemblies; systems that are less user interactive require a
more detailed assembly representation. However, all the authors mentioned
above use a network approach to the representation of assemblies; the nodes
of the network represent parts and the edges between nodes represent relations between parts.
Bourjault [3] used two types of networks or graphs in his relational model:
the graph of contacts, and the graph of connections. The graph of contacts,
derived from the information contained in a parts list and an assembly drawing, is a graph that contains one node for each part in the assembly and one
edge for each contact between two parts. From this graph Bourjault derived
the graph of connections, which is a simple graph, i.e. a graph that contains one node for each part in the assembly, and one edge for each pair of
parts that have at least one contact between them. These contacts, called by
Bourjault \liaisons fonctionelles" can be real or virtual contacts. A graph of
connections for a simple assembly used by Homem de Mello in [9], is shown
in Figure 2.1
Homem de Mello and Sanderson have developed a relational model of
assemblies which they claim contains all the geometric and mechanical information needed to compute the feasibility of assembly operations; without
requiring intervention by the designer. The relational model consists of a re5
c1
Cap
Stick
z
c2
c3
c4
y
x
Cap
Stick
Receptacle
Receptacle
Handle
c5
Handle
( b)
(a)
Figure 2.1: Exploded view of assembly (a) and graph of connections (b).
Cap
R5
R1
R6
R4
R2
R7
R3
c2
A1
c1
R9
c3
c4
R8
R11
c5
Stick
R12
Receptacle
R10
Handle
R13
R14
A2
Figure 2.2: Mello's relational model graph for the assembly in Figure 2.1
lational graph, plus the set of associated attribute functions. The relational
graph extends the graph of connections to incorporate a representation of
the attachments that bind one part to another.
Figure 2.2 shows the relational graph for the simplied
ashlight assembly shown in Figure 2.1. The labelled lines (edges) connecting two nodes
correspond to the relationships between the two entities represented by the
nodes. The rectangles, circles and triangles represent respectively part, contact and attachment (fastening) entities. All relationships in the graph of
Figure 2.2 are part-contact relationships, except R5 and R13 which are targetattachment relationships; they indicate that the contacts C2 and C5 are attached, and relationships R6 and R14 which are agent-attachment relationships and indicate that the agent of the attachment are the target contacts
themselves [9].
In their relational model Homem de Mello and Sanderson also dene
attribute functions which associate the entities (parts, contacts and attachments) or relationships between entities to their characteristics, such as the
type of attachment, the entities related by a relationship, and the shape of
a part [9]. The attribute functions associated with the contact entities in
Figure 2.2 are shown in Table 2.1.
Type of contact
normal
back
forward
part-contact
relationships
target-attachments
relationships
agent-attachments
relationships
C1
C2
C3
C4
C5
nil
(R5 )
nil
nil
(R13 )
nil
(R6 )
nil
nil
(R14 )
planar
Table 2.1: Mello's attribute functions for the contact entities in Figure 2.2
Homem de Mello and colleagues in their Pleiades system, described in [11],
use CATIA (an IBM solid modelling and mechanical CAD design system)
to design the parts model, i.e. to generate a computer representation of the
geometric information of the parts in the assembly. Then they utilise Geos
(a variational geometric modelling system developed at Rensselaer Polytechnic Institute to model parts and assemblies) to specify the geometric and
7
state 1
[F F F F F]
2
operation A
state 2
4
H
5
Graph of Connections
operation B
state 3
{{C R} {S H}}
[F T F T F]
C = CAP
S = STICK
R = RECEPTACLE H= HANDLE
ith connection is established in that state or not, will represent the state. In
the second case each disjoint subset of parts is composed by all the parts in
one subassembly already formed at that assembly state. These concepts are
illustrated in Figure 2.3
Figure 2.4 shows a directed graph of assembly sequences for the assembly
shown in Figure 2.1, including the two representations of assembly states
discussed above. The diamond representation of the directed graph used
by De Fazio is shown in Figure 2.5. In this representation each state of
assembly is represented by a box containing several cells, each corresponding
to a connection in the graph of connections. The cells are marked black when
the connections they represent are established.
Each valid assembly sequence is a path from the root node to the goal node
of the directed graph, the root node being the node in which no connection
has been established, and the goal node being the node in which the product
is fully assembled. It can be seen in Figure 2.4, that although states ffC R
Hg fSgg and ffC S Hg fRgg make part of the graph, since they represent
stable subassemblies, they will not be included in any assembly sequence and
there are not any assembly operations (arcs) from these states to the nal
state ffC S R Hgg.
Henrioud and Bourjault in [4] dene an assembly tree for a product P as
11
(* )
{{C} {S R} {H}}
[F T F F F]
[T F F F F]
[F F T F F]
[F F F F T]
(* )
{{C S R} {H}}
{{C R H} {S}}
{{C R} {S H}}
{{C S H} {R}}
{T T T F F]
[F T F F T]
[F T F T F]
[T F F T F]
{{C S} {R H}}
[T F F F T]
{{C} {S R H}}
[F F T T T]
{{C S R H}}
[TTTTT}
C = CAP
S = STICK
R = RECEPTACLE
H= HANDLE
Figure 2.4: Directed graph of feasible assembly sequences for the assembly
shown in Figure 2.1
Figure 2.5: De Fazio's \diamond representation" of feasible assembly sequences for the assembly shown in Figure 2.1
12
a
b
d
e
c
f
w
a
b
d
e
c
f
w
assembly state is represented only once, but the same assembly operation is
represented the number of times the same pair of subassemblies is joined in
dierent states of assembly. The operations marked (*) in Figure 2.4 are an
example of this situation.
Each subassembly represented by a node in the AND/OR graph corresponds to a subset of the set of parts in the product. The root node corresponds to the fully assembled product, i.e. corresponds to the set of parts
that make up the product, whilst each terminal node corresponds to a part,
i.e. to a subset of the set of parts in the product which are composed by only
one element.
Each hyperarc is a 2-connector and corresponds to an assembly operation. An hyperarc is directed to the two subassemblies that are joined by
the corresponding assembly operation, and is directed from the subassembly
produced by the operation.
When nodes have several hyperarcs directed from them, each of these
hyperarcs represents a dierent set of two subassemblies that joined will
produce the subassembly represented by that node.
A particular solution of the AND/OR graph representation of assembly
sequences, called by Homem de Mello [9] an assembly tree , is a tree in the
AND/OR graph in which the root node represents the completed assembly,
and each part that comprises it is represented by one terminal node. Each
feasible assembly sequence maps into an assembly tree, however an assembly
tree may map into more than one assembly sequence when assembly tasks
can be executed in parallel [9].
Figure 2.7 illustrates the AND/OR graph representation of assembly sequences for the product shown in Figure 2.1, and Figure 2.8 shows two of its
eight assembly trees. The AND/OR graph in Figure 2.7 does not include the
subassembly formed by cap, stick and handle, nor the subassembly formed by
cap, receptacle and handle, since the graph is generated from the top these
subassemblies can never be reached. This is an advantage of the AND/OR
graph representation; the nodes corresponding to subassemblies that do not
lead to the fully assembled product are not generated, even if they are stable
subassemblies.
Note that the tree shown in Figure 2.8(b) corresponds to two assembly
sequences; the cap and stick can be assembled before or after the receptacle
and handle are assembled.
Implicit representations consist of a set conditions that all feasible sequences must satisfy. The assumptions made for these types of representation
are the same that were made for the directed graph representation.
The Establishment Condition Representation of assembly sequences is an
implicit representation that has been used by Bourjault in [3].
14
Figure 2.7: AND/OR graph of feasible assembly sequences for the assembly
shown in Figure 2.1
(a)
(b)
Figure 2.8: Two solution trees for the product in Figure 2.1
15
to these questions are expressed in the form of precedence relationships between connections or logical combinations of connections, and the assembly
sequences are generated algorithmically from them.
De Fazio and Whitney [5, 6] have shown that the number of questions,
Q, asked by Bourjault for assemblies with three or more connections, that
is for l 3, is l2l > Q 2(l2 + l). These researchers ask only one pair of
questions for each connection in the graph of connections, i.e. 2l questions.
The questions asked have the following general form, for i = 1 to l:
Q1) What liaisons must be done prior to doing liaison i?
Q2) What liaisons must be left to be done after doing liaison i?
The reduction in the number of questions is, however, accompanied by a
very signicant increase in the diculty of answering the questions.
Mello and Sanderson [9, 11] developed a method also based on the graph of
connections, but using a signicantly dierent approach. They transformed
the problem of generating assembly sequences into the problem of generating disassembly sequences in which disassembly operations are the inverse
of feasible assembly operations. In this method, known as the disassembly
approach , the disassembly sequences are obtained through the recursive decomposition of an assembly into subassemblies, where the decomposition of
each assembly is obtained by the application of graph theory methods. Each
assembly is represented by its graph of connections, and the set of valid cutsets of this graph represent all possible ways of decomposing the assembly
into pairs of subassemblies.
Mello and Sanderson's algorithm takes as input a relational model of the
product and returns the set of all feasible assembly sequences represented as
an AND/OR graph.
These authors propose the use of geometric algorithms for the evaluation
of the feasibility of assembly operations, from CAD representations of the
product.
The disassembly approach has also been used to develop expert systems
for assembly planning. However, these systems have generally been developed
with the objective of generating only one assembly sequence instead of the
complete set of possible assembly sequences.[10]
Whether the approach proposed is interactive or fully automatic, for an
assembly operation to be included in a feasible assembly sequence its feasibility has to be ascertained. To reduce the number of direct evaluations of the
feasibility of assembly operations, several authors [10, 18, 5], have used the
superset and subset rules originally proposed by Bourjault [3]. These rules
(presented in Chapter 3) allow the automatic evaluation of the feasibility of
a large number of assembly operations based on the results of earlier evaluations. Consequently, the application of these rules reduces very signicantly
17
the number of questions asked to the user in interactive systems, and the
access to time consuming geometric algorithms in non-interactive systems,
thus in any case improving the system's eciency.
More recently, Wilson [19] proposed a method which also uses Bourjault's
rules but where the direct evaluations of assembly operations are further
reduced. This method consists on rst evaluating the feasibility of assembly
operations from a CAD model of the assembly using only simple techniques,
and then querying the user for the operations whose feasibility is undecided.
The simple techniques proposed by Wilson include the necessary condition
for local freedom and a sucient condition found by checking simple assembly
paths, such as single translations.
This author stresses the point that the emphasis in his method is not on
exact methods to calculate assembly paths, but on fast techniques that are
able to correctly detect the large majority of feasible operations. In this line
of reasoning, Wilson sustains that for operations requiring complex assembly paths querying the user is usually preferable to using computationally
expensive path planning techniques. The user's answers provide information
on the reasons an operation is not feasible, by identifying the two subsets
of parts in each pair of subassemblies to be joined that make the operation
infeasible, and these reasons are then used to automatically evaluate later
operations.
Sukhan Lee [24], which as Wilson uses the disassembly approach (called
in his work the Backward Assembly Planning ), proposes in [20] the feasibility
of the operations regarding the forces involved in their execution, to be evaluated before the decomposition process starts as an ecient way of reducing
the number of operations whose geometric feasibility must be evaluated.
19
discussed in Section 2.5, include the use of simple techniques to evaluate the
operations feasibility from CAD representations of the product, and to infer
their feasibility or infeasibility from results of previously evaluated operations, as an alternative to the use of computationally expensive path planning
techniques.
To handle the combinatorial complexity of the problem, as discussed in
the previous section, the application of strategic constraints and search techniques based on sequence evaluation criteria have been proposed. Whilst the
use of search techniques and strategic constraints can reduce the computing
eort, this is gained at the expense of completeness. Also, for complex assemblies the overall computation time required to complete the process may
still be unacceptable.
21
Chapter 3
Overview of the Proposed
Methodology
3.1 Introduction
The sequence in which a product can be assembled is primarily determined
by the design of the product. Small changes in the design may change the
set of assembly sequence options, and rule out a sequence that could lead
to a more ecient assembly process. A tool that can be used very early
in the development cycle of the product, when CAD drawings may not yet
be available is fundamental to allow the analysis of the impact of design
changes on the available sequences of assembly, and thus facilitate concurrent
engineering practices.
The aim of this work is to develop a methodology to generate feasible
assembly sequences, which is systematic, can be computerized, requires minimal input from the user, can be used in the early stages of the design of a
product, and that also provides the user with useful information for product
development.
6.7.
A Reverse Assembly Approach is used in the generation of the assembly
sequences. This method, often called in assembly planning literature Disassembly Approach [10, 16, 7], consists of generating all possible decompositions of the initial assembly into pairs of subassemblies, and then applying
the same procedure to each of the subassemblies obtained, until the new subassemblies are only single parts. The term subassembly has the meaning of a
non-empty subset of the set of parts that constitute an assembly that either
has only one part, or is such that every part has at least one connection with
another part in the subset [9].
Each decomposition corresponds to an assembly operation that joins two
subassemblies to form a larger subassembly. However, not all decompositions generated will correspond to feasible assembly operations. Some operations cannot be performed because of geometric, mechanical or stability
constraints.[9]
To obtain the complete set of feasible decompositions, a generate and
test approach is used. The decompositions are generated in the form of an
AND/OR graph, where the nodes correspond to unique subassemblies and
the hyperarcs to the assembly operations [9]. Each decomposition generated
is immediately evaluated for feasibility by the expert system module (if its
feasibility cannot be inferred from a previous evaluation of another operation) and pruned from the graph if infeasible. The set of feasible assembly
sequences is then directly extracted from the AND/OR graph.
The decomposition approach to the problem and the use of the AND/OR
graph as an explicit representation of all assembly sequences of a product was
proposed by Homem de Mello [9]. The methods being developed evolved from
the work of Homem de Mello and Sanderson [7, 8]. However, their assembly
sequence planner is intended to be used as part of an integrated control
system for the assembly process, i.e. much later in the product's life cycle,
and consequently these researchers propose the use of algorithmic methods
to the evaluation of the geometric feasibility of assembly operations, from
CAD representations of the product.
Other researchers, such as, De Fazio and Whitney [24] and Delchambre
[10] derive precedence constraints between connections from which the assembly sequences are then generated. Delchambre's precedence constraints
are derived from a CAD representation of the product, whilst De Fazio and
Whitney's are obtained through a question-and-answer procedure.
The method used to decompose the initial assembly into pairs of subassemblies is based on graph theoretic principles. An ecient algorithm is
then used to extract subsequent subassemblies directly from the sets of connections broken by each decomposition of the initial assembly, i.e. each cutset
23
24
subassemblies.1
Assembly knowledge is represented in the knowledge-base of the expert
system to enable it to make inferences in the same way a design, process or
manufacturing engineer would infer the degree of diculty or the infeasibility
of an assembly operation from a sketch of the product.
The reasoning made by the engineer in analysing an assembly operation
consists basically of the geometric visualisation of the operation. This geometric reasoning is, however, based on knowledge about which connections
must be established and their possible establishment directions, an on the
knowledge about eventual blocking eects between parts. Therefore, if the
initial representation of the product is enhanced to take also in account the
eventual blocking relationships between parts in the product that are not
interconnected, (virtual connections) the visualisation of the operation becomes redundant. This means that the actual shapes and dimensions of each
part are not required in the knowledge-base and the generation of assembly
sequences does not require fully-dimensioned engineering drawings.
The static assembly knowledge encoded in knowledge-based system in the
form of production rules allows the automatic enhancement of the product's
model, i.e. the addition of new facts to the expert-system data-base, which
originally contained only the initial assembly model.
The rst step in the enhancement of the initial model is the transformation of the connection information between the pairs of parts interconnected
in a product into fundamental contact types and their respective feasible
and infeasible establishment directions. This transformation is based on the
specic characteristics of each fundamental connection type.
Each connection has associated with it six contacts , which represent the
connection along the positive and negative directions of each of the three axes
of a reference Cartesian coordinate frame. A pin connection, for example,
can only be established along the insertion axis (assumed to be parallel to one
of axes of the reference coordinate frame), and therefore, it has associated
with it one contact with a feasible establishment direction, and ve contacts
with infeasible establishment directions.
The second enhancement of the initial model is provided by a set of rules
that generate virtual contacts between parts. When, for example, a part is
inside another part, there may exist a third part in contact with the latter
which obstructs the assembly path of the former, without however, having
any direct or real contact with it. The Part Virtual Contact Generation Rules
Technological and strategic constraints are not further discussed in this report since
little work has been done in this area. However, the methodology appears well suited for
the inclusion of any type of constraints
1
25
A
X
Model Enhancement
Knowledge
Base
1
Enhanced Model
Operation Modelling
Operation Feasibility
Product Model
Generation
of
AND/OR
graph
Feasible
Assembly Operation
Feasible Assembly
Sequences
Generation
of pairs of
subassemblies
Pair of
Subassemblies
an operation based on a previous evaluation of another operation by the application of three simple feasibility inference rules encoded in the procedural
module of the system. These rules evolve from rules used by De Fazio [18]
and Delchambre [10], and originally derived from Bourjault's work [3]. As
stated in [18] these rules are:
The Subset Rule : If two subassemblies can mate, then removing any part,
itself not associated with the mating liaison(s), from either subassembly, will
not change this situation.
The Superset Rule : If two parts or subassemblies cannot mate due to
interference in the approach path, then adding a part to either set will not
change this situation.
By concurrently generating the AND/OR graph of subassemblies and
pruning infeasible operations and associated subassemblies, these rules can
be expanded to include a much larger number of assembly operations. The
Subset Rule is expanded to include operations where the parts removed are
associated with the mating connections and a second Subset Rule is added.
The latter allows the inference of the infeasibility of assembling subsets of
parts of two subassemblies whose assembly has been found infeasible.
The application of the above measures substantially reduces the number
of operations generated and evaluated for feasibility, and therefore considerably improves the eciency of the system.
29
Chapter 4
Assembly Modelling
4.1 Introduction
The representation, or model, of an assembly must contain all data required
for the generation of any, or eventually all, feasible sequences for the assembly.
The aim of this chapter is to propose an assembly model which can be directly
used by the software system to generate assembly sequences and evaluate
their feasibility without user interaction.
The work discussed in this chapter builds on that of others, particularly
Homem de Mello and colleagues [7, 8, 9, 11, 23]. However, the approach
adopted, unlike de Mello's approach, enables the automatic evaluation of
the feasibility of assembly operations without the need for dimensional data,
and provides explanations for the infeasibility of assembly operations. The
connections in an assembly have been classied according to their mechanical characteristics and establishment directions, and this classication forms
the basis for the automatic inference of interferences between the parts composing an assembly, and consequently, for the expert-system evaluation of
assembly operation feasibility and for the operations infeasibility explanations provided.
The data initially contained in the model comprises relational, topological
and mechanical information, which combine to describe the relative position
of parts and eventual separate fasteners in the complete assembly, the types
of connections established between them and the directions in which these
connections are established, and it may also comprise user-dened assembly
constraints.
This information is necessary but not sucient for the automatic generation and evaluation of assembly sequences. Chapter 5 describes how the
system itself generates a higher level description of the product which con30
c1
Cap
Stick
z
c2
c3
c4
y
x
Cap
Stick
Receptacle
Handle
Receptacle
c5
Handle
( b)
(a)
C1 C2 C3 C4 C5 3
0 0 0
0 1 1 0 ?1 777
1 0 ?1 ?1 0 5
0 0 0 1 1
(c)
Figure 4.1: Exploded view of simplied
ashlight (a), graph of connections
(b), and incidence matrix (c)
Cap
Receptacle
Stick
Handle
2
66
64
?1 ?1
32
C1 C2 C3 C4 C5 3
0 0 0
0 1 1 0 ?1 777
1 0 ?1 ?1 0 5
0 0 0 1 1
fy planar, y threaded, y inside, y planar, y threadedg
Figure 4.2: Relational Model of simplied
ashlight
Cap
Receptacle
Stick
Handle
2
66
64
?1 ?1
The minus signs in the incidence matrix are not part of relational information, they are used to encode topological information which is discussed
in the next section.
As described in Chapter 3 the connections in the initial representation
of the product can be real or virtual. Furthermore, real connections can be
stable or unstable. Virtual and unstable connections are discussed in detail
in Chapter 6 where an assembly example illustrates the modelling of these
types of connections.
Topological information describes the relative positioning of parts and fasteners in the end product, i.e. when the product is fully assembled, whilst
mechanical information refers to the types of connections between parts, and
the types of fasteners present in the product.
The topology of an assembly is described with respect to a reference
Cartesian coordinate frame, the Assembly Orientation Frame [21] by dening
the fundamental establishment direction(s) of the connection between each
interconnected pair of parts. The fundamental establishment direction(s) of a
connection, or fundamental assembly direction(s) of the parts interconnected
by the connection is the minimum set of feasible assembly directions that
completely dene the topology of the interconnected pair.
An assembly operation is always performed by moving a part or subassembly towards a base part or subassembly, which is xed, i.e. the two
parts/subassemblies are never moved simultaneously. In the following discussion the choice of the moving and base subassemblies is arbitrary. If their
roles are interchanged the operation is performed along the same reference
axis, the only dierence being that the moving part is moved in the opposite
direction. In the product's model, topological information is encoded by the
signs of the entries in the incidence matrix combined with the direction in33
Pin
(z+)
Inside
(z+-)
(a)
(b)
(c)
(d)
Planar
(x+-,y+-,z+)
(e)
z
y
x
L-section
(x+,y-,z+-)
(f)
(g)
35
Annular
(x+-,y+-,z+)
(h)
z
B
C
y
A fundamental planar connection exists between parts pi and pj in the direction d 2 fx; y; zg if motion of pi is constrained by pj only in direction +d,
and the connection cannot be classied as annular.
A fundamental pin connection exists between parts pi and pj in the direction d 2 fx; y; zg if motion of pi is constrained by pj in any direction except
direction ?d, and the connection cannot be classied as inside?.
(Denition 3) Fundamental Inside Connection A fundamental inside
connection exists between parts pi and pj in the direction d 2 fx; y; zg if
motion of pi is constrained by pj in any direction except directions +d and
?d, and no portion of pi protrudes from pj .
A fundamental inside+ connection exists between parts pi and pj in the direction d 2 fx; y; zg if motion of pi is constrained by pj in any direction
except direction +d, and no portion of pi protrudes from pj .
S
C
B
A
4.2.3 Fasteners
In most assembled products separate fasteners are used to secure the connection between two or more parts. Fasteners can be treated as parts of a
product when generating feasible assembly sequences. However, this is not
the best approach to the problem, because there is practical knowledge associated with the usage of fasteners that can increase the eciency of the
sequence generation process.
The following two rules on the insertion of fasteners have been derived
from current practices, and implemented as static assembly knowledge:
A fastener is inserted only and immediately after all parts it fasten have been
placed in the partial assembly of the product.
sequence
sequence
sequence
sequence
sequence
1
2
3
4
5
A
C
A
B
C
&
&
&
&
&
B
B
B
C
S
=>
=>
=>
=>
=>
A
B
A
B
C
B
C
B
C
S
&
&
&
&
&
C => A
A => A
C S =>
S => B
B => B
B
B
A
C
C
C
C
B
S
S
&
&
C
&
&
S
S
S
A
A
=> A B C S
=> A B C S
=> A B C S
=> A B C S
38
7:
8:
9:
10:
11:
Operation
Operation
Operation
Operation
Operation
B
B
B
C
A
C
C
S
S
C
S
&
&
&
S
&
S
C
B
&
A is feasible.
is feasible.
is not feasible.
is feasible.
B is not feasible.
1:
2:
40
Chapter 5
Assembly Knowledge
Representation
5.1 Introduction
This chapter discusses how assembly knowledge is represented in the expert
system to enable it to make inferences in the same way a design, process or
manufacturing engineer would infer the degree of diculty or the infeasibility
of an assembly operation. That is, given some facts, a conclusion that follows,
is inferred.
The facts include relational, topological and mechanical information about
the subassemblies and connections involved in the assembly operation, as
well as, any eventual technological and strategic constraints, as already described in detail in Chapter 4. The implicit knowledge the engineer uses when
analysing an assembly operation is explicitly encoded in the knowledge-base
of the system developed in the form of IF THEN type rules. This knowledge
includes, for example, the realization of the physical impossibility of performing an operation due to the fact that a part already assembled obstructs the
assembly path of a part to be assembled, or the impossibility of establishing
the contacts involved in an operation because they would imply simultaneous
motion of a subassembly along dierent assembly directions.
The main role of the expert system is to ascertain the physical feasibility
of each candidate assembly operation. However, the system was designed to
require minimal input from the user, and consequently, the initial user representation of an assembly contains only the information necessary for the
generation and evaluation of assembly sequences that cannot be obtained
by other means. It is left to the system itself the task of generating an enhanced model with all information that can be inferred from generic assembly
41
The Part Virtual Contact Generation Rules add to these fundamentalcontact facts the following three new contact facts:
4. (contact C A z planar)
5. (contact D A z planar)
43
D
C
B
E
D
B
z
A
C
The planar contact between C and A (fact 4) was generated by propagating the planar contact of B with A (fact 3), because C is inside+ B (fact
2):
(contact C B z inside+) and (contact B A z planar) => (contact C A z planar)
Similarly, fact 6 is generated from facts 1 and 2:
(contact D C z inside+) and (contact C B z inside+) => (contact D B z inside+)
But fact 5 is generated from fact 1 and from the virtual contact in fact 4:
(contact D C z inside+) and (contact C A z planar) => (contact D A z planar)
For the example in Figure 5.2 if part D is joined to the assembly BC,
part A cannot be assembled because Part D obstructs its assembly path. In
this case the Virtual Contact Generation Rules generate a planar contact
between A and D by propagating the pin contact between B and D:
(contact A B z inside) and (contact B D z pin) => (contact A D z planar).
There are four possible types of virtual contacts: inside, inside+, inside?
and planar.
The set of Virtual Contact Generation Rules implemented in the system
takes into account all combinations of fundamental connection types and
44
Part C
Part B
Part A
RULE propagate:inside
IF:
RULE propagate:planar1
IF:
RULE propagate:planar2
IF:
Part B
Part A
Part C
Part D
Part A
Part B
Part C
are generated due to an extemporaneous choice of assembly equipment, because assembly sequence and assembly task are planned concurrently.
To illustrate the concepts of feasible and infeasible decompositions of an
assembly, Homem de Mello's assembly example shown in Figure 4.1 is used
here again. This simplied
ashlight, which is composed of Cap, Receptacle,
Stick and Handle, can be decomposed into the following six pairs of subassemblies:
Subassembly1
Subassembly2
Cap, Receptacle, Stick
Handle
Receptacle, Stick, Handle Cap
Cap, Receptacle, Handle Stick
Cap, Stick, Handle
Receptacle
Cap, Stick
Receptacle, Handle
Cap, Receptacle
Stick, Handle
However, the operations joining Cap, Receptacle and Handle to the Stick,
and Cap, Stick and Handle to the Receptacle are not geometrically feasible,
and these decompositions are said to be infeasible . In both cases there is
not a collision-free path to assemble the remaining part to the subassembly
formed by the other three parts.
To obtain the complete set of feasible decompositions of an assembly into
two subassemblies, a generate and test approach is used. The assembly operation corresponding to each decomposition generated is tested for feasibility
and the subassemblies generated by infeasible decompositions are discarded,
and therefore, not furthered decomposed.
The set of Assembly Operation Feasibility rules ascertains the geometric feasibility or infeasibility of each potential assembly operation. Some of
these rules infer the infeasibility of the operation, others its feasibility or
infeasibility along one of the axis of the assembly orientation frame.
These rules operate on the enlarged model of the product, i.e. the rules
are activated after the Fundamental Contact Generation rules have generated all the part-contact facts, the Virtual Contact rules have generated all
the virtual-contact facts and the Subassembly Contact Generation rules have
generated the facts for the contacts between the pair of subassemblies whose
assembly operation is being checked.
When an operation establishes several connections the operation is infeasible if at least two connections it would establish are not compatible, that is,
an operation is infeasible if one pair of connections it would establish is incompatible . Incompatibility between one pair of connections to be established
by an operation is a sucient condition for the operations' infeasibility.
The infeasibility of an operation can be ascertained by the following two
rules:
d1
Insufficient clearance
d1 < d2
d2
d1
d1 > d2
A
d2
RULE No-alignment-clearance
IF:
y
x
Front View
RULE Incompatible-directions
53
tacts respectively in the positive and the negative directions of the establishment of the inside contact.
RULE Blocked-inside-hollow
IF:
The rule above ascertains the infeasibility of the operation joining the
Stick (subassembly1) to CapReceptacleHandle (Subassembly2), where P is
the Stick, Q, R, and S are Receptacle, Cap and Handle respectively, v is
the y-positive direction, and the non-annular and non-inside contacts are
virtual planar contacts.
The actual explanation provided by the expert system for this operation
is:
Can't join Stick to CapReceptacleHandle. Stick must go inside
Receptacle, which is blocked by Handle and Cap.
secured. Holding down a subassembly to maintain its position and orientation may be achieved by means of tools or xtures, or eventually by hand
in manual assembly. The medium used, regardless of its exact nature, is
called here the holding-down tool . When an holding-down tool is used it
may obstruct the assembly path of a part or parts in subassemblies to be assembled in subsequent operations until the subassembly being held is nally
secured and the tool removed. Since a reverse assembly approach is used
during the assembly operation feasibility tests, the feasibility of joining two
subassemblies is assessed before the assessment of each of these subassemblies. Therefore, a feasible assembly operation may end up not appearing
in any of the feasible assembly sequences of a product if one (or both) of
the subassemblies it joins cannot be built. It is, usually, not possible to ascertain the impossibility of building a subassembly until the subassembly is
decomposed in all its possible pairs of sub-subassemblies and the feasibility
of the respective assembly operations is tested. For it to be possible to build
an assembly there must exist at least one feasible assembly operation to join
a pair of its subassemblies. However, when a tool is used to hold down a
sub-subassembly it is possible to determine that the subassembly cannot be
built as soon as the subassembly is generated, by decomposition of a parent
subassembly, if:
The subassembly contains a part that needs to be held down with a
tool, and
The part/fastener that is going to nally secure the part is not yet in
the subassembly, and
There is at least one part in the subassembly which cannot be assembled
when the holding tool is present.
The two rst facts determine that the tool is currently holding the part,
and these with the third fact determine the impossibility of building the subassembly. A subassembly in this case can, therefore, be discarded without the
need to decompose it in its pairs of sub-subassemblies and test the feasibility
of the respective assembly operations. Furthermore, the assembly operation
that joins this subassembly to another subassembly will be asserted as infeasible, because it cannot appear in any feasible assembly sequence for the
product being analysed.
Thus, when an assembly operation is performed with the presence of tools
to hold-down parts, two situations must be judged:
1. Whether the presence of a holding-down tool in a subassembly precludes it to be assembled to another subassembly by obstructing the
assembly path of at least one part of the latter subassembly, and
55
RULE Tool-obstruction
IF:
- Part A is secured by part B,
- Parts A is in the subassembly that is going to be assembled to the
subassembly containing part B,
- There is a third part, part C, in one of the subassemblies, that has a
contact with part A (real or virtual), and
- The contact between the tool holding down part A and part A is
established in the same direction than the contact between parts C
and A.
THEN:
IF:
- Parts A and C belong to the same subassembly.
THEN:
- This subassembly cannot be built. Part C is obstructed by the tool
holding down part A.
IF:
- Parts A and C are in separate subassemblies.
THEN:
- The operation of joining the two subassemblies is infeasible. Part C
is obstructed by the tool holding down part A.
56
cut-set 3
cut-set 1
c2
F
cut-set 6
c7
c3
cut-set 2
c6
c1
z
c4
B
C
cut-set 4
E
cut-set 5
(a)
cut-set 7
c51
(b)
ABCDEF
4
3
ABC
C
2
DEF
ABCDE
ABDEF
ABCD
EF
AC
ABCDF
A
BD
1
F
BCDEF
BDE
BDEF
of operations feasibility.
Any pair of subassemblies that results from an infeasible decomposition is not added to the AND/OR graph, and consequently these subassemblies are not further decomposed. The corresponding assembly
operation is marked as infeasible.
Referring to Figure 5.10, operations 1 and 7, and respective pairs of
subassemblies, shown in dashed lines, are not actually part of the graph
generated.
Note that using the Reverse Assembly Approach and concurrently performing the generation of the AND/OR graph and the checking of the
feasibility of assembly operations guarantees that the denition given
for the feasibility of an assembly sequence is observed; starting with the
fully assembled product working backwards towards individual parts,
a sequence of feasible operations can never lead to a situation where it
is not possible to complete the assembly.
If the graph is generated from individual parts towards the end product,
feasible sequences of assembly operations may eventually lead to a dead
end. For the didactic assembly in Figure 5.9, the sequence started by
inserting part C into a xture and then sequentially adding parts B,
D, E and F would reach a dead end because the remaining part to be
assembled, part A, cannot be inserted in BCDEF.
A direct assembly approach would involve backtracking every time a
dead end is found and would involve processing subassemblies that cannot in fact be part of any feasible sequence, as for example subassembly
BCD.
Building the AND/OR graph containing only subassemblies which result from feasible decompositions ensures that all subassemblies and
assembly operations in the graph will lead to the end product, and
it also reduces the number of decompositions that are eected and
checked for feasibility.
For the product in Figure 5.9 the concurrent generation of the AND/OR
graph and the evaluation of operation feasibility reduces the number of
decompositions generated and tested from 175 to 83.
2. Generation of the AND/OR graph of unique subassemblies
Observing the AND/OR graph in Figure 5.10 it can be seen that one
subassembly may have several dierent parents, or in other words, it
may be the result of decompositions of several dierent subassemblies.
For example subassembly AC results from decompositions of subassemblies ABCDEF, ABCDE, ABCD and ABC.
59
B
A
A
A
A
A
A
C
C
B
B
B
B
B
D
&
D
C
C
C
C
E
B
E
&
D
D
D
F
D
F
D
&
E
F
&
E
&
E
E
&
&
A <--- infeasible
F
C
F
F
F
E <--- infeasible
8:
9:
10:
11:
12:
A
A
A
A
B
B
C
B
B
C
C
&
C
D
D
D
B
&
E
E
&
D
D
&
&
E
E
E
C
A
<--- infeasible
13:
14:
15:
16:
17:
A
A
A
A
B
B
B
B
B
D
D
D
D
&
E
E
&
F
D
F
&
E
&
E
&
F
F
E
F
A
18:
19:
20:
21:
A
A
A
B
B
B
C
C
C
D
&
D
&
&
B
&
D
C
D
A
22:
23:
24:
25:
B
B
B
D
D
D
D
E
E
&
F
F
&
E
&
&
F
F
E
B
26:
27:
28:
A B & C
A C & B
B C & A
29:
30:
31:
D E & F
E F & D
D F & E
32:
33:
34:
A B D & E
A B & D E
B D E & A
35:
36:
B D & E
D E & B
37:
38:
<--- infeasible
<--- infeasible
<--- infeasible
<--- infeasible
A B & D
B D & A
61
Referring again to Figure 5.9, it can be seen that it is for example possible to assemble together subassemblies ABCD and EF, because there
is in fact a collision-free insertion path between the two subassemblies.
For the same reason it is also possible to assemble ABD and EF, BD
and EF, and D and EF.
The last three assembly operations have in common with the operation
that assembles ABCD and EF the fact that the connections established
are c5 and c7, which form cutset 5 (see Figure 5.9). In fact, the parts
that do not gure in the operations that assemble the last three pairs of
subassemblies are not associated with any of these connections. Several
authors, such as De Fazio [18] and Delchambre [10], have derived from
Bourjault's work [3] a rule to infer the feasibility of operations where
a relationship as the one between each of the operations joining any of
last three pairs of subassemblies and the rst pair is observed, without
the need for evaluating them directly.
This rule, with some terminology variations, states that:
If two subassemblies can be assembled together, then removing any
part, itself not associated with the mating connections, from either
subassembly will not change this situation [18, 10].
Given the method used to generate the AND/OR graph (breadth-rst
and concurrent operation feasibility analysis) this rule can be expanded
to include operations where the parts removed are associated with the
mating connections.
The following rule is proposed to further reduce the number of accesses
to the expert-system knowledge and enhance the system's eciency:
ABCDEF
6
4
ABCDE
ABDEF
17
15
14
ABDF
11
10
13
12
16
BCDEF
ABCDF
ABCD
9
18
21
19
ABDE
32
BDEF
BCDE
ABC
34
33
26
20
BCD
24
27
23
25
BDF
22
28
BC
DEF
31
30
BDE
29
DF
36
AC
35
DE
ABD
38
EF
37
AB
BD
are the seven operations generated in the rst level of the AND/OR graph
(operations 1 to 7) and the operation joining A to BC (operation 28) which
is found feasible when level two of the graph is generated.
These rules have been tested on a small sample of assembly examples.
Their correctness remains to be ascertained, and therefore, future work will
include formal proofs of their correctness.
65
Chapter 6
Application Examples
6.1 Introduction
The methods developed in this work have been implemented on a Unix workstation in both C++ and CLIPS [26] expert-system code. In this chapter several examples of the application of the system are presented and discussed
with the aim of illustrating the principal aspects of the methodology. These
examples illustrate the automatic enhancement of the initial model of a product, the explanation provided by the system for the infeasibility of assembly
operations, and the modelling of assemblies with particular characteristics.
The latter include assemblies containing unstable connections, parts requiring intermediate obstructive xturing, and parts requiring multidimensional
insertion paths. The modelling of assemblies requiring non-monotone and
non-coherent sequences of assembly is also discussed.
Body
Head
Cap
Button
Y
Tube
Ink
uc
Cap
c1
Body
c5
Ink
uc
c2
Tube
c4
c3
Button
[ -1 0 0 0 0 ] Cap
[ 0 -1 0 -1 0 ] Head
[ 1 1 -1 0 0 ] Body
[ 0 0 0 0 -1 ] Ink
[ 0 0 0 1 1 ] Tube
[ 0 0 1 0 0 ] Button
{y pin,y pin,y pin,y pin,y
[ 0 1 ]
[ 0 -1 ]
[ 1 0 ]
[ 0 0 ]
[ -1 0 ]
[ 0 0 ]
inside,y inside,y inside+}
connection
connection
connection
connection
connection
connection
connection
The complete set of fundamental real and virtual contacts and respective
feasible and infeasible establishment directions along the three axes of the
assembly orientation frame derived from the connections facts is:
Real-contact facts:
(contact Head Cap y inside+ )
(contact Head Cap not z)
(contact Head Cap not x)
(contact Tube Body y inside )
(contact Tube Body not z)
(contact Tube Body not x)
(contact Ink Tube y inside )
(contact Ink Tube not z)
(contact Ink Tube not x)
(contact Head Tube y pin )
(contact Head Tube not z)
(contact Head Tube not x)
(contact Body Button y pin )
(contact Body Button not z)
(contact Body Button not x)
(contact Head Body y pin )
(contact Head Body not z)
(contact Head Body not x)
(contact Cap Body y pin )
(contact Cap Body not z)
(contact Cap Body not x)
Virtual-contact facts:
(contact Head Ink y planar)
(contact Cap Tube y planar)
68
(contact
(contact
(contact
(contact
The above set of contact facts enhances the product's initial model and
provides the system's data base with the necessary and sucient information
for the automatic generation of all feasible assembly sequences, which are
shown below:
( Assembly sequence
1 Head & Body => Head Body & Cap
=> Cap Head Body & Tube => Cap Head Body Tube & Ink
=> Cap Head Body Ink Tube & Button => Cap Head Body Ink Tube Button)
( Assembly sequence
2 Head & Body => Head Body & Tube
=> Head Body Tube & Cap => Cap Head Body Tube & Ink
=> Cap Head Body Ink Tube & Button => Cap Head Body Ink Tube Button)
( Assembly sequence
3 Head & Tube => Head Tube & Body
=> Head Body Tube & Cap => Cap Head Body Tube & Ink
=> Cap Head Body Ink Tube & Button => Cap Head Body Ink Tube Button)
( Assembly sequence
4 Head & Body => Head Body & Cap
=> Cap Head Body & Ink Tube => Cap Head Body Ink Tube
=> Cap Head Body Ink Tube & Button => Cap Head Body Ink Tube Button)
( Assembly sequence
5 Ink & Tube => Ink Tube & Cap Head Body
=> Cap Head Body Ink Tube => Cap Head Body Ink Tube & Button
=> Cap Head Body Ink Tube Button)
( Assembly sequence
6 Head & Body => Head Body & Tube
=> Head Body Tube & Ink => Head Body Ink Tube & Cap
=> Cap Head Body Ink Tube & Button => Cap Head Body Ink Tube Button)
( Assembly sequence
7 Head & Tube => Head Tube & Body
=> Head Body Tube & Ink => Head Body Ink Tube & Cap
=> Cap Head Body Ink Tube & Button => Cap Head Body Ink Tube Button)
( Assembly sequence
8 Head & Body => Head Body & Ink Tube
=> Head Body Ink Tube => Head Body Ink Tube & Cap
=> Cap Head Body Ink Tube & Button => Cap Head Body Ink Tube Button)
( Assembly sequence
9 Ink & Tube => Ink Tube & Head Body
=> Head Body Ink Tube => Head Body Ink Tube & Cap
=> Cap Head Body Ink Tube & Button => Cap Head Body Ink Tube Button)
( Assembly sequence
10 Head & Tube => Head Tube & Ink
=> Head Ink Tube & Body => Head Body Ink Tube & Cap
=> Cap Head Body Ink Tube & Button => Cap Head Body Ink Tube Button)
( Assembly sequence
11 Ink & Tube => Ink Tube & Head
=> Head Ink Tube & Body => Head Body Ink Tube & Cap
=> Cap Head Body Ink Tube & Button => Cap Head Body Ink Tube Button)
( Assembly sequence
12 Head & Body => Head Body & Tube
=> Head Body Tube & Ink => Head Body Ink Tube & Button
=> Head Body Ink Tube Button & Cap => Cap Head Body Ink Tube Button)
( Assembly sequence
13 Head & Tube => Head Tube & Body
69
=> Head Body Tube & Ink => Head Body Ink Tube & Button
=> Head Body Ink Tube Button & Cap => Cap Head Body Ink Tube Button)
( Assembly sequence
14 Head & Body => Head Body & Ink Tube
=> Head Body Ink Tube => Head Body Ink Tube & Button
=> Head Body Ink Tube Button & Cap => Cap Head Body Ink Tube Button)
( Assembly sequence
15 Ink & Tube => Ink Tube & Head Body
=> Head Body Ink Tube => Head Body Ink Tube & Button
=> Head Body Ink Tube Button & Cap => Cap Head Body Ink Tube Button)
( Assembly sequence
16 Head & Tube => Head Tube & Ink
=> Head Ink Tube & Body => Head Body Ink Tube & Button
=> Head Body Ink Tube Button & Cap => Cap Head Body Ink Tube Button)
( Assembly sequence
17 Ink & Tube => Ink Tube & Head
=> Head Ink Tube & Body => Head Body Ink Tube & Button
=> Head Body Ink Tube Button & Cap => Cap Head Body Ink Tube Button)
( Assembly sequence
18 Body & Button => Body Button & Head Ink Tube
=> Head Body Ink Tube Button => Head Body Ink Tube Button & Cap
=> Cap Head Body Ink Tube Button)
( Assembly sequence
19 Head & Tube => Head Tube & Ink
=> Head Ink Tube & Body Button => Head Body Ink Tube Button
=> Head Body Ink Tube Button & Cap => Cap Head Body Ink Tube Button)
( Assembly sequence
20 Ink & Tube => Ink Tube & Head
=> Head Ink Tube & Body Button => Head Body Ink Tube Button
=> Head Body Ink Tube Button & Cap => Cap Head Body Ink Tube Button)
The set of feasible assembly sequences is generated from the dynamic assembly knowledge in the system's data base and the static assembly knowledge represented in the system's knowledge base. Furthermore, this knowledge also allows the system to provide useful information on all feasible and
infeasible assembly directions for each pair of subassemblies involved in an
assembly operation, as well as, an explanation of the reasons why candidate
operations are infeasible:
Can't join Ink to CapHeadBodyTubeButton. Ink must go inside Tube, which is
blocked by Button and Head.
CapHeadBodyInkTube and Button can be joined along y direction.
CapHeadBodyInkTube and Button cannot be joined along z direction.
CapHeadBodyInkTube and Button cannot be joined along x direction.
Ink and CapHeadBodyTube cannot be joined along z direction.
Ink and CapHeadBodyTube cannot be joined along x direction.
CapHeadBody and Tube cannot be joined along z direction.
CapHeadBody and Tube cannot be joined along x direction.
Can't join CapBody and Head.
Head must go inside Cap, which is blocked by Body.
HeadBody and Cap cannot be joined along z direction.
HeadBody and Cap cannot be joined along x direction.
Can't join CapBody and HeadTube.
Head must go inside Cap, which is blocked by Body.
HeadBodyTube and Cap cannot be joined along z direction.
70
In the ballpoint pen ve of the virtual contacts are planar contacts generated by propagation of planar or pin contacts (the Tube-Button, Head-Ink,
Cap-Tube, Cap-Ink and Ink-Button virtual contacts) and one (Ink-Body) is
an inside contact generated by propagation of an inside contact.
Two topologies that originate virtual planar contacts are depicted in Figures 6.3(h) and (i). The connection between parts C and B of this gure is
propagated to part A as a planar virtual contact between C and A, and thus
modelling a potential interference between these two parts. The connection
71
between B and C is shown as planar, but it can be of any type except of the
types annular or inside. If the contact is annular part C will not interfere
with any possible insertion path of A, and thus no virtual contact is generated in this case. If B is inside C this connection is propagated to A as an
inside virtual contact between C and A. Some of the topologies that originate
the latter type of virtual contact are shown in Figures 6.3(a) to (g).
In the ballpoint pen the virtual planar contact between the Tube and
Button is generated by propagating the pin contact between the Body and
the Button to the Tube which is inside the Body:
(contact Tube Body y inside) and (contact Body Button y pin) => (contact Tube Button y
planar)
The newly generated virtual contact between the Tube and Button and
the contact between the Ink and Tube originate another virtual contact:
(contact Ink Tube y inside) and (contact Tube Button y planar) => (contact Ink Button y
planar)
72
A
B
A
B
B
C
(b)
(a)
(c)
A
B
A
B
B
C
(d)
(e)
A
B
(f)
B
C
(h)
(g)
(i)
Figure 6.3: Examples of topologies with virtual contacts between parts without any real contacts
73
(contact A B not x)
Virtual contact generated:
(contact A C y inside)
Feasible assembly sequences:
( Assembly sequence
1 A & B
( Assembly sequence
2 B & C
=> A B & C
=> B C & A
=> A B C)
=> A B C)
Output explanation:
AB and C can be joined along y direction.
AB and C cannot be joined along z direction.
AB and C cannot be joined along x direction.
A and BC can be joined along y direction.
A and BC cannot be joined along z direction.
A and BC cannot be joined along x direction.
=> A B & C
=> A B C)
Output explanation:
AB and C can be joined along y direction.
AB and C cannot be joined along z direction.
AB and C cannot be joined along x direction.
Can't join BC and A.
A has different assembly directions with C and B of BC
74
[ 1 -1 ] B
[ 0 1 ] C
{ y inside, y inside }
Contact facts extracted from the initial product model:
(contact B C y inside )
(contact B C not z)
(contact B C not x)
(contact A B y inside )
(contact A B not z)
(contact A B not x)
Virtual contact generated:
(contact A C y inside)
Feasible assembly sequences:
( Assembly sequence
1 A & B
( Assembly sequence
2 B & C
=> A B & C
=> B C & A
=> A B C)
=> A B C)
Output explanation:
AB and C can be joined along y direction.
AB and C cannot be joined along z direction.
AB and C cannot be joined along x direction.
A and BC can be joined along y direction.
A and BC cannot be joined along z direction.
A and BC cannot be joined along x direction.
The topologies in Figures 6.3 (d), (e), (f) and (g) originate virtual contacts
of the type \A C y inside+", as shown below.
Assembly in Figure 6.3 (d):
Input data:
[ -1 0 ] A
[ 1 -1 ] B
[ 0 1 ] C
{ y inside+, y inside+ }
75
=> A B & C
=> B C & A
=> A B C)
=> A B C)
Output explanation:
AB and C can be joined along y direction.
AB and C cannot be joined along z direction.
AB and C cannot be joined along x direction.
A and BC can be joined along y direction.
A and BC cannot be joined along z direction.
A and BC cannot be joined along x direction.
=> A B & C
=> A B C)
Output explanation :
AB and C can be joined along y direction.
AB and C cannot be joined along z direction.
AB and C cannot be joined along x direction.
Can't join BC and A.
A must go inside C, which is blocked by B.
76
=> A B & C
=> B C & A
=> A B C)
=> A B C)
Output explanation:
AB and C can be joined along y direction.
AB and C cannot be joined along z direction.
AB and C cannot be joined along x direction.
A and BC can be joined along y direction.
A and BC cannot be joined along z direction.
A and BC cannot be joined along x direction.
=> A B & C
=> A B C)
explanation:
C can be joined along y direction.
C cannot be joined along z direction.
C cannot be joined along x direction.
77
C
z
B
A
y
78
z planar, z
(
(
(
(
(
(
connection
connection
connection
connection
connection
connection
E
A
E
B
C
D
A
F
F
C
D
E
z inside+ )
z pin )
z pin )
z planar )
z planar )
z planar )
A
A
A
A
A
A
A
A
A
A
E
A
A
A
A
E
A
B
B
B
B
B
B
B
B
B
B
F
B
B
B
B
F
B
&
C
&
C
&
C
&
C
&
C
&
&
D
&
D
&
C
C
D
D
D
D
D
D
D
C
D
A
D
E
D
E
A
D
=> A B C
E & F =>
=> A B D
E & F =>
=> A B D
E & F =>
=> A B D
E F)
=> A B C
E F)
B C D =>
=> A B D
F & C =>
=> A B D
F & C =>
B D => A
E F)
&
A
&
A
&
A
&
D => A B C
B C D E F)
C => A B C
B C D E F)
E => A B D
B C D E F)
C => A B C
& D
A
&
A
&
A
B
B
E
B
E
B
D
D & E
D & E
E & C
D & E F
=> A B C D & E F
C D E F)
=> A B D E & F
C D E F)
F => A B D E F
C D E F)
E F => A B D E F & C
79
is blocked by F.
is blocked by E.
is blocked by F.
is blocked by E.
is blocked by D.
is blocked by C.
z
B
C
y
assembly are:
B => A B C & D => A B C D)
B D => A B C D)
A C => A B C D)
82
y
x
Front View
1
2
3
4
A
C
B
A
&
&
&
&
B
D
C
D
=>
=>
=>
=>
A
C
B
A
B
D
C
D
&
&
&
&
C
A
A
B
D
B
D
C
=>
=>
=>
=>
A
A
A
A
B
B
B
B
C
C
C
C
D)
D)
D)
D)
Output explanation:
Can't join ABC and D.
D has different assembly directions with C and A of ABC
CD and AB can be joined along z direction.
83
A
z
84
=> B C & A
=> A B C)
0
0
1
0 0 ]
0 -1 ]
1 1 ]
A
B
C
(
(
(
0 0 0
0 -1 -1
1 0 0
85
0
0
0
0 )
0 )
0 )
C1
B1
C2
C
A
x
0 0 1 0 0 0 ] B1 ( -1 0 0 1 -1 )
0 0 0 -1 0 0 ] C1 ( 0 1 0 0 1 )
0 0 0 0 -1 0 ] C2 ( 0 0 1 -1 0 )
pin, y pin, x pin, x pin, x pin, x fixture, x planar,
planar, x planar, y planar, y planar }
& C C1 C2 =>
& A => A B C
& C2 => C C1
=> B C B1 C1
& C1 => C C1
=> B C B1 C1
System's explanation:
Can't join ABCB1C1 and C2 along x
Parts B and C blocking access to C2.
C2 and ABCB1C1 cannot be joined along y direction.
C2 and ABCB1C1 cannot be joined along z direction.
Can't join ABCB1C2 and C1 along x
Parts B and C blocking access to C1.
C1 and ABCB1C2 cannot be joined along y direction.
C1 and ABCB1C2 cannot be joined along z direction.
Can't join ABCC1C2 and B1 along x
Parts B and C blocking access to B1.
ABCC1C2 and B1 cannot be joined along y direction.
ABCC1C2 and B1 cannot be joined along z direction.
Can't join CC1C2 and ABB1 along y
Parts C2 and C blocking access to ABB1.
ABB1 and CC1C2 cannot be joined along z direction.
ABB1 and CC1C2 cannot be joined along x direction.
Can't join BB1 and ACC1C2 along y
Parts B1 and B blocking access to ACC1C2.
ACC1C2 and BB1 cannot be joined along z direction.
ACC1C2 and BB1 cannot be joined along x direction.
86
B C B1 C1 C2
B1 C1 C2)
C2 & B B1
C2 & A => A B C B1 C1 C2)
C2 & B B1
C2 & A => A B C B1 C1 C2)
87
Chapter 7
Conclusion
This paper reports on work being done in the area of computerised assembly
sequence planning.
The importance of the choice of assembly sequence for the eciency of
an assembly process and the need for more comprehensive software tools for
integrated product, process and system design was highlighted.
The literature review presented in Chapter 2 shows that the feasibility of
assembly operations in the methodologies proposed so far is either based on
user evaluation or on geometric algorithms which require fully-dimensioned
engineering drawings or CAD models of the assemblies. The methodology
presented in this report, unlike previous methodologies, does not require a
dimensional model of the assembly neither it needs to interrogate the user.
This approach has the advantages of being less prone to error than interactive systems, and unlike other automatic systems, of being suitable to be
used in an assembly-planning concurrent-engineering tool in early stages of
product development even before CAD drawings are complete.
The methodology proposed is based on the characteristics of the establishment of connections between the parts composing an assembly, and on
knowledge on the simultaneous establishment of connections. Connections
have been classied in a set of fundamental types, according to their possible
establishment directions and specic mechanical characteristics. This classication forms the basis for the rule-based representation of the knowledge
required for the automatic evaluation of the feasibility of assembly operations
and identication of the parts that preclude certain assembly operations.
Furthermore, this knowledge allows the automatic inference of blocking
relationships between parts that are not in contact in an assembly, i.e. of
virtual connections, thus simplifying the user's job of modelling assemblies;
the user needs only to specify real and virtual connections between adjacent
parts in the assembly, which are easy to identify.
88
Future work
Several points to receive immediate attention have already been mentioned
in the body of this report:
Complete classication of connections between the parts in an assembly
into a set of fundamental connection types.
Formal proof of correctness of the rules proposed for the minimisation
of direct evaluation of assembly operations' feasibility.
Modelling of non-goal positions of parts for assemblies requiring nonmonotone sequences of assembly.
Generation of non-coherent assembly sequences without the requirement for additional information from the user.
Consideration of user dened technological and strategic assembly constraints in the generation of feasible assembly sequences.
Other issues that will receive attention in a near future include:
Formal denitions of assemblies, connections an assembly operations,
to allow proof of the completeness and correctness of the rules forming
the knowledge bases of the system.
Application of the methodology proposed to a representative sample of
assemblies from industry.
Inclusion, in the system's output, of operations which although not being assembly operations in the strict sense (e.g. reorientations, cleaning,
testing, labelling) are an integral part of an assembly process.
89
Bibliography
[1] F. Gordon and R. Isenhour, \Simultaneous engineering," Electronic Engineering Times, January 1989.
[2] H. W. Stoll, \Simultaneous engineering in the conceptual design phase," in
SME Simultaneous Engineering Conference, November 1988.
[3] A. Bourjault, Contribution a une Approche Methodologique de l'Assemblage
Automatise: Elaboration Automatique des Sequences Operatoires. PhD thesis,
Universite de Franche-Comte, Besancon, France, 1984.
[4] J. M. Henrioud and A. Bourjault, \Computer-aided assembly process planning," Journal of Engineering Manufacture, 1992.
[5] T. De Fazio and D. Whitney, \Generation and consideration of all assembly
sequences for assembly system design," in International Workshop on Engineering Design and Manufacturing Management, pp. 43{56, November 1988.
[6] T. L. De Fazio and D. E. Whitney, \Simplied generation of all mechanical
assembly sequences," IEEE Journal of Robotics and Automation, pp. 640{658,
December 1987.
[7] L. Homem de Mello and A. Sanderson, \A correct and complete algorithm
for the generation of mechanical assembly sequences," IEEE Transactions on
Robotics and Automation, April 1991.
[8] L. Homem de Mello and A. Sanderson, \AND/OR graph representation of
assembly plans," IEEE Transactions on Robotics and Automation, pp. 188{
199, April 1990.
[9] L. S.Homem de Mello, Task Sequence Planning for Robotic Assembly. PhD
thesis, Carnegie-Mellon University, Pittsburgh, 1989.
[10] A. Delchambre, Computer-Aided Assembly Planning. London: Chapman and
Hall, 1992.
[11] A. Sanderson, L. Homem de Mello, and H. Zhang, \Assembly sequence planning," AI Magazine, pp. 62{81, Spring 1990.
[12] H. Ko and K. Lee, \Automatic assembly procedure generation from mating
conditions," Computer-Aided Design, pp. 3{10, January/February 1987.
[13] K. Lee and D. Gossard, \A hierarchical data structure for representing assemblies: Part 1," Computer-Aided Design, pp. 15{19, January/February 1985.
90
91