86
Interactive, Interactive, Procedural Procedural Computer-Aided Computer-Aided Design Design Carlo H. Séquin EECS Computer Science Division University of California, Berkeley CAD/Graphics, Hong Kong, Dec. 7-10, 2005

Interactive, Procedural Computer-Aided Design

Embed Size (px)

DESCRIPTION

CAD/Graphics, Hong Kong, Dec. 7-10, 2005. Interactive, Procedural Computer-Aided Design. Carlo H. Séquin EECS Computer Science Division University of California, Berkeley. CAD Tools for the Early and Creative Phases of Design. Tutorial E-CAD Examples  Lessons for M-CAD, CAGD. - PowerPoint PPT Presentation

Citation preview

Page 1: Interactive, Procedural Computer-Aided Design

Interactive, Procedural Interactive, Procedural Computer-Aided Computer-Aided

DesignDesign

Carlo H. Séquin

EECS Computer Science Division

University of California, Berkeley

CAD/Graphics, Hong Kong, Dec. 7-10, 2005

Page 2: Interactive, Procedural Computer-Aided Design

CAD Tools for the CAD Tools for the Early and Creative Early and Creative Phases of DesignPhases of Design

Tutorial

E-CAD Examples

Lessons for M-CAD, CAGD

Page 3: Interactive, Procedural Computer-Aided Design

OutlineOutline

Parametric Procedural Design

Computer-Aided Optimization / Synthesis

CAD Tools for the Early Phases of Design

Evolution (G.A.) versus Intelligent Design

Towards an Integrated CAD Environment

I. The Power of Parametric Procedural Design

Page 4: Interactive, Procedural Computer-Aided Design

Julia Sets, Mandelbrot Set, FractalsJulia Sets, Mandelbrot Set, Fractals

Defined by just a few numbers ...

Page 5: Interactive, Procedural Computer-Aided Design

Sculptures by Brent Collins (1980-94)Sculptures by Brent Collins (1980-94)

Page 6: Interactive, Procedural Computer-Aided Design

““Sculpture Generator I” – Basic ModulesSculpture Generator I” – Basic Modules

Normal“biped”saddles

Generalization to higher-order saddles(monkey saddle) Scherk tower

Page 7: Interactive, Procedural Computer-Aided Design

Closing the LoopClosing the Loop

straight

or

twisted

Page 8: Interactive, Procedural Computer-Aided Design

““Sculpture Generator I”, GUI Sculpture Generator I”, GUI

These parameters define sculpture; = “genome”

Page 9: Interactive, Procedural Computer-Aided Design

Brent Collins & Hyperbolic Hexagon IIBrent Collins & Hyperbolic Hexagon II

Page 10: Interactive, Procedural Computer-Aided Design

12-foot Snow Sculpture12-foot Snow Sculpture

Silver medal, Breckenridge, Colorado, 2004

Page 11: Interactive, Procedural Computer-Aided Design

. . . and a Whole Lot of Plastic Models. . . and a Whole Lot of Plastic Models

Page 12: Interactive, Procedural Computer-Aided Design

Bronze SculptureBronze Sculpture

Done by investment casting from FDM original

Page 13: Interactive, Procedural Computer-Aided Design

““Natural” Forms by Albert Kiefer, Natural” Forms by Albert Kiefer, sent by Johan Gielis, developer of supergraphxsent by Johan Gielis, developer of supergraphx

made with supergraphx www.genicap.com

Page 14: Interactive, Procedural Computer-Aided Design

The “genome” is the ultimate The “genome” is the ultimate parameterization of a design,parameterization of a design,given the proper proceduregiven the proper procedure

to interpret that codeto interpret that code

Without the proper framework, the genome is meaningless. (e.g., human DNA on a planet in the Alpha-Centauri System)

Page 15: Interactive, Procedural Computer-Aided Design

ProEngineerProEngineer

Parametric design of technical objects

This captures only its form – What about its function ?

Page 16: Interactive, Procedural Computer-Aided Design

What Shape Has the Right Functionality?What Shape Has the Right Functionality?

Page 17: Interactive, Procedural Computer-Aided Design

How Do We Know What Makes a Good How Do We Know What Makes a Good Design With Proper Functionality ? Design With Proper Functionality ?

Traditional Approach: Trial and Error (T&E)

e.g. a comfortable razor ?or a better mouse-trap ?

Page 18: Interactive, Procedural Computer-Aided Design

T&E: OK for Early Flying MachinesT&E: OK for Early Flying Machines

Page 19: Interactive, Procedural Computer-Aided Design

