Co-evolution of Morphology and Control for Roombots

Similar documents
Evolutionary Robotics

Co-evolution of Structures and Controllers for Neubot Underwater Modular Robots

COMP3411: Artificial Intelligence 7a. Evolutionary Computation

Enhancing a Model-Free Adaptive Controller through Evolutionary Computation

Artificial Metamorphosis: Evolutionary Design of Transforming, Soft-Bodied Robots

Rhythmic Robot Arm Control Using Oscillators

Biped Locomotion and Stability

Lecture 13: Dynamical Systems based Representation. Contents:

Evolutionary Approaches to Neural Control of Rolling, Walking, Swimming and Flying Animats or Robots

Learning Manipulation Patterns

COMP3411: Artificial Intelligence 10a. Evolutionary Computation

Evolving multi-segment super-lamprey CPG s for increased swimming control

Genetic Engineering and Creative Design

ELEC4631 s Lecture 2: Dynamic Control Systems 7 March Overview of dynamic control systems

Chapter 1 Introduction

Chapter 8: Introduction to Evolutionary Computation

biologically-inspired computing lecture 18

DETECTING THE FAULT FROM SPECTROGRAMS BY USING GENETIC ALGORITHM TECHNIQUES

V. Evolutionary Computing. Read Flake, ch. 20. Genetic Algorithms. Part 5A: Genetic Algorithms 4/10/17. A. Genetic Algorithms

Repeated Structure and Dissociation of Genotypic and Phenotypic Complexity in Artificial Ontogeny

An Improved System for Artificial Creatures Evolution

Evolutionary computation

V. Evolutionary Computing. Read Flake, ch. 20. Assumptions. Genetic Algorithms. Fitness-Biased Selection. Outline of Simplified GA

IV. Evolutionary Computing. Read Flake, ch. 20. Assumptions. Genetic Algorithms. Fitness-Biased Selection. Outline of Simplified GA

Non-Adaptive Evolvability. Jeff Clune

Robotics. Dynamics. Marc Toussaint U Stuttgart

Implementation Issues for the Virtual Spring

A Generalized Quantum-Inspired Evolutionary Algorithm for Combinatorial Optimization Problems

Lecture 5: Linear Genetic Programming

Evolution of Bilateral Symmetry in Agents Controlled by Spiking Neural Networks

Choice of robot morphology can prohibit modular control and disrupt evolution

Competitive Co-evolution

Robotics. Dynamics. University of Stuttgart Winter 2018/19

Development. biologically-inspired computing. lecture 16. Informatics luis rocha x x x. Syntactic Operations. biologically Inspired computing

biologically-inspired computing lecture 6 Informatics luis rocha 2015 INDIANA UNIVERSITY biologically Inspired computing

Data Warehousing & Data Mining

An adaptive neural controller for a tendon driven robotic hand

Modeling of Resonators

Design and Control of Compliant Humanoids. Alin Albu-Schäffer. DLR German Aerospace Center Institute of Robotics and Mechatronics

- - Reconfigurable Self-Replicating Robotics

Neuroevolution for sound event detection in real life audio: A pilot study

Toward Open-Ended Evolutionary Robotics: Evolving Elementary Robotic Units able to Self- Assemble and Self-Reproduce

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Acknowledgements. Feedback Control of Bipedal Locomotion RAS Pioneer Award to Mark Spong. Videos and Papers

Laboratory 11 Control Systems Laboratory ECE3557. State Feedback Controller for Position Control of a Flexible Joint

The Effect of Connection Cost on Modularity in Evolved Neural Networks

Full Paper Proceeding ECBA-2017, Vol Issue. 37, 1-11 ECBA-17. Optimization of Central Patterns Generators. 1, 2,3 Atılım University, Turkey

Effect of number of hidden neurons on learning in large-scale layered neural networks

Neuroevolutionary Planning for Robotic Control

Shigetaka Fujita. Rokkodai, Nada, Kobe 657, Japan. Haruhiko Nishimura. Yashiro-cho, Kato-gun, Hyogo , Japan. Abstract

On the Difficulty of Co-Optimizing Morphology and Control in Evolved Virtual Creatures

Neural Network Control of Robot Manipulators and Nonlinear Systems

