Exerpts from a talk given at HKUST in Dec. 2005

advertisement
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
Outline
I. The Power of

Parametric Procedural
Design
Parametric
Procedural
Design
 Computer-Aided
 CAD
Optimization / Synthesis
Tools for the Early Phases of Design
 Evolution
 Towards
(G.A.) versus Intelligent Design
an Integrated CAD Environment
Julia Sets, Mandelbrot Set, Fractals
Defined by just a few numbers ... 
Sculptures by Brent Collins (1980-94)
“Sculpture Generator I” – Basic Modules
Normal
“biped”
saddles
Generalization to
higher-order saddles
(monkey saddle)
Scherk tower
Closing the Loop
straight
or
twisted
“Sculpture Generator I”, GUI
These parameters
define sculpture;
= “genome”
Brent Collins & Hyperbolic Hexagon II
12-foot Snow Sculpture
Silver medal, Breckenridge, Colorado, 2004
. . . and a Whole Lot of Plastic Models
Bronze Sculpture
Done by investment casting from FDM original
“Natural” Forms by Albert Kiefer,
sent by Johan Gielis, developer of supergraphx

made with supergraphx www.genicap.com
The “genome” is the ultimate
parameterization of a design,
given the proper procedure
to interpret that code
 Without
the proper framework,
the genome is meaningless.
(e.g., human DNA on a planet
in the Alpha-Centauri System)
ProEngineer
 Parametric
 This
design of technical objects
captures only its form
– What about its function ?
What Shape Has the Right Functionality?
How Do We Know What Makes a Good
Design With Proper Functionality ?
e.g. a comfortable razor ?
or a better mouse-trap ?
Traditional
Approach:
Trial and Error (T&E)
T&E: OK for Early Flying Machines
T&E: Not OK for Nuclear Power Plants
OK ! – this one seems to work !!
CAD 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 Diagram
SPICE Output: Voltage & Current Traces
Heuristics + Analysis Programs
 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 Specs
Parameters for a band-pass filter
Parameterized Filter Synthesis
H. De Man, J. Rabaey, P. Six, L. Claegen,
“CATHEDRAL-II : A Silicon compiler
for Digital Signal Processing”, 1986.
Architecture of
dedicated data path
16-tap symmetrical filter
Add: Computer-Aided Optimization

Use evaluation CAD tools
+ a local optimization step
as an inner loop in a search procedure.
OPASYN
A Compiler for CMOS Operational Amplifiers
H.Y. Koh, C.H. Sé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)
Only five crucial design parameters !
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 Method
Fitness
(GOOD)
Cost
(BAD)
design-parameter
space ascent
Regular5D
sampling
followed by gradient
Hard design constraints
MOS Op-Amp Layout
 Following
circuit synthesis & optimization,
other heuristic optimization procedures
produce layout with desired aspect ratio.
Synthesis in Established Fields

Filter design and MOS Op-Amp synthesis
have well-established engineering practices.

Efficiently parameterized designs as well as
robust 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 Territory
 Task:
 How
Design a robot that climbs trees !
do you get started ??
An Important New Phase
is Prepended to the Design Process:
Idea Generation, Exploration ...
Three Phases of Design
I

Exploration: -- Generating concepts

Sanity Check: -- Are they viable ?
 Schematic Design
II
The CAD Wave

Fleshing out: -- Considering the constraints

Optimization: -- Find best feasible approach
 Detailed Design
III

Design for Implementation: -- Consider realization

Refinement: -- Embellishments
 Construction Drawings
Quality / Maturity of CAD Tools
I
Gathering ideas, generating concepts
 POOR
 Schematic Design
Considering constraints, finding best approach
II
 MARGINAL
 Detailed Design
Refinement, embellishments, realization
III
 GOOD
 Construction Drawings
Activities 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 Space

Open-ended engineering problems have complicated,
higher-dimensional solution / fitness spaces.
Genetic 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
for Engineering Tasks ?
An Experiment:
Let ME students design a MEMS resonator
 Students
 Good
(initially) had no IC experience
programmers
 Excited
about Genetic Algorithms
Micro-Electromechanical Systems
MEMS
 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 Example
 Ciliary
Micromanipulator,
K. Böhringer et al.
Dartmouth, 1997.
The Basics of a MEMS Resonator

Filters
 Accelerometers