T&E: Not OK for Nuclear Power PlantsT&E: Not OK for Nuclear Power Plants

OK ! – this one seems to work !!

Page 20: Interactive, Procedural Computer-Aided Design

CAD for Design VerificationCAD for Design Verification

Do expensive or dangerous experiments on the computer.

Use: calculations, analysis, simulation...

E.g., SPICE (Simulation Program with Integrated Circuit Emphasis),L. W. Nagel and D. O. Pederson (1972)

Page 21: Interactive, Procedural Computer-Aided Design

SPICE – Input: Circuit DiagramSPICE – Input: Circuit Diagram

Page 22: Interactive, Procedural Computer-Aided Design

SPICE Output: Voltage & Current TracesSPICE Output: Voltage & Current Traces

Page 23: Interactive, Procedural Computer-Aided Design

Heuristics + Analysis ProgramsHeuristics + Analysis Programs Computer-Aided Synthesis Computer-Aided Synthesis

Generate new designs based on well-established heuristics.

Use evaluation CAD tools in an inner loop.

Now: Parameterize the desired function.

First proven in domain of modular circuits (logic circuits, filters, op-amps ...)

Page 24: Interactive, Procedural Computer-Aided Design

Parameterized Functional SpecsParameterized Functional Specs

Parameters for a band-pass filter

Page 25: Interactive, Procedural Computer-Aided Design

Parameterized Filter SynthesisParameterized Filter SynthesisH. De Man, J. Rabaey, P. Six, L. Claegen,

“CATHEDRAL-II : A Silicon compiler for Digital Signal Processing”, 1986.

16-tap symmetrical filter

Architecture of dedicated data path

Page 26: Interactive, Procedural Computer-Aided Design

Add: Add: Computer-Aided OptimizationComputer-Aided Optimization

Use evaluation CAD tools

+ a local optimization step

as an inner loop in a search procedure.

Page 27: Interactive, Procedural Computer-Aided Design

OPASYNOPASYNA Compiler for CMOS Operational AmplifiersA Compiler for CMOS Operational Amplifiers

H.Y. Koh, C.H. SH.Y. Koh, C.H. Séquin, P.R. Gray, 1990équin, P.R. Gray, 1990

Synthesizing on-chip operational amplifiers to given specifications and IC layout areas.

1. Case-based reasoning (heuristic pruning)selects from 5 proven circuit topologies.

2. Parametric circuit optimization to meet specs.

3. IC layout generation based on macro cells.

Page 28: Interactive, Procedural Computer-Aided Design

MOS Operational Amplifier (1 of 5)MOS Operational Amplifier (1 of 5)

Only five crucial design parameters !

Page 29: Interactive, Procedural Computer-Aided Design

Op-Amp Design (OPASYN, 1990)Op-Amp Design (OPASYN, 1990)

Multiple Objectives:

output voltage swing (V)

output slew rate (V/nsec)

open loop gain ()

settling time (nsec)

unity gain bandwidth (MHz)

1/f-noise (V*Hz-½)

power dissipation (mW)

total layout area (mm2)

“Cost” of Design = weighted sum of deviations

Optimization:minimize cost

Page 30: Interactive, Procedural Computer-Aided Design

OPASYN Search MethodOPASYN Search Method

5D design-parameter spaceRegular sampling followed by gradient ascent

Hard design constraints

Fitness(GOOD)

Cost(BAD)

Page 31: Interactive, Procedural Computer-Aided Design

MOS Op-Amp LayoutMOS Op-Amp Layout

Following circuit synthesis & optimization, other heuristic optimization procedures produce layout with desired aspect ratio.

Page 32: Interactive, Procedural Computer-Aided Design

Synthesis in Established FieldsSynthesis in Established Fields

Filter design and MOS Op-Amp synthesishave well-established engineering practices.

Efficiently parameterized designs as well asrobust and efficient design procedures exist.

Experience is captured in special-purpose programs and used for automated synthesis.

But what if we need to design something new in “uncharted engineering territory” ?

Page 33: Interactive, Procedural Computer-Aided Design

Uncharted TerritoryUncharted Territory

Task: Design a robot that climbs trees !Task: Design a robot that climbs trees !

How do you get started ??How do you get started ??

Page 34: Interactive, Procedural Computer-Aided Design

An Important New Phase An Important New Phase is Prepended to the Design Process:is Prepended to the Design Process:

Idea Generation, Exploration ...

Page 35: Interactive, Procedural Computer-Aided Design

Three Phases of DesignThree Phases of Design Exploration: -- Generating concepts

Sanity Check: -- Are they viable ?