biologically-inspired computing lecture 5 Informatics luis rocha 2015 biologically Inspired computing INDIANA UNIVERSITY

HIGH PERFORMANCE ADAPTIVE INTELLIGENT DIRECT TORQUE CONTROL SCHEMES FOR INDUCTION MOTOR DRIVES

The Effect of Semicircular Feet on Energy Dissipation by Heel-strike in Dynamic Biped Locomotion

Integer weight training by differential evolution algorithms

Limbless locomotion 5/9/2018

COMPETITIVE CO-EVOLUTION OF SENSORY-MOTOR SYSTEMS

Hopfield Neural Network and Associative Memory. Typical Myelinated Vertebrate Motoneuron (Wikipedia) Topic 3 Polymers and Neurons Lecture 5

Artificial Neural Networks D B M G. Data Base and Data Mining Group of Politecnico di Torino. Elena Baralis. Politecnico di Torino

Evolutionary Computation

Coordinating Feet in Bipedal Balance

Embodied Embeddings for Hyperneat

Lecture «Robot Dynamics»: Dynamics and Control

Week 3: Wheeled Kinematics AMR - Autonomous Mobile Robots

Port-based Modeling and Control for Efficient Bipedal Walking Machines

Evolutionary Computation. DEIS-Cesena Alma Mater Studiorum Università di Bologna Cesena (Italia)

1 Evolutionary and Neural Synthesis of Intelligent Agents

Evolutionary Design I

CPG-based control of a turtle-like underwater vehicle

The Jacobian. Jesse van den Kieboom

Emulation of an Animal Limb with Two Degrees of Freedom using HIL

A Novel Spring Mechanism to Reduce Energy Consumption of Robotic Arms

Structure Learning of a Behavior Network for Context Dependent Adaptability

a) Find the equation of motion of the system and write it in matrix form.

An Evolution Strategy for the Induction of Fuzzy Finite-state Automata

Artificial Neural Networks Examination, June 2005

CPG CONTROL OF A TENSEGRITY MORPHING STRUCTURE FOR BIOMIMETIC APPLICATIONS

Decoupling Identification for Serial Two-link Robot Arm with Elastic Joints

ARTIFICIAL NEURAL NETWORK PART I HANIEH BORHANAZAD

Swarm-bots. Marco Dorigo FNRS Research Director IRIDIA Université Libre de Bruxelles

Artificial Neural Network and Fuzzy Logic

Lecture «Robot Dynamics»: Dynamics 2

Evolutionary computation

Chapter 7 Control. Part Classical Control. Mobile Robotics - Prof Alonzo Kelly, CMU RI

CITEC SummerSchool 2013 Learning From Physics to Knowledge Selected Learning Methods

Module 4: Dynamic Vibration Absorbers and Vibration Isolator Lecture 19: Active DVA. The Lecture Contains: Development of an Active DVA

Quadrotor Modeling and Control for DLO Transportation

Gravity Balancing of a Human Leg using an External Orthosis

Case Study: The Pelican Prototype Robot

Embedded Control: Applications and Theory

Normalised evolutionary activity statistics and the need for phenotypic evidence

AS3010: Introduction to Space Technology

EVOLUTIONARY DYNAMICS OF 3D DIGITAL CONSTRUCTS. Jason Michael Stredwick A THESIS

Artificial Intelligence (AI) Common AI Methods. Training. Signals to Perceptrons. Artificial Neural Networks (ANN) Artificial Intelligence

ARTISAN ( ) ARTISAN ( ) Human-Friendly Robot Design

Control of Mobile Robots

Chapter 8. Fractals. 8.1 Introduction

On String Languages Generated by Numerical P Systems

Video 8.1 Vijay Kumar. Property of University of Pennsylvania, Vijay Kumar

Transcription:

Co-evolution of Morphology and Control for Roombots Master Thesis Presentation Ebru Aydın Advisors: Prof. Auke Jan Ijspeert Rico Möckel Jesse van den Kieboom Soha Pouya Alexander Spröwitz

Co-evolution General Approach : Hardware, Software Body - brain evolution Building Blocks sticks, actuated joints, artificial neurons Encodings direct, direct recurrent, cellular, generative

Developmental (Generative) Encoding The algorithm to build the robot Biologically inspired Reuse of components Self-similar structures Compact representation L-system grammars, tree based

