Kategorien
Kollaborative Robotik - Universität Augsburg

AR: Augmented Robots

Idee und Konzept

Im Bereich der Mensch-Roboter-Interaktion gibt es noch viele Hürden zu meistern. Unser Projekt erleichtert diese Interaktion unter Verwendung neuester Technik. Beim Arbeiten mit dem Roboter kann sich der Anwender verschiedene Informationen direkt auf einer HoloLens anzeigen lassen. So können wichtige Sensordaten oder Fehlerzustände schnell und übersichtlich ausgelesen werden.

Auch für eine Produktivumgebung – beispielsweise in einer Industrieanlage – können mit der Brille sicherheitsrelevante Daten über den Arbeitsraum visualisiert oder Informationen zur Umwelt geliefert werden. Dabei kann jeder Benutzer aus verschiedenen Detaillierungsgraden auswählen, seine Darstellung individuell anpassen und diese abspeichern.

Der Fokus des Projekts liegt dabei auf der einfachen Erweiterbarkeit, weshalb das System in einzelne, eigenständig ausführbare Programmbestandteile, sog. Widgets aufgeteilt wurde. Neben den bereits entwickelten Widgets ist es durch das von uns implementierte Widget-Framework möglich, dem System weitere, auch komplexere Widgets hinzuzufügen. Die Grenzen hierbei sind nur die Daten und Interaktionsmöglichkeiten, die die Schnittstelle mit dem Roboter zur Verfügung stellt.

Bedienung

Bei einer HoloLens ist es üblich, die Anwendung mithilfe von Gesten zu steuern.

Eine Berührung des “Widgets”-Buttons öffnet eine Leiste, über die einzelne Widgets geöffnet, geschlossen oder neue Widgets hinzugefügt werden können. Letzteres wird mithilfe des “Add”-Buttons und einem Auswahlmenü realisiert.

Ein einzelnes Widget kann hierbei mehrmals ausgewählt werden, um beispielsweise im Generic Text Widget verschiedene Informationen parallel anzusehen.

Die ausgewählten Widgets können einzeln oder auch alle gemeinsam minimiert oder geschlossen werden. Die Leiste kann außerdem eingeklappt werden, wenn sie nicht benötigt wird.

Die aktiven Widgets lassen sich mit Hilfe von Gesten beliebig im Raum positionieren. Widgets, die sich auf eine bestimmte Stelle des Roboters beziehen – wie das Joint Range Widget – sind durch Linien mit diesen Stellen verbunden, so dass die angezeigten Informationen auch nach einer Umplatzierung weiterhin zugeordnet werden können.

Implementierte Widgets

Auf Basis des Widget-Frameworks wurden mehrere Widgets implementiert. Dabei werden aktuelle Informationen aus dem Robot Operating System (ROS), einem Framework für persönliche Roboter und Industrieroboter, ausgelesen und entweder direkt am Roboter oder auf einem Fenster auf der HoloLens virtuell dargestellt.

Das Service Widget kann dazu verwendet werden, alle implementierten ROS-Services aufzurufen. Falls ROS oder die Widgets Fehler aufwerfen, werden diese automatisch vom Error Widget aufgefangen und gespeichert. Bei einem Klick auf das entsprechende Icon werden die Meldungen dann dem Nutzer präsentiert. Ähnlich funktioniert auch das Meme Widget, welches Meldungen der anderen Widgets in Meme-Form präsentiert – für ein wenig mehr Spaß am Arbeitsplatz. 🙂

Um beliebige Informationen als reinen Text wiederzugeben, kann ein Generic Text Widget angezeigt werden. Nach der Auswahl der Topics werden diese dann stichpunktartig auf der Widget-Instanz aufgelistet. Um Zahlenwerte anzuzeigen, kann zudem auf das Data Plot Widget zurückgegriffen werden, bei dem ein zeitlicher Verlauf als Graph angezeigt wird.

Falls in der Szene ein Roboter vollständig konfiguriert wurde, können auch Widgets direkt auf den Roboter projiziert und Befehle aus ROS-Topics auf den virtuellen Roboter angewandt werden. Dazu sind zunächst das Joint Overview Widget und das Joint Range Widget zu nennen, welche die maximalen und aktuellen Winkel der Gelenke und die Nähe zu den Grenzwerten visuell aufzeigen. Ein vereinfachter Arbeitsraum kann mit dem Working Area Widget dargestellt werden, welches seine Farbe je nach Abstand zum Nutzer anpasst.

Mit dem Trajectory Widget besteht zudem die Möglichkeit, eine von ROS gesendete Trajektorie als Pfad, als halbtransparente Vorschau oder als Bewegung des virtuellen Roboters zu interpretieren. Die verschiedenen Bewegungen können mit dem Trajectory History Widget gespeichert und erneut als Vorschau wiedergegeben werden.

Architektur

Unser System haben wir mit einer
Drei-Schichten-Architektur strukturiert. Die einzelnen
Schichten werden konzeptionell den Funktionalitäten
(Darstellen, Verarbeiten und Verwalten/Speichern der
Daten) zugeordnet. Unser Ziel ist, die Komplexität
der Abhängigkeiten innerhalb unseres Systems zu
reduzieren und somit eine geringere Kopplung bei
gleichzeitig höherer Kohäsion der einzelnen Schichten
zu erreichen. Dies hat Vorteile sowohl für das Verständnis als auch für die Wartung unseres Systems.

Die Architektur besteht aus den folgenden drei Schichten:

Die Präsentationsschicht stellt die oberste Ebene des Systems dar, welche für die Präsentation der Daten und mögliche Benutzereingaben verantwortlich ist. Hier befinden sich sowohl das Widget-Menü mit den Widgets als auch das Registrierungs- und Anmeldemenü.

Darunter liegt die Logikschicht, die Daten verarbeitet und für die Präsentationsschicht zur Verfügung stellt. Zum einen befindet sich hier die Kommunikation mit ROS, um dessen Service- und Subscriber-Schnittstellen zu verwalten, zum anderen ist der Konfigurationsservice der Logikschicht zugeordnet. Dieser registriert die Benutzer, meldet sie an und ab, und lädt die Konfigurationen (Position, Ansichtsmodus, ausgewählte Daten/Topics, usw.) beim Öffnen eines Widgets. Außerdem speichert der Konfigurationsservice beim Schließen neue Konfigurationen, um ein reibungsloses Arbeiten mit den Widgets zu ermöglichen.

Die unterste Ebene unseres Systems ist die Datenhaltungsschicht. Sie enthält unsere ROS-Simulation, und den Konfigurationsserver, welcher für das Speichern und Verwalten der Konfigurationsdaten von Benutzern und Widgets verantwortlich ist. Für die ROS-Simulation haben wir uns entschieden, da wir aufgrund des digitalen Semesters keinen Zugriff auf einen echten Roboter hatten.

Ausblick

In einem nächsten Schritt kann das jetzige Projekt aus Unity, der von uns genutzten Laufzeit- und Entwicklungsumgebung, auf die HoloLens übertragen werden. Dafür muss der virtuelle Roboter auf die Position des realen Roboters im Raum gelegt und die Bewegungen synchronisiert werden.

Team

Nik Julin Nowoczyn

Jonas Elia

Maximilian Hammerl

Fabio Tempelmann

Katharina Utzschneider

Betreuung: Alexander Poeppel

Leiter des Innovationslabors: Prof. Dr. Wolfgang Reif

Kategorien
Kollaborative Robotik - Universität Augsburg

RoboJack

Mit zunehmendem technologischen Fortschritt und immer höherem Automatisierungsgrad von Aufgaben steigt die Verbreitung kollaborativ arbeitender Roboter. Diese sind fähig direkt mit Menschen zusammenzuarbeiten und benötigen im Gegensatz zu traditionellen Industrierobotern keine aufwändigen Schutzvorrichtungen. Neben der Erreichung einer hohen Qualität bei Aufgabenausführung ist es hier besonders wichtig die Interaktion mit den Menschen in den Vordergrund zu stellen.

In dieser Arbeit wurden verschiedene Methodiken zur Analyse und Verbesserung der Interaktionsqualität in Mensch-Roboter-Kollaborationsanwendungen entworfen. Sie sind im Anschluss dazu verwendet worden das Robotersystem RoboJack zu entwickeln. Dieses übernimmt im Spiel BlackJack die Aufgaben eines Dealers.

Die zentrale Idee hinter der Entwicklung der Kriterien zur Gestaltung hochwertiger Mensch-Roboter-Interaktionen war einen möglichst allgemeinen und ganzheitlichen Leitfaden zu entwerfen, welcher im Anschluss dazu verwendet werden kann eine detailliertere Entwicklungs-Checkliste für ein spezialisiertes System aufzustellen. Die acht Kriterien werden im Folgenden in verkürzter Form aufgezählt teilweise erweitert um konkrete Entwicklungsumsetzungen bei RoboJack.

