Evolution and Robots - How to Create Artificial Brains for Machines


Published on

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

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Evolution and Robots - How to Create Artificial Brains for Machines

  1. 1. Evolution and Robots How to Create Artificial Brains for Machines
  2. 2. Who am I? • Robotics & AI PhD Student @ ISCTE-IUL • Geek, Hacker, all the good stuff • Sci-fi,Tech and Robotics enthusiast • Metalhead and Petrolhead
  3. 3. Overview • Why Evolutionary Robotics (ER)? • How Evolutionary Algorithms (EA) Work • Challenges • Cool projects
  4. 4. Archytas’ pigeon (~400 BC)
  5. 5. da Vinci’s Mechanical Knight (1495)
  6. 6. Good Old Fashion Artificial Intelligence (and Robotics)
  7. 7. Behavior Based Robotics
  8. 8. Evolutionary Robotics •Self-organized behavior •Adaptable controllers
  9. 9. Evolutionary Algorithms
  10. 10. Evolutionary Algorithms Fitness Example: finding the best color for camouflage
  11. 11. Evolutionary Algorithms Mutation (and/or Recombination)
  12. 12. Artificial Neural Networks
  13. 13. Neuron Synapse OutputInput
  14. 14. 0.42.0 Neuron activation function -1.2 Connection/Synaptic weight -0.7
  15. 15. Sensors Actuators Inputs Outputs
  16. 16. Left Light Sensor Right Light Sensor Right Motor Left Motor
  17. 17. Left Light Sensor Right Light Sensor Right Motor Left Motor
  18. 18. Simulating Evolution in Robotics • Robot Model • Task • Evaluation/Fitness Function
  19. 19. The  Bootstrapping  Problem
  20. 20. The  Reality  Gap
  21. 21. My Work • (trying to) solve the Bootstrapping Problem and crossing the Reality Gap • Hierarchical approach to the evolution of behaviors
  22. 22. 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
  23. 23. Questions/Discussion @miguelduarte42