Previous work: Karl Sims Sims 1994, Evolving 3D Morphology and Behavior (a) Competing (b) Swimming (c) Phenotype and genotype Neural network for controller Tree based encoding for morphology, self similar structures, code reuse A variety of locomotion styles and behavior strategies are evolved

Previous work: Demo Lab Projects from Demo Lab : Hornby, Pollack, Lipson Generative Representations for Design Automation Static structures, 2D and 3D robots are evolved. The Golem Project

Previous work: Demo Lab Generative encoding builds creatures with better locomotion ability then non-generative encoding Generative encoding brings: Scalability through self-similar structures Hierarchical structure Compact representation

Modular robots (k) MTRAN (l) Superbot (m) YAMOR Detach-attach Self-configuration Adaptation

Introduction Evolving Robots Roombots Self-reconfigurable Self sufficient Uniform 220mm 110mm 110mm, 1.4kg ACM 3 DOF - Continious rotation Experiments

Roombots Self-reconfigurable Self sufficient Uniform 220mm 110mm 110mm, 1.4kg ACM 3 DOF - Continious rotation

Co-evolution for the Roombots Modular robots can assemble into many different structures Developmental encoding : Self-similarity, compactness, modularity Co-evolution for Roombots Morphological Building Blocks: Roombots and Passive elements Controller : Coupled Phase Oscillators Encoding (L-systems), combine morphology and controller

L-systems Re-write systems Growth process of the organisms Formal grammars G = (V, w, P ) w V + P V V

Examples V = {a, b} w = a P = a ab, b a Starting from axiom, a, the following sequence is generated. Step0 : a Step1 : ab Step2 : aba Step3 : abaab

Examples Turtle Rules V = {F, +, } w = F F F P = F F + F F + F

Examples Branching L-systems [ ] V = {F, +,, [, ]} w = F P = F F [+F ]F [ F [+F ][ F ]]F

L-system for the Roombots Deterministic branching L-systems An L-system a robot Additive turtle like interpretation Constants Build commands Build commands : 1. Add a new part 2. Modify an open parameter

Controller CPG, rhythmic patterned output Limit cycle behavior robust Parameterize S1 S1 servo motor oscillator M1 M1 S2 S2

Controller φ i = 2 π ν + ω ij r j sin (φ j φ i ψ ij ) ṙ i = a(r i r i ) ẋ i = b(x i x i ) Fixed parameters : ν, ω ij, a, b Open parameters : R i, ψ ij, X i

Controller φ i = 2 π ν + ω ij r j sin (φ j φ i ψ ij ) ṙ i = a(r i r i ) ẋ i = b(x i x i ) Fixed parameters : ν, ω ij, a, b Open parameters : R i, ψ ij, X i Drive functions: θ i = r i sin (φ i ) + x i θ i = ±φ i θ i = x i Oscillation Rotation Locked

Morphology Roombots modules Connection face Connection type Phase offset Passive elements, spring-damper systems Connection face Length

State State : Module, Connection face, Phase bias State update commands: ADD CONNECTION TYPE, CONNECTION FACE CHANGE FACE N CHANGE PHASE BIAS BM N

State State : Module, Connection face, Phase bias State update commands: ADD CONNECTION TYPE, CONNECTION FACE CHANGE FACE N CHANGE PHASE BIAS BM N CHANGE VALUE N command is interpreted as: VALUE VALUE + N (mod S) ACT IV E F ACE ACT IV E F ACE + N (mod4)

Build Commands: BRANCH OPERATOR : [ ] REPETITION OPERATOR : { } N ADD CONNECTION TYPE, CONNECTION FACE ADD PASSIVE LEG: LENGTH Modify Control Parameters: CHANGE AMPLITUDE OSC N CHANGE OFFSET OSC N CHANGE DRIVE FUNCTION OSC N CHANGE PHASE BIAS COUPLING N

L-system Grammars Deterministic, context-free, branching Four rules Non-recursive The grammar encodes the build process of the robot Table: Build Commands Abbreviations Command Abbreviation ADD ADD CHANGE FACE CF CHANGE PHASE BIAS BM CPBBM CHANGE PHASE BIAS CPB CHANGE AMPLITUDE CA CHANGE OFFSET CO CHANGE DRIVE FUNCTION CDF

