188.461 Multimedia Interfaces
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2023W, LU, 1.0h, 1.5EC


  • Semester hours: 1.0
  • Credits: 1.5
  • Type: LU Laboratory Exercise
  • Format: Hybrid

Learning outcomes

After successful completion of the course, students are able to:

- Explain ROS2: its architecture, its applications, and how to extend its abilities using self-developed ROS nodes and packages

- Install and configure ROS2 (On Ubuntu, Mac, or Windows) and its packages

- Design a multisensory (multimodal) system that can handle and control diverse input/output devices from a PC

- Implement the designed multisensory system using ROS2 nodes (C++ or Python3), Arduino-compatible sensors, and possibly using a Single Board Computer

- Read from/write/react to diverse message types from (mostly Arduino-compatible) sensors (e.g., Mic, Camera, Depth Camera, IR receiver, Ultrasonic range finder...) or to actuators (e.g., Servos, Step motors, IR Emitters, Relays, ...)

Subject of course

The Robot Operating System (ROS) is a "set of software libraries and tools for building robot applications. From drivers and state-of-the-art algorithms to powerful developer tools, ROS has the open-source tools you need for your robotics project." Nevertheless, the usage of ROS can go beyond the scope of robotics, and thanks to its capabilities of handling a wide variety of sensors and actuators, it could be employed to develop multisensory (or multimodal) HCI applications for a standard computer. In this course, we intend to use ROS2 to create such applications. The knowledge obtained in this course can be applied to robotic contexts later by the students in other courses.

Teaching methods

There will be two 1.5h sessions at the beginning of the semester that the students must attend in person. The focus will be to introduce ROS2 and its capabilities.

After the tutorials, students have to either implement one of the determined projects explained in the tutorials or design and implement an application out of their own ideas.

Suitable laboratory equipment is available for the implementations and will be lent to the students for the course duration.

The course instructor will be available through email; when necessary, an in-person meeting could be arranged.

In the final phase, the application or prototype will be evaluated through:

- a short document summarizing the work done

- a short proof-of-concept video demonstrating the results

- a short presentation at the end of the semester followed by some questions from the instructor and possibly other students.

Mode of examination


Additional information

ECTS Breakdown - 1.5 ECTS ~ 37.5h

4h    Introduction and tutorials
27h  Topic implementation
5h    Documentations (code, mid-term and final reports) and demo video
2h    Final presentation



Course dates

Tue11:00 - 13:0010.10.2023Seminarraum FAV 01 A (Seminarraum 183/2) Introduction to ROS and Multimedia Interfaces
Wed11:00 - 13:0011.10.2023Seminarraum FAV 01 A (Seminarraum 183/2) Introduction to ROS and Multimedia Interfaces
Tue11:00 - 13:0019.12.2023Seminarraum FAV 01 A (Seminarraum 183/2) Final presentation

Examination modalities

The final grade will be given as follows:

- There are some pre-determined project topics and the possibility of a self-defined project topic. The projects require different amounts of work; therefore, the maximum possible grade depends on the chosen project. The projects are categorized into three difficulty levels:

  1. Easy. Maximum possible grade: 3
  2. Medium. Maximum possible grade: 2
  3. Challenging (incl. self-defined). Maximum possible grade: 1  

Students are free to choose any level.

The final grade will be calculated based on the following parameters:

  • 20% Presence at the tutorials
  • 50% Project implementation assessment (including code cleanliness, comments, architecture, etc.)
  • 10% The quality of documentation and demo video
  • 20% The final presentation (incl. answers to the questions)

Course registration

Begin End Deregistration end
31.08.2023 09:00 14.10.2023 23:59 14.10.2023 23:59


Study CodeObligationSemesterPrecon.Info
066 932 Visual Computing Mandatory elective
066 935 Media and Human-Centered Computing Not specified


No lecture notes are available.

Previous knowledge

Basic Python and/or C++ programming skills.

Basic knowledge of Linux and the Command line is useful.