Evolutionary robotics
Topic outline
-
The course offers an introduction to evolutionary computation, describes in detail the most widely used algorithms, and compares evolutionary algorithms to reinforcement learning. It also describes applications of evolutionary algorithms to neural networks, neural controllers of mobile robots, and body-brain co-design. Students will carry out exercises with selected evolutionary algorithms, and then engage in gradually more complex competitions to evolve neural controllers of mobile robots in physics-based simulations. Finally, students will carry out a project in simulation on the co-evolution of body and brains of robots. The course consists of ex-cathedra lectures, software exercises, and competitions in Python.
Credits: 4
Thursday, 09:15-13:00
Final exam: Date will be set and communicated by EPFL SAC in April 2026. 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 Fuda.vanDiggelen@epfl.ch for confirmation before the exam. Grade: 50% written exam (Multiple Choice Questions), 50% project presentationSuggested readings:
- Eiben, A. E. and Smith, J. E. (2003, 2015) Introduction to Evolutionary Computing. Berlin: Springer Verlag
- Floreano, D. and Mattiussi, C. (2008, 2023) Bio-inspired Artificial Intelligence. Cambridge, MA: MIT Press.
- Risi, S., Tang, Y., Ha, D. and Miikkulainen, R. (2025) Neuroevolution. Cambridge, MA: MIT Press.
- In addition, recent research articles are provided on Moodle.
-

09:15-10:30Lecture
- Course introduction: objectives, contents, logistics
- Introduction to Evolutionary Computation (simple Genetic Algorithm at work)
10:30-13:00Practical (bring your own laptop):
- Introduction to EvoRob software and installation:
- Exercise: Introduction to MuJoCo
-
09
:15 - 11:00 Lecture:
- Operators of Evolutionary Algorithms
- Evolutionary Strategies: OpenAI ES and CMA-ES
11:15 - 13:00
Practical (bring your own laptop):
- Implementation of Evolutionary Strategies (ES) on a Passive Dynamic Walker
-
09:15 - 11:00

Lecture:
- Evolution of Neural Controllers I
- Evolution of Neural Controllers II
11:15 - 13:00
Practical (bring your own laptop):
- Intro to OpenAI gymnasium-interface
- Competition 1 kick-off: Flat terrain: Evolving controller
-

09:15 - 11:00
Lecture:
- Reinforcement learning
- Evolutionary Algorithms vs. Reinforcement learning
11:15 - 13:00
Practical (bring your own laptop):- Competition 1: Flat terrain: Comparison with RL
-
09:15 - 11:00 Lecture:
- Multi-objective Optimization: simple methods
- Multi-objective Optimization: NSGA I & II
11:15 - 13:00
Practical (bring your own laptop):
- Competition deadline 1: Flat terrain
- Competition 2 kick-off: Multi-objective, two terrains: Build your own NSGA-II
-
09:15 - 10:00


Lecture:
- Evolution and learning
10:15 - 13:00
Practical (bring your own laptop):- Competition 2: Multi-objective, two terrains: Pareto front analysis
-
09:15 - 11:00

Lecture:
- Evolution of body morphologies
- Co-evolution of brains and bodies
11:15 - 13:00
Practical (bring your own laptop):- Competition 2 Deadline: Multi-objective, two terrains
- Competition 3 kick-off: Hill terrain: Co-evolution of brains and bodies
-
9:15 – 11:00

Lecture:
- Quality Diversity optimization I
- Quality Diversity optimization II
11:15 - 13:00
Practical (bring you own laptop):- Competition 3: Hill terrain: Morphology analysis
-
09:15 - 11:00

Lecture:
- Competitive coevolution
- Cooperative coevolution
11:15 - 13:00
Practical (bring you own laptop):
- Competition 3 Deadline: Hill terrain
- Final project introduction
- Final project kick-off
-
09:15 - 10:00

Lecture:
- Towards Robot Self-Reproduction
10:15 - 13:00
Practical (bring you own laptop):
- Final project
-
09:15 - 13:00

Practical:
- Final project
-
09:15 - 13:00Graded Presentation of the final project
