Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage:
- ROS2-Aspekte erklären: seine Architektur, seine Anwendungen und wie man seine Fähigkeiten mit selbstentwickelten ROS-nodes und -Paketen erweitern kann
- ROS2 (auf Ubuntu, Mac oder Windows) und seine Packages installieren und konfigurieren
- Ein multisensorisches (multimodales) System entwerfen, das verschiedene Eingabe-/Ausgabegeräte von einem PC aus bedienen und steuern kann
- Das entworfene multisensorische System mit Hilfe von ROS2-nodes (C++ oder Python3), Arduino-kompatiblen Sensoren und möglicherweise mit Hilfe eines Single Board Computer implementieren
- Lesen von/Schreiben/Reagieren auf verschiedene Message-typen von (meist Arduino-kompatiblen) Sensoren (z. B. Mikrofon, Kamera, Depth-kamera, IR-Empfänger, Ultraschall-Entfernungsmesser...) oder auf Aktoren (z. B. Servos, Step-motoren, IR-Sender, Relays, ...)
Das Robot Operating System (ROS) ist eine Reihe von Softwarebibliotheken und Tools zum Erstellen von Roboteranwendungen. Von Treibern und hochmodernen Algorithmen bis hin zu leistungsstarken Entwicklertools bietet ROS die Open-Source-Tools, die Sie für Ihr Robotikprojekt benötigen ." Dennoch kann der Einsatz von ROS über den Rahmen der Robotik hinausgehen und dank seiner Fähigkeit, eine Vielzahl von Sensoren und Aktoren zu handhaben, könnte es zur Entwicklung multisensorischer (oder multimodaler) HCI-Apps für einen Standardcomputer eingesetzt werden. Das in diesem Kurs erworbene Wissen kann später von den Studenten in anderen Kursen auf robotische Kontexte angewendet werden.
Zu Beginn des Semesters finden zwei 1,5-stündige Tutorials statt, an denen die Studierenden persönlich teilnehmen müssen. Der Schwerpunkt liegt auf der Einführung in ROS2 und seine Möglichkeiten.
Im Anschluss an die Tutorien müssen die Studierenden entweder eines der vorgegebenen Projekte, die in den Tutorien erläutert werden, umsetzen oder eine Anwendung nach eigenen Ideen entwerfen und implementieren.
Geeignete Laborgeräte stehen für die Implementierungen zur Verfügung und werden für die Dauer des Kurses an die Studierenden ausgeliehen.
Der Kursleiter ist per E-Mail erreichbar; bei Bedarf kann auch ein persönliches Treffen vereinbart werden.
In der Abschlussphase wird die Anwendung oder der Prototyp bewertet:
- ein kurzes Dokument, das die geleistete Arbeit zusammenfasst
- ein kurzes Proof-of-Concept-Video zur Demonstration der Ergebnisse
- eine kurze Präsentation am Ende des Semesters, gefolgt von einigen Fragen des Dozenten und möglicherweise anderer Studenten.
ECTS-Aufschlüsselung – 1,5 ECTS ~ 37,5 Stunden
4h Einführung und Tutorials27h Projektumsetzung5h Dokumentationen (Code, Zwischen- und Abschlussberichte) und Demovideo2h Abschlusspräsentation
Die Abschlussnote wird wie folgt vergeben:
- Es gibt einige vorab festgelegte Projektthemen und die Möglichkeit eines selbst definierten Projektthemas. Die Projekte erfordern unterschiedlich viel Arbeit; daher hängt die maximal mögliche Note vom gewählten Projekt ab. Die Projekte sind in drei Schwierigkeitsstufen kategorisiert:
Den Studierenden steht es frei, jedes Niveau zu wählen.
Die Abschlussnote wird anhand folgender Parameter berechnet:
Grundlegende Python- und/oder C++-Programmierkenntnisse.
Grundkenntnisse von Linux und der Command-line sind hilfreich.