Evolution and Robots - How to Create Artificial Brains for Machines

Preview:

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

Citation preview

Evolution and RobotsHow 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

Overview

• Why Evolutionary Robotics (ER)?

• How Evolutionary Algorithms (EA) Work

• Challenges

• Cool projects

Archytas’ pigeon (~400 BC)

da Vinci’s Mechanical Knight

(1495)

Good Old Fashion Artificial

Intelligence (and Robotics)

Behavior Based

Robotics

Evolutionary Robotics

•Self-organized behavior

•Adaptable controllers

Evolutionary Algorithms

Evolutionary Algorithms

Fitness

Example: finding the best color for camouflage

Evolutionary Algorithms

Mutation (and/or Recombination)

Artificial Neural Networks

Neuron

Synapse

OutputInput

0.42.0

Neuron activation function

-1.2

Connection/Synaptic weight

-0.7

Sensors

Actuators

Inputs Outputs

Left Light Sensor

Right Light Sensor

Right Motor

Left Motor

Left Light Sensor

Right Light Sensor

Right Motor

Left Motor

Simulating Evolution in Robotics

• Robot Model

• Task

• Evaluation/Fitness Function

The  Bootstrapping  Problem

The  Reality  Gap

My Work

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

• Hierarchical approach to the evolution of behaviors

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

Questions/Discussion

@miguelduarte42

Recommended