Robotics Programming Laboratory

Bertrand Meyer and Jiwon Shin, Fall 2014



25.11.2014 — Assignment 4 is now available.
06.11.2014 — Assignment 3 is now available.
17.10.2014 — Assignment 2 is now available.
18.09.2014 — Assignment 1 is now available.
09.05.2014 — 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 18.09.2014 Lecture 1 Introduction to software engineering and robotics (BM) Final version pdf
Monday 22.09.2014 Lecture 2 ROS and Roboscoop (JS) Final version pdf
Thursday 25.09.2014 Lecture 3 Robot Control (JS)
Software Engineering Tools 1 (AR)
Robot Control pdf
SE Tools pdf
(17:15 - 18:00)
Eiffel and Object Oriented Programming: Q & A (AR)
Monday 29.09.2014 Lecture 4 SCOOP (BM) Final version pdf
Thursday 02.10.2014 Lecture 5 Obstacle Avoidance (JS)
Software Engineering Tools 2 (AR)
Final version pdf TangentBug
(17:15 - 18:00)
Robot control: Q&A
Monday 06.10.2014 Lecture 6 Design Patterns (BM) Final version pdf
(18:15 - 19:00)
Robot control: Q&A
Thursday 09.10.2014 Demonstration Assignment 1 Individual
Monday 13.10.2014 Exercise
Thursday 16.10.2014 Demonstration Assignment 1 Group
Monday 20.10.2014 Lecture 7 Path Planning (JS) Final version pdf
Thursday 23.10.2014 Exercise Final version pptx
Monday 27.10.2014 Demonstration Assignment 2 Individual
Thursday 30.10.2014 Exercise
Monday 03.11.2014 Demonstration Assignment 2 Group
Thursday 06.11.2014 Lecture 8 Object recognition (JS) Final version pdf
Monday 10.11.2014 Lecture 9 Software architecture for robotics (BM) Final version pdf
Final version pdf
Thursday 13.11.2014 Exercise
Monday 17.11.2014 Demonstration Assginment 3 Individual
Thursday 20.11.2014 Exercise
Monday 24.11.2014 Demonstration Assignment 3 Group
Thursday 27.11.2014 Lecture 10 Localization & Mapping (JS) Final version pdf
Monday 01.12.2014 Exercise
Thursday 04.12.2014 Exercise
Monday 08.12.2014 Demonstration Assignment 4 Individual
Thursday 11.12.2014 Exercise
Monday 15.12.2014 Exercise
Friday 19.12.2014
Demonstration Assignment 4 Group



Title Individual due Group due Grading
Assignment 1: Control Thursday 09.10.2014
at 15:15 (demonstration)
at 23:00 (software)
Thursday 16.10.2014
at 15:15 (demonstration)
at 23:00 (software)
25% of final grade
Assignment 2: Path Planning Monday, 27.10.2014
at 16:15 (demonstration)
at 23:00 (software)
Monday, 03.10.2014
at 16:15 (demonstration)
at 23:00 (software)
25% of final grade
Assignment 3: Object Recognition Monday, 17.11.2014
at 16:15 (demonstration)
at 23:00 (software)
Monday, 24.11.2014
at 16:15 (demonstration)
at 23:00 (software)
25% of final grade
Assignment 4: Search and Rescue Monday, 08.12.2014
at 16:15 (demonstration)
at 23:00 (software)
Friday, 19.12.2014
at 09:15 (demonstration)
at 23:00 (software)
25% of final grade