Schematic Design

Fleshing out: -- Considering the constraints

Optimization: -- Find best feasible approach

Detailed Design

Design for Implementation: -- Consider realization

Refinement: -- Embellishments

Construction Drawings

III

II

I

The CAD Wave

Page 36: Interactive, Procedural Computer-Aided Design

Quality / Maturity of CAD ToolsQuality / Maturity of CAD Tools

Gathering ideas, generating concepts

POOR

Schematic Design

Considering constraints, finding best approach

MARGINAL

Detailed Design

Refinement, embellishments, realization

GOOD

Construction Drawings

III

II

I

Page 37: Interactive, Procedural Computer-Aided Design

Activities in Phase IActivities in Phase I

How do people come up with new ideas ?

Doodles, sketches, brain-storming, make wish-lists, bend wires, carve styrofoam, ...

What CAD tools do we need to help ?

Create novel conceptual prototypes ...

Evaluate them, rank order them ...

Show promising ones to user …

How do we automate that search ?

Page 38: Interactive, Procedural Computer-Aided Design

““Holey” Fitness SpaceHoley” Fitness Space

Open-ended engineering problems have complicated, higher-dimensional solution / fitness spaces.

Page 39: Interactive, Procedural Computer-Aided Design

Genetic AlgorithmsGenetic Algorithms

Pursue several design variations in parallel(many “phenotypes” in each generation)

Evaluate their “fitness” (how well they meet the various design objectives “Pareto set”)

Use best designs to “breed” new off-springs(by modifying some genes = “mutation”)(by exchanging genes = “crossover”)

Expectation: Good traits will survive,bad features will be weeded out ...

Page 40: Interactive, Procedural Computer-Aided Design

How Well Do G.A. Work How Well Do G.A. Work for Engineering Tasks ?for Engineering Tasks ?

An Experiment:An Experiment:

Let ME students design a MEMS resonator

Students (initially) had no IC experience

Good programmers

Excited about Genetic Algorithms

Page 41: Interactive, Procedural Computer-Aided Design

Micro-Electromechanical SystemsMicro-Electromechanical SystemsMEMSMEMS

Created with an enhanced fabrication technology used for integrated circuits.

Many nifty devices and systems have been built: motors, steerable mirrors, accelerometers, chemo sensors ...

Page 42: Interactive, Procedural Computer-Aided Design

MEMS ExampleMEMS Example

Ciliary Micromanipulator,K. Böhringer et al. Dartmouth, 1997.

Page 43: Interactive, Procedural Computer-Aided Design

The Basics of a MEMS ResonatorThe Basics of a MEMS Resonator Filters

Accelerometers

Gyroscopes

Prevent horizontaloscillations !

Page 44: Interactive, Procedural Computer-Aided Design

Basic MEMS Elements (2.5D)Basic MEMS Elements (2.5D)

Beam H-shaped center mass

Comb driveAnchor to substrate

Page 45: Interactive, Procedural Computer-Aided Design

Need an Electro-Mechanical Simulator !Need an Electro-Mechanical Simulator !

“SUGAR”“SPICE for the MEMS World”

(open source just like SPICE)

fast,simple,

capable.

DESIGN

MEASUREMENT SIMULATION

Page 46: Interactive, Procedural Computer-Aided Design

The SUGAR AbstractionThe SUGAR Abstraction

Digital-to-Analog Converter by R. Yej, K.S.J. Pister

Page 47: Interactive, Procedural Computer-Aided Design

SUGAR in Action ...SUGAR in Action ...

Multimode Resonator by R. Brennen

Page 48: Interactive, Procedural Computer-Aided Design

A General Set-Up for OptimizationA General Set-Up for Optimization Poly-line suspensions at 4 corners.

Adjust resonant frequency F

Bring Kx Ky into OK ranges

Minimize layout area

Page 49: Interactive, Procedural Computer-Aided Design

An Intermediate Design/PhenotypeAn Intermediate Design/Phenotype

Adjust resonant frequency to 10.0 ± 0.5 kHz

Bring Kx / Ky into acceptable range ( >10 )

Minimize size of bounding box; core is fixed.

Page 50: Interactive, Procedural Computer-Aided Design

MEMS Actually Built and MeasuredMEMS Actually Built and Measured

Page 51: Interactive, Procedural Computer-Aided Design

Genetic Algorithm in Action !Genetic Algorithm in Action !

Area = 0.181 mm2; Kx/Ky = 12

Page 52: Interactive, Procedural Computer-Aided Design

Use 4-Fold Symmetry !Use 4-Fold Symmetry !

