280 likes | 502 Views
Embedded Systems for Evolutionary Robotics. Hod Lipson Mechanical & Aerospace Engineering Computing & Information Science Cornell University. The design process of nature. Biology provides inspiring designs We can mimic these principles in machines
E N D
Embedded Systems forEvolutionary Robotics Hod Lipson Mechanical & Aerospace Engineering Computing & Information Science Cornell University
The design process of nature • Biology provides inspiring designs • We can mimic these principles in machines • Vision, Control, Sensing, Actuation, Structure • But these principles are a result of unique biological constraints • Instead, mimic the design process itself • The evolutionary process that lead to these designs
Evolutionary Robotics • Evolutionary Computation methods applied to design of autonomous machines • Morphology & control • Why? • Augment human design process • Automate autonomous adaptation • design in-situ • May shed light on animal adaptation
A simple evolutionary process Genotype (e.g. DNA) Phenotype (body & brain) • Initialize a population of machines • Repeat • Evaluate (test) • Select (e.g. by fitness) • Replicate (e.g. duplication) • Vary (e.g. mutation) • Until good solutions found 01011010010 10010101010 11101011101 10101001000 00100101001 00010111101 11111001001 11010101001
A gradient-Following brain Bongard et al (2002)
Camera View Camera
Nonaped Zykov & Lipson (2004)
Nonaped Zykov & Lipson (2004)
Evolving controllers with some morphological parameters Paul et al (2001) Paul & Bongard (2002)
Evolving Bodies and Brains • Genetic operators: small mutations: • Connect/remove small bar or unconnected neuron • Change bar length or neuron synapse • Split bar/vertex • Connect/disconnect neuron to bar (actuator)
Evolving for Locomotion • Population: Starts with empty/null designs. Size 200 ~ 1000 machines • Genotype/phenotype: bars/actuators, and neurons • Fitness function: distance center of mass moved during 12 cycles of the neural net • Selection function: fitness proportionate • Genetic operators: small mutations: • Connect/remove small bar or unconnected neuron • Change bar length or neuron synapse • Split bar/vertex • Connect/disconnect neuron to bar (actuator) • Replacement function: random. • Evolution dynamics: Steady state 100 ~ 10000 generations. Various dynamics of convergence and divergence. Parallel implementation yields “natural evolution” drive for simplicity:
Phylogenetic Trees Hod Lipson – Evolutionary Design
Evolved Bodies & Brains Lipson & Pollack (2001)
Crossing The Reality Gap Evolving in simulation Simulator Evolve Controller In Simulation Download Try it in reality!
Too many Trials Evolving in simulation Evolve Controller In Reality Try it !
Evolving in simulation Simulator Co-Evolution Evolve Simulator Evolve Controller Download Collect Sensor Data Try it in reality!
Analysis for Synthesis With Victor Zykov, Josh Bongard and Nicolas Esteves
Autonomous diagnosis & repair Recovery Actions Diagnosti c Models Diagnostic Actions Initialize candid ate Initialize diagnosis Initialize candidate recovery actions with model pool with diagnosis actions with possible actions available models possible actions Test model predictions Test model predictions Update Models for each candidate action for each candidate action Using Data Update actions to achieve Make Predictions Update actions to recovery in consensus generate disagreement among model predictions among model predictions Collect Sensor Data Select action with Select action with acceptable worst - case acceptable worst - case safety safety Compare to predictions to actual data, eliminate and refine models Perform action on target Perform action on target system system
More diagnostics: Environment With Josh Bongard
Evolutionary Robotics • Evolutionary search for • Evolve bodies & brains • Design automation • In-Situ adaptation • Understanding biological adaptation • Challenges • Crossing the reality gap • Approach • Co-evolve simulator with controller • Enabled by sufficient on-board CPU for self-simulation