End-User Robot Programming
- Auch genannt: end-user programming, EUP
- Kategorie: Control › Human in the loop
- Schlagwörter: human-robot-interaction, robot-programming, usability, collaborative-robots, programming-by-demonstration
Methoden und Werkzeuge, mit denen Menschen ohne Robotik- oder Programmierkenntnisse Roboterverhalten selbst erstellen, anpassen und auf neue Aufgaben umstellen können, wo und wann sie es brauchen.
Definition
Endanwender-Roboterprogrammierung (End-user robot programming) ist das Gebiet der Robotik und der Mensch-Computer-Interaktion, das sich damit befasst, den Menschen, die Roboter tatsächlich nutzen, etwa Fabrikarbeitern, Technikern, Lehrkräften oder Pflegekräften, zu ermöglichen, einem Roboter ohne spezielle Programmierkenntnisse zu sagen, was er tun soll. Es überträgt Ideen der Endanwender-Entwicklung aus der Software auf Roboter, bei denen Programme zusätzlich mit physischer Bewegung, Sensorik, Unsicherheit und Sicherheit umgehen müssen.
Es gibt viele Ansätze, die oft kombiniert werden. Programmieren durch Vormachen lässt Nutzer die Aufgabe zeigen, etwa durch kinästhetisches Lehren (kinesthetic teaching), bei dem sie den Arm von Hand bewegen, oder durch Teleoperation. Visuelle Programmierumgebungen, darunter blockbasierte Editoren sowie Flussdiagramm- oder Zeitleistenwerkzeuge, lassen Nutzer Aktionen grafisch zusammensetzen. Programmierhandgeräte an Industrie- und kollaborativen Armen bieten zunehmend Aufgabenvorlagen im Assistentenstil. Trigger-Action-Regeln, Augmented-Reality-Schnittstellen, die geplante Bewegungen an Ort und Stelle zeigen, und natürlichsprachliche Schnittstellen, die heute oft auf großen Sprachmodellen aufbauen, die Code oder Aufgabenpläne erzeugen, sind weitere Möglichkeiten. Verhaltensbäume und Zustandsautomaten dienen häufig als zugrunde liegende Programmdarstellung.
Die zentralen Herausforderungen sind Ausdrucksstärke, damit Nutzer reale Aufgaben beschreiben können; Korrektheit, damit das, was sie erstellen, das tut, was sie beabsichtigt haben; und Sicherheit, damit ein von einem Nichtexperten geschriebenes Programm keine Gefährdungen wie Kollisionen, Verletzungen von Gelenkgrenzen, überhöhte Geschwindigkeit in der Nähe von Menschen oder Quetschstellen erzeugt. Ansätze für diese Herausforderungen sind Simulationsvorschauen, automatische Verifikation und Prüfung von Programmen, Kritiker oder Validatoren, die Expertenwissen kodieren und Rückmeldung geben, sowie die Einbindung des Nutzers, der das Ergebnis bestätigt oder korrigiert. Kinästhetisches Lehren auf dieser Website ist eine Eingabemethode innerhalb der Endanwender-Programmierung; das breitere Gebiet umfasst auch, wie Programme dargestellt, bearbeitet, geprüft und gepflegt werden.
Warum es wichtig ist
Roboter in kleinen Fabriken, Laboren, Wohnungen und Pflegeeinrichtungen müssen oft auf neue Aufgaben umgestellt werden, und für jede Änderung Robotikspezialisten zu beauftragen, ist nicht praktikabel. Endanwender-Programmierung entscheidet darüber, ob ein Roboter von den Menschen angepasst werden kann, die mit ihm arbeiten, und hier treffen Anforderungen an Benutzbarkeit und Sicherheit am unmittelbarsten aufeinander.
Wichtige Anwendungen
- Umstellen kollaborativer Arme auf neue Aufgaben in kleinen und mittleren Fertigungsbetrieben
- Programmieren sozialer Roboter und Serviceroboter für bestimmte Umgebungen
- Bildungsrobotik und Programmierunterricht
- Assistenzroboter, die von Pflegekräften oder Nutzern angepasst werden
- Laborautomatisierung, die von Wissenschaftlern konfiguriert wird
In der Praxis
Eine kleine Elektronikwerkstatt nutzt einen kollaborativen Arm zur Maschinenbeschickung. Ein Techniker beschreibt eine neue Aufgabe in einfacher Sprache: Platinen aus einem Tray nehmen, in ein Prüfgerät legen und je nach Ergebnis in zwei Behälter sortieren. Ein Sprachmodell wandelt die Beschreibung in ein Programm im Aufgaben-Framework des Roboters um. Vor der Ausführung prüft eine Reihe automatischer Kritiker das Programm in der Simulation auf Kollisionen, Erreichbarkeit, Geschwindigkeit in der Nähe der Bedienerposition und Quetschstellen zwischen Arm und Prüfgerät und meldet Probleme in einfacher Sprache. Der Techniker korrigiert die markierten Schritte, indem er den Arm von Hand zu korrigierten Wegpunkten bewegt, sieht sich die Bewegung in einer AR-Ansicht vorab an und führt sie dann in den ersten Zyklen mit reduzierter Geschwindigkeit aus.
Häufige Missverständnisse
- Endanwender-Programmierung ist nur eine einfachere Benutzeroberfläche — sie braucht auch Wege, das, was Nichtexperten erstellen, zu prüfen, zu debuggen und sicher auszuführen
- Natürliche Sprache hat die Roboterprogrammierung gelöst — erzeugte Programme können falsch oder unsicher sein und brauchen weiterhin Prüfung, Rückmeldung und Bestätigung durch den Nutzer
- Programmieren durch Vormachen und Endanwender-Programmierung sind dasselbe — Vormachen ist ein Ansatz; andere sind visuelle, regelbasierte und sprachliche Schnittstellen
- Endanwender müssen nur Bewegungen aufzeichnen — reale Aufgaben erfordern auch Bedingungen, Sensorik, Fehlerbehandlung und Schleifen
Wer das wissen sollte
- Entwickler von Roboterprogrammierwerkzeugen und -schnittstellen
- Anwendungsingenieure, die Cobots mit nicht spezialisierten Bedienern einsetzen
- HRI- und HCI-Forschende
- Produktmanager für Service- und kollaborative Roboter
Verwandte Technologien
- Programmieren durch Vormachen (Programming by Demonstration)
- Blockbasierte visuelle Programmierung (Block-Based Visual Programming)
- Programmierhandgeräte (Teach Pendants)
- Augmented-Reality-Schnittstellen (Augmented Reality Interfaces)
- Große Sprachmodelle zur Codegenerierung (Large Language Models for Code Generation)
- Trigger-Action-Programmierung (Trigger-Action Programming)
Verwandte Begriffe
Verwandte Projekte
- Reachy Mini: Open-source desktop robot from Pollen and Hugging Face with an expressive 6-DoF head
- RAI: Vendor-agnostic agent framework for ROS 2 robots and physical AI
- Assistive Gym: Physics simulation framework for training assistive robots in caregiving tasks