An example grammar R1 CPB(s1::m1 90) CA(m1 1.4) CO(s2 150) CPB(m1::s2 220) CO(m1 290) R2 ADD(C1Y PER) CDF(s1 3) CDF(s2 3) R1 CA(s2 1.4) R3 CPB(s1::m1 100) R2 CA(m1 2.5) 1 x { CA(m1 2.4) } R4 CDF(m1 2) CO(s2 340) CPBBM(100) R2 R2 R3 CF(2)

step0 : R4 Rewrite steps

Rewrite steps step0 : R4 step1 : CDF(m1 2) CO(s2 340) CPBBM(100) R2 R2 R3 CF(2)

Rewrite steps step0 : R4 step1 : CDF(m1 2) CO(s2 340) CPBBM(100) R2 R2 R3 CF(2) step2 : CDF(m1 2) CO(s2 340) CPBBM(100) ADD(C1Y PER) CDF(s1 3) CDF(s2 3) R1 CA(s2 1.4) ADD(C1Y PER) CDF(s1 3) CDF(s2 3) R1 CA(s2 1.4) CPB(s1::m1 100) R2 CA(m1 2.5) 1 x { CA(m1 2.4) } CF(2)

Rewrite steps step0 : R4 step1 : CDF(m1 2) CO(s2 340) CPBBM(100) R2 R2 R3 CF(2) step2 : CDF(m1 2) CO(s2 340) CPBBM(100) ADD(C1Y PER) CDF(s1 3) CDF(s2 3) R1 CA(s2 1.4) ADD(C1Y PER) CDF(s1 3) CDF(s2 3) R1 CA(s2 1.4) CPB(s1::m1 100) R2 CA(m1 2.5) 1 x { CA(m1 2.4) } CF(2) step3 : CDF(m1 2) CO(s2 340) CPBBM(100) ADD(C1Y PER) CDF(s1 3) CDF(s2 3) CPB(s1::m1 90) CA(m1 1.4) CO(s2 150) CPB(m1::s2 220) CO(m1 290) CA(s2 1.4) ADD(C1Y PER) CDF(s1 3) CDF(s2 3) CPB(s1::m1 90) CA(m1 1.4) CO(s2 150) CPB(m1::s2 220) CO(m1 290) CA(s2 1.4) CPB(s1::m1 100) ADD(C1Y PER) CDF(s1 3) CDF(s2 3) R1 CA(s2 1.4) CA(m1 2.5) 1 x { CA(m1 2.4) } CF(2)

Rewrite Steps step4 : CDF(m1 2) CO(s2 340) CPBBM(100) ADD(C1Y PER) CDF(s1 3) CDF(s2 3) CPB(s1::m1 90) CA(m1 1.4) CO(s2 150) CPB(m1::s2 220) CO(m1 290) CA(s2 1.4) ADD(C1Y PER) CDF(s1 3) CDF(s2 3) CPB(s1::m1 90) CA(m1 1.4) CO(s2 150) CPB(m1::s2 220) CO(m1 290) CA(s2 1.4) CPB(s1::m1 100) ADD(C1Y PER) CDF(s1 3) CDF(s2 3) CPB(s1::m1 90) CA(m1 1.4) CO(s2 150) CPB(m1::s2 220) CO(m1 290) CA(s2 1.4) CA(m1 2.5) 1 x { CA(m1 2.4) } CF(2)

Interpretation of the string CDF(m1 2) CO(s2 340) CPBBM(100)... CDF(m1 2) Rotation ( φ i ) CO(s2 340) CPBBM(100) Update state

Interpretation of the string... ADD(C1Y PER) CDF(s1 3) CDF(s2 3) CPB(s1::m1 90) CA(m1 1.4) CO(s2 150) CPB(m1::s2 220) CO(m1 290) CA(s2 1.4)...

Interpretation of the string... ADD(C1Y PER) CDF(s1 3) CDF(s2 3) CPB(s1::m1 90) CA(m1 1.4) CO(s2 150) CPB(m1::s2 220) CO(m1 290) CA(s2 1.4) CPB(s1::m1 100)...

