Title: Geometric reasoning about mechanical assembly
1Geometric reasoning about mechanical assembly
- By Randall H. Wilson and Jean-Claude Latombe
Henrik Tidefelt
2Topics
- Automatic generation of assembly algorithms
- Characterization of the complexity of assembly
designs
3Assembly tree
- An assembly algorithm (plan) is constructed by
splitting the target into smaller and smaller
subsystems. - This yields a partial order in time of assembly
instructions.
4Assembly planning using the generate-and-test
strategy
- Relax some constraints to come up with candidate
algorithms (assembly trees). - At least, the constraints imposed by the
manipulating system are ignored. - Search the candidates for globally feasible ones.
(Motion planning including the manipulating
system.)
5NDBG
- The non-directional blocking graph represents how
the parts in an assembly are constraining each
other. - It is useful for efficient generation of
candidate algorithms during assembly planning,
and also for complexity evaluation of mechanical
assemblies. - The NDBG - and hence its interpretation - is a
function of the family of motions that is
considered.
6DBG
- The directional blocking graph only takes into
consideration motions in a particular direction
d. - There is one node per part, and an arrow from
part p1 to part p2 if p2 is blocking p1 in the
direction d.
DBGs for infinitesimal translation along d
7DGB
- A strongly connected component can not be
(dis)assembled along the direction d.
8DBG
- A subset with no outgoing arcs is locally free to
translate in the direction d, - But there is no guarantee that this cut
corresponds to a globally feasible assembly plan.
9NDBG
- S, the set of all directions, can be divided into
intervals over which the DBG is constant. These
intervals are called regular regions. - The NDBG is a structure associating each regular
region with a corresponding DBG.
10Computing the NDBG
- Given an assembly of parts, we can find the
regular regions by cutting S in every direction
that is parallel with an edge in contact with
another part. - Every cutting direction is a regular region, as
are the open intervals separated by the cuts. - Compute DBG for each regular region.
11Computing the DBG
- The DBG is represented as an n by n adjacency
matrix, where n is the number of parts. - First, clear the whole matrix.
- Then, pick an arbitrary direction d in the region
and evaluate each edge contact.
12(No Transcript)
13Time complexity
- Let c be the number of edge contacts.
- There are O(c) regular regions.
- Each DBG is computed by considering c edge
contacs. - Computing a NDBG in this way takes O(c2) time.
14Improvements
- Instead of considering all c directions of edge
contact, we can look at each pair of parts in
contact and find the direction along which they
can slide along each other. - These are the only directions that need to be
considered. - Let there be r pairs of parts in contact.
Finding the r directions takes O( c r log r )
time, and after addition of the r2 time it takes
to compute all adjacency matrices, the total time
becomesO( c r2 ). - It is guaranteed that r c, and in many cases r
ltlt c.
15More improvements
- It is possible to exploit the fact that adjacent
DBGs are similar, resulting in an O( r2 )
algorithm. - If the application only makes use of one DBG at a
time, and can do that in an order so that
subsequent regular regions are also adjacent,
only one DBG needs to be stored at any time.
16Other kinds of NDBGs
- So far, we have only seen NDBGs representing
local freedom of translation in the plane, i e
limitations on infinitesimal translations in the
plane, but the NDBG is suitable for other kinds
of motions too - Infinitesimal generalized motions (local freedom
of translation and rotation) - Infinite translations
- Extension to 3D
17Complexity evaluation
- Aiming at supporting the designer of mechanical
assemblies to create products that are easy to
mass-produce and maintain. - Compare with the importance of knowing the time
and space complexity of a computer algorithm. - To automate the complexity evaluation we need
algebraic complexity measures.
18Complexity measures
There exist an algorithm where each instruction
involves at most p 1 moving subsets, and p - 1
hands are not sufficient.
- p-handed
- Monotonic?
- m-prismatic
- Stack?
- Length
- Linearizable?
- Degree of form closure
19Complexity measures
- p-handed
- Monotonic?
- m-prismatic
- Stack?
- Length
- Linearizable?
- Degree of form closure
Every instruction moves a subassembly to its
final position relative some other subassembly.
20Complexity measures
- p-handed
- Monotonic?
- m-prismatic
- Stack?
- Length
- Linearizable?
- Degree of form closure
There exist an algorithm where the instructions
move each subset in a way that can be described
by a sequence of at most m extended translations.
m - 1 is not enough.
21Complexity measures
- p-handed
- Monotonic?
- m-prismatic
- Stack?
- Length
- Linearizable?
- Degree of form closure
Length of longest sequence of instructions.
1-handed, moving only one part per instruction.
Fingers needed to grasp subassemblies with form
closure.
22Example
- The assembly has three parts, so if it is
admissible, it will be at least 2-handed
monotonic. - Given that we may only do translations, is it
1-handed monotonic? - Given translation and rotation?
232-handed monotonic
241-handed translations not monotonic
251-handed translation and rotationmonotonic
26NDBGs and complexity evaluation
- All 1-handed assembly algorithms that are correct
for infinitesimal translations can be extracted
from the assemblys NDBG. - This leaves a polynomial set of algorithms to try
to see if the assembly is 1-handed monotonic
prismatic, or linearizable for translations.
27NDBGs and complexity evaluation
- The NDBG can be used to compute an upper bound on
the number of fingers required to give a
subassembly form closure - By identifying loose parts of the assembly in the
NDBG, we can find appropriate placed to place
fingers on. - We add a finger at a time until the assembly has
the form closure property, updating the NDBG
after each modification. - (Force closure might be more practical.)
28NDBGs and complexity evaluation
- All 1-handed monotonic 1-prismatic assembly
algorithms can be extracted from the NDBG of
infinite translations. - The product is a stack iff such an algorithm can
be extracted from a single DBG.
29Conclusions
- The NDBG can be used both for generation of
assembly algorithms and for complexity evaluation
of mechanical assemblies. - Assembly planning using NDBGs is done in
generate-and-test fashion. - Complexity evaluation can help designers design
products that are suitable for mass-production
and easy to maintain.