Kriterium 1: System arbeitet zuverlässig

Neben einer zuverlässigen Aufgabenausführung sollte das System auch selbständig Fehler erkennen können. Dies ermöglicht dem System Menschen um Hilfe zu bitten, wobei es Fehlerzustände möglichst eigenständig lösen sollte.

Bei den in RoboJack verwendeten KI-Modulen zur Erkennung von Spielkarten und Handgesten wurde beispielsweise darauf geachtet, dass diese eine sehr hoher Genauigkeit (100% für Karten und 98,6% für Gesten) erreichen. Falls irgendwelche Probleme auftreten die das System nicht selbständig lösen kann, etwa der Kartenmaschine die Karten ausgegangen sind oder ungültige Handgesten erkannt werden, gibt RoboJack den Nutzern über die Sprachausgabe Feedback.

Kriterium 2: Benutzer fühlen sich sicher vor dem Roboter

Hierzu zählt zum einen dass der Roboter genügend Abstand zu Personen hält. Als Einschätzungsbasis können hier die die vier persönlichen Distanzzonen für zwischenmenschliche soziale Interaktionen verwendet werden. Außerdem ist wichtig dass die stehenden Roboterposen natürlich aussehen, also ohne übermäßig verdrehte Achsen, und unbedrohlich wirken, wozu etwa zählt dass der Roboter falls er so etwas wie ein Gesicht besitzt, die Nutzer auf oder unter Augenhöhe und nicht von oben herab ansieht. Auch sollte der Roboter komplett sichtbar sein und nicht hinter sich selbst versteckt, damit Nutzer Bewegungen frühzeitig erkennen können. Zudem sollten ruckartige oder sehr schnelle Bewegungen vermieden werden, damit Anwender das Bewegungsziel erahnen können.

Beim Einmessen der Bewegungen von RoboJack wurden neben nach obigen Kriterien optimierten Roboterposen und langsamen Beschleunigungen auch darauf geachtet dass der Roboter einen Abstand von mehr als circa 1,2m zu Gesicht und Körper der Spieler hält. Zudem ist durch virtuelle Wände (im Bild ist die zwischen Roboter und Spielern ausgeblendet) ein sicherer Abstand zu den Spielern gewährleistet.

Kriterium 3: Roboter arbeitet nachvollziehbar

Hierzu zählen unter anderem sinnvolle Interaktionsmuster, möglichst direkte und flüssige Bewegungen die keine unnötigen Hilfspunkte enthalten und ein hilfreiches Nutzerfeedback.

Bei RoboJack wurden sämtliche Bewegungen wurden auf möglichst natürliche und fließende Art umgesetzt, nach dem Vorbild wie ein Mensch an der Stelle des Roboters diese ausführen würde. Zudem sagt RoboJack welche Karten er gerade austeilt und welche Handgesten er bei den Spielern erkannt hat, damit diese die Korrektheit des Spielablaufs eigenhändig überprüfen können.

Kriterium 4: Gleichwertige oder bessere Aufgabenausführung

Bei diesem Kriterium liegt der Fokus auf der Frage warum Nutzer den Roboter wählen sollten wenn ein Mensch an dessen Stelle die Aufgabe besser macht. Durch den Roboter gegebene Einschränkungen sollten daher durch andere Fähigkeiten ausgeglichen werden. Zudem sollte nicht außer acht gelassen werden, dass auch die Umgebung die erwartete Servicequalität beeinflussen kann („Erster Eindruck“).

Als Ausgleich für Einschränkungen des Roboters, wie etwa einen langsameren Spielfluss, kommentiert RoboJack gute oder schlechte Spieleraktionen und gibt Tutorials und Tipps für optimale Spielstrategien oder Kartenzählen in BlackJack. Zudem wurde darauf geachtet, dass das vollständige BlackJack-Spiel umgesetzt wird, inklusive echter Karten und Einsätze, sowie aller Spieloptionen, auch kompliziertere wie etwa Pärchen aufzusplitten (es gibt bereits alternative Robotersysteme für BlackJack, diese sind aber in einem oder mehreren dieser Fähigkeiten eingeschränkt).

Dabei wurde ein Fokus auf eine technisch interessante Umsetzung beim Umgang mit Karten und Spielchips gelegt, teilweise unterstützt durch Hilfsmaschinen aus Lego, um ein Spielerlebnis anzubieten welches Spieler mit einem menschlichen Dealer so nicht bekommen würden.