Interpretation of the string... ADD(C1Y PER) CDF(s1 3) CDF(s2 3) CPB(s1::m1 90) CA(m1 1.4) CO(s2 150) CPB(m1::s2 220) CO(m1 290) CA(s2 1.4) CA(m1 2.5) CA(m1 2.4)

Evolutionary Algorithm The L-system grammars are evolved. a- Mutation Change parameter of a build command Add rule to rewrite rule Remove rule from rewrite rule b- Crossover : Use an index, copy the rules from parents: r1 r2 r3 r4

Evolutionary Algorithm c- Selection : Roulette wheel fitness = Evaluation in simulation Straight line motion Positive change of the impact, safe Energy efficiency speed a impact b torque c

Implementation Optimizer Grammar World builder cpg.xml Parser world.xml World maker Fitness Simulator world.wbt

Experiments Two sets of experiments Roombots Roombots and passive legs Generation limit 500 th Modules : 2 to 8 Deterministic simulation environment Distributed over 40 computers 3 to 5 hours

An example Run

An example Run Best fitness changed at 7 points between 20 th and 50 th generations. 0.17 5.6 speed (m/s) 0.165 0.16 0.155 impact 5.4 5.2 5 0.15 20 30 40 50 8 20 30 40 50 8 x 10 4 torque (Nm) 7 6 fitness 7.5 7 6.5 5 20 30 40 50 6 20 30 40 50

An example Run speed (m/s) 0.17 0.165 0.16 0.155 impact 5.6 5.4 5.2 5 0.15 20 30 40 50 8 20 30 40 50 8 x 10 4 torque (Nm) 7 6 fitness 7.5 7 6.5 5 20 30 40 50 6 20 30 40 50 23 rd - Mutation (parameter modification), best of the previous generation

An example Run speed (m/s) 0.17 0.165 0.16 0.155 impact 5.6 5.4 5.2 5 0.15 20 30 40 50 8 20 30 40 50 8 x 10 4 torque (Nm) 7 6 fitness 7.5 7 6.5 5 20 30 40 50 6 20 30 40 50 24 th - Crossover of two average individual

An example Run speed (m/s) 0.17 0.165 0.16 0.155 impact 5.6 5.4 5.2 5 0.15 20 30 40 50 8 20 30 40 50 8 x 10 4 torque (Nm) 7 6 fitness 7.5 7 6.5 5 20 30 40 50 6 20 30 40 50 30 th - Crossover, same morphologies but different controllers

Evaluation of the results Many different locomotion strategies are evolved Videos...

Roombots and Passive Elements Experiments Two types Between modules (2 connection faces) Attached to one module (1 connection face) (*) Telescopic motion Spring-damper systems Modules : 2 to 4 Passive Legs : 2 to 6 The aim is to explore effects of the passive compliant elements on the fitness criteria Videos...

Figure: The average speeds and fitness values according to number of modules of the robots. Comparison of the results (p) (q)

Figure: The average impact and torque values according to number of modules of the robots. Comparison of the results (a) (b)

Passive Elements Between Modules Rotational and linear Unstable behavior Unrealistic speeds (up to 2m/s) Robots disconnected Fast turn, gyroscope threshold did not work Reason could not be found ACM very stiff, each module is a robot A better model is needed

Conclusion Developmental process to evolve the morphology and controllers of the modular robots L-system grammars encoded the build process are evolved A variety of robots with different locomotion strategies are evolved The passive legs enable faster gaits by exploiting the energy stored at the legs The system can be used to test other types of passive elements The fitness criteria can be adapted for other tasks

Future Work Sensory feedback Other tasks Unstable passive elements

Thank you for listening! Questions...

6% 6% 13% 2 modules 3 modules 4 modules 5 modules 7 modules 19% 56% Evaluation of the results Robot Count 40 35 30 25 20 15 10 5 0 2 3 4 5 6 7 8 Number of Modules Distribution of the results according to the number of modules of the fittest robot. The robot counts according to their modules in the initial population. Each generation is composed of 100 individuals

0.45 Evaluation of the results 3.5 x 10 3 0.4 3 Average speed (m/s) 0.35 0.3 0.25 0.2 0.15 0.1 Average Fitness 2.5 2 1.5 1 0.05 0.5 0 2 3 4 5 7 Number of Modules 0 2 3 4 5 7 Number of Modules Figure: These results are grouped by the number of the modules of the robot.