(Kollaborationsfähige) Industrieroboter werden immer vielseitiger und erfordern somit einen modernen Ansatz für ihre Programmierung und Simulation. Die Roboterprogrammierung kann aus den Perspektiven der Endbenutzer und Experten angegangen werden. Für Endbenutzer bieten vereinfachte Programmierungsumgebungen die grundlegenden Mittel zur Erstellung von Roboter-Aufgaben. Diese Umgebungen bauen in der Regel auf Workflow- und Block-basierter Programmierung auf, die für den Endbenutzer kaum oder keine Programmiervorkenntnisse erfordern. Solche Umgebungen werden von Experten entwickelt, die sich sowohl die Benutzerfreundlichkeit als auch die Vielseitigkeit der Programmiererfahrung befassen. In diesem Kurs werden wir uns mit der Architektur moderner Roboterprogrammier- und Simulationsumgebungen beschäftigen und lernen, solche Umgebungen zu erstellen. Der Kurs wird mit einem Überblick über bestehende Endbenutzer-Programmiermodelle beginnen. Anschließend werden die darunterliegenden Softwarearchitekturen und -modelle nächer betrachtet. Dabei werden wir eine webbasierte Programmierumgebung namens Assembly (https://assembly.comemak.at) als Experimentierfeld herangezogen.
Folgende Themen werden im Rahmen der Vorlesung behandelt:
- Einfache Roboterbewegungen und Visualisierungsmöglichkeiten
- Robotersoftwarearchitekturen und Codegenerierung
- Direkte und inverse Roboterkinematik
- Interaktionen mit grundlegendem Einwand
- Bewegungsplanung und Hinderniserkennung
- Multimodale Roboterprogrammierung (z. B. basierend auf Sprache, Gesten, Haptik etc.)
- Grundprinzipien der Mensch-Roboter-Interaktion und Kollaboration
- Maschinelles Lernen (neuronale Netze) für Bewegungsplanung und inverse Kinematik
- Mehrroboterprogrammierung und -simulation
- Usability-Prinzipien und Evaluation
Die Vorlesungen behandeln in der Regel sowohl theoretische als auch praktische Aspekte der oben genannten Themen. Um diese Kombination aus Theorie und Praxis zu unterstützen, werden Sie aufgefordert, relevante Übungen online mit dem Montagetool zu bearbeiten. Darüber hinaus werden Sie bis zum Ende des Semesters beauftragt, eine neue Funktion des Assembly-Tools zu implementieren.