evolution and robots - how to create artificial brains for machines

38
Evolution and Robots How to Create Artificial Brains for Machines

Upload: miguel-duarte

Post on 01-Sep-2014

64 views

Category:

Technology


0 download

DESCRIPTION

Robots have existed in one form or another for many centuries, but only in the last few decades have we seen a major advance in this field. Although we have waited a long time for robotic intelligence, most current robots are less intelligent than a cockroach. Even sophisticated robots such as Asimo are quite limited in terms of what actions they can perform and how they perform them. Programming robots by hand can quickly escalate in complexity because traditional computer programs are inherently limited: they do only and exactly what you tell them to do. Not only do robots need to be able to generalize and deal with many different situations, but the programmer also needs to make sense of all the input data from the robot's sensors. To overcome some of these problems, researchers started using evolutionary algorithms to automatically create controllers for robots. An evolutionary algorithm uses the same principles as Darwinian evolution: you have a population of individuals (in this case, an individual is a robotic controller) which compete for survival. The individuals are evaluated based on how well they can solve a task. The fittest individuals are selected and reproduce to create a new (and potentially better) generation of individuals. By giving robots a small "brain" and by using evolutionary algorithms, we can automatically make them adapt to the task and progressively learn how to solve it without (much) human intervention. In this talk, I will cover the basics of evolutionary algorithms, the main challenges of using evolutionary techniques in real robots, and give you some tips on how you can build your own army of killer robots. This talk was presented by Miguel Duarte (http://miguelduarte.pt) at Codebits VI (http://codebits.eu). Video available here: https://www.youtube.com/watch?v=K4EPsM2JuC8

TRANSCRIPT

Page 1: Evolution and Robots - How to Create Artificial Brains for Machines

Evolution and RobotsHow to Create Artificial Brains for Machines

Page 2: Evolution and Robots - How to Create Artificial Brains for Machines

Who am I?

• Robotics & AI PhD Student @ ISCTE-IUL

• Geek, Hacker, all the good stuff

• Sci-fi, Tech and Robotics enthusiast

• Metalhead and Petrolhead

Page 3: Evolution and Robots - How to Create Artificial Brains for Machines

Overview

• Why Evolutionary Robotics (ER)?

• How Evolutionary Algorithms (EA) Work

• Challenges

• Cool projects

Page 4: Evolution and Robots - How to Create Artificial Brains for Machines

Archytas’ pigeon (~400 BC)

Page 5: Evolution and Robots - How to Create Artificial Brains for Machines

da Vinci’s Mechanical Knight

(1495)

Page 6: Evolution and Robots - How to Create Artificial Brains for Machines

Good Old Fashion Artificial

Intelligence (and Robotics)

Page 7: Evolution and Robots - How to Create Artificial Brains for Machines

Behavior Based

Robotics

Page 8: Evolution and Robots - How to Create Artificial Brains for Machines
Page 9: Evolution and Robots - How to Create Artificial Brains for Machines
Page 10: Evolution and Robots - How to Create Artificial Brains for Machines

Evolutionary Robotics

•Self-organized behavior

•Adaptable controllers

Page 11: Evolution and Robots - How to Create Artificial Brains for Machines
Page 12: Evolution and Robots - How to Create Artificial Brains for Machines

Evolutionary Algorithms

Page 13: Evolution and Robots - How to Create Artificial Brains for Machines
Page 14: Evolution and Robots - How to Create Artificial Brains for Machines
Page 15: Evolution and Robots - How to Create Artificial Brains for Machines

Evolutionary Algorithms

Fitness

Example: finding the best color for camouflage

Page 16: Evolution and Robots - How to Create Artificial Brains for Machines

Evolutionary Algorithms

Mutation (and/or Recombination)

Page 17: Evolution and Robots - How to Create Artificial Brains for Machines
Page 18: Evolution and Robots - How to Create Artificial Brains for Machines
Page 19: Evolution and Robots - How to Create Artificial Brains for Machines
Page 20: Evolution and Robots - How to Create Artificial Brains for Machines

Artificial Neural Networks

Page 21: Evolution and Robots - How to Create Artificial Brains for Machines

Neuron

Synapse

OutputInput

Page 22: Evolution and Robots - How to Create Artificial Brains for Machines

0.42.0

Neuron activation function

-1.2

Connection/Synaptic weight

-0.7

Page 23: Evolution and Robots - How to Create Artificial Brains for Machines

Sensors

Actuators

Inputs Outputs

Page 24: Evolution and Robots - How to Create Artificial Brains for Machines

Left Light Sensor

Right Light Sensor

Right Motor

Left Motor

Page 25: Evolution and Robots - How to Create Artificial Brains for Machines

Left Light Sensor

Right Light Sensor

Right Motor

Left Motor

Page 26: Evolution and Robots - How to Create Artificial Brains for Machines
Page 27: Evolution and Robots - How to Create Artificial Brains for Machines

Simulating Evolution in Robotics

• Robot Model

• Task

• Evaluation/Fitness Function

Page 28: Evolution and Robots - How to Create Artificial Brains for Machines
Page 29: Evolution and Robots - How to Create Artificial Brains for Machines

The  Bootstrapping  Problem

Page 30: Evolution and Robots - How to Create Artificial Brains for Machines

The  Reality  Gap

Page 31: Evolution and Robots - How to Create Artificial Brains for Machines

My Work

• (trying to) solve the Bootstrapping Problem and crossing the Reality Gap

• Hierarchical approach to the evolution of behaviors

Page 32: Evolution and Robots - How to Create Artificial Brains for Machines
Page 33: Evolution and Robots - How to Create Artificial Brains for Machines
Page 34: Evolution and Robots - How to Create Artificial Brains for Machines
Page 35: Evolution and Robots - How to Create Artificial Brains for Machines
Page 36: Evolution and Robots - How to Create Artificial Brains for Machines

Wrapping It Up

• Pros

• Self-organization of behavior

• ANNs are tolerant to noise

• Adaptable controllers

• Cons

• Currently only works “in the lab”

• Simple robots & simple behaviors

• Controllers might be... unpredictable

Page 37: Evolution and Robots - How to Create Artificial Brains for Machines
Page 38: Evolution and Robots - How to Create Artificial Brains for Machines

Questions/Discussion

@miguelduarte42