Evolutionary robotics
Topic outline
-
The course offers an introduction to evolutionary computation and its application to neural networks, robot control, robot body-brain co-design, and evolutionary biology. The course consists of ex-cathedra lectures, software exercises in Python, and a project on co-evolution of robotic brains and bodies.
The course builds on foundational chapters from Floreano, D. and Mattiussi, C. (2008) Bio-inspired Artificial Intelligence. Cambridge, MA: MIT Press. In addition, several recent research articles are provided on Moodle.
Credits: 3
Thursday, 09:15-12:00
Final written exam: Monday 30.06.2025 from 15h15 to 16h15 (CE 1 2). Bring your student ID and an ink pen (not a pencil). Books, notes, personal devices are not allowed. Students with special arrangements from SAC, please email Dario.Floreano@epfl.ch for confirmation before the exam.
Grade: 50% written exam (Multiple Choice Questions), 50% project presentation and demo
-
09:15-12:00
Lecture
- Course introduction: objectives, contents, logistics
- Introduction to Evolutionary Computation
- Types of evolutionary algorithms
-
09:15 - 10:00
Lecture: Evolutionary Strategies
10:15 - 12:00
Algorithm Exercise: Implementation of Genetic Algorithm (GA) and Evolutionary Strategies (ES) in Python, and their application to function optimization. A laptop is required for this exercise.
-
09:15 - 11:00
Lecture: Multi-objective Optimization with Evolutionary Algorithms
11:15 - 12:00
Exercise: Implementing the multi-objective algorithm Non-dominated Sorting Genetic Algorithm (NSGA-II) for finding an optimal beam dimensions in Python. A laptop is required for this exercise.
-
09:15 - 12:00
Lecture:
- Foundations of Neural Networks
- Unsupervised Learning
- Introduction to Supervised Learning
EvoRob project:
- Software Installation (bring your own laptops)
-
09:15 - 12:00
Lecture:
- Supervised Learning (continued)
- Deep, Convolutional networks
- Reinforcement learning
-
09:15 - 11:00
Lecture:
- Evolution of neurocontrollers (I)
- Evolution of neurocontrollers (II)
11:15 - 12:00
EvoRob project:- Implement your own EA in the pipeline
-
Exercise manual can be found here
-
09:15 - 10:00
Lecture:
- Evolution and learning
10:15 - 12:00
EvoRob project:- Evolution of robot controllers in OpenAI Gym
-
9:15 – 12:00
EvoRob Project:
- Evolution of robot controllers in OpenAI Gym
-
09:15 - 10:00
Lecture:
- Representation and evolution of morphologies
10:15 - 12:00
EvoRob Project:
- Evolving body with custom gym in MuJoCo
-
09:15 - 10:00
Lecture:
- Coevolution of robot bodies and brains
10:15 - 12:00
EvoRob Project:
- Co-evolve parameterized body and brain
-
09.15 - 10.30
Lecture:
- Competitive and cooperative coevolution
10:30 - 12:00EvoRobo (report session):
- Full body and brain evolution
-
09:15 - 10:00
Lecture: Towards self-reproducing robots
10:15 - 12:00
EvoRob (report session):
- Full body and brain evolution
-
09:15 - 12:00
EvoRob (Report session):
- Project feedback round
- Full body and brain evolution
- Project feedback round
-
EvoRob report deadline!