• Aucun résultat trouvé

MASSACHUSETTS INSTITUTE OF TECHNOLOGY ARTIFICIAL INTELLIGENCE LABORATORY A.I. Technical Report No.  March,  

N/A
N/A
Protected

Academic year: 2022

Partager "MASSACHUSETTS INSTITUTE OF TECHNOLOGY ARTIFICIAL INTELLIGENCE LABORATORY A.I. Technical Report No.  March,  "

Copied!
207
0
0

Texte intégral

(1)

MASSACHUSETTS INSTITUTE OF TECHNOLOGY ARTIFICIAL INTELLIGENCE LABORATORY

A.I. Technical Report No. 1573 March, 1996

SketchIT: a Sketch Interpretation Tool

for Conceptual Mechanical Design

Thomas F. Stahovich

This publication can be retrieved by anonymous ftp to publications.ai.mit.edu.

Abstract

We describe a program called SketchITcapable of producing multiple families of designs from a single sketch.

The program is given a rough sketch (drawn using line segments for part faces and icons for springs and kinematic joints) and a description of the desired behavior. The sketch is \rough" in the sense that taken literally, it may not work. From this single, perhaps awed sketch and the behavior description, the program produces an entire family of working designs. The program also produces design variants, each of which is itself a family of designs.

SketchITrepresents each familyof designs with a \behavior ensuring parametric model" (BEP- Model), a parametric model augmented with a set of constraints that ensure the geometry provides the desired behavior. The construction of the BEP-Model from the sketch and behavior description is the primary task and source of diculty in this undertaking.

SketchIT begins by abstracting the sketch to produce a qualitative conguration space (qc- space) which it then uses as its primary representation of behavior. SketchITmodies this initial qc-space until qualitative simulation veries that it produces the desired behavior.

SketchIT's task is then to nd geometries that implement this qc-space. It does this using a library of qc-space fragments. Each fragment is a piece of parametric geometry with a set of constraints that ensure the geometry implements a specic kind of boundary (qcs-curve) in qc-space.

SketchITassembles the fragments to produce the BEP-Model.

SketchITproduces design variants by mapping the qc-space to multiple implementations, and by transforming rotating parts to translating parts and vice versa.

Copyright cMassachusetts Institute of Technology, 1996

This report describes research done at the Articial Intelligence Laboratory of the Massachusetts Institute of Tech- nology. Support for this research was provided in part by the Advanced Research Projects Agency of the Department of Defense under Oce of Naval Research contract N00014-91-J-4038.

(2)

Conceptual Mechanical Design

Thomas F. Stahovich by

B.S., University of California, Berkeley (1988) S.M., Massachusetts Institute of Technology (1990)

This is an edited version of a document originally submitted to the Department of Mechanical Engineering in partial fulllment of the requirements for the degree of

Doctor of Philosophy at the

MASSACHUSETTS INSTITUTE OF TECHNOLOGY

May 1995

(3)

3

SketchIT

: a Sketch Interpretation Tool for Conceptual Mechanical Design

Thomas F. Stahovich by

Originally submitted to the Department of Mechanical Engineering on May 29, 1995, in partial fulllment of the

requirements for the degree of Doctor of Philosophy

Abstract

We describe a program called SketchIT capable of producing multiple families of designs from a single sketch.

The program is given a rough sketch (drawn using line segments for part faces and icons for springs and kinematic joints) and a description of the desired behavior.

The sketch is \rough" in the sense that taken literally, it may not work. From this single, perhaps awed sketch and the behavior description, the program produces an entire family of working designs. The program also produces design variants, each of which is itself a family of designs.

SketchITrepresents each family of designs with a \behavior ensuring parametric model" (BEP-Model), a parametric model augmented with a set of constraints that ensure the geometry provides the desired behavior. The construction of the BEP- Model from the sketch and behavior description is the primary task and source of diculty in this undertaking.

SketchIT begins by abstracting the sketch to produce a qualitative congura- tion space (qc-space) which it then uses as its primary representation of behavior.

