evolution and robots - how to create artificial brains for machines
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=K4EPsM2JuC8TRANSCRIPT
![Page 1: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/1.jpg)
Evolution and RobotsHow to Create Artificial Brains for Machines
![Page 2: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/4.jpg)
Archytas’ pigeon (~400 BC)
![Page 5: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/5.jpg)
da Vinci’s Mechanical Knight
(1495)
![Page 6: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/6.jpg)
Good Old Fashion Artificial
Intelligence (and Robotics)
![Page 7: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/7.jpg)
Behavior Based
Robotics
![Page 8: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/8.jpg)
![Page 9: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/9.jpg)
![Page 10: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/10.jpg)
Evolutionary Robotics
•Self-organized behavior
•Adaptable controllers
![Page 11: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/11.jpg)
![Page 12: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/12.jpg)
Evolutionary Algorithms
![Page 13: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/13.jpg)
![Page 14: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/14.jpg)
![Page 15: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/15.jpg)
Evolutionary Algorithms
Fitness
Example: finding the best color for camouflage
![Page 16: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/16.jpg)
Evolutionary Algorithms
Mutation (and/or Recombination)
![Page 17: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/17.jpg)
![Page 18: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/18.jpg)
![Page 19: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/19.jpg)
![Page 20: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/20.jpg)
Artificial Neural Networks
![Page 21: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/21.jpg)
Neuron
Synapse
OutputInput
![Page 22: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/23.jpg)
Sensors
Actuators
Inputs Outputs
![Page 24: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/24.jpg)
Left Light Sensor
Right Light Sensor
Right Motor
Left Motor
![Page 25: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/25.jpg)
Left Light Sensor
Right Light Sensor
Right Motor
Left Motor
![Page 26: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/26.jpg)
![Page 27: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/27.jpg)
Simulating Evolution in Robotics
• Robot Model
• Task
• Evaluation/Fitness Function
![Page 28: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/28.jpg)
![Page 29: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/29.jpg)
The Bootstrapping Problem
![Page 30: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/30.jpg)
The Reality Gap
![Page 31: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/32.jpg)
![Page 33: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/33.jpg)
![Page 34: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/34.jpg)
![Page 35: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/35.jpg)
![Page 36: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/37.jpg)
![Page 38: Evolution and Robots - How to Create Artificial Brains for Machines](https://reader034.vdocuments.us/reader034/viewer/2022051411/540564978d7f729e768b4c24/html5/thumbnails/38.jpg)
Questions/Discussion
@miguelduarte42