Netlogo Rescue Übung 2 - Netlogo Einführung

Die Netlogo Simulationsumgebung kennen lernen

Schritt 1 - Simulationsumgebung öffnen

Netlogo installiert mehrere Programme. Öffne "Netlogo 6.1.1".

Schritt 2 - Rescue-Modell öffnen

Das Rescue-Modell "RescueLineEntryLinks.nlogo" kannst du hier herunterladen (Download sollte automatisch starten):
https://www.dropbox.com/s/b4bac2vzri3dncm/RescueLineEntryLinks.nlogo?dl=1

Im Menü "File" wähle "Open" und suche die heruntergeladene Datei "RescueLineEntryLinks.nlogo". Bestätige durch Klick auf die "Öffnen"-Schaltfläche.
Abbildung 1 - Rescue-Modell öffnen

Du wirst direkt im Modell den Roboter programmieren, d.h. deine Änderungen werden darin gespeichert. Falls etwas kaputt gehen sollte und du nicht weißt wie du es wieder reparierst, kannst du das Modell noch mal von dem Link oben herunterladen. Oder du kopierst die Datei und arbeitest mit der Kopie.

Schritt 3 - Simulation initialisieren und starten

Der schwarze Bereich auf der rechten Seite ist die Welt, in der der Rescue-Roboter lebt. Drücke auf die Schaltfläche "setup" auf der linken Seite, um die Rescue-Arena zu erstellen und den Roboter zu spawnen. Der Roboter ist stilisiert dargestellt als ein türkiser Pfeil, der in Fahrtrichtung zeigt. Die 2 weißen Punkte repräsentieren die 2 Farbsensoren.

Drücke auf die Schaltfläcke "go", um die Simulation zu starten. Der Roboter ist bereits mit einem einfachen Beispielprogramm programmiert und fährt los. Da die Arena allerdings noch keine Linie zum Linienfolgen enthält, fährt er immer geradeaus. Der Roboter zeichnet hinter sich eine Fahrspur.

Drücke auf die Schaltfläcke "go", um die Simulation zu pausieren. Drücke auf die Schaltfläche "Roboter zurücksetzen", um den Roboter wieder zur die Startposition zu bewegen. Mit "Spur löschen" kann die aufgezeichnete Fahrspur wieder entfernt werden.

Das Zeichnen der Spur kannst du deaktivieren, indem du bei der Schaltfläche "spur_zeichnen" auf "Off" drückst. Starte die Simulation erneut, um das zu testen.
Abbildung 2 - Simulation steuern

Schritt 4 - Parcours zeichnen

Die Linie zeichnest du direkt in die Arena. Dafür gibt es unter "Zeichenfarbe" einen Regler, der von links nach rechts auf die Positionen
  • 0 .. löschen (weiß)
  • 1 .. schwarz
  • 2 .. grün
eingestellt werden kann. Aktiviere den Bearbeitungsmodus mit der Schaltfläche "Stecke bearbeiten", stelle den "Zeichenfarbe"-Regler auf "1 schwarz" und klicke in die Arena, um eine geschlossene Linie zu  zeichnen, der der Roboter folgen soll. Zur Korrektur stelle den "Zeichenfarbe"-Regler auf "0 löschen" und klicke auf die gerade gezeichnete Linie.

Es ist auch möglich grüne Kreuzungs-Markierungen zu setzen, indem der "Zeichenfarbe"-Regler auf "2 grün" umgestellt wird. Probiere dies aus.

Die "setup"-Schaltfläche löscht deinen Parcours auch vollständig wieder, also Vorsicht damit!
Abbildung 3 - Parcours zeichnen

Starte die Simulation und beobachte wie sich der Roboter auf dem gerade von dir erstellten Parcours schlägt.
Abbildung 4 - einfacher Parcours

Der Roboter korrigiert nach nach rechts, sobald der rechte Sensor eine schwarze Unterlage detektiert und links, sobald der linke Sensor schwarz "sieht". Bei Verlust der Linie sucht der Roboter links und rechts durch Rotation auf der Stelle.

Du kannst in die Simulation hineinzoomen mit Hilfe des "Zoom"-Menüs.

Schritt 5 - Parcours speichern und wieder öffnen

Der von dir gezeichnete Parcours wird nicht mit in der *.nlogo-Datei gespeichert. Dort landen nur die Änderungen am Modell, also der Roboter-Code. Der gezeichnete Parcours muss als eigene Datei exportiert werden.

Wähle im Menü "File" > "Export" > "Export World..." und speichere die CSV-Datei ab.

Schließe Netlogo und öffne erneut "roboSim.nlogo". Der Parcours ist verschwunden. Öffne deinen gespeicherten Parcours wieder mit dem Menü "File" > "Import" > "Import Word..." und wähle die gerade exportierte *.csv-Datei aus. Voilá! Der Parcours ist wieder da und der Roboter kann direkt losfahren!

Es steht dir auch ein vorgefertigter Parcours zur Verfügung. Lade folgende Datei herunter (Download sollte automatisch starten. Oben rechts ist bei Dropbox die Download-Schaltfläche. Es kann ein bisschen dauern bis sie erscheint, weil Dropbox erstmal versucht die Datei darzustellen. Einfach warten bis sie erscheint.):
https://www.dropbox.com/s/u3kywjw548xe3dv/RescueArena.csv?dl=1
Importiere die Beispiel-Areana.
Abbildung 5 - Arena exportieren und importieren

Schritt 6 - Sensoranordnung verändern

Diese Simulation eignet sich besonders gut, um mit unterschiedlichen Sensor-Anordnungen zu experimentieren, also ob es besser ist die Sensoren sehr weit vorn am Roboter zu montieren oder eher in der Mitte und welchen Einfluss der Abstand der Sensoren voneinander hat (Spurweite). In der Realität müsste man hierfür umständlich den Roboter umbauen. In der Simulation reicht es die Regler "sensor_position" oder "sensor_breite" zu verstellen und mit der Schaltfläche "Ansicht aktualisieren" zu bestätigen. Zuvor muss allerdings die Simulation angehalten werden, indem die Schaltfläche "program_running" auf "Off" gestellt wird. Probiere mal ein paar unterschiedliche Sensor-Anordnungen aus und wie sie sich auf das Fahrverhalten des Roboters auswirken.
Abbildung 6 - Sensorposition verändern

Schritt 7 - Roboter-Programm ändern


Das Modell der Welt und des Roboters befindet sich im Tab "Code". Direkt unter der Menüleiste, wechsle zum "Code"-Tab und scrolle ganz nach unten. Unter dem Kommentar

; Das eigentliche Linienfolgenprogramm

geht das Roboter-Programm los. Alles darüber ist das Programm, dass die Regeln der Welt, also u.A. die gerade von uns benutzten Schaltflächen und Regler und das Zeichnen des Parcours implementiert.

Der Roboter liest die Sensoren aus und wandelt die Information in Motor-Steuerbefehle um. Die Geschwindigkeit der Motoren kann man mit

set-power geschwindigkeit_links geschwindigkeit_rechts

verstellen. Ändere die letzte Verzweigung so ab, dass der Roboter doppelt so schnell fährt, wenn keiner der beiden Sensoren schwarz "sieht":

if not lblack and not rblack [
    set-power 100 100
]

Teste, dass dein Programm keine Syntax-Fehler enthält, indem du oben auf die "Check"-Schaltfläche drückst.
Abbildung 7 - Modell ändern

Starte sie Simulation und beobachte wie sich der Roboter verhält. Es kann sein, dass er an manchen Stellen jetzt die Linie verliert, weil er zu schnell fährt:
Abbildung 8 - Roboter fährt zu schnell und verliert die Linie

Weiter zu Übung 3

Kommentare

Beliebte Posts aus diesem Blog

Tinkercad Übung 6 - LED mit Taster ansteuern

Tinkercad Übung 11 - LED dimmen

Tinkercad Übung 15 - Ultraschallsensor auslesen