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