Roboterarm-Ansteuerung mit Hilfe von visuellen Vorw¨artsmodellen
Roboterarm-Ansteuerung mit Hilfe von visuellen Vorw¨artsmodellen
Roboterarm-Ansteuerung mit Hilfe von visuellen Vorw¨artsmodellen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Universität Bielefeld<br />
Technische Fakultät<br />
AG Technische Informatik<br />
Diplomarbeit<br />
<strong>Roboterarm</strong>-<strong>Ansteuerung</strong> <strong>mit</strong> <strong>Hilfe</strong> <strong>von</strong><br />
<strong>visuellen</strong> Vorwärtsmodellen<br />
Dennis Sinder<br />
16. Mai 2006<br />
Betreuer<br />
Dipl.-Psych. Wolfram Schenck<br />
Prof. Dr. Ralf Möller
Danksagung<br />
Mein Dank geht in erster Linie an meine Freundin, meine Eltern und meinen Bruder, die<br />
mich alle in der Zeit meines Studiums und ganz besonders in der Zeit der Diplomarbeit<br />
unterstützt haben.<br />
Ausserdem danke ich meinen Betreuern Dipl.-Psych. Wolfram Schenk und Prof.Dr.-Ing.<br />
Ralf Möller, sowie den weiteren Mitarbeitern der Arbeitsgruppe ”<br />
Technische Informatik“,<br />
für ihre ständige Hilfsbereitschaft.<br />
2 Universität Bielefeld, AG Technische Informatik
Inhaltsverzeichnis<br />
Inhaltsverzeichnis<br />
1 Einleitung 5<br />
2 Theoretischer Hintergrund 9<br />
2.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />
2.2 Interne Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
2.2.1 Interne Vorwärtsmodelle . . . . . . . . . . . . . . . . . . . 11<br />
2.2.2 Inverse Modelle . . . . . . . . . . . . . . . . . . . . . . . 13<br />
2.2.3 Externe Vorwärtsmodelle . . . . . . . . . . . . . . . . . . 13<br />
2.2.4 Kombination der Modelle . . . . . . . . . . . . . . . . . . 14<br />
2.3 Neuronale Lernverfahren . . . . . . . . . . . . . . . . . . . . . . 14<br />
2.3.1 Back-Propagation Verfahren . . . . . . . . . . . . . . . . 18<br />
2.3.2 Resilient-Propagation Verfahren . . . . . . . . . . . . . . 21<br />
2.4 Optimierungsverfahren zur Bildung <strong>von</strong> Verhaltensketten . . . . . 22<br />
3 Experimentelles Setup 27<br />
3.1 Kamera-Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />
3.2 <strong>Roboterarm</strong>-Setup . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />
3.3 Arbeitsbereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />
3.3.1 Einschränkung der Verschiebebewegungen . . . . . . . . 29<br />
3.3.2 Einschränkung des Verschiebebereiches . . . . . . . . . 30<br />
3.4 Datenbank-Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
3.4.1 Sammeln <strong>von</strong> Trainingsdaten . . . . . . . . . . . . . . . . 31<br />
3.4.2 Datenrepräsentation der Datenbank . . . . . . . . . . . . 34<br />
4 Realisierung 35<br />
4.1 Ablauf einer Verschiebeoperation . . . . . . . . . . . . . . . . . . 35<br />
4.2 Bildvorverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />
4.3 Visuelles Vorwärtsmodell . . . . . . . . . . . . . . . . . . . . . . 39<br />
4.3.1 Normierung der Lernbeispiele . . . . . . . . . . . . . . . 41<br />
4.3.2 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />
4.4 Bildung <strong>von</strong> Verhaltensketten . . . . . . . . . . . . . . . . . . . . 43<br />
Universität Bielefeld, AG Technische Informatik 3
Inhaltsverzeichnis<br />
4.5 Berechnung des Greifer-Startzustands . . . . . . . . . . . . . . . 45<br />
5 Experimente 47<br />
5.1 Auswertungsindikatoren . . . . . . . . . . . . . . . . . . . . . . . 48<br />
5.1.1 Indikatoren der Trainingsphase . . . . . . . . . . . . . . . 48<br />
5.1.2 Indikatoren der Testphase . . . . . . . . . . . . . . . . . . 49<br />
5.2 Variation der Faktoren . . . . . . . . . . . . . . . . . . . . . . . . 50<br />
5.2.1 Variation der Bildvorverarbeitung . . . . . . . . . . . . . . 50<br />
5.2.2 Variation der Trainingsgröße . . . . . . . . . . . . . . . . 52<br />
5.2.3 Variation des Lernverfahrens . . . . . . . . . . . . . . . . 53<br />
5.2.4 Variation der Netzwerkstruktur . . . . . . . . . . . . . . . 54<br />
5.2.5 Anwendungstest . . . . . . . . . . . . . . . . . . . . . . . 56<br />
5.2.6 Differential Evolution . . . . . . . . . . . . . . . . . . . . . 60<br />
5.3 Zusammenfassung der Resultate . . . . . . . . . . . . . . . . . . 61<br />
6 Zusammenfassung 67<br />
7 Verbesserungsvorschläge 71<br />
A Literaturverzeichnis 75<br />
4 Universität Bielefeld, AG Technische Informatik
1<br />
Einleitung<br />
Die Fähigkeit <strong>von</strong> Lebewesen, ihre komplexe Umwelt visuell wahrzunehmen, zu<br />
interpretieren und schließlich das eigene Verhalten anzupassen, konnte bislang technisch<br />
nicht nachgebildet werden. Trotz vieler guter Ansätze sind nach heutigem Stand<br />
Leistungsfähigkeit und Flexibilität der biologischen Vorbilder noch nicht in erreichbarer<br />
Nähe. Für Menschen ist die Verrichtung vieler Aufgaben, wie zum Beispiel die<br />
Bewegung der Gliedmaßen, selbstverständlich. Sie wissen in welcher Art und Weise<br />
sie einen Arm zu bewegen haben, um ihn in eine gewollte Position zu bringen. Derart<br />
kontrollierte Bewegungen gilt es zu erforschen, um die motorischen Fähigkeiten des<br />
Menschen technisch nachbilden zu können. Wichtig ist dabei die Koordination <strong>von</strong><br />
Augen und Gliedmaßen, da gezielte Bewegungen oft nur durch visuelle Kontrolle<br />
möglich sind. Die zur Koordination verwendeten neuronalen Bewegungskontrollen des<br />
menschlichen zentralen Nervensystems werden durch so genannte ”<br />
Interne Modelle“<br />
beschrieben (Wolpert et al., 2001). Ein wichtiges internes Modell ist das so genannte<br />
Vorwärtsmodell. Die Eigenschaft des Vorwärtsmodells ist dabei die Vorhersage <strong>von</strong><br />
sensorischen Zuständen.<br />
Ein Beispiel für die Anwendung <strong>von</strong> <strong>visuellen</strong> Vorwärtsmodellen ist die Vorhersage<br />
<strong>von</strong> Objektpositionen durch eine Person <strong>mit</strong> eingeschränktem Sichtfeld, die einen<br />
Raum durchquert (Rieser et al., 1986). Obwohl durch die Sichteinschränkung manche<br />
Objekte nicht mehr sichtbar sind, ist die Person in der Lage, deren Position relativ<br />
genau zu bestimmen.<br />
Es gibt einige Studien, die visuelle Vorhersagen <strong>von</strong> selbst generierten Handlungen<br />
durch Vorwärtsmodelle untersuchen (Hoffmann und Möller, 2004; Blakemore et al.,<br />
1999, 2000).<br />
Diese Diplomarbeit beschäftigt sich <strong>mit</strong> der Implementierung einer <strong>Roboterarm</strong>-<br />
Universität Bielefeld, AG Technische Informatik 5
1 Einleitung<br />
<strong>Ansteuerung</strong> <strong>mit</strong> <strong>Hilfe</strong> <strong>von</strong> <strong>visuellen</strong> Vorwärtsmodellen. Dabei werden Aspekte des<br />
menschlichen sensomotorischen Systems im Bezug auf die Koordination <strong>von</strong> Sensoren<br />
und Effektoren modelliert. Die Vorwärtsmodelle werden genutzt, um eine zielgerichtete<br />
Handlung zu realisieren. Es gilt dabei, den entstehenden sensorischen Fehler zwischen<br />
erwartetem und tatsächlich eintreffenden Ziel zu minimieren, um dieses Ziel <strong>mit</strong><br />
größter Genauigkeit zu erreichen. Bei dem verwendeten Effektor handelt es sich um<br />
einen <strong>Roboterarm</strong> <strong>mit</strong> einem Greifer, bei dem Sensor um ein Kamerasystem.<br />
Das umzusetzende Ziel dieser Arbeit ist die Verschiebung eines Objektes <strong>mit</strong> <strong>Hilfe</strong><br />
des <strong>Roboterarm</strong>s. Start- und Zielzustand bestehen dabei aus Position und Orientierung<br />
des Objektes, welche in visueller Form eines Kamerabildes vorgegeben wird. Bei<br />
dem entstehenden Szenario überführt der <strong>Roboterarm</strong> das Objekt durch Anwendung<br />
<strong>von</strong> Motorkommandos <strong>von</strong> einem sensorischen Zustand ¢¡ zum Zeitpunkt £ in einen<br />
sensorischen Zustand ¤¡¦¥¨§ zum Zeitpunkt £© . Hierbei ist es <strong>von</strong> großem Interesse<br />
den sensorischen Zustand ¡¦¥¨§ schon zum Zeitpunkt £ vorhersagen zu können, um eine<br />
optimale Entscheidung über die zu wählenden Motorkommandos zu treffen. Unter<br />
Nutzung der <strong>visuellen</strong> Vorhersage eines Vorwärtsmodells, in Kombination <strong>mit</strong> einer<br />
Optimierung des entstehenden sensorischen Fehlers, ist es möglich, Motorkommandos<br />
zu berechnen, die zu dem gewünschten Zielzustand führen.<br />
Die Verschiebeoperation soll entlang einer möglichst sauberen Trajektorie verlaufen,<br />
die große Umwege ausschließt. Es ist sinnvoll, eine solche zielgerichtete Bewegung<br />
durch eine Sequenz <strong>von</strong> Motorkommandos zu realisieren. Eine Methode, um<br />
eine geeignete Sequenz <strong>von</strong> Motorkommandos zu finden, liegt laut Hoffmann und<br />
Möller (2004) in der Optimierung einer Kette <strong>von</strong> identischen aufeinander folgenden<br />
Vorwärtsmodellen. Es stellt sich dabei die Frage, wie gut sich eine zielgerichtete Bewegung<br />
durch eine Verkettung <strong>von</strong> mehreren aufeinander folgenden Vorwärtsmodellen<br />
realisieren lässt. Schon kleine Vorhersagefehler in den einzelnen Vorwärtsmodellen<br />
können sich schnell zu größeren Fehlern aufsummieren.<br />
In Kapitel 2 wird nach einer Motivation der Problemstellung <strong>mit</strong> kurzer Einführung in<br />
die bereits vorhandenen Studien ein theoretischer Überblick über die verwendeten Methoden<br />
und Verfahren gegeben. Nachdem dabei grundlegende Strukturen der internen<br />
Modelle beschrieben wurden, wird auf die neuronalen Netze eingegangen, <strong>mit</strong> <strong>Hilfe</strong><br />
derer es möglich ist, ein solches Vorwärtsmodell zu trainieren. Anschließend wird das<br />
Optimierungsverfahren ”<br />
Differential Evolution“ erläutert, welches eine geeignete Verkettung<br />
<strong>von</strong> Vorwärtsmodellen zu der gesuchten Verschiebeoperation berechnet.<br />
Im darauf folgenden Kapitel 3 wird das Setup beschrieben, welches eine Grundlage<br />
für die praktische Realisierung bildet. Das Setup ist unterteilt in das Kamera-, das<br />
<strong>Roboterarm</strong>- und das Datenbank-Setup. Des Weiteren wird dort eine Einschränkung<br />
des Bereiches spezifiziert in dem die Verschiebeoperation ausgeführt werden soll.<br />
Auf die in Kapitel 2 und 3 beschriebenen Methoden und Verfahren aufbauend wird<br />
in Kapitel 4 geschildert, in welcher Art und Weise die Implementierung eines vi-<br />
6 Universität Bielefeld, AG Technische Informatik
1 Einleitung<br />
suellen Vorwärtsmodells realisiert wurde. Dabei wird zu Beginn die Umsetzung des<br />
Vorwärtsmodells als Multi-Layer-Perzeptron und die dabei verwendete Struktur der<br />
Lernbeispiele erläutert. Nach der Berechnung des Greifer-Startzustandes wird zuletzt<br />
noch die Realisierung <strong>von</strong> Differential Evolution beschrieben.<br />
In Kapitel 5 wird über die Experimente und deren Resultate berichtet. Hier wird auch<br />
darauf eingegangen, inwiefern die gestellte Aufgabe gelöst wurde und welche Verfahren<br />
und Variationen sich dabei als gut bzw. nicht geeignet herausgestellt haben.<br />
Nach einer kurzen Zusammenfassung in Kapitel 6 werden in Kapitel 7 noch mögliche<br />
Verbesserungsvorschläge vorgestellt, auf die im Rahmen dieser Arbeit nicht mehr eingegangen<br />
werden konnte.<br />
Universität Bielefeld, AG Technische Informatik 7
1 Einleitung<br />
8 Universität Bielefeld, AG Technische Informatik
2<br />
Theoretischer Hintergrund<br />
Dieses Kapitel beginnt <strong>mit</strong> einer Motivation des Zieles dieser Arbeit im Abschnitt 2.1.<br />
Die folgenden Abschnitte dienen zur Erläuterung des theoretischen Hintergrunds der in<br />
Kapitel 4 realisierten Modelle und Verfahren. Die so genannten internen Modelle, die<br />
bereits in der Einleitung erwähnt wurden, werden im Abschnitt 2.2 genauer beschrieben.<br />
Eines dieser Modelle ist das so genannte Vorwärtsmodell, welches im Rahmen<br />
dieser Arbeit eine wichtige Rolle spielt. In Abschnitt 2.3 werden neuronale Lernverfahren<br />
beschrieben. Dabei gibt es unterschiedliche Strukturen und Lernarten, die es zu<br />
berücksichtigen gilt. Schließlich wird im Abschnitt 2.4 das Optimierungsverfahren Differential<br />
Evolution erläutert. Mit <strong>Hilfe</strong> dieses Verfahrens ist es möglich, eine Kette <strong>von</strong><br />
Vorwärtsmodellen zu bilden, welche vom Startzustand einer Verschiebeoperation zum<br />
Zielzustand führt.<br />
2.1 Motivation<br />
Aktuelle Forschungen in der Kognitionswissenschaft legen nahe, dass die neuronale<br />
Bewegungskontrolle durch interne Modelle, unterteilt in inverse Modelle und<br />
Vorwärtsmodelle, realisiert wird. Dabei wird in der Motorik das Vorwärtsmodell<br />
verwendet, um die sensorische Konsequenz <strong>von</strong> Handlungen vorherzusagen. Inverse<br />
Modelle hingegen werden benötigt, um Motorkommandos zu berechnen, durch die eine<br />
gewünschte Handlung ausgeführt und ein gewünschter sensorischer Zustand erreicht<br />
werden kann. Laut Möller (2001) ist es nicht auszuschließen, dass Vorwärtsmodelle bei<br />
den sensomotorischen Fähigkeiten <strong>von</strong> Menschen eine wichtige Rolle spielen.<br />
Auch im Bereich der somatosensorischen (taktilen) Vorhersagen können<br />
Universität Bielefeld, AG Technische Informatik 9
2 Theoretischer Hintergrund<br />
Vorwärtsmodelle die sensorische Konsequenz <strong>von</strong> selbstgenerierten Handlungen<br />
voraussagen (Blakemore et al., 1998). Jedoch muss streng zwischen selbstgenerierten<br />
und fremdgenerierten Handlungen unterschieden werden. Der Reiz einer selbstgenerierten<br />
Handlung kann eine andere sensorische Konsequenz hervorrufen, als ein<br />
identischer Reiz einer fremdgenerierten Handlung.<br />
Blakemore et al. (2000) erläutern dies an dem Beispiel des ”<br />
Kitzelns“. In einer Studie<br />
zeigen sie, dass die Frage, warum ein Mensch sich nicht selbst kitzeln kann, durch<br />
die Existenz interner Modelle beantwortet werden kann. Der Grund hierfür liegt<br />
darin, dass Menschen durch wiederholte Ausführung einer Handlung diese immer<br />
besser vorhersagen können. Dadurch kann die sensorische Konsequenz auf eine solche<br />
Handlung zunehmend unterdrückt werden. Die Konsequenz auf fremd initiierte Handlung<br />
hingegen kann nur teilweise vorhergesagt werden, so dass eine nicht erwartete<br />
Handlung eine stärkere sensorische Konsequenz haben kann.<br />
Diese Arbeit beschäftigt sich ausschließlich <strong>mit</strong> sensorischen Konsequenzen selbstgenerierter<br />
Handlungen. Ihr Ziel ist dabei die Untersuchung, auf welche Art und Weise<br />
visuelle Vorwärtsmodelle für einen <strong>Roboterarm</strong> <strong>mit</strong> Kamera-Kopf realisiert werden<br />
können. Dabei ist die gestellte Aufgabe die Verschiebung eines Objektes <strong>von</strong> einem<br />
sensorischen Startzustand in einen sensorischen Zielzustand, wobei die sensorischen<br />
Zustände nur in visueller Form vorliegen. Der genaue Ablauf einer solchen Verschiebeoperation<br />
wird im Abschnitt 4.1 beschrieben.<br />
Hoffmann und Möller (2004) untersuchten in diesem Kontext bereits, wie sich eine<br />
zielgerichtete Bewegung durch eine Kette <strong>von</strong> aufeinander folgenden <strong>visuellen</strong> Vorhersagen<br />
realisieren lässt. Auf diese Weise können kleinschrittige Vorhersagen zur Lösung<br />
komplexer Aufgaben verwendet werden.<br />
Als Motivation dieser Arbeit dient, wie schon in der Einleitung erwähnt, der Erwerb<br />
<strong>von</strong> sensomotorischen Fähigkeiten in Anlehnung an das menschliche sensomotorische<br />
System. Die internen Modelle dienen dabei zur sensomotorischen Koordination <strong>von</strong><br />
Sensoren und Effektoren.<br />
Im folgenden Abschnitt wird genauer beschrieben, wie die internen Modelle aufgebaut<br />
sind und für welche Aufgabenbereiche sie geeignet sind.<br />
2.2 Interne Modelle<br />
Interne Modelle gewinnen zunehmend Bedeutung in aktuellen Forschungen der Neuround<br />
Kognitionswissenschaften. Es stellt sich dabei die Frage, wie das zentrale Nervensystem<br />
(ZNS) im Bezug auf die Motorik funktioniert und welche Arten <strong>von</strong> internen<br />
Modellen dabei wichtige Rollen übernehmen. Interne Modelle können laut Wolpert und<br />
Miall (1996) in folgende drei Arten <strong>von</strong> Modellen unterteilt werden.<br />
interne Vorwärtsmodelle<br />
10 Universität Bielefeld, AG Technische Informatik
2 Theoretischer Hintergrund<br />
Abbildung 2.1: Vorwärtsmodelle sagen anhand <strong>von</strong> Informationen über den Ausgangspunkt einer Bewegung und der<br />
Efferenzkopie den nächsten sensorischen Zustand vorraus.<br />
inverse Modelle<br />
externe Vorwärtsmodelle<br />
2.2.1 Interne Vorwärtsmodelle<br />
Ein internes Vorwärtsmodell dient zur Vorhersage der sensorischen Konsequenzen eines<br />
gegebenen Motorkommandos. Wenn zum Zeitpunkt ein Sensorzustand und ein Motorkommando<br />
vorliegen, so kann das Vorwärtsmodell den darauf folgenden Sensorzustand<br />
£<br />
zum Zeitpunkt schätzen, der nach der Ausführung des motorischen Befehls vorliegt<br />
(siehe Abbildung 2.1). Soll beispielsweise eine Person ein Objekt über den Tisch<br />
schieben, muss der Arm <strong>von</strong> einer Startposition in eine Zielposition überführt werden.<br />
£ © <br />
Bei der Koordinierung einer solchen Bewegung ist bereits bei der Kommandogenerierung<br />
<strong>von</strong> Interesse, ob die gewählten Kommandos an die Muskulatur den gewünschten<br />
sensorischen Effekt erzielen.<br />
Vorhandene Studien unterteilen interne Vorwärtsmodelle in drei Kategorien (Karniel,<br />
2002).<br />
Output Predictor<br />
State Estimator<br />
Distal Teacher<br />
Output Predictor<br />
Der ”<br />
Output Predictor“ macht Vorhersagen über die zu erreichenden Zustände. Ein Beispiel<br />
ist die bereits beschriebene Beobachtung, dass man sich nicht selbst kitzeln kann<br />
(Blakemore et al., 2000). Aus den Beobachtungen, dass selbst initiierte taktile Stimulationen<br />
zu geringeren Empfindungen führen als fremd initiierte, schließen Blakmore et<br />
al., dass es ein Modell zur Vorhersage <strong>von</strong> sensorischen Konsequenzen auf selbstproduzierte<br />
Situationsveränderung geben muss. Außerdem muss es dem Gehirn möglich<br />
sein Konsequenzen auf gleiche Handlungen abzuspeichern und die sensorischen Empfindungen<br />
auf diese Handlung zu reduzieren oder gar zu unterdrücken.<br />
Universität Bielefeld, AG Technische Informatik 11
2 Theoretischer Hintergrund<br />
Abbildung 2.2: Distal Teacher. Die Kombination aus inversem Modell und Vorwärtsmodell ermöglicht das Training <strong>von</strong><br />
inversen Modellen.<br />
Das sensorische Signal kann in ”<br />
Afferenz“, bestehend aus externem Einfluss auf den<br />
Körper, und ”<br />
Reafferenz“, bestehend aus der sensorischen Konsequenz auf eigene<br />
Handlungen, unterteilt werden. Durch eine Efferenzkopie, einer Kopie des ausgeführten<br />
Motorkommandos, kann ein Vorwärtsmodell eine Vorhersage des sensorischen Folgezustands<br />
erstellen, welche <strong>mit</strong> dem tatsächlich eintreffenden sensorischen Zustand verglichen<br />
werden kann. Die entstehende sensorische Differenz informiert das zentrale Nervensystem<br />
über mögliche externe Einflüsse. Die Grundlage dieses Prinzips ist das seit<br />
längerem bekannte Reafferenzprinzip (Holst und Mittelstaedt, 1950).<br />
State Estimator<br />
Der State Estimator dient zur Vorhersage interner Zustände in dynamischen Systemen.<br />
Durch einen ”<br />
Observer“, welcher Vorwärtsmodelle verwendet, können interne Zwischenergebnisse<br />
verarbeitet werden. Ein Beispiel ist die Koordination <strong>von</strong> Motorsignalen<br />
beim Zusammenspiel <strong>von</strong> zwei verschiedenen Körperteilen wie z.B. Auge und Arm<br />
oder zweier Arme. Diese Koordination wird durch die Vorhersage der internen Zwischenzustände<br />
ermöglicht.<br />
Distal Teacher<br />
Beim ”<br />
Distal Teacher“ handelt es sich um ein Vorwärtsmodell, welches das Trainieren<br />
<strong>von</strong> inversen Modellen (siehe Abschnitt 2.2.2) ermöglicht. Bei der Erzeugung einer<br />
gezielten motorischen Handlung berechnet das inverse Modell ein Motorkommando,<br />
das den momentanen Zustand in einen Folgezustand überführt. Das Vorwärtsmodell hat<br />
dabei die Aufgabe, den aus dem sensorischen Zustand hervorgehenden sensorischen<br />
Fehler in einen motorischen umzuwandeln. Dieser wird wiederum vom ”<br />
Distal Teacher“<br />
genutzt, um das inverse Modell zu trainieren und so<strong>mit</strong> den motorischen Fehler<br />
zu minimieren (siehe Abbildung 2.2). Durch diesen Kreislauf wird Schritt für Schritt<br />
12 Universität Bielefeld, AG Technische Informatik
2 Theoretischer Hintergrund<br />
Abbildung 2.3: Inverse Modelle dienen der Bewegungskontrolle. Sie bestimmen ausgehend vom gew ünschten Zustand<br />
und dem Ausgangszustand, den erforderlichen motorischen Befehl.<br />
das inverse Modell trainiert und im Bezug zur Aufgabenstellung optimiert. Als Beispiel<br />
dient hier die Bewegung des Arms zu einem <strong>visuellen</strong> Ziel. Während der Bewegung zum<br />
Ziel führen jegliche Fehler im Motorkommando zu <strong>visuellen</strong> Fehlern, welche durch das<br />
Vorwärtsmodell in motorische Fehler umgerechnet werden. Das inverse Modell kann<br />
daraufhin eine Korrektur des Motorkommandos bewirken.<br />
2.2.2 Inverse Modelle<br />
Inverse Modelle transformieren gewünschte Bewegungsziele in erforderliche Efferenzen<br />
und ermöglichen so<strong>mit</strong> eine Bewegungssteuerung. Das inverse Modell eines Arms<br />
würde beispielsweise ein Motorkommando (Efferenz) berechnen, was zu einer Bewegung<br />
des Arms und da<strong>mit</strong> einem neuen Zustand führt. Dabei besteht der Input aus dem<br />
aktuellen und dem gewünschten sensorischen Zustand (siehe Abbildung 2.3). Wie schon<br />
im vorhergehenden Abschnitt beschrieben, kann ein inverses Modell durch Zuhilfenahme<br />
eines Vorwärtsmodells trainiert werden.<br />
Oftmals ist die Abbildung eines inversen Modells eine so genannte ”<br />
one-to-many“-<br />
Abbildung. Dabei kann ein gewünschter sensorischer Zustand durch mehrere unterschiedliche<br />
Lösungswege erreicht werden. Als Beispiel einer solchen Abbildung kann<br />
die Kinematik <strong>von</strong> <strong>Roboterarm</strong>en herangezogen werden. Bei der Berechnung der inversen<br />
Kinematik können mehrere unterschiedliche Winkelstellungen der einzelnen Gelenke<br />
berechnet werden, welche alle die gleiche Position und Orientierung des Greifers<br />
erzeugen. Diese Mehrdeutigkeit stellt eine Schwierigkeit für das Lernen <strong>von</strong> inversen<br />
Modellen dar. Eine Kombination <strong>von</strong> inversen Modellen und Vorwärtsmodellen wird<br />
verwendet um diese Schwierigkeit zu kompensieren (siehe Abschnitt 2.2.4).<br />
2.2.3 Externe Vorwärtsmodelle<br />
Bei den externen Vorwärtsmodellen geht es nicht wie bei den internen<br />
Vorwärtsmodellen um die Vorhersage <strong>von</strong> Zuständen aufgrund <strong>von</strong> selbst generierten<br />
Kommandos, sondern um die Vorhersage <strong>von</strong> Situationsänderungen eines<br />
externen Systems, das sich unabhängig vom Individuum verhält. Beispielsweise kann<br />
die Lageänderung eines Objektes vorhergesagt werden, welches nicht im Zusammen-<br />
Universität Bielefeld, AG Technische Informatik 13
2 Theoretischer Hintergrund<br />
hang <strong>mit</strong> dem eigenen motorischen Apparat steht. Als konkretes Beispiel dient hier ein<br />
fallendes oder rollendes Objekt, dass eine Person zu fangen versucht.<br />
Diese Art <strong>von</strong> Vorwärtsmodellen spielt in Anbetracht der zu lösenden Aufgabe<br />
keine weitere Rolle, da nur interne Vorwärtsmodelle im Bezug auf selbstgenerierete<br />
Handlungen nötig sind, um eine Verschiebeoperation zu realisieren.<br />
2.2.4 Kombination der Modelle<br />
Die Kombination aus Vorwärtsmodellen und inversen Modellen, kann verwendet werden,<br />
um komplexe sensomotorische Koordinationen zu realisieren.<br />
Ein Beispiel dafür ist das <strong>von</strong> Haruno et al. (2001) entwickelte MOSAIC-Modell zur<br />
kontextsensitiven sensomotorischen Kontrolle. MOSAIC ist dabei eine die Abkürzung<br />
für ”<br />
modular selection and identification for control“. Es basiert auf einer Vielzahl so<br />
genannter Module, in denen jeweils ein Vorwärtsmodell <strong>mit</strong> einem inversem Modell gekoppelt<br />
ist. Die Vorwärtsmodelle der unterschiedlichen Module teilen unter sich den zu<br />
lösenden Kontext auf, so dass es für jeden beliebigen Teil des Kontextes eine Anzahl<br />
<strong>von</strong> Vorwärtsmodellen gibt, die die sensorische Konsequenz eines Motorkommandos<br />
korrekt vorhersagen. Der Vorhersagefehler jedes Vorwärtsmodells wird verwendet um<br />
das zugehörige inverse Modell zu trainieren. Dies garantiert, dass innerhalb eines Moduls<br />
das inverse Modell die entsprechende Konrolle des Kontextes übernimmt, in dem<br />
das gekoppelte Vorwärtsmodell die richtigen Vorhersagen macht. Durch dieses Zusammenspiel<br />
mehrerer Vorwärtsmodelle und inverser Modelle ist ein erfolgreiches Lernen<br />
verschiedener Aufgabestellungen möglich.<br />
Die Eigenschaften <strong>von</strong> Vorwärtsmodell und inversem Modell können nicht nur bei Eigenbewegungen,<br />
sondern auch bei der Interaktionen <strong>mit</strong> anderen Personen verwendet<br />
werden. Das auf dem MOSAIC-Modell basierende HMOSAIC ist ein solches Modell<br />
(Wolpert et al., 2001). Die Vorwärtsmodelle sagen dabei die Reaktion anderer Individuen<br />
auf selbst produzierte Handlungen voraus. Die inversen Modelle hingegen generieren<br />
Handlungen, durch die eine erwartete Reaktion des Gegenübers erzwungen werden<br />
kann. Wie jedoch die Erfahrung zeigt, weicht die tatsächliche Reaktion anderer Individuen<br />
auf eine Handlung oft stark <strong>von</strong> der erwarteten Reaktion ab.<br />
2.3 Neuronale Lernverfahren<br />
Einen wichtigen Bestandteil <strong>von</strong> Lernverfahren stellen künstliche neuronale Netze dar.<br />
Es handelt sich dabei um biologisch motivierte informationsverarbeitende Systeme, die<br />
aus einer großen Anzahl <strong>von</strong> auf abstraktem Niveau simulierten Neuronen bestehen.<br />
Durch Aktivierung dieser Neuronen über gewichtete Verbindungen werden Informationen<br />
untereinander ausgetauscht. Das biologische Analogon stellt das Gehirn <strong>von</strong> Lebewesen<br />
dar, bei dem die Informationsverarbeitung ebenfalls durch viele verbundene<br />
14 Universität Bielefeld, AG Technische Informatik
2 Theoretischer Hintergrund<br />
Nervenzellen realisiert wird. Beide Systeme bestehen aus sehr vielen kleinen einfachen<br />
Einheiten, die hochgradig verknüpft in der Lage sind, komplexe Aufgaben zu<br />
lösen. Ein wesentlicher Bestandteil <strong>von</strong> künstlichen neuronalen Netzen ist dabei ihre<br />
Lernfähigkeit. Dies ist die Fähigkeit, das Lösen einer Aufgabe, wie etwa eines Klassifikationsproblems,<br />
selbständig aus Trainingsbeispielen zu lernen, ohne dass das Netz<br />
dafür explizit programmiert werden muss. Durch hohe Parallelität bei der Informationsverarbeitung,<br />
Fehlertoleranz und verteilte Wissenrepräsentation hat der Verlust einer<br />
Nervenzelle keine große Auswirkung auf den Lernerfolg.<br />
Biologische Nervenzellen bestehen aus drei Komponenten: Zellkörper, Dendriten und<br />
Axon. Die Dendriten summieren dabei die Signale aus der Umwelt in den Zellkörper<br />
auf und ein Axon leitet die Ausgabe des Zellkörpers nach außen weiter, so dass andere<br />
Nervenzellen diese Informationen weiterverarbeiten können. Analog dazu verhält sich<br />
ein künstliches Neuron, das die Eingaben durch gewichtete Verbindungen leitet. Je nach<br />
Aufgabenstellung müssen die Gewichtungen so gewählt werden, dass gewünschte und<br />
tatsächliche Ausgabe möglichst genau übereinstimmen. Da es unpraktikabel und sehr<br />
zeitaufwändig wäre, diese Gewichtungen durch systematische Tests herauszufinden,<br />
sollen die Gewichtungen erlernt werden. So kann ein neuronales Netz durch Änderung<br />
der Gewichtungen an die Aufgabenstellung angepasst werden.<br />
Neuronale Netze können je nach Anwendungsgebiet unterschiedliche Strukturen haben.<br />
Einige dieser Topologien, auf die im Folgenden noch genauer eingegangen wird, sind<br />
in Abbildung 2.6 zu sehen. Je nach Topologie des Netzwerkes können unterschiedliche<br />
Lernverfahren sinnvoll sein.<br />
Zell (1997) und Wolpert et al. (2001) unterteilen das Lernen in neuronalen Netzen in<br />
drei unterschiedliche Kategorien:<br />
Überwachtes Lernen (supervised learning)<br />
Bestärkendes Lernen (reinforcement learning)<br />
Unüberwachtes Lernen (unsupervised learning)<br />
Beim überwachten Lernen wird eine Trainingsmenge benötigt, die aus vielen Lernbeispielen<br />
<strong>mit</strong> Eingabemustern und Ausgabemustern besteht. Für jedes Eingabemuster<br />
der Trainingsmenge wird das korrekte Ausgabemuster angegeben. Die Gewichtungen<br />
werden durch das Lernverfahren so verändert, dass das neuronale Netz möglichst für<br />
alle Eingabemuster das korrekte Ausgabemuster generiert. Hierfür wird ein Fehlermaß<br />
zwischen erwarteter Ausgabe und erreichter Ausgabe eingeführt, welches es zu<br />
minimieren gilt.<br />
Beim bestärkenden Lernen gibt ein externer Lehrer zu jedem Eingabemuster der<br />
Trainingsmenge an, ob es richtig oder falsch klassifiziert wurde. Es werden jedoch<br />
keine optimale Ausgaben für die Eingabemuster vorgegeben.<br />
Universität Bielefeld, AG Technische Informatik 15
2 Theoretischer Hintergrund<br />
Abbildung 2.4: Links: Lineares Problem lösbar durch ein einfaches Perzeptron, Rechts: Komplexeres Problem lösbar<br />
durch ein Multi-Layer-Perzeptron.<br />
Abbildung 2.5: Schemazeichnung eines Multi-Layer-Perzeprons <strong>mit</strong> Hervorhebung eines einzelnen Neurons. Quelle:<br />
Zell (1997)<br />
Gar keinen Lehrer gibt es beim unüberwachten Lernen, welches durch Selbstorganisation<br />
versucht, Eingabemuster in ähnliche Kategorien zu klassifizieren. Diese Art des<br />
Lernens, bei der die statistischen Eigenschaften der Eingabemuster extrahiert werden,<br />
ist biologisch am plausibelsten.<br />
Am praktikabelsten und einfachsten zu implementieren ist jedoch das überwachte<br />
Lernen, das auch für die Realisierungen in dieser Diplomarbeit gewählt wurde.<br />
Ein einfaches neuronales Netz ist das so genannte Perzeptron, welches aus einer Schicht<br />
<strong>von</strong> Neuronen, <strong>mit</strong> <strong>Hilfe</strong> derer einfache Muster detektiert werden können, besteht. Auf<br />
dieser Basis wurde der so genannte ”<br />
simple feature detector“ <strong>von</strong> (Minsky und Papert,<br />
1972) entwickelt. Von allen Neuronen der Schicht gibt es gewichtete Verbindungen zu<br />
einem einzigen Neuron, welches als Klassifikator fungiert.<br />
16 Universität Bielefeld, AG Technische Informatik
2 Theoretischer Hintergrund<br />
Abbildung 2.6: Schemazeichnung <strong>von</strong> vier verschiedenen Netzstrukturen eines neuronalen Netzes. Quelle: Zell<br />
(1997)<br />
Das Perzeptron ist jedoch ein linearer Klassifikator, so dass nur lineare Probleme <strong>mit</strong><br />
seiner <strong>Hilfe</strong> gelöst werden können. Dies ist in Abbildung 2.4 grafisch verdeutlicht. Um<br />
kompliziertere Probleme lösen zu können, wurde das Perzeptron Modell zu dem Multi-<br />
Layer-Perzeptron Modell (MLP) erweitert (siehe Abbildung 2.5). Das Multi-Layer-<br />
Perzeptron dient dabei als Funktionsapproximator. Es kann beliebige Muster und Funktionen<br />
darstellen. Ein MLP besteht aus mindestens drei Schichten <strong>von</strong> Neuronen, einer<br />
Eingabeschicht (Input-Layer), mindestens einer verdeckten Schicht (Hidden-Layer)<br />
und einer Ausgabeschicht (Output-Layer). Es kann je nach Komplexität des zu lösenden<br />
Problems beliebig viele verdeckte Schichten geben. Wie schon erwähnt gibt es verschiedene<br />
Topologien bei neuronalen Netzen, wobei das MLP ein so genanntes feedforward-<br />
Netz ist, bei dem nur Verknüpfungen in eine Richtung vorgesehen sind (siehe Abbildung<br />
2.6 a). Zudem sind beim MLP alle Neuronen einer Schicht <strong>mit</strong> allen Neuronen<br />
der darauf folgenden Schicht verbunden. Bei anderen Topologien sind Querverbindungen<br />
zwischen Eingabe und Ausgabeschicht oder sogar Rückkopplungen erlaubt (siehe<br />
Abbildung 2.6 b, c und d). Auch müssen nicht alle Neuronen einer Schicht in alle Neuronen<br />
der darauf folgenden Schicht <strong>mit</strong> einfließen. Die Aktivierungen der Neuronen eines<br />
einlagigen Perzeptrons bestehen aus binären Eingaben. Ein Multi-Layer-Perzeptron als<br />
Funktionsapproximator hingegen nimmt beliebige Eingaben an. Die verdeckten Schichten<br />
und die Ausgabeschicht haben die gleichen Eigenschaften.<br />
Universität Bielefeld, AG Technische Informatik 17
¢<br />
2 Theoretischer Hintergrund<br />
Abbildung 2.7: Die häufigsten Aktivierungsfunktionen: linear, semilinear und sigmoid.<br />
Dabei summiert jedes Neuron alle seine Eingaben, bestehend aus den Ausgaben<br />
der Vorgängerneuronen ¡£¢ multipliziert <strong>mit</strong> der jeweiligen Gewichtung ¤¥¢§¦ , zur so<br />
genannten Netzeingabe ¨©<br />
£<br />
¦ auf. In vielen Modellen neuronaler Netze, so auch im<br />
MLP, hat jedes Neuron noch einen ungewichteten ”<br />
bias“ Wert, der einen Schwellwert<br />
angibt, ab dem ein Neuron stärker aktiv ist. Diese dient zur Feineinstellung und ist ein<br />
Äquivalent zur biologischen Reizschwelle, ab der ein Neuron anfängt zu feuern.<br />
Propagierungsfunktion:<br />
¡¢¤¢§¦ (2.1)<br />
£<br />
¦¥ ¨©<br />
Die ¡¦ Ausgabe des Neurons ist dann durch die <br />
¡ Aktivierungsfunktion und der<br />
¨©<br />
£<br />
¦ Netzeingabe gegeben.<br />
Ausgabefunktion:<br />
¡¦¥ ¡ ¨©<br />
£<br />
¦ (2.2)<br />
Die <br />
¡<br />
Aktivierungsfunktion der Neuronen kann beliebig sein. Übliche Aktivierungsfunktionen<br />
sind lineare, semilineare oder sigmoide Funktionen, wie sie in Abbildung<br />
2.7 zu sehen sind.<br />
2.3.1 Back-Propagation Verfahren<br />
Ein bekanntes Verfahren des überwachten Lernens ist das ”<br />
Back-Propagation Learning“<br />
(bprop). Für das Lernen wird eine Trainingsmenge, bestehend aus einer Vielzahl <strong>von</strong><br />
Lernbeispielen, benötigt. Ein Lernbeispiel besteht dabei aus einem Eingabemuster und<br />
einem dazu passenden optimalen Ausgabemuster. Die Lernbeispiele der Trainingsmenge<br />
können verwendet werden, um das neuronale Netz zu trainieren. Dabei werden für<br />
jedes Lernbeispiel folgende Schritte durchgeführt.<br />
Vorwärtspropagierung des Eingabemusters durch das gesamte Netz bis zur Ausgabe<br />
18 Universität Bielefeld, AG Technische Informatik
¨¡©¡¤ <br />
¥<br />
¦<br />
<br />
2 Theoretischer Hintergrund<br />
Abbildung 2.8: Probleme beim Back-Propagation Verfahren. Quelle: Zell (1997)<br />
Vergleich dieser Ausgabe <strong>mit</strong> der erwünschten Ausgabe liefert den Lernfehler<br />
Rückwärtspropagierung des Fehlers <strong>von</strong> der Ausgabeschicht bis zur Eingabeschicht<br />
wobei die Gewichte der Verbindungen geändert werden, um den Fehler<br />
zu minimieren.<br />
Jedes Element der Trainingsmenge durchläuft diese Prozedur mehrfach, bis der entstehende<br />
Durchschnitt aller Fehler einen bestimmten Schwellwert unterschreitet. Jeder<br />
Durchlauf der Trainingsmenge wird Epoche genannt.<br />
Das Back-Propagation Verfahren basiert auf einem Gradientenabstiegsverfahren, bei<br />
dem durch Änderung der Gewichte versucht wird, eine Fehlerfunktion zu minimieren.<br />
Als Fehlerfunktion wird häufig der quadratische Abstand zwischen erwarteter und realer<br />
Ausgabe verwendet. Der Gesamtfehler ¢¡£¡£¤ ergibt sich als Summe der Fehler ¦¥<br />
über alle Lernbeispiele § .<br />
¥ (2.3)<br />
<strong>mit</strong><br />
<br />
<br />
(2.4)<br />
£<br />
¥<br />
Es wird nach Zell (1997) eine so genannte Delta-Regel hergeleitet, welche die Modifikation<br />
der Gewichte beschreibt. Dabei wird der jeweilige Gradientenabstieg der Fehlerfunktion<br />
an der durch das ¤ ¢§¦ Gewicht definierten Stelle ¡£¡£¤<br />
verwendet:<br />
¥¦<br />
¡¥¦<br />
¤¢¦<br />
<br />
¡¥ ¢ £<br />
¥¦¦ ¡¥¦ (2.5)<br />
¥<br />
<strong>mit</strong> Gewichten ¤¢§¦ , Lernschrittweite , Lerneingabe £ ¥¦ und Ausgabe ¡¥¦ <strong>von</strong> Neuron<br />
bei Lernbeispiel § . Es handelt sich hierbei um das Offline-Trainingsverfahren, bei<br />
Universität Bielefeld, AG Technische Informatik 19
¡<br />
¢<br />
<br />
<br />
<br />
¡<br />
2 Theoretischer Hintergrund<br />
dem alle Muster vorhanden sein müssen, bevor die Gewichte in einem Schritt geändert<br />
werden. Um neue Muster nachträglich trainieren zu können, wird in der Praxis oft das<br />
Online-Trainingsverfahren verwendet, bei dem die Änderung der Gewichte direkt nach<br />
Anlegen jedes einzelnen Musters erfolgt.<br />
Diese Delta-Regel ist nur für einstufige Netze und lineare Aktivierungsfunktionen definiert.<br />
Sie muss jedoch für Netze <strong>mit</strong> mehreren Ebenen und semilinearen Aktivierungsfunktionen<br />
verallgemeinert werden. Die verallgemeinerte Regel ist die Back-<br />
Propagation Regel. Die Offline- und Online-Back-Propagation Regeln sind dann definiert<br />
durch:<br />
¡¥ ¢ £<br />
¥¦¦ ¡¥¦ (2.6)<br />
¥¤¢§¦<br />
<strong>mit</strong><br />
<br />
¤¢§¦ <br />
¥<br />
¡¥ ¢<br />
¡<br />
¥¤¢¦ ¡¥ ¢ <br />
¡<br />
(2.7)<br />
¥¦<br />
(2.8)<br />
¥¦<br />
¡¥¦ <br />
falls j Ausgabezelle ist<br />
falls j verdeckte Zelle ist<br />
(2.9)<br />
¥¦<br />
¡¥¦ <br />
¡¥¦¤£¦¥<br />
Die Nachfolgeneuronen <strong>von</strong> müssen berücksichtigt werden, da das Neuron bei allen<br />
§ Nachfolgezellen einen Fehler verursacht.<br />
Das Back-Propagation Verfahren wirft Probleme auf, da es sich um ein lokales Minimierungsverfahren<br />
handelt. Es berechnet den Gradientenabstieg aus den Kenntnissen<br />
seiner lokalen Umgebung und hat keine Information über die gesamte Fehlerfläche der<br />
Funktion (Zell, 1997). Auf die wichtigsten auftretenden Probleme wird nun kurz eingegangen.<br />
Eine Schwierigkeit bilden lokale Minima, bei deren Auftreten das Verfahren eine<br />
schlechte Lösung findet. Bessere Lösungen, im eigentlich gesuchten globalen Minimum,<br />
werden dann nicht mehr gefunden (siehe Abbildung 2.8 a). Die Wahl einer<br />
genügend kleinen <br />
Lernschrittweite hilft bei den meisten Anwendungen. Weiterhin<br />
kann das Verfahren bei flachen Plateaus (siehe Abbildung 2.8 b) stagnieren, da die<br />
Größe der Gewichtsänderungen <strong>von</strong> dem Betrag des Gradienten abhängig ist und dieser<br />
dort sehr gering ist. Es werden also viele Iterationen benötigt, um solche Stellen zu passieren.<br />
Das Überspringen guter Minima stellt ein weiteres Problem dar. In sehr engen<br />
Tälern auf der Fehlerfläche kann es durch einen großen Betrag des Gradienten vorkommen,<br />
dass ein globales Minimum übersprungen und ein schlechteres lokales Minimum<br />
gefunden wird (siehe Abbildung 2.8 c). Auch dieses Problem kann durch die Wahl einer<br />
kleinen Schrittweite vermieden werden.<br />
20 Universität Bielefeld, AG Technische Informatik
£¡<br />
<br />
<br />
£¡<br />
<br />
<br />
<br />
<br />
¥<br />
<br />
<br />
<br />
<br />
<br />
<br />
¥<br />
<br />
<br />
£<br />
§¦©¨¤<br />
£<br />
¦¨ ¥¤<br />
£<br />
§¦©¨¤<br />
£<br />
¨ ¥¤<br />
<br />
¥¤<br />
£<br />
§©¨<br />
¤<br />
2 Theoretischer Hintergrund<br />
Die Wahl der <br />
Lernschrittweite hat so<strong>mit</strong> eine große Bedeutung. Die optimale Größe<br />
<strong>von</strong> hängt aber in der Regel <strong>von</strong> der Anwendung, den Trainingsdaten sowie Größe<br />
und Topologie des Netzes ab.<br />
2.3.2 Resilient-Propagation Verfahren<br />
Ein anderes ebenfalls bekanntes Lernverfahren ist das Resilient-Propagation Lernverfahren<br />
(rprop) <strong>von</strong> Riedmiller und Braun (1993). Es ist eine Kombination aus<br />
dem Manhattan-Verfahren, dem SuperSAB-Verfahren <strong>von</strong> Tollenaere (1990) und dem<br />
Quickprop-Verfahren <strong>von</strong> Fahlman (1988). Die Gewichte werden im Manhatten-<br />
Verfahren nicht wie im Back-Propagation Verfahren, nach dem Gradienten der Fehlerfunktion,<br />
sondern nach dessen Vorzeichen geändert. Außerdem werden wie bei SuperSAB<br />
und Quickprop die Vorzeichen des aktuellen und vorherigen Zeitpunktes verwendet.<br />
Ähnlich wie bei SuperSAB besitzt jedes Gewicht einen eigenen Parameter für die<br />
Änderung der Schrittweite.<br />
¢ ¡<br />
<br />
¢§¦ £<br />
<br />
¢§¦ £<br />
<br />
¢§¦ £<br />
falls ¤<br />
£<br />
<br />
<br />
<br />
<br />
<br />
falls ¤<br />
£<br />
<br />
<br />
falls<br />
sonst<br />
£<br />
§¦©¨ ¥¤<br />
£<br />
§©¨ ¥¤<br />
(2.10)<br />
¢§¦ £<br />
<br />
Fehlerfunktion in Richtung des Gewichtes ¤ ¢¦ zum Zeitpunkt £ .<br />
<br />
Dabei ist der Lernparameter ¨ <br />
und ¤ <br />
£<br />
die Steigung der<br />
Die Gewichtsänderung ¤¥¢¦ hängt nur <strong>von</strong> den Vorzeichen zum aktuellen und vorherigen<br />
Zeitpunkt ab. Sind diese Vorzeichen gleich, so wird der Betrag der Gewichtsänderung<br />
entweder addiert oder subtrahiert, je nach Vorzeichen der Steigung.<br />
<br />
Sind die Vorzeichen unterschiedlich, so war der Betrag der vorhergehenden Gewichtsänderung<br />
zu groß und ein lokales Minimum wurde übersprungen. In diesem Fall<br />
wird die letzte Gewichtsänderung rückgängig gemacht in dem ¤ ¢§¦ wieder subtrahiert<br />
wird. Daraus folgt:<br />
<br />
¤¢§¦ £ © <br />
¤¢§¦ £<br />
<br />
© <br />
¤¢¦ £<br />
(2.11)<br />
¢ ¡<br />
(2.12)<br />
<br />
¢§¦ £<br />
falls ¤<br />
£<br />
<br />
¢§¦ £<br />
falls ¤<br />
£<br />
<br />
¢§¦ £<br />
¤¢§¦ £<br />
<br />
<br />
falls ¤<br />
£<br />
Universität Bielefeld, AG Technische Informatik 21
¡<br />
<br />
<br />
§<br />
<br />
<br />
2 Theoretischer Hintergrund<br />
Resilient-Propagation ist wie Quickprop ein Offline-Lernverfahren, bei dem die Gewichte<br />
erst nach der Präsentation aller Trainingsmuster adaptiert werden. Back-<br />
Propagation dagegen kann als Offline- oder auch als Online-Lernverfahren verwendet<br />
werden. Beim Online-Lernverfahren werden die Gewichte nach jedem Trainingsbeispiel<br />
sofort angepasst. Dann wird das nächste Trainingsbeispiel betrachtet.<br />
2.4 Optimierungsverfahren zur Bildung <strong>von</strong> Verhaltensketten<br />
Vorwärtsmodelle sagen lediglich für ein vorhandenes Motorkommando die sensorischen<br />
Informationen des darauf folgenden Zustandes vorher. Nachdem eine erfolgreiche und<br />
ausreichend präzise Vorhersage durch die trainierten Vorwärtsmodelle gewährleistet ist,<br />
besteht der nächste Teilschritt daher in der Erzeugung einer zielgerichteten Bewegung<br />
vom Startzustand bis zum Zielzustand.<br />
Bei den Vorhersagen durch Vorwärtsmodelle handelt es sich um Vorhersagen für<br />
kleine Verschiebeoperationen. Der Grund hierfür liegt im Aufbau der Trainingsmenge,<br />
auf den im Abschnitt 3.4.1 noch genauer eingegangen wird. In diesem Kapitel<br />
wird die Bildung einer Verhaltenskette beschrieben. Aus einzelnen Vorhersagen der<br />
Vorwärtsmodelle wird eine Kette gebildet, die vom Startzustand zum Endzustand<br />
führt. Ziel ist es, eine Serie <strong>von</strong> Motorkommandos zu finden, durch die eine möglichst<br />
genaue Übereinstimmung der sensorischen Informationen <strong>von</strong> gewünschtem und<br />
nach der Bewegung erreichtem Zielzustand erreicht wird. Dieses Problem kann als<br />
Optimierungsaufgabe gesehen werden, bei dee es gilt, den quadratischen Fehler der<br />
sensorischen Information zwischen gewünschtem und erreichtem Zustand zu minimieren<br />
(Hoffmann und Möller, 2004). Dieser Fehler wird im Folgenden auch als Energie<br />
bezeichnet. Je geringer die Energie, desto genauer ist die Übereinstimmung.<br />
Wichtig für eine zielgerichtete Bewegung ist das globale Minimum der Funktion,<br />
das durch solche lokalen Methoden nicht bestimmt werden kann. Es gibt einige<br />
Optimierungsverfahren, die jeweils Vor- und Nachteile haben. Bekannte Verfahren sind<br />
zum Beispiel Simulated Annealing und Differential Evolution, wobei in dieser Arbeit<br />
Differential Evolution verwendet wird.<br />
Differential Evolution (DE) ist ein sehr einfaches jedoch sehr mächtiges und effektives<br />
Verfahren zur kontinuierlichen Optimierung <strong>von</strong> reellwertigen Funktionen. Entworfen<br />
und weiterentwickelt wurde das Verfahren <strong>von</strong> Storn und Price (1995).<br />
Es handelt sich um eine evolutionäre, auf Populationen basierende Optimierungstechnik.<br />
Dabei verwendet es als Eingaberaum für die Suche eine Population <strong>mit</strong><br />
für jede Generation<br />
§©©©§<br />
. Jede dieser Generationen ist dabei ein Iterationsschritt der Optimierung. Die<br />
-dimensionalen Parameter-Vektoren ¢ ¢¤£¥ <strong>mit</strong> ¦ ¨§<br />
22 Universität Bielefeld, AG Technische Informatik
¦¨§<br />
¨©<br />
§<br />
§<br />
£¥<br />
2 Theoretischer Hintergrund<br />
Abbildung 2.9: Zwei Dimensionale Beispiele f ür die Rand1 und die RandToBest1 Variation des Differential Evolution.<br />
Quelle: Storn und Price (1995)<br />
Dimension der Population<br />
bleibt während des gesamten Minimierungsprozesses<br />
unverändert.<br />
Die grundlegende Idee des Differential Evolution besteht in der Generierung <strong>von</strong> so<br />
genannten Mutations-Vektoren. Diese werden durch die Summation der gewichteten<br />
Differenz zweier Parameter-Vektoren aus einer Population <strong>mit</strong> einem dritten berechnet.<br />
Es wird im Bezug zur Aufgabe auch ein globales Minimum gesucht, da eine möglichst<br />
genaue Übereinstimmung <strong>von</strong> gesuchtem und erreichtem Zielzustand erreicht werden<br />
soll. Die initiale Population wird zufällig und gleichmäßig, aus einem Intervall gewählt,<br />
welches den vollständigen Parameterraum umfasst.<br />
Wenn der berechnete Mutations-Vektor ¢ eine geringere Energie als der ursprüngliche<br />
Parameter-Vektor ¢¢ hat, wird ¢¢ durch £¢ in der drauffolgenden Generation ersetzt.<br />
Anderenfalls wird der alte Vektor ¢ ¢ in der nächsten Generation beibehalten. Die<br />
Energie gibt dabei an wie gut der erzeugte Zustand <strong>mit</strong> dem zu erreichenden Zustand<br />
übereinstimmt. Je geringer die Energie ist, desto besser stimmen die beiden Zustände<br />
überein.<br />
Es gibt ca. 10-12 Varianten der Erzeugung des Mutations-Vektors <strong>von</strong> denen hier drei<br />
grundlegende Varianten genauer beschrieben werden. Bei diesen drei Varianten handelt<br />
es sich um Rand1, Best1 und RandToBest1. Die anderen Varianten sind Kombinationen<br />
und Variationen dieser drei. In allen Varianten werden für jeden ¢¢ Elternvektor drei<br />
weitere ¢¢¡ Vektoren ¢£¡ , ¢£¡¥¤ und zufällig aus der ¢¢¤£¥ Population <strong>mit</strong> i=0,1,2,..,N-1<br />
ausgewählt, die vom Vektor ¢¢ <strong>mit</strong> laufendem Index ¦ verschieden sind. Als nächstes<br />
wird ein Mutations-Vektor ¢ erzeugt. In diesem Punkt unterscheiden sich die Varianten<br />
(siehe Abbildung 2.9).<br />
<br />
©<br />
<br />
¢£¡ £¥ ¢£¡¥¤ £¥ (2.13)<br />
Universität Bielefeld, AG Technische Informatik 23<br />
¢¤£¥<br />
¥¨§<br />
¢£¡
¦¨§<br />
¨ ©© ¡ ©¢¡<br />
<br />
<br />
¡<br />
<br />
¦¢¤£¥<br />
¥¨§<br />
<br />
¢<br />
¡<br />
£¥<br />
¡<br />
<br />
<br />
¡<br />
<br />
¡<br />
<br />
<br />
<br />
<br />
¡<br />
2 Theoretischer Hintergrund<br />
Abbildung 2.10: Beispiel der Crossover-Methode <strong>mit</strong> D=7, n=2 und L=3. Quelle:Storn und Price (1995)<br />
£ <br />
©¢¡<br />
© <br />
<br />
¢£¡ £¥ ¢£¡¥¤ £¥ (2.14)<br />
¢¤£¥<br />
¥¨§<br />
¢¤£¦¥¨§<br />
£ <br />
©<br />
¡<br />
£¥ ¢ ¢¤£¥ <br />
©<br />
<br />
¢£¡ £¥ ¢£¡¥¤ £¥ (2.15)<br />
<strong>mit</strong>:<br />
= Zufallszahl aus dem Intervall [0,1.2], welche die Verstärkung der differentiellen<br />
Variation kontrolliert.<br />
¢¤£¥<br />
¥¨§<br />
¢ ¢¤£¥<br />
<br />
¢¤£¦¥¨§<br />
¡<br />
£¥ = Der beste Parameter-Vektor der Population.<br />
¢¤£¦¥¨§<br />
= Variable zur Verstärkung des Terms ¢£¦¥§ <strong>mit</strong><br />
¡<br />
£¥ .<br />
RandToBest1 ist eine Kombination <strong>von</strong> Rand1 und Best1, wobei der Best1-Anteil durch<br />
die Variable gesteuert werden kann. Um die Vielfalt der neuen Parameter-Vektoren<br />
noch zu erhöhen, wird ein <br />
crossover“-Vektor definiert:<br />
”<br />
<br />
¢£¥<br />
¥¨§<br />
(2.16)<br />
<strong>mit</strong>:<br />
<br />
¢£¥<br />
¥¨§<br />
<br />
<br />
¨¢¤£¥<br />
¥¨§<br />
§<br />
<br />
¢¤£¥<br />
¥¨§<br />
§ ©©©§<br />
¡<br />
§¢ ¨<br />
©<br />
§©©©§¢ ¨<br />
©<br />
(2.17)<br />
¦ ¢¤£¥<br />
¥¨§ für ¨<br />
wobei:<br />
= Die Modulo Funktion <strong>mit</strong> als Dimension der Parameter-Vektoren.<br />
¡ ¨<br />
¢ ¦ ¢¤£¥ für alle anderen ¨§<br />
24 Universität Bielefeld, AG Technische Informatik
2 Theoretischer Hintergrund<br />
= Ein Zufallswert aus dem Intervall [0,D-1].<br />
¨<br />
= Die Anzahl der zu verändernden Werte wird aus [0,D-1] <strong>mit</strong> der Wahrscheinlichkeit<br />
[0,1] gewählt.<br />
¢¡ <br />
<br />
¤£ ¦<br />
¦¥ <strong>mit</strong> £ ¦ <br />
Eine bestimmte Sequenz der Vektorelemente <strong>von</strong> ¢£¥<br />
¥¨§<br />
entspricht Elementen <strong>von</strong><br />
¥¨§<br />
, während der Rest <strong>von</strong> ¢¤£¥<br />
¥¨§<br />
aus den originalen Elementen <strong>von</strong> ¢ ¢¤£¥ besteht.<br />
¢¤£¥<br />
Diese Rekombinations-Methode wird in der Evolutionstheorie crossover“ genannt.<br />
”<br />
Ein Beispiel hierfür ist in Abbildung 2.10 dargestellt. Die ¨ Werte und werden<br />
neu gewählt. Um zu entscheiden, ob der Vektor<br />
<br />
bei jedem neu generierten ¢£¥<br />
¥¨§ <br />
¢¤£¥<br />
¥¨§ in der nächsten Generation übernommen wird, wird er <strong>mit</strong> ¢ ¢¤£¥ verglichen.<br />
<br />
Wenn ¢¤£¥<br />
¥¨§ einen kleineren Zielfunktionswert als ¢ ¢¤£¥ erreicht, wird ¢¢¤£¥<br />
¥¨§ durch<br />
<br />
¢¤£¥<br />
¥¨§<br />
ersetzt, andernfalls wird der alte Wert ¢ ¢¤£¥ beibehalten. So ergeben sich die drei<br />
<br />
¦<br />
Kontrollvariablen (Dimension der Population), (Verstärkung der differentiellen<br />
Variation) und (crossover Wahrscheinlichkeit).<br />
Laut der Entwickler (Storn und Price, 1995) ist Differential Evolution ein paralleles Verfahren.<br />
Eine Beschleunigung des Verfahrens kann durch das Ausführen auf parallelen<br />
Rechnern eines Netzwerks erreicht werden. Dies ist insbesondere sinnvoll für Probleme,<br />
deren Lösung auf einem einzigen Rechner sehr zeitaufwändig ist.<br />
Universität Bielefeld, AG Technische Informatik 25
2 Theoretischer Hintergrund<br />
26 Universität Bielefeld, AG Technische Informatik
3<br />
Experimentelles Setup<br />
Das Setup unterteilt sich in die drei Teilbereiche: Kamera-Setup, <strong>Roboterarm</strong>-Setup und<br />
Datenbank-Setup. In Abschnitt 3.1 wird die Kamera auf einer Pan-Tilt-Unit beschrieben,<br />
<strong>mit</strong> deren <strong>Hilfe</strong> Bilder vom Arbeitsbereich aufgenommen werden können. Mit einem<br />
<strong>Roboterarm</strong>, der im Abschnitt 3.2 beschrieben wird, kann ein Objekt (z.B. ein<br />
Klötzchen) auf dem Arbeitsbereich verschoben werden. Anschließend werden im Abschnitt<br />
3.3 nach einer Beschreibung des Arbeitstisches Einschränkungen über die Verschiebebewegung<br />
und den Verschiebebereich beschrieben. Zuletzt wird im Abschnitt<br />
3.4 erläutert, wie die Datenbank durch das Sammeln <strong>von</strong> Trainingsbeispielen erstellt<br />
und in welcher Form diese Bilder gespeichert wurden.<br />
3.1 Kamera-Setup<br />
Die verwendetete Kamera ist auf einer Pan-Tilt-Unit (Schwenk-Neige-Einheit, kurz<br />
PTU) montiert. Da<strong>mit</strong> kann die Kamera beliebig ausgerichtet werden, um verschiedene<br />
§<br />
Arbeitsbereiche zu visualisieren. Der Schwenkwinkel ist auf § ¨<br />
<br />
einen Bereich <strong>von</strong> [-<br />
158,9 ; +158,9 ] und der Neigewinkel auf einen ¦<br />
¡ £ <br />
Bereich <strong>von</strong> [-46,8 ; +31,1 ] beschränkt.<br />
Der Öffnungswinkel des Objektivs beträgt ca. 75 Grad in den Diagonalen. Die<br />
Kamera und die PTU sind über die serielle Schnittstelle <strong>mit</strong> dem £ Steuerungs-PC verbunden,<br />
wodurch die Kamera ein PAL-Videosignal an den Framegrabber im Steuerungs-PC<br />
übertragen kann. Bei der vorliegenden Aufgabe ist die Kamera auf den Arbeitsbereich<br />
ausgerichtet, in dem die Verschiebeoperationen durchgeführt werden sollen. Es handelt<br />
sich dabei um einen zentralen Bereich auf einem Arbeitstisch. Die verwendete Kamera<br />
£ ¡<br />
§<br />
ist dafür um = -9 geneigt.<br />
§<br />
¨ = -25 geschwenkt und um £ ¦<br />
Universität Bielefeld, AG Technische Informatik 27
3 Experimentelles Setup<br />
Abbildung 3.1: Links: Der verwendete <strong>Roboterarm</strong> in Verschiebehaltung. Eingezeichnet sind Basiskoordinatensystem<br />
im ersten Gelenk und die durch die Geiferspitze verlaufende Rotationsachse ¢¡ (parallel zur -Achse).<br />
Diese Rotationsachse verläuft senkrecht zum Arbeitstisch, wobei der Arbeitstisch in der £ -¤ -Ebene<br />
des Basiskoordinatensystems liegt. Rechts oben: Die verwendeten Pan-Tilt-Kameras. Rechts unten:<br />
Das Hilfswerkzeug f ür Verschiebeoperationen.<br />
3.2 <strong>Roboterarm</strong>-Setup<br />
Der <strong>Roboterarm</strong> der Firma Amtec besteht aus sechs Modulen und einem Greifer, wodurch<br />
er sechs rotatorische Freiheitsgrade und einen linearen Freiheitsgrad besitzt. Jedes<br />
Modul verfügt über einen Servomotor <strong>mit</strong> hohem Drehmoment und präziser Positionierung.<br />
Dabei sorgt jedes Modul für die Einhaltung seiner vorgegebenen Position.<br />
Links in Abbildung 3.1 ist der verwendete Arm zu sehen. Die <strong>Ansteuerung</strong> des <strong>Roboterarm</strong>s<br />
erfolgt über einen CAN-Bus. Eine entsprechende CAN-Bus-Interface-Karte ist im<br />
Steuerungs-PC eingebaut. Zwischen dem letzten Modul und dem Greifer ist zusätzlich<br />
noch ein Kraft-Momenten-Sensor der Firma Schunk vom Typ FTCL 50-40 montiert.<br />
Dieser Sensor kann Kräfte und Drehmomente, die durch externen Einfluss am Greifer<br />
wirken, in allen drei Raumdimensionen messen. Er wird jedoch im Rahmen dieser Arbeit<br />
nicht verwendet.<br />
Bei dem zu verschiebenden Klötzchen handelt es sich um einen roten Schaumstoffschwamm<br />
<strong>mit</strong> einer Größe <strong>von</strong> ca. 45mm(B) x 135mm(L) x 40mm(H). Schaumstoff<br />
eignet sich für eine Verschiebeoperation besonders gut, da es durch die hohe Reibung<br />
direkt am Greifer bleibt. Da für die Bildverarbeitung das Klötzchen im Kontrast zum<br />
28 Universität Bielefeld, AG Technische Informatik
3 Experimentelles Setup<br />
Abbildung 3.2: Zweidimensionale Grafik durch die deutlich wird um welche Achse sich der Greifer bei einer Verschiebeoperation<br />
rotiert. Eingezeichnet ist die Rotationsachse ¡ <strong>mit</strong> Rotation um ¡ Grad und die Translationsachse<br />
£ ¡ .<br />
weißen Arbeitstisch eine markante Farbe haben sollte, wurde ein rotes verwendet. Um<br />
sowohl eine gute Erreichbarkeit als auch eine gute Verschiebeoperation dieses roten<br />
Klötzchens zu gewährleisten, wird ein Hilfswerkzeug verwendet. Dieses Hilfswerkzeug<br />
hat des Weiteren den Vorteil, dass seine grüne Farbe ebenfalls zur <strong>visuellen</strong> Bestimmung<br />
<strong>von</strong> Position und Orientierung des Greifers genutzt werden könnte (siehe Abbildung 3.1<br />
Rechts). In dieser Arbeit wird das Hilfswerkzug jedoch ausschließlich verwendet, um eine<br />
breitere Auflagefläche zwischen Greifer und dem zu verschiebenden roten Klötzchen<br />
zu erhalten.<br />
3.3 Arbeitsbereich<br />
Als Arbeitsbereich dient ein quadratischer weißer Tisch, der etwa 80cm hoch ist und<br />
eine Fläche <strong>von</strong> ca. 80cm mal 80cm bietet. Die Kameras befinden sich ca. 1,5m schräg<br />
über der Tischfläche und der <strong>Roboterarm</strong> befindet sich ca. 25cm vor dem Tisch. Die<br />
Beleuchtung ist konstant, da die Fenster <strong>mit</strong> schwarzen Vorhängen behängt sind und der<br />
Raum <strong>mit</strong> Neonröhren ausgeleuchtet wird.<br />
3.3.1 Einschränkung der Verschiebebewegungen<br />
Um eine saubere Verschiebeoperation zu gewährleisten muss die Art und Weise, wie<br />
sich der Arm während der Verschiebung bewegt, eingeschränkt werden.<br />
Die erste Einschränkung besteht in der Höhe des Greifers. Um einen stetigen Kontakt<br />
zum roten Klötzchen zu behalten, muss sich der Greifer in konstanter Höhe<br />
über den Arbeitstisch bewegen. Dabei hat er immer eine Höhe <strong>von</strong> ¢<br />
bezüglich des <strong>Roboterarm</strong>-Koordinatensystems. Der Ursprung dieses <strong>Roboterarm</strong>-<br />
Koordinatensystems, im Folgenden auch Basiskoordinatensystem genannt, liegt in dem<br />
ersten Gelenk nahe der Stahlaufhängung (siehe Abbildung 3.1 Links). Der Arbeitstisch<br />
liegt so<strong>mit</strong> in der ¢ - Ebene, so dass sich die Bewegungen des <strong>Roboterarm</strong>s auf eine<br />
Veränderung der Werte ¢ , und beschränken. Dabei ist Rotationswinkel um<br />
¤£¦¥¨§©©<br />
Universität Bielefeld, AG Technische Informatik 29
3 Experimentelles Setup<br />
Abbildung 3.3: Links: Der zu kontrollierende Arbeitsbereich. Mitte: Mögliche Armpositionen innerhalb des markierten<br />
Bereiches. Rechts: Finaler Arbeitsbereich der Verschiebeoperation<br />
die -Achse, welche parallel zur -Achse des Basiskoordinatensystems verläuft. Diese<br />
¥<br />
beiden Achsen verlaufen senkrecht ¢ zur - Ebene, so dass die Ausrichtung des ¢ Greifers<br />
¢<br />
geändert werden kann (siehe Abbildung 3.2). Eine Verschiebeoperation ist dann unterteilt<br />
in die Änderung der Orientierung und eine anschließende Translation in Richtung<br />
dieser Orientierung. Die © Vorwärtstranslation um in Abhängigkeit zur Orientierung<br />
, wird <strong>mit</strong><br />
<br />
© (3.1)<br />
¡ ¡ ¡<br />
<br />
<br />
<br />
¢<br />
<br />
<br />
¡¦ ¨ <br />
<br />
<br />
<br />
© (3.2)<br />
bezüglich des Basiskoordinatensystems umge-<br />
in die Translationsanteile ¢ und <br />
rechnet.<br />
<br />
3.3.2 Einschränkung des Verschiebebereiches<br />
Da die Bewegungsfreiheit des <strong>Roboterarm</strong>s eingeschränkt ist und der Arm so<strong>mit</strong><br />
nicht jede Stelle des Tisches erreichen kann, wurde eine Einschränkung bezüglich<br />
des Arbeitsbereiches gemacht, in dem die Verschiebeoperationen durchgeführt werden<br />
können. Durch die Beschränkung soll ein zentraler Bereich auf dem Arbeitstisch<br />
erfasst werden. Dazu wird ein grob abgeschätzter Bereich <strong>mit</strong>tels der inversen Kinematik<br />
überprüft. Zu sehen ist dieser 600mm x 600mm große Arbeitsbereich in Abbildung<br />
3.3 links. Für die Überprüfung wird über diesen Bereich ein Gitter <strong>mit</strong> 20mm<br />
Abständen konstruiert. In diesem Gitter wird an jedem Knoten überprüft, ob es eine<br />
Lösung der inversen Kinematik gibt. Hierdurch wird überprüft, welche Positionen<br />
der Greifer des <strong>Roboterarm</strong>s erreichen kann. Das soeben beschriebene Verfahren wird<br />
<strong>mit</strong> verschiedenen Orientierungen wiederholt, wobei eine Rotation des Greifers um 5<br />
Grad in einem Intervall <strong>von</strong> [-50 ;+50 ] durchgeführt wird. Als Resultat zeigt sich,<br />
dass bei zunehmend starker Rotation des Greifers die Anzahl der auf dem Arbeitsbereich<br />
zu erreichenden Gitterpunkte sinkt (siehe Abbildung 3.3 Mitte). Aus diesem<br />
30 Universität Bielefeld, AG Technische Informatik
3 Experimentelles Setup<br />
Grund wird der Verschiebebereich auf eine Fläche <strong>von</strong> 320mm ¢ in -Richtung (entspricht<br />
[-69,5mm; +250.5mm] im Basiskoordinatensystem) und 400mm in -Richtung<br />
(entspricht [+330mm; +730mm]) beschränkt. Dieser eingeschränkte Bereich ist in Abbildung<br />
3.3 rechts zu sehen. Zusätzlich wird die Orientierung des Greifers durch eine<br />
Rotation um die senkrecht zum Arbeitstisch verlaufende -Achse im Intervall <strong>von</strong> [-40 ;<br />
+40 ] eingeschränkt.<br />
¢<br />
3.4 Datenbank-Setup<br />
Um die Vorwärtsmodelle trainiern zu können, wurde eine Datenbank erstellt, die eine<br />
Sammlung <strong>von</strong> Bildern und den dazugehörigen Daten beinhaltet. Die Daten definieren<br />
die Position und Orientierung des roten Klötzchens und des Greifers in dem Bild. Diese<br />
Datenbank wird dazu verwendet, das visuelle Vorwärtsmodell zu trainieren, so dass<br />
dieses lernt, die sensorische Konsequenz kleinschrittiger Verschiebeoperationen vorherzusagen.<br />
Mit <strong>Hilfe</strong> dieser kleinschrittigen Vorhersagen kann dann eine Kette <strong>von</strong> Motorkommandos<br />
berechnet werden, die vom sensorischen Startzustand in den gewünschten<br />
sensorischen Zielzustand führt. Wie genau die Daten der Position und Orientierung aus<br />
den Bildern extrahiert werden, wird im Abschnitt 4.2 noch genauer beschrieben. Folgend<br />
wird der Aufbau beschrieben, <strong>mit</strong> dem die Lernbeispiele gesammelt wurden. Die<br />
Datenbank ist so angeordnet und beziffert, dass sie kleinschrittige Verschiebeoperationen<br />
in alle möglichen Richtungen beinhaltet. Dabei ist zu beachten, dass alle möglichen<br />
kleinschrittigen Bewegungen im Verschiebebereich <strong>mit</strong>einbezogen werden müssen, um<br />
den Bereich vollständig <strong>mit</strong> Lernbeispielen abzudecken.<br />
3.4.1 Sammeln <strong>von</strong> Trainingsdaten<br />
Anhand der im Abschnitt 3.3.2 beschriebenen Einschränkung wird der Arbeitsbereich<br />
für die Erstellung einer Bilddatenbank definiert. Wie bereits erwähnt, soll die Datenbank<br />
dazu dienen, ein Vorwärtsmodell zu trainieren, so dass es Verschiebeoperationen<br />
durchführen kann. Voraussetztung für eine konsistente Datenbank ist, dass die Kamera<br />
bei der Aufnahme aller Bilder immer die gleichen Pan und Tilt Einstellungen hat. Ein<br />
Lernbeispiel für eine Verschiebeoperation kann durch folgenden Ablauf erzeugt werden:<br />
Das rote Klötzchen wird an einer zufälligen Stelle auf dem Verschiebebereich<br />
positioniert<br />
Der Greifer wird zufällig, jedoch in Verschiebehaltung, positioniert<br />
Aufnahme des <strong>visuellen</strong> Eingangssignals (sensorischer Eingang des<br />
Vorwärtsmodells)<br />
Universität Bielefeld, AG Technische Informatik 31
3 Experimentelles Setup<br />
Ein Motorkommando wird zufällig erzeugt und ausgeführt (motorischer Eingang<br />
des Vorwärtsmodells)<br />
Aufnahme des <strong>visuellen</strong> Ausgangssignals (Ausgang des Vorwärtsmodells)<br />
Ein solcher Durchlauf erzeugt ein Muster, in dem alle zusammenhängenden Informationen<br />
enthalten sind, und welches so<strong>mit</strong> zum Trainieren eines Vorwärtsmodells<br />
verwendet werden kann. Der Nachteil des gerade genannten Verfahrens ist die zufällige<br />
Wahl <strong>von</strong> Greiferposition und Motorkommando. Dadurch besteht die Gefahr, dass<br />
bestimmte Bereiche auf dem Arbeitsbereich unzureichend trainiert werden und demzufolge<br />
das Vorwärtsmodell schlechte Vorhersagen macht. Um dies zu verhindern ist ein<br />
systematischer Aufbau der Trainingsdatensätze notwendig, so dass jede mögliche Verschiebebewegung<br />
ausreichend trainiert werden kann. Zusätzlich besteht bei dem oben<br />
genannten Durchlauf die Gefahr, dass so genannte ”<br />
Leerlaufhandlungen“ aufgenommen<br />
werden. Bei diesen ”<br />
Leerlaufhandlungen“ handelt es sich um Bewegungsabläufe in<br />
denen das rote Klötzchen nicht verschoben wird, sondern lediglich der Greifer bewegt<br />
wird. Die Aufnahme solcher Datensätze kann zu einer Verschlechterung der Vorhersage<br />
des Vorwärtsmodells führen, da sie <strong>mit</strong> der eigentlichen Verschiebeoperation des<br />
roten Klötzchens nichts zu tun haben. Trotzdem sind diese ”<br />
Leerlaufhandlungen“<br />
auch nicht unwichtig, da der Greifer, bevor er die eigentliche Verschiebeoperation<br />
durchführen kann, zu dem roten Klötzchen hingeführt werden muss. Dies wird durch<br />
die Verwendung einer Look-Up Tabelle realisiert, auf die in Abschnitt 4.5 noch genauer<br />
eingegangen wird.<br />
Der systematische Aufbau der Datensätze ist also auf die eigentlichen kleinschrittigen<br />
Verschiebeoperationen beschränkt. Die aufgenommenen Bilder der Datenbank<br />
zeigen so<strong>mit</strong> immer eine Szene, in welcher der <strong>Roboterarm</strong> <strong>mit</strong> dem Hilfswerkzeug<br />
im Greifer und dem roten Klötzchen zu sehen ist. Es handelt sich immer um eine<br />
Verschiebeoperation, denn sowohl zu Beginn als auch nach der Verschiebung durch<br />
das Motorkommando befindet sich das rote Klötzen direkt vor dem Greifer <strong>mit</strong> dessen<br />
Hilfswerkzeug.<br />
Um die gestellte Verschiebeaufgabe lösen zu können, muss die Datenbank sowohl<br />
Translationen als auch Rotationen beinhalten. Es müssen schließlich unterschiedliche<br />
Positionen und Orientierungen des Klötzchend abgedeckt werden. Die Systematik der<br />
Erzeugung <strong>von</strong> Trainingsdaten für Translation und Rotation werden im Folgenden<br />
ausführlicher beschrieben.<br />
Translation:<br />
Um alle möglichen Translationsanteile einer Verschiebeoperation abzudecken, müssen<br />
auf der Startlinie Startpunkte gewählt werden auf denen der Arm das rote Klötzchen<br />
vor sich herschiebt. Mit Startlinie ist der unterste Bereich des beschriebenen eingeschränkten<br />
Bereichs gemeint (z-Wert= 330). Der Abstand der Startpunkte auf der<br />
32 Universität Bielefeld, AG Technische Informatik
¡<br />
3 Experimentelles Setup<br />
Abbildung 3.4: 1-3: Die Translationenbahnen f ür das Sammeln der Trainingsdaten <strong>mit</strong> jeweils verschiedenem Ausrichtungswinkel<br />
und <strong>mit</strong> x gekennzeichneten Startpunkten. 4: Das Gitter auf dem die Lernbeispiele f ür die<br />
Rotation gesammelt werden.<br />
Startlinie wurde auf 20mm gesetzt, wodurch grundsätzlich 17 Startpunkte gegeben sind.<br />
Bei Translationen <strong>mit</strong> einem ¨ Orientierungs-Wert kommen zusätzlich noch bis<br />
zu 8 Startpunkte an den Rändern hinzu, um auch die oberen Ecken <strong>mit</strong> Lernbeispielen<br />
abzudecken. Diese Startpunkte sind in Abbildung 3.4 durch ein X markiert. Von jeder<br />
dieser Startpunkte startet ein Verschiebungsdurchlauf <strong>mit</strong> 10mm Schritten, bis die<br />
obere Grenze des Arbeitsbereichs erreicht ist. Im Normalfall handelt es sich um ca. 40<br />
Schritte, jedoch wird die Schrittanzahl bei <br />
unterschiedlichem und den Startpunkten<br />
an den Rändern angepasst. Dieser Durchlauf wird <strong>mit</strong> allen möglichen Orientierungen<br />
des Greifers, im Bereich <strong>von</strong> -40 Grad bis +40 Grad <strong>mit</strong> 5 Grad Schritten, wiederholt<br />
(siehe Abbildung 3.4 1, 2 und 3). Vor und nach jedem Vorwärtsschritt wird ein<br />
Bild abgespeichert. Die dazugehörigen Daten, bestehend aus der aktuellen Position<br />
und Orientierung des Klötzchens und des Greifers, werden zusätzlich in einer Datei<br />
abgespeichert.<br />
Rotation:<br />
Um alle möglichen Rotationsanteile einer Verschiebeoperation abzudecken, muss ein<br />
Gitter über den Verschiebebereich gelegt werden. Auf allen Gitterpunkten des Gitters<br />
rotiert der Arm das rote Klötzchen in geeignet kleinen Rotations-Schritten um die<br />
-Achse des Greifers (siehe Abbildung 3.2), um dieses in eine andere Orientierung zu<br />
¥<br />
bringen. Dieses Gitter ist rechts in der Abbildung 3.4 gezeigt. Bei dem Gitter handelt<br />
es sich um den schon beschriebenen eingeschränkten Bereich, wobei der Abstand<br />
der Gitterpunkte auf 20mm festgelegt wurde. Auf jedem dieser Gitterpunkte wurden<br />
Bilder in 5 Grad Schritten im Bereich <strong>von</strong> -40 Grad bis +40 Grad aufgenommen (pro<br />
Gitterpunkt 9 Bilder). Auch hier werden die dazugehörigen Daten zusätzlich in einer<br />
Datei abgespeichert.<br />
Universität Bielefeld, AG Technische Informatik 33
3 Experimentelles Setup<br />
Die soeben beschriebenen Verfahren liefern eine Menge <strong>von</strong> ca. 23000 Bildern und<br />
21500 Lernbeispielen. Um festzustellen, ob mehr Lernbeispiele das Training der neuronalen<br />
Netze verbessern würden, wurde die Anzahl der Lernbeispiele vergrößert.<br />
Anstelle der 10mm Schritte wurden bei der Translation auch 20mm und 30mm<br />
Vorwärtsschritte in Form <strong>von</strong> Lernbeispielen <strong>mit</strong> den dazugehörigen Bildern abgespeichert.<br />
Bei der Rotation wurden zusätzlich zu den 5 Grad Rotationen auch 10 Grad Rotationen<br />
verwendet. Es sind so<strong>mit</strong> ca. 37500 Lernbeispiele entstanden. Zusätzlich zu den<br />
Lernbeispielen wurden noch Testbeispiele gesammelt, um die trainierten Netze auf ihre<br />
Performanz zu testen. Hierfür wurden per Hand 10 zufällige Verschiebetrajektorien<br />
in unterschiedlichen Längen innerhalb des eingeschränkten Arbeitsbereichs aufgenommen.<br />
Die 10 Trajektorien enthalten dabei 193 Testbeispiele. Die Bilddatenbank besteht<br />
so<strong>mit</strong> aus ca. 40000 Bildern.<br />
Diese systematische Erstellung der Trainingsdatenbank ist eine Voraussetzung für eine<br />
ausreichend gute Vorhersage des Vorwärtsmodells. Es ist jedoch möglich, dass<br />
zusätzliche Datensätze <strong>mit</strong> zufälliger Position und Orientierung und zufälligem Motorkommando<br />
die Vorhersage verbessern können. Dieser Verbesserungsvorschlag wurde<br />
jedoch nicht ausreichend geprüft.<br />
3.4.2 Datenrepräsentation der Datenbank<br />
Beim Sammeln der Datensätze werden zu jedem Bild, das der Framegrabber liefert, die<br />
zugehörigen Positions- und Orientierungsdaten bezüglich des Basiskoordinatensystems<br />
des <strong>Roboterarm</strong>s er<strong>mit</strong>telt und abgespeichert. Dies geschieht, da<strong>mit</strong> die Bilder jederzeit<br />
einer Position und Orientierung des Greifers zugeordnet werden können.<br />
Ein Datensatz der Datenbank besteht also aus einer Reihe aufgenommener Bilder und<br />
einer dazugehörigen Datei. In der Datei sind in Form einer Matrix für jeden Schritt<br />
zwischen zwei dieser Bilder sowohl die Positions- und Orientierungsänderung als auch<br />
die Position und Orientierung des Greifers vor und nach der Bewegung festgehalten.<br />
Zusätzlich sind in dieser Datei die aus den Bildern hervorgehenden Informationen der<br />
Orientierung und Position des roten Klötzchens vor und nach der Bewegung abgespeichert.<br />
Diese Dateien enthalten da<strong>mit</strong> eine Reihe <strong>von</strong> § Lernbeispielen <strong>mit</strong> <strong>Hilfe</strong> derer die<br />
neuronalen Netze trainiert werden können. Die Bilder liegen in kartesischer Darstellung<br />
der Bildpunkte vor, wobei die Bildpunkte in Horizontal- und Vertikalkoordinaten dargestellt<br />
werden. Dabei © ist die Anzahl der horizontalen ¨ und die Anzahl der vertikalen<br />
Bildpunkte. Die Bildpunkte eines Farbbildes werden durch RGB-Triplets dargestellt, in<br />
denen die Werte für den Rotkanal, Grünkanal und Blaukanal definiert sind. Nach einer<br />
Transformation der Bilder in den LAB-Farbraum können Objekte, wie zum Beispiel das<br />
rote Klötzchen, vom Rest des Bildes extrahiert werden. Dieser LAB-Farbraum wird in<br />
Abschnitt 4.2 genauer beschrieben.<br />
34 Universität Bielefeld, AG Technische Informatik
4<br />
Realisierung<br />
In diesem Kapitel wird die Realisierung der in Kapitel 2 und 3 vorgestellten Methoden<br />
und Verfahren beschrieben. Zu Beginn wird im Abschnitt 4.1 beschrieben, wie genau<br />
eine durchzuführende Verschiebeoperation aufgebaut ist. Darauf folgend wird im Abschnitt<br />
4.2 erläutert, wie die Daten der Kamera vorverarbeitet werden, um sinnvolle Informationen,<br />
wie Position und Orientierung des roten Klötzchens, für die Lernbeispiele<br />
zu erhalten. Anschließend wird im Abschnitt 4.3 dargestellt, in welcher Art und Weise<br />
die Vorwärtsmodelle für die visuelle Vorhersage der gestellten Aufgabe genutzt werden.<br />
Dabei wird die Struktur der Lernbeispiele definiert und eine Normierung der aus<br />
den Bildern extrahierten Daten beschrieben. Zuletzt wird im Abschnitt 4.5 beschrieben,<br />
wie der <strong>Roboterarm</strong> <strong>von</strong> seiner Ausgangslage, der ”<br />
Ruhestellung“, in den Startzustand<br />
der Verschiebeoperation überführt wird.<br />
4.1 Ablauf einer Verschiebeoperation<br />
Das praktisch zu erreichende Ziel ist das Verschieben des roten Klötzchens <strong>von</strong> einem<br />
sensorischen Startzustand in einen anderen sensorischen Zielzustand. Dabei handelt es<br />
sich bei den sensorischen Zuständen um Position und Orientierung des roten Klötzchens<br />
in einem Bild, welches <strong>von</strong> einer Kamera aufgenommen wird. Diese zwei sensorischen<br />
Zustände sind in Abbildung 4.1 zu sehen.<br />
Der Ablauf einer solchen Verschiebeoperation ist folgendermaßen aufgebaut. Zu Beginn<br />
befindet sich der <strong>Roboterarm</strong> in der Ruhestellung, das heißt alle Gelenkwinkel stehen<br />
auf 0 Grad. Die Kamera fixiert einen festgelegten Arbeitsbereich (siehe Abschnitt<br />
3.3). Als nächstes wird das rote Klötzchen an einer beliebigen Stelle im Verschiebebereich<br />
positioniert, die Kamera nimmt ein Bild auf und die Informationen über Position<br />
Universität Bielefeld, AG Technische Informatik 35
4 Realisierung<br />
Abbildung 4.1: Links: Der sensorische Startzustand vor der eigentlichen Verschiebeoperation. Rechts: Der sensorische<br />
Zielzustand nach der Verschiebeopertaion.<br />
und Orientierung des Klötzchens und des Greifers werden gespeichert. Es handelt sich<br />
hierbei um die Zielposition des Klötzchens. In welcher Form genau die Informationen<br />
gespeichert werden, wird im Abschnitt 4.2 erläutert. Anschließend wird das rote<br />
Klötzchen an einer weiteren Stelle im Verschiebebereich, der Startposition, positioniert.<br />
Dann werden wieder die Informationen über Position und Orientierung des Klötzchens<br />
und des Greifers im aktuellen Bild gespeichert. Die Startposition des Greifers wird aus<br />
den Informationen des Bildes der Startposition er<strong>mit</strong>telt, wobei ein einfacher Vergleichsalgorithmus<br />
verwendet wird, der im Abschnitt 4.5 genauer erläutert wird.<br />
Anschließend beginnt die Berechnung der Verschiebetrajektorie, bestehend aus einer<br />
Kette <strong>von</strong> Motorschritten <strong>mit</strong> <strong>Hilfe</strong> der bereits trainierten Vorwärtsmodelle und eines<br />
Optimierungsalgorithmus (siehe Abschnitt 4.4). Nachdem der <strong>Roboterarm</strong> die Startposition<br />
angefahren hat, führt er eine Reihe <strong>von</strong> Motorkommandos aus, wodurch das rote<br />
Klötzchen <strong>von</strong> seinem sensorischen Startzustand in den gewünschten sensorischen Zielzustand<br />
überführt wird.<br />
4.2 Bildvorverarbeitung<br />
Bei der Vorverarbeitung geht es darum, aus den Bildern der Kameras die wichtigsten<br />
Informationen zu extrahieren, um so die oben beschriebenen <strong>visuellen</strong> Bestandteile des<br />
Lernbeispiels zu gewinnen. Vorerst werden die Bilder <strong>von</strong> der Kamera durch den Grabber<br />
zur weiteren Verarbeitung gespeichert. Es gilt nun, das rote Klötzchen aus dem Gesamtbild<br />
zu extrahieren und dessen Position sowie Orientierung zu bestimmen. Es wird<br />
lediglich ein vordefinierter Bereich, der den Experimentiertisch enthält, aus dem gesam-<br />
36 Universität Bielefeld, AG Technische Informatik
£<br />
£<br />
<br />
4 Realisierung<br />
Abbildung 4.2: Links: LAB Farmraum-Spektrum bei einer Lumineszenz <strong>von</strong> ca. 50 %. Quelle: Wikipedia (LAB-<br />
Farbraum) Rechts: Bild des <strong>Roboterarm</strong>s welches in den LAB Farbraum transformiert wurde.<br />
ten Bild für die weiteren Verarbeitungsschritte benutzt. Dies geschieht, da<strong>mit</strong> Objekte<br />
oder Personen die sich neben dem Tisch befinden, nicht in die weitere Bildverarbeitung<br />
<strong>mit</strong> einfließen.<br />
¤£<br />
¨¢¡ ¨ Aus dem Pixel großen Bild der Kamera wird so<strong>mit</strong> ein ¨ ¨¥¡ ¨ ¨ ca. Pixel<br />
großes Bild des Tischbereichs extrahiert. Anschließend wird aus dem Bild die entsprechende<br />
Farbe isoliert. Im Falle des Klötzchens, welches es zu verschieben gilt, ist dies<br />
ein roter Farbton. Um die Farbe des Objektes ausreichend gut isolieren zu können, wird<br />
das Bild in den LAB Farbraum (auch CIE-LAB genannt) konvertiert. Bei dem LAB-<br />
Farbraum sind Helligkeit ( ) und (¦ Farbtöne ) <strong>von</strong>einander getrennt. Ein L-Wert <strong>von</strong><br />
0 entspicht Schwarz und ein L-Wert <strong>von</strong> 100 entspricht Weiß. Die Farbtöne sind dann<br />
<br />
durch und definiert (Abbildung ¦ 4.2).<br />
Es ist nun im LAB Farbraum möglich, genaue Wertebereiche für den Farbton des roten<br />
Klötzchens zu definieren, um dieses vom Rest der Bildes unterscheiden zu können. Ergebnis<br />
ist ein Grauwertbild, welches nur die gesuchten Bildpixel des roten Klötzchens<br />
weiß kenntlich macht. Mit diesem Bild kann dann die Position und Orientierung bestimmt<br />
werden, wofür ein Verfahren <strong>von</strong> Hoffmann et al. (2005) verwendet wird.<br />
Für die Bestimmung der Position wird ein Verfahren verwendet, bei dem das Graustufenbild<br />
des Klötzchens ¨ ¨§¡ ¨ ¨ <strong>von</strong> Pixeln auf ein Bild <strong>mit</strong> ¡ Pixeln (bzw. ¨¡© )<br />
abgebildet wird, ohne wichtige Positionsinformationen zu verlieren. Hierfür werden 16<br />
£<br />
gleichverteilte Neuronen in ¡ einem Gitter (analog dazu 9 Neuronen in ¨¡ einem<br />
Gitter) jeweils in einem Bild gespeichert und <strong>mit</strong> dem Bild des Klötzchens £ verrechnet.<br />
Bei der Unterscheidung <strong>von</strong> 4x4 Pixel <strong>mit</strong> 16 Neuronen und 3x3 Pixel <strong>mit</strong> 9 Neuronen<br />
handelt es sich um zwei verschiedene experimentelle Bedingungen. Nachdem die Verwendung<br />
<strong>von</strong> 16 Neuronen keine ausreichend guten Resultate erbracht hat, wurden als<br />
Universität Bielefeld, AG Technische Informatik 37
4 Realisierung<br />
Abbildung 4.3: Bildvorverarbeitung f ür die Positionsmerkmale. In einem definierten Bildausschnitt wird die rote<br />
Farbe <strong>mit</strong> <strong>Hilfe</strong> des LAB-Farbraums herausextrahiert. Danach werden <strong>mit</strong> <strong>Hilfe</strong> <strong>von</strong> 16 Gaußfunktionen<br />
die Positionsmerkmale berechnet.<br />
Abbildung 4.4: Bildvorverarbeitung f ür die Orientierungmerkmale. Nach Anwendung eines Tiefpassfilters und eines<br />
<strong>von</strong> vier Kompassfiltern, werden alle Werte über einem Schwellwert aufsummiert. Quelle: Hoffmann<br />
et al. (2005)<br />
Alternative 9 Neuronen gewählt. Die Aktivierung jedes dieser Neuronen ist durch eine<br />
Gaußsche Normalverteilung definiert.<br />
<br />
¢<br />
© ¢ <br />
(4.1)<br />
<br />
¢ §<br />
¢<br />
§¡<br />
£¢<br />
¥¤§¦©¨<br />
<strong>mit</strong>:<br />
§ ¨ (bei der Verwendung des 4x4 Gitters)<br />
<br />
£ £¨© £ £ (bei der Verwendung des 3x3 Gitters)<br />
<br />
<br />
Es wird jedes Pixel des ¨ ¨ ¡ ¨ ¨ Grauwertbildes <strong>mit</strong> dem Wert des entsprechenden<br />
Pixels eines Gaußglockenbildes multipliziert und alle diese Werte werden aufsummiert.<br />
<br />
Um die entstehenden 16 bzw. 9 Werte in Abhängigkeit zu ihrer Position zu gewichten,<br />
wird jeder dieser Werte durch die Summe aller Werte der entsprechenden Gaußglocke<br />
dividiert. Die Gewichtung wird dadurch beseitigt, so dass die Werte in den Ecken nicht<br />
schwächer sind als die Werte nahe dem Zentrum. Die gesamte Information der Position<br />
38 Universität Bielefeld, AG Technische Informatik
¡<br />
¡<br />
¡<br />
¡<br />
4 Realisierung<br />
ist so<strong>mit</strong> in 16 (bzw. 9) Werten eindeutig dargestellt. Die einzelnen Schritte dieses Verfahrens<br />
sind in Abbildung 4.3 zu sehen.<br />
Auch für die Berechnung der Orientierung werden die vorverarbeiteten Grauwertbilder<br />
verwendet. Auf diese Bilder wird zuerst ein Tiefpass-Filter und anschließend einer <strong>von</strong><br />
vier Kompass-Filtern (0 ,45 ,90 ,135 ) angewendet (siehe Abbildung 4.4). Alle Pixel<br />
über einem fest definierten Schwellwert werden aufsummiert und das so entstandene<br />
Histogramm definiert eindeutig die Orientierung des Objektes. Nach Anwendung dieses<br />
Verfahrens können Position und Orientierung <strong>von</strong> Klötzchen und Greifer jeweils<br />
durch 20 (bzw. 13) Parameter ausgedrückt werden. Es ergibt sich ein Lernbeispiel <strong>mit</strong><br />
49 (bzw. 35) Elementen welches zum Trainieren des Multi-Layer-Perzeptron verwendet<br />
wird.<br />
4.3 Visuelles Vorwärtsmodell<br />
Wie schon beschrieben, eignen sich trainierte neuronale Netze für die Vorhersage sensorischer<br />
Zustände. Im Rahmen dieser Arbeit wurden daher die <strong>visuellen</strong> Vorwärtsmodelle<br />
durch Multi-Layer-Perzeptrone realisiert. Das Multi-Layer-Perzeptron kann dabei verschiedene<br />
Netzwerktopologien haben. Auf die in dieser Arbeit verwendeten Topologien<br />
wird in in Kapitel 5 im Rahmen der Erläuterung der Experimente genauer eingegangen.<br />
Die Struktur eines Multi-Layer-Perzeptron besteht, wie schon im Abschnitt 2.3 beschrieben,<br />
aus Eingabeknoten (Input), verdeckten Schichten und Ausgabeknoten (Outputs).<br />
Wie in Abbildung 4.5 schematisch dargestellt, bestehen Input und Output des<br />
neuronalen Netzes aus folgenden Bestandteilen. Der Input besteht aus den Motorkommandos<br />
, und , der Position und Orientierung des Greifers in Basiskoordina-<br />
¢<br />
ten <br />
, und , 4 Werten für die Orientierung ( ¦¢¡ ¡ ) und 16 bzw. 9 Werten für<br />
¢<br />
¡<br />
die Position des roten ¡ ¡£¡ ¡ ¦ Klötzchens ( ). Der Output besteht lediglich aus der Position<br />
und Orientierung ¢<br />
¡¦¥¨§<br />
des<br />
¡¦¥¨§<br />
Greifers <br />
¡¦¥¨§<br />
, und , 4 Werten für die Orientierung<br />
¡ ( ) und 16 bzw. 9 Werten für die Position des roten ¡ ¡£¡<br />
¡ ¦ Klötzchens( ).<br />
¦¢¡<br />
Der Unterschied zwischen der <strong>visuellen</strong> Information des Inputs und Outputs besteht<br />
darin, dass dazwischen eine Verschiebeoperation, gegeben durch die Motorkommandos<br />
im Input, durchgeführt wird. Die genaue Berechnung der Position und Orientierung<br />
des roten Klötzchens aus den Bildern wurde bereits im Abschnitt 4.2 genauer erläutert.<br />
Die <strong>visuellen</strong> Eingabeinformationen in Kombination <strong>mit</strong> den Motorkommandos werden<br />
durch die verdeckten Schichten geleitet und liefern in den Ausgabeknoten eine sensorische<br />
Konsequenz als Vorhersage. Wie schon im Abschnitt 2.3 erwähnt, müssen dabei<br />
die Gewichtungen trainiert werden, um die sensorische Vorhersage zu optimieren. Dies<br />
wird durch eine Menge <strong>von</strong> Lernbeispielen realisiert. Bei diesen handelt es sich um<br />
überwacht aufgenommene Zusammenhänge zwischen Eingangs- und Ausgangsknoten,<br />
die ein für die gestellte Aufgabe optimiertes Lernen des Vorwärtsmodells gewährleisten<br />
sollen. Zur Erstellung <strong>von</strong> Lernbeispielen wurde bezüglich der gestellten Aufgabe eine<br />
Universität Bielefeld, AG Technische Informatik 39
§<br />
§ £ £<br />
©<br />
¡<br />
¨ § <br />
§<br />
§<br />
<br />
<br />
<br />
<br />
<br />
§ £ £<br />
©<br />
¡<br />
¨ § <br />
£<br />
¦<br />
¦<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
¡<br />
¡<br />
§ £<br />
© ¨ ¨<br />
§<br />
<br />
¡<br />
¡<br />
<br />
¡<br />
<br />
<br />
<br />
<br />
¡<br />
<br />
<br />
<br />
¡<br />
§<br />
¨© ¡<br />
§ £ £<br />
©<br />
¡<br />
¨ ©©© <br />
¡<br />
¡<br />
<br />
<br />
§<br />
¨ © ¡<br />
§<br />
¡ ¨©<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
¡<br />
<br />
<br />
<br />
4 Realisierung<br />
Abbildung 4.5: Schematische Darstellung <strong>von</strong> Inputs und Outputs des neuronalen Netzes. Dabei sind , ¡ und ¡<br />
Position und Orientierung des Greifers in Basiskoordinaten, ¢¤£ §¦¥ ist die Position und § ¡ ¢¨¥ die Orientierung<br />
des Klötzches. Der Index ¡ steht f ür den Zeitpunkt vor dem Motorkommandos © , ©¡ und<br />
© ¡<br />
und ¡ ¥ § ist der Zeitpunkt nach den Motorkommandos.<br />
Datenbank erstellt, die im Abschnitt 3.4.1 bereits genauer erläutert wurde.<br />
In Analogie zum beschiebenen Input und Output des Multi-Layer-Perzeprons ergibt sich<br />
für die Lernbeispiele (engl. pattern) folgende Struktur :<br />
<br />
¡<br />
£<br />
¡<br />
¡<br />
¦ ¡£¨<br />
<br />
¨©<br />
¦ © ¨<br />
£<br />
(4.2)<br />
<br />
§ ¡ ©©<br />
§ £<br />
© ¨ ¡<br />
¡<br />
¡<br />
£<br />
¡<br />
¡<br />
¡ ¡¦<br />
¦ ©<br />
¡ <br />
¨ © ©¢¡<br />
¡<br />
©¦ ©<br />
¡<br />
© ©<br />
<br />
¡<br />
£<br />
¡<br />
¡<br />
§ ¡ ©©<br />
© ©<br />
§ ¡ ©©<br />
<br />
¢<br />
<br />
(4.3)<br />
¢<br />
¡<br />
¡¦¥¨§<br />
¢<br />
¡ © <br />
¡ © <br />
<br />
¡ ¡ ¡ ¡ <br />
©©© ¡ ¡ ¡<br />
¡ ¦ <br />
¦¢¡ ¡ <br />
©©©<br />
¦¢¡<br />
¡ <br />
<br />
<strong>mit</strong>:<br />
¡ ¡ Position des roten Klötzchen<br />
¡<br />
Orientierung des roten Klötzchen<br />
¦¢¡<br />
<br />
<br />
¦<br />
¦¢¡<br />
¡¦¥¨§ <br />
©©©<br />
oder ¦ (Anzahl der Gauß-Neuronen)<br />
£<br />
£<br />
(Anzahl der Kompasswerte)<br />
<br />
¡ ¡ ¡<br />
¡¦¥¨§ <br />
©©© ¡ ¡ ¡<br />
¡¦¥¨§ ¦ <br />
¦¢¡<br />
¡¦¥¨§<br />
<br />
Da viele Lernbeispiele für ein erfolgreiches Training notwendig sind, werden mehrere<br />
Lernbeispiele zur so genannten Lernmenge zusammengesetzt.<br />
Es ergibt sich die Lernmenge (engl. patternset):<br />
§ £ £<br />
©<br />
¡<br />
¨"!$# (4.4)<br />
§ £ £<br />
©<br />
¡<br />
¨ ¡©<br />
£<br />
§ £ £<br />
©<br />
¡<br />
¨<br />
§<br />
§¤¡ <br />
40 Universität Bielefeld, AG Technische Informatik
¢<br />
<br />
©<br />
§<br />
4 Realisierung<br />
Abbildung 4.6: Schematische Betrachtung der internen Datenrepräsentation. Es wird jeweils ein Bild vor und ein Bild<br />
nach jedem Motorkommando erstellt. Inhalt eines Patterns sind dann, Position und Orientierung vor<br />
und nach dem Motorkommando sowie das Motorkommando selbst. Zusätzlich werden im Pattern noch<br />
die Position und Orientierung des Greifer in Basiskoordinaten vor und nach dem Motorkommando<br />
gespeichert. Viele Pattern werden zu einem Patternset zusammengefasst.<br />
<strong>mit</strong>:<br />
¨ Anzahl der Lernbeispiele<br />
Eine schematische Betrachtung der internen Datenrepräsentation ist in Abbildung 4.6<br />
£<br />
¢¢¡ § ¡ § £¡ aufgenommen und gelangt nach der Bildverarbeitung<br />
§<br />
¢<br />
§<br />
visualisiert. Diese Datenrepräsentation zeigt folgende Situation: Zum Zeitpunkt wird<br />
ein Bild <strong>mit</strong> Greiferkoordinaten<br />
ins Pattern . Zum nächsten Zeitpunkt hat sich der Greifer um das<br />
bewegt. Während Bild zum Zeitpunkt aufge-<br />
Motorkommando ¢ §<br />
nommen wird, hat der Greifer die Koordinaten §<br />
<br />
<br />
¢<br />
und ¡<br />
= + £¡ . Auch die Daten aus Bild fließen nach der Bildverarbeitung <strong>mit</strong> in das<br />
Pattern ein. Zusätzlich enthält das Pattern § auch das Motorkommando zwischen<br />
§<br />
den beiden Bildern, sowie die Position und Orientierung des Greifers vor und nach der<br />
Bewegung.<br />
¢¤¡ §<br />
§<br />
<br />
©<br />
4.3.1 Normierung der Lernbeispiele<br />
Die soeben beschriebenen Informationen aus den Bildern haben unterschiedliche<br />
Größen und sollten daher normiert werden, bevor <strong>mit</strong> ihnen die Vorwärtsmodelle trainiert<br />
oder sie für Vorhersagen verwendet werden.<br />
Die ersten 9 Werte eines Lernbeispiels bestehen aus den Motorkommandos und den absoluten<br />
Werten bezüglich des Basiskoordinatensystems, welche im Bereich zwischen<br />
-300 und +800 liegen. Die restlichen Werte enthalten Positions- und Orientierungsdaten<br />
aus den Bildern. Auch hier unterscheiden sich die Werte zum Teil stark. Während<br />
die Orientierungsdaten im Bereich zwischen +20 und +200 liegen, liegen die Werte der<br />
Universität Bielefeld, AG Technische Informatik 41
¢<br />
¥<br />
<br />
¢ ¢§¦ §<br />
¤¤¤£<br />
<br />
<br />
<br />
<br />
¥<br />
¥<br />
§<br />
¢ ¢¦ ¦<br />
¢<br />
<br />
© ¢ <br />
4 Realisierung<br />
Positionsdaten im Bereich <strong>von</strong> 0 bis +1. Dies verdeutlicht warum eine Normierung notwendig<br />
ist.<br />
Bei der gewählten Normierung handelt es sich um die so genannte ”<br />
Z-Score-<br />
Normierung“ bei der die Daten auf einen Wertebereich <strong>mit</strong> Mittelwert 0 und Varianz<br />
1 skaliert werden. Berechnet wird dann der Mittelwert © ¢ jedes der 49 bzw. 35 Werte ¢ ¢§¦<br />
und die Standardabweichung<br />
© ¢ <br />
¦¡<br />
§ ¢ ¢§¦ (4.5)<br />
<br />
©¢ <br />
<br />
(4.6)<br />
<br />
<br />
<strong>mit</strong> ¨ § §©©©§ ¡ Index ¦ ¨§ §©©©§ und , ¡ wobei die Anzahl der trainierten Lernbeispiele<br />
und (49 bzw. 35) die Anzahl der Werte in den Lernbeispielen ist.<br />
Diese Werte werden für die gesamte § ¡ Lernmenge bestimmt und in einer Matrix abgespeichert,<br />
da<strong>mit</strong> die Werte der einzelnen Lernbeispiele jederzeit normiert und wieder<br />
zurück normiert werden können. Jeder ¢ ¢§¦ Wert wird dabei § ¢ ¢§¦ zu normiert <strong>mit</strong><br />
¢ ¢§¦ <br />
(4.7)<br />
und zurücknormiert zu ¢¢ <strong>mit</strong><br />
¢¦¥ § ¢ ¢¦ ¢<br />
<br />
<br />
©<br />
¢<br />
© ¢ (4.8)<br />
4.3.2 Training<br />
Nachdem eine Menge <strong>von</strong> Lernbeispielen in Form eines Patternsets vorhanden ist, kann<br />
diese verwendet werden, um ein neuronales Netz wie das Multi-Layer-Perzeptron zu<br />
trainieren. Die in Kapitel 5 beschriebenen Versuche verwenden jedoch unterschiedliche<br />
Bereiche der gesamten Lernmenge für das Trainieren des Multi-Layer-Perzeptrons.<br />
Da ein großer Teil der Versuche Online-Lernverfahren beinhalten, ist es am besten, wenn<br />
die Lernbeispiele vor dem Training in eine zufällige Reihenfolge gebracht werden. Dies<br />
ist nötig, weil bei Verwendung <strong>von</strong> Online-Lernverfahren der Lernerfolg geringer sein<br />
kann, wenn beim Training aufeinander folgende Lernbeispiele sehr ähnlich sind. Die<br />
Trainingsmenge ist, wie im Abschnitt 3.4.1 beschrieben, schematisch und in aufeinander<br />
folgenden Ketten aufgebaut, so dass ein Umsortieren vor dem Training sinnvoll ist.<br />
Anschließend werden die Lernbeispiele nacheinander selektiert und <strong>von</strong> dem gewählten<br />
Lernverfahren für das Training des Multi-Layer-Perzeptrons genutzt. Bei den beiden<br />
verwendeten Lernverfahren handelt es sich um die bereits im Abschnitt 2.3.1 und 2.3.2<br />
beschrieben Back-Propagation und Resilient-Propagation Verfahren.<br />
42 Universität Bielefeld, AG Technische Informatik
4 Realisierung<br />
4.4 Bildung <strong>von</strong> Verhaltensketten<br />
In diesem Abschnitt geht es um die Realisierung des Differential Evolution Optimierungsverfahrens<br />
im Zusammenhang <strong>mit</strong> den beschriebenen Verfahren. Ausgegangen<br />
wird <strong>von</strong> den Vorwärtsmodellen, <strong>mit</strong> deren <strong>Hilfe</strong> eine Vorhersage des sensorischen Zustandes<br />
zu einem Zeitpunkt nach einer Bewegung durch die Motorkommandos um ¢¢ ,<br />
<br />
¢<br />
<br />
und ¢ gemacht werden kann. Nachdem die Vorwärtsmodelle gespeichert wurden,<br />
können sie nun zur Weiterverwendung geladen werden. Zudem werden zu Beginn<br />
<br />
des zu lösenden Problems zwei Bilder aufgenommen. Auf dem ersten sollte die Zielposition<br />
des roten Klötzchens und auf dem zweiten die Startposition des roten Klötzchens<br />
zu sehen sein. Aus diesen Bildern werden, wie im Abschnitt 4.2 erläutert, jeweils die<br />
Information über die Position und Orientierung er<strong>mit</strong>telt. Da<strong>mit</strong> sind dann alle notwendigen<br />
Informationen bekannt, um eine Bewegungstrajektorie zu erstellen, die vom Startzustand<br />
in den Zielzustand führt.<br />
Bei den frei wählbaren Parametern der zu minimierenden Funktion handelt es sich um<br />
die Motorkommandos in jedem Schritt, bestehend aus © ¢ und ¢ , wobei ©¢ den<br />
<br />
Translationanteil und ¢ den Rotationsanteil um die Greiferspitze darstellen. Eine<br />
Kette vom Startzustand in den Zielzustand besteht so<strong>mit</strong> aus eine Reihe aufeinander<br />
<br />
folgender Motorkommandos. Dabei wird immer zuerst eine Rotation um ¢ Grad und<br />
anschließend eine Translation um © ¢ mm durchgeführt. Es wurde abweichend vom<br />
Training der Vorwärtsmodelle die Translation in Form <strong>von</strong> <br />
© ¢ und nicht in Form <strong>von</strong><br />
<br />
¢ und ¢ verwendet, da<strong>mit</strong> stets eine Translation in Abhängigkeit zur Greiferausrichtung<br />
ausgeführt wird. Wäre dies nicht der Fall, so könnte der Arm auch seitliche<br />
¢<br />
Bewegungen ausführen, wodurch das Klötzchen aus dem Einflussbereich des Greifers<br />
geraten könnte. Jedoch muss der <strong>von</strong> Differential Evolution optimierte Parameter © ¢<br />
jedes Mal in ¢ ¢ und ¢ bezüglich der aktuellen Orientierung umgewandelt werden,<br />
da die Vorwärtsmodelle ¢¢ und ¢ und ¢ als Input benötigen.<br />
Nachdem die Parameter ¢ ¢ , ¢ und ¢ und die sensorische Information des Startzustandes<br />
er<strong>mit</strong>telt sind, kann eine Vorhersage des nächsten Teilschrittes gemacht werden.<br />
<br />
Die Rotation um die Greiferspitze (siehe Abbildung 3.2) wurde <strong>von</strong> der Translation getrennt,<br />
so dass immer erst die Vorhersage der Rotation und dann die Vorhersage der<br />
Translation gemacht wird. Dadurch wird der Greifer immer zuerst in der Orientierung<br />
ausgerichtet und anschließend wird eine Vorwärtsbewegung durchgeführt.<br />
Rotation und Translation verwenden zwei unterschiedliche neuronale Netze für die Vorhersage.<br />
Diese Netze unterscheiden sich zwar in ihrer Struktur, jedoch unterscheiden sie<br />
sich nich in der Anzahl der trainierten Lernbeispiele. Der Output der Vorhersage des ersten<br />
Teilschrittes wird als Input des nächsten Teilschrittes <strong>mit</strong> neuen Parametern © ¢<br />
¥¨§<br />
und <br />
¢<br />
¥¨§<br />
verwendet (siehe Abbildung 4.7).<br />
Nachdem eine vordefinierte Kettenlänge <br />
durchlaufen ist, ist das Resultat eine Vorhersage<br />
des gewünschten Zielzustandes er<strong>mit</strong>telt. Nun gilt es, diese Vorhersage <strong>mit</strong> den<br />
¦<br />
tatsächlich aufgenommen sensorischen Informationen des Zielzustandes zu vergleichen<br />
Universität Bielefeld, AG Technische Informatik 43
4 Realisierung<br />
Abbildung 4.7: Verkettung mehrerer Multi-Layer-Perzeptrons. (Adaptiert <strong>von</strong> Hoffmann und Möller (2004))<br />
und die Energie zu bestimmen. Dazu ist es sinnvoll, jeweils den euklidischen Abstand<br />
aller 16 bzw. 9 Werte der Position und der 4 Werte der Orientierung aufzusummieren.<br />
Dieses Verfahren ist analog zu dem Vergleichsverfahren, das bei der Look-Up Tabelle<br />
verwendet und im Abschnitt 4.5 noch genauer erläutert wird. Die Energie wird durch<br />
Addition der beiden gewichteten Anteile <strong>von</strong> Position und Orientierung erreicht. Hier<br />
gilt wieder, je geringer die Energie, desto besser ist die Übereinstimmung <strong>von</strong> erreichtem<br />
und gewünschtem sensorischen Zustand.<br />
Da zu Beginn nicht fest steht wie viele Kettenglieder ¦ , also einzelne Vorhersagen der<br />
Vorwärtsmodelle benötigt werden, um eine gute Trajektorie zu erstellen, wird erst <strong>von</strong><br />
einem Glied ausgegangen und dann jeweils ein weiteres aufaddiert. In einem festgelegtem<br />
Intervall der Kettenlänge ¦ , wird das Verfahren wiederholt und jeweils die Energie<br />
berechnet. Die Kettenlänge <strong>mit</strong> der niedrigsten Energie wird verwendet um das rote<br />
Klötzchen vom Startzustand in den gewünschten Zielzustand zu schieben. Zusätzlich<br />
wird noch überprüft, ob der Energiewert einen bestimmten Schwellwert überschreitet.<br />
Ist dies der Fall, so kann alternativ nach einer festgelegten Anzahl <strong>von</strong> Wiederholungen<br />
aller Optimierungsschritte das beste Ergebnis ausgewählt werden.<br />
Die Behandlung des Problems einer zielgerichteten Bewegung als ein Optimierungsproblem<br />
ermöglicht es, Strafterme hinzuzufügen, wenn die Motorkommandos außerhalb<br />
gewollter Bereiche liegen. Dies ist notwendig, da<strong>mit</strong> die Parameter (Motorkommados)<br />
des Differential Evolution in dem Bereich liegen, <strong>mit</strong> dem das Vorwärtsmodell<br />
auch trainiert wurde. Die Translation sollte stets positiv und nicht größer als die in den<br />
Vorwärtsmodellen trainierten Translationen sein. So<strong>mit</strong> liegt der straffreie Bereich bei<br />
der Translation <strong>von</strong> 0 bis 30. Alle Werte, die darüber oder darunter liegen, werden in<br />
Abhängigkeit <strong>von</strong> der Abweichung <strong>mit</strong> einer Konstante versehen, die zu dem Energiewert<br />
addiert wird. Dieser wird so<strong>mit</strong> größer und schlechter, wodurch bestrafte Parameter<br />
nur selten im Ergebnis des Differential Evolution Prozesses enthalten sind. Bei der Rotation<br />
wird zusätzlich noch die Summe aller Absolutbeträge der Parameter auf die Energiefunktion<br />
aufgerechnet. Dies hat zur Folge, dass die Rotationsanteile über die gesamte<br />
Kette verteilt nicht vom trainierten Bereich <strong>von</strong> -10 Grad bis +10 Grad abweichen. Der<br />
Grund hierfür ist eine angestrebte Glättung der Trajektorien. Ohne diese Einschränkung<br />
44 Universität Bielefeld, AG Technische Informatik
4 Realisierung<br />
kann es durchaus vorkommen, dass die Trajektorie eine Zick-Zack Form aufweist.<br />
In jedem Teilschritt der Kette wird ein so genannter DESolver (eine Prozedur des Differntial<br />
Evolution Verfahrens) erstellt, wobei die drei Kontrollvariablen (Dimension<br />
der Population), (Verstärkung der differentiellen Variation) und £ ¦<br />
(crossover Wahrscheinlichkeit)<br />
festgelegt und die Variation des Verfahrens angegeben werden muss.<br />
<br />
Nach ausreichend vielen Testläufen hat sich das Verfahren RandToBest1 <strong>mit</strong> =20,<br />
¦ £<br />
=0.5 und =0.95, im Vergleich zu anderen Verfahren und anderen Werten in den Variablen,<br />
als am besten erwiesen. Die anderen Variationen und leicht abweichende Werte<br />
<br />
in den Kontrollvariablen haben dabei nicht deutlich schlechtere Ergebnisse erbracht.<br />
Die weitere Untersuchung dieser Kontrollvariablen und Variationen wäre eine Verbessungsmöglichkeit<br />
des Verfahrens. In der Energiefunktion, die <strong>mit</strong> DESolver-Solve aufgerufen<br />
wird, ist definiert, wie die Parameter durch Minimierung der Energie optimiert<br />
werden. Mit DESolver-Energy kann die kleinste Energie und <strong>mit</strong> DESolver-Solution die<br />
dazugehörigen Parameter abgerufen werden.<br />
4.5 Berechnung des Greifer-Startzustands<br />
Das Ziel ist, wie bereits beschrieben, das erfolgreiche Verschieben <strong>von</strong> einem Startzustand<br />
in einen Zielzustand, wie sie in Abbildung 4.1 zu sehen sind. Durch die trainierten<br />
Vorwärtsmodelle ist eine Vorhersage <strong>von</strong> kleinen Verschiebungen möglich, und durch<br />
die Optimierungsalgorithmen kann eine Kette <strong>von</strong> Motorkommandos vom Startzustand<br />
in den Zielzustand erstellt werden. Fraglich ist jedoch noch wie <strong>von</strong> der Ausgangssituation,<br />
<strong>mit</strong> dem <strong>Roboterarm</strong> in Ausgangsstellung, der Startzustand der Verschiebeoperation<br />
erreicht werden kann.<br />
In der Ausgangsituation ist der <strong>Roboterarm</strong> in der so genannten ”<br />
Ruhestellung“, in der<br />
alle Gelenkwinkel 0 Grad betragen. Um den Startzustand zu erreichen werden zwei<br />
Phasen durchlaufen. In der ersten Phase muss der <strong>Roboterarm</strong> <strong>von</strong> der ”<br />
Ruhestellung“<br />
in eine <strong>von</strong> zwei unterschiedlichen ”<br />
grundsätzlichen“ Verschiebehaltungen überführt<br />
werden. Dies ist notwendig, da bei einer direkten Bewegung <strong>von</strong> der ”<br />
Ruhestellung“<br />
in den Startzustand der <strong>Roboterarm</strong> <strong>mit</strong> dem Arbeitstisch kollidieren würde. Da diese<br />
Bewegung durch die Hindernisdetektion in einen Fehlerzustand führen würde, ist eine<br />
solche Bewegung nicht erwünscht. Zusätzlich ist es <strong>von</strong> Interesse auf welcher Seite des<br />
Tisches sich der Startzustand befindet, da<strong>mit</strong> die bessere der beiden ”<br />
grundsätzlichen“<br />
Verschiebehaltungen eingenommen werden kann. Der Grund für diese Maßnahme liegt<br />
in der Art, wie der <strong>Roboterarm</strong> montiert ist. Dadurch, dass die Motoren in ihrer Rotation<br />
eingeschränkt sind, kommt es vor, dass der Arm eine aufwendige Ausgleichbewegung<br />
durchführen muss. Bei einer solchen Ausgleichbewegung wird zuerst eine festgelegte<br />
zentrale Position über dem Arbeitstisch angefahren und anschließend wieder zur ursprünglichen<br />
Position und Orientierung zurückgekehrt. Jedoch haben die Motoren dabei<br />
andere Winkelstellungen, so dass sie die Verschiebeoperation weiterhin ausführen<br />
Universität Bielefeld, AG Technische Informatik 45
4 Realisierung<br />
können, ohne die Gelenkwinkelgrenze zu überschreiten. Um eine solche Ausgleichbewegung<br />
zu vermeiden, werden <strong>von</strong> Beginn an die optimalen grundsätzlichen“ Verschiebehaltungen<br />
gewählt und angefahren. Hierfür wird ein Bild <strong>von</strong> der Kamera ge-<br />
”<br />
nutzt, um anhand des roten Farbanteils im gespeicherten Bild zu bestimmen, ob sich<br />
das rote Klötzchen auf der linken oder rechten Seite des Tisches befindet.<br />
In der zweiten Phase muss die Position und Orientierung des Startzustandes berechnet<br />
werden, um <strong>von</strong> den grundsätzlichen“ Verschiebehaltungen in den Startzustand<br />
”<br />
zu gelangen. Es wird hierbei ein Teil der Datensätze verwendet, die für das Trainieren<br />
der Vorwärtsmodelle angelegt wurden. Bei den genutzten Daten handelt es sich um die<br />
Bildinformationen, die beim Sammeln der Lernbeispiele <strong>von</strong> Rotationsbewegungen auf<br />
dem gesamten Arbeitsbereich gespeichert wurden (siehe Abschnitt 3.4.1). Aus dem zu<br />
Beginn gespeicherten Bild werden, wie im Abschnitt 4.2 beschrieben, die Daten der<br />
Position und Orientierung des roten Klötzchens berechnet. Die aktuelle Orientierung<br />
des roten Klötzchens wird so<strong>mit</strong> durch 4 Werte und die der Position durch 16 bzw. 9<br />
Werte ausgedrückt. Diese Daten werden <strong>mit</strong> den Daten aller Positionen und Orientierung<br />
der Datenbank verglichen, da diese den gesamten Arbeitsbereich abdecken. Dabei<br />
wird das euklidische Abstandsmaß der 20 bzw. 13 Werte verwendet, um die Positionen<br />
und Orientierungen zu finden <strong>mit</strong> dem das gespeicherte Bild am besten übereinstimmt.<br />
Das Verfahren ist so<strong>mit</strong> nach dem Prinzip einer Lookup-Tabelle aufgebaut. Bei diesem<br />
Prinzip kann ein Wert <strong>mit</strong> in einer Tabelle gespeicherten Werten verglichen werden, um<br />
möglichst einen übereinstimmenden Wert zu finden. Alle Werte der Tabelle verweisen<br />
dabei auf weitere Informationen. Wird eine Übereinstimmung der <strong>visuellen</strong> Informationen<br />
<strong>von</strong> Position und Orientierung gefunden, verweist die Look-Up Tabelle auf die gespeicherte<br />
Position und Orientierung bezüglich des Basiskoordinatensystems. Je kleiner<br />
das Abstandsmaß über alle Werte ist, umso wahrscheinlicher ist es, dass dieser sensorische<br />
Zustand <strong>mit</strong> dem aktuellen sensorischen Zustand der Kamera übereinstimmt. Da<br />
die gesammelten Vergleichsdaten jedoch nur ein Gitter <strong>mit</strong> 20mm Abständen abdecken,<br />
ist es sinnvoll, die ¨ besten sensorischen Zustände zu berechnen und ein Mittel daraus<br />
zu bilden. Durch Versuche hat sich ergeben, ¨ <br />
£<br />
dass ¨ § und die besten Resultate<br />
erzielen.<br />
Nachdem der Startzustand nach dem beschriebenen Verfahren er<strong>mit</strong>telt ist, muss er sinnvoll<br />
angefahren werden. Um mögliche Fehler bei diesem relativ einfachen Verfahren zu<br />
kompensieren, steuert der Arm eine Position an, die ¨ ©© vor der bestimmen Position<br />
liegt und bewegt sich dann §©© vorwärts. So kann verhindert werden, dass das<br />
Klötzchen nicht direkt vor dem Greifer liegt.<br />
<br />
46 Universität Bielefeld, AG Technische Informatik
5<br />
Experimente<br />
In diesem Kapitel werden die durchgeführten Experimente beschrieben. Durch die Experimente<br />
wird klar, welche Verfahren sich am besten für die Lösung der Teilaufgaben<br />
eignen. Da der wichtigste Teil dieser Arbeit die <strong>visuellen</strong> Vorwärtsmodelle sind, gilt es<br />
insbesondere diese auf ihre Qualität hin zu untersuchen. Dies geschieht zum einen im<br />
Bezug auf die Qualität der einzelnen Vorhersagen und zum anderen auf die Qualität der<br />
generierten Trajektorien zur Verschiebung des roten Klötzchens.<br />
Durch Variation unterschiedlicher Faktoren wurde versucht,das Ergebnis der Experimente<br />
weitgehend zu optimieren. Dabei wurden die hier betrachteten Experimente nach<br />
einem hierarchischen Prinzip ausgewählt. Vielversprechende Experimente werden im<br />
Folgenden genauer beschrieben, auf weniger Erfolg versprechende Experimente wird<br />
hingegen nur kurz eingegangen. Die wichtigsten Faktoren, die variiert wurden, sind<br />
Bildvorverarbeitung, Trainingsgröße, Lernverfahren und Netzwerkstruktur. Eine weitere<br />
Verbesserung könnte die Variation des Optimierungsalgorithmus der Trajektorie liefern,<br />
worauf aus zeitlcihen Gründen jedoch nicht genauer eingegangen werden konnte.<br />
Hier wird so<strong>mit</strong> immer das Differential Evolution Verfahren als Optimierungsalgorithmus<br />
verwendet.<br />
Grundlegend werden bei jeder Variation drei unterschiedliche Vorwärtsmodelle betrachtet,<br />
die durch neuronale Netze realisiert sind. Das erste sagt die Orientierung des roten<br />
Klötzchens voraus, das zweite dessen Position und das dritte die Position und Orientierung<br />
des Greifers bezüglich des Basiskoordinatensystems. Die Netze sind also nach<br />
der Struktur der Lernbeispiele aufgeteilt. Diese Netzstruktur wird im folgenden Verlauf<br />
der Experimente als datenrelevante Struktur des Netzes bezeichnet. Eine Ausnahme<br />
bildet eine Variation des Multi-Layer-Perzeprons in Form einer monolithischen Netzwerkstruktur,<br />
bei der drei genannten Vorwärtsmodelle zusammen in einem Netz trainiert<br />
Universität Bielefeld, AG Technische Informatik 47
5 Experimente<br />
wurden. Eine weitere Ausnahme besteht im Auslassen des dritten Netzes, welches die<br />
Position und Orientierung des Greifer vorhersagt.<br />
Zuerst wird im Abschnitt 5.1 kurz auf die Auswertungsindikatoren der trainierten MLP<br />
und der vom Optimierungsalgorithmus generierten Trajektorie eingegangen. Danach<br />
werden die genannten Variationen im Abschnitt 5.2 nochmals genauer beschrieben und<br />
die Ergebnisse der einzelnen Experimente vorgestellt. Anschließend werden im Abschnitt<br />
5.3 die Ergebnisse der Experimente im Bezug auf die variierenden Faktoren diskutiert<br />
und es wird außerdem geschildert, ob und wie gut die gestellte Aufgabe gelöst<br />
wurde.<br />
5.1 Auswertungsindikatoren<br />
Um die Qualität der Vorwärtsmodelle <strong>mit</strong> den unterschiedlichen Variationen vergleichen<br />
zu können, müssen geeignete Auswertungsindikatoren gewählt werden. Es wird dabei<br />
zwischen Indikatoren in der Trainingsphase und der Testphase unterschieden.<br />
5.1.1 Indikatoren der Trainingsphase<br />
Bei den Indikatoren der Testphase handelt es sich um den ¡£¡£¤<br />
Lernfehler und dessen<br />
¤¡ ¢ ¢£ Varianz , die nach jeder Lernepoche bestimmt werden können.<br />
Der ¡£¡£¤<br />
Lernfehler ist der durchschnittliche Fehler aller ¨ Elemente , die in der Lernmenge<br />
definiert sind. Dabei wird die Abweichung zwischen dem Output des Netzes und<br />
dem zu erwartenden Output berechnet.<br />
<br />
<br />
£ !<br />
¢<br />
§ ¡¢ <br />
£<br />
¢ <br />
¨<br />
(5.1)<br />
¨¡©¡¤<br />
<br />
¤¤ ¢ ¥£ Die Varianz der Fehlerentwicklung wird ebenfalls nach jeder Epoche berechnet.<br />
Im Folgenden werden der Lernfehler und die Varianz immer im letzten Schritt des Trainings<br />
angegeben, da sie ausschlaggebend für die Qualität des entstandenen Netzes sind.<br />
Die Werte nach der letzten Epoche werden als Referenzwerte genommen. Es gibt auch<br />
Fälle, bei denen sich der Lernfehler während des Trainings wieder verschlechtert. Daher<br />
ist es wichtig, eine geeignete Anzahl <strong>von</strong> Lernepochen zu er<strong>mit</strong>teln. Bei den verschiedenen<br />
Variationen liegt die verwendete Epochenanzahl zwischen 300 und 1000<br />
Anhand der beiden Indikatoren können bereits während der Lernphase eines Netzes<br />
Schlüsse über den Erfolg des Lernprozesses gezogen werden. Dabei können Variablen<br />
wie die Anzahl der Epochen oder die Lernschrittweite angepasst werden, um die Qualität<br />
des Netzes zu optimieren. Der Lernfehler und dessen Varianz können bei zu hoher<br />
Epochenanzahl unter Umständen wieder steigen. In diesem Fall muss die Varianz angepasst<br />
werden.<br />
48 Universität Bielefeld, AG Technische Informatik
©<br />
5 Experimente<br />
5.1.2 Indikatoren der Testphase<br />
Die Testphase unterteilt sich in zwei Bereiche. Bei dem ersten handelt es sich um eine<br />
Vorhersage des Verhaltens des neuronalen Netzes bei Anwendung auf nicht trainierte<br />
Lernbeispiele. Hierfür werden die neuronalen Netze auf einem nicht trainierten Teil der<br />
Lernmenge oder auf 193 <strong>von</strong> Hand aufgenommene Testbeispiele getestet. Bei diesen<br />
handelt es sich um Daten, die sich sowohl im Translationsanteil als auch im Rotationsanteilen<br />
stark <strong>von</strong> den Trainingsbeispielen unterscheiden. Dadurch kann verglichen<br />
werden wie gut das trainierte Netz <strong>mit</strong> Daten umgehen kann, welche den Trainingsbeispielen<br />
ähnlich sind oder stark da<strong>von</strong> abweichen. Beim Testen der Netze wird auch hier<br />
der Abstand jedes erwarteten Output-Wertes zu dem tatsächlichen Output-Wert berechnet.<br />
Je geringer der summierte Abstand über alle Werte, desto besser ist die Vorhersage<br />
des neuronalen Netzes. Die Übereinstimmung zwischen erwarteten und erreichten<br />
Werten wird in Prozent ausgegeben, so dass die Qualität der verschiedenen Variationen<br />
beurteilt werden kann. Im Folgenden wird der Durchschnitt aller Werte <strong>von</strong> allen Testbeispielen<br />
als Qualität bezeichnet. Die Varianz wird dann durch die maximale und die<br />
minimale Qualität ausgedrückt. Bei jeder Variation werden diese drei Werte für jedes<br />
Netz in einer Tabelle dargestellt. Zusätzlich sind in diesen Tabellen noch der vorhin genannte<br />
Lernfehler und die Fehlervarianz angegeben. Die Qualität jeder Variation wird<br />
in den Abbildungen 5.1 bis 5.12 dargestellt.<br />
Der zweite Teil der Testphase ist die Bewertung der Ergebnisse nach der Erstellung der<br />
Verschiebe-Trajektorie. Hier spielt außer dem neuronalen Netz auch die Wahl der Parameter<br />
des Optimierungsalgorithmus eine große Rolle. Nachdem die trainierten Netze in<br />
verschieden Variationen getestet wurden, wird für die besten dieser Netze der Optimierungsalgorithmus<br />
umgesetzt. Auch hier muss ein Vergleichswert geschaffen werden.<br />
Die Bewertung der Kombination aus neuronalem Netz und Optimierungsalgorithmus<br />
geschieht durch Betrachtung der Abweichung <strong>von</strong> Position und Orientierung zwischen<br />
gewünschtem und erreichtem sensorischen Zustand. Dabei sind ¡ und die Fehler<br />
der Position ¢ in - und -Richtung ¡ und ist der Fehler der Orientierung . Aus diesen<br />
Fehlern resultiert ein Vergleichswert , der Position und Orientierung <strong>mit</strong> gewichteten<br />
Werten in Relation setzt.<br />
¡ ¡ ¢¡<br />
Verwendet wird dieser Vergleichswert <strong>mit</strong> den ¡ Gewichten und , um einen dimensionslosen<br />
Wert zu erhalten. Zusätzlich kann durch die Gewichte zum Beispiel die Position<br />
des Objektes stärker in die Bewertung einfließen als dessen Orientierung, falls Positionsabweichungen<br />
stärker bewertet werden sollen. In einer Tabelle werden im Abschnitt<br />
£<br />
5.2.6 drei Variationen gegenübergestellt und durch den genannten Vergleichswert <strong>mit</strong>einander<br />
verglichen.<br />
©¤£<br />
¡ (5.2)<br />
Universität Bielefeld, AG Technische Informatik 49
5 Experimente<br />
5.2 Variation der Faktoren<br />
In diesem Abschnitt wird der Aufbau der Experimente beschrieben. Für eine strukturierte<br />
Betrachtung der verschiedenen Variationen und deren Qualität ist es sinnvoll,<br />
schlechte Verfahren schnell auszuschließen, um sich auf die wichtigen Verfahren zu<br />
konzentrieren. Zu Beginn werden im Abschnitt 5.2.1 zwei Netze gegenübergestellt, die<br />
sich in der Bildvorverarbeitung unterscheiden. Dabei geht es speziell um die Variation<br />
der Berechnung der Positionswerte des roten Klötzchen. Anschließend werden im Abschnitt<br />
5.2.2 die Variation der Trainingsgröße und im Abschnitt 5.2.3 die Variation des<br />
Lernverfahrens beschrieben. Danach wird im Abschnitt 5.2.4 die Netzstruktur variiert.<br />
Die dabei entstehenden Variationen werden <strong>mit</strong> Variation 1 (4x4) bis Variation 7 (3x3)<br />
benannt. Diese Variationen werden auf einem nicht trainierten Bereich der Trainingsmenge<br />
getestet. Anschließend werden im Abschnit 5.2.5 die fünf Variationen Variation<br />
1 (4x4 Test), Variation 2 (3x3 Test), Variation 4 (3x3 Test), Variation 5 (3x3 Test)<br />
und Variation 7 (3x3 Test) auf <strong>von</strong> Hand aufgenommenen Testbeispielen getestet. Zuletzt<br />
werden im Abschnitt 5.2.6 die drei besten Variationen im Bezug auf die Erstellung<br />
einer Trajektorie <strong>mit</strong>einander verglichen. Diese drei Variationen sind Variation 2 (3x3<br />
Test), Variation 4 (3x3 Test) und Variation 5 (3x3 Test). Alle Experimente sind dabei<br />
so strukturiert, dass jeweils die erfolgversprechensten im nächsten Schritt weiter<br />
betrachtet werden.<br />
5.2.1 Variation der Bildvorverarbeitung<br />
Der zu variierende Faktor in der Bildvorverarbeitung liegt in der Berechnung der<br />
Position des roten Klötzchens. Die hier verglichenen beiden Ansätze unterscheiden<br />
sich in der Anzahl der Werte, durch die die Position ausgedrückt wird. Die Berechnung<br />
dieser Werte wurde im Abschnitt 4.2 bereits ausführlich beschrieben. Nachdem zu<br />
Beginn der Experimente <strong>mit</strong> einem 4x4 Gitter und den daraus resultierenden 16 Werten<br />
gerechnet wurde, hat sich nach einem Vergleich ein 3x3 Gitter <strong>mit</strong> 9 Werten als sinnvoller<br />
erwiesen. Erhoffter Vorteil des 3x3 Wertegitters ist ein besser zu trainierendes<br />
neuronales Netz. Dies geht jedoch auf Kosten eines möglichen Informationsverlustes<br />
durch eine zu kleine Anzahl der gewählten Werte.<br />
Die zwei im Folgenden verglichenen neuronalen Netzwerke werden auf derselben<br />
Trainingsgröße <strong>mit</strong> ca. 30000 Lernbeispielen und dem Back-Propagation Lernverfahren<br />
trainiert. Beide Netze besitzen die bereits beschriebene datenrelevante Struktur. Diese<br />
Faktoren werden im weiteren Verlauf noch genauer beschrieben. Die Anzahl der<br />
Epochen liegt bei ca. 300 und für jedes Teilnetz werden 15 Neuronen in der verdeckten<br />
Schicht verwendet. Nachdem <strong>mit</strong> 30000 Lernbeispielen trainiert wurde, wird das Netz<br />
auf den restlichen 7500 nicht trainierten Beispielen der Trainingsmenge getestet. Diese<br />
Aufteilung wurde zufällig gewählt.<br />
Die Ergebnisse der beiden Variationen sind in den Tabellen Variation 1 (4x4) und<br />
50 Universität Bielefeld, AG Technische Informatik
5 Experimente<br />
Abbildung 5.1: Qualität <strong>von</strong> Variation 1 (4x4). Es wird die durchschnittliche Prozentuale Übereinstimmung der 4 Orientierungswerte<br />
und der 16 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern<br />
(rechts) visualisiert.<br />
Abbildung 5.2: Qualität <strong>von</strong> Variation 2 (3x3). Es wird die durchschnittliche Prozentuale Übereinstimmung der 4 Orientierungswerte<br />
und der 9 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern (rechts)<br />
visualisiert.<br />
Variation 2 (3x3) und in den Abbildungen 5.1 und 5.2 zu sehen.<br />
Aus den Resultaten geht hervor, dass die Variation 2 (3x3) in allen ausschlaggebenden<br />
Werten besser ist als die Variation 1 (4x4). Es hat sich herausgestellt, dass die Qualität<br />
und der Lernfehler der Position besonders ausschlaggebend für die Leistung der<br />
Variationen ist. Gerade diese Werte sind bei der ersten Variation deutlich schlechter.<br />
¡©¡¤<br />
¤¤ ¢ ¢£<br />
Variation 1 (4x4): Orientierung Position O.P.Greifer<br />
Durchschnittliche Qualität: 97.29 92.46 100<br />
Qualität Maximum: 100 100 100<br />
Qualität Minimum: 31.92 6.041 99.97<br />
Lernfehler : 0.0217 0.0024 1.7e-15<br />
Fehlervarianz : 0.007 0.0026 1.3e-26<br />
Universität Bielefeld, AG Technische Informatik 51
5 Experimente<br />
¡£¡£¤<br />
¤¡ ¢ ¢£<br />
Variation 2 (3x3): Orientierung Position O.P.Greifer<br />
Durchschnittliche Qualität: 97.16 97.57 100<br />
Qualität Maximum: 100 100 100<br />
Qualität Minimum: 37.63 7.198 99.95<br />
Lernfehler : 0.0218 0.0017 1.6e-15<br />
Fehlervarianz : 0.0064 0.0001 1.3e-26<br />
5.2.2 Variation der Trainingsgröße<br />
Beim Sammeln und Erstellen der Datenbank wurden, wie schon im Abschnitt 3.4.1<br />
beschrieben, insgesamt ca. 37500 Lernbeispiele aufgenommen.<br />
Dabei sind Translationen <strong>von</strong> 10mm, 20mm, 30mm und Rotationen <strong>von</strong> 5 und 10 Grad<br />
enthalten. Hierduch soll gezeigt werden, dass die Verwendung <strong>von</strong> zu vielen Lernbeispielen<br />
kein schlechteres Ergebnis erzielt als die Verwendung weniger Lernbeispiele.<br />
Im vorhergehenden Abschnitt wurden alle 37500 Lernbeispiele verwendet, und im<br />
Vergleich dazu werden in diesem Abschnitt nur 21500 Lernbeispiele verwendet. Diese<br />
bestehen nur aus 10mm Translationen und 5 Grad Rotationen. Die folgenden zwei<br />
Netze wurden so<strong>mit</strong> <strong>mit</strong> 20000 Lernbeispielen trainiert und anschließend <strong>mit</strong> 1500<br />
Lernbeispielen getestet. Auch hier wurde das Back-Propagation Lernverfahren <strong>mit</strong><br />
einer datenrelevanten Struktur verwendet. Die Anzahl der Epochen liegt ebenfalls bei<br />
ca. 300 und auch hier werden 15 Neuronen in den verdeckten Schichten verwendet.<br />
Die Ergebnisse der beiden Variationen sind in den Tabellen Variation 3 (4x4) und<br />
Variation 4 (3x3) und in den Abbildungen 5.3 und 5.4 zu sehen.<br />
Die Ergebnisse zeigen, dass die Variationen Variation 3 (4x4) und Variation 4<br />
(3x3) nur minimal besser sind als die beiden ersten Variationen. Dies kann jedoch an<br />
dem kleineren Umfang der Trainings und Testmenge liegen. Variation 2 (3x3) und<br />
Variation 4 (3x3) sollte daher weiterhin beobachtet werden.<br />
¡£¡£¤<br />
¤¡ ¢ ¢£<br />
Variation 3 (4x4): Orientierung Position O.P.Greifer<br />
Durchschnittliche Qualität: 97.26 92.91 100<br />
Qualität Maximum: 99.9 100 100<br />
Qualität Minimum: 30.65 0.10 99.99<br />
Lernfehler : 0.0217 0.0024 8.7e-19<br />
Fehlervarianz : 0.0081 0.0028 7.6e-34<br />
¡£¡£¤<br />
¤¡ ¢ ¢£<br />
Variation 4 (3x3): Orientierung Position O.P.Greifer<br />
Durchschnittliche Qualität: 97.33 97.34 100<br />
Qualität Maximum: 99.9 100 100<br />
Qualität Minimum: 34.35 57.72 99.99<br />
Lernfehler : 0.0214 0.0015 7.1e-19<br />
Fehlervarianz : 0.0071 7.1e-05 7.6e-34<br />
52 Universität Bielefeld, AG Technische Informatik
5 Experimente<br />
Abbildung 5.3: Qualität <strong>von</strong> Variation 3 (4x4). Es wird die durchschnittliche Prozentuale Übereinstimmung der 4 Orientierungswerte<br />
und der 16 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern<br />
(rechts) visualisiert.<br />
Abbildung 5.4: Qualität <strong>von</strong> Variation 4 (3x3). Es wird die durchschnittliche Prozentuale Übereinstimmung der 4 Orientierungswerte<br />
und der 9 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern (rechts)<br />
visualisiert.<br />
5.2.3 Variation des Lernverfahrens<br />
In Abschnitt 2.3 wurden zwei grundlegende Lernverfahren beschrieben, <strong>mit</strong> deren <strong>Hilfe</strong><br />
die neuronalen Netze trainiert werden können. Die bisherigen Variationen wurden<br />
alle, wie schon erwähnt, <strong>mit</strong> dem Back-Propagation Verfahren trainiert. In diesem<br />
Abschnitt wird zum Vergleich noch ein neuronales Netz <strong>mit</strong> dem Resilient-Propagation<br />
Verfahren trainiert. Das folgende Netz ist bis auf das Trainingsverfahren analog zu dem<br />
im Abschnitt 5.2.1 beschriebenen Variation 2 (3x3) <strong>mit</strong> der 3x3 Bildvorverarbeitung.<br />
Auch hier wurden ca. 30000 Lernbeispiele zum Trainieren und 7500 Lernbeispiele<br />
zum Testen verwendet. Jedoch wurden 1000 Epochen durchlaufen, da beim Resilient-<br />
Propagation Verfahren die Gefahr einer Verschlechterung bei zu hoher Epochenanzahl<br />
geringer ist. Die Ergebnisse der Variation sind in der Tabelle Variation 5 (3x3) und der<br />
Abbildung 5.5 zu sehen.<br />
Das Resilient-Propagation Verfahren scheint im Vergleich zu dem Back-Propagation<br />
Universität Bielefeld, AG Technische Informatik 53
5 Experimente<br />
Abbildung 5.5: Qualität <strong>von</strong> Variation 5 (3x3). Es wird die durchschnittliche Prozentuale Übereinstimmung der 4 Orientierungswerte<br />
und der 9 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern (rechts)<br />
visualisiert.<br />
Verfahren ein wenig besser zu sein. Diese Behauptung wird jedoch später in einem<br />
weiteren Versuch im Abschnitt 5.2.5 widerlegt.<br />
¡£¡£¤<br />
¤¡ ¢ ¢£<br />
Variation 5 (3x3): Orientierung Position O.P.Greifer<br />
Durchschnittliche Qualität: 97.31 97.70 100<br />
Qualität Maximum: 100 100 100<br />
Qualität Minimum: 34.16 60.41 99.98<br />
Lernfehler : 0.0214 0.0016 1.5e-15<br />
Fehlervarianz : 0.0084 0.0001 1.1e-26<br />
5.2.4 Variation der Netzwerkstruktur<br />
Bisher sind alle vorgestellten Netzwerke nach der datenrelevanten Netzwerkstruktur<br />
aufgebaut. Dabei wurden drei getrennte Netze verwendet, so dass Orientierung, Position<br />
und Greiferposition und Orientierung jeweils eine eigene verdeckte Schicht <strong>mit</strong> speziell<br />
trainierten Gewichten hat. Es besteht jedoch auch die Möglichkeit, die Struktur noch<br />
weiter zu verfeinern oder zusammenzufügen. Die Teilung in 20 (4x4) bzw. 13 (3x3)<br />
kleine Netze, bei dem jeder Output-Wert der Vorhersage ein eigenes Netz hat, wurde<br />
schnell als nicht geeignet befunden. Das Gegenteil hierzu ist das Zusammenfügen der<br />
drei bereits behandelten Netze in ein einziges MLP. Dabei hat dieses Netz nur eine<br />
verdeckte Schicht, wodurch die Abhängigkeit der Daten zueinander größer ist.<br />
Die Ergebnisse der Variation sind in der Tabelle Variation 6 (3x3) und der Abbildung<br />
5.6 zu sehen. Aus den Ergebnissen geht jedoch hervor, dass es im Vergleich zu den<br />
vorherigen Variationen nicht lohnenswert ist, diese Variation weiter zu betrachten.<br />
54 Universität Bielefeld, AG Technische Informatik
5 Experimente<br />
Abbildung 5.6: Qualität <strong>von</strong> Variation 6 (3x3). Es wird die durchschnittliche Prozentuale Übereinstimmung der 4 Orientierungswerte<br />
und der 9 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern (rechts)<br />
visualisiert.<br />
¡©¡¤<br />
¤¤ ¢ ¢£<br />
Variation 6 (3x3): Orientierung Position O.P.Greifer<br />
Durchschnittliche Qualität: 96.09 95.79 95.01<br />
Qualität Maximum: 100 100 100<br />
Qualität Minimum: 36.01 45.46 54.86<br />
Lernfehler : 0.0081 0.0080 0.0079<br />
Fehlervarianz : 0.0027 0.0027 0.0027<br />
Die soeben genannten Strukturänderungen betreffen die Struktur der Netzausgabe und<br />
da<strong>mit</strong> die Anzahl der verwendeten Netze. Eine andere Möglichkeit, die Struktur des<br />
Netzes zu verändern, liegt in der Änderung der Netzeingabe. Ausgegangen wird <strong>von</strong> der<br />
datenrelevanten Struktur <strong>mit</strong> Unterteilung in drei Netze. Bislang hat jedes dieser drei<br />
© £ £ ©<br />
£<br />
Netze <br />
zusätzlich zu den bzw. Werten der Position und Orientierung vor der<br />
Bewegung, die drei Motorkommandos , und als Eingabe bekommen. ¢ Auch<br />
wurden sie <strong>mit</strong> Lernbespielen trainiert, die Translationen und Rotationen beinhalten.<br />
Eine vollkommen andere Struktur entsteht, wenn das Netz zur Vorhersage der Position<br />
<strong>von</strong> dem zur Vorhersage der Orientierung getrennt wird. Das Motorkommando<br />
der Eingabe wäre dann im Falle einer Positionsvorhersage <br />
¢ null zu setzen und und<br />
wären bei einer Orientierungsvorhersage gleich null. Dies <br />
wurde in der folgenden<br />
Variation realisiert, indem die entsprechenden Netze nur <strong>mit</strong> dem entsprechenden Teil<br />
der Trainingsmenge trainiert wurden. Wie im Abschnitt 3.4.1 beschrieben, wurden die<br />
Lernbeispiele für die Translationen und die Rotationen unterschiedlich aufgenommen,<br />
so dass die Lernmenge problemlos in zwei Teile geteilt werden kann. Zudem besteht<br />
eine weitere interessante Strukturänderung im Weglassen der Position und Orientierung<br />
des Greifers. Dadurch wäre geklärt, ob die aktuelle Position des Greifers bei der Vorhersage<br />
eine wichtige Rolle spielt. Die Ergebnisse dieser Variation sind in der Tabelle<br />
Variation 7 (3x3) und der Abbildung 5.7 zu sehen. Auch hier sind die Resultate ausrei-<br />
Universität Bielefeld, AG Technische Informatik 55
5 Experimente<br />
Abbildung 5.7: Qualität <strong>von</strong> Variation 7 (3x3). Es wird die durchschnittliche Prozentuale Übereinstimmung der 4 Orientierungswerte<br />
und der 9 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern (rechts)<br />
visualisiert.<br />
chend gut. Vorteil dieser Variation ist, dass nur zwei neuronale Netze verwendet werden.<br />
¡£¡£¤<br />
¤¡ ¢ ¢£<br />
Variation 7 (3x3): Orientierung Position<br />
Durchschnittliche Qualität: 96.69 96.98<br />
Qualität Maximum: 100 100<br />
Qualität Minimum: 71.39 76.08<br />
Lernfehler : 0.0287 0.0016<br />
Fehlervarianz : 0.0126 0.0001<br />
Ob auch bei der Vorhersage <strong>von</strong> stark abweichenden Trainingsbeispielen vergleichbar<br />
gute Ergebnisse erzielt werden können, zeigt sich im folgenden Abschnitt.<br />
5.2.5 Anwendungstest<br />
Es wurden soeben die verschiedenen Variationen und ihre Performanz beim Training<br />
sowie bei den Tests auf Daten, die der eigentlichen Trainingsmenge entnommen<br />
wurden, aufgezeigt. Nun ist es interessant, wie gut diese Variationen neue zufällig<br />
generierte Bewegungstrajektorien vorhersagen können. Verglichen werden dabei die<br />
bislang erfolgversprechensten Variationen. Es handelt sich um die Variationen Variation<br />
1 (4x4), Variation 2 (3x3), Variation 4 (3x3), Variation 5 (3x3) und Variation<br />
7 (3x3). Während die Variation 4 (3x3 Test) auf 21500 Lernbeispielen trainiert wird,<br />
werden die restlichen Variationen <strong>mit</strong> allen 37500 Lernbeispielen trainiert. Es sollen<br />
dabei möglichst alle Lernbeispiele der Trainingsmenge verwendet werden, um keinen<br />
Teil des Verschiebebereiches unzureichend zu trainieren. Getestet werden diese fünf<br />
Variationen auf <strong>von</strong> Hand aufgenommenen, willkürlich ausgesuchten Bewegungstrajektorien<br />
über dem Arbeitsbereich. Es handelt sich dabei um 10 Verschiebetrajektorien<br />
<strong>mit</strong> ca. 193 Lernbeispielen, die als einzelne Testbeispiele dienen. Die Qualität kann<br />
dabei nicht <strong>mit</strong> der in den vorangegangen Tabellen verglichen werden, da es sich um<br />
56 Universität Bielefeld, AG Technische Informatik
5 Experimente<br />
Abbildung 5.8: Qualität <strong>von</strong> Variation 1 (4x4 Test). Es wird die durchschnittliche Prozentuale Übereinstimmung der 4<br />
Orientierungswerte und der 16 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern<br />
(rechts) visualisiert.<br />
teilweise stark <strong>von</strong> den Lernbeispielen abweichende Rotations- oder Translationsanteile<br />
handelt.<br />
Um im nächsten Schritt zusätzlich abzuschätzen, wie stark sich der durch die Vorhersage<br />
entstehende Fehler aufsummiert, werden aufeinander folgende Vorwärtsmodelle der<br />
10 Ketten <strong>mit</strong>einander verkettet. Die letzte Vorhersage wird dann <strong>mit</strong> dem tatsächlichen<br />
sensorischen Zustand verglichen. Die durchschnittliche Qualität aller 10 Trajektorien<br />
ist in den folgenden Tabellen als ”<br />
aufsummierter Fehler “ kenntlich gemacht. Die<br />
Resultate aller Variationen sind in den folgenden fünf Tabellen und in den Abbildungen<br />
5.8 bis 5.12 zu sehen.<br />
Aus den Resultaten geht hervor, dass Variation 1 (4x4 Test) und Variation 7 (3x3 Test)<br />
sich wegen ihrer schwachen Werte nicht für die nachfolgenden Experimente eignen.<br />
Die Ergebnisse der Variationen Variation 7 (3x3 Test), Variation 7 (3x3 Test) und<br />
Variation 7 (3x3 Test) dagegen sind wesentlich besser. Diese drei Variationen werden<br />
daher im nächsten Schritt für die Erzeugung <strong>von</strong> Vorhersageketten weiter verwendet.<br />
¡©¡¤<br />
¤¤ ¢ ¢£<br />
Variation 1 (4x4 Test): Orientierung Position O.P.Greifer<br />
Durchschnittliche Qualität: 95.86 90.23 100<br />
Qualität Maximum: 99.9 100 100<br />
Qualität Minimum: 58.56 2.826 99.99<br />
Lernfehler : 0.0221 0.0021 1.3e-15<br />
Fehlervarianz : 0.0084 0.0028 1.0e-26<br />
Aufsummierter Fehler: 93.45 81.09 99.99<br />
Universität Bielefeld, AG Technische Informatik 57
5 Experimente<br />
Abbildung 5.9: Qualität <strong>von</strong> Variation 2 (3x3 Test). Es wird die durchschnittliche Prozentuale Übereinstimmung der<br />
4 Orientierungswerte und der 9 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern<br />
(rechts) visualisiert.<br />
Abbildung 5.10: Qualität <strong>von</strong> Variation 4 (3x3 Test). Es wird die durchschnittliche Prozentuale Übereinstimmung der<br />
4 Orientierungswerte und der 9 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern<br />
(rechts) visualisiert.<br />
¡£¡£¤<br />
¤¡ ¢ ¢£<br />
Variation 2 (3x3 Test): Orientierung Position O.P.Greifer<br />
Durchschnittliche Qualität: 97.01 95.08 100<br />
Qualität Maximum: 100 100 100<br />
Qualität Minimum: 74.72 45.25 99.99<br />
Lernfehler : 0.0222 0.0016 1.5e-15<br />
Fehlervarianz : 0.0083 0.0001 1.0e-26<br />
Aufsummierter Fehler: 97.05 93.82 99.99<br />
58 Universität Bielefeld, AG Technische Informatik
5 Experimente<br />
Abbildung 5.11: Qualität <strong>von</strong> Variation 5 (3x3 Test). Es wird die durchschnittliche Prozentuale Übereinstimmung der<br />
4 Orientierungswerte und der 9 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern<br />
(rechts) visualisiert.<br />
¡©¡¤<br />
¤¤ ¢ ¢£<br />
Variation 4 (3x3 Test): Orientierung Position O.P.Greifer<br />
Durchschnittliche Qualität: 96.51 95.55 100<br />
Qualität Maximum: 100 99.9 100<br />
Qualität Minimum: 76.79 69.31 99.9<br />
Lernfehler : 0.0213 0.0015 1.2e-05<br />
Fehlervarianz : 0.0068 6.4e-05 1.2e-07<br />
Aufsummierter Fehler: 96.46 92.61 99.99<br />
¡©¡¤<br />
¤¤ ¢ ¢£<br />
Variation 5 (3x3 Test): Orientierung Position O.P.Greifer<br />
Durchschnittliche Qualität: 96.76 96.28 100<br />
Qualität Maximum: 99.9 99.9 100<br />
Qualität Minimum: 75.69 61.63 99.96<br />
Lernfehler : 0.0233 0.0024 4.1e-11<br />
Fehlervarianz : 0.0083 0.0001 1.7e-19<br />
Aufsummierter Fehler: 96.52 90.34 99.99<br />
¡©¡¤<br />
¤ ¢ ¢£<br />
Variation 7 (3x3 Test): Orientierung Orientierung<br />
Durchschnittliche Qualität: 90.38 93.77<br />
Qualität Maximum: 99.98 99.9<br />
Qualität Minimum: 51.21 73.71<br />
Lernfehler : 0.0287 0.0016<br />
Fehlervarianz : 0.0127 0.0001<br />
Aufsummierter Fehler: 95.77 75.03<br />
Universität Bielefeld, AG Technische Informatik 59
5 Experimente<br />
Abbildung 5.12: Qualität <strong>von</strong> Variation 7 (3x3 Test). Es wird die durchschnittliche Prozentuale Übereinstimmung der<br />
4 Orientierungswerte und der 9 Positionswerte in einem Diagramm (links) und zwei Graustufenbildern<br />
(rechts) visualisiert.<br />
5.2.6 Differential Evolution<br />
Nachdem nun die Performanz der verschiedenen Variationen im Bezug auf einzelne<br />
Vorhersagen verglichen wurde, gilt es im nächsten Schritt eine Vorhersagekette zu<br />
erstellen. Dies geschieht <strong>mit</strong> <strong>Hilfe</strong> <strong>von</strong> Differential Evolution. Es werden folgende drei<br />
Variationen betrachtet, die sich in der experimentellen Phase als am erfolgreichsten<br />
herausgestellt haben. Die Lernbeispiele der drei Variationen wurden alle <strong>mit</strong> der 3x3<br />
Variation der Bildvorverarbeitung erzeugt, da diese bessere Ergebnisse als die 4x4<br />
Bildverarbeitung liefert. Es handelt sich bei den drei Variationen um 4 (3x3) <strong>mit</strong><br />
einer Trainingsmenge <strong>von</strong> 21500 Lernbeispielen und dem Back-Propagation Lernverfahren,<br />
2 (3x3 Test) <strong>mit</strong> der gesamten Trainingsmenge <strong>von</strong> 37500 Lernbeispielen<br />
und den Back-Propagation Lernverfahren und 5 (3x3 Test) <strong>mit</strong> 37500 Lernbeispielen<br />
als Trainingsmenge und dem Resilient-Propagation Lernverfahren. Bei den folgenden<br />
Experimenten wurden jeweils drei Versuche zur Bestimmung einer Trajektorie<br />
gemacht, wobei der beste Versuch in die hier vorgestellten Resultate einbezogen<br />
worden ist. In Abbildungen 5.13, 5.14 und 5.15 sind für jede Variation neun Beispiele<br />
dargestellt, bei denen das Differential Evolution Verfahren <strong>mit</strong> drei verschiedenen<br />
<strong>visuellen</strong> Vorwärtsmodellen eine Kette <strong>von</strong> Motorkommandos vom Startzustand in den<br />
Zielzustand berechnet hat.<br />
Für jedes Beispiel ist der 320mm x 400mm große Verschiebebereich zu sehen, in dem<br />
die berechnete Verschiebetrajektorie und die gewünschte Zielposition eingezeichnet<br />
sind. Die Trajektorie ist dabei durch Querstriche in die einzelnen Kettenglieder<br />
unterteilt und die Zielpositionen sind durch umkreiste Kreuze dargestellt. Unter jedem<br />
Beispiel sind die tatsächlichen Abweichungen der Position ¢ in -, -Richtung und der<br />
Orientierung in Grad angegeben. Die Werte wurden dabei ganzzahlig gerundet.<br />
Die Kettenlänge wurde bei den Experimenten auf ein Intervall <strong>von</strong> 10 bis 15 Vorhersagen<br />
beschränkt, da bei zunehmendem Intervall die Prozesszeit der Berechnung schnell<br />
60 Universität Bielefeld, AG Technische Informatik
©<br />
§<br />
§<br />
5 Experimente<br />
unakzeptabel wird. Mit diesen Kettenlängen sind jedoch Verschiebeoperationen <strong>mit</strong><br />
einer Länge zwischen 100mm und 300mm problemlos möglich. In der Optimierung<br />
der zeitlichen Performanz besteht eindeutig noch Verbesserungspotential.<br />
Die folgende Tabelle fasst noch mal die Performanz der in den Abbildungen 5.13, 5.14<br />
und 5.15 gezeigten Beispiele zusammen. Um einen Vergleichswert zu schaffen, wird<br />
<br />
© £<br />
¡ ¡ ¡ ¡ durch ¡ §<br />
¡¢¡ die Formel §¤£ <strong>mit</strong> und die Positions- und<br />
Orientierungsabweichung jedes Beispiels in einen dimensionslosen Wert umgerechnet.<br />
Es werden für alle drei Variationen jeweils neun Beispiele und £ dessen berechneter<br />
Vergleichswert aufgelistet. Zusätzlich wird dann noch für jede Variation die Summe<br />
über alle neun Beispiele ¢ gebildet. Die Werte , und sind in den Bildern der<br />
Abbildungen 5.13, 5.14 und 5.15 für jedes einzelne Beispiel vermerkt.<br />
Variation 2 (3x3) Variation 4 (3x3 Test) Variation 5 (3x3 Test)<br />
Beispiel 1: 5 36 9<br />
Beispiel 2: 5 23 24<br />
Beispiel 3: 1 34 11<br />
Beispiel 4: 2 18 17<br />
Beispiel 5: 6 32 48<br />
Beispiel 6: 3 18 12<br />
Beispiel 7: 3 19 13<br />
Beispiel 8: 3 24 44<br />
Beispiel 9: 10 27 33<br />
Summe: 38 231 211<br />
Die Ergebnisse zeigen eindeutig, dass die Variation 2 (3x3) die kleinsten Abweichungen<br />
zwischen den Endzuständen der Verschiebeoperationen und den zu erreichenden<br />
Zielzuständen erreicht hat. Die beiden anderen Variationen sind sowohl in der Summe<br />
als auch in allen Beispielen separat wesentlich schlechter.<br />
5.3 Zusammenfassung der Resultate<br />
Wie schon angesprochen sind die gemachten Experimente hierarchisch aufgebaut. Bei<br />
der Betrachtung des ersten Teils, in dem es ausschließlich um die Performanz während<br />
des Trainings ging, haben sich schon die ersten Vermutungen bezüglich der Verwendbarkeit<br />
einiger Variationen herausgestellt.<br />
Die zuerst angestrebte Bildvorverarbeitung zur Bestimmung der Position durch ein 4x4<br />
Gitter <strong>von</strong> Gaußfunktionen hat sich im Vergleich <strong>mit</strong> der Verwendung eines 3x3 Gitters<br />
als wesentlich schlechter herausgestellt. Sowohl Variation 1 (4x4) als auch Variation<br />
1 (4x4 Test) liefern wesentlich schlechtere Ergebnisse als die anderen Variationen des<br />
Universität Bielefeld, AG Technische Informatik 61
5 Experimente<br />
Vorwärtsmodells.<br />
Bei den Lernverfahren hat das Resilient-Propagation Verfahren in Variation 5 (3x3) eine<br />
leicht bessere Performanz als das Back-Propagation Verfahren in Variation 6 (3x3).<br />
Bei diesen Variationen wird jedoch nur auf einem nicht trainierten Teil der Trainingsmenge<br />
die Performanz er<strong>mit</strong>telt. Sobald aber die beiden Variationen auf reellen Testmustern<br />
getestet werden, zeigt die Variation 5 (3x3 Test) zwar eine bessere Performanz<br />
als die Variation 2 (3x3 Test) bei der Positionsbestimmung aber eine schlechtere bei<br />
der Bestimmung der Orientierung. Daher wurden diese beiden Variationen noch einmal<br />
bei Verwendung <strong>mit</strong> Differential Evolution verglichen.<br />
Weiterhin hat sich im Bezug auf die Netzwerkstruktur herausgestellt, dass eine datenrelevante<br />
Teilung der neuronalen Netze in Orientierung, Position und Orientierung und<br />
Position des Greifers die besten Ergebnisse liefert. Die Verwendung eines einzigen monolithischen<br />
Netzes in Variation 6 (3x3) hat bereits beim Training eine unzureichend<br />
schlechte Performanz, und die Unterteilung in noch mehr kleinere Netze wurde bereits<br />
vorher schon verworfen. Auch die Frage, ob die Position und Orientierung des Greifers<br />
wichtig und notwendig für eine erfolgreiche Vorhersage sind, beantwortet sich bei<br />
der Betrachtung <strong>von</strong> Variation 7 (3x3 Test). Die in den Tabellen gezeigte Qualität der<br />
Vorhersage der Testmuster ist schlechter im Vergleich zu Variation 2 (3x3 Test) und<br />
Variation 5 (3x3 Test).<br />
Bei der Betrachtung der Trainingsgröße haben sich vorerst noch keine Vor- oder Nachteile<br />
gezeigt. Ob es sinnvoller ist, 21500 Trainingsbeispiele <strong>mit</strong> 10er Translationsund<br />
5er Rotations-Schritten oder 37500 Trainingsbeispiele <strong>mit</strong> 10er,20er und 30er<br />
Translations- und 5er und 10er Rotations-Schritten zu verwenden, zeigt sich erst beim<br />
Vergleich der Anwendung auf die Testmuster. Daher wurden auch diese beiden Variationen<br />
bei der Verwendung <strong>mit</strong> Differential Evolution verglichen.<br />
Nachdem auf die Vor- und Nachteile der einzelnen Variationen beim Training der<br />
Vorwärtsmodelle und Testen auf den 10 Testmusterketten eingegangen wurde, wurden<br />
nur noch drei Variationen betrachtet. Umgesetzt wurde das Differential Evolution Verfahren<br />
so<strong>mit</strong> für Variation 4 (3x3) <strong>mit</strong> einer Trainingsmenge <strong>von</strong> 21500 Lernbeispielen<br />
und dem Back-Propagation Lernverfahren, Variation 2 (3x3 Test) <strong>mit</strong> der gesamten<br />
Trainingsmenge <strong>von</strong> 37500 Lernbeispielen und dem Back-Propagation Lernverfahren<br />
und Variation 5 (3x3 Test) <strong>mit</strong> 37500 Lernbeispielen als Trainingsmenge und dem<br />
Resilient-Propagation Lernverfahren. Der Vergleich zeigt, dass die Verwendung des<br />
Back-Propagation Lernverfahrens deutlich bessere Motorketten generieren kann als das<br />
Resilient-Propagation Verfahren. Zudem stellt sich auch heraus, dass es sinnvoll ist alle<br />
37500 Trainingsbeispiele zu verwenden, da auch hier eine deutlich bessere Performanz<br />
als bei der Verwendung <strong>von</strong> nur 21500 Trainingsbeispielen erreicht wurde.<br />
Als beste Variation hat sich so<strong>mit</strong> die Variation 2 (3x3 Test) , <strong>mit</strong> 3x3 Bildvorverarbeitung,<br />
37500 Trainingsbeispielen, dem Back-Propagation Lernverfahren und einer<br />
datenrelevanten Netzwerkstruktur herausgestellt.<br />
62 Universität Bielefeld, AG Technische Informatik
5 Experimente<br />
Abbildung 5.13: Von Differential Evolution erzeugte Ketten <strong>von</strong> Motorkommandos, die vom Startzustand in den Zielzustand<br />
f ühren. Zu sehen ist jeweils der Verschiebebereich <strong>mit</strong> einer Größe <strong>von</strong> 320mm x 400mm.<br />
Durch Querstriche auf der Verschiebetrajektorie werden die einzelnen Kettenglieder unterteilt. Der zu<br />
erreichende Zielzustand ist durch die Kreise dargestellt. Es werden neun Beispiele <strong>von</strong> Variation 2<br />
(3x3) <strong>mit</strong> voller Trainingsmenge und dem Back-Propagation Lernalgorithmus gezeigt.<br />
Universität Bielefeld, AG Technische Informatik 63
5 Experimente<br />
Abbildung 5.14: Von Differential Evolution erzeugte Ketten <strong>von</strong> Motorkommandos, die vom Startzustand in den Zielzustand<br />
f ühren. Zu sehen ist jeweils der Verschiebebereich <strong>mit</strong> einer Größe <strong>von</strong> 320mm x 400mm.<br />
Durch Querstriche auf der Verschiebetrajektorie werden die einzelnen Kettenglieder unterteilt. Der zu<br />
erreichende Zielzustand ist durch die Kreise dargestellt. Es werden neun Beispiele <strong>von</strong> Variation 4<br />
(3x3) <strong>mit</strong> kleinerer Trainingsmenge und dem Back-Propagation Lernalgorithmus gezeigt.<br />
64 Universität Bielefeld, AG Technische Informatik
5 Experimente<br />
Abbildung 5.15: Von Differential Evolution erzeugte Ketten <strong>von</strong> Motorkommandos, die vom Startzustand in den Zielzustand<br />
f ühren. Zu sehen ist jeweils der Verschiebebereich <strong>mit</strong> einer Größe <strong>von</strong> 320mm x 400mm.<br />
Durch Querstriche auf der Verschiebetrajektorie werden die einzelnen Kettenglieder unterteilt. Der zu<br />
erreichende Zielzustand ist durch die Kreise dargestellt. Es werden neun Beispiele <strong>von</strong> Variation 5<br />
(3x3) <strong>mit</strong> voller Trainingsmenge und dem Resilient-Propagation Lernalgorithmus gezeigt.<br />
Universität Bielefeld, AG Technische Informatik 65
5 Experimente<br />
66 Universität Bielefeld, AG Technische Informatik
6<br />
Zusammenfassung<br />
Ziel der vorliegenden Arbeit war die Entwicklung und Evaluation einer <strong>Roboterarm</strong>-<br />
<strong>Ansteuerung</strong> <strong>mit</strong> <strong>Hilfe</strong> <strong>von</strong> <strong>visuellen</strong> Vorwärtsmodellen. Der <strong>Roboterarm</strong> soll durch<br />
die Verwendung der Bilder einer Kamera oberhalb des Arbeitstisches eine Verschiebeoperation<br />
<strong>von</strong> einem sensorischen Startzustand in einen sensorischen Zielzustand<br />
durchführen. Die zu lösende Aufgabe setzt sich so<strong>mit</strong> aus zwei Teilen zusammen. Der<br />
erste Teil ist eine Bewegung aus der ”<br />
Ruhestellung“ des <strong>Roboterarm</strong>s in den einen<br />
vorgegebenen Startzustand, und der zweite Teil ist eine anschließende Verschiebung<br />
eines roten Klötzchen <strong>von</strong> diesem Startzustand in einen vorgegebenen Zielzustand.<br />
Die Zustände liegen dabei ausschließlich in visueller Form <strong>von</strong> zwei gespeicherten<br />
Bildern der Kamera vor. Bei jeder Verschiebeoperation wird erst ein Bild <strong>mit</strong> dem roten<br />
Klötzchen im Zielzustand und dann ein Bild <strong>mit</strong> dem roten Klötzchen im Startzustand<br />
gespeichert. Danach wird das Klötzchen nicht mehr <strong>von</strong> Hand bewegt, so dass es sich<br />
zum aktuellen Zeitpunkt in der Starthaltung befindet.<br />
Der erste Teil der Aufgabe wurde durch die folgenden Verfahren gelöst. Nach der<br />
Bildaufnahme des Startzustandes des roten Klötzchens kann bestimmt werden, auf<br />
welcher Seite des Bildes der rote Farbanteil höher ist. Anhand der gewonnenen<br />
Information, auf welcher Seite des Arbeitstisches sich das Klötzchen befindet, kann<br />
zwischen zwei grundsätzlichen gespeicherten Bewegungen, <strong>von</strong> der ”<br />
Ruhestellung“ des<br />
<strong>Roboterarm</strong>s in eine Verschiebehaltung, unterschieden werden. Anschließend werden<br />
aus den aufgenommen Bildern Informationen über den sensorischen Startzustand und<br />
den Zielzustand der Verschiebeoperation in Form <strong>von</strong> Orientierung und Position des<br />
roten Klötzchens berechnet. Die Daten des Startzustandes werden nach dem Prinzip<br />
einer Look-Up Tabelle <strong>mit</strong> den Lernbeispielen aus der Datenbank verglichen, um so<br />
Universität Bielefeld, AG Technische Informatik 67
6 Zusammenfassung<br />
die aktuelle Position und Orientierung des roten Klötzchens in Basiskoordinaten zu<br />
bestimmen. Diese aktuelle Position und Orientierung kann dann angefahren werden, so<br />
dass sich der Greifer in dem Startzustand direkt vor dem roten Klötzchen befindet. Die<br />
Performanz dieses ersten Teilbereiches ist recht gut. Die maximale Abweichung <strong>von</strong><br />
Position und Orientierung beträgt dabei ca. 5 mm und ca. 3 Grad. Jedoch braucht das<br />
Verfahren ungefähr 20 Sekunden, um die Position und Orientierung des Greiferstartzustandes<br />
anhand der Look-Up Tabelle zu berechnen.<br />
Der zweite Teil der Aufgabe besteht dann in der eigentlichen Verschiebeoperation<br />
<strong>von</strong> dem aktuellen Startzustand in den anfangs bestimmten sensorischen Zielzustand.<br />
Nachdem einmalig eine ausreichend große Menge <strong>von</strong> Lernbeispielen aufgenommen<br />
und archiviert wurde, konnte da<strong>mit</strong> ein Multi-Layer-Perzetpron trainiert werden. Dieses<br />
Multi-Layer-Perzeptron kann dann visuelle Vorhersagen <strong>von</strong> Folgezuständen auf<br />
Motorkommandos des <strong>Roboterarm</strong>s erstellen. Mit <strong>Hilfe</strong> eines Optimierungsverfahrens,<br />
wie z.B. Differential Evolution kann anschließend eine Kette <strong>von</strong> Motorkommandos<br />
berechnet werden, die vom sensorischen Startzustand in den sensorischen Zielzustand<br />
führt. Jedes Glied der Kette ist dabei eine visuelle Vorhersage des neuronalen<br />
Netzes auf ein Motorkommando, so dass das beste Motorkommando bezüglich der<br />
Verschiebeoperation in Richtung Zielzustand gefunden werden kann. Durch das<br />
Hintereinanderschalten mehrerer solcher <strong>visuellen</strong> Vorhersagen können längere Verschiebetrajektorien<br />
vorhergesagt werden. Optimiert wird diese Kette <strong>von</strong> Vorhersagen<br />
dann auf das globale Minimum, um so die Zielposition und Zielorientierung möglichst<br />
genau zu erreichen.<br />
Durch zahlreiche Experimente wurde versucht herauszufinden, welche Verfahren<br />
und Variationen die besten Ergebnisse liefern. Als bestes hat sich eine Variation<br />
herausgestellt, die drei getrennte Netze <strong>mit</strong> der gesamten Trainingsmenge (37500<br />
Lernbeispielen) und dem Back-Propagation Verfahren trainiert. Die drei Netze machen<br />
dabei getrennte Vorhersagen über Position und Orientierung des Klötzchens und<br />
Position und Orientierung des Greifers. Durch die Versuche wurde deutlich, dass eine<br />
erfolgreiche Vorhersage des Vorwärtsmodells, die geeignete Wahl der variierenden<br />
Faktoren benötigt. Die entscheidenden Faktoren in den unterschiedlichen Variationen<br />
waren dabei Trainingsgröße und Netzwerkstruktur. Die Trainingsgröße sollte so groß<br />
wie möglich sein, wobei auch eine gute Stukturierung der enthaltenen Lernbeispiele<br />
notwendig ist. Auch die Wahl der Netzwerkstruktur ist entscheidend. Dabei müssen<br />
die wichtigsten Aspekte der zu trainierenden Informationen in eine geeignete Struktur<br />
gebracht werden, wobei unabhängige Teilbereiche auch unterschiedlich trainiert<br />
werden müssen. Die er<strong>mit</strong>telte Variation ist recht robust, denn bei mehrfacher Anwendung<br />
des Optimierungsalgorithmus ist es sehr wahrscheinlich, dass eine gute Lösung<br />
erzielt wird. Einziges Defizit in der Performanz der Versuche ist jedoch der zeitliche<br />
Rechenaufwand. Denn allein ein Durchlauf des Optimierungsalgorithmus Differential<br />
Evolution dauert ca. 2 Minuten. Hauptgrund hierfür ist die Umsetzung mancher Teile<br />
68 Universität Bielefeld, AG Technische Informatik
6 Zusammenfassung<br />
der Software, unter anderem auch des Differential Evolution Verfahrens, in der Programmiersprache<br />
Tcl-Tk. In diesem Punkt besteht aber noch Verbesserungspotential.<br />
Durch die praktische Umsetzung eines <strong>visuellen</strong> Vorwärtsmodells in Form einer<br />
Verschiebeoperation <strong>mit</strong> dem <strong>Roboterarm</strong>, wurde das Ziel dieser Diplomarbeit erreicht.<br />
Die erstellten Experimente belegen, dass eine sensorische Koordination <strong>von</strong> <strong>Roboterarm</strong><br />
und Kamerasystem durch nachgebildete, interne Modelle realisiert werden kann.<br />
Wie schon in der Motivation vermutet, wird deutlich, dass interne Modelle bei der<br />
sensomotorischen Kontrolle eine wichtige Bedeutung haben. Es stellt sich jedoch die<br />
Frage, ob eine Verkettung <strong>von</strong> Vorwärtsmodellen, wie sie in dieser Arbeit realisiert<br />
wurden, auch eine realistische Strategie für biologische Systeme darstellt.<br />
Obwohl die gewählte Strategie noch modifiziert werden muss, um einem analogen,<br />
biologischen System Nahe zu kommen, ist der Lösungsansatz einer zielgerichteten<br />
Handlung durch eine Reihe kleinschrittiger Vorhersagen durchaus denkbar. Die in dieser<br />
Arbeit verwendete Berechnung der Bewegungstrajektorie kann als Offline-Methode<br />
bezeichnet werden, da die sensorischen Informationen über Start- und Zielposition<br />
nur zu Beginn der Verschiebeoperation vorgegeben wurden. Biologische Systeme sind<br />
jedoch weitaus komplexer. Eine Online-Methode, bei der während einer Bewegung<br />
neue sensorische Informationen <strong>mit</strong> in die Berechnungen einfließen, würde einem<br />
biologischen System deutlich näher kommen. Entstehende Fehler, die sich bei der<br />
Verkettung <strong>von</strong> Vorwärtsmodellen aufsummieren, können so<strong>mit</strong> kompensiert werden.<br />
Bezogen auf die Experimente müssten diese so modifiziert werden, dass nach jeder Teilbewegung<br />
der Vorhersagekette die aktuelle Position und Orientierung des Klötzchens<br />
aus einem neuen Bild extrahiert werden. Sobald dieser sensorische Zustand zu stark<br />
<strong>von</strong> dem berechneten Zustand abweicht, muss eine neue Trajektorie vom aktuellen<br />
sensorischen Zustand zum Zielzustand berechnet werden. Eine solche Modifikation<br />
konnte jedoch im Rahmen dieser Arbeit nicht mehr umgesetzt werden.<br />
Trotz der Verwendung einer Offline-Methode zur Berechnung einer Verschiebetrajektorie,<br />
wurde die Bedeutung <strong>von</strong> Vorwärtsmodellen in der sensomotorischen Koordination<br />
bestärkt.<br />
Es gibt noch weitere Verbesserungsvorschläge, die nicht mehr umgesetzt werden konnten,<br />
aber noch Potenzial zur Verbesserung beinhalten. Auf diese Vorschläge wird im<br />
folgenden Kapitel nochmals kurz eingegangen.<br />
Universität Bielefeld, AG Technische Informatik 69
6 Zusammenfassung<br />
70 Universität Bielefeld, AG Technische Informatik
7<br />
Verbesserungsvorschläge<br />
Die Ergebnisse dieser Arbeit sind zwar zufrieden stellend, jedoch können diese in manchen<br />
Bereichen noch verbessert werden. Im Folgenden wird kurz auf mögliche Verbesserungen<br />
eingegangen, die im Rahmen dieser Arbeit nicht mehr umgesetzt werden<br />
konnten.<br />
Eine leichte Verbesserung der Vorwärtsmodelle und so<strong>mit</strong> auch der Trajektorienbildung<br />
könnte durch eine Erweiterung der Trainingsmenge erreicht werden. Es könnte<br />
zusätzlich zu dem bisherigen systematischen Aufbau der Lernmenge noch eine Vielzahl<br />
<strong>von</strong> ”<br />
per Hand“ aufgenommen Verschiebebeispielen in die Trainingsmenge aufgenommen<br />
werden. So<strong>mit</strong> könnten zentrale Bereiche, die in den meisten Verschiebeoperationen<br />
enthalten sind, noch besser beim Training abgedeckt werden.<br />
Die Berechnung des Startzustandes der Verschiebeoperation kann ebenfalls verbessert<br />
werden, indem das Suchen <strong>von</strong> Vergleichswerten in einer Look-Up Tabelle durch ein<br />
besseres Verfahren ersetzt wird. Das hier verwendete Verfahren hat eine schlechte Performanz<br />
bezüglich der Rechenzeit. Es bieten sich eine Menge <strong>von</strong> Verfahren an, auf die<br />
im Einzelnen nicht genauer eingegangen wird.<br />
Das verwendete Optimierungsverfahren Differential Evolution kann im Bezug auf die<br />
verwendeten Kontrollvariablen und Varianten noch weiterhin untersucht werden. Dort<br />
besteht noch Verbesserungspotential.<br />
Um die erwähnte Ineffektivität der zeitlichen Performanz zu beseitigen, müssen Teile<br />
der Implementation in anderen Programmiersprachen umgesetzt werden. Es ist durchaus<br />
möglich die Verschiebeoperation in weniger als einer Minute berechnen zu lassen.<br />
In diesem Fall könnte die Robustheit durch mehrfache Durchläufe des Differential Evolution<br />
Verfahrens noch gestärkt werden.<br />
Eine weitere Verbesserungsmöglichkeit der Berechnung der Trajektorie liegt in der Verwendung<br />
eines alternativen Optimierungsverfahrens.<br />
Universität Bielefeld, AG Technische Informatik 71
7 Verbesserungsvorschläge<br />
72 Universität Bielefeld, AG Technische Informatik
LITERATURVERZEICHNIS<br />
Literaturverzeichnis<br />
Blakemore, S., Frith, C., und Wolpert, D. Spatio-temporal prediction modulates the<br />
perception of self-produced stimuli. Journal of Cognitive Neurosience, 11(5):551–<br />
559, 1999.<br />
Blakemore, S., Goodbody, S., und Wolpert, D. Predicting the consequences of our own<br />
actions: The role of sensorimotor estimation. The Journal of Neurosience, 18(18):<br />
7511–7518, 1998.<br />
Blakemore, S., Wolpert, D., und Frith, C. Why can’t you tickle yourself. Neuro Report,<br />
11(11):11–15, 2000.<br />
Bronstein, I., Semendjajew, K., und Musiol, G. Taschenbuch der Mathmatik. 1997.<br />
Duhamel, J.-R., Colby, C., und Goldberg, M. The updating of the representation of<br />
visual space in parietal cortex by intended eye movements. Science, 255:90–92, 1992.<br />
Fahlman., S. Parallel processing in artificial intelligence. In Kowalik, J. S., editor,<br />
Parallel Computation and Computers for Artificial Intelligence, Kluwer Academic<br />
Publishers, 1988.<br />
Fallagan, J. und Wing, A. The role of internal models in motor planning and control:<br />
evidence from grip force adjustments during movements of hand-held loads. Journal<br />
of Neuroscience, 17:1519–1528, 1997.<br />
Große, S. Visuelle Vorwärtsmodelle für einen Roboter-Kamera-Kopf. Diplomarbeit,<br />
Technische Fakultät der Universität Bielefeld, Bielefeld, 2005.<br />
Haruno, M., Wolpert, D., und Kawato, M. MOSAIC Model for sensorimotor control<br />
and learning. Neural Computation, 13:2201–2220, 2001.<br />
Hoffmann, H. und Möller, R. Action selection and mental transformation based on a<br />
chain of forward models. In Schaal, S., Ijspeert, A., Vijayakumar, S., Hallam, J., und<br />
Meyer, J., editors, Proccedings of the 8th International Conference on the Simulation<br />
of Adaptive Behavior, pages 213–222, Cambridge, MA: MIT Press, 2004.<br />
Universität Bielefeld, AG Technische Informatik 73
LITERATURVERZEICHNIS<br />
Hoffmann, H., Schenck, W., und Möller, R. Learning visuomotor transformation for<br />
gaze-control and grasping. Biological Cybernetics, 93(2):119–130, 2005.<br />
Holst, E. und Mittelstaedt, H. Das Reafferenzprinzip. Naturwissenschaften, 37:464–<br />
476, 1950.<br />
Jordan, M. und Rumelhart, D. Forward models: Supervised learning with a distal teacher.<br />
Cognitive Science, 16:307–354, 1992.<br />
Karniel, A. Three creatures named ’forward model’. Neural Networks, 15:305–307,<br />
2002.<br />
Kirkpatrick, S., Gerlatt, C., und Vecchi, M.<br />
Science, 220:671–680, 1983.<br />
Optimization by Simulated Annealing.<br />
Minsky, M. und Papert, S. Perceptrons - An introduction to computational geometry.<br />
Cambridge, MIT Press, 1972.<br />
Möller, R. Wahrnehmung durch Vorhersage - Eine Konzeption der handlungsorientierten<br />
Wahrnehmung. Dissertation, Technische Universität Ilmenau, Fakultät für Informatik<br />
und Automatisierung, 1996.<br />
Möller, R. Perception through anticipaction - a behavior-based approach to visual perception.<br />
In Rieger, A., Stein, A., und Peschl, M., editors, Understanding Representation<br />
in the Cognitive Science, Plenum Press New York, 1999.<br />
Möller, R. Research Plan: Forward Models in Spatial Cognition. Max Planck Institute<br />
for Psychological Research, München, 2001.<br />
Nelson, R. Interaction between motor commands and somatic perception in sensorimotor<br />
cortex. Current Opinion in Neurobiology, 6:801–810, 1996.<br />
Richter, S. Vorwärtsmodelle und die Vorhersage des Bewegungsverlaufs. Dissertation,<br />
Heinrich-Heine-Universität Düsseldorf, Mathematische-Naturwissenschaftliche<br />
Fakultät, 2001.<br />
Riedmiller, M. und Braun, H. A direct adaptive method for faster backpropagation<br />
learning: The RPROP Algorithm. International Conference on Neural Networks,<br />
pages 586–591, 1993.<br />
Rieser, J., Guth, D., und Hill, E. Sensitivity to perspective structure while walking<br />
without vision. Perception, 15:173–188, 1986.<br />
Schenck, W., Hoffmann, H., und Möller, R. Learning Internal Models for Eye-Hand<br />
Coordination in Reaching and Grasping. Proc. EuroCogSci, pages 289–294, 2003.<br />
74 Universität Bielefeld, AG Technische Informatik
LITERATURVERZEICHNIS<br />
Storn, R. und Price, K. Differential Evolution - A simple and efficient adaptive scheme<br />
for global optimization over continuous spaces. Technical Report TR-95-012,<br />
International Computer Science Institute, 1995.<br />
Tollenaere, T. SuperSAB: Fast adaptive back propagation with good scaling properties.<br />
Neural Networks, 3:561–573, 1990.<br />
Wolpert, D., Ghahramani, Z., und Flanagan, J. Perspectives and problems in motor<br />
learning. Trends in Cognitive Science, 5(11):487–493, 2001.<br />
Wolpert, D., Ghahramani, Z., und Jordan, M. An internal model for sensorimotor integration.<br />
Science, 269:1880–1882, 1995.<br />
Wolpert, D. und Miall, R. Forward models for physiological motor control. Neural<br />
Networks, 9(8):1265–1279, 1996.<br />
Zell, A. Simulation Neuronaler Netze. Addison-Wesley, München, 1997.<br />
Universität Bielefeld, AG Technische Informatik 75
LITERATURVERZEICHNIS<br />
76 Universität Bielefeld, AG Technische Informatik
LITERATURVERZEICHNIS<br />
Hier<strong>mit</strong> versichere ich, daß ich diese Diplomarbeit selbständig bearbeitet habe. Ich habe<br />
keine anderen als die angegebenen Quellen und Hilfs<strong>mit</strong>tel benutzt und entsprechende<br />
Zitate kenntlich gemacht.<br />
Bielefeld, den 16. Mai 2006<br />
Dennis Sinder<br />
Universität Bielefeld, AG Technische Informatik 77