SketchIT modies this initial qc-space until qualitative simulation veries that it produces the desired behavior.

SketchIT's task is then to nd geometries that implement this qc-space. It does this using a library of qc-space fragments. Each fragment is a piece of parametric geometry with a set of constraints that ensure the geometry implements a specic kind of boundary (qcs-curve) in qc-space. SketchIT assembles the fragments to produce the BEP-Model.

SketchIT produces design variants by mapping the qc-space to multiple imple- mentations, and by transforming rotating parts to translating parts and vice versa.

Thesis Supervisor: Professor Randall Davis Thesis Supervisor: Professor Warren P. Seering

(4)

Acknowledgments

It was a tremendous pleasure to work with Randall Davis and Howard Shrobe. They are gifted advisors, insightful teachers, generous with encouragement, and exacting in their standards.

I am extremely grateful to Warren Seering for his sage advice, careful guidance, and constant encouragement in matters both academic and professional.

A special thanks goes to George Celniker, a friend and mentor.

A special thanks also goes to Glenn Kramer who, among other things, introduced me to the AI Lab and the circuit breaker example.

To Kenji Shimada, a great friend and teacher of Japanese culture.

To Leslie Regan for truly caring about students.

To SLCS, especially Bob Young and Jahir Pabon.

To Ron Wiken for building great models of circuit breakers and such, and for being a good friend.

To Mike Wessler for writing the sketching interface.

To Kevin O'Brien for proofreading the thesis.

To my ocemates, Brian Anthony, Mark Nahabedian, John Morrell, and Peng Wu:

it was fun.

To my many other friends at the AI Lab: Phillip Alvelda, Mike Caine, Robert Irie, Akhil Madhani, Laurel Simmons, and Leon Wong.

To the sta and students of the AI Lab, who make it a great place to be.

Finally, thanks to my parents, Arthur and Marjorie, and my brothers, Jim, Greg, Mark, Dave, and Steve for their unconditional love, support, and encouragement.

Without them, I could not have done this.

Support for this project was provided by the Advanced Research Projects Agency of the Department of Defense under Oce of Naval Research contract N00014-91-J-4038.

(5)

Contents

1 Introduction 15

1.1 Project Overview : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15 1.1.1 Context : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15 1.1.2 The Task : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15 1.1.3 Examples : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16 1.1.4 Motivation: : : : : : : : : : : : : : : : : : : : : : : : : : : : : 29 1.2 The Approach : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 29 1.2.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 29 1.2.2 The Representation : : : : : : : : : : : : : : : : : : : : : : : : 30 1.2.3 Problem Solving Paradigm : : : : : : : : : : : : : : : : : : : : 32 1.2.4 Implementation: System Overview : : : : : : : : : : : : : : : 32 1.2.5 Assumptions: : : : : : : : : : : : : : : : : : : : : : : : : : : : 34 1.3 Guide to This Document : : : : : : : : : : : : : : : : : : : : : : : : : 35

2 The Representation: QC-Space 37

2.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 37 2.2 Conguration Space : : : : : : : : : : : : : : : : : : : : : : : : : : : 38 2.2.1 Representing Engagement Faces : : : : : : : : : : : : : : : : : 38 2.2.2 Periodic Boundary Conditions : : : : : : : : : : : : : : : : : : 41 2.2.3 Representing Springs, Actuators, and Fixed Surfaces : : : : : 42 2.2.4 Computing Motion Using C-Space: : : : : : : : : : : : : : : : 43 2.3 Qualitative Conguration Space : : : : : : : : : : : : : : : : : : : : : 48 2.4 Using QC-Space to Fix a Sketch : : : : : : : : : : : : : : : : : : : : : 51

3 The QC-Space Generator 55

