geometric reasoning about mechanical assembly randall h. wilson and jean-claude latombe andreas...

26
Geometric Reasoning About Mechanical Assembly Randall H. Wilson and Jean-Claude Latombe Andreas Edlund <[email protected]> Romain Thibaux <[email protected]>

Post on 19-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Geometric Reasoning About Mechanical Assembly

Randall H. Wilson and Jean-Claude Latombe

Andreas Edlund <[email protected]>Romain Thibaux <[email protected]>

Assembly planning

● Assembly planning:– Initially:

● A bunch of loose pieces.

– Goal:● An assembled product.

● Uses:– Find assembly sequence.– Help contruct the building robots.– Analyze complexity of the product.

Virtual Manipulation Systems

● Hierachical approach.– First find just the sequence to assemble the product in

the first iteration.– Introduce actual assembly robot in later iterations.

● In this paper:– Free flying parts.

Assembly instruction

● m is a subset of parts of the assembly.● An assembly instruction:

– Changes m's position and orientation.– Maintains the relative positions of the parts in m.

● m is a subassembly.

Assembly algorithm

● The algorithm is represented as a partial ordering where the nodes are assembly instructions.

● The algorithm is correct if all instructions represent collision-free motions.

Blocking structure

● The goal assembly is considerably more constrained than initial state.

● Start from goal and search backwards.

Blocking graph

● Previous approach:– Generate-and-test.

● Generate-and-test is inefficient because the contact analysis is done many times for no reason.

● Better to do a complete contact analysis first and store it.– A blocking graph is a compact representation of the

results of this analysis.

Directional blocking graph

● Represents how the parts block each other in the assembly in every direction.

● A graph for each direction.

Directional blocking graph

● Various kinds of blocking graphs:– Infinitesimal translation.– Infinite translation.– Generalized motions (with rotations as well).

Terminology

● Locally free– Can translate infinitesimally in direction d without

collision.● Strongly connected component

– Maximal subassembly such that for every pair of parts, a path exists between them.

Non-directional blocking graph

● Separate the set of directions into regular regions.● One directional blocking graph per region.

Non-directional blocking graph

● Isolate every pair of parts that are in contact.

Non-directional blocking graph

● Find cone of allowed directions.

Non-directional blocking graph

● Each regular region represent a separate relationship between the part.

Non-directional blocking graph

● Repeat for next pair in contact.

Incremental updates

● Build the NDBG during the design of the product.● Modification of a part can be represented as a

deletion followed by an addition of a part.● Delete:

– Remove the corresponding node and all arcs connected to it.

● Add:– The a node and arcs to the other parts that are in contact.

3D

3D

Face

Edge

Vertex

A

B

C

3DIncrementalA

B

C

1

100 01

0

1

3DIncrementalA

B

C AC

B

20 11 02

Infinite translations

S5

3 Translations

+3 Rotations

Translations + rotations

Complexity measures

Complexity measures

Complexity measures

A

B

C

Blocking Graph

A

B

A

B

C

Assembly sequence

Complexity measures

NDBG

…and more !(next article)

Summary