You are on page 1of 33

Mating Constraint Languages for Assembly

Sequence Planning 
Jan Wolter, Sugato Chakrabarty and Jungfu Tsao
Department of Computer Science
Texas A&M University
College Station, TX 77843-3112

Abstract
This paper describes and analyzes the most commonly used form of constraint
languages for assembly planning: mating constraint languages. These constraints are
typically composed of relations asserting that a certain pair of parts must be mated
before some other pair of parts may be mated. However, there are many signi cant
di erences between the forms of these constraints used by di erent authors. This paper
proves that certain of these forms, such as those based on less-than relations and those
based on less-than-or-equal relations, are equivalent and that either type of expression
can be translated into the other. It also provides several theorems concerning which
types of mating constraint expressions are able to represent sets of di erent kinds of
plans.

1 Introduction
The construction of a mechanical assembly is typically achieved by a series of operations,
such as the insertion of a bolt into a hole. The rst stage in programming an assembly
system must be to identify the operations necessary to manufacture the given assembly, and
to specify the sequence in which they are to be performed. The generation of such an ordered
sequence of operations is called the assembly planning problem.
This research was supported by the National Science Foundation Presidential Young Investigator grant
number DDM-9057883.

1
Most assembly planning systems need to be able to reason about sets of legal plans.
These sets are described in one of two ways: either by enumerative data structures, which
list all plans in the set, or by constraint expressions, which give conditions for the inclusion
of a plan in the set. Enumerative data structures were surveyed and analyzed in a previous
paper[16].
This paper describes and analyzes the most commonly used form of constraint languages
for assembly planning: mating constraint expressions. These constraints are logic expressions
whose literals are relations asserting that a certain pair of parts must be mated before some
other pair of parts may be mated. For example, the constraint

parts A and B are joined before parts C and D are joined and
parts A and C are joined before parts A and D are joined.

could be written as
   
J A;B < J C;D ^ J A;C < J A;D :
( ) ( ) ( ) ( )

Constraint languages of this type have played a central role in the assembly planning systems
described by De Fazio and Whitney[1, 2, 3], Huang and Lee[8, 9], Lin and Chang[10], and
Roy, Bannerjee and Liu[12]. Furthermore, Homem de Mello and Sanderson have proven some
forms of mating constraint expressions correct and complete for some classes of assembly
plans[7].
However, the constraint languages used by di erent authors di er in important details.
Some systems use constraints that are restricted to the contact graph of the assembly, that
is they require that the pairs of parts mentioned as being joined in the constraints be pairs
of parts that are actually in physical contact. Some systems use exclusively less-than rela-
tions between these pairs, while others use exclusively less-than-or-equal relations, and still
others use both. While not widely used, local relations, which involve only three parts (e.g.,
2
part B is joined to part A before part C), are of interest. Finally, di erent systems place
di erent restrictions on the form of the logic expressions written. This paper explores the
interrelationships between these and other forms of mating constraints and compares their
representational power.
The paper rst de nes several di erent types of plan representations that are used by
assembly planning systems, including state sequences and partial assembly trees, as well as
some of the most common restrictions placed on those plans, such as contact coherence. Then
a detailed description of mating precedence constraints is given, together with de nitions of
local constraints and graph-restricted constraints.
The next section proves that all constraints can be translated into pure less-than-or-equal
constraints or pure less-than constraints, even when it is necessary to preserve the property
of being restricted to the contact graph. It is not, however, possible to translate arbitrary
constraints into ones based on equal or not-equal relations, though such constraints can each
be translated into the other form even while maintaining graph-restrictions. Expressions
which contain only local relations and which need not be graph-restricted can, however, be
translated into other forms much more easily.
The last section studies the question of what types of sets of plans can be described by
what kinds of constraint expressions. It is shown that any set of state sequences in which
all subassemblies are connected, can be represented by an expression consisting purely of
less-than or less-than-or-equal relations which is restricted to the contact graph. However,
neither equality expressions nor local expressions would suce. Sets of partial assembly
trees, on the other hand, can be represented by purely local equality relations, so long as
they do not need to be restricted to the contact graph.

3
C1
B1
B A
C2
C
B C
A

Figure 1: An assem- Figure 2: An assembly Figure 3: An assembly that


bly that can only be that can only be con- can only be constructed by
constructed by simultane- structed by moving part C inserting part A last, forc-
ously inserting all 12 of to a temporary position in ing the use of the dis-
the outside parts into the B while inserting part A. connected partial assembly
center part. containing parts B, B1, C,
C1 and C2.

2 Assembly Plans
An assembly process is a movement of a collection of parts, which begins with each part
separated from all the rest, and ends with the parts assembled into a desired con guration.
Such processes are common in all areas of manufacturing and construction, but most assem-
bly planning research has been oriented towards the assembly of mechanical devices, such
as automobiles and toasters.
An assembly plan is a written procedure describing an assembly process for a particular
product. Such plans may initially be generated in a fairly abstract form, omitting many
details. All these details must be lled in before the corresponding assembly process can be
executed. Since every di erent way of lling in the details would lead to a di erent assembly
process, an assembly plan will, in general, correspond to a large set of assembly processes.
The generation of assembly plans at some useful level of detail is called assembly planning
or assembly sequence planning.

4
2.1 Restrictions
Most assembly planners apply some restrictions to the types of plans they can generate.
Three of the most common|sequentiality, monotonicity, and coherence|will be described
in this section.
Assembly plans typically decompose the assembly process into an ordered set of inde-
pendent steps or operations. Each operation consists of a manipulator grasping some set of
parts and moving them as a unit from one position to another, leading to some change in
the state of the assembly.
In most circumstances, it is possible to execute these operations one at a time so that
no operation is begun until the previous one is nished. Plans that can be linearized in this
way are called sequential. However, there are some assembly problems for which there is no
process that can be decomposed into such a sequence of independent steps. For example,
the assembly in gure 1 can only be built by a coordinated, simultaneous insertion of all
twelve of the outside parts from twelve di erent directions. Such plans, which could never be
executed by a one-handed robot, are called nonsequential. Little research has been done on
nonsequential assembly planning, though simple cases can be handled by treating the whole
thing as one complex operation involving more than two parts[12]. Such a plan would,
however, be uninteresting for cases such as the one in gure 1. Only sequential plans will be
considered in this paper.
The objective in any assembly plan is to place all the parts in their nal positions relative
to each other. However in many cases it is necessary to move parts temporarily into positions
that di er from their nal positions while another operation is performed. This is very
common in assemblies with moving parts. For example, the latch assembly in gure 2
cannot be assembled unless part C is temporarily inserted fully into the slot in part B while