Gyroscopes
Prevent horizontal
oscillations !
Basic MEMS Elements (2.5D)
Beam
Anchor to substrate
H-shaped center mass
Comb drive
Need an Electro-Mechanical Simulator !
“SUGAR”
“SPICE for the MEMS World”
(open source just like SPICE)
DESIGN
fast,
simple,
capable.
MEASUREMENT
SIMULATION
The SUGAR Abstraction
Digital-to-Analog Converter by R. Yej, K.S.J. Pister
SUGAR in Action ...
Multimode Resonator by R. Brennen
A 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/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 Measured
Genetic Algorithm in Action !
 Area
= 0.181 mm2; Kx/Ky = 12
Use 4-Fold Symmetry !
 1st-order
compensation of fabrication variations
Using 4-fold Symmetry
 Faster
search ! Area = 0.171 mm2; Kx/Ky = 12
X,Y-Symmetry; Axis-Aligned Beams
 Area
= 0.211 mm2; Kx/Ky = 118
Introduce Serpentine Element
Wv
Wh
Lh

Lv
N=3
A higher-order composite subsystem
with only five parameters: N , Lh, Wh, Lv, Wv
X,Y-Symmetry; Mixed Springs
 Area
= 0.149 mm2; Kx/Ky = 13
Proper Use of Serpentine Sub-Design
 That
is what we had in mind ...
Proper Use of Serpentine Element
Reduce

Area =X-dimension
0.143 mm2;
of
Kxlayout
/Ky = 11
by introducing more serpentine loops
Trying to Reduce Area
soft Kx

Area = 0.131 mm2;
flare out
Kx/Ky = 4  BAD !
Increasing Stiffness Kx

Connecting bars suppress horizontal oscillations

But branched suspensions may not be expressible
in genome ( = underlying data structure ).
Using Cross-Linked Serpentines
 Area
= 0.126 mm2; Kx/Ky = 36
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 ?
 Lack
of expressibility of genome.
 Solution
space too large, too rugged ...
 Sampling
 Samples
is too sparse !
are not driven to local optima.
A Rugged Solution Space
 No
design lies on the very top of a peak !
 Good
intermediate solutions may get lost.
20. 1.
Generation
Generation
– drifting
– a random
to higher
sampling
ground
50. Generation
– clustered
near
high
mountains
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 effectively
in an engineering design environment ?
Current Work
Building a flexible, extensible CAD framework for
exploration, ideation, design, and optimization.
Test: MEMS Resonators, Filters, Gyroscopes
With:

Prof. A. Agogino (ME)

Dr. Raffi Kamalian

Ying Zhang, PhD student

Corie Cobb , PhD student
Making G.A. Useful for Engineering
 G.A.
by itself is not a good engineering tool !
Selection of
good starting
phenotypes
Visualization
G.A.
Selective
breeding
Suggestive
editing
Greedy
Optimization
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 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):
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 MEMS

“Frequency-Selective MEMS for Miniaturized
Communication Devices”

Clark T.-C. Nguyen, Proc. 1998 IEEE Aerospace Conf.
C.T.-C. Nguyen: MEMS Filter
C.T.-C. Nguyen: 3-Resonator Filter
 MEMS
Electro-mechanical analogy
 Cuircuit
Exchange only modules at the same hierarchical level !
Our Representation of Designs
 Object-oriented


modules with connection points;

connectivity via net list.
Parameter set of building blocks act as genes:


(C++) hierarchical graph:
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):
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):
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 Example
 T.
Funkhouser
et.al,
Princeton,
Siggraph 2004
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 Accelerometer
 G.A.
constrained to Manhattan geometry,
and 4-fold symmetry.
area = 0.145 mm2
Wasted area
• eliminate !
• minimize
Graphical editing
Accelerometer (cont.)
 Added
serpentine elements
area = 0.138 mm2
Wasted area
SAVED AREA
• replace
Requires some programming
Accelerometer: Result
 New,
more compact serpentine (fewer params)
area = 0.113 mm2
Do we really need G.A.
to find this solution ??
We definitely need
engineering intelligence !
Summary
 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 I
 corresponding
state of the art ...
CAD 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 ?
Interactive CAD for Phase I
Case
Library
Human
Intelligence
Graphical
Interface
Genetic
Algorithms
Synthesis
Framework
Gradient
Descent
Download