410 likes | 614 Views
Designing Effective Step-By-Step Assembly Instructions Maneesh Agrawala, Doantam Phan, Julie Heiser, John Haymaker, Jeff Klingner, Pat Hanrahan and Barbara Tversky Microsoft Research and Stanford University. 1. 2. 3. 4. 5. 6. Designing Instructions. Planning
E N D
Designing Effective Step-By-Step Assembly InstructionsManeesh Agrawala, Doantam Phan, Julie Heiser, John Haymaker, Jeff Klingner, Pat Hanrahan and Barbara TverskyMicrosoft Research and Stanford University
1 2 3 4 5 6
Designing Instructions • Planning • Choose sequence of assembly operations • Robotics / AI / Mechanical Engineering[Wolter 89], [de Mello 91], [Wilson 92], [Romney 95] • Presentation • Visually convey assembly operations • Visualization / Computer Graphics[Seligmann 91], [Rist 94], [Butz 97], [Strothotte 98] We jointly optimize plan and presentation
B A A A B B A C B A C A C A C B B B Geometric Analysis [Romney 95] B blocked by A both parts free to move A blocked by B Input Parts Blocking Graph
Valid Valid Invalid Geometric Assembly Planning
Valid Valid Valid Valid Valid How do we choose the best sequence? Many Geometrically Valid Sequences
Our Approach • Identify cognitive design principles • How people conceive of 3D assemblies • How people comprehend visual instructions • Encode principles as constraints within automated design system
Identifying Design Principles • Experiment 1: Assemble and draw instructions • Experiment 2: Rate effectiveness • Experiment 3: Validate effectiveness
Sequence the Assembly Operations • Step-by-step instructions preferable Single exploded view diagram Step-by-step diagrams
Illustrate the Assembly Operations • Action diagrams preferable Structural diagrams Action diagrams
Ensure Visibility of Parts • Essential • Parts being attached • Context (show earlier parts) • Less important • All parts in a symmetric group • Repetitive operations
Automated Instruction Design • Step-by-Step • Action diagrams • Good visibility TV stand instructions generated by our system
Input • Geometry • Parts in assembled positions • Orientations • Default viewpoint / orientation • Preferred orientation for each part • Groupings • fasteners, significant parts, symmetry,similar-actions • Ordering constraints • Force one part to attach before another required optional
TV Stand Input • Geometry: Parts in assembled positions • Orientations: Default viewpoint / orientation • Groupings: fasteners, significant parts, symmetry required optional
Structural Diagrams Action Diagrams All parts Search Leftover parts Best subset of parts Sequence Parts Reorientation Sequence of assembly steps
All parts Search Leftover parts Best subset of parts Sequence Parts Reorientation Sequence of assembly steps
All parts Part subsets Sequence Parts Reorientation ...… Sequence of assembly steps All parts Search Leftover parts Best subset of parts
Sequence Parts Reorientation Sequence of assembly steps All parts Search Choose part subset Search Interference Leftover parts Best subset of parts Attachment Ordering Grouping Visibility
Computing Visibility Area(P) = # red pixels Area(P,Q) = # red pixels Area of top alone Area of top not occluded by sides Vis(P,Q) = Area(P,Q) / Area(P) % pixels that remain visible
Visibility Constraint • Current parts R min ( Vis(r, R-r) ) • Check that each part in current subset is visible • Attached parts A Vis(A, R) • Check that context is visible • Unattached parts U min ( Vis(u, R) ) • Check that future parts will be visible r Î R u Î U
Input model Lego Car
Bookcase Input model
All parts Search Leftover parts Reorientation Sequence of assembly steps • Add significant parts one by one • Visibility • Distance to viewer • Add all remaining parts • Omit repetitive operations • Skip if 2 similar-action parts already added Best subset of parts Sequence Parts
All parts Search Leftover parts Best subset of parts Sequence Parts Reorientation Sequence of assembly steps • Set preferred orientation for significant parts • If visibility of current parts is lowtry alternate oblique views
All parts Search Leftover parts Best subset of parts Sequence Parts Reorientation Sequence of assembly steps
All parts Action Diagrams Search Choose Direction Leftover parts Best subset of parts Build Stacks Sequence Parts Place Guidelines Reorientation Sequence of assembly steps Sequence of assembly diagrams
4th stackpart 3rd stackpart 2nd stackpart 1st stackpart Base Building Stacks • Stack: set of parts that • Share separation direction • Lie on a stabbing line • Are in sequential contact
1st stack part 1st stack part 1st stackpart Base Base Base Building Stacks • Stack: set of parts that • Share separation direction • Lie on a stabbing line • Are in sequential contact
Placing Guidelines • Expand stacks • Form lines between stack parts
Placing Guidelines • Expand stacks • Form lines between stack parts
Bookcase • 9 parts Planning: 48s
Table • 13 parts Planning: 28s
Test Object • 25 parts Planning: 53s
Future Work • Experiment 4: Evaluation • Time/errors as they use our instructions • Assemblies with more subparts • Take advantage of hierarchy • Apply system recursively • Physical and functional constraints • Part size and mass • Gravitational stability
Summary • Cognitive design principles • Step-by-step • Action diagrams • Good visibility • Automated instruction design system • Integrate planning and presentation
Acknowledgements • Boris Yamrom • Christina Vincent • ONR grantsN000140210534, N000140110717 and N000140010649