Mensch und Roboter als gleichberechtige Teampartner
Projekt der NASA um Techniken zu entwickeln die Aufgabenkoordinierung und Zusammenarbeit zwischen Robotern und Menschen zu verbessern Roboter wichtig, um Risiken für Astronauten und auch Kosten für Expeditionen (interplanetar) zu minimieren 2
Effektivere Teamarbeit zwischen Menschen und Robotern Menschen und Roboter als gleichwertige Teampartner Aufgabenverteilung gemäß der Fähigkeiten der Teampartner Teampartner (Roboter-Menschen) helfen sich gegenseitig, wenn Fähigkeiten nicht reichen Effektive Kommunikation innerhalb des Teams 3
4
HRI/OS - Agentenbasiertes Framework Agenten bilden die Schnittstelle zu den Teammitgliedern (Roboter, Software, Mensch) Somit werden alle Teammitglieder als Agenten angesehen (Robot Agents, Software Agents, Human Agents) Agenten kennen die Fähigkeiten, Verwalten Zustände des Teammitgliedes und stellen verschiedene Kommunikationsmöglichkeiten bereit 5
Für jeden realen Roboter gibt es einen Robot Agent Robot Agents sind Programme innerhalb der Software eines Roboters: Verarbeiten Anfragen von anderen Agenten Zerlegen von Aufgaben in kleinste Teilaufgaben Erstellen von Breakpoints zwischen diesen Erfragen nach Hilfe im Falle eines unvorhergesehen Ergebnisses In C++ geschrieben, enthalten einen allg. roboterunabhängigen Teil und roboterspezifische Methoden Kennt somit alle Fähigkeiten und Zustände des Roboters Kann zwischen Usermode und Autonomiemode umschalten 6
Menschen müssen auf die selbe Art und Weise auftreten wie Robot Agents Dazu wird ein Human Proxy verwendet: Treten nach außen wie Robot Agents auf In Java geschrieben, laufen auf tragbaren (anziehbaren) Computern der Astronauten Bieten dem Menschen verschieden Userinterfaces an z.b. Text to Speech, Speech Recognition, GUI Akzeptieren Aufgabenzuweisungen von außen geben Fähigkeiten und Zustände des Menschen nach außen bekannt 7
In TDL (Task-Description-Language) geschrieben Verantwortlich für Koordination von Aufgaben Zerlegt Missions-Aufgaben in Teilaufgaben und serialisiert sie soweit möglich Kann Aufgaben bei einem Auftreten von Fehlern neu vergeben Kennt Fähigkeiten der Agenten nicht und muss deshalb mit Resource Manager zusammenarbeiten 8
Missionsaufgabe: Seitenwand aufbauen Task Manager: Seitenwand aufbauen Teilaufgabe: Panel in Rahmen setzen Teilaufgabe: Panel 1 in Rahmen setzen Teilaufgabe: Schweißnähte überprüfen Teilaufgabe: Panel 2 in Rahmen setzen Panel verschweißen Teilaufgabe: Panel x in Rahmen setzen 9
Kennt Fähigkeiten und Zustände aller Agenten Denn diese werden von Agenten beim RM registriert (können zur Laufzeit geändert werden) Entscheidet welcher Agent am besten für eine Aufgabe/Hilfestellung geeignet ist Kann Besitzänderung eines Roboters veranlassen 10
Koordiniert Kommunikation zwischen Agenten Kontaktiert Resource Manager um Agenten zu finden die Anfrage eines anderen verarbeiten kann Nachrichten an Robot Agents werden sofort weitergegeben Nachrichten an Human Agents werden erst weitergegeben wenn dieser bereit zu Kommunikation ist Ist ein Agent nicht zur Kommunikation bereit, wird der nächste Agent in der Liste des RM angesprochen 11
Robot_A: I need help inspecting a weld. Robot Agent Interaction Manager: comm_request(robot_a,help,weld) Interaction Manager Resource Manager: agent_request(help,weld) Resource Manager Interaction Manager: user_1 Kommunikation zwischen Robot_A und User_1 Interaction Manager User_1 beginnt! message_notification User_1 Interaction Manager message_request equest Interaction Manager User_1 comm_request(robot_a,help,weld) User_1 Interaction Manager: comm_response(robot_a,endpoint_adress) Interaction Manager Robot_A: commm_response(user_1,endpoint_adress) 12
Speichert alle wichtigen Ereignisse während des Betriebs: Taskstatus Agentenaktivitäten Agentendialoge in einer Liste mit Timestamps Sortiert diese und filtert doppelte Einträge aus Agenten können auf archivierte Daten zugreifen wenn nötig 13
Ist ein Software Agent Löst räumliche Mehrdeutigkeiten auf, die während der Kommunikation zwischen Human- und Robot Agents auftreten können Implementiert in jact-r 14
Aufgabe: Platten in Rahmen anbringen, verschweißen und überprüfen Team: 2 Astronauten in Anzügen 1 Astronaut im Habitat 2 Roboter (1 Schweißer, 1 Inspector) 15
16
17
Kriterien: Menge an Nützlicher Arbeit Zeit, die die Astronauten in den Raumanzügen sind 18
a) keine Intervention b) Intervention noch während die Astronauten mit der Aufgabe beschäftigt c) Intervention nachdem die Aufgabe der Astronauten beendet 19
Vorteile: Nachteile: Mensch-Roboterteams arbeiten wie rein menschliche h Teams Leistung gegenüber herkömmlicher Arbeitsweise noch nicht geklärt (aber Gegenseitige Hilfe möglich wahrscheinlich wird die (Roboter mit eingeschränkter menschlicher Teams nicht Autonomie nutzbar) erreicht) h) erleichtert Operationsplanungen Zeit für nützliche Arbeit (Performance) stark von der Leistung der Roboter abhängig Warten auf Hilfe führt zu Leerlaufzeiten 20
erweiterte und bessere Userinterfaces (z.b. Gestenerkennung) Unterstützung großer Teams mit vielen Robotern und einer Hierarchie Unterstützung verschiedener Teams Lernfähigkeit des Resource Managers 21
22