01.11.2013 Aufrufe

Roboterarm-Ansteuerung mit Hilfe von visuellen Vorw¨artsmodellen

Roboterarm-Ansteuerung mit Hilfe von visuellen Vorw¨artsmodellen

Roboterarm-Ansteuerung mit Hilfe von visuellen Vorw¨artsmodellen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!