Gestenbasierte Positionsreferenzierung für die multimodale
Transcription
Gestenbasierte Positionsreferenzierung für die multimodale
Gestenbasierte Positionsreferenzierung für die multimodale Interaktion mit einem anthropomorphen Robotersystem Diplomarbeit in der Angewandten Informatik Technische Fakultät Universität Bielefeld von Niklas Beuter Betreuer: Prof. Dr.-Ing. Franz Kummert Dipl.-Inform. Thorsten Spexard Tag der Abgabe: 20. November 2007 Technische Fakultät Danksagung Ich möchte mich für die Hilfe und Unterstützung vieler Menschen in meinem Studium und bei der Erstellung dieser Arbeit bedanken. Zuerst gilt mein Dank Herrn Prof.Dr.-Ing. Franz Kummert, der sich sofort als Betreuer dieser Arbeit gewinnen ließ und mir mit gutem Zuspruch zur Seite stand. Meinem zweiten Betreuer Dipl.Inform. Thorsten Spexard möchte ich besonders danken, da er sich sehr viel Zeit für meine Anliegen genommen und mir stets mit guten Ratschlägen und viel Engagement weitergeholfen hat. Weiterhin wäre die Arbeit nicht so erfolgreich verlaufen, hätten mich Dr.-Ing. Nils Hofemann, Dipl.-Inf. Julia Peltason, Dipl.-Inform. Lars Schillingmann und Dipl.-Inform. Ingo Lütkebohle nicht mit guten Ideen, ihrem technischen Wissen und auch mit ihrer Zeit unterstützt. Dies gilt auch für die restlichen Mitarbeiter der AG Angewandte Informatik, die durch eine hilfsbereite und freundliche Atmosphäre das Arbeiten sehr erleichterten. Natürlich bedanke ich mich auch bei meinen Eltern, die immer hilfsbereit und mit viel Zuspruch und Liebe meine Ausbildung ermöglicht haben. Mein weiterer Dank gilt meiner Lebensgefährtin Frauke Gradert, die mich jeden Tag mit ihrer Liebe unterstützt und mir die Kraft gegeben hat, mein Studium so erfolgreich zu beenden. Meinem guten Freund Hanno Zager danke ich für die Hilfe bei der Korrektur dieser Arbeit. Ansonsten bedanke ich mich bei allen, die mir zur Seite gestanden haben und die ich hier namentlich nicht erwähnt habe. Ich erkläre hiermit, dass ich die vorliegende Arbeit mit dem Titel Gestenbasierte Positionsreferenzierung für die multimodale Interaktion mit einem anthropomorphen Robotersystem selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet und Zitate als solche gekennzeichnet habe. Bielefeld, den 20. November 2007 Niklas Beuter Inhaltsverzeichnis 1 Einleitung 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Zielsetzung der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Multimodale Interaktion 2.1 Grundlagen der Kommunikation . . . 2.1.1 Nonverbale Kommunikation . 2.1.2 Multimodale Kommunikation 2.2 Mensch-Roboter Kommunikation . . 2.3 Fähigkeiten multimodaler Roboter . 2.3.1 Kismet . . . . . . . . . . . . . 2.3.2 Albert . . . . . . . . . . . . . 2.3.3 Care-o-Bot . . . . . . . . . . 2.3.4 Maggie . . . . . . . . . . . . . 2.3.5 Actroid - Repliee Q2 . . . . . 2.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Verwendete Hard- und Software 3.1 Humanoider Roboter BARTHOC . . . . . . . 3.1.1 Die Mimiken des Roboters . . . . . . . 3.1.2 Die Gestik des Roboters . . . . . . . . 3.2 Verwendete Software . . . . . . . . . . . . . . 3.2.1 XCF . . . . . . . . . . . . . . . . . . . 3.2.2 Icewing . . . . . . . . . . . . . . . . . 3.2.3 Perzeptgenerierung . . . . . . . . . . . 3.2.4 Personenaufmerksamkeit zur Detektion eines Kommunikationspartners . . . . . 3.2.5 Natürliche Sprache in der Interaktion . 3.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 . . . . . . . . . . . 5 5 7 10 11 14 15 15 16 17 18 19 . . . . . . . 21 21 24 25 25 26 27 27 . . . . . . . . . . . . . 31 . . . . . . . . . . . . . 36 . . . . . . . . . . . . . 37 4 Entwicklung eines multimodalen Interaktionsszenarios 4.1 Der Aufbau des Szenarios . . . . . . . . . . . . . . . . . 4.2 Die objektreferenzierende Karte . . . . . . . . . . . . . . 4.3 Die Zeigegestenerkennung . . . . . . . . . . . . . . . . . 4.4 Adaption der Sprache . . . . . . . . . . . . . . . . . . . . 4.5 Environment Information System . . . . . . . . . . . . . 4.6 Kinematik . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Integration in das bestehende System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 39 41 44 46 47 53 57 viii Inhaltsverzeichnis 4.8 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5 Evaluation 5.1 Kartenerkennung . . . . . . . . . 5.2 Gestenerkennung . . . . . . . . . 5.3 Sprachverstehen . . . . . . . . . . 5.4 Multimodales Interaktionsszenario 5.5 Präsentation in der Unihalle . . . 5.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 61 62 64 65 68 69 6 Zusammenfassung und Ausblick 71 A Anhang 75 Literaturverzeichnis 83 Index 87 Abbildungsverzeichnis 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 Sender-Empfänger Modell . . . . . . Intersubjektiv verständliche Mimiken Kommunikative Gestentypen . . . . . Multimodalität . . . . . . . . . . . . Uncanny valley . . . . . . . . . . . . Kismet . . . . . . . . . . . . . . . . . Albert . . . . . . . . . . . . . . . . . Care-o-Bot . . . . . . . . . . . . . . . Maggie . . . . . . . . . . . . . . . . . Repliee Q2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 10 11 12 15 15 16 17 18 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 BARTHOC Senior . . . . . . . . . Maske BARTHOC . . . . . . . . . BARTHOC Junior . . . . . . . . . Mimiken des Roboters BARTHOC Winkel eines Arms . . . . . . . . . Gesamtsystem . . . . . . . . . . . . XCF Beispiel . . . . . . . . . . . . Blockmerkmale . . . . . . . . . . . Kaskaden . . . . . . . . . . . . . . Detektiertes Gesicht . . . . . . . . Laufzeitunterschied der Schallquelle Anchoring . . . . . . . . . . . . . . Multimodales Anchoring . . . . . . Verhalten als endlicher Automat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 22 23 24 25 26 27 28 29 30 31 32 33 35 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 Aufbau des multimodalen Szenarios . . . . . . . . . . . Apple Isight . . . . . . . . . . . . . . . . . . . . . . . . Algorithmus zur Eckenfindung . . . . . . . . . . . . . . Überprüfung der Kartenerkennung . . . . . . . . . . . Gestendetektion des CTR . . . . . . . . . . . . . . . . Erkannte Zeigeposition . . . . . . . . . . . . . . . . . . Grafische Oberfläche . . . . . . . . . . . . . . . . . . . Berechnung der Zeigeposition . . . . . . . . . . . . . . Berechnung des Winkels zwischen Roboter und Objekt Umsetzung des Koordinatensystems in die Schulter . . Berechnung des absoluten Schulterwinkels . . . . . . . Berechnung des Ellenbogenwinkels . . . . . . . . . . . . Erweiterte Systemarchitektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 40 43 44 45 46 48 50 51 54 55 57 58 . . . . . . . . . . . . . . x Abbildungsverzeichnis 5.1 5.2 5.3 5.4 5.5 5.6 5.7 Auswertung der Kartenerkennung . . . . . . . . . . . . . . Abweichung der Gestenposition von der Sollposition . . . . Erkennung der neu hinzugefügten sprachlichen Äußerungen Gesamtsystem: Was ist das? . . . . . . . . . . . . . . . . . Gesamtsystem: Wo ist das? . . . . . . . . . . . . . . . . . Gesamtsystem: Wo ist Objekt? . . . . . . . . . . . . . . . . Vorführung in der Unihalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 64 64 66 67 68 69 A.1 A.2 A.3 A.4 A.5 A.6 Der Aufbau . . . . . . . . . . . In der Interaktion . . . . . . . . Zeigegeste auf entferntes Objekt Zeigegeste auf nahes Objekt . . Die Karte der Unihalle . . . . . Zeitungsartikel zur Präsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 80 80 81 81 82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . in der Unihalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. Einleitung “Eine intelligente Maschine in Menschengestalt zu konstruieren, gehört zu den letzten großen Abenteuern der Wissenschaft.[. . . ] die Konstrukteure glauben, dass Menschen Roboter als Gehilfen eher akzeptieren, wenn sie ihnen ähnlich sind.”[11, Geo Magazin, 10/2001] 1.1 Motivation Maschinen und Roboter halten immer mehr Einzug in unser modernes Leben. Um ein Bahnticket zu kaufen muss ein Automat bedient werden, technische Haushaltsgeräte werden komplexer und für die Pflege älterer Menschen werden in Zukunft vermehrt Robotersysteme sorgen. Die Herausforderung liegt darin, neue Systeme besonders intuitiv und anwenderfreundlich zu gestalten, damit die Menschen mit diesen Entwicklungen Schritt halten können. Dies bedeutet, dass die Systeme mehr auf den Menschen zugeschnitten und entsprechend seiner natürlichen Interaktionsmöglichkeiten ausgestattet werden müssen. Die heutigen Systeme sind textbasiert und mit zahlreichen Auswahlmöglichkeiten für den Normalanwender schwierig zu bedienen. Um die Interaktion menschenähnlicher und somit intuitiver zu gestalten, muss über Sprache, Gestik und Mimik mit dem System interagiert werden können. Über die Sprache können Wünsche und Ziele geäußert und diese mittels Gestik und Mimik unterstützt werden. An diesen Anforderungen setzt die vorliegende Arbeit an: Ziel ist es, einen Informationsroboter mit gut ausgebildeten multimodalen Kommunikationsfähigkeiten zu entwickeln, der dem Menschen gewünschte Informationen intuitiv vermittelt. 2 1.2 1. Einleitung Zielsetzung der Arbeit In dieser Arbeit wird daher ein Rezeptionistensystem erstellt, das in der Lage ist, dem Menschen Informationen über die Position eines Objekts zu geben. Wenn der Anwender ein bestimmtes Objekt sucht, kann er das Robotersystem zu Rate ziehen und über Sprache und Gestik die Position des Objekts erfragen. Hierfür ist es notwendig, dass der Roboter die Sprache des Menschen verstehen und interpretieren kann. Folglich muss ein robuster Spracherkenner in das System integriert sein. Damit der Roboter weiß, welches Objekt gesucht wird, kann der Anwender ihm dieses auf einer zweidimensionalen Karte zeigen. Diese Karte fungiert als Hilfsmittel zum einen dazu, dass der Roboter weiß, welches Objekt gesucht wird und zum anderen, damit der Mensch weiß, welche Objekte dem Roboter bekannt sind. Hierfür muss eine echtzeitfähige und positionsgenaue Gestendetektion Einzug in das System halten, damit die Zeigegeste auf ein Objekt auf der Karte fehlerfrei erkannt werden kann. Die Interaktion zwischen Mensch und Maschine soll so intuitiv und einfach wie möglich gestaltet sein. Um dies zu gewährleisten, braucht der Mensch eine Rückmeldung über den Ablauf der Interaktion. Dies ist auch in der natürlichen Interaktion zwischen Menschen von Vorteil, da sie über einen entsprechenden Gesichtsausdruck ihres Gegenüber’s feststellen können, ob ihnen die Aufmerksamkeit gilt und ob verstanden wird, was vermittelt werden soll. Eine Antwort mittels Mimik ist essentiell für eine intuitive Kommunikation und wird auch in dieses System integriert. Um diesen multimodalen Anforderungen gerecht zu werden, wird das System auf einem anthropomorphen Roboter implementiert. Dieser besitzt ein menschenähnliches Aussehen, wodurch die multimodale Interaktion begünstigt wird. Außerdem stellt er mit seinen Extremitäten und einer aussagekräftigen Mimik alle Mittel bereit, die das angestrebte Szenario erfordert. Zielsetzung ist somit, ein Robotersystem zu entwickeln, mit dem man mittels Sprache und Gestik interagieren kann. Weiterhin soll das System mittels Mimik die Kommunikation unterstützen und Objekte im Raum mit einer Zeigegeste referenzieren, die vorher von dem Anwender auf der zweidimensionalen Karte gezeigt wurden. 1.3 Aufbau der Arbeit In Kapitel 2.1 wird die Grundlage der Mensch-Mensch Kommunikation beschrieben, damit die daraus gewonnenen Erkenntnisse auf die Mensch-Roboter Interaktion angewendet werden können. Es werden daher die Details und Regeln der zwischenmenschlichen Kommunikation, sofern sie für diese Arbeit verwendet werden, näher beschrieben und definiert. Nach den allgemeinen Prinzipien der Kommunikation werden die einzelnen Aspekte der nonverbalen Kommunikation erläutert. Werden diese parallel zu der sprachlichen Kommunikation verwendet, ergibt sich eine multimodale Kommunikation, deren Effizienz erklärt wird. Anschließend werden die derzeitig vorherrschende Interaktion zwischen Mensch und Maschine, sowie die Möglichkeiten der Übertragung menschlicher Fähigkeiten auf die Maschinen aufgezeigt. Abschließend werden in Kapitel 2.3 einige Roboterprojekte vorgestellt, die das Ziel haben, die Kommunikation zwischen Mensch und Maschine intuitiver und einfacher zu gestalten. Diese Projekte werden analysiert und ihre Stärken zusammengefasst, um diese in die Entwicklung eines Rezeptionistenroboters einfließen zu lassen. In Kapitel 3 werden die vorhandene Hard- und Software vorgestellt, die zur Entwicklung des multimodalen Interaktionsszenarios verwendet werden. In Kapitel 3.1 wird 1.3. Aufbau der Arbeit 3 die humanoide Roboterplattform BARTHOC vorgestellt, auf der die Software implementiert wird. Die Fähigkeiten des Roboters bezüglich Mimik und Gestik werden ausführlich dargestellt. Anschließend wird die vorhandene Software in Kapitel 3.2 vorgestellt, in die die neuen Softwarekomponenten integriert werden. Die Kommunikation der einzelnen Komponenten untereinander, sowie die verwendete Bildverarbeitungssoftware für die eingehenden Kamerabilder werden danach erläutert. Um die Verhaltensweisen des Roboters zu verstehen, werden der Auswahlprozess eines Kommunikationspartners und der anschließende Dialog ausführlich beschrieben. In Kapitel 4 werden die für das Szenario entwickelten Softwarekomponenten vorgestellt, die in das bestehende System integriert werden. Hierfür wird zuerst der exakte Aufbau des Szenarios (Kapitel 4.1) und die dafür erstellte zweidimensionale Karte beschrieben (Kapitel 4.2). Die Adaption der Gestenerkennung an die Zeigegesten auf die Karte werden in Kapitel 4.3 und die für das Szenario nötigen Veränderungen an der Spracherkennung in Kapitel 4.4 erläutert. Das Modul, das die eingehenden Daten synchronisiert und die passenden multimodalen Antworten des Robotersystems erzeugt, wird in Kapitel 4.5 erklärt. Wie das System auf Anfragen nonverbal antwortet, wird anschließend in Kapitel 4.6 beschrieben. In Kapitel 5 folgt die Evaluation des neu erstellten Systems, indem vorerst die einzelnen Komponenten auf ihre Funktionalität und anschließend das Gesamtsystem überprüft werden. Die Ergebnisse der vorliegenden Arbeit und ein Ausblick auf weitere Möglichkeiten und Verbesserungen des Systems werden abschließend in Kapitel 6 erläutert. 4 1. Einleitung 2. Multimodale Interaktion In diesem Kapitel werden die Grundlagen für eine natürliche Interaktion mit einem Robotersystem näher erläutert. Mit einer natürlichen Interaktion bzw. dem Begriff natürlich ist in dieser Arbeit die Interaktion, wie sie unter Menschen stattfindet, gemeint. Daher wird zuerst die zwischenmenschliche Kommunikation, soweit sie im Folgenden als Vorbild für die Kommunikation mit Robotern dient, beschrieben (Kapitel 2.1). Ein Teil der zwischenmenschlichen Kommunikation ist die nonverbale Kommunikation. Sie beinhaltet alle übertragenen Informationen, die nicht sprachlicher Natur sind. Dazu gehören die Kommunikationskanäle der Mimik, Gestik und Körpersprache. Sie tragen zum großen Teil die Emotionen und unterstützen die Verständigung (Kapitel 2.1.1). Die Besonderheit in der menschlichen Kommunikation liegt in der Multimodalität, denn der Mensch ist in der Lage, die Sprache und die Kanäle der nonverbalen Kommunikation intuitiv miteinander zu kombinieren, um seine Anliegen den Interaktionspartnern verständlicher zu machen (Kapitel 2.1.2). Zur Verbesserung und Vereinfachung der Kommunikation zwischen Menschen und Robotern werden die Erkenntnisse aus der Mensch-Mensch Kommunikation in die Mensch-Roboter Interaktion einbezogen. Hierfür werden die Kommunikationsmöglichkeiten zwischen Menschen und Robotern näher erläutert. (Kapitel 2.2). Die Stärken einer natürlichen, multimodalen Kommunikation mit Robotersystemen werden anhand von Anwendungsbeispielen aufgezeigt (Kapitel 2.3). Abschließend werden die Vor- und Nachteile der vorgestellten Systeme erläutert und die daraus resultierenden Schlüsse für die Entwicklung des Systems in dieser Arbeit gezogen (Kapitel 2.4). 2.1 Grundlagen der Kommunikation Um Roboter zu entwickeln, die mit dem Menschen in natürlicher Weise interagieren können, muss man die zwischenmenschliche Kommunikation vorerst besser verstehen. Im Folgenden wird daher erläutert, was die menschliche Kommunikation auszeichnet und wie verbale und nonverbale Kommunikation zur zwischenmenschlichen Verständigung genutzt werden. 6 2. Multimodale Interaktion Abbildung 2.1: Der Sender kodiert eine Nachricht über bekannte Symbole und sendet diese. Der Empfänger entschlüsselt die Symbole und erhält somit die Nachricht. Wenn Menschen miteinander kommunizieren, dann geschieht dies intuitiv. Es wird dem Gegenüber mittels Blickkontakt verdeutlicht, dass er der Adressat ist und ihm anschließend eine Botschaft mittels Sprache, Mimik und Gestik übermittelt. Diese Informationen werden von Menschen gleicher Gesellschaften1 intersubjektiv2 interpretiert und die Information wird verstanden. Dieses einfache Modell von Sender, Nachricht und Empfänger beschreibt das Prinzip von Kommunikation (siehe Abbildung 2.1). Obwohl es keine allgemeingültige Definition des Wortes Kommunikation gibt, lässt sich der Ursprung auf das lateinische Verb communicare zurückführen. Dieses bedeutet so viel wie “sich jemandem mitteilen”. Laut Luhmann [37, Schneider, 2002] wird Kommunikation als Synthese von genau drei Selektionen beschrieben: Mitteilung, Information und Verstehen. Dies kann mit der Übermittlung geheimer digitaler Nachrichten verglichen werden. Eine Botschaft (Information) wird mit einem Schlüssel kodiert und übermittelt (Mitteilung). Der Empfänger muss den Schlüssel kennen, um die Botschaft zu dekodieren (Verstehen). In der Sprache verhält es sich ähnlich, der Sender kodiert seine Nachricht mit erkennbaren Zeichen und der Empfänger entschlüsselt diese durch seine Kommunikationsfähigkeiten. Man kann Kommunikation auch als “wechselseitig aufeinander bezogenes soziales Handeln (mindestens) zweier Teilnehmer ” [14, Greshoff, 1999, Seite 38] definieren. In diesem wechselseitigen Zusammenhang wird Kommunikation auch oft mit dem Begriff der Interaktion gleichgesetzt. Diese beschreibt das wechselseitige aufeinander Einwirken von Akteuren. Ein Ziel der Kommunikation ist Verständigung [27, Luhmann, 1986], was bedeutet, dass in einem gemeinsamen Prozess neue Erkenntnisse, Überzeugungen oder Theorien erlangt werden. Um Probleme gemeinsam zu lösen, muss der Mensch auf Kommunikation zurückgreifen, um dadurch dem Gesprächspartner zu vermitteln, was er zur Lösung beitragen kann. Dies kann ein ganz einfaches Vorhaben sein, wie das Erreichen eines erhöhten Gegenstands, der durch die Mithilfe des Anderen heruntergeholt werden kann. Es kann sich dabei aber auch um das Vermitteln von Wissen, wie der Ort eines gesuchten Gegenstands, handeln. Um die Verständigung zu erreichen, muss die Kommunikation erfolgreich ablaufen. Hierzu müssen sich die Kommunikationspartner an Regeln halten, welche von Watz1 Eine Gesellschaft zeichnet sich durch gleiche Kultur und gleiche Sprache aus. von lat. inter : zwischen und Subjekt: Person. Ein Sachverhalt gilt für mehrere Betrachter gleichermaßen 2 2.1. Grundlagen der Kommunikation 7 lawick [18, Heiko, 1976] im Rahmen einer Kommunikationsanalyse erstellt wurden. Hier seien kurz die wichtigsten Regeln genannt: 1. Man kann nicht nicht kommunizieren. 2. Jede Kommunikation hat einen Inhaltsaspekt und einen Beziehungsaspekt 3. Man muss während einer Kommunikation zwischen Inhalt und Beziehung unterscheiden, um Kommunikationsstörungen zu vermeiden Die erste Regel bedeutet, dass man immer kommuniziert, auch wenn man nicht kommuniziert. Auch Schweigen und Nichthandeln haben dadurch Mitteilungscharakter. Die zweite Regel besagt, dass jede Kommunikation einen Inhaltsaspekt von Daten und Fakten, aber auch einen Beziehungsaspekt, in dem Emotionen getragen werden, hat. Wenn jemand z. B. sagt, “Du hast im Lotto gewonnen!” und grinst, kann ein Mensch durch das Grinsen verstehen, dass er auf den Arm genommen wurde. Beziehungsaspekte drücken sich dabei durch Mimik, Gestik oder Tonfall aus. Die letzte Regel bezieht sich auf Kommunikationsprobleme, die entstehen, wenn man nicht ständig zwischen Inhalt und Beziehung unterscheidet. Bietet ein Gastgeber einem Gast z. B. etwas zu essen an und dieser sagt mit angewidertem Gesicht, dass er sehr gerne davon etwas essen möchte, muss der Gastgeber zwischen Inhalt und Beziehung der Kommunikation des Gastes unterscheiden, um festzustellen, dass dieser in Wirklichkeit nichts davon essen möchte. Tut der Gastgeber dies nicht, würde er dem Gast etwas zu essen geben, was dieser gar nicht mag. Zusammengefasst ergibt sich, dass eine Kommunikation aus mindestens zwei Interaktionspartnern besteht, die die Kodierungs- und Dekodierungsvorschriften der Kommunikation kennen. Sie wollen Informationen austauschen und miteinander interagieren. Dafür müssen sie sich an Regeln halten, damit die Kommunikation erfolgreich verläuft. Die Kommunikation wird von Menschen über Sprache geführt. Sie verfügen aber auch über andere Möglichkeiten der Kommunikation in Form von nichtsprachlichen Modalitäten 1 . Menschen nutzen hierfür intuitiv Mimik, Gestik und Körpersprache, um dem Gegenüber das Dekodieren der Nachricht zu erleichtern. Dieser verfügt folglich seinerseits über mehrere Möglichkeiten der menschlichen Wahrnehmung, um die ausgesendeten Modalitäten zu verstehen. Die ausgesendete und wahrnehmbare Information, welche allerdings noch nicht in ihrer Bedeutung interpretiert wurde, wird im Folgenden Perzept genannt. Der Begriff der nonverbalen Kommunikation fasst die nichtsprachlichen Sender- und Empfängermodalitäten zusammen und hilft beim Verständnis des menschlichen Sozialverhaltens, da Emotionen nonverbal übertragen werden. 2.1.1 Nonverbale Kommunikation Schon bevor die Menschen erlernen über Sprache zu kommunizieren, verwenden sie die nonverbale Kommunikation. Kleinkinder greifen in der Zeit nach ihrer Geburt 1 Eine Modalität bezeichnet ein kommunikatives System, das durch die Art und Weise wie Information kodiert und interpretiert wird, gekennzeichnet ist. Einfacher gesagt ist eine Modalität eine Art von Informationsübermittelung, z. B. über Mimik, Gestik, etc.. 8 2. Multimodale Interaktion auf die nonverbale Kommunikation zurück und erlernen erst danach die sprachliche Verständigung. Sie zeigen über Mimik wie sie sich fühlen und erlernen schon in frühem Alter, mittels Gestik Objekte zu referenzieren. Kleinkinder können z. B. über Körpersprache verdeutlichen, dass sie gerne von ihren Eltern in den Arm genommen werden möchten. Auch das menschliche Sozialverhalten ist nur zu verstehen, wenn die nonverbale Kommunikation mit einbezogen wird, da durch die Körpersprache die Gefühle in der Kommunikation deutlich werden. Die gebückte Körperhaltung ist ein Beispiel für Demutsverhalten und bedeutet in einer Kommunikation, dass sich jemand dem Gegenüber unterordnet. Nonverbale Kommunikation geschieht meist unwissentlich und spiegelt daher die wahren Emotionen wieder. Die nonverbalen Kommunikationskanäle werden von Menschen auch koordiniert eingesetzt, um die Kommunikation zu unterstützen und zu verstärken. “Die Körpersprache ist nicht nur eine wünschenswerte, zur Not aber entbehrliche Zutat zur Verbalsprache, sondern ihre umfassende leibliche Grundlage” (Meyer, 1991). Menschen vermitteln in einer Kommunikation bis zu 65% der Information über nonverbale Modalitäten [1, Argyle, 1988]. Die wesentlichen Modalitäten der nonverbalen Kommunikation zur Übermittlung von Informationen sind Gesichtsausdruck, Augenkontakt, sowie die Körpersprache. Diese Informationen werden auf Empfängerseite über die Augen und Ohren erfasst. Die Augen liefern Details über Gestik, Mimik, Körperhaltung und Bewegungsmuster eines Kommunikationspartners und die Ohren akustische Signale. Die Modalitäten, die Teil der kommunikativen Grundkompetenz eines Menschen sind, werden in dieser Arbeit als natürliche Modalitäten bezeichnet. Im Folgenden werden die natürlichen Modalitäten der Mensch-Mensch Kommunikation auf ihren Informationsgehalt hin untersucht. “Der Gesichtsausdruck ist der Spiegel der Seele” (Imago est animi vultus), ein berühmtes Zitat des römischen Schriftstellers Cicero. Das Zitat stellt die These auf, dass das Gesicht Emotionen widerspiegelt, die von anderen gelesen werden können. Menschen besitzen hierfür 26 Gesichtsmuskeln, mit denen sie eine Vielzahl von Mimiken darstellen können. Es lassen sich laut Ekman [7, Ekman, 1999] sechs verschiedene Grundmimiken herausstellen (siehe Abbildung 2.2): Freude, Überraschung, Furcht, Ärger, Ekel und Trauer. Diese Mimiken können sich auch vermischen und abhängig vom Individuum stärker oder schwächer ausgeprägt sein, aber generell sind die sechs Grundmimiken interkulturell gültig. Riechen wir z. B. etwas Unangenehmes, rümpfen wir die Nase und unsere Mimik verdeutlicht Ekel. Dieses Verhalten lässt sich sowohl bei abgelegenen Ureinwohnern in Neu-Guinea als auch bei Blinden, welche Mimiken durch Beobachtung nicht erlernt haben können und Menschen aus Industrienationen beobachten. Über den Augenkontakt vermitteln Menschen Aufmerksamkeit, aber auch Zuneigung und Freundlichkeit. Wird der Augenkontakt vermieden, so vermittelt dies Ablehnung oder Scheu. Menschen suchen meist den Augenkontakt, um eine Kommunikation zu beginnen und verstehen es als Beendigung, wenn der Blick über längere Zeit abgewendet wird. Aus den Augen lassen sich über Stellung der Augenlieder, Bewegung und Größe der Pupille zudem emotionale Beziehungen ableiten. Ein berühmtes Beispiel hierfür sind verspiegelte Brillen, die beim Pokerspielen getragen werden, um keine Emotionen zu zeigen, die das momentane Kartenblatt preisgeben. 2.1. Grundlagen der Kommunikation 9 Abbildung 2.2: Intersubjektiv verständliche Mimiken. 1) Freude 2) Überraschung 3) Furcht 4) Ärger 5) Ekel 6) Trauer. Quelle: [7, Ekman, 1999] Durch die Körpersprache verraten Menschen z. B. ob sie nervös sind, indem sie plötzliche und unkoordinierte Bewegungen ausführen, wie häufiges Kratzen oder ungewollte Bewegungen. Durch langsame und ausgeglichene Bewegungen strahlen Menschen dagegen Ruhe und Gelassenheit aus und tragen so zu einer angenehmen Kommunikation bei. Die Körperbewegung der Arme oder des Kopfes senden Informationen, die kulturabhängig verstanden werden. Das Kopfschütteln wird z. B. universell als Ablehnung empfunden, das Kopfnicken jedoch kulturabhängig als Ablehnung (z. B. Griechenland) oder Anerkennung (z. B. Deutschland). Die Bewegung der Arme und Hände wird als Gestik bezeichnet und begleitet bis zu 90% unseres Sprechens im natürlichen Diskurs [34, Nobe, 2000]. Die Gesten lassen sich in drei Kategorien einteilen: 1. Ikonische Geste 2. Deiktische Geste 3. Symbolische Geste Mit einer ikonischen Geste versucht ein Mensch, durch die Bewegung der Arme und Hände, eine Form nachzubilden. Wenn er z. B. die Größe eines Fisches beschreiben möchte, hält er beide Arme auseinander und versucht, mit der Entfernung der Hände die Größe des Fisches nachzuahmen. Ikonische Gesten werden folglich benutzt, um etwas aus der den Menschen bekannten Welt nachzubilden (Abbildung 2.3a). Deiktische Gesten referenzieren ein Objekt, indem die Verlängerung des Arms in Richtung des Objekts zeigt. Menschen benutzen deiktische Gesten in einer Kommunikation, da Objekte leicht über eine Zeigegeste mit in die Kommunikation einbezogen werden 10 2. Multimodale Interaktion (a) Ikonische Geste (b) Deiktische Geste (c) Symbolische Geste Abbildung 2.3: Kommunikative Gestentypen (a) Ikonische Geste, die äußere Form ähnelt dem Objekt (b) Deiktische Geste, verweist auf Objekt im Kontext c) Symbolische Geste, konventionalisiert innerhalb einer Gesellschaft können und das Objekt nicht erst umständlich mittels Sprache beschrieben werden muss (Abbildung 2.3b). Symbolische Gesten sind Bewegungen, die kulturell gelernt wurden und eine Bedeutung tragen. In vielen Gesellschaften wird z. B. eine ausgestreckte Faust mit einem erhobenen Daumen als positive Rückmeldung empfunden (Abbildung 2.3c) oder aneinandergeriebene Fingerspitzen mit Geld gleichgesetzt. Die nonverbale Kommunikation übermittelt folglich mittels vieler Modalitäten Informationen, die die zwischenmenschliche Kommunikation ergänzen. Der Informationsfluss ist jedoch nicht seriell, sondern alle Modalitäten senden parallel Informationen. Menschen kommunizieren somit über Sprache aber auch gewollt und ungewollt mittels Mimik, Gestik, Körperhaltung und Augenkontakt zugleich. Die Parallelität der Kommunikationskanäle und dessen Nutzen für die Kommunikation werden im folgenden Abschnitt näher erläutert. 2.1.2 Multimodale Kommunikation Multimodale Kommunikation bedeutet die Kombination der Modalität Sprache mit den Modalitäten der Mimik, Gestik und Körpersprache (siehe Abbildung 2.4). Eine Mensch-Mensch Kommunikation wird subjektiv über die Sprache ausgeführt, da das Ziel der Verständigung auf diesem Wege erreicht werden kann. Menschen kommunizieren allerdings bewusst und unbewusst über viele Modalitäten gleichzeitig. Durch das Zusammenspiel mit den nonverbalen Modalitäten werden mehr Informationen zur gleichen Zeit übermittelt. Der hohe Grad an Parallelität solch einer multimodalen Kommunikation führt somit zu einer größeren Bandbreite und Effizienz der Informationskodierung [12, Gorostiza et al., 2005]. Weiterhin werden unterschiedliche Informationen mit verschiedenen Modalitäten unterschiedlich gut vermittelt. Komplizierte Inhalte werden meist über Sprache kommuniziert, aber eine Rückmeldung in Form einer Zustimmung kann beispielsweise sehr einfach über eine symbolische Geste, wie einem erhobenen Daumen erfolgen. Der Mensch adaptiert seine Verwendung von Modalitäten an die aktuellen Bedingungen, um damit die Kommunikation einfacher und weniger fehleranfällig zu gestalten. Wird z. B. davon gesprochen, ein Objekt von einem nahegelegenen Tisch zu holen und versteht der Rezipient nicht, welches Objekt gemeint ist, wird eine deiktische Zeigegeste zu Hilfe genommen, wodurch das gewünschte Objekt eindeutig 2.2. Mensch-Roboter Kommunikation 11 Abbildung 2.4: Der Sender schickt gleichzeitig Informationen über verschiedene Modalitäten. Der Empfänger verarbeitet die Informationen soweit er sie mit seinen Sinnen wahrnimmt. definiert ist. Auf Grund der Komplexität der Kommunikation versuchen Menschen unbewusst die Modalität zu benutzen, die am Wahrscheinlichsten zu einer fehlerfreien Verständigung führt. Durch die parallele multimodale Kommunikation wird die Fehleranfälligkeit zusätzlich verringert, da die selbe Information über verschiedene Modalitäten gleichzeitig gesendet wird. Die Besonderheit der multimodalen Kommunikation ergibt sich aus der Kombination verbaler und nonverbaler Anteile und dem situationsabhängigen Gebrauch der jeweiligen Modalitäten. Zusammengefasst ergibt sich somit die Effizienz der zwischenmenschlichen Kommunikation aus der Robustheit und der Adaptivität paralleler Modalitäten, da Fehler in der Kommunikation verringert und die Menge an Informationen gesteigert werden. Diese Erkenntnisse werden im Folgenden auf die Mensch-Roboter Kommunikation übertragen. Ziel ist es, die herkömmlichen Schnittstellen wie Tastatur und Maus durch menschliche Modalitäten zu ersetzen. 2.2 Mensch-Roboter Kommunikation Um sich der multimodalen Mensch-Roboter Kommunikation anzunähern, wird zuerst die derzeitig vorherrschende Interaktion mit Maschinen erläutert. Diese basiert auf der Verwendung verschiedener “Schnittstellen”, mittels derer kommuniziert wird. Schnittstellen zwischen Menschen und Maschinen sind in der heutigen Zeit an vielen Stellen zu finden. Wenn eine Fahrkarte am Bahnautomaten gelöst, ein Handy bedient oder ein Computerprogramm gestartet wird, muss eine Schnittstelle zu der gewünschten Aktion erkannt und genutzt werden. Von dieser Schnittstelle hängt es ab, ob Menschen die Funktionalität des Systems verstehen und das System erfolgreich verwenden können. Bei den ersten Maschinen bestanden diese Schnittstellen nur aus Schaltern, Lampen und Signaltönen, die den Anwender über den momentanen Arbeitsschritt informieren sollten. Im Laufe der Zeit kamen grafische Benutzerschnittstellen und Eingabegeräte wie Tastatur und Maus hinzu, die sich bis in die heutige Zeit etabliert haben. Die Forschung konzentrierte sich dabei auf eine möglichst einfache, befehlsbasierte Interaktion zwischen Mensch und Maschine und entwickelte Regeln, an die sich Entwickler halten sollen, um das System so benutzerfreundlich wie möglich zu gestalten. 12 2. Multimodale Interaktion Für den Anwender ist hierbei das Erlernen gezielter Anwendungsregeln erforderlich, wodurch eine intuitive Bedienung erschwert wird. Mittlerweile gibt es neue Wege, mit einem System zu interagieren. Kameras, Mikrofone und andere Sensoren ermöglichen dem System, auf zahlreiche Eingabemöglichkeiten zurückzugreifen. Diese neuen Daten eröffnen die Gestaltung neuer Systeme, bzw. ebnen den Weg für eine mit Maschinen nachgebildete Mensch-Mensch Kommunikation. Die natürlichen Modalitäten der Sprache, Gestik und Mimik sind im alltäglichen Gebrauch des Menschen vorhanden und er ist in der Lage, intuitiv damit umzugehen. Um dem Menschen einen einfacheren, intuitiveren Umgang mit Maschinen zu ermöglichen, sollen diese natürlichen Interaktionsmodalitäten auch in der Entwicklung von Maschinen berücksichtigt werden. Ausgangspunkt für eine natürliche Interaktion zwischen Menschen und Robotern ist ein menschenähnliches Aussehen des Roboters. Dadurch wird gewährleistet, dass der Roboter durch Arme und menschliche Gesichtszüge verbale und nonverbale Modalitäten ausführen kann und der Mensch den Roboter als menschenähnlichen Kommunikationspartner wahrnimmt. Ein menschlicher Körper ist ein Bestandteil anthropomorpher Roboter. Anthropomorph stammt aus dem Altgriechischen (anthroposs sagt = Mensch, morphe = Gestalt) und bedeutet, künstliche Objekte mit menschlichen Attributen auszustatten. Allein durch Betrachtung werden dem System kognitive und emotionale Fähigkeiten zugeschrieben, so dass die soziale Kommunikation davon beeinflusst wird [5, Duffy, 2002]. Anthropomorphie wird durch ein menschliches Aussehen, wie z. B. einem beweglichen Kopf mit einem Gesicht, begünstigt [3, Bruce et al., 2001]. Auch natürliche Sprache bzw. ein persönlicher Kommunikationsstil [36, Quintanar et al., 1982] sind Bestandteile eines menschenähnlichen Roboters. Die Anzahl an menschlichen Attributen des Roboters ist proportional zur Ähnlichkeit des Menschen. Dies beinhaltet den Grad der Vertrautheit zum Grad der Multimodalität, zum Wissen über die Systemstruktur und zum aktuellen sozialen Kontext [41, Watt, 1998]. Hier- Abbildung 2.5: Das Uncanny Valley. Mit dem Grad der Ähnlichkeit zwischen Mensch und Maschine steigt die Sympathie zu Robotern. Kurz vor der Akzeptanz auf Grund der Menschenähnlichkeit liegt ein Tal starker Ablehnung, da die nichtmenschlichen Teile den Roboter stark unrealistisch wirken lassen. 2.2. Mensch-Roboter Kommunikation 13 bei ist allerdings das uncanny valley [30, Mori, 1970] zu beachten (siehe Abbildung 2.5). Der Roboter wirkt mit steigendem Realitätsgehalt menschlicher, allerdings nur bis zu einem gewissen Grad. Ist der Roboter fast menschlich, kommen die Modalitäten, die nicht menschenähnlich wirken, stärker zur Geltung und der Roboter wirkt erstaunlicherweise wieder sehr unrealistisch. Erst bei sehr großer Menschlichkeit steigt die Vertrautheit und somit die Motivation zur Kommunikation wieder an. Eine Schlussfolgerung daraus ist, dass die suggerierten Fähigkeiten durch die menschliche Nachbildung nicht zu stark von den tatsächlichen Fähigkeiten abweichen dürfen [41, Watt, 1998]. Die Akzeptanz innerhalb der Mensch-Roboter Kommunikation wird allerdings nicht nur durch das Äußere des Roboters, sondern auch durch sein Verhalten maßgeblich bestimmt. Die Handlungen des Roboters ergeben sich aus seiner physischen Form und seinen Sensoren, die die Umwelteinflüsse aufnehmen [29, Matarić, 2002]. Sind die verkörperten Roboter zusätzlich sozial, sind sie auf eine zwischenmenschliche Kommunikation ausgerichtet. Soziale Roboter sind in der Lage ihre Umwelt, sowie Kommunikationspartner wahrzunehmen und kommunizieren mit diesen. Terence Fong [9, Fong et al, 2003] beschreibt zwei mögliche Realisierungsansätze sozialer Roboter: 1. Der biologisch motivierte Ansatz versucht, die interne Struktur des menschlichen, mentalen Prozesses nachzubilden und zu simulieren. =⇒ Kein menschliches Äußeres, aber menschliches Verhalten 2. Der funktional orientierte Ansatz motiviert die Gestaltung des Roboters in der Art, dass Menschen diesen als sozialen Akteur akzeptieren und mit ihm entsprechend umgehen. Die interne Struktur des Roboters muss diese Annahme allerdings nicht rechtfertigen. =⇒ Menschliches Äußeres, aber nicht unbedingt menschliches Verhalten Cynthia Breazeal geht einen anderen Weg und gliedert Roboter anhand ihrer Fähigkeiten in unterschiedliche soziale Klassen und gibt Designvorschläge, so dass Roboter von den Menschen als Kommunikationspartner akzeptiert werden [2, Breazeal, 2003]. Sie schlägt vier unterschiedliche Typen sozialer Roboter vor, wobei eine höhere Stufe die Fähigkeiten der unteren Stufen beinhaltet: 1. Socially evocative: Der Roboter besitzt einen eigenen Körper mit einem anthropomorphen Aussehen. Zusätzlich zeigt er ein angemessenes Verhalten, welches allerdings nur einseitig ist. 2. Social interface: Der Roboter besitzt natürliche Modalitäten und ist in der Lage Blickkontakt aufzubauen. Die Kommunikation ist allerdings recht starr und wiederkehrend. 3. Socially receptive: Die Umgebung wird wahrgenommen und Menschen und ihre Aktionen registriert. Außerdem ist der Roboter in der Lage einfaches Feedback zu geben. Er ist auch in der Lage zu Lernen, allerdings noch sozial passiv. 14 2. Multimodale Interaktion 4. Sociable: Die höchste Stufe, in der der Roboter wie ein sozialer Partner agiert, indem er aktiv an seiner Umwelt teilnimmt und aus eigener Motivation eine Kommunikation initiiert. Die menschlichen Verhaltensweisen sind ihm vertraut. Einen anderen Weg geht Terence Fong, der zwischen den Klassen interpoliert und weitere Stufen findet [9, Fong et al., 2003]. Er schlägt folgende Eigenschaften vor, die ein sozialer Roboter haben sollte, um sich der höchsten Stufe anzunähern: • Ein eigener Körper • Emotionen: – Ausdruck mittels Gestik, Mimik und Körperhaltung – Emotionen zur Unterstützung der Kommunikation – Emotionen zur Kontrolle des internen Zustands • Dialogfähigkeit • Persönlichkeit • Menschenorientierte Wahrnehmung Zusammengefasst lässt sich herausstellen, dass anthropomorphe Roboter eine soziale Interaktion begünstigen und zu einer intuitiveren Kommunikation zwischen Menschen und Robotern führen [33, Nass et al., 2000]. Die Entwicklung der anthropomorphen Fähigkeiten beinhaltet menschliches Aussehen, aber auch die Möglichkeit zur nonverbalen und emotionalen Kommunikation. Die Attribute des anthropomorphen Roboters müssen allerdings mit seinen Fähigkeiten übereinstimmen, um Irreführungen in der Interaktion zu vermeiden. Das Ziel, mit einem anthropomorphen Roboter die Interaktion mit Menschen positiv zu beeinflussen, haben sich mehrere Projektgruppen gesetzt, von denen im folgenden Kapitel einige ausgewählte Arbeiten vorgestellt werden. 2.3 Fähigkeiten multimodaler Roboter Projekte mit dem Ziel der Interaktion zwischen Mensch und Roboter unterscheiden sich hinsichtlich der verwendeten Modalitäten und dem Ziel der Anwendung. Die verschiedenen Projekte sollen im Folgenden erklärt und die Roboter anhand ihrer Fähigkeiten unterschieden werden. In Kapitel 2.1.1 wurde beschrieben, dass die Mimik für das Verständnis der Kommunikation besonders wichtig ist. Durch verschiedene Mimiken kann die Kommunikation beeinflusst und die Gefühlslage deutlich gemacht werden. Wird dies als Schnittstelle zwischen Menschen und Robotern eingesetzt, kann der Mensch seine intuitiven Fähigkeiten auch in der Kommunikation mit einem Roboter verwenden. Durch Mimiken stellt der Roboter z. B. seinen internen Zustand dar, wodurch der Mensch die Handlung des Roboters einfacher versteht. Ein Roboter, der mehrere Mimiken darstellen kann, ist Kismet. 2.3. Fähigkeiten multimodaler Roboter 2.3.1 15 Kismet Für die Erforschung sozialer Interaktion mit Robotern entstand am MIT Media Lab der Roboterkopf Kismet (Abbildung 2.6). Er wurde von Cynthia Breazeal entwickelt, um mittels verschiedener Mimiken die Kommunikation zwischen Menschen und Robotern zu beeinflussen [2, Breazeal, 2003]. Kismet verfügt über drei Freiheitsgrade für die Blickrichtung und drei für die Bewegung des Kopfes. Weitere 15 Freiheitsgrade steuern die Aktuatoren der Ohren, Augenlieder, Augenbrauen und Lippen, um Mimiken zu erzeugen. Für die visuelle Wahrnehmung seines Kommunikationspartners, befinden sich vier Abbildung 2.6: Kismet, entwickelt Farbkameras in dem Kopf und für die verbale von Cynthia Breazeal am MIT, Cambridge Verständigung wird ein Headset getragen. In Studien [2, Breazeal, 2003] hat sich herausgestellt, dass eine Rückmeldung mittels Mimik eine Interaktion unterstützt. Allerdings müssen die verbalen und nonverbalen Komponenten aufeinander abgestimmt und die Mimiken für den Menschen interpretierbar sein. Zu den nonverbalen Kommunikationsmöglichkeiten gehören auch die Gesten. Diese sollten in einer Mensch-Roboter Interaktion zum einen vom Menschen, zum anderen aber auch vom Roboter genutzt werden können, da Gesten eine Kommunikation zu großen Teilen begleiten (siehe Kapitel 2.1.1). Ein Projekt, welches beide Seiten mit einbezieht, ist der Roboter Albert. 2.3.2 Albert Das Ziel der Entwicklung von Albert (Abbildung 2.7) ist eine natürliche und direkte Kommunikation zwischen Menschen und Robotern [6, Ehrenmann, 2002]. Albert soll in menschlichen Umgebungen als Serviceroboter eingesetzt werden und auf Gesten und Spracheingaben angemessen reagieren. Mit seiner mobilen Plattform kann er sich frei bewegen und mit den Daten eines Laser-Range-Finders (LRF) und einer zugehörigen Software Hindernissen ausweichen. In seinem Kopf sind zwei Farbkameras integriert, die Objekte und Hände bzw. Gesten detektieren. Mit seinem dem Menschen nachempfundenen Arm mit sieben Freiheitsgraden und der drei Finger Abbildung 2.7: Roboterassistent Barrett-Hand (Barrett Technology. Inc.) ist er Albert, Universität Karlsruhe in der Lage, Objekte zu manipulieren. Dies geschieht anhand einer Zeigegeste des Anwenders oder durch einen Sprachbefehl. Die Hand wird durch eine Hautfarbensegmentierung erkannt und die Zeigegeste über eine Fast Fourier Transformation klassifiziert. Die 16 2. Multimodale Interaktion Objekte werden durch eine Farbunterscheidung und ihre Ausdehnung in Breite und Höhe klassifiziert. Über eine Softwarekomponente wird jede Aktion durch Sprache oder Gestik erfasst und eine Antwort von Albert erzeugt. Die Antwort erfolgt über eine Greifbewegung des Arms, mit dem Ziel des gezeigten oder benannten Objekts. Alberts Eingabemodalitäten sind allerdings eingeschränkt. Die sprachliche Konversation ist einseitig und besteht nur aus wenigen Worten, die die Befehle widerspiegeln. Die Beschränkung, dass nur Gestik oder nur Sprache verwendet werden können, ist ebenso nachteilhaft, da Gesten eine Kommunikation eher unterstützen als bestimmen. Neben der natürlichen Kommunikation liegt das Bestreben folglich in der Umsetzung einer multimodalen Kommunikation zwischen Mensch und Roboter. Ein Projekt, welches die Eingabe mittels mehrerer Modalitäten gleichzeitig ermöglicht, widmet sich der Entwicklung des Roboters Care-o-Bot. 2.3.3 Care-o-Bot Care-o-Bot II (Abbildung 2.8) wurde im Jahr 2002 vom Fraunhofer Institut für Produktionstechnik und Automatisierung entworfen, um in der Pflege und Unterstützung hilfebedürftiger Menschen zu arbeiten [13, Graf et al., 2004]. Er soll einfache Haushaltsaufgaben erledigen wie das Decken eines Tisches, Reinigungsarbeiten, sowie das Holen und Anreichen von Gegenständen. Care-o-Bot dient als einfache Gehhilfe und hilft beim Aufstehen aus dem Bett. Er ist zusätzlich als Kommunikationsmedium und Notrufsystem gedacht, da er über ein Medienmanagement (Fernsehen, Bildtelefon, Musikanlage), einen Terminplaner, eine Überwachung der Vitalfunktionen und eine Kommunikation mit medizinischen Einrichtungen verfügt. Der Roboter ist eine Weiterentwicklung des Care-oBot I und besitzt einen Arm, einen beweglichen Sensorkopf und eine mobile Plattform mit integriertem Abbildung 2.8: Care-o-Bot LRF (Abbildung 2.7). II entwickelt am Fraunhofer Damit Care-o-Bot von Benutzern ohne technische VorInstitut kenntnisse bedient werden kann, verfügt er über eine multimodale Bedienschnittstelle. Die Bedienung des Roboters erfolgt über Sprache oder einen integrierten Touchscreen. Die Rückmeldung über den momentanen Systemzustand geschieht über Bildinformationen auf dem Bildschirm und eine Sprachausgabe. Seine interaktiven Handlungen errechnet der Roboter über einen internen symbolischen Planer, der die nötigen Aktionen zum Erfüllen der Aufgabe generiert. Sein Weltwissen bezieht der Planer dabei aus einer vorgegebenen Weltmodellierung in einer Datenbank. Care-o-Bot besitzt folglich mehrere Modalitäten zur Eingabe und Ausgabe. Die Bedienung über einen Touchscreen ist allerdings keine natürliche Schnittstelle und die Bedienung muss erst erlernt werden. Auch die Informationen über den internen Zustand auf dem Touchscreen müssen dem Anwender bekannt sein, da die Ausgaben rein intuitiv nicht verständlich sind. Ein anderes Projekt versucht die Ausgaben mit 2.3. Fähigkeiten multimodaler Roboter 17 einer ausgefallenen Art der Gefühlsvermittelung zu verbessern, um dem Problem der unverständlichen Ausgaben entgegen zu wirken. Daher wurde bei einem ähnlichen Roboter, namens Maggie, auf eine andere Art der Gefühlsvermittelung gesetzt. 2.3.4 Maggie Um die Kommunikation zwischen Menschen und Maschinen zu verbessern und dynamischer zu gestalten, wurde im Jahr 2005 der Roboter Maggie (Abbildung 2.9) im RoboticsLab an der Universität Carlos III of Madrid entwickelt [12, Gorostiza et al., 2005]. Der 1,35 Meter große Roboter ist mit mehreren Sensoren und Aktuatoren für die multimodale Kommunikation ausgerichtet und kann sich mit einer dynamischen Programmierung an Dialoge anpassen und eine Kommunikation auch initiieren. Maggie verfügt über 12 Infrarotsensoren, 12 Sonarsensoren, 12 Druckschalter und einen Laser-Range-Finder, die Daten für die implementierte Hindernisvermeidung liefern. In dem Mund des Roboters ist eine Webcam zur Personen- und Objekterkennung und in dem Bauch hinter einer halbdurchlässigen Plexiglasscheibe eine Farbkamera zur geplanten Personenverfolgung eingebaut. In der Brust ist ein Tablet PC integriert, auf dem sich Grafiken und Videos abspielen lassen. Dieser ist zusätzlich mit zwei Lautsprechern für die Sprachausgabe verbunden. Der Kopf lässt sich mit 2 Freiheitsgraden nach oben/unten und links/rechts bewegen und über den Augen sind herunterfahrbare Augenlieder integriert. Die jeweils aus einem Stück bestehenden Arme können nach oben und unten bewegt werden und verfügen über Drucksensoren an ihren Enden. Maggie kann Menschen begrüßen und ihnen die Hand schütteln, eine kleine Konversation führen Abbildung 2.9: Roboter Maggie, und tanzen. Maggie verfügt über ein DialogsysQuelle: http://news.bbc.co.uk/ tem, welches zur Laufzeit neue Wörter integrieren kann und dadurch dynamischer wirken soll. Der Unterschied zu Care-o-Bots Ausgabe des internen Zustands befindet sich in Maggies Mund. In diesem sind bunte Dioden zu sehen, die mit der Sprachausgabe gekoppelt sind und mit denen sich Stimmungen widerspiegeln lassen. Über den Tablet PC kann man mittels Eingaben Maggies Stimmung verändern und der Roboter zeigt Emotionen über seine Dioden, aber auch über Gestik, Kopf- und Augenliederbewegung. Die Interpretation der leuchtenden Dioden ist allerdings dem Anwender überlassen, so dass auch hier nicht von einer natürlichen Schnittstelle gesprochen werden kann. Die Gestik ist zusätzlich stark vereinfacht, da die Arme nur über jeweils einen Freiheitsgrad verfügen und deshalb nur bedingt für Gestik benutzt werden können. Um die Schnittstellen natürlicher zu gestalten, müssten diese nach menschlichem Vorbild entworfen werden. Die daraus resultierenden Roboter werden Androiden oder auch Actroiden genannt, von denen im Folgenden Repliee Q2 näher vorgestellt wird. 18 2.3.5 2. Multimodale Interaktion Actroid - Repliee Q2 Der Android Repliee Q2 (Abbildung 2.10) wurde 2003 von der Osaka University in Japan entwickelt und besitzt ein menschenähnliches Äußeres [24, Ishiguro, 2005]. Die Haut besteht aus Silikon und ist über einen dem menschlichen Körper nachempfundenen Roboter gezogen. Der Roboter im Inneren besitzt 42 Aktuatoren, mit denen Bewegungen des Oberkörpers ermöglicht werden. Der Android sitzt auf einem Stuhl, da die Beine keine Motoren haben. Repliee Q2 hat das Aussehen einer erwachsenen asiatischen Frau, wobei unterschiedliche Perrücken und Silikonhüllen verschiedene Personen nachbilden. Der Roboter kann die Augenlieder öffnen und schließen, sowie die Hände und Arme flüssig bewegen. Damit Repliee Q2 menschlicher wirkt, hebt und Abbildung 2.10: Roboter Repliee Q2, senkt sich die Brust des Roboters, um eiQuelle: http://www.ed.ams.eng.osakane Atmung zu simulieren. Insgesamt befinu.ac.jp/ den sich drei Freiheitsgrade in den Augen, zusätzlich drei im Gesicht (Augenbrauen, Augenlieder, Wangen), sieben um den Mund, drei für die Kopfbewegungen, vier im Torso und jeweils neun in den Armen und zwei in den Händen. Der Roboter ist in der Lage eine Konversation zu führen, da sich in seinem Inneren Mikrofone zur Aufnahme von Audiosignalen und ein Spracherkenner befinden. Repliee Q2 verfügt über eine Datenbank von ungefähr 40000 Phrasen, mit denen auf Anfragen reagiert werden kann. Durch die Körperbewegungen während der Sprachausgabe soll die Menschenähnlichkeit verstärkt und die Akzeptanz verbessert werden. Die Akzeptanz wird laut [28, MacDorman, 2006] durch die starke Menschlichkeit in der Tat gesteigert. Die multimodalen Ausgaben und die anthropomorphe Gestalt des Roboters Repliee Q2 sind folglich geeignete Schnittstellen und tragen zu einer intuitiveren Kommunikation zwischen Mensch und Maschine bei. Nachteilig ist die Ansteuerung des Roboters, da er sich nicht autonom durch eigene Berechnungen bewegt, sondern ferngesteuert wird. Ein Robotersystem muss seine Bewegungen selbstständig koordinieren, damit es in realen Szenarien eingesetzt werden kann. Auch die Eingabemöglichkeiten des Anwenders, die nur unimodal über Sprache zu tätigen sind, könnten erweitert werden. Die zuvor beschriebenen Systeme bieten in diesem Bereich effizientere Möglichkeiten an. 2.4. Zusammenfassung 2.4 19 Zusammenfassung Menschen kommunizieren untereinander natürlich und intuitiv. In diesem Kapitel wurde daher die Mensch-Mensch Kommunikation betrachtet, um daraus Erkenntnisse für das Ziel einer natürlicheren Mensch-Roboter Kommunikation zu erhalten. Die Mensch-Mensch Kommunikation funktioniert nach dem Sender, Nachricht, Empfänger Modell, bei dem eine Person eine Nachricht mittels mehrerer Modalitäten verschickt und eine andere Person diese Nachricht aus den Informationen der Modalitäten dekodiert. Menschliche Modalitäten sind verbaler (Sprache) oder nonverbaler Natur (Mimik, Gestik und Körpersprache), welche sich gegenseitig unterstützen, um Nachrichten verständlicher und effizienter zu übermitteln. Die Effizienz der Übermittlung der Nachricht entsteht durch das multimodale Versenden über mehrere Modalitäten gleichzeitig. Die natürliche Art der menschlichen Kommunikation wird dazu verwendet, die Schnittstellen zwischen Menschen und Maschinen zu verbessern. Ein anthropomorphes Aussehen der Maschine begünstigt hierbei die Akzeptanz innerhalb der MenschRoboter Kommunikation. Im Zuge der Anthropomorphisierung sollte der Roboter neben der Sprache zusätzlich über die Fähigkeit verfügen, mittels nonverbaler Kommunikation zu interagieren, damit seine Rückmeldungen und Aussagen für den Anwender intuitiv verständlich sind. Verfügt ein Roboter wie Kismet über ein menschenähnliches Gesicht, kann er mittels Mimiken die Kommunikation beeinflussen. Besitzt er ebenfalls noch einen oder mehrere Arme wie Albert, Care-o-Bot, Maggie oder Repliee Q2, kann er Gesten vollführen und so die Interaktion unterstützen. Ein stark menschliches Aussehen, wie bei dem Actroiden Repliee Q2, kann die Kommunikation zusätzlich positiv beeinflussen und die Akzeptanz des Menschen für eine Kommunikation mit einem Roboter erhöhen. Nach der Analyse der besonderen Stärken und Schwächen der vorgestellten Roboterprojekte, werden die Stärken zusammengefasst und diese im Folgenden auf einer Plattform kombiniert. Eine Mimik soll den Bearbeitungszustand des Systems einfach verständlich machen, Gesten Objekte in die Kommunikation mit einbeziehen und ein menschliches Äußeres die Akzeptanz als Kommunikationspartner steigern. Eine Roboterplattform, die die physischen Anforderungen erfüllt, ist der Roboter BARTHOC, der im anschließenden Kapitel vorgestellt wird. Dieser wird mit den Vorteilen der multimodalen Kommunikation ausgestattet, so dass verbale und nonverbale Elemente auf Anwender- und Roboterseite nutzbar sind. 20 2. Multimodale Interaktion 3. Verwendete Hard- und Software Im Fokus dieses Kapitels steht die Erläuterung der Hard- und Software, die zur Realisierung der multimodalen Interaktion zwischen Mensch und Roboter bereits vorhanden sind. Zu Beginn wird die Hardwareplattform BARTHOC mit den multimodalen Funktionalitäten ausführlich vorgestellt (Kapitel 3.1). Im Anschluss wird der Aufbau der Software näher beschrieben (Kapitel 3.2) und danach werden die einzelnen Softwarekomponenten erklärt. 3.1 Humanoider Roboter BARTHOC Ausgehend von Kapitel 2.4 werden verbale und nonverbale Kommunikationselemente in einem Roboter kombiniert. Eine Plattform, die diese Anforderungen erfüllt, ist der Bielefeld Anthropomorphic RoboT for Human-Orientated Communication (BARTHOC), der von der Firma Mabotic entwickelt wurde [15, Hackel, 2005]. Der Roboter verfügt über einen mechanischen Kopf und zwei Arme inklusive Händen mit fünf Fingern (siehe Abbildung 3.1). Diese sind an einem Oberkörper angebracht, in dem sich die Steuerungsplatinen, die so genannten iModules, befinden und der mit einer Plastikummantelung geschützt ist. Die- Abbildung 3.1: BARTHOC Senior, huser Oberkörper steht auf einem 65cm hohen manoider Roboter entwickelt zur ErforSockel, in dem die Stromversorgung, zwei schung multimodaler Mensch-Roboter serielle Anschlüsse zur externen Steuerung Kommunikation und ein Motor für eine Hüftdrehung um seine Hauptachse untergebracht sind. Der eine serielle Anschluss ist für die Kopfsteuerung und der andere für alle Motoren unterhalb des Halses vorgesehen. 22 3. Verwendete Hard- und Software Insgesamt wiegt BARTHOC ohne Sockel 35 Kilogramm und ist dadurch leicht zu transportieren. In sein Inneres sind 41 Motoren bzw. Aktuatoren integriert, die Bewegungen wie die eines menschlichen Oberkörpers ermöglichen (siehe Seite 3.1.2). Hierzu gehört das Beugen der Finger, zwei Freiheitsgrade für jede Hand, Beugen und Drehen des Unter- und Oberarms sowie vier Freiheitsgrade für das Bewegen des Kopfes, drei für die Bewegung der Augen und sieben für die Bewegung der Mimik. Allein 10 der 41 Freiheitsgrade sind in dem Kopf des Roboters verbaut. Der Roboter ist in der Lage, seinen Mund zu öffnen und zu schließen, die Mundwinkel zu verstellen, die Augenbrauen zu heben und zu senken, sowie die Augenlieder zu öffnen und zu schließen. Weitere Aktuatoren bewegen die Augen vertikal gekoppelt und horizontal unabhängig voneinander. In die Augen sind zwei FireWire Farbkameras mit einer Auflösung von 640x480 Pixeln integriert. Durch die horizontal autonome Bewegung können Entfernungen von Objekten durch Analyse der Augenwinkelstellung berechnet werden. Der Kopf lässt sich nach hinten und zur Seite neigen sowie drehen. Außerdem kann sich der Kopf horizontal vor und zurück bewegen. Weiterhin lassen sich Schulterklappen heben und senken. Dabei bewegt sich nicht der komplette Arm, sondern nur eine kleine Klappe auf der Schulter. Da der Roboter in Benutzung Kleidung trägt, reicht die alleinige Bewegung der Schulterklappe aus, um Achselzucken zu simulieren. Auf dem Sockel oder auf den Schultern können Stereomikrofone angebracht werden, damit BARTHOC über akustische Eingaben Geräusche und deren Richtung ermitteln kann. In Zukunft werden die Mikrofone in den Ohren positioniert, um den Roboter realistischer zu gestalten. Abbildung 3.2: BARTHOCs Silikonmaske für menschenähnlicheres Aussehen Damit BARTHOC menschlicher wirkt und er möglichst einfach verschiedene Erscheinungsformen annehmen kann, gibt es die Möglichkeit, eine Latex- oder Silikonmaske über den Kopf zu ziehen und diese mit den Aktuatoren zu verbinden (siehe Abbildung 3.2). Zusätzlich können verschiedene Perrücken angebracht werden. BARTHOC könnte folglich als junge Frau oder auch als alter Mann an einer Kommunikation teilnehmen. 3.1. Humanoider Roboter BARTHOC 23 Um auch kindliche Kommunikationspartner darstellen zu können und dadurch das Verhalten des Anwenders dem Roboter gegenüber zu beeinflussen, gibt es noch eine kleinere Variante des Roboters, BARTHOC Junior (siehe Abbildung 3.3) mit der Größe eines vierjährigen Kindes [16, Hackel, 2006]. BARTHOC Junior wurde nicht wie BARTHOC Senior aus Aluminium gebaut, sondern aus Kunststoff, damit die Motoren stark genug sind, alle Gelenke zu bewegen. BARTHOC Junior ist fast genauso konstruiert wie sein großes Pendant. In dieser Arbeit werden deswegen nur Abbildung 3.3: BARTHOC Junior, die Details von BARTHOC Senior erläu- kindlicher humanoider Roboter enttert. Es gibt nur wenige Ausnahmen in den wickelt zur Erforschung multimodaler Winkeleinstellungen und BARTHOC Juni- Mensch-Roboter Kommunikation or hat keine Aktuatoren für die Wangenbewegung. Die genauen Gelenkstellungen und Bewegungsmöglichkeiten von BARTHOC Senior und Junior sind der Tabelle 3.1 zu entnehmen. Bereits an dieser Stelle wird deutlich, dass BARTHOC durch seine menschlichen Gesichtszüge und den anthropomorphen Oberkörperbau die Stärken der in Kapitel 2.3 vorgestellten Robotersysteme vereint. Er ist somit in der Lage, mittels verbaler und nonverbaler Modalitäten mit einem Menschen zu kommunizieren. Die Umsetzung der Modalitäten wird im Folgenden erläutert. Tabelle 3.1: Alle Winkeleinstellungsmöglichkeiten für BARTHOCs Oberkörper und Arme 24 3. Verwendete Hard- und Software 3.1.1 Die Mimiken des Roboters Die Roboterplattform BARTHOC ist in der Lage die in Kapitel 2.1.1 vorgestellten Grundmimiken mit seinen im Gesicht installierten Aktuatoren zu verwirklichen. Zwischen den Grundmimiken kann durch Feineinstellung der Aktuatoren interpoliert werden, wodurch der Roboter mehrere Mimiken darstellen kann (siehe Abbildung 3.4). BARTHOC zeigt bereits folgende Mimiken: • schlafend Ruhezustand des Roboters • neutral kein Mensch im Wahrnehmungsbereich des Roboters gefunden • interessiert auf Menschen deutende Sensordaten vorhanden, aber noch kein potentieller Kommunikationspartner ausgewählt • nachdenklich Verarbeitung von Sprachsignalen • glücklich Interaktion mit einem Menschen • suchend Interaktion mit einem Objekt (a) Interessiert (b) Glücklich Abbildung 3.4: BARTHOC ist in der Lage verschiedene Mimiken darzustellen. Hier seien exemplarisch zwei Mimiken von BARTHOC Junior dargestellt. 3.2. Verwendete Software 3.1.2 25 Die Gestik des Roboters BARTHOCs Arme sind in der Lage, menschliche Bewegungen nachzuahmen. Dafür besteht jeder Arm aus fünf Gelenken (siehe Abbildung 3.5). Die Motoren in der Schulter können den Arm nach vorne und nach hinten bewegen, sowie heben und senken. Der Oberarm lässt sich drehen, so dass der Unterarm in eine gewünschte Position gebracht werden kann. Dieser lässt sich ebenfalls drehen, sowie heben und senken, um die Beugung des Ellenbogens zu Abbildung 3.5: Die Bewegungsmöglich- ermöglichen. Am Ende des Unterarms befindet sich eine fünffingrige Hand, die ebenkeiten von BARTHOCS Arm falls über mehrere Aktuatoren verfügt. Die Hand besitzt zwei Freiheitsgrade, da sie gedreht sowie gehoben und gesenkt werden kann. Die Finger können unabhängig voneinander bewegt werden und bestehen aus jeweils drei Gelenken, die über einen Seilzug angewinkelt werden können. Die Seilzüge sind aus Kevlarmaterial gefertigt, die durch einen Motor aufgewickelt und dadurch verkürzt werden, was die Finger in Richtung der Handinnenfläche beugt. Der Daumen besteht aus zwei Gelenken, welcher ebenfalls über einen Seilzug angewinkelt werden kann. 3.2 Verwendete Software Die Software ist für einfache Entwicklungen modular gehalten. Die einzelnen Module werden in Kategorien eingeteilt, so dass die grundlegenden Module zuerst und danach in der Reihenfolge der Abhängigkeiten die restlichen Module gestartet werden (siehe Abbildung 3.6). Die grundlegenden Module bestehen aus der Kommunikation und der Hardwareansteuerung (Kapitel 3.2.1). Die Mikrofone und Kameras übermitteln Sensordaten, die zur Geräusch- und Gesichtsdetektion genutzt werden. Danach folgen die Module der Sprecherlokalisation und Personenverfolgung, welche die Sensordaten verarbeiten, die dem Roboter zur Wahrnehmung seiner Umgebung zur Verfügung stehen. (Kapitel 3.2.3). Damit das System einen Kommunikationspartner erkennt, werden die Sensordaten bzw. Perzepte in einem Modul für Personenaufmerksamkeit zusammengeführt und der Kommunikationspartner ausgewählt (Kapitel 3.2.4). Das Verhalten des Roboters und die Dialogfähigkeit während des Szenarios werden anschließend näher beschrieben, um die internen Abläufe des Systems besser zu verstehen. Die Abläufe zwischen den Modulen werden synchronisiert von dem Execution Supervisor (ESV). Dieser benachrichtigt, abhängig von den sprachlichen Äußerungen des Anwenders, alle Module, die an der darauf folgenden Antwort beteiligt sind. 26 3. Verwendete Hard- und Software Abbildung 3.6: Das vorhandene Gesamtsystem. Die Basis bilden die Hardwarekomponenten, bestehend aus Mikrofonen, Kameras, Roboterbasis und Lautsprechern. Darauf aufbauend arbeiten mehrere Softwarekomponenten, deren Kommunikation durch Pfeile dargestellt ist. 3.2.1 XCF Für den Datenaustausch zwischen den Modulen wird das XML enabled Communication Framework (XCF) verwendet [42, Wrede, 2004]. Das Framework basiert auf ZeroC’s Internet Communication Engine, einer objektorientierten Software zum Datenaustausch zwischen unterschiedlichen Anwendungen, sowie der Berkely DBXML, einer nativen XML Datenbank. XCF wurde in C++ programmiert, wobei die Entwickler besonderen Wert auf robuste und schnelle Datenübertragung mittels XML Strukturen legten, an die zusätzlich binäre Daten angehängt werden können. Die Kommunikation baut auf einem Nameserver (sog. Dispatcher ) auf, bei dem sich alle Kommunikationsprozesse registrieren (siehe Abbildung 3.7). XCF unterstützt hierbei mehrere Arten von Kommunikation. Es gibt die Möglichkeit, über den Aufruf von Funktionen (Remote Procedure Call (RPC)), über Eventhandling auf XML-Datenbanken oder über Streams zu kommunizieren. Die Kommunikation über Streams funktioniert mittels einer Publisher/Subscriber Struktur. Dabei stellt der Publisher Daten bereit, welche von beliebig vielen Subscribern gelesen werden können. Publisher und Subscriber müssen dabei nicht dem selben Programm angehören, sondern müssen sich auf dem Dispatcher 3.2. Verwendete Software 27 registrieren. Dies ist besonders hilfreich und effizient, wenn ein Modul viele Daten produziert und diese anderen Modulen zugänglich gemacht werden sollen. Der Aufruf von Funktionen in einem Programm durch andere Programme wird über eine Server/Remoteserver Rechner 2 Rechner 3 Struktur ermöglicht, wobei der SerPublisher Server ver Funktionen bereitstellt und ein Func Subscriber oder mehrere Remoteserver auf dieFunc sen zugreifen können. Beide StrukSubscriber Subscriber turen unterstützen synchrone sowie asynchrone 1:n Kommunikation, woRechner 1 bei die asynchrone Kommunikation Dispatcher die Abfragen nebenläufig ausführt, RemoteServer Publisher während die synchrone Kommunikation das Programm unterbricht und so lange pausiert, bis eine Antwort erhalten wird. Die Daten können auch Abbildung 3.7: Exemplarisches Beispiel der in eine Datenbank eingefügt werden, XCF Kommunikationsmöglichkeiten aus der sich andere Programme die Daten abholen können. Die Koordination zwischen den Modulen erfolgt hierbei über ein Eventsystem, welches auf Daten registrierte Module benachrichtigt, sobald diese vorliegen. Einige weitere Besonderheiten von XCF sind XML Schemaprüfungen zur Sicherung der Korrektheit von Daten, sowie dynamische Initialisierung von Schnittstellen zur Laufzeit, wodurch auch während der Ausführung eines Programms neue Datenströme geöffnet werden können. Außerdem gibt es für die Programmiersprachen C++, Java und Python Bibliotheken, die das Einbinden von XCF in verschiedenste Projekte unterstützen. 3.2.2 Icewing Für die Kameraanbindungen und die Bildverarbeitung wird auf das Programm Icewing zurückgegriffen. Icewing (Integrated Communication Environment Which Is Not Gesten) wurde von Frank Lömker als Weiterentwicklung von Gesten, einem Gestenerkennungssystem, entwickelt [26, Lömker, 2006]. Das Programm stellt eine grafische Benutzeroberfläche, verschiedene Ansichten und die Möglichkeit der Speicherung von Bildern bereit. Die bildverarbeitenden Algorithmen werden allerdings in kleinen Programmbauteilen, so genannten Plugins, realisiert, welche hierarchisch strukturiert sind und mit den von anderen Plugins bereitgestellten Daten arbeiten. Es existiert ein spezielles Basisplugin, welches das Lesen von Bilddaten von Festplatte, Firewire oder Netzwerkstreams in verschiedenen Formaten bereitstellt. Dieses bietet anderen Plugins die Möglichkeit, mit den eingelesenen Bildern weiterzuarbeiten, Daten daraus zu berechnen oder zu extrahieren und diese wiederum anderen Plugins bereitzustellen. Icewing bietet dadurch die Fähigkeit, das Programm eigenständig mittels neuer Plugins zu erweitern und Daten zwischen diesen weiterzureichen. 3.2.3 Perzeptgenerierung Der Roboter BARTHOC nutzt nur menschenähnliche Sensordaten, da er in seiner Bauweise einem Menschen nachempfunden ist und dementsprechend seine Umgebung wahrnehmen soll. Die Sensordaten bzw. Perzepte bestehen aus visuellen und 28 3. Verwendete Hard- und Software auditiven Eingaben, welche an die Module der Gesichts- und Geräuschdetektion übergeben werden. Durch die eingehenden Perzepte der Umgebung, wie z. B. ein Ansprechen des Systems, kann dieses auf Veränderungen reagieren und auf potentielle Kommunikationspartner schließen. Im Folgenden werden daher die Gesichtsund Geräuschdetektion näher beschrieben. Gesichtserkennung Ein wichtiges Merkmal für einen Gesprächspartner ist ein auf den Roboter gerichtetes Gesicht. Dieses vermittelt Aufmerksamkeit und Interesse an der Interaktion mit BARTHOC. Menschliche Gesichter können allerdings sehr unterschiedlich beschaffen sein. Menschen tragen beispielsweise Brillen oder Bärte und besitzen sehr unterschiedliche Hautfarbtöne. Ein Gesichtserkenner muss unabhängig von all diesen Faktoren arbeiten und darf nur anhand gesichtstypischer Merkmale Personen detektieren. Weiterhin muss der Klassifikator einen möglichst kleinen Klassifikationsfehler aufweisen. Das bedeutet, dass im Optimalfall alle Gesichter im Bild erkannt werden und der Hintergrund verworfen wird. Zusätzlich darf der Algorithmus keine zu hohen Ressourcenanforderungen haben, damit dieser auch in echtzeitfähigen Systemen, wie einem Roboterszenario, eingesetzt werden kann. Für die Gesichtserkennung wird auf die Kameras in den Augen von BARTHOC zurückgegriffen und das Verfahren von Paul Viola und Michael Jones [40, Viola, 2001] verwendet, welches bereits in einem Icewing Plugin implementiert ist [35, Peters, 2006]. Dieses Verfahren basiert auf blockbasierten Filtern, die aus einem Suchfenster auf einem Graubild Merkmalswerte extrahieren. Die Werte der Pixel in den schwarzen und weißen Blöcken werden aufsummiert und die Summen der Blöcke verglichen. Der Unterschied ausgewählter Blöcke entspricht einem Merkmal (Abbildung 3.8). Durch die Blockmerkmale kommen im Gegensatz zu pixelbasierten Merkmalen kleine Veränderungen und Unterschiede in Gesichtern nicht so stark zum Tragen und sie gewähren somit eine deutlichere Robustheit gegenüber diesen Abbildung 3.8: Die fünf von Viola und Jones verwendeten Merkmalstypen. Der Merkmalswert wird berechnet, indem die Summe aller Pixel in den dunklen Regionen von der Summe aller Pixel in den hellen Regionen subtrahiert wird. Während die Merkmale in (a) und (b) Kanten detektieren, konzentrieren sich die beiden DreiBlockmerkmale (c) und (d) auf Linien. Das Vier-Blockmerkmal (e) ist auf diagonale Strukturen ausgelegt. 3.2. Verwendete Software 29 Abbildung 3.9: Kaskadenstruktur zur effizienten Berechnung der Blockmerkmale. Die Blockmerkmale sind nach ihrer Komplexität aufsteigend geordnet. Nur bei positivem Befund mindestens eines Merkmals jeder Kaskade wird der Bildausschnitt als Gesicht gewertet. Veränderungen. Durch eine spezielle Darstellung des Bildes als Integralbild1 können die Blockmerkmale in jeder Skalierung und Position effizient berechnet werden. Das Verfahren verschiebt ein Suchfenster in mehreren Größen über das Eingabebild und klassifiziert jeden Ausschnitt nach “Gesicht” oder “kein Gesicht”. Um die Vielzahl der Bildausschnitte effizient und schnell nach Gesichtern klassifizieren zu können, ist der Filter kaskadenartig aufgebaut. Das bedeutet, dass die Merkmale in jedem Ausschnitt vorerst mit schwachen Klassifikatoren berechnet werden und bei positivem Befund der Ausschnitt an genauere Klassifikatoren weitergereicht wird (Abbildung 3.9). Ein schwacher Klassifikator besteht aus wenigen und ein starker Klassifikator aus vielen Blockmerkmalen, so dass für einen schwachen Klassifikator deutlich weniger Rechenzeit in Anspruch genommen wird. Die Unterteilung nach der Stärke der Klassifikatoren geschieht mehrmals in linearer Folge, so dass einzelne Blöcke mit aufsteigend komplexen Klassifikatoren entstehen. Dadurch werden für die meisten Bildausschnitte nur wenige Merkmale berechnet und nur bei Gesichtern, bzw. gesichtsähnlichen Bildern wird die Kaskade weiter durchschritten und genauere Merkmale extrahiert. Erst wenn sich ein Klassifikator am Ende der Kaskade für ein Gesicht entscheidet, wird der ausgewählte Bildausschnitt als Gesicht bewertet. Detektiert kein Klassifikator einer Stufe der Kaskade ein Gesicht, so wird der Bildausschnitt als kein Gesicht bewertet. Das Training der Klassifikatoren beruht auf dem AdaBoost-Verfahren von Yoav Freund und Robert Schapire [10, Freund, Schapire, 1999]. Dabei werden die recht 1 In einem Integralbild werden von oben links beginnend alle Pixel, die über und links von dem aktuellen Pixel sind, aufsummiert. In jedem Pixel steht dann die Summe der Pixelwerte, die oberhalb und links des aktuellen Pixels sind. Da immer die Pixelwertsummen in Blöcken verglichen werden, können diese schnell über das Integralbild berechnet werden. 30 3. Verwendete Hard- und Software simplen Blockmerkmale zu einem stärkeren Klassifikator zusammengefasst. Es können iterativ beliebig viele Klassifikatoren zusammengefasst werden, bis ein gewünschter kleiner Fehler der Klassifikation erreicht ist. AdaBoost passt sich hierbei adaptiv an den Trainingsfehler der Klassifikatoren an. Um auch seitliche Gesichter finden zu können, werden weitere Klassifikatoren mit Bildern von seitlichen Gesichtern trainiert. In dem hier verwendeten Gesichtsdetektor werden dafür neun Klassifikatoren erstellt: Ein Frontalgesichtsdetektor und einer jeweils rechts und links für 20, 40, 60 und 80 Grad. Die neun Klassifikatoren werden hintereinandergeschaltet. Detektiert ein Klassifikator ein Gesicht, wird der Durchlauf abgebrochen und der entscheidende Klassifikator gibt den Winkel des Gesichts zur Kamera mit an (Abbildung 3.10). Der Winkel ergibt sich aus den Trainingsbildern des Klassifikators bzw. dem Winkel der Trainingsgesichter zur Kamera. Durch den Winkel lässt sich herausfinden, ob der Gesprächspartner den Roboter ansieht oder wegschaut. Durch die Größe und Position des Bildausschnitts werden zusätzlich die Größe des Gesichts und dessen Mittelpunkt errechnet. Abbildung 3.10: Detektiertes Gesicht. Der gefundene Gesichtsausschnitt ist mit einem grünen Rahmen markiert. Der rote Punkt gibt die Blickrichtung an. Geräuschdetektion Das Gesicht allein reicht nicht aus, um zuverlässig einen Kommunikationspartner zu erkennen. Ein auf ein Ziel gerichtetes Gesicht bekundet zwar schon Interesse, aber bedeutet nicht unbedingt einen Kommunikationswunsch. Eine weitere für Menschen natürliche Wahrnehmung sind Audiosignale. Schaut und spricht eine Person den Roboter an, ist das Interesse an einer Kommunikation deutlicher. Daher ist es sinnvoll, Geräuschperzepte in den Personenfindungsprozess einfließen zu lassen. Um die Richtung eines Geräusches zu bestimmen, nutzen Menschen ihre Ohren. Diese ermöglichen es ihm, auf Grund ihrer seitlichen Lage am Kopf, die zeitliche Differenz der rechts und links gehörten Audiosignale zu berechnen und daraus eine Richtung zu bestimmen. Bei BARTHOC wurde dies nachgebildet und zwei Mikrofone seitlich an seinem Torso angebracht. Dadurch, dass nur zwei Mikrofone verwendet werden, kann der Sprecher nur im zweidimensionalen Fall detektiert werden. Für den dreidimensionalen Fall müssen mindestens drei Mikrofone verwendet werden. Da allerdings die Höhe der Schallquelle für die Geräuschdetektion vernachlässigt werden kann und die Berechnung mit drei Mikrofonen mehr Rechenzeit beansprucht, werden zwei Mikrofone zur Detektion verwendet. Die Höhe kann anschließend aus den visuellen Daten bestimmt werden, indem die Gesichtsdetektion hinzugezogen wird. Für die Winkelberechnung muss der Abstand der beiden Mikrofone zueinander bekannt sein. Dann kann durch die Entfernungen tl und tr vom linken und rechten 3.2. Verwendete Software 31 Abbildung 3.11: Die Signale tl und tr brauchen unterschiedlich lange, abhängig davon wo sich die Schallquelle befindet und wie weit die Mikrofone auseinander liegen. Mikrofon zur Schallquelle die Entfernungsdifferenz ∆t berechnet werden (siehe Abbildung 3.11). Diese ergibt sich aus der zeitlichen Verzögerung der Signalaufnahme δ zwischen dem rechten und dem linken Mikrofon und wird über eine CrossPowerspectrum Phase-Analyse berechnet [20, Hohenner et al., 2003]. Da nur zwei Mikrofone benutzt werden und somit die dritte Dimension vernachlässigt wird, kann der Winkel nicht direkt über die Laufzeitdifferenz bestimmt werden. Um den Winkel berechnen zu können werden folgende Annahmen gemacht: 1. Schallquelle und Mikrofon befinden sich in einer waagerechten Ebene 2. Der Abstand der Schallquelle zu den Mikrofonen ist deutlich größer als der Abstand zwischen den Mikrofonen Der Winkel ϕ ergibt sich dann aus folgender Berechnung, wobei c die Schallgeschwindigkeit und dM ic der Abstand der Mikrofone ist: δ·c (3.1) ϕ = arcsin dM ic Mit dem Modul der Sprecherlokalisation (Sploc), das den Winkel der Laufzeitdifferenz errechnet, ist der Roboter in der Lage sich einem Geräusch zuzuwenden. Wird an der anvisierten Stelle zusätzlich ein Gesicht gefunden, welches den Roboter anschaut, so besteht eine große Wahrscheinlichkeit, dass sich dort ein Kommunikationspartner befindet. Ein weiteres Modul, welches im Folgenden beschrieben wird, synchronisiert die Gesichts- und Geräuschperzepte und bestimmt daraus mögliche Interaktionspartner. 3.2.4 Personenaufmerksamkeit zur Detektion eines Kommunikationspartners Um das Ziel einer multimodalen Interaktion zu ermöglichen, muss der Roboter in der Lage sein, zuverlässig einen potentiellen Gesprächspartner zu ermitteln. Hierfür 32 3. Verwendete Hard- und Software wurden schon die Detektion menschlicher Gesichter und Geräusche in der Nähe des Roboters erläutert. Diese ordnet das Modul zur Personendetektion einander zu und generiert daraus Personenhypothesen. Personendetektion Die Zuordnung der Perzepte zu einer Person geschieht über ein Anchoring Verfahren, welches ursprünglich von Coradeschi und Saffiotti [4, Coradeschi, 2000] entwickelt wurde. Anchoring bedeutet Perzepte und Symbole zu verknüpfen, die sich auf das gleiche physikalische Objekt beziehen. Wird als Beispiel für ein physikalisches Objekt die Seitenansicht eines roten Autos genommen, so könnten die Symbole zwei Räder und die Farbe rot sein. Die Perzepte sind in diesem Fall z. B. die Detektion zweier Kreise oder der Farbe rot. Diese Verknüpfung von Sensordaten und Symbolen wird Anchor genannt. Ein Anchor ist vergleichbar mit einem endlichen Automaten mit drei Zuständen (siehe Abbildung 3.12) und wurde dementsprechend implementiert. Im initialen Zustand (Find ) wird auf Perzepte gewartet, die dem zugehörigen Symbol bzw. Anchor zugeordnet werden können. In diesem Fall ist der Anchor ungrounded. Liegen zu dem Symbol passende Perzepte vor, wird in den Zustand Track gewechselt. Das Objekt wird verfolgt, damit es den eingehenden Daten kontinuierlich zugeordnet werden kann. Bei erfolgreicher Zuordnung von Perzept und Symbol ist der Anchor grounded. Gehen keine Perzepte mehr ein bzw. wird das Objekt verloren, geht der Anchor in den Zustand Reaquire über. In diesem Zustand wird eine einstellbare Zeit gewartet (Anchor-Lost-Time, hier 2 Sekunden), bis passende Sensordaten für diesen Anchor vorliegen und dann wieder in den Zustand Track zurückgewechselt. Kommen nach Ablauf der Zeit keine Daten, wird der Anchor verworfen und das Objekt ist verloren. So ist es dem System möglich, auch kurzzeitig verdeckte oder aus dem Bild geratene Objekte wiederzufinden. Um mehrere Dinge gleichzeitig verfolgen zu können, gibt es mehrere Anchor, wobei pro Zeitschritt immer genau ein freier Anchor zur Verfügung steht. Dieser kann ein neues Objekt aufnehmen, die drei Zustände durchlaufen und sich ein weiteres Objekt merken. Abbildung 3.12: Ein Anchor: Sein Zustand ändert sich bei Änderung der Wahrnehmung Für die Anwendung in der Mensch-Roboter Interaktion wurde das Anchoring zu einem multimodalen Personen-Anchoring erweitert. Das multimodale Anchoring wurde von Sebastian Lang [25, Lang et al., 2005] entwickelt, um die Robustheit und Effizienz des Anchoring zu verbessern. Beim multimodalen Anchoring wird nicht nur auf die Eingabe eines Sensors zurückgegriffen, sondern auf mehrere Sensoren, die einen Ausfall, Fehlklassifikation oder Verdeckung eines einzelnen Sensors kom- 3.2. Verwendete Software 33 pensieren können. Hierfür wird für jeden Sensor ein eigenes Anchor-Verfahren angewendet. Dies bedeutet ein Verfahren zur Geräuschdetektion und eines zur Gesichtsdetektion. Diese Anchor verfolgen jeweils ein Symbol. Durch eine Generalisierung des AnchorVerfahrens entsteht ein weiterer Anchor, an den einzelne Verfahren angehängt werden können (siehe Abbildung 3.13). Dieser neue Anchor wird Kompositionsanchor genannt und nimmt immer den höchsten Zustand seiner angehängten Anchor, den so genannten Komponentenanchor, ein. Ein Kompositionsanchor entspricht in dieser Arbeit einer Person. Die Komponentenanchor repräsentieren eine Geräuschquelle und ein Gesicht. Um eine Person zu detektieren muss folglich entweder ein Audiosignal oder ein Gesicht wahrgenommen werden. Wird einer der Komponentenanchor grounded, wird auch der Kompositionsanchor grounded und er wechselt in den Zustand Track, wodurch die Person verfolgt wird. Abbildung 3.13: Ein Kompositionsanchor besteht aus mehreren angehängten Anchor-Verfahren. Hierzu gehören ein Gesichtsdetektor und die Geräuschlokalisation. Der Personenanchor nimmt immer den höchsten Zustand seiner Komponentenanchor ein. Auswahl eines Kommunikationspartners Mit dem Anchoring Verfahren wurde die Grundlage für die Wahrnehmung des Roboters geschaffen. Es können allerdings mehrere Personen anwesend sein und daher muss der Roboter aus den Sensordaten den für die Kommunikation interessantesten Gesprächspartner ermitteln. Dies ist notwendig, damit sich der Roboter auf eine Person ausrichten kann und die für die Interaktion relevanten audio-visuellen Daten besser erfasst werden können. Außerdem vermittelt der Roboter der Person durch die Veränderung seiner Blickrichtung, dass er an einer Interaktion interessiert ist. Die Aufmerksamkeit des Roboters wird durch die wahrgenommenen Aktionen der Menschen in seiner Umgebung bestimmt. Die Aufmerksamkeitssteuerung führt deshalb bei jeder Messung der Sensordaten folgende Schritte durch: 1. Selektion: Aus einer Menge von berechneten, potentiellen Gesprächspartnern muss die Person ausgewählt werden, die für eine Interaktion am interessantesten scheint. Es lassen sich dabei zwei Situationen voneinander abgrenzen: Die Interaktionsphase und die Bereitschaftsphase. 2. Fokussierung: Die Aufmerksamkeit wird auf die selektierte Person gerichtet. Dies geschieht durch Ausrichten des Kopfes in Richtung der Person, was zum einen die Aufnahme der Sensoren verbessert und zum anderen dem Gesprächspartner die Aufmerksamkeit des Roboters vermittelt. 34 3. Verwendete Hard- und Software Im Folgenden wird das Verhalten des Roboters in der Bereitschaftsphase und in der Interaktionsphase näher beschrieben. Dies ist wichtig, um die interne Struktur und das Verhalten des Roboters während der multimodalen Interaktion besser verstehen zu können. In der Bereitschaftsphase sucht der Roboter nach Interaktionspartnern, welche sich durch Ansprechen und gleichzeitiges Anschauen des Roboters bemerkbar machen. Zuerst erfolgt eine Sondierung der möglichen Personen und dann die Entscheidung für die interessanteste Person, die Person of Interest. Das System muss autonom entscheiden, welche der ausgewählten Personen das Interesse des Roboters bekommt. Um diese Person zu finden, berechnet es eine Relevanz für jeden Kandidaten (siehe Formel 3.2). Je größer die Relevanz einer Person, desto interessanter ist diese für eine Interaktion. Die Relevanz muss das Interesse einer Person für eine Kommunikation möglichst gut widerspiegeln. Deswegen fließt in die Berechnung jedes Perzept bzw. jeder Komponentenanchor multipliziert mit einem Gewichtsparameter mit ein. Relevanz = a · IsStanding + b · IsF acing + c · IsT alking + d · IsSelected (3.2) Die Werte IsStanding, IsFacing und IsTalking entsprechen den Perzepten und nehmen 1 im Zustand grounded und 0 in den anderen Zuständen ein. Der Term IsSelected wird 1, falls eine Person of Interest ausgewählt wurde. Der Term ist 0 für alle Personen, die nicht selektiert wurden. Falls mehrere Personen die gleiche Relevanz bekommen, vermeidet der Term IsSelected Personenwechsel und BARTHOC behält die im Fokus stehende Person bei. Sollte diese Person innerhalb einer bestimmten Zeit nicht sprechen und dadurch kein Interesse an einer Interaktion zeigen, wird deren IsSelected Term und anschließend deren Relevanz auf 0 gesetzt. Der Roboter verharrt also nicht, sondern wechselt die Person of Interest, falls diese keine Kommunikation initiiert. Nach Ablauf einer festgesetzten Zeit wächst deren Relevanz wieder an, damit die schon einmal gefundene Person wieder ins Interesse des Roboters rücken kann. Die Parameter a,b,c und d verändern die Gewichtung eines Terms an der Relevanz. Die Person, die BARTHOC anspricht, bekommt z. B. eine größere Relevanz, als eine andere Person, die den Roboter nur ansieht. Für die Gewichtswerte ergeben sich somit folgende Bedingungen: b + c < a, mit b < c Die Werte wurden empirisch ermittelt und liegen bei: a = 0.5, b = 0.1, c = 0.3, d = 0.1 BARTHOC muss in der Lage sein, in jeder ihm bekannten Situation angemessen reagieren zu können. Für die Bereitschaftsphase lassen sich allgemein vier charakteristische Situationen erkennen: • Keine Person anwesend • Roboter nimmt Geräusche wahr, detektiert aber keine Person • Mehrere Personen werden detektiert, aber keine spricht 3.2. Verwendete Software 35 • Mindestens eine detektierte Person spricht In jeder der vier Situationen muss BARTHOC ein Verhalten zeigen, welches zu der entsprechenden Situation passt. Diese lassen sich in einem endlichen Automaten festhalten, der fünf Zustände und dazugehörige, das Verhalten bestimmende Übergänge besitzt (Abbildung 3.14). Die Aufmerksamkeitszustände (Attention States) werden mit dem Präfix AS ausgestattet und heißen entsprechend der vier Situationen in der Bereitschaftsphase: AS:Sleeping, AS:Awake, AS:Alert und AS:Listening. • AS:Sleeping: Es ist seit längerer Zeit keine Person anwesend und der Roboter befindet sich im Ruhezstand. Die Bildverarbeitung wird zur Ressourcenschonung pausiert. Die Augen des Roboters werden geschlossen, damit der Roboter dem Anwender vermittelt, dass er schläft. BARTHOC reagiert in diesem Zustand nur auf akustische Reize. • AS:Awake: Der Roboter hat im Ruhezustand akustische Reize empfangen. Um auf neue Personen reagieren zu können, werden alle Sensorsysteme aktiviert. • AS:Alert: In diesem Zustand hat BARTHOC mindestens eine Person gefunden, aber keine spricht. Der Kopf wird ausgerichtet, um die Person of Interest ins Zentrum des Blickfelds zu bekommen. Sind mehrere Personen anwesend, wechselt er abhängig von der Relevanz die Person of Interest und schaut umher. Abbildung 3.14: Repräsentation des Verhaltens durch einen endlichen Automaten. Die Übergänge zwischen den einzelnen Aufmerksamkeitszuständen (AS:) werden im Bottom-up-Modus durch das Personen-Tracking (PT:), im Top-down-Modus durch den Execution Supervisor (ESV:) ausgelöst 36 3. Verwendete Hard- und Software • AS:Listening: Mindestens eine Person hat gesprochen und rückt ins Interesse des Roboters. Der Kopf des Roboters wird auf diese Person gerichtet und die Sprachverarbeitung aktiviert. Die Zustände wechseln abhängig von den eingehenden Perzepten des Anchorings und anhand der gemessenen Zeiten, in denen keine Perzepte empfangen werden. Die Transitionen werden daher mit dem Präfix PT, von Person Tracking bzw. dem Anchoring, versehen. Da die Wahl der Person nicht auf Planung basiert, sondern diese nur durch Auftreten der Perzepte bestimmt wird, nennt man diese Art von Aufmerksamkeitssteuerung bottom-up Methode. Befindet sich das System in dem Zustand AS:Listening, kann sich der Benutzer bei dem System als Kommunikationspartner registrieren. Dies geschieht durch eine sprachliche Äußerung wie “Hallo” oder “Hallo Roboter”. Hat sich die Person registriert, wird die Aufmerksamkeit so lange auf dieser Person gehalten, bis diese sich durch eine Äußerung wie “Auf Wiedersehen” abmeldet oder längere Zeit aus dem Blickfeld gerät und kein Geräusch mehr von sich gibt. Der Registrierungsund Abmeldeprozess wird gesteuert durch den Execution Supervisor (ESV ). Daher erhalten die Transitionen zwischen Bereitschafts- und Interaktionsphase das Präfix ESV. Ist die Person registriert, wechselt die Personenaufmerksamkeit in den Zustand AS:Person der Interaktionsphase und die Bereitschafsphase ist abgeschlossen. • AS:Person: Die Person of Interest hat sich durch eine Willkommensäußerung bei dem System registriert und wird als Kommunikationspartner erachtet. In der Interaktionsphase hat das Robotersystem bereits die Person of Interest gefunden und behält diese auch im Fokus, falls deren Relevanz unter die Relevanz einer anderen Person sinkt. Durch die geplante Fixierung auf die selektierte Person, auch wenn eine andere Person eine höhere Relevanz bekommt, handelt es sich um eine top-down Aufmerksamkeitssteuerung. Bei BARTHOC macht sich die Fokussierung durch eine Bewegung des Kopfes bemerkbar, da er den Kopf und dadurch seine Augenkameras auf das Gesicht der selektierten Person richtet. Ist der Anwender registriert und hat der Roboter seine Aufmerksamkeit auf ihn gerichtet, müssen die gesprochenen Worte vom System aufgenommen, erkannt und das Gesagte an den Execution Supervisor weitergereicht werden. Hierfür wird die Sprachverarbeitung umgestellt und es werden nur noch Äußerungen und Anweisungen der aktiven Person verarbeitet. 3.2.5 Natürliche Sprache in der Interaktion Der Roboter BARTHOC muss in der Lage sein, auf Fragen und Befehle des Anwenders antworten zu können. Wie im vorangegangenen Abschnitt der Personenaufmerksamkeit beschrieben wurde, darf der Roboter nicht wahllos auf Befehle reagieren, sondern nur auf Befehle der registrierten Person of Interest. Für die Spracherkennung wird ESMERALDA (Environment for Statistical Model Estimation and Recognition on Arbitrary Linear Data Arrays) [8, Fink, 1999] 3.3. Zusammenfassung 37 benutzt, welches über ein HMM1 basiertes Vektorquantisierungsverfahren einzelne Sätze in Frames aufteilt und die einzelnen Worte anhand eines Lexikons in einen grammatikalischen Kontext einordnet. Dies bedeutet, dass die sprachlichen Aussagen in einzelne Worte unterteilt und diese in eine semantisch korrekte Reihenfolge gebracht werden. Diese Kette von Wörtern wird an den Dialog weitergegeben und dort wird nach semantischem Inhalt des Gesagten eine passende Antwort generiert [23, Huewel et al., 2006]. Die Antwort wird durch ein Text-To-Speech (TTS) Programm über Lautsprecher ausgegeben. Zusätzlich erhält der Execution Supervisor Informationen darüber, was der Dialog vermitteln möchte und er schickt entsprechende Anweisungen an die anderen Module, um ein auf die momentane Situation passendes Antwortverhalten zu generieren. Dies beinhaltet eine Kopfbewegung in Richtung der Aufmerksamkeit des Roboters, was in dieser Arbeit durch eine aussagekräftige Mimik, um den internen Zustand zu verdeutlichen und eine Geste in Richtung eines diskutierten Objekts, erweitert wird. 3.3 Zusammenfassung In diesem Kapitel wurde die bereits vorhandene Hard- und Software beschrieben, die für diese Arbeit verwendet wird. Der humanoide Roboter BARTHOC ermöglicht es, mit seinem menschenähnlichen Oberkörper die Kommunikation zwischen Mensch und Maschine an eine Mensch-Mensch Kommunikation anzulehnen. Damit BARTHOC als Kommunikationspartner akzeptiert wird, existieren mehrere Softwarekomponenten, die das Verhalten des Roboters steuern. An erster Stelle stehen die Möglichkeiten des Roboters, seine Umgebung wahrzunehmen. Diese basieren auf Video und Audiosignalen, um einen Gesprächspartner zu detektieren. Anhand der Audiodaten kann die Richtung eines Sprechers und über die Videodaten das Gesicht bestimmt werden. Existieren Perzepte eines potentiellen Gesprächspartners, so werden diese über ein Anchoring-Verfahren synchronisiert und Personenhypothesen daraus erstellt. Eine Verhaltenssteuerung bestimmt über die Relevanz jeder möglichen Person, welche in das Interesse des Roboters rückt. Diese Person wird mit den Kameras in den Augen des Roboters fixiert und sie kann sich über eine sprachliche Äußerung anmelden. Nach der Anmeldung steht das System für eine Interaktion bereit. In dieser Phase wird der Sprecher beibehalten, bis er sich abmeldet oder längere Zeit aus dem Blickfeld des Roboters gerät. Alle sprachlichen Äußerungen werden über ein Dialogsystem ausgewertet und entsprechende Antworten gesteuert durch den Execution Supervisor ausgegeben. Auf diese Grundlage wird ein neues Modul aufgesetzt, welches die Multimodalität des Roboters verbessert, indem Gesten auf Anwenderseite mit einbezogen werden und auch der Roboter Gesten und Mimiken nutzt, um seine Antworten dem Anwender verständlicher zu machen. Das Szenario, in dem die neuen Funktionalitäten deutlich werden, wird in dem folgenden Kapitel näher erläutert. 1 Hidden Markov Model 38 3. Verwendete Hard- und Software 4. Entwicklung eines multimodalen Interaktionsszenarios In diesem Kapitel wird das neue Modul für das in Kapitel 1.2 erläuterte multimodale Interaktionsszenario vorgestellt, in dem der Anwender mit dem Roboter BARTHOC mittels einer zweidimensionalen Karte über Objekte sprechen kann. Hierfür wird zuerst der Aufbau des Szenarios näher beschrieben (Kapitel 4.1). Funktion und Aussehen der zweidimensionalen Karte werden anhand des Szenarios erklärt. Eine grafische Benutzeroberfläche (eng: Graphical User Interface (GUI)) ist Bestandteil der Implementierung, da sie es dem Anwender erleichtert, neue Karten zu erstellen und vorhandene Karten, auch zur Laufzeit, zu editieren. Damit leichte Verschiebungen und Rotationen der Karte auf dem Tisch nicht ins Gewicht fallen, wurde eine automatische Kartenerkennung implementiert (Kapitel 4.2). Zeigegesten des Anwenders auf der Karte werden durch eine Gestenerkennung detektiert, die auf gespeicherten prototypischen Bewegungsmodellen basiert. Hierfür werden die Bewegungsmodelle an das Zeigen auf einer Karte adaptiert (Kapitel 4.3). Die für das Szenario nötigen Ergänzungen an der Spracherkennung und dem Dialog werden in Kapitel 4.4 erläutert. In dem neuen Modul EIS (Environment Information System) werden die Karteninformationen, die Sprachbefehle und die Zeigegesten zusammengeführt, synchronisiert und daraufhin eine Systemantwort erzeugt (Kapitel 4.5).Am Ende des Kapitels werden die Adaptionen an BARTHOCS Verhalten und Bewegungen beschrieben, die zu einer verbesserten multimodalen Kommunikation und somit zu einer intuitiveren Mensch-Roboter Kommunikation führen (Kapitel 4.6). 4.1 Der Aufbau des Szenarios Das gewünschte Szenario soll sich an der zwischenmenschlichen Interaktion orientieren und der Aufbau dementsprechend nachgebildet werden. Wenn ein Mensch zu einem Informationsstand geht, dann gibt es eine Rezeption oder einen Tisch zwischen dem Informationssuchenden und dem Informationsgeber. Dies ist notwendig, damit Interaktionsobjekte wie Broschüren oder Karten von beiden Personen gut eingesehen werden können und sie mit deren Hilfe kommunizieren können. Wenn die Person zum Beispiel den Ort eines bestimmten Denkmals sucht, dann zeigt sie dieses 40 4. Entwicklung eines multimodalen Interaktionsszenarios Abbildung 4.1: Das multimodale Szenario mit Anwender und Roboter. Zwischen den Beiden steht ein Tisch mit einer zweidimensionalen Karte. Eine Kamera ist von oben auf den Tisch gerichtet, um Bilder für die Karten- und Gestendetektion zu liefern. auf der Karte oder nennt den Namen des Denkmals. Der Rezeptionist kann anhand der Zeigegeste oder des Namens den Informationswunsch nachvollziehen und dem Informationssuchenden die Wegbeschreibung oder generelle Informationen vermitteln. Da dieses Szenario den Einsatz einer multimodalen Kommunikation erfordert, wird es als Grundlage für die Entwicklung der Mensch-Roboter Kommunikation verwendet. Der Roboter nimmt die Stelle des Rezeptionisten ein und kann von einem Anwender mit Hilfe einer Karte nach Informationen gefragt werden. Auf der einen Seite steht folglich der Anwender und auf der anderen Seite der anthropomorphe Roboter. Zwischen den Beiden steht ein Tisch und auf diesem liegt die zweidimensionale Karte (siehe Abbildung 4.1). Diese ist für den Anwender gut erreichbar, damit er Zeigegesten auf der Karte durchführen kann. Um die Zeigegesten auf der Karte zu erkennen, wird eine Kamera über dem Tisch montiert. Es kommt eine Apple Isight mit 640x480 Pixeln zum Einsatz, die senkrecht nach unten auf den Tisch gerichtet ist (siehe Abbildung 4.2). Diese Kamera dient zum einen für die Erkennung der Position und der Rotation der Karte, was den Aufbau vereinfacht. Zum anderen dient die Kamera der automatischen Gestendetektion, damit der Roboter die gezeigten Objekte referenzieren Abbildung 4.2: Apple Isight mit kann. Dank der automatischen Kartenerkennung 640x480 Pixeln Auflösung als werden leichte Veränderungen in Skalierung und Top-Down Kamera Position der Karte abgefangen. Der Aufbau ist somit weniger Beschränkungen unterlegen, auch was die Tischhöhe, die Tischposition und die Lage der Karte auf dem Tisch betrifft. 4.2. Die objektreferenzierende Karte 41 Der Ort dieses Aufbaus ist nicht statisch. Das System kann in einem Labor zum Einsatz kommen, aber auch an verschiedenen anderen Orten. Wichtig ist, dass genügend Platz für die Eigenbewegung des Roboters, den Tisch und den Anwender zur Verfügung stehen und natürliche Lichtverhältnisse herrschen. Erfolgreich getestet wurde das System bereits in der Halle der Universität Bielefeld (siehe Kapitel 5.5). Zur Erforschung der multimodalen Fähigkeiten und der Mensch-Roboter Kommunikation steht der Roboter vorerst in einem Labor und es wird eine Karte von dem entsprechenden Raum angefertigt. Zusätzlich werden in Zukunft Karten von anderen Räumen und von der Uni erstellt, damit der Roboter auch an diesen Orten eingesetzt werden kann. Die Gestaltung der zweidimensionalen Karte für den Menschen und wie das System die Karte integriert, wird im folgenden Kapitel näher beschrieben. 4.2 Die objektreferenzierende Karte Der Inhalt und die Funktionalität der auf dem Tisch liegenden Karte ist für das angestrebte Szenario von essentieller Bedeutung. Die Karte repräsentiert Ortsinformationen, indem interessante Objekte in der Umgebung des Roboters in dieser vermerkt werden. Der Anwender kann z. B. auf Objekte, die auf der Karte verzeichnet sind, zeigen und der Roboter gibt ihm über Standort und Details des Gezeigten Auskunft. Die Karte ist so entworfen, dass sie in unterschiedlicher Größe erstellt und in mehreren Szenarien benutzt werden kann. Es kann z. B. eine Detailkarte einer Werkbank oder einer Werkstatt erstellt und die Werkzeuge und Maschinen darauf verzeichnet werden. Diese können dann auch von Schülern leicht gefunden werden und es können Informationen über gefährliche Maschinen oder für den Schüler unerlaubte Werkzeuge hinterlegt werden. Ein weiteres Szenario wäre der Einsatz des Roboters als Auskunftssystem in einer Stadt. Auf der Karte sind Sehenswürdigkeiten und wichtige Orte verzeichnet und das System kann Touristen den Weg weisen oder Informationen über die einzelnen Attraktionen direkt vermitteln. Objekte auf der Karte werden durch eine Position und eine Ausdehnung in X und Y Richtung repräsentiert, was der Erstellung von Objekten unterschiedlicher Größe dient. Die Karte besitzt ein eigenes Koordinatensystem, welches in beliebiger Größe in Form einer Gitterstruktur auf der Karte erstellt wird. Der Abstand einzelner Gitterknoten entspricht dann dem Abstand der referenzierten Positionen in der realen Welt. Wird z. B. ein Raum von 3 x 3 Metern als Kartenvorbild genommen, kann eine grobe Gitterstruktur oder eine feine Gitterstruktur gewählt werden. Bei einer groben Gitterstruktur von z. B. 6x6 entspricht dann der Gitterknotenabstand einer Entfernung von 0,5 Meter und bei einer feinen Gitterstruktur von 30x30 nur 0,1 Meter. Die Wahl der Genauigkeit des Gitters obliegt dem Anwender und ist vor der Erstellung einer Karte für den gewünschten Detailgrad zu wählen. Der Benutzer fügt ein Objekt dann nicht an einer auf der Karte ausgemessenen Position in Zentimeter auf dem Papier ein, sondern anhand der Orientierung an den Gitterpunkten. Dies erspart das Ausmessen der Objektposition auf der Karte und vereinfacht somit den Kartenaufbauprozess. Die Positionen und Abstände der Objekte in der realen Welt werden z. B. bei einer groben Gitterstruktur geschätzt oder bei einer feinen Gitterstruktur ausgemessen. 42 4. Entwicklung eines multimodalen Interaktionsszenarios Digitalisierung der Karte Das Robotersystem muss den Inhalt der Karte kennen, damit es Informationen über die einzelnen Objekte ausgeben kann. Es ist daher notwendig, die Karte zu digitalisieren und der Anwendung zur Verfügung zu stellen. Hierfür existiert eine XMLStruktur (s.u.), die das Erstellen und das Auslesen vereinfacht. In dieser Struktur wird der Maßstab der Karte bzw. die Entfernung zweier Gitterknoten in der realen Welt, die Gittergröße in X und Y Richtung, die Position und Ausrichtung des Roboters, sowie alle Objekte der Karte eingepflegt. Die Ausrichtung des Roboters ist zur Berechnung des Winkels von Roboter zum Objekt notwendig und wird von -180 Grad bis +180 Grad angegeben, wobei der Nullpunkt immer in Ausrichtung zur X Achse liegt. Die Objekte werden benannt und anhand einer eindeutigen Identifizierungsnummer (engl. identifier (ID)) unterschieden. Zusätzlich werden die Position, Höhe, Größe und generelle Informationen über das Objekt in die XML Datei eingetragen. Bei Programmstart wird diese eingelesen und das System extrahiert alle nötigen Informationen. <?xml version="1.0"?> <!-- A map full of objects, which BARTHOC should know --> <map> <mapdetails> <dimensions> <!--The max dimensions in X and Y on the grid --> <grid x="34" y="24"></grid> <!-- Gridfactor is in m, what means, that a grid is in the real world --> <!-- i.e. for gridfactor 0.2 = 20x20 cm --> <gridfactor>0.2</gridfactor> </dimensions> </mapdetails> <mapcontent> <!-- The robot has to be selected senior/junior and the grid-position and --> <!-- rotation (degrees) have to be filled --> <robot name="junior"> <positiongrid x="20" y="19"/> <rotation>0</rotation> </robot> <objects> <!-- An object has got a name, an ID, which has to be unique, a position --> <!-- in the grid, a dimension(minimum 1) and an annotation, which gives --> <!-- some information about the object. --> <object name="Kartentisch" ID="1"> <positiongrid x="28" y="14" z="1.3" dim="2" dimy="4"/> <annotation>Das ist der Kartentisch.</annotation> </object> <object name="Ausgang" ID="2"> <positiongrid x="28" y="9" z="1.3" dim="2" dimy="2"/> <annotation>Das ist die Tuer. Da gehts hinaus.</annotation> 4.2. Die objektreferenzierende Karte 43 </object> </objects> </mapcontent> </map> Automatische Kartenerkennung Damit leichte Verschiebungen oder Rotationen der Karte abgefangen werden, ist eine automatische Kartenpositionserkennung implementiert worden. Auch die Skalierung der Karte wird durch die Kartenerkennung erfasst. Dies bedeutet, dass unabhängig von der exakten Tisch- und Kameraposition, sowie von der Tisch- und Kamerahöhe, die Lage der Karte auf dem Tisch erkannt wird. Eine Voraussetzung für die exakte Erkennung ist, dass sich die Karte komplett im Bild der Kamera befindet (siehe Kapitel 4.1) und dass die ursprüngliche Ausrichtung der Karte erhalten bleibt. Werden die X und Y Achse mehr als 90 Grad verdreht, vertauschen sich die Koordinatenachsen oder die Vorzeichen verändern sich, was durch die Kartenpositionserkennung nicht erfasst wird. Die automatische Kartenpositionserkennung beruht auf einem Kantendetektionsalgorithmus, dem Sobelfilter und ist in einem Icewing-Plugin implementiert. Damit Kanten zu finden sind, muss sich die Farbe der Karte von der des Tisches unterscheiden. Der Algorithmus sucht nach den Kanten der Karte und verfolgt diese bis zu den Ecken, da über diese die Position der Karte im Bild exakt bestimmt werden kann. Der Algorithmus startet mit der Kantendetektion. Ein Sobelfilter berechnet den Gradienten der Bildintensität in jedem Pixel, abhängig von der Helligkeitsänderung in einer Richtung. Daher werden ein Sobelfilter für die X und einer für die Y Richtung zusammengefasst, die dann in den zwei Dimensionen der Karte nach Änderungen in den Helligkeitswerten bzw. den Kanten suchen. Liegt eine homogene Region in dem Bild vor, so ist der errechnete Wert Null, liegt jedoch eine Kante, also eine Änderung der Region vor, so entspricht der errech- Abbildung 4.3: Algorithmus der Eckendenete Wert der Stärke der Änderung zwi- tektion. Auf dem kantendetektierten Bild schen den Regionen. wandern vier Suchstrahlen (blau) in die Auf dem kantendetektierten Bild star- Mitte des Bildes. Von der getroffenen ten anschließend vier Suchstrahlen (sie- Kante wandern die Suchstrahlen weiter he Abbildung 4.3). Diese beginnen je- (rot) bis zu den Eckpunkten (grün). weils in der Mitte jedes Bildrands (blau) und laufen in die Bildmitte. Treffen die Strahlen auf ein Kantenpixel, dann verfolgen sie die Kante bis zu ihrem Ende (rot). Treffen sich zwei nebeneinander liegende Kanten in dem selben Pixel, dann wird dieses Pixel als Eckpunkt markiert (grün). 44 4. Entwicklung eines multimodalen Interaktionsszenarios (a) Originalbild der Karte (b) Erkanntes Kartenbild (c) Übereinandergelegte Kartenbilder Abbildung 4.4: (a) Das original Kamerabild mit leerer Karte (b) Erkannte Karte. Zur grafischen Darstellung werden die gefundenen Eckpunkte mit einer roten Linie verbunden. c) Überlagerung von a und b, zur Visualisierung des korrekten Ergebnisses. Die gefundenen Eckpunkte werden zur Visualisierung miteinander verbunden (siehe Abbildung 4.4) und anschließend anderen Modulen mittels eines XCF-Publishers (siehe Kapitel 3.2.1) zugänglich gemacht. Hierfür werden sie in einer XML-Struktur gespeichert (siehe Anhang). Aus den Eckpunktpositionen wird später die Position, Rotation und Skalierung der Karte bestimmt. 4.3 Die Zeigegestenerkennung Der im Folgenden verwendete Gestenerkenner für Zeigegesten auf Objekte im Raum ist von Dr.-Ing. Nils Hofemann [19, Hofemann, 2006] im Rahmen seiner Dissertation an der Universität Bielefeld entwickelt worden. Aufbauend auf der Arbeit von Black u. Jepson zur Klassifikation von Handgesten hat N. Hofemann den CTR-Algorithmus (Condensation Trajectory Recognition) in Icewing implementiert. Das Verfahren basiert auf Bewegungsmodellen von hautfarbenen Regionen. Daher ist es notwendig, die hautfarbenen Bereiche in dem Bild zu segmentieren. Dies erfolgt durch eine Bestimmung der Farbmenge, die als Hautfarbe gewertet wird. Dafür wird eine Transformation in den normalisierten RGB-Raum1 vorgenommen (siehe Formel 4.1), wodurch die Farberkennung helligkeitsunabhängig wird. r= g b r ,g = ,b = R+G+B R+G+B R+G+B (4.1) Da sich der blaue Farbbereich aus den anderen beiden normierten Farben errechnen lässt (b = 1 − r − g), kann auf diese Komponente verzichtet und der Bereich der Hautfarbe in der rg-Ebene bestimmt werden. Dieser ergibt sich als kompakter halbmondförmiger Bereich und wird skin locus genannt. Aus den hautfarbenen Regionen wird der Schwerpunkt berechnet und dessen Bewegung festgehalten. Die Bewegung ergibt sich aus der Geschwindigkeit in X und 1 Die Farben eines Bildes entstehen durch eine Mischung der Kanäle Rot, Grün und Blau. Jeder Kanal kann einen Wert von 0 (keine Farbe) bis 255 (volle Farbe) annehmen. Durch die Normalisierung wird der Wert eines Kanals auf den Bereich von 0 bis 1 gebracht, wobei die Summe der drei Kanäle 1 ergibt. 4.3. Die Zeigegestenerkennung 45 Y Richtung zu einem Zeitpunkt, von denen mehrere hintereinander ein Bewegungsmuster ergeben. Diese werden mit vorher trainierten Bewegungsmodellen verglichen, wobei die Bewegungsparameter in Amplitude und Zeit skaliert werden können, um Varianzen zu erlauben. Passt ein Modell auf eine bekannte Bewegung, so errechnet das CTR Anfang, Endpunkt und Art der Bewegung und gibt diese anschließend mittels XCF aus. Ein Bewegungsmodell beschreibt eine bestimmte Zeigegeste. Daher werden für diese Arbeit eigene Bewegungsmodelle erzeugt, die den Zeigegesten des Anwenders auf ein Objekt auf der Karte entsprechen. Die Zeigegeste erfolgt über der Karte, so dass wie bei der Kartenerkennung das Bild der Top-Down Kamera benutzt wird, um die Gesten zu detektieren. Eines der hier erzeugten Bewegungsmodelle entspricht einer geraden Armbewegung direkt auf das Objekt. Die Handstellung wird dabei personenabhängig ausgeführt. Das bedeutet, dass sowohl ein ausgestreckter Finger auf das Objekt, als auch eine flache Hand das gewünschte Objekt referenzieren können. Außerdem kann es vorkommen, dass der Anwender den Arm auf der Karte verweilen lässt und diesen nur nach rechts oder links bewegt, um auf ein Objekt zu zeigen. Diese Bewegungen unterscheiden sich grundsätzlich von der Abbildung 4.5: Über das geraden Armbewegung, weshalb für die rechte und linCTR erkannte Geste. Quelke Bewegung ebenfalls ein Modell erzeugt wird. Folgle: [19, Hofemann, 2006] lich werden insgesamt drei Bewegungsmodelle erstellt, die für die Zeigegestendetektion verwendet werden. Die Geschwindigkeiten der einzelnen Punkte eines Modells werden dafür aus einer prototypischen Bewegung herausextrahiert und als Gestenvorbild für das kartenspezifische Zeigen in das CTR integriert. Detektiert das System ein ähnliches Bewegungsmuster wie das eines gespeicherten Vorbilds, werden die aktuelle Handregion und dessen Schwerpunkt festgehalten und das System darüber informiert, dass eine Zeigegeste vorliegt. Um den gezeigten Punkt zu bekommen, muss der Punkt an der Fingerspitze bzw. der Endpunkt der Handkontur als Ergebnis der Gestendetektion berechnet werden (siehe Abbildung 4.6). In dieser Arbeit wird angenommen, dass der Punkt der Fingerspitze der Position des referenzierten Objekts entspricht, da sich die Fingerspitze, auf Grund der Kamerasicht von oben, direkt auf dem Objekt befindet. Für die Berechnung des entsprechenden Punkts wurde ein eigenes Icewing-Plugin erstellt, das die detektierte Handregion der Gestenerkennung übernimmt. Die vorliegende Region der Hand besteht aus vielen einzelnen hautfarbenen Pixeln. Jedes Pixel wird mit den anderen Pixeln dieser Region verglichen und derjenige ausgewählt, der am weitesten in Zeigerichtung vorne liegt. Da die Tischseite des Anwenders bekannt ist, wird die Zeigerichtung in Richtung des Roboters angenommen. Die Koordinate des errechneten Pixels wird anschließend für den Vergleich mit den gespeicherten Objekten in der digitalen Karte bereitgestellt. Dies geschieht in Folge einer Anweisung des Anwenders, welche durch Sprache an das System übermittelt wird. 46 4. Entwicklung eines multimodalen Interaktionsszenarios Abbildung 4.6: Die berechnete Zeigeposition, automatisch markiert mit einem roten Punkt. 4.4 Adaption der Sprache Damit eine Kommunikation über die Objekte auf der Karte möglich ist, werden der Dialog und der Spracherkenner an das Szenario angepasst. Das Lexikon, auf welches ESMERALDA zurückgreift, ist um fehlende Wörter ergänzt und die Grammatik entsprechend der neu verwandten Sätze erweitert worden (siehe Kapitel 3.2.4). Das System erwartet für eine Interaktion eine sprachliche Äußerung, aus der die momentane Aufgabe bestimmt wird. Diese unterscheidet sich dadurch, dass BARTHOC entweder Informationen über das Objekt oder die Richtung des Objekts ausgibt. Weiterhin unterscheidet sich der Befehl darin, ob eine Zeigegeste des Anwenders mit einbezogen wird oder eine reine Sprachinteraktion stattfindet. Anhand dieser Anforderungen ergeben sich drei neue Äußerungen, auf die BARTHOC reagiert (Die sprachlichen Komponenten wurden zusätzlich in Englisch erstellt. Zur Veranschaulichung wird hier die deutsche Variante vorgestellt.): • Eingaben: 1) “Was ist das?” 2) “Wo ist das?” 3) “Wo ist Objekt?” Das “Objekt” in Satz 3) muss ein dem Spracherkenner bekanntes Objekt sein, da dieser dessen Namen sonst nicht erkennen kann. Folglich werden alle Objekte, die in der Karte vorkommen, in dem Lexikon des Spracherkenners eingetragen. Dieses besteht aus einer eigenen Datei, die für jedes Szenario entsprechend der vorkommenden Objekte angepasst werden muss. Der Satz 3) erfordert im Gegensatz zu den anderen Sätzen 1) und 2) keine Zeigegeste, da über den Objektnamen die Position des Objekts aus der digitalen Karte entnommen wird. Die Sprachausgaben des Systems werden ebenfalls modifiziert, um auf alle der oben angegebenen Fragen antworten zu können. Dies beinhaltet eine vorgegebene positive und eine negative Antwort: 4.5. Environment Information System 47 • Ausgaben: 1) “Schau mal dort.” 2) “Tut mir Leid, das kenne ich nicht.” Auf die Frage “Was ist das?” antwortet der Roboter objektabhängig, indem er eine in der digitalen Karte gespeicherte Information ausgibt, die Details über das Objekt beinhaltet. Kennt er das Objekt jedoch nicht, oder ist an der gezeigten Position kein Objekt, dann antwortet der Roboter, wie bei den anderen Fällen, “Tut mir Leid, das kenne ich nicht”. 4.5 Environment Information System Um die sprachlichen Anfragen des Anwenders mit den dazugehörigen Gesten zeitlich zu synchronisieren und die enthaltenen Informationen zu extrahieren, wird ein neues Modul verwendet, das Environment Information System (EIS ). Dieses bringt die Anfragen des Anwenders mit der dazugehörigen Geste in Verbindung und berechnet daraus die sprachliche Ausgabe und das Antwortverhalten des Roboters. Das Programm besteht aus zwei nebeneinander agierenden Prozessen. Der erste Prozess ist für eine grafische Oberfläche bestimmt, die zur Laufzeit Änderungen an der Karte entgegennimmt. Der zweite Prozess übernimmt die Kommunikation mit anderen Modulen und errechnet aus den Daten des Spracherkenners die aktuelle Aufgabe. Abhängig von der Aufgabe bestimmt das System aus der Gestenposition und den Daten aus der digitalen Karte das aktuelle Objekt und generiert anschließend die multimodalen Ausgaben. Für einfache Veränderungen an der digitalen Karte dient die grafische Benutzeroberfläche (Abbildung 4.7). Der Benutzer braucht durch die Nutzung der GUI keine XML-Kenntnisse und kann einfach an einer Karte arbeiten, indem er mittels der vorhandenen Editierfunktionen Neuerungen vornimmt. Die GUI stellt die Karte vereinfacht grafisch dar und repräsentiert alle bekannten Objekte in der entsprechenden Größe und Position durch ein grünes Rechteck und den Roboter durch einen roten Kreis (4). Das Gitter, an dem die Objekte ausgerichtet werden, kann eingeblendet oder ausgeblendet werden (2). Nimmt ein Anwender Veränderungen über die GUI an einer Karte vor, so werden diese direkt in der XML Struktur eingetragen. Die Veränderungen können über die Menüleiste (1) oder über die Toolbutton-Leiste (3) durchgeführt werden. Es können neue Objekte hinzugefügt oder vorhandene Objekte aus der Karte gelöscht werden. Der Roboter kann in Blickrichtung und Position verändert oder gegen den anderen Roboter Junior/Senior ausgetauscht werden. Über den Refresh-button kann der Anwender zur Laufzeit des kompletten Systems die Kartenerkennung erneut durchführen, falls sich die Karte auf dem Tisch verschoben oder sich das Kamerabild verändert hat. Mit der GUI können neue Karten erstellt werden, für die dann automatisch eine eigene XML Struktur erstellt wird. Da die GUI auch unabhängig von dem Robotersystem läuft, kann sie offline zur Kartenerstellung genutzt werden. In der Informationsleiste am unteren Rand der GUI werden aktuelle Bearbeitungen und die Größe der Karte angezeigt (5). Abschließend bietet die GUI die Möglichkeit, Karten zu speichern und zu laden, um auf ein vorhandenes Repertoire an Karten zurückgreifen zu können. 48 4. Entwicklung eines multimodalen Interaktionsszenarios Abbildung 4.7: Die grafische Benutzeroberfläche. In 1) ist die Menüleiste zu sehen, in der die Aktionen Laden, Speichern, Objekte verändern und die Hilfe zu finden sind. 2) Das Gitter für das Kartenkoordinatensystem lässt sich an- und abschalten. 3) Die Toolbutton-Leiste ermöglicht das schnelle Editieren von Objekten und die Aktualisierung der Lage der realen Karte. 4) Die visualisierte Karte mit Koordinatengitter, Objekten (grüne Rechtecke) und dem Roboter (roter Kreis). 5) Die Informationsleiste vermittelt die Größe des Gitters in X und Y Richtung und gibt Informationen über den Systemstatus und die Karte aus. Ein Klick in die Karte gibt die Position zurück. Ist ein Objekt an der Position, wird zusätzlich dessen Name zurückgegeben. Der neben der GUI laufende Berechnungsprozess beginnt mit dem Aufbau der Kommunikation. Icewing stellt mittels eines XCF Publishers (siehe Kapitel 3.2.1) Informationen über die Lage der Karte in Form der Eckpunkte und Informationen über den Punkt der Gestendetektion in Bildkoordinaten bereit. Das Modul EIS kommuniziert zusätzlich mit der Anwendungssteuerung des Execution Supervisors (ESV), der das Modul benachrichtigt, sobald eine sprachliche Anweisung des Anwenders vorliegt. Diese Informationen werden von dem Modul EIS durch jeweils einen XCF Subscriber angenommen und an die Verarbeitung weitergereicht. Weiterhin wird die XML-Struktur der digitalen Karte eingelesen, um deren Inhalt in den Speicher zu laden. Abschließend wird eine Kommunikation mit der Roboterhardware aufgebaut, um die Bewegungsabläufe der Motoren zu steuern. Im laufenden Prozess werden dann die Informationen der Sprache und Gestik synchronisiert und miteinander verrechnet. (Die Details der Kommunikation sind dem Anhang A zu entnehmen) Ist die Kommunikation hergestellt, durchläuft der Prozess eine Schleife, in der zuerst geprüft wird, ob eine Anweisung des ESV vorliegt. Das ist der Fall, wenn sich der Anwender sprachlich geäußert hat und dies mit einer der drei Äußerungen in Kapitel 4.4 übereinstimmt. 4.5. Environment Information System 49 1. Auf Anweisung des ESV prüfen 2. Anweisung vorhanden: (a) Anweisung erfordert Geste: i. Gestenposition holen ii. Gestenposition in Kartenkoordinaten umrechnen iii. Gezeigtes Objekt bestimmen: • Objekt gefunden: Positive Ausgaben berechnen • Kein Objekt gefunden: Negative Ausgaben festlegen iv. Ausgaben an den Dialog und die Hardwareansteuerung (b) Anweisung erfordert keine Geste: i. Objekt aus Spracheingabe bestimmen • Objekt gefunden: Objektposition berechnen und positive Ausgaben bestimmen • Objekt nicht gefunden: Negative Ausgaben festlegen ii. Ausgaben an den Dialog und die Hardwareansteuerung 3. Zurück zu Schritt 1. Um die Funktionalität zu erläutern, wird das Programm anhand einer Beispielanwendung erklärt. Als Beispiel wird das aktuell vorhandene Szenario in dem Labor in der Universität verwendet. Ein Besucher des Labors steht vor dem Roboter, hat sich bei diesem durch ein “Hallo” angemeldet und das System ist zur Interaktion bereit, was es ebenfalls durch ein “Hallo”, sowie durch Augenkontakt und eine freundliche Mimik verdeutlicht. Der Benutzer möchte etwas über ein Objekt im Labor erfahren und fragt BARTHOC z. B. mittels des Satzes “Was ist das?” nach Informationen. Gleichzeitig vollführt er eine Zeigegeste auf die zwischen dem Roboter und dem Besucher stehende Karte. Dabei endet seine Zeigegeste auf der bildlichen Repräsentation des in der Karte eingetragenen Objekts. Das System bekommt nun mehrere Perzepte als Eingabe. Zum einen wird der sprachliche Befehl aufgenommen und durch den Spracherkenner verarbeitet und zum anderen erhält das System von der Gestenerkennung eine Zeigeposition. Der erkannte Satz wird nun nach seiner Semantik untersucht und die benötigten Perzepte für die erkannte Aktion bestimmt. Die Anfragen “Was ist das?” und “Wo ist das?” erfordern eine Zeigegeste, so dass die aktuelle Gestenposition mit in die Berechnung einbezogen wird. Ist eine Zeigegeste vorhanden, gibt Icewing über XCF die Position der Geste bekannt. Ist keine Zeigegeste vorhanden, so gibt das System eine negative Antwort (siehe Kapitel 4.4) und wartet erneut auf eine Anweisung des ESV. Die vorhandene Zeigeposition wird an das Modul EIS weitergegeben. Diese Position ist in Pixelkoordinaten auf dem gesamten Bild angegeben. Für die Berechnung notwendig ist allerdings die Position auf der Karte. Daher wird die Position relativ zu den Eckpunkten der Karte berechnet und anschließend die Zeigeposition von Bildkoordinaten in Kartenkoordinaten umgerechnet, um diese mit den in Kartenkoordinaten vorliegenden Objekten vergleichen zu können. 50 4. Entwicklung eines multimodalen Interaktionsszenarios β α Abbildung 4.8: Die Längen a,b,c des blauen und grünen Dreiecks sind durch die Ecken und die Zeigeposition bekannt. Die gelben Winkel werden über trigonometrische Funktionen errechnet und dann die Längen X und Y bestimmt. Die Koordinaten sind in Pixelmaßen und müssen noch in Kartenkoordinaten transformiert werden. Für die Berechnung der Zeigegeste relativ zu den Ecken werden die Längen blau b und grün c zwischen den Eckpunkten (siehe Abbildung 4.8) und die Längen blau a und c, sowie grün a und b zwischen der gezeigten Position und den Eckpunkten bestimmt. Die Längen a,b und c des blauen und grünen Dreiecks sind somit bekannt. Über trigonometrische Funktionen werden der gelb eingezeichnete Winkel und anschließend die gelben Längen X und Y berechnet. Der Winkel α des blauen und der Winkel β des grünen Dreiecks werden wie in Formel 4.2 und 4.3 berechnet. α = arccos((a2 + b2 − c2 )/(2 · a · b)) β = arccos((a2 + c2 − b2 )/(2 · a · c)) (4.2) (4.3) Die gesuchten Längen X und Y ergeben sich aus Formel 4.4. X = a · sin(β), Y = a · sin(β) (4.4) Die gefundenen Längen X und Y werden wie folgt in Kartenkoordinaten transformiert (siehe Formel 4.5). Aus der digitalen Karte sind die Breite und die Höhe der Karte bekannt. Um die Relation von der Anzahl der Pixel zu einem Gitterknotenabstand zu bekommen, werden die Längen zwischen den Eckpunkten durch die Länge in Kartenkoordinaten geteilt. Das Ergebnis ist ein Koordinatenpunkt in Kartenkoordinaten (X berechnet sich äquivalent): KartenkoordinateY = PixellängeY /KartenlängeY (4.5) Als nächster Berechnungsschritt folgt die Bestimmung der Zeigeposition in Kartenkoordinaten in Formel 4.6. ZeigepositionY = Y /KartenkoordinateY (4.6) Abschließend wird die gezeigte Position mit den Positionen der bekannten Objekte verglichen. Gibt es ein Objekt an der entsprechenden Stelle, wird abhängig von der Anfrage eine Antwort mittels Sprachausgabe und/oder einer Bewegung des Roboters erstellt. 4.5. Environment Information System 51 Der Anwender hatte das System “Was ist das?” gefragt und dabei auf ein Objekt gezeigt. Dieses Objekt wurde nach der Berechnung durch einen Vergleich mit den gespeicherten Objekten als Schrank bestimmt. Auf die Anfrage “Was ist das?” erwartet der Anwender eine Beschreibung des gezeigten Objekts. Daher wird die Beschreibung des Schranks aus der digitalen Karte geladen und an die Sprachausgabe weitergeleitet. Der Besucher erhält dadurch die gewünschte Information. Wäre kein Objekt an der gezeigten Stelle zu finden oder kennt das System das Objekt nicht, teilt es dies dem Anwender mit, indem es mittels Sprache “Tut mir Leid, das kenne ich nicht” ausgibt und eine fragende Mimik darstellt (siehe Kapitel 4.6). Als nächstes fragt der Anwender “Wo ist das?” und deutet dabei wieder auf ein Objekt auf der Karte. Die Bestimmung der Gestenposition erfolgt im Weiteren analog zu der bereits dargestellten Berechnung und wird daher nicht mehr weiter erläutert. Ergibt der Vergleich der gezeigten Position mit den gespeicherten Objekten, dass auf ein bekanntes Objekt gedeutet wird, gibt BARTHOC dessen Position bekannt, indem er mit einer Zeigegeste auf das gesuchte Objekt deutet. Hiefür werden von dem Modul EIS aus den Informationen der Karte und der gezeigten Position die für die Zeigegeste notwendigen Winkel der Armstellung und die Richtung vom Roboter zum Objekt bestimmt. Diese ergeben sich aus der Position des Objekts und der Position und Blickrichtung des Roboters. Die Position des Objekts wurde bereits berechnet und die Position und Eigenrotation des Roboters (robX , robY und robRot ) entnimmt das Modul aus der digitalen Karte. Zuerst wird der Winkel von der Roboterposition zu dem Objekt bestimmt. Dieser ist unabhängig von der Eigenrotation des Roboters und durch die Vorgabe der Karte, dass in Richtung der y-Achse der Karte Null (a) Berechnung des Winkels zwischen Roboterposition und Objekt (b) Berechnung des Winkels zwischen Roboterblickrichtung und Objekt Abbildung 4.9: Berechnung des Winkels zwischen Roboter und Objekt: (a) Abhängig von der Position des Objekts (roter Punkt) relativ zum Roboter (orangener Kreis) auf der Karte wird der grüne/rote Winkel berechnet. (b) Bestimmung des Winkels (rot) zwischen Blickrichtung des Roboters und Objekt 52 4. Entwicklung eines multimodalen Interaktionsszenarios Grad liegen, fest vorgegeben (siehe Abbildung 4.9a). Die roten und grünen Winkel α berechnen sich abhängig vom Quadranten durch Formel 4.7. 1) 2) 3) 4) α= α= α = −180 α = 180 − arccos((robY + arccos((robY + arccos((robY − arccos((robY − ZeigepositionY )/Abstand) − ZeigepositionY )/Abstand) − ZeigepositionY )/Abstand) − ZeigepositionY )/Abstand) (4.7) Der Abstand berechnet sich über die in Formel 4.8 dargestellte trigonometrische Funktion, multipliziert mit dem gespeicherten Maßstab m der Karte. Der Abstand liegt dann in Metern vom Roboter zum Objekt vor. q Abstand = ( (robx − Zeigepositionx )2 + (roby − Zeigepositiony )2 ) · m (4.8) Nach der Berechnung des Winkels wird die Eigenrotation des Roboters mit einbezogen und der Winkel vom Roboter zum Objekt bestimmt (siehe Abbildung 4.9b). Um den roten Winkel β zu bekommen, wird der eben berechnete grüne Winkel α von der Roboterrotation robRot subtrahiert (Formel 4.9). β = robRot − α (4.9) Der Winkel wird auf den Bereich -180 Grad bis +180 Grad beschränkt, damit der Roboter, abhängig von dem Vorzeichen des Winkels, auf den zu bewegenden Arm schließen kann (Formel 4.10). Bei einem negativen Vorzeichen wird mit dem linken Arm auf das Objekt gezeigt und bei positivem Vorzeichen mit dem rechten Arm. W enn α > robRot W enn α <= robRot und β > 180 und β < −180 ⇒ β = −360 + β ⇒ β = 360 − β (4.10) Der Winkel, sowie die Entfernung zwischen Roboter und Objekt sind somit bestimmt und werden an die Robotersteuerung für die Zeigegeste übergeben (siehe Kapitel 4.6). Abschließend fragt der Anwender das System z. B. “Wo ist der Ausgang?”. Dieser Typus von Frage, bei der der Name des Objekts genannt wird, bedarf keiner zusätzlichen Zeigegeste. Das System sucht nach dem Namen in der digitalen Karte, indem es ihn mit den Namen der eingezeichneten Objekte vergleicht. Wird das Objekt gefunden, ist die Position den Daten der Karte zu entnehmen. Diese Position wird anschließend als Zeigeposition eingesetzt und der Winkel und die Entfernung werden, wie bereits beschrieben, ausgerechnet. Auch in diesem Fall wird eine sprachliche Ausgabe erzeugt (siehe Kapitel 4.4) und der Befehl einer Zeigegeste an die Roboterhardware gesendet. Wird das Objekt nicht gefunden, teilt das System dies dem Anwender über Sprache und Mimik (siehe Kapitel 4.6) mit. In diesem Fall sei der Ausgang auf der Karte verzeichnet und BARTHOC zeigt dem Anwender mit einer freundlichen Mimik den Ausgang und sagt “Siehe dort.”. Die angesprochenen Mimiken und Zeigegesten des Roboters werden ebenfalls von dem Modul EIS generiert. Ein Teil des Programms berechnet hierfür die einzelnen Motorkommandos, abhängig von der aktuellen Situation. 4.6. Kinematik 4.6 53 Kinematik Die Ansteuerung der Roboterplattform wird, wie in Kapitel 3.1 beschrieben, durchgeführt. Das Modul muss jedoch die genauen Winkel der Aktuatoren, die es zu modifizieren gilt, vorher berechnen und angeben. Der Winkel und die Entfernung zu dem Objekt wurden bereits ausgerechnet. Aus diesen Informationen können allerdings noch nicht alle Winkel der Motoren eindeutig angegeben werden, da die Höhe des Objekts und die Art der Bewegung noch nicht berücksichtigt wurden. Die Höheninformation des Objekts kann in der zweidimensionalen Papierkarte nicht dargestellt werden. Diese ist allerdings notwendig, damit der Roboter im dreidimensionalen Raum das Objekt korrekt referenzieren kann. Die Höheninformation wird daher in der digitalen Karte gespeichert und bei Bedarf an den Teil des Moduls weitergereicht, der für die Bewegung zuständig ist. Die Höhe wird in Metern angegeben und als Ursprung des Koordinatensystems der Schnittpunkt der senkrechten Körperachse des Roboters mit dem Boden angenommen. Da sich die beiden benutzten Plattformen BARTHOC Junior und BARTHOC Senior in ihrer Höhe und in einigen Gelenkwinkeln unterscheiden (siehe Kapitel 3.1), wird zusätzlich die aktuell verwendete Roboterplattform berücksichtigt. Durch die Speicherung der benutzten Roboterplattform und der Höheninformation aller Objekte in der digitalen Karte werden alle Abhängigkeiten aufgelöst und das Modul kann die einzelnen Winkel der Aktuatoren bestimmen. Nachdem das Modul eine Antwort bestimmt hat, schickt es einen Bewegungsbefehl an die Kinematik. In diesem Befehl sind Art der Bewegung, Höhe des Objekts, Winkel vom Roboter zum Objekt und deren Distanz zueinander enthalten. <?xml version="1.0"?> <DATA> <MOVORDER></MOVORDER> <DISTANCE></DISTANCE> <ANGLE></ANGLE> <HEIGHT></HEIGHT> </DATA> Die Art der Bewegung hängt von der Art der Rückmeldung ab. Soll die Antwort negativ ausfallen, also dem Anwender deutlich gemacht werden, dass der Roboter ihm bei dieser Frage nicht weiterhelfen kann, so wird von dem Berechnungsprozess der Befehl ignorance ausgewählt und dadurch der Befehl für eine entsprechende Mimik an die Kinematik übergeben. Im positiven Fall wird der Befehl show genutzt, da hier noch die Zeigegeste in Richtung des Objekts hinzukommt und eine freundliche Mimik dargestellt werden soll. Anhand der zwei Befehle kann die Kinematik folglich unterscheiden, ob die Antwort des Systems positiv oder negativ ausfällt. Wird der Befehl show übermittelt, testet das Programm als erstes ob in den Sicherheitsradius des Roboters gezeigt wurde. Der Sicherheitsradius bewirkt, dass kein Objekt in den Aktionsradius des Roboters bzw. dessen Arbeitsraum gesetzt werden kann. Dies ist notwendig, da der Roboter über keine Hindernisvermeidung verfügt und daher keinem Objekt ausweichen kann, was bei Kollision zu Schäden führen 54 4. Entwicklung eines multimodalen Interaktionsszenarios würde. Der Sicherheitsradius liegt bei 0,5 Metern, da sich der Endpunkt des ausgestreckten Arms, inklusive Hand, innerhalb dieses Bereichs befindet. Liegt die gezeigte Position nicht im Sicherheitsbereich, werden die einzelnen Motorwinkel bestimmt. Die Ansteuerung der Arme erfolgt über eine trigonometrische Berechnung der einzelnen Gelenkwinkel. Das heißt, die Winkel werden vorher berechnet, um eine Position anfahren zu können. Bevor die Winkel der einzelnen Aktuatoren bestimmt werden, überprüft das System, ob das Objekt hinter dem Roboter liegt. Dies ist der Fall, wenn sich das Objekt in einem größeren Winkel als 90 Grad zu dem Roboter befindet. Der Mensch dreht sich in solch einer Situation in Richtung des Objekts, bis er angenehm auf das Objekt zeigen kann. Der humanoide Roboter verhält sich genauso wie sein menschliches Vorbild. Ist ein Objekt hinter dem Roboter, dreht er sich mit seiner Hüfte bis er auf das Objekt mit einer seitlichen Zeigegeste deuten kann. Der Winkel vom Roboter zum Objekt wurde bezüglich der Position des Roboters im Kartenkoordinatensystem bzw. von der Mitte seines Oberkörpers zum Objekt berechnet. Der Drehpunkt der Arme liegt allerdings im Roboterkoordinatensystem in der Schulter des rechten oder linken Arms, abhängig davon, welcher Arm zur Zeigegeste benutzt wird. Der Winkel von dort aus zum Objekt bestimmt die Zeigerichtung, so dass der zuerst berechnete Winkel noch durch den exakten Winkel ersetzt werden muss. Aus der Abbildung (4.10) kann man den zu berechnenden Winkel β entnehmen. Dieser ergibt sich abhängig von der Entfernung der Schulter zum c a b b o d_ β α d_s Abbildung 4.10: Verschiebung des Koordinatensystems in die Schulter. Berechnung des aktualisierten Winkels β aus bekanntem α, do und ds 4.6. Kinematik 55 Robotermittelpunkt ds und von der Entfernung vom Roboter zum Objekt do . Der Abstand ds variiert wegen der unterschiedlichen Größen von BARTHOC Junior und Senior auf den beiden Plattformen. Die Entfernung do wurde bereits in der vorhergehenden Berechnung bestimmt. Nun gilt es, den alten Winkel α durch den exakten Winkel β zu ersetzen. Dieser berechnet sich durch die in Formel 4.11 beschriebenen trigonometrischen Funktionen: b = cos(abs(α)) · do c = sin(abs(α)) · do β = arctan(abs(a)/b) a = c − ds (4.11) (4.12) Das Vorzeichen kann durch die Umrechnung auf den exakten Winkel wechseln, wenn Objekte in gerade Linie vor dem Roboter stehen. Da allerdings die Zeigegeste bei positivem Winkel mit dem rechten und bei negativem Winkel mit dem linken Arm ausgeführt werden soll, wird der mit dem Vorzeichen des ursprünglichen Winkels β bestimmte Arm beibehalten. Liegt das Objekt z. B. links vom Roboter, so ist der Ausgangswinkel α negativ und es wird mit dem linken Arm gezeigt. Nach der Berechnung durch Formel 4.12 ist der neue Winkel β allerdings positiv. Damit auf das Objekt aber trotzdem mit dem richtigen Arm gezeigt wird, behält das System den richtigen Arm bei und adaptiert nur den Winkel. Zusätzlich zur seitlichen Armbewegung wird das Objekt in der Höhe referenziert. Die Höhe des Objekts selbst wird aus der digital gespeicherten Karte geladen und die Höhe des Roboters abhängig von der benutzten Plattform festgesetzt. BARTHOC Junior ist im Schulterbereich 1,0 Meter hoch und BARTHOC Senior 1,30 Meter. Zur Berechnung der Winkel wird die Höhe hrel bestimmt, die den Höhenunterschied von Objekt und Roboter angibt (Formel 4.13): hrel = hrobot − hobjekt (4.13) Der absolute Winkel der Schulter δSchulter ergibt sich aus der relativen Höhe und dem Abstand des Objekts zum Roboter (Formel 4.14, Abbildung 4.11). δSchulter = 90 + arctan(hrel /do ) (4.14) Abbildung 4.11: Gesucht ist der absolute rote Winkel. Abhängig davon, ob hrel positiv oder negativ ist, wird der blaue Winkel zu 90 Grad addiert oder subtrahiert. 56 4. Entwicklung eines multimodalen Interaktionsszenarios Die Bewegung soll zusätzlich natürlich und dynamisch wirken. Der Mensch bewegt seine Extremitäten mit möglichst geringem Energieaufwand. Steht ein Objekt in geringer Entfernung, wird der Ellenbogen stärker angewinkelt als bei weit entfernten Objekten, da so nur der Unterarm angehoben werden muss oder eventuell nicht genug Platz für einen gestreckten Arm ist. Bei einer größeren Entfernung wird mit ausgestrecktem Arm auf ein Objekt verwiesen, um die weite Entfernung zum Objekt durch den langen Arm zu repräsentieren. Durch die Beugung des Ellenbogens soll es dem Anwender vereinfacht werden, die Entfernung des referenzierten Objekts besser einschätzen zu können. Ist der Ellenbogen stark eingeknickt, so wird für die Referenzierung des Objekts nur noch der Unterarm mit der Hand in Anspruch genommen. Die Verkürzung des Arms auf den Unterarm symbolisiert dabei die verkürzte Entfernung zum Objekt. Diese natürliche Verständlichkeit der Gestik und die menschliche Bewegung mit geringem Energieaufwand halten auch in das vorgestellte System Einzug und werden anhand der Formel 4.15 implementiert: δSchulter (4.15) δSchulterN eu = δSchulter − do ∗ 2 Der Winkel der Schulter verkleinert sich abhängig von der Objektentfernung, da durch die doppelte Distanz dividiert wird (do ∗ 2). Dadurch wird der zu subtra) kleiner, wenn die Distanz größer wird. So wird bei weiten hierende Term ( δSchulter do ∗2 Entfernungen wenig von dem Schulteranteil abgezogen und der Arm bleibt weitesgehend gestreckt. Ist ein Objekt zu weit entfernt, so dass der Subtrahend größer wird als δSchulter , bleibt der Schulterwinkel erhalten und der Arm wird komplett gestreckt. Liegt eine kleine Objektentfernung vor, vergrößert sich der Subtrahend und verringert somit den Anteil des Schulterwinkels. Dies geht bis zu der Untergrenze des Sicherheitsradius von 0,5m. Wird diese Grenze erreicht, subtrahiert sich der Schulteranteil auf Null und die Zeigegeste wird dadurch komplett durch den Ellenbogen ausgeführt. Ist der Winkel der Schulter abhängig von der Objektentfernung berechnet worden, so kann der Winkel des Ellenbogens bestimmt werden (siehe Abbildung 4.12). Bekannt ist die Länge des Oberarms LArm , die Entfernung von der Schulter zum Objekt LRobObj und der eben errechnete Winkel δSchulterN eu . Daraus wird vorerst der Schulterwinkel δSchulterW berechnet, mit dem in dem Dreieck in der Abbildung durch den Kosinussatz die Entfernung von dem Ellenbogen zum Objekt LElbowObj und anschließend der Winkel des Ellenbogens δEllenbogen bestimmt werden kann (siehe Formel 4.16). δSchulterW = δSchulter − δSchulterN eu q LElbowObj = L2RobObj + L2Arm − 2 ∗ LRobObj ∗ LArm ∗ cos(δSchulterW ) δEllenbogen = acos(L2RobObj + 2 ∗ LElbowObj ∗ LArm (4.16) − L2ElbowObj − L2Arm ) Um die Interaktion natürlicher zu gestalten, dreht sich, wie bei dem menschlichen Vorbild, auch der Kopf in die Richtung des Objekts. Der Kopf befindet sich im Ursprung des Kartenkoordinatensystems und seine Drehung entspricht direkt dem zu Anfang berechneten Winkel α. BARTHOC bewegt zu Anfang seiner Zeigegeste, 4.7. Integration in das bestehende System 57 Abbildung 4.12: Der Winkel des Ellenbogens kann über die bekannten Längen und den Schulterwinkel errechnet werden. also während er den Arm hebt, seinen Kopf und schaut in Richtung des gesuchten Objekts. Sobald er das Objekt mit der Zeigegeste anvisiert hat und diese sich in der Haltephase befindet (siehe Kapitel 2.3), bewegt er seinen Kopf wieder in die Ausgangsposition. Neben der Nachbildung des menschlichen Verhaltens bei einer Zeigegeste, hat dies den Vorteil, dass die Gesichtserkennung schneller wieder in den Zustand “grounded” übergeht und die Anchor-Lost-Time nicht überschritten wird (siehe Kapitel 3.2.4). Zusätzlich zu den Bewegungen passt sich BARTHOCs Mimik dem internen Zustand des Systems an. Liegt der Befehl show vor, werden BARTHOCs Gesichtsaktuatoren so eingestellt, dass dem Anwender ein glückliches Gesicht gezeigt wird. Dies verdeutlicht dem Anwender, dass der Roboter ihm weiterhelfen kann. Ist jedoch der Befehl ignorance an die Bewegung übermittelt worden, schaut BARTHOC den Anwender fragend an. Dies tut er, indem er eine Augenbraue hochzieht und den Mund leicht öffnet. 4.7 Integration in das bestehende System Das Modul EIS und die perzeptgenerierenden Module müssen in das Gesamtsystem integriert werden. Daher werden sie an einer sinnvollen Stelle in der Architektur eingesetzt (siehe Abbildung 4.13). Die Karten- und Gestenerkennung laufen unabhängig von dem System und werden daher direkt an der Kamera angeschlossen. Die daraus resultierenden Daten werden mittels eines XCF Publishers bereitgestellt. Das Modul EIS nimmt Anweisungen des ESV entgegen und antwortet diesem, wenn eine Aktion abgeschlossen ist. Auch die Sprachausgaben werden über den ESV an den Dialog und darüber an die Sprachsynthese weitergeleitet (die genauen Kommunikationsstrukturen sind dem Anhang A zu entnehmen). Die Kinematik wird direkt über eine Verbindung mit der Hardwarekontrolle realisiert. 58 4. Entwicklung eines multimodalen Interaktionsszenarios Abbildung 4.13: Die erweiterte Systemarchitektur. Auf der Hardwareebene kommen ein Tisch und eine darauf gerichtete Kamera hinzu. Ein Modul für Karten- und Gestenerkennung berechnet auf den Bilddaten die Position der Karte und der Geste darauf. Diese Informationen synchronisiert das Modul EIS mit eingehenden sprachlichen Äußerungen und generiert daraus eine multimodale Antwort. 4.8 Zusammenfassung Eine multimodale Kommunikation mit einem Roboter setzt voraus, viele Datenströme in Verbindung zu bringen. Spracheingabe, Gestik und die aktuelle Situation müssen semantisch korrekt verbunden und eine passende Antwort von einem komplexen Robotersystem generiert werden. Dies wird in dem vorgestellten Szenario, in dem ein Anwender mit Hilfe einer zweidimensionalen Karte Ortsinformationen, sowie generelle Informationen von einem Robotersystem erfragen kann, implementiert. Hierfür wird ein digitales Abbild der Karte angefertigt und im Dateisystem abgelegt. Eine grafische Oberfläche dient zur einfachen Editierung und als Hilfsmittel für den Benutzer. Über ein individuelles Gitterkoordinatensystem wird es dem Anwender zudem erleichtert, ohne genaue Abmessungen neue Objekte der Karte hinzuzufügen bzw. alte zu entfernen. Damit der Roboter Zeigegesten auf der Karte berechnen kann, gibt es eine automatische Kartenerkennung. Über einen Sobelfilter werden die Kanten der Karte und über diese die Ecken, welche die Rotation, Skalierung und Position der Karte im Bild angeben, detektiert. Damit der Roboter das vom Anwender gezeigte Objekt finden kann, muss die Zeigegeste verfolgt und erkannt werden. Hierfür wird auf ein bereits vorhandenes Gestenerkennungssystem zurückgegriffen, für das zu dem Szenario passende Bewegungsmodelle erzeugt wurden. Um das Zeigen auf einer Karte nachzubilden, werden drei Bewegungsmuster aufgezeichnet, die aus der Bewegung des Schwerpunkts der erkannten Handregion bestehen. Die drei gespeicherten Muster entsprechen einer gerade nach vorne vollführten Zeigebewegung, sowie einer nach rechts und einer nach 4.8. Zusammenfassung 59 links bewegten Hand. Da der Gestenerkenner nur das Vorhandensein einer Geste detektiert, wird ein weiteres Icewing-Plugin hinter die Gestenerkennung geschaltet, das den Zeigepunkt der Geste zurückliefert. Die sprachliche Eingabemodalität wurde an das Szenario angepasst. Hierfür wurde das Lexikon der Sprachverarbeitung um die Objekte auf der Karte erweitert und die Grammatik um die entsprechenden Sätze ergänzt. Die Eingabeperzepte müssen synchronisiert und anhand ihrer Semantik analysiert werden. Dies übernimmt das neue Modul EIS, indem es die sprachliche Eingabe einordnet und gegebenfalls eine Geste mit ihr assoziiert. Kann das System ein Objekt referenzieren, gibt es dies über multimodale Ausgaben dem Anwender bekannt. Die Position des Objekts wird durch eine Zeigegeste des Roboters angedeutet, Informationen über das Objekt sprachlich ausgegeben und die Kommunikation über eine der Situation angepasste Mimik unterstützt. Die Bewegungen der Roboterplattform BARTHOC wird über ein Bewegungsmodul gesteuert, welches die Gelenkwinkel errechnet und diese an die Hardwaresteuerung sendet. Die Bewegungen sind der Mensch-Mensch Kommunikation nachempfunden und die Gelenkwinkel werden abhängig von der Position des Objekts in Echtzeit errechnet. 60 4. Entwicklung eines multimodalen Interaktionsszenarios 5. Evaluation In diesem Kapitel werden Experimente und Ergebnisse des modifizierten Robotersystems vorgestellt, die die Funktionalität der neuen Komponenten und deren Auswirkung auf eine Mensch-Roboter Kommunikation verdeutlichen. Die praktischen Evaluierungen wurden in einer Laborumgebung, sowie in der Haupthalle der Universität Bielefeld durchgeführt. In den Versuchsreihen der Laborumgebung waren mehrere Personen anwesend, aber nur die Versuchsperson war im Sichtfeld des Roboters. Durch eine Fensterfront direkt hinter dem Roboter schien Tageslicht in das Labor. Zusätzlich wurde die normale Raumbeleuchtung verwendet. Die Geräuschkulisse und die Helligkeitsbedingung sind folglich mit einer Alltagsumgebung zu vergleichen. Anschließend werden die empirischen Ergebnisse einer Vorführung des Roboters in der Unihalle vorgestellt, bei der mehrere hundert Menschen anwesend waren. Dies geschah in der Abendzeit, so dass auf die normale Universitätsbeleuchtung zurückgegriffen wurde. Diese Situation bot erschwerte alltägliche Bedingungen, da zahlreiche Menschen gleichzeitig im Blickfeld des Roboters waren und der Geräuschpegel weit über einer normalen Alltagssituation lag. Die Versuche zeigen auf, dass die multimodalen Eingaben trotz unterschiedlicher Versuchsumgebung funktionieren und dass das Robotersystem korrekt darauf antwortet. Hierfür wird vorerst auf die Genauigkeit der Karten- und Gestenerkennung eingegangen. Abschließend wird das Gesamtsystem betrachtet, indem die Zusammenführung der sprachlichen Äußerung mit der dazugehörigen Geste und die darauf folgende Antwort des Robotersystems für eine multimodale Interaktion überprüft werden. 5.1 Kartenerkennung Gemeinsame Grundlage für Mensch und Maschine in diesem Interaktionsszenario ist die zweidimensionale Karte, deren Lage im Bild bekannt sein muss, damit Zeigegesten auf die richtige Position auf der Karte umgerechnet werden können. Die Erkennung der Karte wurde getestet, indem diese in unterschiedlichen Positionen auf den Tisch gelegt und die erkannte Karte mit der tatsächlichen Karte verglichen wurde. Hierbei wurden die in Kapitel 4.2 genannten Bedingungen eingehalten, so 62 5. Evaluation dass die Karte komplett im Bild ist und die Farbe der Karte sich von der Tisches unterscheidet. Dies wurde mehrmals hintereinander und an verschiedenen Tagen durchgeführt, wodurch verschiedene Beleuchtungsbedingungen getestet wurden. Ergebnis und Interpretation Abbildung 5.1: Die Kartenerkennung wurde mehrmals durchgeführt und die Ergebnisse zusammengefasst. In 28 von 30 Fällen wurde die Position korrekt erkannt. Es wurde in 28 von 30 Versuchen die korrekte Lage der Karte erkannt (vgl. auch Abbildung 4.4). Nur bei zwei Versuchen wurde die genaue Lage der Karte nicht detektiert. Die fehlgeschlagenen Versuche ließen sich bei einem zweiten Anlauf revidieren und es wurde anschließend die richtige Position gefunden. Die Fehlversuche lassen sich auf die Beleuchtung zurückführen, die durch Schattenwurf die Kartendetektion irritieren kann. Die Kartenerkennung funktioniert mit den gestellten Bedingungen und liefert exakte Eckpunktpositionen für die späteren Berechnungen. Der Aufbau des Szenarios ist somit recht leicht zu bewerkstelligen, da die Karte nicht an einer festen Position im Bild liegen muss. 5.2 Gestenerkennung Die Position der Zeigegeste des Anwenders muss detektiert werden, damit die gezeigte Position mit den auf der Karte verzeichneten Objekten verglichen werden kann. Die Erkennung der Zeigegeste wurde getestet, indem fünf verschiedene Personen jeweils auf eine Position auf der Karte dreimal gezeigt haben. Das Kartenkoordinatensystem lag in einem Gitter, mit der Größe von 32 x 24 Gitterknoten, vor. Ein Gitterabstand entsprach dabei einem Zentimeter. Die Sollpositionen und die detektierten Zeigegesten lassen sich der Abbildung 5.2 entnehmen. 5.2. Gestenerkennung Person1 X: Person1 Y: Person2 X: Person2 Y: Person3 X: Person3 Y: Person4 X: Person4 Y: Person5 X: Person5 Y: Sollposition 20 10 22 13 17 10 1 1 27 1 63 Testlauf 1 20,26 9,1 22,7 12,7 17,4 9,6 1,08 0,6 27,2 0,5 Testlauf 2 20,3 8,96 22,5 12,5 17,17 9,65 1,14 0,5 26,8 0,6 Testlauf 3 20,14 8,9 22,57 12,5 17,09 9,34 0,9 0,5 27,5 0,61 Tabelle 5.1: Die gewünschten Gestenpositionen und die getroffenen Zeigeposition. Fünf Personen zeigten drei mal auf eine von ihnen gewählte Position. Die Abweichung von der Zielposition variiert zwischen 0,08cm und 1,1cm. Ergebnis und Interpretation Wie der Tabelle 5.1 zu entnehmen ist, zeigt jede Person in der X-Koordinate mit höchstens 0,7cm Abweichung auf die gewünschte Stelle. In 87% der Fälle ist die Zeigegeste sogar genauer als 0,5cm Abweichung. In der Y-Koordinate liegt diese bei 74% unter 0,5cm. Das Ergebnis wurde zur einfacheren Interpretation auf die mittlere Abweichung von der Sollposition jeder Person gebracht (siehe Abbildung 5.2). Die mittlere Abweichung liegt in 90% bei unter 0,6cm und bei 80% unter 0,5cm Abweichung. Die mittlere Abweichung ist zu 90% in Y-Richtung größer als in X-Richtung. Dies ist zum Teil auf die Art der Zeigegeste des Anwenders zurückzuführen, da einige Personen eher vor ein Objekt zeigen, andere direkt auf das Objekt. Dies ist bei Person 1 besonders deutlich, da die Abweichung in Zeigerichtung bzw. in Y-Richtung erheblich größer ist, als die Abweichung in X-Richtung. Dies lässt sich auch bei den anderen Personen feststellen, da die Abweichung in Y-Richtung bei allen zwischen 0,4 und 0,5 Zentimetern liegt. Daraus lässt sich folgern, dass die meisten Personen vor ein Objekt zeigen. Diese Erkenntnis kann zu einer Systemanpassung und zur Steigerung der Genauigkeit herangezogen werden. Die der Abbildung 5.2 zu entnehmende Genauigkeit ist auf Grund der vielen Abhängigkeiten jedoch sehr zufriedenstellend. Diese finden sich in der Umrechnung der Kartenposition, der Berechnung des hautfarbenen Bereiches, der Bestimmung des Zeigepunktes und der Umrechnung der Geste in Kartenkoordinaten. Das Ergebnis weicht zu 83% weniger als einen halben Zentimeter von der anvisierten Position ab (im Mittel 0,43 cm), was auf Grund der Objektgrößen von meist mehr als einem Zentimeter nicht ins Gewicht fällt. 64 5. Evaluation Abbildung 5.2: Abweichung der Zeigegesten im Mittel von der Sollposition. Bis auf eine Abweichung bei Person 1 sind alle mittleren Abweichungen kleiner als 0,6cm. Die Abweichung in Y-Richtung ist in 4 von 5 Fällen größer als die in X-Richtung. Dies liegt daran, dass Menschen eher vor ein Objekt zeigen, als darauf. 5.3 Sprachverstehen Die Erkennung der gesagten Äußerung bestimmt maßgeblich die Funktionalität des Systems, da der Roboter nur auf erkannte Äußerungen erwartungsgemäß antworten kann. Der Dialogfähigkeit des Roboters wurden daher drei neue Sätze hinzugefügt. Zusätzlich wurden neue Worte in das Lexikon des Systems eingetragen, damit das Robotersystem seine Umgebung und die Details in der Karte kennt. Zur Evaluierung des Sprachverstehens wurden die dem System hinzugefügten Sätze mehrmals hintereinander ausgesprochen und danach mit der Ausgabe der Spracherkennung verglichen. Abbildung 5.3: Die Erkennungsrate der neu hinzugefügten Sätze. Satz 1 entspricht “Was ist das?”, Satz 2 “Wo ist das?” und Satz 3 “Wo ist Objekt?”. Die Sätze werden mindestens zu 85% erkannt. 5.4. Multimodales Interaktionsszenario 65 Ergebnis und Interpretation Die Spracherkennungskomponente funktioniert gut in idealisierten Bedingungen. In dem vorliegenden Fall, dass nur die bekannten Sätze ausgesprochen werden, erkennt der Spracherkenner mindestens 85% der Äußerungen richtig (siehe Abbildung 5.3). Durch unsaubere Aussprache oder Nebengeräusche kann die Spracherkennung falsch liegen, was im Mittel bei 12% der Äußerungen geschieht. 5.4 Multimodales Interaktionsszenario Entscheidend für die Auswertung ist die Funktionalität des Gesamtsystems. Die einzelnen Komponenten müssen aufeinander abgestimmt und die Synchronisation gelungen sein. Daher wird das Laborszenario mehrmals getestet und auf seine Funktionalität geprüft. Hierbei stehen mehrere Aspekte im Vordergrund: 1. Die Erkennung sprachlicher Äußerungen mit der Zusammenführung der dazugehörigen Geste. 2. Die Verständlichkeit und Korrektheit der multimodalen Antwort des Robotersystems Um diese Punkte zu testen, wurden die drei in dem Szenario möglichen Aussagen mehrmals hintereinander ausgesprochen und deren Synchronisation mit einer Zeigegeste überprüft. Anschließend an jede Äußerung wurde notiert, ob die Antwort des Systems zu der Anfrage passte und ein korrektes Ergebnis geliefert hat. Frage nach Informationen Die Überprüfung des Gesamtsystems wurde durch eine Person mit dem Satz “Was ist das?” begonnen. Während der Satz ausgesprochen wurde, zeigte die Testperson auf ein ausgewähltes Objekt. Dies wiederholte sie für insgesamt drei Objekte jeweils 20 mal. Die Objekte hatten hierbei unterschiedliche Positionen und Größen, damit gezeigt werden kann, dass die Funktionalität des Systems auch bei unterschiedlichen Faktoren gewährleistet ist. In dem ersten Versuchsablauf zeigte der Anwender auf ein 2,5cm x 1cm großes Objekt an dem vorderen Kartenrand. In dem zweiten Durchgang wurde auf ein 1,5cm x 1,5cm großes Objekt am linken Bildrand und danach auf ein 1cm x 1cm großes Objekt in der Mitte der Karte gezeigt. Die drei Versuchsreihen wurden abschließend für die Auswertung zusammengefasst. Auf die Frage “Was ist das?” erwartet der Anwender eine sprachliche Erläuterung durch das Robotersystem. Es wurde folglich zusätzlich überprüft, ob die Antwort des Systems passend zu der Anfrage des Anwenders generiert wurde. Ergebnis und Interpretation Von den 60 Anfragen des Anwenders führten bei den drei Objekten 55 zu einer korrekten Antwort des Systems. Die nicht erfolgreichen Anfragen sind allerdings auf die Spracherkennung zurückzuführen, was der Abbildung 5.4 entnommen werden kann. Werden nur die erkannten sprachlichen Äußerungen berücksichtigt, so erkennt das 66 5. Evaluation Abbildung 5.4: Anfrage des Anwenders: “Was ist das?”. 55 von 60 Anfragen werden durch den Spracherkenner erkannt. Alle 55 erkannten Äußerungen werden erfolgreich von dem System verarbeitet. System jede Zeigegeste korrekt und fügt diese mit der Sprache passend zusammen. Die Antwort des Systems erfolgt auf eine Anfrage ebenfalls korrekt, da bei den 55 erkannten Äußerungen die gleiche Anzahl an richtigen Antworten zu finden ist. Frage nach dem Ort Als nächstes wurde die Anfrage “Wo ist das?” überprüft. Als Antwort auf diese Frage erwartet der Anwender eine Beschreibung der Position des gesuchten Objekts. Diese wird von dem System mittels einer Zeigegeste und einer vordefinierten sprachlichen Äußerung ausgegeben. Daher muss überprüft werden, ob die Zeigegeste des Roboters das Objekt korrekt referenziert. Bei dieser Anfrage bedarf das System ebenfalls einer Zeigegeste des Anwenders, damit das System Informationen darüber hat, welches Objekt gesucht wird. Wie bei der ersten Anfrage zeigt der Anwender während seiner Äußerung auf drei Objekte jeweils 20 mal. Die Objekte und deren Positionen sind hierbei die selben wir im ersten Versuch. Ergebnis und Interpretation Die Ergebnisse der drei Objekte wurden in der Abbildung 5.5 zusammengefasst. Auch hier ist eine nicht erfolgreiche Anfrage auf die Spracherkennung zurückzuführen. Allgemein wurden 97% der Anfragen korrekt erkannt. Werden nur die von der Sprachverarbeitung erkannten Äußerungen betrachtet, so erfolgen auf die 56 Äußerungen 100% richtige Antworten. Auch die Ausgaben des Systems, in Form einer 5.4. Multimodales Interaktionsszenario 67 Abbildung 5.5: Anfrage des Anwenders: “Wo ist das?”. 56 von 60 Anfragen werden von dem Spracherkenner korrekt verstanden. Alle der 56 erkannten Äußerungen werden korrekt verarbeitet. Zeigegeste auf das gesuchte Objekt, wurden richtig ausgeführt und in die korrekte Richtung des Objekts gezeigt. Frage nach einem Objekt Eine weitere Anfrage, die der Anwender stellen kann, bezieht sich auf die Position eines ihm bekannten Objekts. Hierfür fragt der Anwender das Robotersystem “Wo ist Objekt?”, wobei das Objekt das ihm bekannte Objekt ist. Die Antwort des Systems erfolgt in gleicher Weise wie bei der Frage zuvor durch eine sprachliche Antwort und eine Zeigegeste des Roboters in Richtung des Objekts. Die Objekte, die zur Evaluation genutzt wurden, waren die schon zuvor benutzten drei Objekte. Die zur Anfrage nötigen Namen der Objekte sind Schrank, Monitor und Roboter. Bei dieser Anfrage bezieht das System keine Zeigegeste mit ein, weshalb diese nicht betrachtet wird. Ergebnis und Interpretation In der Abbildung 5.6 sind die Ergebnisse der Anfragen für die einzelnen Objekte zu sehen. Die Sätze und somit die Objekte werden in 58 von 60 Fällen korrekt erkannt. Nachdem die Sprachverarbeitung eine Äußerung erkannt hat, wird die Anfrage zu 100% korrekt verarbeitet. Die bessere Erkennung dieser Art von Sätzen, als die der vorhergehenden Sätze, ist auf deren Struktur zurückzuführen, die für den Spracherkenner gut von anderen möglichen Äußerungen zu unterscheiden ist. 68 5. Evaluation Abbildung 5.6: Anfrage des Anwenders: “Wo ist Objekt?”. Alle drei Objekte werden jeweils zu mindestens 95% korrekt erkannt und durch eine Zeigegeste richtig referenziert. Die guten Ergebnisse sind zwar in einer Laborumgebung entstanden, jedoch wurden keine besonderen Vorbereitungen in Hinsicht auf Beleuchtung und Hintergrundgeräusche getroffen. Um die Ergebnisse in einer Umgebung mit erschwerten Bedingungen zu überprüfen, wird die Funktionalität des Systems während einer Vorführung in der Haupthalle der Universität Bielefeld getestet. 5.5 Präsentation in der Unihalle Die Präsentation in der Universität fand im Zuge einer Auszeichnung im Bereich der interdisziplinären Kommunikations- und Roboterforschung statt. Die Fachbereiche stellten hierfür ihre Forschungsthemen in der Haupthalle vor, wobei auch der Roboter BARTHOC präsentiert wurde. Es waren mehrere hundert Menschen anwesend, was sehr starke Hintergrundgeräusche verursachte. Bei der Beleuchtung wurde nur auf die vorhandene Universitätsbeleuchtung zurückgegriffen und diese nicht durch weitere Scheinwerfer ergänzt. Es wurde eine Papierkarte (ca 50cm x 80cm) und ein digitales Abbild der Universität erstellt, auf denen prägnante Orte verzeichnet wurden. Hierzu gehören die Cafeteria, die Mensa, die Toiletten, die Position von Geldautomaten, ein Hörsaal, ein Einkaufsladen, das Hochschulrechenzentrum und das Schwimmbad. Die Sprecherlokalisation (Kapitel 3.2.3) funktionierte nur bei lauten Äußerungen, da sie sich an den Geräuschpegel adaptiert und sich die gesprochenen Kommandos von der Umgebungslautstärke abheben müssen. Da zahlreiche Menschen im Blickfeld des Roboters standen, überstiegen die Ressourcenanforderungen der Gesichtsdetektion zeitweise die Kapazität des Systems. Dies hatte zur Folge, dass das Gesicht der Interaktionsperson zeitweise verloren ging. Trotz der erschwerten Bedingungen waren die Ergebnisse während der Vorführung gut. Durch 5.6. Zusammenfassung (a) BARTHOC in der Unihalle 69 (b) Viele Zuschauer im Blickfeld des Roboters Abbildung 5.7: Vorführung in der Unihalle entsprechend laute Äußerungen wurde die Aufmerksamkeit des Systems auf den Anwender gezogen und dieser konnte sich anmelden. Die Zeigegesten funktionierten auf der großen Papierkarte auch auf kleinen Objekten, wie z. B. der Repräsentation der Toilette, die eine Größe von 2,5cm x 1,5cm hatte. Das Robotersystem hat das gleiche Verhalten wie bei den Versuchen im Labor gezeigt. Hat der Spracherkenner die Äußerung verstanden, so hat auch das Robotersystem die richtige Antwort geliefert. Es wurde mehr als jede zweite Anfrage mit den Sätzen “Wo ist das?” und “Was ist das” korrekt durch das System erfasst und die Sätze mit “Wo ist Objekt?” wurden mit ca. 80% richtig bearbeitet. Das System funktioniert folglich auch unter erschwerten realistischen Bedingungen. 5.6 Zusammenfassung Das multimodale Interaktionssystem besteht aus mehreren Komponenten, die einzeln, aber auch in ihrer Gesamtheit betrachtet werden müssen. Hierzu gehören die Kartenerkennung, die Gestenerkennung, die Spracherkennung und auch die Antworten des Robotersystems, von denen die Gestik und Sprache betrachtet werden. Die Kartenerkennung liefert zuverlässig die Eckpunkte der Karte. Die Gestenerkennung detektiert im Mittel auf einen halben Zentimeter genau die Position der Zeigegeste in Kartenkoordinaten. Die Spracherkennung gibt die Äußerungen des Anwenders zu mehr als 90% an das System weiter. Wird allerdings das Gesamtsystem betrachtet, so ergibt sich die Spracherkennung als Schwachstelle des Systems. Trotz der guten Erkennungsrate, werden einige Äußerungen nicht richtig erkannt und das System kann folglich keine korrekte Antwort liefern. Wird die korrekte Äußerungen an das Robotersystem überliefert, synchronisiert das System die passende Geste mit der Äußerung. Die Antwort des Systems erfolgt sowohl sprachlich als auch über 70 5. Evaluation Gestik korrekt. Zusammengefasst ergibt sich ein solides System, welches zuverlässig multimodale Eingaben des Anwenders unterstützt und daraufhin ebenfalls mittels mehrerer Modalitäten eine korrekte Antwort liefert. 6. Zusammenfassung und Ausblick Im Rahmen dieser Diplomarbeit wurde ein Szenario erarbeitet und realisiert, in dem die multimodale Kommunikation zwischen Menschen und einem anthropomorphen Roboter fokussiert wird. Die Kommunikation ist intuitiv und natürlich für den Menschen auszuführen und die Ausgaben des Roboters sind denen des Menschen nachempfunden. Dadurch ist die Bedienbarkeit eines komplexen Computersystems ohne umfassendes technisches Hintergrundwissen für den Menschen möglich. Der anthropomorphe Roboter BARTHOC verfügt über ein dem Menschen nachgebildetes Äußeres, wodurch die zwischenmenschliche Kommunikation als Grundlage für die Interaktion mit diesem Roboter herangezogen werden kann. In einer zwischenmenschlichen Kommunikation greifen die Akteure auf verbale und nonverbale Kommunikation zurück. Dabei halten sich die Kommunikationspartner an kulturell erlernte Regeln, so dass ihre Kommunikation untereinander verständlich ist. Dies beinhaltet Mimiken, Gesten und Sprache, die dadurch Intersubjektiv verstanden werden können. Diese Fähigkeiten werden in einer Kommunikation mit einem Roboter verwendet, um das System intuitiv bedienen zu können. Hierfür wurde ein Szenario entwickelt, in dem der Roboter als Informationssystem hinter einem Tisch steht und der Anwender mittels Sprache und Gestik Informationen über Objekte und deren Position erhalten kann. Zur Spezifizierung zeigt der Anwender dieses auf einer Papierkarte, die auf dem Tisch vor dem Roboter liegt. Auf ihr sind alle dem System bekannten Objekte verzeichnet. Damit das Robotersystem Informationen über den Inhalt der Karte besitzt, muss die Karte digitalisiert werden. Hierfür wurde eine XML-Struktur entwickelt, die eine effiziente Erstellung und Bearbeitung der Karte ermöglicht. Damit auch XMLunerfahrene Anwender fehlerfrei und einfach eine Karte erstellen können, wurde eine grafische Benutzeroberfläche implementiert. Diese arbeitet direkt auf der XMLStruktur und bietet dadurch an, Veränderungen auch während der Laufzeit des Programms durchzuführen. Somit können Veränderungen an der Umwelt des Roboters direkt in die digitale Karte übernommen werden und das Wissen des Roboters dadurch aktuell und korrekt gehalten werden. Für die Erkennung der Lage der Karte auf dem Tisch wurde ein helligkeitsunempfindlicher Kartendetektionsalgorithmus entworfen, der die genaue Position der Karte ermittelt. Die Detektion funktioniert 72 6. Zusammenfassung und Ausblick sehr zuverlässig, da die errechneten Ecken die Position der Karte korrekt wiedergeben. Das System wurde im Rahmen dieser Arbeit um nonverbale Kommunikationsmöglichkeiten erweitert. Um Gesten des Anwenders in das Szenario mit einbeziehen zu können, wurde eine Kamera über dem Tisch angebracht. Dies hat den Vorteil gegenüber der Verwendung der Kameras in Augen des Roboters, dass diese Kameras weiterhin für die Gesichtsdetektion und somit für die Verfolgung des Gesprächspartners genutzt werden können. Weiterhin wären die Karte auf dem Tisch und die Geste des Anwenders über die Kameras in den Augen nicht so genau zu berechnen, da die Eigenbewegung des Roboters nicht exakt herauszurechnen ist. Dies liegt an der Abweichung der Sollposition der Motoren des Roboters von mehr als einem Grad. Die Erkennung der Zeigegesten wird über einen Vergleich mit den in dieser Arbeit erstellten Bewegungsmodellen durchgeführt, die in einen vorhandenen Gestenerkenner integriert wurden. Weiterhin wurde die von der Gestendetektion zurückgelieferte Position in die Fingerspitze verlagert, um die exakte Zeigeposition zu bekommen, was sehr gute Ergebnisse liefert. Für die Kommunikation zwischen Mensch und BARTHOC existiert bereits eine Aufmerksamkeitssteuerung, die den menschlichen Gesprächspartner ermittelt, sowie eine Spracherkennung und ein Dialogsystem, welche die verbale Kommunikation mit dem Robotersystem ermöglichen. Diese wurden an das Szenario angepasst, indem neue Sätze und unbekannte Wörter hinzugefügt wurden. Die Synchronisation der eingehenden Perzepte der Sprache und der Geste wird von dem neu entwickelten Environment Information System (EIS) realisiert. Das Modul führt die sprachliche Äußerung mit der dazugehörigen Zeigegeste zusammen. Anschließend an eine Äußerung liefert es eine multimodale Antwort, indem der Roboter mit einer Geste auf ein Objekt zeigt, durch eine Mimik der interne Zustand des Systems widergespiegelt wird und Informationen sprachlich ausgegeben werden. Durch das menschenähnliche Verhalten des Roboters kann der Anwender die Reaktionen des Systems besser interpretieren, als z. B. ein Ausgabefenster auf einem Bildschirm. Die Kommunikation zwischen Mensch und Maschine ist somit natürlicher und einfacher, als die herkömmliche Interaktion mittels Tastatur und Bildschirm. Ausblick Damit nicht jeweils eine Karte für unterschiedliche Orte des Szenarios aufbewahrt und jede neue Karte auf Papier gebracht werden muss, ist das Ausführen der Zeigegeste auf einen Monitor oder Touchscreen eine sinnvolle Erweiterung. Die Karte würde nur digital existieren und somit nur einmal erstellt werden müssen. Wird ein Touchscreen verwendet, könnte auf die Gestendetektion verzichtet werden. Dies mindert allerdings die Natürlichkeit der Interaktion, da der Bildschirm berührt werden muss. Der Roboter verweist aktuell auf die Position von Objekten. Dies könnte erweitert werden, indem mehrere Räume auf der Karte verzeichnet werden und der Roboter nicht nur auf die Position eines Objekts deutet, sondern auch den Weg dorthin beschreibt. Weiterhin werden die Objekte aktuell durch einen Eintrag in die XML-Struktur der Karte hinzugefügt. Neue Objekte könnten in Zukunft direkt durch die Interaktion erlernt werden. Das Robotersystem würde durch eine Geste des Anwenders auf die Karte ein neues Objekt erlernen oder auch durch eine Geste auf ein reales Objekt die Transformation zwischen Karte und Welt schätzen und 73 dadurch die Position selbstständig in der Karte eintragen. Es wäre ebenfalls denkbar, Positionen von Objekten oder Personen fortlaufend und automatisiert in der Karte eintragen zu lassen, so dass der Roboter immer auf die aktuell korrekte Position zeigt. Die Mimiken des Roboters verändern sich momentan durch eine Aktion des Anwenders. Dies könnte erweitert werden, so dass sich die Mimik fortlaufend verändert, um die Interaktion mit dem System noch realistischer zu gestalten. Auf der anderen Seite könnte auch die Erkennung der Emotion des Anwenders in das System integriert werden, wodurch der Dialog effizienter und tiefgreifender gestaltet werden könnte. 74 6. Zusammenfassung und Ausblick A. Anhang Bewegungsmodelle Für die Gestendetektion wurden drei prototypische Bewegungsmodelle erzeugt. Diese bestehen aus der Geschwindigkeit des Schwerpunkts der hautfarbenen Handregion in X und Y Richtung zu verschiedenen Zeitpunkten. In der ersten Zeile der Parameter steht jeweils die erlaubte Varianz in X und Y (hier immer 0,1): Auge rechts: Name:Auge_rechts Type:D2_VELOCITY Length:12 Dim:2 X, Y 0.1 0.1 -0.02 0.02 -0.06 0.02 -0.11 0.04 -0.15 0.05 -0.17 0.05 -0.19 0.05 -0.18 0.06 -0.15 0.06 -0.11 0.04 -0.09 0.04 -0.05 0.03 -0.02 0.02 Auge vorn: Name:Auge_vorn Type:D2_VELOCITY 76 Length:11 Dim:2 X, 0.1 0.1 0.01 0.01 0.02 0.05 0.01 0.2 -0.03 0.28 -0.05 0.2 -0.06 0.21 -0.04 0.16 -0.02 0.14 0.01 0.12 0.02 0.01 0.01 0.01 A. Anhang Y Auge links: Name:Auge_links Type:D2_VELOCITY Length:8 Dim:2 X, Y 0.1 0.1 0.02 0.02 0.11 0.07 0.15 0.09 0.17 0.14 0.19 0.1 0.17 0.06 0.11 0.03 0.05 0.01 Die Datei, in der die Modelle zusammengeführt werden, wird der Gestendetektion hinzugefügt: Type:D2_VELOCITY Number:3 Auge_rechts Auge_vorn Auge_links Kommunikation Die verschiedenen Programme und Module müssen untereinander kommunizieren. Dies geschieht über das XCF (siehe Kapitel 3.2.1). Die XML-Strukturen, die zur Verwendung kommen, werden im Folgenden vorgestellt. 77 Kommunikation Gestendetektion - EIS Die Gestendetektion sendet Information über die Position der Zeigegeste. <?xml version="1.0"?> <gesture> <gesturepos x="" y=""/> </gesture> Kommunikation Kartenerkennung - EIS Die Kartenerkennung liefert Informationen über die Lage der vier Eckpunkte der Karte, aus denen dessen Lage errechnet werden kann. <?xml version="1.0"?> <corners> <upperleftX></upperleftX> <upperleftY></upperleftY> <upperrightX></upperrightX> <upperrightY></upperrightY> <lowerleftX></lowerleftX> <lowerleftY></lowerleftY> <lowerrightX></lowerrightX> <lowerrightY></lowerrightY> </corners> Kommunikation ESV - EIS Die Kommunikation zwischen ESV und EIS wird ebenfalls über XCF realisiert. Der ESV benachrichtigt das Modul EIS, wenn sprachliche Anweisungen vorliegen. Dabei wird zwischen den drei möglichen sprachlichen Äußerungen unterschieden. Erfordert diese eine Zeigegeste, so wird eine Nachricht mit dem Namen GetObjName (“Was ist das?”) oder ShowObjPosByGest (“Wo ist das?”) gesendet. In GENERATOR steht der Erzeuger der Nachricht, in TIMESTAMP der Zeitpunkt des Versendens der Nachricht und in ORIGIN steht der Ursprung der Nachricht (der ESV leitet die Nachricht des Dialogs weiter). STATE ist immer in dem Zustand PersonAttention, da nur in diesem Zustand der Dialog ausgeführt wird (siehe Kapitel 3.2.4). <MSG xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:type="order"> <GENERATOR>ESV</GENERATOR> <TIMESTAMP></TIMESTAMP> <ID> <ORIGIN mod="DLG"></ORIGIN> </ID> <NAME></NAME> <STATE>PersonAttention</STATE> </MSG> 78 A. Anhang Erfolgt die sprachliche Äußerung mit der Anfrage “Wo ist objekt?”, wird folgende Nachricht versendet. Der Name des objekts steht in dem LABEL, damit der Name mit den gespeicherten Objekten verglichen werden kann. <MSG xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:type="order"> <GENERATOR>ESV</GENERATOR> <TIMESTAMP></TIMESTAMP> <ID> <ORIGIN mod="DLG"></ORIGIN> </ID> <NAME>ShowObjPosByLabel</NAME> <STATE>PersonAttention</STATE> <DATA> <EISDATA> <LABEL></LABEL> </EISDATA> </DATA> </MSG> Kommunikation EIS - ESV Nachdem das Modul EIS die Äußerung verarbeitet hat, wird eine Antwort erzeugt. Die dazu erforderlichen sprachlichen Ausgaben werden über den Dialog ausgegeben. Hierfür sendet EIS die auszugebenen Äußerungen an den ESV, der die Informationen wiederum an den Dialog weiterreicht. Es wird dabei zwischen zwei möglichen Ausgabetypen unterschieden: Einer positiven Antwort, die aus den in der digitalen Karte gespeicherten Informationen erstellt wird und einer vordefinierten negativen Antwort, wenn das Robotersystem kein zu der Anfrage des Anwenders passendes Objekt gefunden hat. In der positiven Rückmeldung wird die auszugebende Information in das LABEL-Tag eingefügt. In einer Antwort wird immer das REF-Tag verwendet, um die Antwort einer Anweisung zuordnen zu können. In BESTBEFORE steht ein Zeitstempel, der das Verwerfen der Nachricht initiiert, wenn er überschritten wird. <MSG xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:type="event"> <GENERATOR></GENERATOR> <TIMESTAMP></TIMESTAMP> <ID> <ORIGIN mod=""></ORIGIN> <REF mod=""></REF> </ID> <NAME></NAME> <STATE>PersonAttention</STATE> <BESTBEFORE></BESTBEFORE> <DATA> <EISDATA> <LABEL></LABEL> </EISDATA> </DATA> </MSG> 79 <MSG xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:type="event"> <GENERATOR>EIS</GENERATOR> <TIMESTAMP></TIMESTAMP> <ID> <ORIGIN mod=""></ORIGIN> <REF mod="DLG"></REF> </ID> <NAME></NAME> <STATE>PersonAttention</STATE> <BESTBEFORE></BESTBEFORE> </MSG> Bilder einer Interaktion Hier seien vier Beispielsbilder gegeben, die die Interaktion mit dem System und die Zeigegesten des Roboters verdeutlichen sollen. Abbildung A.1: Der allgemeine Aufbau vor der Interaktion. 80 A. Anhang Abbildung A.2: Während der Interaktion. Abbildung A.3: Zeigegeste auf entferntes Objekt. 81 Abbildung A.4: Zeigegeste auf nahes Objekt. Die Papierkarte der Universität Abbildung A.5: Die Papierkarte der Haupthalle der Universität. Diese wurde für die Präsentation des Roboters BARTHOC erstellt. Auf der Karte sind alle Details der unteren Ebene der Universität Bielefeld zu sehen. Während der Präsentation konnte auf verschiedene Objekte der Karte gezeigt werden, die dann von dem Roboter in der realen Welt gezeigt wurden. 82 A. Anhang Zeitungsartikel Abbildung A.6: Zeitungsartikel aus der Neuen Westfälischen, Nr. 255 vom 3.11.2007, zur Vorführung in der Unihalle Literaturverzeichnis [1] Argyle, M.: Bodily Communication (2nd edition). New York, Methuen and Co, 1988. [2] Breazeal, Cynthia: Toward sociable robots. Elsevier Science B.V., 2003. [3] Bruce, A., I. Nourbakhsh und R. Simmons: The role of expressiveness and attention in human-robot interaction. AAAI Press, Cape Cod, 2001. [4] Coradeschi, Silvia und Alessandro Saffiotti: Anchoring Symbols to Sensor Data. Center for Applied Autonomous Sensor Systems, Orebro University, S-70182 Orebro, Sweden, 2000. [5] Duffy, B.: Anthropomorphism and Robotics. Proc. AISB Conference, 2002. [6] Ehrenmann, M., R. Becher, B. Giesler, R. Zoellner, O. Rogalla und R. Dillmann: Interaction with Robot Assistants: Commanding ALBERT. 2002. [7] Ekman, Paul: Facial Expressions, Kapitel 16, Handbook of Cognition and Emotion. John Wiley and Sons Ltd, 1999. [8] Fink, G.A.: Developing HMM-based recognizers with ESMERALDA. In: Text, Speech and Dialogue: Second International Workshop, TSD’99, Plzen, Czech Republic, September 1999. Proceedings. Vol. 1692/1999, Seite 229-234. Springer Verlag, Berlin Heidelberg, 1999. [9] Fong, Terrence, Illah Nourbakhsh und Kerstin Dautenhahn: A survey of socially interactive robots. Elsevier Science B.V., 2003. [10] Freund, Y. und R. E. Schapire: A short introduction to boosting. Journal of Japanese Society for Artificial Intelligence, 1999. [11] GEO, Magazin: Roboter: Das Gesicht der Zukunft. Jubiläumsheft 25 Jahre GEO, 2001. Internet, Internetseite GEO. [12] Gorostiza, Javi F., Ramón Barber, Alaa M. Khamis, Marı́a Malfaz Rakel Pacheco, Rafael Rivas, Ana Corrales, Elena Delgado und Miguel A. Salichs: Multimodal Human-Robot Interaction Framework for a Personal Robot. 2005. [13] Graf, Birgit, Matthias Hans und Rolf D. Schraft: Care-O-bot II—Development of a Next Generation Robotic Home Assistant. Autonomous Robots, 2004. 84 Literaturverzeichnis [14] Greshoff, Rainer und Georg Kneer: Lassen sich die Konzepte von Max Weber und Niklas Luhmann unter dem Aspekt “Struktur und Ereignis” miteinander vermitteln? In: Struktur und Ereignis in theorievergleichender Perspektive. Ein diskursives Buchprojekt. Wiesbaden, Westdeutscher Verlag, 1999. [15] Hackel, Matthias, Stefan Schwope, Jannik Fritsch, Britta Wrede und Gerhard Sagerer: A Humanoid Robot Platform Suitable for Studying Embodied Interaction. IEEE/RJS Conf. on Intelligent Robots and Systems, Edmonton, Alberta, Canada, August 2005. [16] Hackel, Matthias, Stefan Schwope, Jannik Fritsch, Britta Wrede und Gerhard Sagerer: Designing a Sociable Humanoid Robot for Interdisciplinary Research. 2006. [17] Hegel, Frank, Thorsten Spexard, Britta Wrede, Gernot Horstmann und Thurid Vogt: Playing a different imitation game: Interaction with an Empathic Android Robot. 2005. [18] Heiko, Ernst: Was ist Kommunikationspsychologie? Psychologie heute, 1976. [19] Hofemann, Nils: Videobasierte Handlungserkennung für die natürliche Mensch-Maschine-Interaktion. Doktorarbeit, AG Angewandte Informatik, Technische Fakultät, Universität Bielefeld, 2006. [20] Hohenner, Sascha, Sebastian Lang, Marcus Kleinehagenbrock, Gernot A. Fink und Franz Kummert: Multimodale Sprecherlokalisation für Mensch-Roboter-Interaktionen in einer Multi-Personen-Umgebung. Elektronische Sprachsignalverarbeitung, volume 28 of Studientexte zur Sprachkommunikation, Karlsruhe, 2003. [21] Huewel, Sonja und Britta Wrede: Spontaneous Speech Understanding for Multi-Modal Human-Robot Communication. 2006. [22] Huewel, Sonja, Britta Wrede und Gerhard Sagerer: Semantisches Parsing mit Frames für robuste multimodale Mensch-Maschine Kommunikation. 2005. [23] Huewel, Sonja, Britta Wrede und Gerhard Sagerer: Robust Speech Understanding for Multi-Modal Human-Robot Communication. 2006. [24] Ishiguro, H. und T. Minato: Development of androids for studying on human-robot interaction. In: Proceedings of 36th International Symposium on Robotics. [25] Lang, Sebastian: Multimodale Aufmerksamkeitssteuerung für einen mobilen Roboter. Doktorarbeit, AG Angewandte Informatik, Technische Fakultät, Universität Bielefeld, 2005. [26] Loemker, F., S. Wrede, M. Hanheide und J. Fritsch: Building Modular Vision Systems with a Graphical Plugin Environment. In: Proc. Int. Conf. on Computer Vision Systems, Nummer 4, 2006. Literaturverzeichnis 85 [27] Luhmann, Niklas: Intersubjektivität oder Kommunikation: Unterschiedliche Ausgangspunkte soziologischer Theoriebildung. Archivion die Filosofia 54, 1986. [28] MacDorman, Karl F. und Hiroshi Ishiguro: The uncanny advantage of using androids in cognitive and social science research. Interaction Studies, 2006. [29] Matarić, Maja J: Situated Robotics. Encyclopedia of Cognitive Science, Nature Publishers Group, 2002. [30] Mori, Masahiro: The Uncanny Valley. Energy, 1970. [31] Nagai, Yukie: Joint Attention Emerges through Bootstrap Learning. 2003. [32] Nagai, Yukie, Minoru Asada und Koh Hosoda: Developmental learning model for joint attention. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006. [33] Nass, C., K. Isbister und E-J. Lee: Truth is beauty: Researching conversational agents. J. Cassells, J. Sullivan, S. Prevost, E. Churchill (Eds.), Embodied conversational agents, 2000. [34] Nobe, S.: Where do most spontaneous representational gestures actually occur with respect to speech? In: McNeill, D. (ed.), Language and Gesture. Cambridge University Press, 2000. [35] Peters, Viktor: Effizientes Training ansichtsbasierter Gesichtsdetektoren. Diplomarbeit, AG Angewandte Informatik, Technische Fakultät, Universität Bielefeld, 2006. [36] Quintanar, L.R., C.R. Crowell, J.B. Pryor und J. Adamopoulos: Human-computer interaction: A preliminary social psychological analysis. Behavior Research Methods and Instrumentation, 1982. [37] Schneider, Wolfgang Ludwig: Grundlagen der soziologischen Theorie I. Wiesbaden, Westdeutscher Verlag, 2002. [38] Schneider, Wolfgang Ludwig: Grundlagen der soziologischen Theorie II. Wiesbaden, Westdeutscher Verlag, 2002. [39] Spexard, Thorsten: Aufmerksamkeitsgesteuerte Interaktion mit einem anthropomorphen Roboter. Diplomarbeit, AG Angewandte Informatik, Technische Fakultät, Universität Bielefeld, 2005. [40] Viola, Paul und Michael Jones: Robust Real-time Object Detection. Second International Workshop on Statistical and Computational Theories of Vision Modeling, Learning, Computing, Sampling, Vancouver, Canada, 2001. [41] Watt, S.: Seeing things as people: anthropomorphism and common-sense psychology. Doktorarbeit, Knowledge Media Institute, The Open University, 1998. [42] Wrede, S., J. Fritsch, C. Bauckhage und G. Sagerer: An XML Based Framework for Cognitive Vision Architectures. In: Proc. Int. Conf. on Pattern Recognition, Nummer 1, Seiten 757–760, 2004. 86 Literaturverzeichnis Index 87 Index Albert, 15 Anchor, siehe Anchoring, 36 Anchor-Lost-Time, 32 Anchoring, 32 Anthropomorph, 12 Arbeitsraum, 53 Attention States, siehe Aufmerksamkeitszustände Audiosignale, siehe Geräuschdetektion Aufbau, 39 Aufmerksamkeit, 8 Aufmerksamkeitszustände, 35 Augenkontakt, 8 Automat, 35 BARTHOC, 21–22, 27, 36, 39, 46, 53 BARTHOC Junior, 23, 53 Bereitschaftsphase, 33, 34, 36 Bewegungsbefehl, 53 ignorance, 53 show, 53 Bewegungsmodelle, siehe Gestendetektion bottom-up, 36 Breazeal, 15 Care-o-Bot II, 16 CTR, siehe Gestendetektion Datenübertragung, siehe XCF Dialog, 37, 46 Dispatcher, 26 EIS, siehe Environment Information System Empfänger, 6 Environment Information System, 47, 65 Ergebnisse, 61 ESMERALDA, 36, 46 ESV, siehe Execution Supervisor Evaluation, 61 Execution Supervisor, 25, 36, 48 Freiheitsgrad, 22 Geräuschdetektion, 30–31 Gesellschaft, 6 Gesichtsausdruck, siehe Mimik Gesichtserkennung, siehe Icewing Geste, siehe Gestik Gestendetektion, siehe Icewing Gestenerkennung, 62 Gestik, 7, 9, 25 deiktisch, 9 ikonisch, 9 symbolisch, 9 Gitter, 41 grounded, 32 Grundmimiken, 8 GUI, 47 Icewing, 27 Gesichtserkennung, 28–30 Gestendetektion, 44 iModules, 21 Interaktion, 6 Interaktionsphase, 33, 36 IsFacing, 34 IsSelected, 34 IsStanding, 34 IsTalking, 34 Junior, siehe BARTHOC Junior Körpersprache, 7, 8 Karte, 39, 41, 47 Digital, 42, 53 Papier, 41 Kartenerkennung, 43, 43, 61 Kinematik, 53–57 Kismet, 15 Kommunikation, 5–7, 48 Komponentenanchor, 33 Kompositionsanchor, 33 88 Laser-Range-Finder, 15 Lexikon, 37, 46 LRF, siehe Laser-Range-Finder Mabotic, 21 Maggie, 17 Maske, 22 Mensch-Roboter Kommunikation, 11–14 Mimik, 7, 8, 24, 52, 57 Modalität, 7, 8 Modul, 25 Multimodal, 10 Multimodale Kommunikation, 10–11 Nachricht, 6 Nameserver, 26 Nonverbale Kommunikation, 7–10 Person of Interest, 34, 36 Personenaufmerksamkeit, 33, 36 Perzept, 7, 25, 27, 36 Plugin, siehe Icewing Publisher, 26 Relevanz, 34 Remote Procedure Call, 26 Repliee Q2, 18 Roboter, 11 Schnittstelle, 11 Seilzug, 25 Sender, 6 Sobelfilter, 43 Software, 25 Sozial, 13 Sozialverhalten, 8 Sploc, 31 Spracheingabe, siehe Sprachverarbeitung Spracherkennung, siehe Sprachverarbeitung, 46 Sprachverarbeitung, 36, 52, 64 Subscriber, 26 Szenario, 39, 41, 46 top-down, 36 ungrounded, 32 Verständigung, 6 XCF, 26–27 Index