9.7.5 Im Kreis fahren lernen


Unser Gehirn lernt

Als Säugling und Kleinkind können wir noch sehr wenig. Indem wir unsere Umgebung beobachten und das nachmachen, was uns vorgemacht wird, lernen wir. Lernen bedeutet, dass sich die Neuronen in unserem Gehirn verändern.

Auch einem elektronischen Gehirn kann man beibringen, dass es das Zusammenspiel seiner Neuronen selbst verändert. In diesem Kapitel soll sich ein Roboter selbst beibringen, dass er in einem Kreis fahren kann.


Erläuterungen zum Programm

Zu Beginn des Lernens fährt der Roboter geradeaus auf der grünen Fläche.

Das liegt daran, dass sein elektronisches Gehirn ein Eingabe-Neuron hat, das den Wert 100 hat, wenn der Roboter auf der grünen Farbe fährt. Im neuronalen Netz wird zu Beginn dieser Wert mit den Gewichten 1 an die Motoren weitergegeben. Deswegen fährt der Roboter geradeaus.

Damit der Roboter im Kreis fährt, muss sich der linke Motor langsamer drehen als der rechte Motor.

Das erreicht man, indem das Gewicht zwischen dem Eingangs-Neuron und dem linken Motor auf einen Wert gesetzt wird, der kleiner ist als 1.

Das elektronische Gehirn soll diese Gewichte jetzt selbst finden. Dazu baut man eine Situation in das Programm ein, mit welcher das Gehirn feststellt, dass das Programm nicht so abläuft, wie die NutzerInnen des Programms es wünschen:

  • Wenn die Farbe, welche der Farbsensor misst, nicht "grün" ist, dann merkt das elektronische Gehirn, dass der Roboter die grüne Fläche verlassen hat. Um zu verhindern, dass der Roboter die grüne Fläche verlässt, muss er eine engere Kurve fahren.

  • Sobald der Farbsensor feststellt, dass der Roboter die grüne Fläche verlassen hat, wird das Gewicht zwischen dem Eingabe-Neuron und dem linken Motor verringert und das Programm wird gestoppt.

  • Das elektronische Gehirn merkt sich die neuen Gewichte, man setzt den Roboter wieder an die Startposition und startet das Programm mit den angepassten Gewichten im elektronischen Gehirn neu.

Sobald dem elektronischen Gehirn beigebracht wurde, wie es selbst die Gewichte zwischen den Neuronen ändert, kann der Lernprozess beginnen:

Am Ende des Lernprozesses hat das elektronische Gehirn ein Gewicht zwischen dem Eingabe-Neuron und dem mot1-Ausgabe_Neuron mit einem Wert von 0.64 gefunden.

Ergebnis des Lernprozesses: Wenn sich der rechte Motor mit 100% dreht und der linke Motor mit 64%, dann fährt der Roboter auf der grünen Fläche in einem Kreis.


Vorbereitung des Programms


Falls der gerade gegebene Link nicht funktioniert, kann das Programm manuell geladen werden:

  • Klicke auf folgenden Download-Link für den Quellcode: kreisfahrenlernen.xml

  • Klicke in Open-Roberta oben links auf "Bearbeiten", dann auf "importiere Programm ..." und lade das gerade heruntergeladene Programm "kreisfahrenlernen.xml", das sich im Donwload-Ordner befinden sollte.

  • Falls die Oberfläche des Open-Roberta-Editors nicht auf deutsch ist, klicke in Open Roberta oben auf das Symbol für die Erdkugel und wähle "Deutsch" als Sprache.

  • Klicke in Open Roberta oben auf den Tab "ROBOTERKONFIGURATION", damit sich das Roboter-Konfigurations-Fenster öffnet. Du solltest folgende Roboter-Konfiguration sehen - falls nicht, ändere den Roboter entsprechend:

Der simulierte Roboter hat zwei unabhängige Motoren für das rechte und das linke Rad und einen Farbsensor welcher die Farbe wahrnehmen kann, mit welcher die Fläche unter dem Farbsensor eingefärbt ist.

  • Klicke auf den Tab "PROGRAMM NEPOprog" und dann ganz rechts auf die Schaltfläche "SIM", damit sich das Simulator-Fenster öffnet.

  • Klicke im Simulationsfenster oben links solange auf das Bild-Symbol, bis der Simulationshintergrund weiß ist. Das blaue Hindernis kannst du löschen.

  • Klicke auf folgenden Link um die Simulationseinstellung herunterzuladen: kreisfahrenlernen.json

  • Klicke im Simulationsfenster in der Symbolleiste auf "Simulationseinstellungen hochladen", wechsle in den "Downloads-Ordner", wähle die heruntergeladene Datei "kreisfahrenlernen.json" und bestätige die Wahl.

  • Klicke im Simulationsfenster unten auf "Öffne/schließe die Ansicht deines Systems", damit die Anzeige des simulierten Roboters geöffnet wird.

  • Verschiebe die Anzeige des simulierten Roboters an eine geignete Stelle. Du solltest folgendes sehen:

  • Klicke in der Simulationsumgebung unten auf "Starte dein Programm in der Simulation".

Programmablauf:

  • Der Roboter fährt geradeaus nach rechts. Sobald er die grüne Farbe verlassen hat, bleibt er stehen.

  • Klicke auf "Verschiebe alle Roboter an die Ausgangsposition und entferne alle Zeichnungen":

  • Starte dann das Programm neu.

  • Wiederhole das solange, bis der Roboter im grünen Feld auf einem Kreis fahren kann.