5
C1

B1
B C
C2

Figure 4: Coherence graph for the assembly in gure 3.


part A is inserted. Plans which leave parts in non-goal positions while other parts are moved
are called nonmonotone plans. Ho man[4] and Tsao and Wolter[14] have done signi cant
work on the generation of such nonmonotone plans. However, only monotone plans will be
considered in this paper.
Another common restriction applied to assembly plans is the contact coherence restriction,
which asserts that each inserted part or set of parts should touch some previously inserted
part. This is enforced by a contact graph which includes a vertex for each part and an edge
connecting each pair of touching parts. For example, the graph in gure 4 is the contact
graph of the assembly in gure 3. As long as every assembled subset of parts that occurs
during the execution of the plan forms a connected subgraph of the contact graph, then the
graph is contact coherent.
Coherence restrictions are widely used in assembly planning systems. However, in real
manufacturing processes it is not uncommon to use noncoherent plans by xturing two
noncontacting parts in their relative goal positions and then connecting them with a third
part. Furthermore for some assemblies, such as the one in gure 3, no contact coherent plans
are possible. In that example, the only possible nal operation would be to mate part A with
the disconnected assembly fB; B 1; C; C 1; C 2g. Such a plan is not contact coherent because
if node A is removed from the contact graph, then the remaining graph is not connected.

6
However, the contact coherence assumption can be relaxed by adding additional \virtual"
contact edges to the contact graph. For example, if the graph is made complete, then
the coherence restriction is e ectively removed, because any subset of parts is connected.
However, adding edges to the contact graph can greatly increase the number of alternatives
the planner will have to consider. Choosing which edges to add can be dicult, especially
since the increase in computation time is usually sensitive to the topology of the graph as
well as the number of edges[15]. This paper will consider both contact-coherent plans and
noncoherent plans by allowing an arbitrary contact graph to be used. Since that graph can
be complete, this includes the noncoherent case.

2.2 Level of Detail


The plans generated by existing assembly planning systems also di er in the type and amount
of detail included in the plans. The simplest type of assembly plan that has been used is the
partial assembly tree shown in gure 5a. This is the type of plan generated by Homem de
Mello and Sanderson's system[5, 6, 13]. Each leaf of the partial assembly tree corresponds
to an individual part and each internal node corresponds to an operation that combines the
two sets of parts designated by its two children. We call the assembled sets of parts resulting
from each operation partial assemblies.
The operations in a partial assembly tree are only partially ordered. The plan in gure 5a
does not tell us if the partial assembly fB; C g is built before or after the partial assembly
fE; F g. Figure 5b shows how ordering information can be added to a partial assembly tree
by numbering the operations in the order in which they are executed. Such a plan is normally
depicted by the equivalent state sequence, as shown at right in gure 5b. Here each node
represents the partition of parts into partial assemblies at one point in time. They start all
separate, and end all combined. The ve transitions in the state sequence correspond to the

7
ve operations in the tree. This model of an assembly plan has been used both by De Fazio
and Whitney[2] and by Huang and Lee[9].
Normally when two sets of parts are mated, one set is moved while the other is held in
place. Neither the state sequence nor the partial assembly tree makes this distinction for
any of their operations. Figure 5c shows how this insertion information can be added to a
partial assembly tree by drawing an arrow from each held part set (which must be placed
rst) to the moved part set.
A subassembly is de ned as a partial assembly of more than one part that is built in one
xture, and then is removed and inserted as a part into another subassembly being built
in another xture. The nished assembly is considered a subassembly as well, although it
may never be inserted into another xture. The information given by the plan in gure 5c
is almost, but not quite, sucient to identify subassemblies. In any operation, the set of
moved parts must be a subassembly if it contains more than one part. But the set of held
parts may or may not be a subassembly, since it could have been built in the current xture,
or built in another xture and then inserted as the rst part in the current xture.
Thus we need add some xturing information to our plans to be able to recognize sub-
assemblies. This could be done by marking which sets of held parts are subassemblies, or,
as shown on the left in gure 5d, by grouping together those operations which are done in
the same xture. These types of plans are usually drawn as shown on the right of gure 5d
and are called subassembly trees. Plans of this type have been discussed by Wolter[17, 18].
Obviously, other possible combinations of information are possible. For example, Ho man
generates plans with ordering and insertion information but without xturing information
(that is he does not include non-assembly operations which move a set of parts from one
xture to another in his plans)[4, 11].

8
{A},{B},{C},{D},{E},{F}
5
{A},{B},{C},{D},{E,F}
4 3
{A},{B,C},{D},{E,F}

A 2 D 1 {A},{B,C},{D,E,F}
A D
{A,B,C},{D,E,F}
B C E F
B C E F {A,B,C,D,E,F}

(a) Partial Assembly Tree (PAT) (b) PAT + ordering = State Sequence

A D A D
C B E F D

B C E F B C E F
(c) PAT + insertion (d) PAT + insertion + fixturing = Subassembly Tree

Figure 5: Examples of four types of assembly plans for an assembly with six parts labeled
A through F. (a) a partial assembly tree. (b) two representations of a state sequence. (c) a
partial assembly tree with insertion information. (d) two representations of a subassembly
tree.
The choice of how much detail to include in the plan is a critical one in the design of
an assembly planning system. More detailed plans can be evaluated by more accurate and
realistic cost criteria so better decisions can be made. But more detailed plans also require
more decisions to be made so combinatorial explosion may limit the degree to which the
plans can be optimized. Finding the right trade-o will be a fundamental issue in future
assembly planning research.

3 Mating Constraints
In planning problems, we are usually given a list of criteria that must all be satis ed, and we
usually wish to generate a list of solutions any of which will satisfy the criteria. Thus, the