3.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 55 3.2 Abstracting C-Space to QC-Space : : : : : : : : : : : : : : : : : : : : 57 3.3 Reducing Search : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 58 3.3.1 Mapping to QC-Space: Small Targets : : : : : : : : : : : : : : 58 3.3.2 Debugging Rules : : : : : : : : : : : : : : : : : : : : : : : : : 59

4 The Simulator 61

4.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 61 5

(6)

4.2 Forces : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 63 4.2.1 Force Projections : : : : : : : : : : : : : : : : : : : : : : : : : 63 4.2.2 Spring Forces : : : : : : : : : : : : : : : : : : : : : : : : : : : 65 4.2.3 Engagement Forces : : : : : : : : : : : : : : : : : : : : : : : : 65 4.2.4 Engagement Types : : : : : : : : : : : : : : : : : : : : : : : : 68 4.3 Interface Motion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 69 4.4 Computing Motion : : : : : : : : : : : : : : : : : : : : : : : : : : : : 70 4.5 The Next Event : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 75 4.5.1 Events in the Plane : : : : : : : : : : : : : : : : : : : : : : : : 75 4.5.2 Computing Which Events Happen First : : : : : : : : : : : : 80 4.5.3 Unordered Landmarks : : : : : : : : : : : : : : : : : : : : : : 87 4.6 Intersection Points : : : : : : : : : : : : : : : : : : : : : : : : : : : : 89 4.6.1 The Intersection Between Two Diagonal Qcs-Curves: : : : : : 89 4.6.2 The Intersection Between a Diagonal Qcs-Curves and an In-

nite Boundary : : : : : : : : : : : : : : : : : : : : : : : : : : : 91 4.6.3 Enumerating Possible I-Point Locations : : : : : : : : : : : : : 94 4.7 Periodic Boundary Conditions : : : : : : : : : : : : : : : : : : : : : : 94 4.8 Setting Up the Next Step : : : : : : : : : : : : : : : : : : : : : : : : 97 4.8.1 Keeping Track of Engagements : : : : : : : : : : : : : : : : : 97 4.8.2 Trial Steps: : : : : : : : : : : : : : : : : : : : : : : : : : : : : 98 4.9 Controlling The Simulation : : : : : : : : : : : : : : : : : : : : : : : 98 4.9.1 External Inputs : : : : : : : : : : : : : : : : : : : : : : : : : : 98 4.9.2 Computing Initial Positions : : : : : : : : : : : : : : : : : : : 99 4.9.3 Will The Simulation Terminate?: : : : : : : : : : : : : : : : : 99 4.10 Examples: Envisionments : : : : : : : : : : : : : : : : : : : : : : : : 101

5 The Tester 105

5.1 Current Implementation : : : : : : : : : : : : : : : : : : : : : : : : : 105 5.2 A More Powerful Tester : : : : : : : : : : : : : : : : : : : : : : : : : 106 5.2.1 Extending the Behavior Specication Language : : : : : : : : 106 5.2.2 Extending the Tester : : : : : : : : : : : : : : : : : : : : : : : 107

6 The Motion Type Selector 109

6.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 109 6.2 Abstracting Away Motion Type : : : : : : : : : : : : : : : : : : : : : 109

7 The Interaction Library 111

7.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 111 7.2 The library : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 112 7.2.1 Cam and Oset Follower : : : : : : : : : : : : : : : : : : : : : 113 7.2.2 Cam and Centered Follower : : : : : : : : : : : : : : : : : : : 120 7.3 Parasitic Interactions : : : : : : : : : : : : : : : : : : : : : : : : : : : 125 7.4 Where to Attach the Faces : : : : : : : : : : : : : : : : : : : : : : : : 127

(7)

CONTENTS 7 7.5 Assembling the BEP-Model : : : : : : : : : : : : : : : : : : : : : : : 135 7.6 Exporting to DesignView : : : : : : : : : : : : : : : : : : : : : : : : : 140 7.7 Periodic Boundary Conditions : : : : : : : : : : : : : : : : : : : : : : 142

8 Related Work 145

