EvoCAD: Evolution-Assisted Design

Similar documents
Understanding Coevolution

Three Generations of Automatically Designed Robots

Evolution of Sensor Suites for Complex Environments

Morphological Evolution of Dynamic Structures in a 3-Dimensional Simulated Environment

An Evolutionary Approach to the Synthesis of Combinational Circuits

Enhancing Embodied Evolution with Punctuated Anytime Learning

GENETIC PROGRAMMING. In artificial intelligence, genetic programming (GP) is an evolutionary algorithmbased

Evolutionary Fabrication: The Emergence of Novel Assembly Methods in Artificial Ontogenies

Once More Unto the Breach 1 : Co-evolving a robot and its simulator

Evolutionary robotics Jørgen Nordmoen

STIMULATIVE MECHANISM FOR CREATIVE THINKING

Genetic Algorithms with Heuristic Knight s Tour Problem

CS 441/541 Artificial Intelligence Fall, Homework 6: Genetic Algorithms. Due Monday Nov. 24.

Swarm Intelligence W7: Application of Machine- Learning Techniques to Automatic Control Design and Optimization

Optimizing the State Evaluation Heuristic of Abalone using Evolutionary Algorithms

By Marek Perkowski ECE Seminar, Friday January 26, 2001

Automating a Solution for Optimum PTP Deployment

EvoFab: A Fully Embodied Evolutionary Fabricator

Evolutionary Computation and Machine Intelligence

A Review on Genetic Algorithm and Its Applications

Evolving Assembly Plans for Fully Automated Design and Assembly

Reactive Planning with Evolutionary Computation

Available online at ScienceDirect. Procedia Computer Science 24 (2013 )

Genetic Programming Approach to Benelearn 99: II

Breedbot: An Edutainment Robotics System to Link Digital and Real World

A Genetic Algorithm-Based Controller for Decentralized Multi-Agent Robotic Systems

Co-evolution for Communication: An EHW Approach

Global Asynchronous Distributed Interactive Genetic Algorithm

Submitted November 19, 1989 to 2nd Conference Economics and Artificial Intelligence, July 2-6, 1990, Paris

CYCLIC GENETIC ALGORITHMS FOR EVOLVING MULTI-LOOP CONTROL PROGRAMS

THE EFFECT OF CHANGE IN EVOLUTION PARAMETERS ON EVOLUTIONARY ROBOTS

Introduction to Artificial Intelligence

The Evolution of Multi-Layer Neural Networks for the Control of Xpilot Agents

LANDSCAPE SMOOTHING OF NUMERICAL PERMUTATION SPACES IN GENETIC ALGORITHMS

Coevolutionary Robotics

Evolving Parameters for Xpilot Combat Agents

Localized Distributed Sensor Deployment via Coevolutionary Computation

EVOLUTIONARY ALGORITHMS IN DESIGN

PES: A system for parallelized fitness evaluation of evolutionary methods

CSC 396 : Introduction to Artificial Intelligence

A Hybrid Evolutionary Approach for Multi Robot Path Exploration Problem

Mehrdad Amirghasemi a* Reza Zamani a

A Genetic Algorithm for Solving Beehive Hidato Puzzles

Multi-objective Optimization Inspired by Nature

The Behavior Evolving Model and Application of Virtual Robots

Genetic Programming of Autonomous Agents. Senior Project Proposal. Scott O'Dell. Advisors: Dr. Joel Schipper and Dr. Arnold Patton

Automated Damage Diagnosis and Recovery for Remote Robotics

Evaluating Creativity in Humans, Computers, and Collectively Intelligent Systems

APPROXIMATE KNOWLEDGE OF MANY AGENTS AND DISCOVERY SYSTEMS

Publication P IEEE. Reprinted with permission.

The Application of Multi-Level Genetic Algorithms in Assembly Planning

Learning a Visual Task by Genetic Programming

A comparison of a genetic algorithm and a depth first search algorithm applied to Japanese nonograms

Achieving Desirable Gameplay Objectives by Niched Evolution of Game Parameters

Implicit Fitness Functions for Evolving a Drawing Robot

The Co-Evolvability of Games in Coevolutionary Genetic Algorithms

2. Simulated Based Evolutionary Heuristic Methodology

Information Metaphors

Measuring Progress in Coevolutionary Competition

EVOLUTION OF EFFICIENT GAIT WITH AN AUTONOMOUS BIPED ROBOT USING VISUAL FEEDBACK

Solving Sudoku with Genetic Operations that Preserve Building Blocks

A CONCRETE WORK OF ABSTRACT GENIUS

Anca ANDREICA Producția științifică

Gossip, Sexual Recombination and the El Farol Bar: modelling the emergence of heterogeneity

Evolutionary Optimization of Fuzzy Decision Systems for Automated Insurance Underwriting

Evolutionary Module Acquisition

Evolution of a Subsumption Architecture that Performs a Wall Following Task. for an Autonomous Mobile Robot via Genetic Programming. John R.

Creating a Poker Playing Program Using Evolutionary Computation

Retaining Learned Behavior During Real-Time Neuroevolution

Mobile Robot Navigation Contest for Undergraduate Design and K-12 Outreach

Body articulation Obstacle sensor00

Glossary of terms. Short explanation

THE MONOPOLY GAME SYSTEM

FINANCIAL TIME SERIES FORECASTING USING A HYBRID NEURAL- EVOLUTIVE APPROACH

The Genetic Algorithm

RoboPatriots: George Mason University 2010 RoboCup Team

Genetic Evolution of a Neural Network for the Autonomous Control of a Four-Wheeled Robot

Evaluating Creativity in Humans, Computers, and Collectively Intelligent Systems

CONTROLLER DESIGN BASED ON CARTESIAN GENETIC PROGRAMMING IN MATLAB

Economic Design of Control Chart Using Differential Evolution

DECISION MAKING TECHNIQUES FOR COGNITIVE RADIOS

COSC343: Artificial Intelligence

Aracna: An Open-Source Quadruped Platform for Evolutionary Robotics

Evolution and Prioritization of Survival Strategies for a Simulated Robot in Xpilot

On-demand printable robots

Path Following and Obstacle Avoidance Fuzzy Controller for Mobile Indoor Robots

Cooperative Behavior Acquisition in A Multiple Mobile Robot Environment by Co-evolution

Introduction.

Evolution, Re-evolution, and Prototype of an X-Band Antenna for NASA s Space Technology 5 Mission

Smart Grid Reconfiguration Using Genetic Algorithm and NSGA-II

Evolving Noise Tolerant Antenna Configurations Using Shape Memory Alloys

Chapter 5 OPTIMIZATION OF BOW TIE ANTENNA USING GENETIC ALGORITHM

Evolutionary Robotics. IAR Lecture 13 Barbara Webb

TJHSST Senior Research Project Evolving Motor Techniques for Artificial Life

Biomimetic Design of Actuators, Sensors and Robots

Adapting to Human Game Play

Biologically Inspired Embodied Evolution of Survival

Designing Toys That Come Alive: Curious Robots for Creative Play

The Dominance Tournament Method of Monitoring Progress in Coevolution

Accelerating Self-Modeling in Cooperative Robot Teams Josh C. Bongard

Transcription:

EvoCAD: Evolution-Assisted Design Pablo Funes, Louis Lapat and Jordan B. Pollack Brandeis University Department of Computer Science 45 South St., Waltham MA 02454 USA Since 996 we have been conducting research on evolutionary design using Lego bricks. Our simulations are designed with buildability in mind: combining a simple evolutionary algorithm with a partial simulation of Lego bricks statics we evolve designs that come out of the computer ready to build [-4]. Today s commercial CAD systems may add a mechanical simulator to the usual 3D manipulation tools 2. But the new field of Evolutionary Design (ED) [5] has the potential to add a third leg to computer-aided design: A creative role. Not only designs can be drawn (as in CAD), or drawn and simulated (as in CAD+simulation), but also designed by the computer following guidelines given by the operator. Thus we envision future Evolutionary CAD systems, EvoCADs. An EvoCAD system has the human designer in the main role: the designer has an idea or concept for a required object. Some of the requirements can be added to the 3D canvas, creating evolutionary targets than an ED engine uses for evolving a possible design. The output of this evolutionary engine can be modified, tested and re-evolved as many times as desired (figure ). Methods To demonstrate our conception of EvoCAD, we have built amini-cad system to design 2D Lego structures. This Lego EvoCAD allows the user to manipulate Lego structures, and test their gravitational resistance using the same structural simulator we have been using in the past to do ED with Lego bricks. It also interfaces to an evolutionary algorithm that combines user-defined goals with simulation to evolve candidate solutions for the design problems. The results of evolution are sent back Appeared in: Artificial Intelligence in Design 00 Poster Abstracts. Key Centre of Design Computing and Cognition, University of Sydney. Pages 2-24. Lego is a trademark of The Lego Group 2 PTC s Pro/Engineer software, whose CAD tool can generate output for the mechanical simulator, Pro/Mechanica, is an example.

simulation Design-In-Progress evolution Design Concept human designer Evolutionary Targets Figure : A conceptual EvoCAD system has two creative minds, the human designer and the ED software. The human designer is in control, and calls upon the remaining elements as tools. A problem description language (PDL) allows CAD, evolutionary and simulation components to communicate with each other (bold arrows). to the CAD front-end to allow for further re-design until a satisfactory solution is obtained. Simulation and Representation The simulation algorithm [6] is based upon the concept of maximum torque capacity at brick-brick joints. A Lego structure with loads becomes a torque flow network where each edge has a maximum capacity. A network flow algorithm accepts a structure only if there is a valid global flow without any overstressed joints. To allow for recombination and crossover, Lego structures are represented as Lisp-like functions [2] that have one or more root bricks with zero or more descendants attached at diverse points. Mutations can modify a brick s size or position, whereas recombinations allow for interchange of entire subparts between two parents. 2

Evolutionary Algorithm To begin an evolutionary run, a starting structure is first received, consisting of one or more bricks, and reverse-compiled into a genetic representation that will seed the population. Mutation and crossover operators are applied iteratively to grow and evolve a population of structures [2]. The simulator is run on each new structure to test for stability and load support, needed to calculate a fitness value. Evolution stops when all objectives are satisfied or when a timeout occurs. Brick Problem Description Language We designed a brick problem description language (BDL), as an interface between the evolutionary algorithm, simulator, and the CAD front-end. When the user clicks the evolve button, a BDL description is sent over the internet to our evolution server which evolves a solution for the problem. The result of the evolution is sent back to the CAD using the same language. The simulator receives BDL-encoded structures for testing, both from the CAD (when the human wants to test a structure) and from the evolutionary engine, which tests every mutated or recombined structure. Target Points and Target Loads The goals for the ED engine are deducted from user-defined Restrictions, Target Points and Target Loads. A structure will be fully satisfactory if it touches all the target points and target load points, whereas avoiding all the restricted points, and supports all the specified loads at each target load point. Fitness Function Instead of writing code in some computer language for a fitness function, here we need to compute a generic fitness value for any BDL structure. Although optimized fitness functions will require further study, the fitness of a structure S has been defined as: t targets d S t l loads d S l supp S l l loads d S l 0 (where d computes the distance between a point and the nearest brick in the structure, and supp uses the simulator to compute the fraction of a certain load that the structure supports) 3

(a) (b) (c) (d) Figure 2: Sample working session with the EvoCAD program: (a) The user has defined two grounds and several evolutionary hints: restrictions (x), target (dot) and load (arrow). An initial brick was laid down. (b) Evolution designed a structure that fulfills all requirements. (c) The user made cosmetic corrections (d) The structure has been built with Lego bricks. Results Our simplistic Lego EvoCAD system (figure 2) demonstrates how this new kind of application could employ ED techniques to let the computer no only be a canvas and a simulation tool, but also to create its own designs following the users specifications. Our system allows human and computer to create a design collaboratively, greatly reducing the human effort needed to create and optimize a design. References [] Funes P. and Pollack. J. B. (997), Computer evolution of buildable objects. in P. Husbands and I. Harvey, (eds), Fourth European Conference on Artificial Life, MIT Press, Cambridge, pp. 358-367. [2] Funes P. and Pollack. J. B. (998), Evolutionary body building: Adaptive physical designs for robots. Artificial Life 4(4):337-357, [3] Funes P. and Pollack. J. B. (999), Computer evolution of buildable objects in P. Bentley (ed.), Evolutionary Design by Computers, Morgan-Kaufmann, San Francisco, pp. 387-403. 4

[4] Pollack, J. B., Lipson, H., Funes, P., Ficici, S. G. and Hornby. G. (999), Coevolutionary robotics, in Koza, et. al. (eds), The First NASA/DoD Workshop on Evolvable Hardware. IEEE Press. [5] Bentley, P. (999) (ed.), Evolutionary Design by Computers. Morgan- Kaufmann, San Francisco. [6] Funes, P. and Pollack. J. B. (998), Componential structural simulator, Technical Report CS-98-98, Department of Computer Science, Brandeis University. 5