9
input is a conjunctive list of constraints, while the output is a disjunctive list of solutions. In
assembly planners which use explicit representations of these inputs and outputs, the input
is usually a constraint expression, and the output is usually an enumerative plan structure,
such as the diamond diagrams of DeFazio and Whitney or the AND/OR graphs of Homem
de Mello and Sanderson.
In this paper we are concerned with the input data structure, which is a a set of con-
straints, derived either from user input or a geometric model of the assembly, which will be
satis ed by every legal plan and violated by every illegal plan. The advantage of explicitly
representing such constraints is that it eliminates the need to do expensive geometric queries
(e.g., testing if a speci c part can be removed from a set of parts) during the planning stage.
Once they are generated, planning can be done in a purely symbolic manner.
Thus three characteristics are desirable in mating constraint languages: they should be
easily constructed by the user or easily derivable from the geometric model; they should
be able to represent any set of legal plans; and it should be easy to nd plans that satisfy
them. Two major classes of constraint languages have been used in assembly planners to
date: mating constraints and insertion constraints. They di er most importantly in the way
they reference operations. While a mating constraint may refer to the operation that causes
part A and part B to be mated, an insertion constraint would refer to the operation which
inserts part A into subassembly Z . This paper will study mating constraints.

3.1 Relations
We have said that assembly plans consist of a collection of operations which change the state
of the assembly. This section will begin by de ning some predicates and relations on those
operations.
First, let o be some operation and t be some point in time during the execution of an

10
J =J = {A},{B},{C},{D} {A},{B},{C},{D}
(A,C) (A,D)
J J
J =J (C,D) (A,B)
(B,C) (B,D) {A},{B},{C,D} {A,B},{C},{D}
J J
(A,B) (C,D)
J J {A,B},{C,D} {A,B},{C,D}
(A,B) (C,D)
J J J J
(A,D) (A,C) (A,D) (A,C)
J J J J
(B,D) (B,C) (B,D) (B,C)

A B C D {A,B,C,D} {A,B,C,D}

Figure 6: A partial assembly tree Figure 7: Two state sequences labeled with
with the operations labeled by their their mating operations that cannot be dis-
mating operations. tinguished by local relations or equivalence
relations.

assembly plan. Then the predicate done(o,t) has value true for some plan if and only if the
operation o has been completed at time t. Using this de nition, we de ne the four possible
relations between two mating operations o and o as follows:
1 2

Relation Satis ed for a plan if and only if Interpretation


o < o 9t; done(o ,t) ^ :done(o ,t)
1 2 1 o must strictly precede o
2 1 2

o  o 8t; done(o ,t) _ :done(o ,t)


1 2 1 o must precede or accom-
2 1
pany o 2

o =o
1 2 8t; (:done(o ,t) ^ :done(o ,t)) _ o and o are the same opera-
1 2 1 2
(done(o ,t) ^ done(o ,t))
1 2 tion
o 6= o
1 2 9t; (done(o ,t) ^ :done(o ,t)) _ o and o are di erent opera-
1 2 1 2
(:done(o ,t) ^ done(o ,t))
1 tions
2

These relations follow all the usual rules applying to <, , = and 6= relations. However,
there are two important ways in which these relations di er from the standard relations.
First, recall that we are operating under the sequentiality assumption, which says that
we are performing only one operation at a time. Under this condition, the only way that
o = o can be true is if o and o are, in fact, di erent names for the same operation. Thus,
1 2 1 2

this relation implies not only simultaneity, but identity.


Second, these relations may not always be de ned. Consider the partial assembly tree
in gure 5a. We know from this plan that the operation joining parts B and C precedes
11
the operation joining part A to fB; C g, but we don't know the ordering of the operation
joining B and C and the operation joining E and F . Thus, for any plan without ordering
information, the < and  relations will only be de ned when one operation is an ancestor
of the other in the partial assembly tree. For plans with ordering information, such as state
sequences, these relations will be de ned between any two operations. Note that since =
and 6= relations are really identity relations on the operations, they will always be de ned
for all pairs of operations in all plans, even without ordering information.

3.2 Mating Operations


The mating operation J a;b of a pair of parts, a and b, is the operation which puts them
( )

in their goal positions relative to each other. In a partial assembly tree, J a;b corresponds
( )

to the internal node which has part a in one subtree and part b in the other. Note that in
noncoherent plans \joined" parts need not be in contact after the operation. They may be
held in their relative goal positions by other parts or by a xture. If e is an edge in the
contact graph, we write Je to indicate the operation which mates the parts connected by
that edge.
In a valid plan all parts are eventually combined, and in a monotone plan no pair of parts
is ever separated again after being combined, so for any pair of parts in any valid monotone
plan, J a;b will refer to one and only one operation.
( )

However, the same operation may join many di erent pairs of parts. Figure 6 shows a
partial assembly tree in which all internal nodes have been labeled with the matings that
the operations corresponding to those nodes accomplish. Note that the last operation at
the root accomplishes four di erent matings. Figure 7 shows some state sequences with the
operations similarly labeled.

12
3.3 Mating Constraint Expressions
Mating constraint expressions are logical expressions composed of conjunctions and disjunc-
tions of terms which are relations between mating operations. We call those using only =
and 6= relations mating equivalence constraints, while those with < and  relations are called
mating precedence constraints.
A mating constraint can be viewed as a representation of the set of all plans for which
the expression is true. We will use the notation S(C ) to indicate the set of all plans for which
the expression C is true, and SG (C ) to indicate the set of all plans which are coherent for the
graph G and for which the expression C is true. Then S(true) is the set of all plans (since
the expression is true for all plans), SG(true) is the set of all plans coherent for graph G,
and S(false) is empty set (since the expression is false for all plans). Using this notation,
conjunction and disjunction in mating constraint expressions can be de ned by the following
rules.
S(C ^ C ) = S(C ) \ S(C )
1 2 1 2

