Evolutionary robotics
Don't code, evolve!
Antonín Jareš
What is evolution?
"Definition:
[1] The process by which different kinds of living organism are believed to have developed from earlier forms during the history of the earth.
[2] The gradual development of something"
�* phenotype - The set of observable characteristics of an individual resulting from the interaction of its genotype with the environment.
How to represent an individual?
Glossary
Fitness�"Score" of an individual. How good the individual is amongst the population. Survival of the fittest -> the higher fitness one has, the more likely their genes are to be passed on.
Fitness function�Function determining fitness of each individual in the population.
Recombination / Cross over�Altering the genes of multiple individuals by combining parts of their genotypes.
Mutation�Pseudo random altering of genes of a single individual.
Selection�Choosing which individuals continue to the next generation, which recombine etc.
Evolution
Simple genetic algorithm
Selection
Cross over
Evolution in a picture
Great example - https://www.youtube.com/watch?v=GOFws_hhZs8&t=254s
Evolution parameters
Simple neural net
Line follower evolution
for Arduino robot
Antonín Jareš & Petr Martišek
Line follower problem
Motivation
Goals
What we worked with
Robot
Simulator
Simulator
Robot controlling system
Evolution
Mutations
Results
First steps
Result:�Failure. Can’t even make the first turn.
Partial success
Result:�Can navigate about a quarter of the track before failing.
Video
Cheating robot
Result:�Well…
Video
Looks like an image instead of a video?
Every tick, the robot iterates between going full speed ahead and full speed in reverse.
The “winner”
Result:�Flawless on both the training track and a previously unseen, more complicated track.
Video
Is such a large network necessary?
Final experiment
Result:�Flawless on the training track, but problems on the previously unseen track.
Video
Intermezzo - what could be done better?
Arduino implementation
Real world results
Real world results
Thank you for your attention.
Questions?