Kriterium 5: Intuitive Interaktionen

Dazu gehört unter anderem dass Interaktionen schnell zu erlernen sind, und diese falls möglich, bereits existierenden Standards folgen. Bei der Kommunikation mit Nutzern sollte das Vier-Seiten-Modell beachtet werden, das besagt dass es neben einer inhaltlichen Ebene auch weitere indirekte Kommunikationsebenen gibt. Daraus lässt sich etwa ableiten, dass der Roboter Nutzer während der Kommunikation ansehen, ansonsten ein “Anstarren” aber vermeiden soll, außer es dient als indirekte Handlungsaufforderung. Aber auch kleinere Aspekte fallen unter dieses Kriterium, wie etwa dass das Gesicht des Roboters und die Lautsprecher für Sprachausgabe nah beieinander positioniert sein sollen, damit Nutzer wenn sie ihre Ohren zur Tonquelle ausrichten automatisch den Roboter anschauen.

Neben obigen Punkten gibt RoboJack neuen Nutzern selbständig ein interaktives Spieltutorial und pausiert Bewegungen während der Kommunikation um Geräusche durch die Motoren zu reduzieren, damit Spieler das gesagte besser verstehen.

Kriterium 6: System ist personalisiert

Damit die Nutzer sich besser mit dem System identifizieren können und sich auch wertgeschätzt fühlen soll die Interaktion personalisiert sein. Dazu sollten auch vergangene Interaktionen gespeichert werden, um rückwirkend Bezug darauf nehmen zu können. Außerdem sollte bei einer Personalisierung des Roboters selbst darauf geachtet werden das unter anderem Sprachausgaben und Roboterhandlungen zueinander passen.

RoboJack verwendet eine Gesichtserkennung um Spieler welcher er anfangs nach ihrem Namen gefragt hat namentlich ansprechen zu können. Zudem merkt sich das System die Aktionen der Spieler um auf gut oder schlecht ausgegangene Spielzüge zu reagieren oder kann zusätzlich Emotionen der Spieler miteinbeziehen. Um dabei einen guten Datenschutz zu gewährleisten funktionieren sämtliche Module vollständig offline.

Kriterium 7: System ist modularisiert und portabel

Durch leicht wiederverwendbare Module können sich Synergien mit anderen Projekten ergeben. Zudem soll das System unkompliziert zu starten und verwalten sein und sich möglichst einfach wieder an einem anderen Ort (Kunde/Messe) aufbauen lassen.

Kriterium 8: Nutzerstudie

Eine Nutzerstudie ermöglicht zum einen die Evaluation der umgesetzten Kriterien und zum anderen finden neue Nutzer häufig Problem an die sich Entwickler sich schon gewöhnt haben.

Zum Ende der Arbeit wurde eine Nutzerstudie mit 21 Teilnehmern durchgeführt in welcher sehr gute Ergebnisse erzielt werden konnten. Die Teilnehmer haben die Frage ob sie Spaß beim Spielen hatten durchschnittlich mit 4,7 von 5 möglichen Punkten bewertet. Bei der Frage ob sich die Spieler wohl gefühlt haben während der Roboter bewegt hat, haben alle entweder 4 oder 5 Punkte vergeben. Die Teilnehmer fanden es sehr interessant (4,6) RoboJack bei seinen Aktionen zuzuschauen. Sie würden ein Spiel mit RoboJack auch deutlich weiterempfehlen (4,7), und dass obwohl sie einen durchschnittlichen Verlust von 35 erspielt haben. Häufigster Kritikpunkt war eine zu langsame Spielgeschwindigkeit.

Die mit dem Sytem Usabiltiy Scale (SUS) errechnete Benutzerfreundlichkeit des Systemsvon RoboJack beträgt 83.

Die Nutzerstudie diente dazu zu evaluieren ob die erarbeiteten Kriterien erfolgreich zur Verbesserung von Mensch-Roboter-Interaktionen angewendet werden können, was durch die sehr guten Ergebnisse gezeigt werden konnte. Da die vorgeschlagenen Kriterien nicht auf RoboJack zugeschnitten, sondern möglichst allgemeingültig formuliert wurden, können sie zukünftig verwendet werden, um die Interaktionsqualität in weiteren Mensch-Roboter-Kollaborationsanwendungen zu verbessern.

Team

Daniel Bermuth

Betreuung: Alexander Poeppel

Leiter des Innovationslabors: Prof. Dr. Wolfgang Reif