Robotics Programming Laboratory

Bertrand Meyer and Jiwon Shin, Fall 2015



30.11.2015 — Assignment 4 is now available.
10.11.2015 — Assignment 3 is now available.
20.10.2015 — Assignment 2 is now available.
15.08.2015 — Assignment 1 is now available.
03.08.2015 — The enrollment limit has been reached, but we expect some places to open after the semester starts. If you are interested in taking the course, please add yourself to the waiting list.
23.06.2015 — 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. Experience in object-oriented programming is recommended. Students with limited experience in object-oriented programming are recommended to take this online Introduction to Object-Oriented Programming course.
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 divided into four assignments, where each assignment has an individual portion (50%), to be completed alone, and a group portion (50%), to be completed in a group of 2 to 3 people. Every assignment counts for 25% of the final grade and will be evaluated in the following components:

Helping and getting helped:

Lectures and Laboratories

Information on this website is subject to change.


Day Time Location
Monday 16:15-18:00 WEH D4 (Weinbergstrasse 35)
Thursday 15:15-17:00 WEH D4 (Weinbergstrasse 35)

Lectures and Laboratories

Date Type Title Slides Readings
Thursday 17.09.2015 Lecture 1 Introduction to software engineering and robotics (BM) Final version pdf
Monday 21.09.2015 Lecture 2 ROS and Roboscoop (JS) pdf ROS Tutorials
Thursday 24.09.2015 Lecture 3 Robot Control (JS)
Software Engineering Tools (AR)
Robot Control pdf
SE Tools pdf
(17:15 - 18:00)
Introduction to Eiffel and Object Oriented Programming (AR) Eiffel Tutorial
Eiffel Documentation
Monday 28.09.2015 Lecture 4 SCOOP (BM) Final version pdf SCOOP Overview
Thursday 01.10.2015 Lecture 5
Obstacle Avoidance (JS)
Assignment 1 help (GR)
pdf Bug Algorithms
Monday 05.10.2015 Lecture 6 Design Patterns (BM) pdf Design Patterns
(18:15 - 19:00)
Assignment 1 Help (AR/GR)
Thursday 08.10.2015 Demonstration Assignment 1 Individual Due Angle Control
Monday 12.10.2015 Exercise Assignment 1 Help (AR/GR)
Thursday 15.10.2015 Exercise Assignment 1 Help (AR/GR)
Monday 19.10.2015 Demonstration Assignment 1 Group Due Obstacle Avoidance
Thursday 22.10.2015 Lecture 7 Path Planning (JS) pdf A* Search
Path Planning
Monday 26.10.2015 Lecture 8 Object Recognition (JS) pdf Spin Image (Chp.2)
Thursday 29.10.2015 Exercise Assignment 2 Help (AR/GR)
Monday 02.11.2015 Exercise Assignment 2 Help (GR)
Tuesday 03.11.2015 Demonstration Assignment 2 Individual Due Path Planning: Simulation
Thursday 05.11.2015 Exercise Assignment 2 Help (AR/GR)
Monday 09.11.2015 Demonstration Assginment 2 Group Due Path Planning: Real Setup
Thursday 12.11.2015 Lecture 9 Localization (JS) pdf Localization
Monday 16.11.2015 Feedback Session (AR)
Thursday 19.11.2015 Exercise Assignment 3 Help (AR/GR)
Monday 23.11.2015 Lecture 10 Software Architecture in Robotics (BM) pdf
Tuesday 24.11.2015 Demonstration Assignment 3 Individual Due Object Recognition: Objects Only
Thursday 26.11.2015 Exercise Assignment 3 Help (AR/GR)
Monday 30.11.2015 Demonstration Assignment 3 Group Due Object Recognition: Real Setup
Thursday 03.12.2015 Exercise Assignment 4 Help (AR/GR)
Monday 07.12.2015 Demonstration Assignment 4 Individual Due Localization: Simulation
Thursday 10.12.2015 Exercise Assignment 4 Help (AR/GR)
Monday 14.12.2015 Exercise Assignment 4 Help (AR/GR)
Thursday 17.12.2015 Demonstration Assignment 4 Group Due Search and Rescue: Real Setup



Title Individual due Group due Grading
Assignment 1: Control Thursday 08.10.2015
at 15:15 (demonstration)
at 23:00 (software)
Monday 19.10.2015
at 16:15 (demonstration)
at 23:00 (software)
25% of final grade
Assignment 2: Path Planning Tuesday, 02.11.2015
at 16:15 (demonstration)
at 23:00 (software)
Monday, 09.11.2015
at 16:15 (demonstration)
at 23:00 (software)
25% of final grade
Assignment 3: Object Recognition Tuesday, 24.11.2015
at 16:15 (demonstration)
at 23:00 (software)
Monday, 30.11.2015
at 16:15 (demonstration)
at 23:00 (software)
25% of final grade
Assignment 4: Search and Rescue Monday, 07.12.2014
at 16:15 (demonstration)
at 23:00 (software)
Thursday, 17.12.2014
at 15:15 (demonstration)
at 23:00 (software)
25% of final grade