Interactive, Procedural Computer-Aided Design

Post on 31-Dec-2015

34 views 4 download

Tags:

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

Transcript of 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

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

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

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

Defined by just a few numbers ...

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

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

Normal“biped”saddles

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

Closing the LoopClosing the Loop

straight

or

twisted

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

These parameters define sculpture; = “genome”

Brent Collins & Hyperbolic Hexagon IIBrent Collins & Hyperbolic Hexagon II

12-foot Snow Sculpture12-foot Snow Sculpture

Silver medal, Breckenridge, Colorado, 2004

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

Bronze SculptureBronze Sculpture

Done by investment casting from FDM original

““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

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)

ProEngineerProEngineer

Parametric design of technical objects

This captures only its form – What about its function ?

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

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 ?

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

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

OK ! – this one seems to work !!

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)

SPICE – Input: Circuit DiagramSPICE – Input: Circuit Diagram

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

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 ...)

Parameterized Functional SpecsParameterized Functional Specs

Parameters for a band-pass filter

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

Add: Add: Computer-Aided OptimizationComputer-Aided Optimization

Use evaluation CAD tools

+ a local optimization step

as an inner loop in a search procedure.

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.

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

Only five crucial design parameters !

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

OPASYN Search MethodOPASYN Search Method

5D design-parameter spaceRegular sampling followed by gradient ascent

Hard design constraints

Fitness(GOOD)

Cost(BAD)

MOS Op-Amp LayoutMOS Op-Amp Layout

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

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” ?

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 ??

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

Idea Generation, Exploration ...

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

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

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 ?

““Holey” Fitness SpaceHoley” Fitness Space

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

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 ...

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

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 ...

MEMS ExampleMEMS Example

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

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

Accelerometers

Gyroscopes

Prevent horizontaloscillations !

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

Beam H-shaped center mass

Comb driveAnchor to substrate

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

The SUGAR AbstractionThe SUGAR Abstraction

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

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

Multimode Resonator by R. Brennen

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

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.

MEMS Actually Built and MeasuredMEMS Actually Built and Measured

Genetic Algorithm in Action !Genetic Algorithm in Action !

Area = 0.181 mm2; Kx/Ky = 12

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

1st-order compensation of fabrication variations

Using 4-fold SymmetryUsing 4-fold Symmetry

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

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

Area = 0.211 mm2; Kx/Ky = 118

Introduce Serpentine ElementIntroduce Serpentine Element

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

N=3

Wv

Lh

Wh Lv

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

Area = 0.149 mm2; Kx/Ky = 13

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

That is what we had in mind ...

Proper Use of Serpentine ElementProper Use of Serpentine Element

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

Trying to Reduce AreaTrying to Reduce Area

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

soft Kx flare out

Increasing Stiffness KIncreasing Stiffness Kxx

Connecting bars suppress horizontal oscillations

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

Using Cross-Linked SerpentinesUsing Cross-Linked Serpentines

Area = 0.126 mm2; Kx/Ky = 36

PROFESSIONAL DESIG

N

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.

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.

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.

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 ?

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

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

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

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 ...

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).

Hierarchical MEMSHierarchical MEMS

“Frequency-Selective MEMS for Miniaturized Communication Devices”

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

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

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 !

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 !

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 !

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 . . .

Modeling by ExampleModeling by Example

T. Funkhouser et.al, Princeton, Siggraph 2004

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 . . .

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

Accelerometer (cont.)Accelerometer (cont.)

Added serpentine elements

area = 0.138 mm2

Wasted area

• replace

Requires some programming

SAVED AREA

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 !

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

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

corresponding state of the art ...

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.

QUESTIONS ?QUESTIONS ?

Interactive CAD for Phase IInteractive CAD for Phase I

GeneticAlgorithms

HumanIntelligence

GradientDescent

SynthesisFramework

CaseLibrary

GraphicalInterface