View
219
Download
0
Tags:
Embed Size (px)
Citation preview
Assembly Planning
“A Framework for Geometric Reasoning About Tools in Assembly”
Randall H. Wilson
Presentation by Adit Koolwal & Julie Letchner
Overview
Formal categorization of tools to allow reasoning about their use Does: determine whether or not there is space to use a tool Does not:
Consider space for approach/manipulation Determine what tools to use Determine order of assembly of parts
Canonical Tools
Formal definition of a tool & its usage Three components:
Relative time of application Use volume Placement constraints
A single physical tool can map to multiple canonical tools
Relative Time of Application
Assume each tool application mates subassemblies S1 and S2 into a single subassembly S Notation: S = S1 U S2
S1 S2 S
Relative Time of Application
Pre-tools: applied to S1
Example: glue gun Post-tools: applied to S = S1 U S2
Example: welder, inspection camera
In-tools: applied to S1 and S2 under relative motion
Example: wrench, hammer Can often be approximated as pre- or post-tools
Use Volume
Volume of space required to apply a given tool Fixed with respect to canonical reference frame Doesn’t include space required for approach/manipulation
x
yUse volume & canonical
reference frame for a 45 degree wrench rotation
Placement Constraints
Restrictions on the placement of the use volume Robotics framework:
Treat the tool as a robot and the assembly parts as obstacles Model placement options as an m-dimensional configuration space 0<= m <= 4
Example: Wrench
Time of application: in-tool Approximate as: post-tool Use volume: angle swept while turning wrench Dimensionality: 1 (angle at which sweep begins)
Example: Screwdriver
Time of application: in-tool Approximate as: post-tool Use volume: volume of screwdriver Dimensionality: 0
What happens if the screwdriver need not be
absolutely verticalrelative to the screw’s axis?
Tool Applications
Target Operation for a tool is an assembly requiring the use of that tool Target Part Set of an operation is the list of parts involved in an operation
Example wrench target part set: {bolt, partX}
O is a target operation for a tool with target part set T iff: TS ^ TS1 ^ TS2
Tool Feasibility
A Tool can be applied when: Use volume U obeys placement constraints, and doesn’t intersect any other parts
Use volumes can be represented in a C-space
All configurations exist in a 6-dimensional configuration space
The C-space obstacle Ou(Pi) represents the set of configurations where U intersects part Pi
Configuration C is collision-free if and only if C satisfies all placement constraints and lies outside all C-obstacles
Tool Feasibility
Searching for use volumes takes polynomial time
Searching for collision-free use volumes is polynomial in..
the total number of surfaces describing the parts,
the use volume, and
all placement constraints
Tool Feasibility
Searching for use volumes takes polynomial time
This assumes surfaces are all algebraic of bounded degree
For 0-DOF tools, only one configuration satisfies placement constraints, so we need only check for intersection between use volume and parts
Preprocessing Steps
Preprocessing minimizes repeated computation
In preprocessing we compute interference sets
For each configuration, a tool will intersect a set of parts
We compute all interference sets. The tool application in subassembly S is feasible if and only if S has no parts from at least one of the interference sets.
Preprocessing Steps
{C}{0}
{A}
{A,B}
{B}
C
B
A
Calculating Interference Sets
• Pi is in the interference set for C if and only if C Є Ou(Pi).
• The boundaries of C-obstacles sub-divide the C-space into cells.
• The number of cells is polynomial in the number of surfaces.
Non-Directional Blocking Graphs
NDBGs model the trajectory space of an assembly
Constructing an NDBG (part one):
For an assembly A = {P1, P2, … Pn} we consider all trajectories t
Each node is a part Pi Є A. Arcs between nodes Pi and Pj
indicate that Pi will collide into Pj when moved along t
P4
P2
P5
P1 P3
Non-Directional Blocking Graphs
NDBGs model the trajectory space of an assembly
Constructing an NDBG (part two): Look for a subassembly S1 which can move along t without colliding into parts in S2 = A/S1
The NDBG of A subdivides the space of all trajectories into cells where, in a given cell, each t has the same blocking graph
P4
P2
P5
P1 P3P1 P3
P2
P5 P4
Non-Directional Blocking Graphs
Inclusion of Target Part Sets for Post-tools
Post-tool applications with target part set T impose constraints on subassemblies S1 and S2 of A:
If T is not a subset of S1 or S2, its volume must be in A
If T’s volume is not in A, then any subassembly of A must include ALL or NONE of the parts in T
Non-Directional Blocking Graphs
Inclusion of Target Part Sets for Post-tools
To include T in a blocking graph, add bidirectional arcs between every pair of parts in T
We can search for removable subassemblies that satisfy post- tool constraints in polynomial time by looking for cells whose blocking graphs are weakly connected
Experimentation
Tool Feasibility Only 0-DOF tool feasibility has been implemented to date
Testing Geometric Tool Constraints Tool constraints were tested on three assemblies, including the “discriminator,” which requires 55 laser spot welds, 8 uses of a Phillips screwdriver, 4 uses of a hex L-wrench, 4 subassembly test, and one use of pliers Archimedes found a tool level assembly plan in 50 seconds on an SGI 100 MHz R4000 Indigo II Extreme Workstation
Conclusions
Framework can ultimately represent many tools
Framework can support multiple simultaneous tool applications
Future Extensions Allow for parameterized placement constraints as opposed to assuming fixed placement constraints
Allow for parameterized use volumes
Handle tool collisions