Robotics Programming Laboratory

Bertrand Meyer and Jiwon Shin, Fall 2013


This laboratory has reached its maximum enrollment capacity.


02.12.2013 — Assignment 4 is now available.
18.11.2013 — Assignment 3 is now available.
29.10.2013 — Assignment 2 is now available.
07.10.2013 — Assignment 1 is now available.
20.09.2013 — Assignment 0 is now available.
06.09.2013 — Project grading scheme is now available.
25.06.2013 — Preliminary lecture and assignment schedules are now available.
18.03.2013 — The initial version of this page is up.

Course description

263-2600-00L Robotics Programming Laboratory

Abstract: The "Robotics Programming Laboratory" is a hands-on laboratory class in which participants program a robot that will play in a competition. Students will learn software engineering skills and robotics concepts and apply them in practice.

Objective: After completing this laboratory course, students will have knowledge of basic software engineering principles and methods, most common architectures, coordination and synchronization methods, understand how software engineering applies to robotics, and gain experience in programming a small robotics system with aspects of sensing, planning and control.

Prerequisites: This course is open to INFK, MAVT and ITET students. Students enrolled in this class should have some programming experience. The number of participants is limited to 16.


Recommended literature:

Grading: No Testat is delivered for this laboratory course. The assessment consists entirely of a project, which has several phases, including a final competition. The only way to get a grade is to submit the project for intermediate evaluations and to participate in the final competition. No grade will be given to late assignments. The grading rule applies regardless of the student's department or status. The performance assessment is only offered at the end, after the course unit. Repetition is only possible after re-enrolling.

Project grading scheme: The project will be evaluated four times during the semester. Each project will be evaluated in the following components:

Helping and getting helped:



Day Time Location
Monday 16:15-18:00 RZ F 21


The first lecture is held on Thursday 16.09.2013, 13:15-15:00 (regular exercise hour) in IFW C 31.

Date Lecture Title Slides Readings
Thursday 16.09.2013 1 Introduction to software engineering and robotics (BM) Final version pdf
Monday 23.09.2013 2 ROS and Roboscoop (JS) Final version pdf ROS Tutorials
Eiffel Essentials
Monday 30.09.2013 3 SCOOP (BM) Final version pdf Concurrent Eiffel with SCOOP
Monday 07.10.2013 4 Robot control and obstacle avoidance (JS) Final version pdf TangentBug: A Range-Sensor-Based Navigation Alogrithm
Monday 14.10.2013 5 Design patterns (BM) Final version pdf Design Patterns by Gamma et al.
Thursday 24.10.2013
(in IFW C 31)
6 Localization (JS) Final version pdf Chapter 7 and 8. Probabilistic Robotics.
Chapter 5. Intro to Autonomous Mobile Robots.
Monday 28.10.2013 7 Mapping (JS) Final version pdf Chapter 6 and 9. Probabilistic Robotics.
Chapter 4.1 and 4.7. Intro to Autonomous Mobile Robots.
Monday 04.11.2013 8 Modern software engineering tools (AR) Final version pdf
Monday 11.11.2013 9 Path planning (JS) Final version pdf Chapter 6. Intro to Autonomous Mobile Robots.
Monday 18.11.2013 10 Object recognition (JS) Final version pdf Chapters 14, 21, 22.
Computer Vision: A Modern Approach by Forsyth and Ponce
Monday 25.11.2013 11 Software architecture in robotics (BM)
Monday 02.12.2013 12 Assignment 3 demonstration
Monday 09.12.2013 13 Q & A session (no lecture)
Monday 16.12.2013 Final competition



Day Time Location
Thursday 13:15-15:00 IFW C 31


Date Title Material
Thursday 26.09.2013 Introduction to EiffelStudio and installation help Lecture on Eiffel
Lecture on Design by Contract (Part 1)
Lecture on Design by Contract (Part 2)
Lecture on EiffelStudio
Thursday 03.10.2013 ROS, Roboscoop, and SCOOP Lecture on SCOOP
Thursday 10.10.2013 Control
Thursday 17.10.2013 Obstacle avoidance
Monday 21.10.2013
(in RZ F 21)
Control, obstacle avoidance, SCOOP
Thursday 24.10.2013 Assignment 1 due
Thursday 31.10.2013 Assignment 1 solution and ROS
Thursday 07.11.2013 CMake, ROS, particle filter
Thursday 14.11.2013 particle filter
Monday 18.11.2013
(in RZ F 21)
Assignment 2 due
Thursday 21.11.2013
Thursday 28.11.2013
Monday 02.12.2013
(in RZ F 21)
Assignment 3 due
Thursday 05.12.2013
Thursday 12.12.2013


Laboratory Space Schedule

Students can use IFW E 42 on the following days.

Date Time
Monday 09.12 12:00-18:00
Monday 16.12 09:00-18:00
Wednesday 02.10, 09.10, 16.10, 23.10, 30.10, 06.11, 13.11, 27.11, 04.12, 11.12 14:00-20:00
Thursday 03.10, 17.10, 24.10, 31.10, 14.11, 05.12, 12.12 09:00-12:00

In addition, on Friday, 13.12.2013, IFW C 42 will be available from 07:00 to 20:00. The setup will be outside of RZ H 18.


Title Due date Grading Type
Assignment 0: Setup Thursday 03.10.2013 Not graded Individual
Assignment 1: Control Thursday 24.10.2013 at 13:00 20% of final grade Individual
Assignment 2: Localization Monday 18.11.2013 at 16:00 20% of final grade Individual
Assignment 3: Path planning Monday 02.12.2013 at 16:00 30% of final grade Group
Final competition: Search and rescue Monday 16.12.2013 at 16:00 30% of final grade Group