S(C _ C ) = S(C ) [ S(C )


1 2 1 2

A mating constraint expression is restricted to a graph G if for every operation J a;b in


( )

the expression, there is an edge (a; b) in the graph. Several assembly planning systems use
exclusively mating constraint expressions that are restricted to the contact or liaison graph
of the assembly.
A mating constraint expression is local if for every relation in the expression the operation
on the left side shares one part with the operation on the right side. For example, the
relation J a;b < J a;c is local because part a appears on both sides. Note that all possible
( ) ( )

local relations are de ned for any partial assembly tree because one operation will always be
an ancestor of, or be equivalent to, the other.
13
Following the convention used by both De Fazio and Whitney and Huang and Lee (note,
however, that the notation used by Homem de Mello and Sanderson in [7] is di erent), we will
use a compressed notation for compound mating relations. Let E , E and E be operations,
1 2 3

or logical expressions whose literals are operations. Then:

(E  E ) < E , (E < E ) ^ (E < E )


1 2 3 1 3 2 3

(E + E ) < E , (E < E ) _ (E < E )


1 2 3 1 3 2 3

E < (E  E ) , (E < E ) _ (E < E )


1 2 3 1 2 1 3

E < (E + E ) , (E < E ) ^ (E < E )


1 2 3 1 2 1 3

To improve readability we have written disjunction and conjunction operators respectively


as addition and multiplication inside relations, while using _ and ^ symbols between the
relations. Thus the expression Ja < Jb + Jc means the state in which connection a is made
precedes any states in which connection b or connection c is made. That is, a must be made
before b and a must be made before c. Four rules similar to these < rules hold for  relations.

3.4 Constraint Language Forms


This section will brie y compare some of the di erent forms of mating constraint expressions
that have been used in recent assembly planning systems. Note that all these constraint
languages are designed to list the conditions that must all be satis ed by a valid plan, so
they are all primarily conjunctive expressions.
De Fazio and Whitney described a semi-automated planning system that is based on
mating constraint expressions[2]. The relations they described were strictly restricted to the
contact graph and consisted exclusively of < relations. They were written in compressed
form as a pure conjunction of relations which always contained a single operation on either
the left or right side. All plans produced by their system were required to be coherent for

14
the contact graph.
A later version of this system incorporated several changes, including a new semi-automated
system to generate constraints of a new form[1]. These were still strictly graph-restricted,
but consisted exclusively of a conjunction of compressed  relations with only conjunctions
of operations on both sides.
Huang and Lee describe an assembly planner based on expressions which use both  and
< constraints and need not be strictly graph-restricted. Their system generates expressions
which are conjunctions of disjunctions of compressed relations containing disjunctions on
their right-hand-sides. Though these expressions are quite a bit more complex in form than
those of De Fazio and Whitney, the procedure to generate them appears to be faster.

4 Translation of Relations
The use of di erent types of relations by di erent systems naturally raises questions about
the di erences between those relations. In fact, we will show that given any constraint
expression containing any combination of the relation types described above, we can always
generate an equivalent expression containing solely < relations or solely  relations. If the
original expression was restricted to a contact graph, then the new expression can be written
to be restricted to the same graph.
Similarly, we will show that expressions containing any combination of = and 6= relations
can be translated into pure = or pure 6= expressions. Again, if the original expressions were
restricted to a contact graph, then so will be the new expressions.
Furthermore, in the special case where only local relations are used, then any expression
can be translated into pure expression containing only local relations of any of the four types.

15
4.1 Translation to Mating Precedence Constraints
In this section, we will prove that any expression restricted to any contact graph can be
translated to a pure  or < expression restricted to the same graph. Several lemmas neces-
sary to the proof of this theorem will rst be presented, starting with the special case of a
relation involving two edges not in any cycle of the graph.

Lemma 1 Let G = (V; E ) be a contact graph and let (t; u) 2 E and (v; w) 2 E
be any two distinct edges which do not lie in any cycle in G. Then the following
equivalences hold for all sets of plans which are coherent for G.

SG (J t;u = J v;w ) = SG (false)


( ) ( ) (1)
SG (J t;u 6= J v;w ) = SG (true)
( ) ( ) (2)
SG(J t;u  J v;w ) = SG (J t;u < J v;w )
( ) ( ) ( ) ( ) (3)

Proof: Suppose J t;u = J v;w is true for a plan, that is, the plan establishes con-
( ) ( )

nections (t; u) and (v; w) in the same operation. By the sequentiality assumption,
this operation joined only two partial assemblies. We will assume, without loss
of generality, that one partial assembly contained both t and v, while the other
contained both u and w. If the plan is coherent, then both of these partial as-
semblies must have corresponded to connected subgraphs of G, hence G must
contain a path from t to v and a path from u to w containing no common edges.
Thus there must be a cycle in G including both edges (t; u) and (v; w) which
contradicts our assumption. Thus J t;u = J v;w can never be true for any plan
( ) ( )

which is coherent for a graph where the edges (t; u) and (v; w) do not both lie in
any cycle, so we have equivalence (1). The other two equivalences, (2) and (3),
follow directly from this. 2

16
We now proceed to the case where the two edges are in a cycle.

Lemma 2 Let G = (V; E ) be a contact graph and let (t; u) 2 E and (v; w) 2 E
be any two distinct edges such that there is at least one cycle in G that contains
both. Let Ptv be the set of all paths in G from vertex t to vertex v that do not
contain either of the other two vertices (u or w). Let Qtv be the set of paths p
in Ptv such that no other path in Ptv visits all the vertices visited by p. Then the
following equivalences hold for all sets of plans which are coherent for G.

SG (J t;u
( ) = J v;w ) = SG (Evw
( )
tu < J
v;w )( ) (4)
SG(J t;u
( )  J v;w ) = SG (J t;u + Evwtu < J v;w )
( ) ( ) ( ) (5)
SG (J t;u
( ) 6= J v;w ) = SG (J t;u  Evwtu )
( ) ( ) (6)
SG (J t;u
( ) < J v;w ) = SG (J t;u  J v;w + Evw
( ) ( ) (
tu )
) (7)
where Evw
tu is an expression de ned as follows (again we write addition for logical-

or and multiplication for logical-and):


0 10 1 0 10 1
X Y X Y X Y X Y
Evwtu = @ Je A @ Jf A + @ Je A @ Jf A
p2Qtv e2p q2Quw f 2q p2Quv e2p q2Qtw f 2q
Proof: Observe that Qtv is the set of minimal sets of parts that can be used
to connect part t to part v without using either of the other two parts. Any
connection between parts t and v must include all the parts in at least one of the
paths in Qtv . The existence of a cycle including the two edges ensures us that
either Qtv and Quw are both not empty or Quv and Qtw are both not empty.
First we prove equivalence (4). Let o = J t;u = J v;w be the operation that
( ) ( )

establishes these two connections. There are two possible cases:


1. The operation o joins two partial assemblies Stv and Suw where t; v 2 Stv and
u; w 2 Suw . Thus, before operation o can be performed, some connection
17
in Qtv and some connection in Quw must be established. Thus operation o
must be preceded by all the edges in at least one of the connections from t
to v and all the edges in at least one of the connections from u to v. That
is, 0 10 1
@ X Y X Y
Je A @ Jf A < o
p2Qtv e2p q2Quw f 2q
2. The operation o joins two partial assemblies Suv and Stw where u; v 2 Suv
and t; w 2 Stw . By the same argument as in the previous case, we must
have 0 10 1
@ X Y X Y
Je A @ Jf A < o
p2Quv e2p q2Qtw f 2q
Hence Evwtu < J v;w (or we could equally well write E tu < J t;u ). The reverse
( ) vw ( )

implication follows from the fact that if all but two edges in some cycle are
established, then the last two must be established simultaneously by the nal
operation.
The remaining three equivalences can be derived directly from the rst. We
expand the relation J t;u  J v;w to (J t;u < J v;w ) _ (J t;u = J v;w ) and use
( ) ( ) ( ) ( ) ( ) ( )

the preceding equivalence to translate the = relation, giving equivalence (5). The
equivalences (6) and (7) can be derived by negating the rst two expressions. 2

Finally, lemmas 1 and 2 lead to the following theorem.

Theorem 1 Let G be any connected contact graph and let C be any mating con-
straint expression which is restricted to graph G and which may contain any
combination of <, , = and 6= relations. Then there exist expressions C< and
C such that
1. both are restricted to graph G,

18
2. C< contains only < relations and C contains only  relations, and
3. both expressions are true for exactly the same set of coherent plans that are
true for C . That is, SG (C ) = SG (C< ) = SG (C ).

Thus, using the lemmas above, any constraint expression can be translated into an expression
containing only < or only  relations, and still be restricted to the same graph.
An important special case occurs when the graph is a complete graph so the graph re-
striction is e ectively removed. Then Qtv = ff(t; v)gg, Quw = ff(u; w)gg Quv = ff(u; v)gg,
and Qtw = ff(t; w)gg, so Evw tu = J J
t;v u;w + J u;v J t;w . Thus, without graph-restriction,
( ) ( ) ( ) ( )

any relation can be translated to an expression containing just four or ve < or  relations,
so the translation can be done in linear time. This is a signi cant improvement over the
translation rules in lemma 2 which could generate very large expressions for some graphs.

4.2 Translation of Local Relations


A special case applies to local relations not restricted to a graph. In this case any type of
expression can be quite simply translated into any other type of expression containing at
most twice as many relations. This is because of the following lemma.

Lemma 3 If p, q and r are any three parts then


S(J p;q < J p;r ) = S(J p;q < J q;r ) = S(J p;r = J q;r )
( ) ( ) ( ) ( ) ( ) ( ) (8)

and
S(J p;q  J p;r ) = S(J q;r  J p;r ) = S(J p;q 6= J q;r )
( ) ( ) ( ) ( ) ( ) ( ) (9)

Proof: Equation (8) can be derived from lemma 2 by setting t = v, and letting
the graph be complete. By lemma 2 we know that J t;u = J t;w is equivalent to ( ) ( )

19
J t;t J u;w + J u;t J t;w < J t;u . This simpli es to J u;w < J t;u . Equation (9) can
( ) ( ) ( ) ( ) ( ) ( ) ( )

be derived from equation (8) by negating it. 2

This gives us the basis for a strong translation theorem for local mating constraint ex-
pressions:

Theorem 2 Let C be any mating constraint expression containing only local re-
lations, which may be any combination of <, , = and = 6 relations. Then it is
possible to write equivalent expressions C< , C , C and C6 containing only local
= =

<, , = and = 6 relations respectively which are true for exactly the same set of
plans as C , that is
S(C ) = S(C< ) = S(C ) = S(C ) = S(C6 )
= =

Proof: This follows directly from lemma 3 and the fact that o < o , o  1 2 1

o ^ o 6= o and o  o , o < o _ o = o . Note that the rewritten


1 1 2 1 2 1 1 1 2

expressions will never contain more than twice as may relations as the original.
2

4.3 Translation to Mating Equivalence Constraints


We shall see later that mating equivalence constraints cannot represent all sets of plans that
can be represented by mating precedence constraints. However, it is possible to translate
mating equivalence constraints based on = relations into ones based on 6= relations. If the
original expression was restricted to some graph, then the new expression can be written so
that it is restricted to the same graph.
For the purposes of theorems in this section, it is simpler to speak in terms of disassembly,
where each disassembly operation cuts a partial assembly into two partial assemblies, than
in terms of assembly, where each assembly operation joins two partial assemblies.
20
t u t u t u t u

v w v w v w v w
case 1 case 2 case 3 case 4

t u t u t u

v w v w v w
case 5 case 6 case 7

Figure 8: Cutsets corresponding to the seven cases in lemma 4.


We will begin by proving a lemma relating to the possible ways of cutting apart a set of
four parts in an assembly:

Lemma 4 For any plan for an assembly including four parts t, u, v and w, one
and only one of the following is true.

1. J(t;u) = J(t;v) = J(t;w)


2. J(u;t) = J(u;v) = J(u;w)
3. J(v;t) = J(v;u) = J(v;w)
4. J(w;t) = J(w;u) = J(w;v)
5. J(t;v) = J(t;w) = J(u;v) = J(u;w)
6. J(t;u) = J(t;w) = J(v;u) = J(v;w)
7. J(t;v) = J(t;u) = J(w;v) = J(w;u)

Proof: Let disassembly operation o be the rst one that breaks up the set of
parts ft; u; v; wg. Operation o will divide the four parts into cutsets in one of the
seven ways shown in gure 8, since this includes every way a set of four objects
21
x
path p
op. o a
cut b

c
d

Figure 9: Operation o double-cuts path p in lemma 5.


can be divided into exactly two non-empty sets. There cannot be more than two
sets since o is a sequential operation, and neither set can contain all the parts
since o was de ned as an operation that breaks them up. It is easy to see that
each of these seven partitions occurs if and only if the corresponding expression
is true. 2

A path p is double-cut if there is some operation that breaks two or more di erent edges
in the path. Thus, path p is double-cut if and only if
_ _
Je = Jf :
e2p f 2p;f 6=e
The following lemma guarantees that not all paths between two parts can be double-cut.

Lemma 5 Let G be a coherence graph including two parts x and y connected by


a set of paths Pxy . There can be no disassembly plan coherent to graph G, that
double-cuts all paths in Pxy .
Proof: Suppose it is possible to double-cut all paths in Pxy . Some of the paths
may be double-cut more than once. Let operation o be the last disassembly
operation in which some path p in Pxy is double-cut for the rst time. Suppose

22
that the two cuts that occur at edge (a; b) and edge (c; d) as shown in gure 9.
Parts a, b, c and d must have all been in the same connected subgraph before
operation o, and since the operation is sequential and coherent, they may be in
only two connected components after operation o. For this to be true, there must
be an uncut path from a to d. But this would mean that there is still a path
from x to a to b to y that has not been double-cut, the operation o was de ned
as the operation that double-cut the last path in Pxy . Thus, by contradiction,
we conclude that it is not possible to double-cut all the paths in Pxy . 2

The following lemma demonstrates how =-relations can be translated into 6=-relations.

Lemma 6 Let G = (V; E ) be a coherence graph and let (t; u) 2 E and (v; w) 2 E
be any two distinct edges such that there is at least one cycle in G that contains
both. Let Ptv be the set of all paths in G from vertex t to vertex v that do not
contain either of the other two vertices (u or w). Then the following equivalence
holds for all sets of plans which are coherent for G.

SG (J t;u 6= J v;w ) = SG(E _ E _ E _ E _ E )


( ) ( ) 1 2 3 4 5

where
0 1
^ _@ _
E =
1 Je = Jtu _ Je = J f A
p2Ptv [Ptw e2p f 2p;f 6 e
0 =
1
^ _@ _
E =
2 Je = Jtu _ Je = Jf A
p2Puv [Puw e2p f 2p;f 6 e
0 =
1
^ _@ _
E =
3 Je = Jvw _ Je = J f A
p2Ptv [Puv e2p f 2p;f 6 e
0 =
1
^ _@ _
E =
4 Je = Jvw _ Je = Jf A
p2Ptw [Puw e2p
0 f 2p;f 6 e
=
1
^ ^ _ _@ _ _
E =
5 Je = Jd _ Je = Jf _ Jd = Jg A
p2Ptv [Ptw q2Puv [Puw e2p d2q f 2p;f 6=e g2q;g6=d

23
Proof: We rst prove that if the left side is true, then the right side is also
true. Let operation o be the rst disassembly operation that breaks up the set
ft; u; v; wg. This operation must correspond to one of the cases in lemma 4. It
could not, however, correspond to case 6 or case 7, since these cases J t;u = J v;w .
( ) ( )

Thus, one of the ve other cases must occur.


Let us consider case 1, where o = J t;u = J t;v = J t;w . This operation separates
( ) ( ) ( )

part t from parts u, v, and w. All the paths in Ptv or Ptw must be cut either by
the operation o = J t;u , or they must have been cut by some previous disassembly
( )

operations. The paths which are cut by previous disassembly operations must be
double-cut by those operations, since these previous operations did not separate
part t from v or w. Thus, it is clear that in case 1, expression E is satis ed. It
1

can be shown by similar arguments that in cases 2, 3 and 4 expressions E , E 2 3

and E are satis ed.


4

If case 5 of lemma 4 occurs, then the cut leaves t and u in one subgraph while v
and w are in the other, which means all the paths in Ptv and Ptw and all paths
in Puv and Puw are cut at the same time by operation o, or were cut by some
disassembly operations preceding operation o. As before, all paths cut previously
must have been double-cut. Thus, expression E is true when case 5 occurs.
5

Thus, we have shown that if the left side of the equation is true, then one of the
expressions in the disjunction on the right side must be true, so the right side
will be satis ed.
We now prove that if the right side is true, the left side is also true. Suppose we
assume the left side is false. Then there must be an operation J t;u = J v;w in the
( ) ( )

plan which cuts both edges (v; w) and (t; u). By sequentiality and coherence, this
operation J t;u must cut the graph into exactly two connected components, so
( )

24
some paths between the four parts must remain uncut after operation J t;u . Since
( )

all connections between t and u and between v and w are known to have been
cut, there are only two possibilities (corresponding to cases 6 and 7 of lemma 4):
1. all paths in Ptw and Puv are cut, but at least one path in each of Ptv and
Puw is uncut.
2. all paths in Ptv and Puw are cut, but at least one path in each of Ptw and
Puv is uncut.
Consider expression E . In both possible cases above there will be paths in
1

Ptv [ Ptw that are not cut by operation J t;u . For the expression to be satis ed,
( )

all those paths must have been double-cut by some other operations. But we
know by lemma 5 that this is not possible. Thus E must be false. By similar
1

arguments, we see that E , E , and E must also be false.


2 3 4

Expression E requires that for each pair of paths, one taken from Ptv [ Ptw and
5

one from Puv [ Puw , either some operation must cut both paths, or one or the
other of the paths must be double-cut by some operation. Let P and P be1 2

the sets of paths in Ptv [ Ptw and Puv [ Puw respectively which are not cut after
operation J t;u . We have already shown that neither of these sets can be empty.
( )

Since these paths were uncut after operation J t;u , they must be cut by later
( )

operations. No later operation can cut path from boths sets, because the paths
lie in separate subassemblies after operation J t;u , so no operation can a ect
( )

both. Thus, expression E can only be satis ed if either all edges in P or all
5 1

edges in P are double-cut. But lemma 5 forbids this possibility. Thus E must
2 5

be false.
Thus, since all ve terms are false, the right side of the lemma must be false,
leading to a contradiction. Thus the left side must be true. 2
25
So we conclude with a translation theorem for equivalence relations.

Theorem 3 Let G be a coherence graph and let C be a mating equivalence con-


straint expression restricted to graph G, which may contain any combination of
= and 6= relations. Then it is possible to write equivalent expressions C= and
C6= also restricted to graph G and containing only = and 6= relations respectively
which are true for exactly the same set of coherent plans as C , that is

SG (C ) = SG (C ) = SG (C6 )
= =

Proof: The fact that 6= relations can be translated into = relations follows
6 relations can
directly from lemma 6. A lemma for translating = relations into =
be constructed by taking the logical complement of both side of the equation in
lemma 6. 2

In conclusion, we have shown that expressions containing only < relations and expressions
containing only  relations are equally able to represent sets of plans, because expressions
of one form can be translated into expressions of the other form. Furthermore, using both
does not increase the representational power of the constraint language. That is not to say
that some of these forms might not have other advantages, such as compactness and ease of
generation and solution.
If the graph is complete and only local relations are used, then the expression can also be
translated into = or 6= relations. Finally, mating equivalence constraints can be translated
into pure = or 6= expressions even if the coherence graph is not complete.

26
5 Representational Power
This section de nes exactly what kinds of sets of plans can be represented by these expres-
sions. Homem de Mello and Sanderson have shown that any set of state sequences can be
represented by a constraint expression formed of < and  relations[7]. We present a stronger
theorem, that also ensures that a graph-restricted expression exists.

Theorem 4 Given any connected graph G and any set of state sequences S all
of which are coherent for the graph G, there exists a constraint expression CS
restricted to graph G and containing only < relations such that SG (CS ) = S , that
is, it is satis ed by exactly the set of plans in S .
Proof: If n is the number of parts, each state sequence s will consist of n ? 1
operations called s through sn? , which are executed in that order. Let P (sj )
1 1 1

and P (sj ) be the two sets of parts which are joined by operation sj . Let C (sj )
2

be the set of connections made by operation sj , that is the set of all edges in G
that have one endpoint in P (sj ) and one endpoint in P (sj ).
1 2

Note that for any state sequence s every connection is made once and only once,
so the set fC (sj ) : 1  j  n ? 1g is a partition of the edge set of G: Also, if s is
a state sequence that is coherent for G, then no C (sj ) can ever be empty, since
otherwise the operation would result in a disconnected subgraph.
We claim that the following mating precedence constraint expression is true for
a state sequence if and only if that state sequence is in set S .
_ n^? ^ 2 ^
CS = Jp < J q
s2S j =1 p2C (sj ) q2C (sj+1 )
It is clear that for each state sequence in S , the corresponding conjunctive term
of this expression will be true, so that CS will be satis ed for that plan.
27
Furthermore, the expression CS is only true for state sequences in S . To show
this we observe that each of the conjunctive terms can be satis ed for only one
possible state sequence. Given any edge e of the graph G, each conjunctive term
will include a chain of n ? 2 relations including Je:

Jx1 < Jx2 < : : : < Jxm < Je < Jy1 < : : : < Jyl

where m + l = n ? 2. Since the plan has only n ? 1 operations, this uniquely


determines in which step connection e must be formed. The time at which all
other edges are established will similarly be determined, so there can be only
one state sequence that satis es the conjunctive term, and this must be the state
sequence s from which it was generated, since we know s satis es the expression.
Thus CS can be satis ed only by the state sequences in the set S . 2

Thus expressions containing only < relations are sucient to describe any set of state
sequences. If the plans are all coherent for some graph G, expressions that use only mating
relations in the graph G suce to describe the set. Since < relations can be translated to 
relations, theorem 4 also holds for  relations. Furthermore, since any partial assembly tree
corresponds to a set of state sequences, we know any set of partial assembly tree can also be
represented.
On the other hand, = and 6= relations alone are not sucient to represent arbitrary sets
of state sequences. Expressions composed solely of local relations are also inadequate. To
show this, consider the two plans in gure 7. Assume one of the plans is in the set you
wish to represent, but the other is not. Only two of all the possible mating relations on the
four parts in these plans have a di erent truth value for the two plans, namely the nonlocal
relations J A;B < J C;D and J A;B  J C;D . Thus any constraint expression distinguishing
( ) ( ) ( ) ( )

between these two plans must contain one of these relations.


28
However, local relations of any type, including equivalence relations, do suce for sets of
partial assembly trees, so long as the expressions do not have to be graph-restricted.

Theorem 5 Given any set of partial assembly trees T there exists a mating
equivalence constraint expression, CT , containing only local relations such that
S(CT ) = T , that is CT is satis ed by every partial assembly tree in T and by no
other partial assembly trees. CT can be written using any type of expression.
Proof: We will prove that CT can be written using local = relations only. By
theorem 2 we know that this can be translated into an expression based on any
other type of local relation.
Each partial assembly tree t is composed of a set of n ? 1 operations which will
be labeled arbitrarily as t through tn? . Let P (tj ) and Q(tj ) be the two partial
1 1

assemblies combined in operation tj .


We claim that the following local equivalence expression is true for a partial
assembly tree if and only if that tree is in the set of partial assembly trees T .
80 1 0 19
_ ^ <@ ^ A @ ^ A
=
CT = J = J ^ J = J
t2T tj 2t : b2Q tj ?qj ;
p j ;qj
( ) p j
( ;b ) p
( j ;q
)j ( a;q j )
( ) a2P tj ?pj
( )

where pj is some arbitrary element of P (tj ) and qj is some arbitrary element of


Q(tj ).
It is clear that CT is satis ed by all plans in T . We need to show that no plan
not in T can satisfy it.
Consider the portion of the expression written in braces. Let o = J pj ;qj be ( )

whatever operation in the plan joins pj and qj . To satisfy the expression operation
o must join pj to every part in Q(tj ) and qj to every part in P (tj ). Thus operation
o must combine the two partial assemblies P (tj ) and Q(tj ). That is, P (tj )  P (o)

29
Types of Mating Constraint Expressions
Types of Plans General Graph-restricted Local
in Plan Sets  or < = or 6=  or < = or 6=  or < or = or 6=
Partial coherent Y Y Y N Y
Assembly Trees general Y Y N N Y
State coherent Y N Y N N
Sequences general Y N N N N

Table 1: Table summarizing which types of mating constraint expressions can represent
arbitrary sets of plans of di erent types. The letter "Y" indicates that any arbitrary set of
plans of the given type can be represented exactly by a mating constraint of the given type.
and Q(tj )  Q(o). If we observe that in every partial assembly tree, there must
be an operation at the root that creates the complete assembly, and there must be
operations to create exactly the partial assemblies used by that operation, then
it is clear that to satisfy this expression the plans must, in fact, be identical.
Thus each of the conjunctive terms of CT can be satis ed only by a plan containing
the same set of operations as some plan t 2 T . Thus no plan not in T can satisfy
CT . 2

Thus constraint expressions containing only local equivalence relations suce to represent
sets of partial assembly trees, while sets of state sequences require constraint expressions with
non-local precedence relations.
However, theorem 5 does not work if the expressions need to be restricted to a graph.
Suppose the contact graph is a tree. Each operation establishes just one edge. Thus equiva-
lence constraints among the edges can tell us nothing to distinguish one plan from another,
since all plans have exactly the same equivalences (namely none). Similarly, suppose there
are two edges in such a graph that do not share a vertex. Graph-restricted local constraints
cannot distinguish plans that do these in di erent orders.

30
6 Conclusions
The theorems proven here show what types of sets of plans can be described by a variety of
di erent types of mating constraint expressions. Mating precedence constraint expressions
based on < and  relations are equally powerful for the representation of sets of plans. Mat-
ing equivalence constraint expressions based on = and 6= relations are less powerful, but, if
they do not have to be graph-restricted, they can be used to represent sets of partial assem-
bly trees. These results are summarized in table 1. The fact that general  constraints can
represent arbitrary sets of state sequences was shown by Homen de Mello and Sanderson[7].
The other results are new in this paper.
In addition it has been shown that graph-restricted expression of all types can be trans-
lated into equivalent expressions written purely with < or  relations, which are still re-
stricted to the same graph. Similarly, graph-restricted mating equivalence expressions can
be translated into pure = and 6= forms. Though these translations can be done, it is not
obvious that they can be done in polynomial time. However, if the expressions need not be
graph-restricted, then the translation of the relations can always be done in linear time.

References
[1] Daniel F. Baldwin, Thomas E. Abell, Man-Cheung Max Lui, Thomas L. De Fazio, and
Daniel E. Whitney. An integrated computer aid for generating and evaluating assembly
sequences for mechanical products. IEEE J. of Robotics and Automation, 7(1):78{94,
February 1991.

[2] Thomas L. De Fazio and Daniel E. Whitney. Simpli ed generation of all mechanical
assembly sequences. IEEE J. of Robotics and Automation, RA-3(6):640{658, December
1987.
31
[3] Thomas L. De Fazio and Daniel E. Whitney. Correction to \simpli ed generation of all
mechanical assembly sequences". IEEE J. of Robotics and Automation, RA-4(6):705{
708, December 1988.

[4] Richard L. Ho man. Automated assembly in a CSG domain. In IEEE Intl. Conf. on
Robotics and Automation, pages 210{215, May 1989.

[5] Luiz Homem de Mello. Task Sequence Planning for Robotic Assembly. PhD thesis,
Carnegie Mellon University, Electrical and Computer Engineering Dept, May 1989.

[6] Luiz Homem de Mello and Arthur Sanderson. A correct and complete algorithm for
the generations of mechanical assembly sequences. IEEE Transactions on Robotics and
Automation, 7(2):228{240, April 1991.

[7] Luiz Homem de Mello and Arthur Sanderson. Representations of mechanical assembly
sequences. IEEE Transactions on Robotics and Automation, 7(2):211{227, April 1991.

[8] Y. F. Huang and C. S. George Lee. Precedence knowledge in feature mating operation
assembly planning. In IEEE Intl. Conf. on Robotics and Automation, pages 216{221,
May 1989.

[9] Y. F. Huang and C. S. George Lee. A framework of knowledge-based assembly planning.


In IEEE Intl. Conf. on Robotics and Automation, pages 599{604, April 1991.

[10] Alan C. Lin and Tien-Chien Chang. Automated assembly planning for 3-dimensional
mechanical products. In 7th Annual NSF Conference on Design and Manufacturing
Systems Research, pages 523{531, January 1991.

[11] Joseph M. Miller and Richard L. Ho man. Automatic assembly planning with fasteners.
In IEEE Intl. Conf. on Robotics and Automation, pages 69{74, May 1989.

32
[12] U. Roy, P. Bannerjee, and C. R. Liu. Design of an automated assembly environment.
Computer-Aided Design, 21(9):561{569, November 1989.

[13] Arthur C. Sanderson, Luiz S. Homem de Mello, and Hui Zhang. Assembly sequence
planning. AI Magazine, 11(1):62{81, Spring 1990.

[14] Jungfu Tsao and Jan Wolter. Assembly planning with intermediate states. In IEEE
International Conference on Robotics and Automation, volume 1, pages 71{76, May
1993.

[15] Jan Wolter. A combinatorial analysis of enumerative data structures for assembly plan-
ning. In IEEE International Conference on Robotics and Automation, pages 611{618,
April 1991.

[16] Jan Wolter. A combinatorial analysis of enumerative data structures for assembly plan-
ning. Journal of Design and Manufacturing, 2(2):93{104, June 1992.

[17] Jan Dithmar Wolter. A constraint-based approach to planning with subassemblies. In


IEEE Intl. Conf. on Systems Engineering, pages 412{415, August 1990.

[18] Jan Dithmar Wolter. Representing subassembly trees by deepest common ancestor
relations. Technical Report 90-009, Texas A&M University, Computer Science Dept.,
May 1990.

33

You might also like