Upload
abra-weaver
View
34
Download
4
Tags:
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
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