Im folgenden Programm soll der Roboter mit Hilfe eines Farbsensors die Farbe erkennen, über welche er fährt. Bei "grün" soll er schnell fahren, bei "gelb" langsamer werden und auf der Farbe "rot" soll er stehen bleiben. Das elektronische Gehirn des Roboters besteht dazu aus fünf Neuronen.
Falls der gerade gegebene Link nicht funktioniert, kann das Programm manuell geladen werden:
Klicke auf folgenden Download-Link für den Quellcode: fuenf_neuronen.xml
Klicke in Open-Roberta oben links auf "Bearbeiten", dann auf "importiere Programm ..." und lade das gerade heruntergeladene Programm "drei_neuronen.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:
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. Lösche das blaue Hindernis.
Klicke auf folgenden Link um die Konfiguration für die Simulation herunterzuladen: fuenf_neuronen.json
Klicke im Simulationsfenster in der Symbolleiste auf "Simulationseinstellungen hochladen", wechsle in den "Downloads-Ordner", wähle die heruntergeladene Datei "fuenf_neuronen.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". Sollte der Roboter auf einer Farbgrenze stehen beleiben, dann gib ihm einen kleinen Schubs.
Programmablauf:
Der Roboter fährt über die grüne Farbe nach rechts.
Der Lichtsensor erkennt die unter ihm liegende Farbe.
Aus der Farbe berechnen die Neuronen die gewünschte Geschwindigkeit des Roboters:
auf der Farbe grün: schnell
auf der Farbe gelb: langsamer
auf der Farbe rot: stehen bleiben
Erläuterungen zum Programm
Klicke auf den Tab "NEURONALES NETZ NEPOnn":
Im neuralen Netz dieser Simulation sind fünf Neuronen festgelegt worden:
"LGruen": dieses Neuron hat den Wert 100, wenn der Roboter über die Farbe grün fährt, sonst 0.
"LGelb": dieses Neuron hat den Wert 100, wenn der Roboter über die Farbe gelb fährt, sonst 0.
"LRot": dieses Neuron hat den Wert 100, wenn der Roboter über die Farbe rot fährt, sonst 0.
"mot1": Der Wert dieses Neurons wird an den Motor A gesendet.
"mot2": Der Wert dieses Neurons wird an den Motor B gesendet.
Im "elektronischen Gehirn" sind die Neuronen "LGruen", "LGelb" und "LRot" mit den Neuronen "mot1" und "mot2" verbunden:
Die Verbindung zwischen den Neuronen "LGruen" und den Motorneuronen hat das "Gewicht 1". Das bedeutet, dass ein Wert, den das Neuron "LGruen" empfängt, unverändert an die Neuronen "mot1" und "mot2" weitergegeben wird.
Die Verbindung zwischen den Neuronen "LGelb" und den Motorneuronen hat das "Gewicht 0.4". Das bedeutet, dass ein Wert, welche das Neuron "LGelb" empfängt, mit der Zahl 0.4 multipliziert wird und dann an die Neuronen "mot1" und "mot2" weitergegeben wird.
Die Verbindung zwischen den Neuronen "LRot" und den Motorneuronen hat das "Gewicht 0". Das bedeutet, dass ein Wert, welche das Neuron "LRot" empfängt, mit der Zahl 0 multipliziert wird und dann an die Neuronen "mot1" und "mot2" weitergegeben wird.
Mit folgender bedingter Anweisung wird abhängig vom Farbsensor erkannten Farbe einem Farbneuron der Wert 100 zugeordnet:
Sobald die Anweisung "Mache einen NN Schritt" aufgerufen wird, wird entsprechend der Farbe der Geschwindigkeitswert an die Motoren weitergegeben:
Nachdem der Geschwindigkeitswert an die Neuronen "mot1" und "mot2" weitergeleitet wurde, werden die Motoren entsprechend eingestellt.
Ändere die Gewichte zwischen den Farb-Neuronen und den Motor-Neuronen "mot1" und "mot2" und beobachte die Auswirkung auf das Verhalten des Roboters.
Klicke dazu auf die Verbindung zwischen zwei Neuronen, gib den neuen Wert ein und klicke dann auf den Haken.