8.1 Design Automation : : : : : : : : : : : : : : : : : : : : : : : : : : : : 145 8.1.1 Bond Graph Approaches : : : : : : : : : : : : : : : : : : : : : 145 8.1.2 Kinematic Building Blocks : : : : : : : : : : : : : : : : : : : : 146 8.2 Shape Design : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 146 8.3 Sketch Understanding : : : : : : : : : : : : : : : : : : : : : : : : : : 147 8.4 Qualitative Physics : : : : : : : : : : : : : : : : : : : : : : : : : : : : 148 8.5 Simulation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 149 8.6 Computing Numerical C-Space : : : : : : : : : : : : : : : : : : : : : 149 8.7 Component-Connection Models : : : : : : : : : : : : : : : : : : : : : 150 8.8 Reverse Engineering : : : : : : : : : : : : : : : : : : : : : : : : : : : 151 8.9 Geometric Features : : : : : : : : : : : : : : : : : : : : : : : : : : : : 151 8.10 Representing Function : : : : : : : : : : : : : : : : : : : : : : : : : : 152 8.11 Algebraic Constraints : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

9 Discussion 155

9.1 Contributions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155 9.1.1 Turning a Sketch into Working Geometry. : : : : : : : : : : : 155 9.1.2 Speaking the Engineer's Language: : : : : : : : : : : : : : : : 156 9.1.3 Design Variants : : : : : : : : : : : : : : : : : : : : : : : : : : 156 9.1.4 QC-Space: As a Representation : : : : : : : : : : : : : : : : : 157 9.1.5 The Library : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158 9.1.6 Ecient Simulation : : : : : : : : : : : : : : : : : : : : : : : : 158 9.2 Future Work : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 159 9.2.1 Extensions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 159 9.2.2 The Vision: : : : : : : : : : : : : : : : : : : : : : : : : : : : : 163

A Interaction Library 165

A.1 Pushing: Rotation & Translation : : : : : : : : : : : : : : : : : : : : 166 A.1.1 Cam and Oset Follower : : : : : : : : : : : : : : : : : : : : : 166 A.1.2 Cam and Centered Follower : : : : : : : : : : : : : : : : : : : 168 A.2 Pushing: Rotation & Rotation I : : : : : : : : : : : : : : : : : : : : : 170 A.3 Pushing: Rotation & Rotation II : : : : : : : : : : : : : : : : : : : : 174 A.4 Pushing: Translation & Translation : : : : : : : : : : : : : : : : : : : 175 A.5 Fixed Rotor-Stop : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 177 A.6 Rotating Rotor-Stop : : : : : : : : : : : : : : : : : : : : : : : : : : : 179 A.7 Translating Rotor-Stop : : : : : : : : : : : : : : : : : : : : : : : : : : 180 A.8 Fixed Slider-Stop : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 182 A.9 Rotating Slider-Stop : : : : : : : : : : : : : : : : : : : : : : : : : : : 184

Références

Documents relatifs

The torque F(t) de- pends on the visual input; it was found (see Reichardt and Poggio, 1976) that it can be approximated, under situations of tracking and chasing, as a function

We now provide some simulations conducted on arbi- trary functions of the class of functions with bounded derivative (the class F ): Fig. 16 shows 4 arbitrary se- lected

When a user's load or store instruction traps to software on a LTLB miss, a message is sent to a remote node to per- form the access. While slower than local accesses, a re-

In the rst stage the basis function parameters are de- termined using the input data alone, which corresponds to a density estimation problem using a mixture model in

The F-B algorithm relies on a factorization of the joint probability function to obtain locally recursive methods One of the key points in this paper is that the

Three criteria were used to measure the performance of the learning algorithm: experts' parameters deviation from the true values, square root of prediction MSE and

Although the applications in this paper were restricted to networks with Gaussian units, the Probability Matching algorithm can be applied to any reinforcement learning task

This paper describes a new method for lens distortion calibration using only point correspondences in multiple views, without the need to know either the 3D location of the