1st-order compensation of fabrication variations

Page 53: Interactive, Procedural Computer-Aided Design

Using 4-fold SymmetryUsing 4-fold Symmetry

Faster search ! Area = 0.171 mm2; Kx/Ky = 12

Page 54: Interactive, Procedural Computer-Aided Design

X,Y-Symmetry; Axis-Aligned BeamsX,Y-Symmetry; Axis-Aligned Beams

Area = 0.211 mm2; Kx/Ky = 118

Page 55: Interactive, Procedural Computer-Aided Design

Introduce Serpentine ElementIntroduce Serpentine Element

A higher-order composite subsystemwith only five parameters: N , Lh, Wh, Lv, Wv

N=3

Wv

Lh

Wh Lv

Page 56: Interactive, Procedural Computer-Aided Design

X,Y-Symmetry; Mixed SpringsX,Y-Symmetry; Mixed Springs

Area = 0.149 mm2; Kx/Ky = 13

Page 57: Interactive, Procedural Computer-Aided Design

Proper Use of Serpentine Sub-DesignProper Use of Serpentine Sub-Design

That is what we had in mind ...

Page 58: Interactive, Procedural Computer-Aided Design

Proper Use of Serpentine ElementProper Use of Serpentine Element

Area = 0.143 mm2; Kx/Ky = 11Reduce X-dimension of layoutby introducing more serpentine loops

Page 59: Interactive, Procedural Computer-Aided Design

Trying to Reduce AreaTrying to Reduce Area

Area = 0.131 mm2; Kx/Ky = 4 BAD !

soft Kx flare out

Page 60: Interactive, Procedural Computer-Aided Design

Increasing Stiffness KIncreasing Stiffness Kxx

Connecting bars suppress horizontal oscillations

But branched suspensions may not be expressible in genome ( = underlying data structure ).

Page 61: Interactive, Procedural Computer-Aided Design

Using Cross-Linked SerpentinesUsing Cross-Linked Serpentines

Area = 0.126 mm2; Kx/Ky = 36

PROFESSIONAL DESIG

N

Page 62: Interactive, Procedural Computer-Aided Design

What really happened here ?What really happened here ?

Major improvement steps came by engineering insights.

Genetic algorithm found good solutions for the newly introduced configurations.

With only few parameters & clear objectives, greedy optimization may be more efficient.

With complex multiple objectives, G.A. may have advantage of parallel exploration.

Page 63: Interactive, Procedural Computer-Aided Design

Why Did the G.A. Not Find This ?Why Did the G.A. Not Find This ?

Lack of expressibility of genome.

Solution space too large, too rugged ...

Sampling is too sparse !

Samples are not driven to local optima.

Page 64: Interactive, Procedural Computer-Aided Design

1. Generation – a random sampling20. Generation – drifting to higher ground50. Generation – clustered near high mountains

A Rugged Solution SpaceA Rugged Solution Space

No design lies on the very top of a peak !No design lies on the very top of a peak !

Good intermediate solutions may get lost.Good intermediate solutions may get lost.

Page 65: Interactive, Procedural Computer-Aided Design

What Are Genetic Algorithms Good For?What Are Genetic Algorithms Good For?

Exploring unknown territory

Generating a first set of ideas

Showing different subsystem solutions

How can this be harnessed most effectivelyin an engineering design environment ?

Page 66: Interactive, Procedural Computer-Aided Design

Current WorkCurrent Work

With:

Prof. A. Agogino (ME)

Dr. Raffi Kamalian

Ying Zhang, PhD student

Corie Cobb , PhD student

Building a flexible, extensible CAD framework for

exploration, ideation, design, and optimization.

Test: MEMS Resonators, Filters, Gyroscopes

Page 67: Interactive, Procedural Computer-Aided Design

Making G.A. Useful for EngineeringMaking G.A. Useful for Engineering G.A. by itself is not a good engineering tool !

G.A.

Selectivebreeding Greedy

Optimization

Selection ofgood startingphenotypes

Suggestiveediting

Visualization

Page 68: Interactive, Procedural Computer-Aided Design

G.A. for Engineering Needs (1):G.A. for Engineering Needs (1):

A way to pick promising initial designs,e.g. from:

a case library

classical literature search

internet searches

personal advice from experts

sketches, doodles

Page 69: Interactive, Procedural Computer-Aided Design

Our Component / Case LibraryOur Component / Case Library

Multiple levels of building blocks: Low-level primitive design element:

anchors, masses, beams, combs ...

High-level design clusters:

“I” masses, polylines, serpentines ...

