Title: AssemblyDisassembly Planning and Sequencing
1Assembly/Disassembly Planning and Sequencing
Based on
Disassembly Sequencing Using a Motion Planning
Approach Sundaram, Remmler, Amato (2001)
Geometric Reasoning about Mechanical
Assembly Wilson, Latombe (1994)
2Assembly/Disassembly Problem
-Sandia National Labs
3Ground Rules
- Assemblies are composed of component parts that
can be divided into subassemblies - Assembly and disassembly are related
- Assembled products have more constraints
- Assembly can be derived from disassembly
- Disregard tools and robotic manipulators
- Implementation of algorithm is separate problem
- Treat each part of assembly as free-moving robot
- All contact between components is Edge-Edge
4Assembly Planning Basics
- Problem is of two interrelated parts
- Motion planning for subassemblies
- Sequencing of motions
- Early Attempt
- computer performs generate-and-test assembly
sequencing - Brute force subassembly decomposition
- Exponential time in the number of parts
5Motion Planning Approach
- Treat each component of assembly as a robot
- Use PRM to plan path and sequence (AssemblyPRM)
- Handles high-dimensional C-space well
- Suffers from extremely narrow passages
Zero clearance
6Directional Sampling
- Determine best direction for sampling
- Use geometry of components
Sampling Cones
7Determine Direction
- Simple approach
- Use normal to adjacent faces
- Doesnt always work
- Only normals are considered in AssemblyPRM
- Requires face normal to narrow passage
Blocked Motion
Valid Motion
8Directional Blocking Graph -Wilson, Latombe
- Properties of DBG
- Based on internal structure of assembly
- Shows how components block each other
- One graph for each direction
- Translations only
9Non-Directional Blocking Graph
- Describe translations in directions
- Translations represented within unit circle
- Circle is divided into regions
- Regions correspond to translations of parts
- DBG is constant within each region
10Using Translation Cone
- NDBG translations are represented by unit circle
- Diameters of circle are drawn parallel to contact
edges - Regions represent a range of translations with
common DBG
11Using Translation Cone
12Find Blocking Relations
- Sample random vectors
- One vector v per region
- Dot Product of v and edge normal
- Blocking condition if strictly positive
R1
R2
R4
R3
13Find Blocking Relations
- Sample random vectors
- One vector v per region
- Dot Product of v and edge normal
- Blocking condition if strictly positive
R1
R2
R4
R3
14Find Blocking Relations
- Sample random vectors
- One vector v per region
- Dot Product of v and edge normal
- Blocking condition if strictly positive
v1
v1
R1 v1 N1 lt 0 v1 N2 lt 0
R1
N1
N2
R2
R4
R3
15Find Blocking Relations
- Sample random vectors
- One vector v per region
- Dot Product of v and edge normal
- Blocking condition if strictly positive
v1
v1
R1 v1 N1 lt 0 v1 N2 lt 0
R1
N1
N2
R2
R4
R2 v2 N1 lt 0 v2 N2 gt 0
N1
N2
R3
v2
v2
16Using NDBG
- Given NDBG G
- Region R
- Direction d
- Part P
- Pi is free to translate in direction d if node Pi
in G(R,d) contains no arcs
173D NDBG
- Translation directions are represented in unit
sphere - Plane-plane contacts are represented as arcs of
circles - Resultant regions are of dimensions 2, 1, and 0
(corresponding to faces, edges, and vertices)
18NDBG with Rotations
- Attach Cartesian frame to each part
- 3D vector describes motion
- Motion is from one frame to another
- D (dx, dy, ? )
- Jacobian matrix gives blocking relations
19Back to AssemblyPRM
- Model assembly as stack S of configurations
- Loop until disassembled
- Pop configurations from S
- Sample new configurations - Expand()
- Push configurations on S
- Add configurations to roadmap
- Component parts are at pre-determined distance
from each other
20Expand Function
- Determine direction for sampling
- Amatos group used face normals
- Might be able to use NDBG
- Sample nodes
- How many? More than one but the paper doesnt
specify - Check for collision
- Return set of sampled configurations
21Additions to AssemblyPRM
- Subassemblies
- Treat groups of component parts as one unit
- Simultaneous Disassembly
- Multiple parts must be moved in a coordinated
fashion - Rotations
22Simultaneous Disassembly
- More than one part must be moved at a time
- In algorithm
- First try to find a serial disassembly sequence
- If step 1 fails, try two parts simultaneously
- Continue to increase until a sequence is found
-Latombe
23Subassemblies
- Treat group of parts as single unit
- Plan disassembly
- Identify promising subassemblies
- Generate translation directions
24Implementation/Assumptions
- Direction function uses contact edge normals to
identify removal directions - Algorithm will fail on assemblies that do not
contain edges normal to the direction required
for disassembly - Paper does not discuss this limitation, or how it
would fare with a more robust direction function
25Experimental Results
- AssemblyPRM
- Face normals for direction
- Translations only
- Subassemblies not seen in results
- Paper doesnt specify if the algorithm uses
subassemblies - 3D models
- Some constrained to motions in 2D
26Experimental Results Swap
Pure PRM (2 robots, 337 s)
AssemblyPRM (2 robots, 10 s)
27Experimental Results Puzzle
AssemblyPRM (6 parts, 37 s)
28Experimental Results Puzzle_Blocked
AssemblyPRM(6 parts, 91 s)
29Experimental Results Puzzl3d
AssemblyPRM(10 parts, 211 s)
30Experimental Results Pentomino
AssemblyPRM(12 parts, 1723 s)
31Conclusions
- PRM techniques allow for disassembly planning
- AssemblyPRM works well on most experimental cases
- Experiment was limited
- No rotations
- No subassemblies
- Part selection not optimized, as seen in
Pentomino puzzle - Direction algorithm may be limited
32Conclusions
- NDBG Provides method of describing translations
in all directions - Disassembly Planning is for small motions
- Implementation is not considered
33Impact of Tools on Assembly
With Tools
Without Tools
34Future work
- Integrate NDBG and AssemblyPRM
- Add rotation and subassembly planning to
AssemblyPRM
35References
- Sujay Sundaram, Ian Remmler, Nancy M. Amato,
"Disassembly Sequencing Using a Motion Planning
Approach", In Proc. IEEE Int. Conf. Robot. Autom.
(ICRA), pp. 1475-1480, May 2001 - R.H. Wilson and J.C. Latombe. Geometric Reasoning
About Assembly. Artificial Intelligence, 71(2),
1994.