Evolutionary robotics
Résumé de section
-
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: Wednesday 01.07.2026 from 09h15 to 10h15 (room CM 1 106)
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 presentation
Suggested 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:
- Diversity maintenance: Viability Evolution (Dario Floreano)
- Quality Diversity optimization algorithms (Fuda van Diggelen)
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 - 13:00
Practical:
- Introduction to final project
-
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 submission deadline [NEW DEADLINE 24-5-2026]
Submit a zip named
2026_micro_515_SCIPER_TEAMNAME_LASTNAME1_LASTNAME2_final.zipcontaining:final_project_train.pyx_best.npy— your best evolved genotype<your_robot>.xml— your best robot xml file (even if you did not change anything)- Your controller file (even if you did not change anything)
- Any other file that you deem necessary for the submission to run successfully
README.md(max 400 words): Specific instruction on submission folder structure, and how to run properly (if deemed necessary for the submission to run successfully)
-
Group_A Test Results Fichier
-
Group_B Test Results Fichier
-
Group_D Test Results Fichier
-
Group_E Test Results Fichier
-
Group_F Test Results Fichier
-
Group_G Test Results Fichier
-
Group_H Test Results Fichier
-
Group_I Test Results Fichier
-
Group_J Test Results Fichier
-
Group_W Test Results Fichier
-
09:15 - 13:00Graded Presentation of the final project*
*Presence of all students is mandatory
Preliminary timetable

Grading will be based on the following:
