Zu Beginn des Lernens fährt der Roboter geradeaus und stößt gegen ein Hindernis. Wenn er gegen ein Hindernis stößt, dann soll er lernen, dass er einem Hindernis ausweichen muss, indem er eine Kurve fährt. Dazu ist es notwendig, dass die Gewichte zwischen den Neuronen so verändert werden, dass die Motoren sich nicht mehr gleich schnell drehen, sobald der Abstand zu einem linken und rechten Hindernissen nicht gleich groß ist.
9.7.6 Ausweichen lernen
Roboter lernt Ausweichen
Mit Hilfe von Ultraschall-Abstandssensoren soll sich der Roboter in diesem Kapitel selbst beibringen, wie er durch ein Hindernis-Parcours fährt, ohne an die Hindernisse anzustossen.
Erläuterungen zum Programm
Das elektronische Gehirn soll diese Gewichte selbst finden. Sobald der Roboter gegen ein Hindernis gefahren ist, ändert er die Gewichte zwischen den Neuronen, setzt zurück und fährt dann wieder weiter.
Vorbereitung des Programms
- Öffne folgenden Link: Hindernissen ausweichen lernen
Falls der gerade gegebene Link nicht funktioniert, kann das Programm manuell geladen werden:
-
Klicke auf folgenden Download-Link für den Quellcode: ausweichenlernen.xml
-
Klicke in Open-Roberta oben links auf "Bearbeiten", dann auf "importiere Programm ..." und lade das gerade heruntergeladene Programm "ausweichenlernen.xml", das sich im Donwload-Ordner befinden sollte.
- 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, einen Berührungssensor und zwei Ultraschallentfernungssensoren.
-
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: ausweichenlernen.json
-
Klicke im Simulationsfenster in der Symbolleiste auf "Simulationseinstellungen hochladen", wechsle in den "Downloads-Ordner", wähle die heruntergeladene Datei "ausweichenlernen.json" und bestätige die Wahl.
-
Klicke in der Simulationsumgebung unten auf "Starte dein Programm in der Simulation".
-
Wenn der Roboter irgendwo hängen bleibt, setze ihn auf eine freie Stelle.
Programmablauf:
-
Der Roboter fährt los und stößt gegen Hindernisse.
-
Bei jeder Kollision mit einem Hindernis lernt er immer besser, wie er mit einer Kurvenfahrt einem Hindernis ausweichen kann.