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