Snap!-Roboter

Roboter können wesentliche Prinzipien der Informatik wie die Anwendung von Sensoren und Aktoren veranschaulichen. Allerdings kann die Verwendung von Robotern auch erhebliche Kosten bei deren Anschaffung verursachen, weshalb es zumindest für die Vermittlung von Grundprinzipien sinnvoll sein kann, das Verhalten von Robotern erst einmal zu simulieren, bevor man zur Hardware greift.

Der folgende Roboter wurde in Snap! programmiert. Er verfügt über zwei einfache Sensoren, welche dafür sorgen, dass sich der Roboter in eine neue Richtung dreht. (Bei einem richtigen Roboter würden diese Sensoren die Drehzahl von Motoren steuern.) Sobald der Sensor die Farbe Schwarz meldet, dreht sich der Roboter ab.

Pfad eines einfachen Roboters in seiner Umgebung.

Programmierung des Roboters

Die Programmierung des Roboters erfolgte über drei Elemente:

  • Umgebung,
  • Roboter und
  • Sensoren.

Innerhalb der Umgebung wurde ein Zeitgeber programmiert, welcher für die Taktung der weiteren Elemente sorgt, indem jeweils ein Signal versendet wird:

Der Roboter und seine Sensoren werden durch die Umgebung getaktet.

Innerhalb der Umgebung wird auch die Variable für die Laufrichtung des Roboters festgelegt.

Der Roboter selbst bewegt sich in jedem Zyklus um eine bestimmte Anzahl von Schritten in die berechnete Richtung.

Da es vorkommen kann, dass der Roboter aus dem Bild läuft, kann dieser mit der Leertaste auf den Nullpunkt zurückgeholt werden.

Der Zufallswert bei der Vorwärtsbewegung soll Abweichungen bei der Fahrt durch ein „physikalisches“ Gelände simulieren. Diese Ungenauigkeiten sorgen dafür, dass der Roboter sich nicht perfekt verhält, sondern sein Verhalten durch kleine Störungen beeinflusst werden. Lässt man hier einen grösseren Bereich zu, kann man damit Unzulänglichkeiten in der mechanischen Konstruktion nachbilden.

Ausserdem hinterlässt der Roboter eine Spur, durch welche sich sein Bewegungsmuster auch über eine längere Zeit verfolgen lässt.

Die eigentliche Steuerung des Roboters erfolgt über zwei seitlich angebrachte Sensoren:

Der Sensor reagiert auf die Farbe Schwarz. Dadurch zeigt der Roboter ein Vermeidungsverhalten gegenüber der Dunkelheit.

In jeden Schritt werden die Sensoren zuerst relativ zum Roboterkörper positioniert, was bei einem richtigen Roboter nicht notwendig ist. Wenn der Sensor auslöst, wird dies durch einen Kostümwechsel (grün) angezeigt und die Richtung, in welche sich der Roboter bewegt, wird angepasst. Auch hier werden Zufallswerte verwendet, um kleine Ungenauigkeiten einzuführen.

Verwendung im Unterricht

Die Simulation dient der Veranschaulichung von grundlegenden Elementen der Robotik. Die Lernenden können in Snap! den Hintergrund gestalten, um die Grenzen der einfachen Steuerung auszuloten. Mögliche Fragestellungen sind:

  • Welche Auswirkungen haben die Veränderungen von Steuerungswerten wie z.B. bei der Richtungsänderung oder Vorwärtsbewegung?
  • Bei welcher Umgebungsgestaltung verhält sich der Roboter nicht so wie geplant?
  • Kann die Anordnung der Sensoren für allgemeine oder spezielle Umgebungen optimiert werden?

Im Vordergrund steht hier also nicht die eigentliche Programmierung des Roboters, sondern dessen Interaktionen mit der Umgebung. Damit wird für die Lernenden schnell ersichtlich, wo die Grenzen einer einfachen Steuerung liegen und sie können damit besser nachvollziehen, weshalb die Programmierung eines komplexeren Verhaltens seine Tücken haben kann.

Quellen

Online-Kurs „Begin Robotics“ auf FutureLearn: https://www.futurelearn.com/courses/begin-robotics

Ben Ari und Mondada (2018). Elements of Robotics. SpringerOpen: https://link.springer.com/book/10.1007%2F978-3-319-62533-1

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert