Evolutionary Robotics Using A Formal Grammar To Evolve Robot Bodies and Brains Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative.

Slides:



Advertisements
Similar presentations
Slides from: Doug Gray, David Poole
Advertisements

Jason Stredwick, MSU 2004 L-Systems Lindenmayer Systems algorithmicbotany.org.
Turtle Graphics Eric Roberts Nifty Assignments SIGCSE 2013 March 9, 2013 This is not your typical assignmentCeux ne sont pas vos devoirs typiques.
C O N T E X T - F R E E LANGUAGES ( use a grammar to describe a language) 1.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
University of Bridgeport
L-System Aristid Lindenmayer (1968), biologist. L-System A method of constructing a FRACTAL that is also a MODEL for plant growth. The Computational Beauty.
SCRIPTING AND CONSTRUCTION THREE DIMENSIONAL TREE By Ryan Pierce and Marco Rathjen.
Robot Programming. Programming Behaviors Behaviors describe the actions and decisions of your robot.
So far we’ve done… Dynamics and chaos Thermodynamics, statistical mechanics, entropy, information Computation, Turing machines, halting problem Evolution,
L systems (Aristid Lindenmayer)
L-systems Presented by Luv Kohli COMP258 October 30, 2002 Images copyright © 1992 D. Fowler, P. Prusinkiewicz, and J. Battjes.
Infix, Postfix, Prefix.
Procedural Modeling L-Systems Procedural Terrain Procedural Behavior Based on the slides from Spring 2007.
How does the mind process all the information it receives?
CS39N The Beauty and Joy of Computing Lecture #11 Recursion III It has been a challenge to power electronic components implanted within a body.
LANGUAGE AND GRAMMARS © University of LiverpoolCOMP 319slide 1.
College of Computer and Information Science, Northeastern UniversityAugust 12, CS G140 Graduate Computer Graphics Prof. Harriet Fell Spring 2007.
Approaches To Infinity. Fractals Self Similarity – They appear the same at every scale, no matter how much enlarged.
From Extropians to Evolutionary Robotics Simon D. Levy PHIL April 2013 What Machines (Don't) Tell Us About (Trans)Human Nature.
Data Representation in Computers. Data Representation in Computers/Session 3 / 2 of 33 Number systems  The additive approach – Number earlier consisted.
Morphogenesis and Lindenmayer Systems (L-systems) Gabriela Ochoa
IlliDOL: A Framework for Exploration of L- Systems in Three Dimensions Vilas Dhar Math 198 Spring 2003.
Computing & Information Sciences Kansas State University Lecture 37 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 37 of 42 Monday, 28 April.
Dragon Curve Drawn in Project 4… How to generate the string of drawing commands? How does the dragon curve come about? 1.
Machine Learning. Learning agent Any other agent.
Chapter 14: Artificial Intelligence Invitation to Computer Science, C++ Version, Third Edition.
L-Systems and Procedural Plants CSE 3541 Matt Boggus.
College of Computer and Information Science, Northeastern UniversityOctober 13, CS U540 Computer Graphics Prof. Harriet Fell Spring 2007 Lecture.
The Artificial Life of Plants Przemyslaw Prusinkiewicz, Mark Hammel, Radom´ır Mˇech Department of Computer Science University of Calgary Calgary, Alberta,
Examining the World of Fractals. Myles Akeem Singleton Central Illinois Chapter National BDPA Technology Conference 2006 Los-Angeles, CA.
Soft Robotics Evolve the body and brain of `soft’ robots. N Cheney, R MacCurdy, J Clune, H Lipson. Unshackling Evolution: Evolving Soft Robots with Multiple.
L-Systems Lindenmayer Systems Prusinkiewicz and Lindenmayer
Summer School „Modelling and Simulation with GroIMP“ / Tutorial for beginners University of Göttingen (Germany), September, 2010 Winfried Kurth Some.
1 Turtle Graphics and Math Functions And how you can use them to draw cool pictures!
Lindenmayer systems Martijn van den Heuvel May 26th, May 26th, 2011.
L-system and SVG 2D SVG Tree 2002/10/16.
How to Draw a Tree L-Systems in Computer Graphics Steven Janke.
MSW Logo By Awin 9s.
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
1 10/27/ :26 UML Simplicity in Complexity. 2 10/27/ :26 UML Rewriting Systems Classic Example: Koch 1905 Initiator Generator.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Special Models.
LINDFERN Lindenmayer Systems in VPython Nick Langhammer.
1 Genetic Algorithms and Ant Colony Optimisation.
Castor Bot. Now, we will begin creating a robot Log onto your computer On your screen, click on the website labeled “castor bot” Your building instructions.
Evolving Virtual Creatures by Karl Sims (1995) Adelein Rodriguez.
Banff 2007: Innovations in Mathematics Education via the Arts Interactive Graphics Tools and Global Learning Mara Alagic & Glyn Rimmington Wichita State.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Experimenting with Grammars to Generate L-Systems October 29, 2007
Integration of simulation tools in online virtual worlds Stéphane SIKORA AI Lab of Paris5 University 2nd conference on.
제 6 주. 응용 -2: Graphics Evolving L-systems to Generate Virtual Creatures G.S. Hornby and J.B. Pollack, Computers & Graphics, vol. 25, pp. 1041~1048, 2001.
Evolutionary Robotics The Genotype-to-Phenotype Map The genotype to phenotype map: the algorithm that transforms the genotype into the phenotype. Direct.
Modelling of Ecosystems by Tools from Computer Science Summer School at Czech University of Life Sciences, Prague, September, 2013 Winfried Kurth.
Functional-Structural Plant Modelling with GroIMP and XL Tutorial and Workshop at Agrocampus Ouest, Angers, 5-7 May, 2015 Winfried Kurth University of.
Casne.ncl.ac.uk Taking care of the CrumbleBot Please do NOT stress the robot's motors 1.Do NOT push the robot 2.Do NOT hold the.
Mealy Machines Finite State Machines with Outputs given on the transitions.
Experimenting with Grammars to Generate L-Systems – in JFLAP March 31, 2011 Prof. Susan Rodger Computer Science Dept.
Grammars, L-Systems Jim Whitehead UC Santa Cruz School of Engineering courses.soe.ucsc.edu/courses/cmps265/Spring14/01 23 Apr 2014.
LOGO 32 By: Xenon 9S.
L-systems L-systems are grammatical systems introduced by Lyndenmayer to describe biological developments such as the growth of plants and cellular organisms.
ATCM 3310 Procedural Animation
Knowledge Representation
Introduction to the C Language
Controlling your quadcopter
Which way does the robot have to turn to get to the charger?
Using a Drawing Robot to Make Angles (Using Rotations)
Using a Drawing Robot to Make Angles (Using Rotations)
Prof. Susan Rodger Computer Science Dept
Controlling your quadcopter
Presentation transcript:

Evolutionary Robotics Using A Formal Grammar To Evolve Robot Bodies and Brains Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative representation for body-brain evolution. GECCO Turtle Graphics (from computer graphics) Turtle moves over a 2D surface. Possesses: 1.Position 2.Orientation 3.Pen, which can be up or down. “Code” for drawing: 1.Move forward 10 paces 2.Turn left 95 degrees 3.Drop pen 4.Move forward 5.Lift pen…

Evolutionary Robotics Using A Formal Grammar To Evolve Robot Bodies and Brains Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative representation for body-brain evolution. GECCO Drop pen 2.For i = 1 to forward 1 + i/ turn 85 degrees left 5.Lift pen

Evolutionary Robotics Using A Formal Grammar To Evolve Robot Bodies and Brains Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative representation for body-brain evolution. GECCO Formal grammar: 1.Define an alphabet V that contains elements that can be replaced (variables) 2. Define a starting ‘sentence’ composed of elements from V (eg. ‘AB’) 3. Define a set of production rules: rule is composed of two strings: the predecessor and the successor (eg. A  AB B  A) 4. If a symbol C in V does not match any predecessor, then C is a constant. 5. Apply the productions rules to the start sentence. 6. Continue to apply the rules until the sentence only contains constants.

Using A Formal Grammar To Evolve Robot Bodies and Brains Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative representation for body-brain evolution. GECCO Evolutionary Robotics A = algae B = bud (cannot reproduce) A  AB is a model of growth: algae ‘spawns’ a bud. B  A models maturation: bud becomes adult algae capable of reproduction.

Evolutionary Robotics Using A Formal Grammar To Evolve Robot Bodies and Brains Lindenmayer system = A system in which ‘turtle graphics’ commands serve as the elements in a formal grammar. Example: “Drawing” Cantor dust. variables : A B constants : none start : A {starting character string} rules : (A → ABA), (B → BBB) Let A mean "draw forward" and B mean "move forward".

Evolutionary Robotics Using A Formal Grammar To Evolve Robot Bodies and Brains Lindenmayer system = Given the right L-system, one can produce structures that look like biological plants: Example: Fractal plant variables : X F constants : + − start : X rules : (X → F-[[X]+X]+F[+FX]-X), (F → FF) F means "draw forward", -means "turn left 25°", and + means "turn right 25°". X does not correspond to any drawing action. [ = ‘push’ position and angle ] = ‘pop’ position and angle

Building bodies with L-systems Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative representation for body-brain evolution. GECCO Evolutionary Robotics [ = push state ] = pop state {block}(n) = repeat enclosed block n times. forward: create bar forward backward: move backward Revolute-1: move forward, add joint around Z Revolute-2: move forward, add joint around Y up(n): rotate heading +n*90 o about turtle’s X axis down(n): rotate –n*90 o around X left/right(n): … around Y counter/clockwise(n): … around Z

Turtle ‘lives’ on synapses. If turtle’s ‘home’ link connects neuron A to neuron B… [ = push ‘home’ link ] = pop new ‘home’ link decrease-weight(n): subtract n from weight of current link. duplicate(n): Create new link from A to B with weight n. loop(n): Create new link from B to itself with weight n. merge(n): Merge neurons A and B into single neuron, C. new ‘home’ link is nth input link to C. parent(n): move to nth input link to A. next(n): move to nth output link from B. reverse: link changed to point from B to A. output(n): neuron A sends commands to the closest joint. split(n): create new neuron C; attach edge from A to C; and create a new edge from C to B with weight n. Building brains with L-systems

In the formal grammar, throw ‘body’ and ‘brain’ elements together. Turtle ‘points’ to both a body part and a synapse. If a ‘joint’ element is called, output(1) is also called: connects part of the neural network to the joint. Connecting Body and Brain

Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative representation for body-brain evolution. GECCO 2001.

Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative representation for body-brain evolution. GECCO 2001.