Successful designs (Case Library):

mechanical resonators ...

Page 70: Interactive, Procedural Computer-Aided Design

G.A. for Engineering Needs (2):G.A. for Engineering Needs (2):

An extensible underlying data structure,

compatible with the available simulator (SUGAR) !

Fixed Structured descriptions: Sculpture Generator I: fixed set of parameters

OPASYN: a tree of 5 basic designs (5-8 params.)

too rigid

Grammar-based representations: Lindenmayer Systems (1968): parallel string-rewrite

“Artificial Life” by Karl Sims (1991).

Page 71: Interactive, Procedural Computer-Aided Design

Hierarchical MEMSHierarchical MEMS

“Frequency-Selective MEMS for Miniaturized Communication Devices”

Clark T.-C. Nguyen, Proc. 1998 IEEE Aerospace Conf.

Page 72: Interactive, Procedural Computer-Aided Design

C.T.-C. Nguyen: MEMS FilterC.T.-C. Nguyen: MEMS Filter

Page 73: Interactive, Procedural Computer-Aided Design

C.T.-C. Nguyen: 3-Resonator FilterC.T.-C. Nguyen: 3-Resonator Filter

MEMS

Cuircuit

Electro-mechanical analogy

Exchange only modules at the same hierarchical level !

Page 74: Interactive, Procedural Computer-Aided Design

Our Representation of DesignsOur Representation of Designs

Object-oriented (C++) hierarchical graph:

modules with connection points;

connectivity via net list.

Parameter set of building blocks act as genes:

real, integer, and binary numbers.

Other fields indicate allowable modifications:

what can mutate, by how much;

which elements can perform genetic crossover respecting hierarchical levels !

Page 75: Interactive, Procedural Computer-Aided Design

G.A. for Engineering Needs (3):G.A. for Engineering Needs (3):

Efficient ways to predict the functionality

and fitness of phenotypes:

simulator for the appropriate domain (SUGAR)

heuristic evaluations based on past experience

visualization for quick human judgment

keeping common-sense control !

Page 76: Interactive, Procedural Computer-Aided Design

G.A. for Engineering Needs (4):G.A. for Engineering Needs (4):

Ways to improve the evolutionary process:

greedy phenotype optimization

deletion / advancement of special phenotypes

introducing new parameters / constraints

high-lighting of desirable features . . .

Page 77: Interactive, Procedural Computer-Aided Design

Modeling by ExampleModeling by Example

T. Funkhouser et.al, Princeton, Siggraph 2004

Page 78: Interactive, Procedural Computer-Aided Design

G.A. for Engineering Needs (5):G.A. for Engineering Needs (5):

Ways to edit individual designs:

sketching a whole new systems topology(this may be a far-out dream ...)

selective editing of phenotypes:“story-board” visualization of the sought-after design environment . . .

Page 79: Interactive, Procedural Computer-Aided Design

Design Example: MEMS AccelerometerDesign Example: MEMS Accelerometer G.A. constrained to Manhattan geometry,

and 4-fold symmetry.

area = 0.145 mm2

Wasted area

• eliminate !• minimizeGraphical editing

Page 80: Interactive, Procedural Computer-Aided Design

Accelerometer (cont.)Accelerometer (cont.)

Added serpentine elements

area = 0.138 mm2

Wasted area

• replace

Requires some programming

SAVED AREA

Page 81: Interactive, Procedural Computer-Aided Design

Accelerometer: ResultAccelerometer: Result New, more compact serpentine (fewer params)

area = 0.113 mm2

Do we really need G.A. to find this solution ??

We definitely needengineering intelligence !

Page 82: Interactive, Procedural Computer-Aided Design

SummarySummary

CAD will not become fully automated anytime soon.

Human intelligence will continue to play a key role: engineering experience

common sense

It must be more tightly integrated into the design process:

faster design completion

better design results

Page 83: Interactive, Procedural Computer-Aided Design

Today’s CAD Environments for Phase IToday’s CAD Environments for Phase I

corresponding state of the art ...

Page 84: Interactive, Procedural Computer-Aided Design

CAD Environments of the FutureCAD Environments of the Future

Phase_1 CAD tools have a long way to go yet !

Encourage bright young minds to work in this field.

Page 85: Interactive, Procedural Computer-Aided Design

QUESTIONS ?QUESTIONS ?

Page 86: Interactive, Procedural Computer-Aided Design

Interactive CAD for Phase IInteractive CAD for Phase I

GeneticAlgorithms

HumanIntelligence

GradientDescent

SynthesisFramework

CaseLibrary

GraphicalInterface