Basics of mobile robotics
MICRO-452
Media
Basics of mobile robotics
Objective
The objective of this course is to provide the basics required to develop autonomous mobile robots. Both hardware (energy, locomotion, sensors, embedded electronics, system integration) and software (control architectures, control theory, localization, trajectory planning, high-level control) aspects will be tackled. Theory will be deepened by exercises and application to simulated robots. Case studies will allow to make all this more concrete.
Thymio + cables + camera returns:
Tues Dec 16 between 16h00-17h00 Polydôme
Wed Dec 17 between 9h00-10h00 ME B3 30
Wed Dec 17 between 14h00-15h00 ME B3 30
Thu Dec 18 between 9h00-10h00 ME B3 30
Thu Dec 18 between 14h00-15h00 ME B3 30
Course organization
This course will start in hybrid mode with:
- lecture given in Polydôme (Tuesday from 15:15 to 17:00)
- zoom live transmission of the lecture
- recording of the course
- exercices in Polydôme
- Special sessions: 16 September, 7 octobre and 28 octobre at 17h15 with AI tutor
Exercises and project are made in groups and are based on a Thymio robot. Each student will be able to borrow one.
The case studies are interactive and based on your attendance, and will not be recorded. The main idea of the case studies is to have a discussion in class, making no sense to be recorded. Same for the exercise sessions and the project preparation.
Extra case studies can be discussed with a chatbot dedicated to that task.
Schedule and locations
The first session will be a hybrid one for two hours, followed by exercises. Then each week we will have:
- a case study interactive session from 15:15 to 16,
- then a course of one hour,
- then 2 hours of exercises from 17:15 to 19 (All the exercises are compulsory)
- Announcements (Forum)
- Forum for students (Forum)
- Thymio / tdm client forum (Forum)
- BOMR AI tutor (URL)
- Resources for the courseRobotacademy (online educa... (Text and media area)
- Links to ask questions during the exercise session... (Text and media area)
- Form to ask for assistants (access with EPFL account) - for the entire semester (updated 27/08/2025) (URL)
- Waiting list of the questions (access with EPFL account) - for the entire semester (updated 27/08/2025) (URL)
- BOMR AI tutor (URL)
- Links to borrow a robot / camera (Text and media area)
- Plan of Polydome places (File)
- Borrow a camera (URL)
The course of this week gives an introduction to the topics presented during the semester and introduces several robot design rules.
- Introduction to the course (File)
- Slides of first lesson (File)
- Case studies 1 (File)
- Astolfi controller interactive (URL)
- Exercise session resources (Text and media area)
- Exercise Session 1 Intro-slides (updated 09/09/2024) (File)
- Exercise session 1 (updated 08/09/2025) (File)
- Solutions for exercise session 1 (updated 08/09/2025) (File)
- Introduction to Python and Jupyter Notebooks (updated 27.08.2025) (File)
- Control your Thymio in Python (updated 27.08.2025) (File)
- Schematics of the Thymio robot (File)
- accelerometer datasheet (File)
- Thymio Cheat Sheet (File)
- Course recordings (Text and media area)
- Recording lesson 1 - part A (File)
- Recording lesson 1 - part B (File)
- Case studies for use with chatbotThese are the cas... (Text and media area)
- Case Study L1-C1 for discussion with chatbot (File)
- Case Study L1-C2 for discussion with chatbot (File)
- Case Study L1-C3 for discussion with chatbot (File)
- Case Study L1-C4 for discussion with chatbot (File)
- Case Study L1-C5 for discussion with chatbot (File)
- Case Study L1-C6 for discussion with chatbot (File)
- Link to chatbot for case-study (URL)
Perception, vision (1)
- From 3D to 2D
- feature extraction
- Slides lesson 2 and 3 (File)
- Interactive demo of Canny Edge Detector (URL)
- Radon / Hough Transform (URL)
- case studies 2 (File)
- Anonymous feedback (Feedback)
- Exercise session resources (don't need the Thymio ... (Text and media area)
- Quiz of the session (File)
- AI tutor of BOMR (URL)
- Exercise 2 PART 1 (interactive) (updated 16/09/2025) (File)
- Exercise 2 PART 2 (base of CV) (updated 16/09/2025) (File)
- Solution 2 PART 1 (interactive).zip (updated 17/11/2025) (File)
- Solutions 2 PART 2 (base of CV) (updated 16/09/2025) (File)
- Course recordings (Text and media area)
- Recording lesson 2 (File)
- Case Study L2-C1 for discussion with chatbot (File)
- Case Study L2-C2 for discussion with chatbot (File)
- Link to chatbot for case-study (URL)
Perception, vision (2)
- Machine learning in vision
- 3D
- Demo of person posture extraction by deep learning (URL)
- case studies 3 (File)
- Anonymous feedback (Feedback)
- Exercise session resources (take your Thymio) (Text and media area)
- Exercise session 3 (updated 23/09/2025) (File)
- Solutions for exercise session 3 (updated 01/10/2025) (File)
- Course recordings (Text and media area)
- Recording lesson 3 (File)
- Extra case studies to be studied with a chatbot (Text and media area)
- Case study L3-C1 for discussion with chatbot (File)
- Case study L3-C2 for discussion with chatbot (File)
- Case study L3-C3 for discussion with chatbot (File)
- Case study L3-C4 for discussion with chatbot (File)
- Link to chatbot for case-study (copy) (URL)
Navigation (1) : Obstacle Avoidance
- Sensors for local navigation
- Local
navigation strategies
External ressources: Siegwart Nourbakhsh, 2004 : Chapter 4
- Slides lessons 4 and 5 (File)
- Case studies 4 (File)
- Potential field example (URL)
- Anonymous feedback (Feedback)
- Exercise session resources (take your Thymio) (Text and media area)
- Exercise session 4 (updated 29/09/2025) (File)
- Solutions for exercise session 4 (updated 01/10/2025) (File)
- Course recordings (Text and media area)
- Video recording of lesson 4 (File)
- Case studies for discussion with a chatbot (Text and media area)
- Link to chatbot for case-study (URL)
- Case study L4-C1 for discussion with chatbot (File)
- Case study L4-C2 for discussion with chatbot (File)
- Case study L4-C3 for discussion with chatbot (File)
- Case study L4-C4 for discussion with chatbot (File)
Navigation (2) : Path Planning
Interactive session (with Quizzes etc...)
Please be present for the exercise session between 17h15-18h50 to participate in the experiment.
Recall: To thank you for your time and participation (and due to the limited number of participants), we’ve increased the rewards:
20 CHF for participating all 3 sessions
10 CHF for participating the last 2 sessions
- Path finding: A*, Dijkstra etc. (URL)
- Case studies 5 (File)
- Anonymous feedback (Feedback)
- Exercise session resources (don't need the Thymio) (Text and media area)
- Raw quiz (File)
- Exercise 5 PART 1 (interactive session updated updated 07/10/2025)) (File)
- Exercise 5 PART 1 solution (updated 07/10/2025) (File)
- Exercise 5 PART 2 (updated 05/10/2025) (File)
- Exercise 5 PART 2 solution (updated 05/10/2025) (File)
- Course recordings (Text and media area)
- recording lesson 5 (File)
- Link to chatbot for case-study (URL)
- Case study L5-C1 for discussion with chatbot (File)
- Case study L5-C2 for discussion with chatbot (File)
- Case study L5-C3 for discussion with chatbot (File)
Week 6: Localisation (1)
- Slides lessons 6 (File)
- Case studies 6 (File)
- Anonymous feedback (Feedback)
- Exercise session resources (take your Thymio) (Text and media area)
- Exercise session 6 (updated 13/10/2025) (File)
- Solutions for exercise session 6 (updated 13/10/2025) (File)
- Course recordings (Text and media area)
- recording lesson 6 (File)
- Link to chatbot for case-study (URL)
- Case study L6-C1 for discussion with chatbot (File)
- Case study L6-C2 for discussion with chatbot (File)
- Case study L6-C3 for discussion with chatbot (File)
Enjoy your holidays
Week 7: Uncertainties (1)
Last interactive session 28 Oct !
Please be present for the exercise session between 17h15-19h00 for the exp !
Recall: To thank you :
20 CHF for participating all 3 sessions
10 CHF for participating the last 2 sessions
5 CHF for participating the last session
We look forward to seeing you!
- Slides Lessons 7 and 8 (File)
- Case studies 7 (File)
- Anonymous feedback (Feedback)
- Exercise session resources (don't need the Thymio)... (Text and media area)
- Exercise 7 (27.10.2025) (File)
- Quiz (File)
- Exercise 7 correction (27.10.2025) (File)
- Course recordings (Text and media area)
- Video of lesson 7 (File)
- Case studies to be discussed with the chatbot (Text and media area)
- Link to chatbot for case-study (URL)
- Case study L7-C1 for discussion with chatbot (File)
Week 8 : Uncertainties (2)
- Interactive Kalman filter visualisation (URL)
- Case studies 8 (File)
- Anonymous feedback (Feedback)
- Exercise session resources (take the Thymio) (Text and media area)
- Exercise session 8 (updated 03/11/2025) (File)
- Solutions for exercise session 8 (updated 18/11/2025) (File)
- Send data program from Thymio (File)
- Course recordings (Text and media area)
- Recording of lesson 8 (File)
- Group formation (Text and media area)
- Case studies to be discussed with the chatbot (copy) (copy) (Text and media area)
- Link to chatbot for case-study (URL)
- Case study L8-C1 for discussion with chatbot (File)
- Case study L8-C2 for discussion with chatbot (File)
- Case study L8-C3 for discussion with chatbot (File)
Week 9:
Course: case studies from 15:15 to 16:00, then SLAM and intro to project in Polydôme , then team formation and project definition from 17:00 to 19:00 at Polynôme Compulsory
- Slides of lesson 9 (File)
- case studies 9 (File)
- Slides project intro (File)
- Anonymous feedback (Feedback)
- BOMR Project Team Assignments by family name_2025_2026 (File)
- Team formation in Polydôme (File)
- recording lesson 9 + intro project (File)
- The ultimate guide for the connection with the Thy... (Text and media area)
- Tdmclient: The ultimate Guide (File)
- Case studies to be discussed with the chatbot (copy) (copy) (copy) (Text and media area)
- Link to chatbot for case-study (URL)
- Case study L9-C1 for discussion with chatbot (File)
- Access to the sheet for team presentation registration 2025-26 (URL)
- Anonymous feedback (Feedback)
- Computer Vision Tutorials (File)
Week 11: Project in Polydôme from 15:15 to 19:00 (few TAs available at the start, with more joining progressively).
-----
Note (optional): We are still working to better understand the used of the chatbot (AI), it is new for us, so we will ask you to complete 1 last (really final!) short survey (<10 minutes) As a thank-you, we will add the big +10 CHF* to your compensation.
So all the money (include this bonus) will be given together before Christmas 🎁.
Thanks again !!
*eligibility as stated in the survey
Week 12: No course at 15:15, only project in Polydôme from 15:15 to 19:00.
Deadline for submitting the project on Moodle: Thursday December 4th, 23:00
Project presentations take place on zoom at the address https://epfl.zoom.us/j/61910522779
A waiting room allows you to wait there until the previous group has finished.
Please prepare your Student Card for verification.
Week 14
Mock exam instead of the course, Tuesday, 15:15-16:00, in Polydôme
Then 16h00-17h00 your can return the Thymio and cables in Polydôme
Thymio + cables + camera returns:
Tues Dec 16 between 16h00-17h00 Polydôme
Wed Dec 17 between 9h00-10h00 ME B3 30
Wed Dec 17 between 14h00-15h00 ME B3 30
Thu Dec 18 between 9h00-10h00 ME B3 30
Thu Dec 18 between 14h00-15h00 ME B3 30
- Mock exam intro (File)
- Anonymous feedback on mock exam (Feedback)
- Slides with corrections (File)
- LAST survey about AI systems (URL)
- Course recordings (Text and media area)
Exam
The exam will take place on Wednesday 21.1.2026 at 15:15 in rooms CO6, CE 1 2, CE 1 3 and CE 1 6.
- This is an exam that you will run in the above mentioned rooms on moodle, starting at 15:15 on Wednesday January 21, with a standard duration of 90 minutes.
- Which student is in which seats of which of the 4 rooms is defined in advance. The students seated in CE 1 2, CE 1 4 and CE 1 6 need to bring their own computer and have the exam on it.
- The exam includes 10 questions exactly as in the mock exam. The answer need to be right / coherent in the multiple choice answer, but also at the level of the explanation (reasoning) you give to justify your answer. A right answer with a wrong justification is considered as incorrect. A wrong answer with a good justification can be considered correct. The answers items can be shuffled; when giving the justification refer to the answer content and not its numbering or position among the answers.
- The exam is open book, you can look on your notes, on the slides, on the web, where you want. Only communication with any other people is forbidden. The persons supervising the room can ask you to show some windows and check that you are respecting the rules.
Remind: When writing your justifications, you must use your own words, copy-pasting without proper citation (e.g., from course materials, online sources, chatbot) is considered plagiarism and will not be tolerated. Always ensure that any sources you refer to are clearly cited.