Materialsammlung
AG Didaktik der Informatik
Workshop: Stau Simulation

In diesem Workshop programmieren die Teilnehmer den Thymio mit VPL so, dass er einer schwarzen Kreislinie folgt und dabei nicht auf den Vordermann auffährt. Durch die Verwendung hinreichend vieler Thymios wird es möglich die Entstehung von Verkehrsstörungen ud Staus zu beobachten. Durch die Veränderung der Abstände zum Vordermann kann der Verkehrsfluss gesteuert werden.

Benötigtes Material

  • Genügend viele Thmyios (etwa 10 Stück)
  • Eine Kreislinie (ca. 2.5 cm breit)

Starte den Workshop

In diesem Workshop wirst Du mit den Thymios eine Autoschlange simulieren. Dabei wirst Du sehen, dass Staus aus dem nichts entstehen können, wenn zu viele Fahrzeuge auf einer Straße fahren. Und Du wirst versuchen die Anzahl der Autos, die gleichzeitig fahren können zu erhöhen, indem das Verhalten der Fahrzeuge verändert wird.

Du wirst unter anderem lernen,

  • ... wie man den Thymio programmiert.
  • ... wie man mit zwei Sensoren einer Linie folgt.
  • ... wie man einen Roboter mit Differentialantrieb steuert.
  • ... wie man mit Entfernungssensoren Unfälle vermeidet.
  • ... wie man Ereignisse nutzt, um Aktionen auszulösen
  • ... warum ein Roboter ein Gedächtnis benötigt.

In Rahmen wie diesem werden Aufgaben oder Arbeitsanweisungen dargestellt.

Bitte befolge die Anweisungen und bearbeitet die Aufgaben!

Fahre bitte mit der nächsten Seite fort.
Das Video zeigt Dir, wie Du den Thymio programmieren kannst. Weitere Hinweise findest Du auf dem Referenzbogen.
Erstelle Dein erstes Programm. Es soll die beiden folgenden Regeln enthalten:
  • Wenn die Taste HOCH gedrückt wird, fahre los.
  • Wenn die mittlere Taste gedrückt wird, bleibe stehen.
Der Thymio hat einen sogenannten Differentialantrieb, d.h. er hat zwei getrennt gesteuerte Motoren. Einen für das linke Rad und einen für das Rechte. Die Steuerung der Richtung erfolgt durch die Differenz, d.h. den Unterschied der Geschwindigkeiten der beiden Motoren.

Differentialantriebe haben häufig das Rroblem, dass der Roboter nicht geradeaus fährt, wenn man beide Motoren mit demselben Wert ansteuert.

Das rechts dargestellte Programm lässt den Thymio vorwärtsfahren, wenn er mit beiden Bodensensoren weiß sieht. Er hält an, wenn er mit beiden Bodensensoren schwarz sieht. Probiert es aus.

  • Ein SCHWARZER Sensor bedeutet, dass er dunklen Untergrund sieht.
  • Ein WEISSER Sensor bedeutet, dass er hellen Untergrund sieht.
  • Ein GRAUER Sensor bedeutet, dass sein Wert egal ist.
Beginne mit einem neuen Programm!

Programmiere den Thymio so, dass Du ihn mit den fünf Tasten steuern kannst. Außerdem soll er anhalten, wenn beide Bodensensoren schwarz sehen.

Speichere Deine Lösung unter dem Namen Steuerung.

Der Fortgeschrittenenmodus gibt Dir noch mehr Möglichkeiten. Er wird über das rechts dargestellte Icon aktiviert. Du kannst jetzt die Entfernungen und Helligkeiten bei den Sensoren einstellen und hast noch weitere Ereignisse zur Verfügung. Schau auf dem Referenzbogen nach, wenn Du mehr Informationen benötigst.

Im Moment sind jedoch die erweiterten Regeln besonders interessant. Jede Regel kann neben dem Ereigniss eine zusätzliche Bedingung erhalten. Diese beschreibt, welche der LEDs um die Knöpfe herum an oder aus sein müssen. Die Regel wird nur dann aktiviert, wenn das Ereignis und die Bedingung erfüllt ist. Außerdem kann man mit einer neuen Aktion die LEDs verändern.

Diese Regel besagt:

Wenn der Thymio berührt wird und die linke obere LED nicht leuchtet,
dann leuchte lila und schalte die linke obere LED an.

Die LED-Symbole können drei Farben haben:

  • WEISS: Die LED ist aus (als Bedingung) oder sie wird ausgeschaltet (als Aktion)
  • ORANGE: Die LED ist an (als Bedingung) oder sie wird eingeschaltet (als Aktion)
  • GRAU: Die LED ist an oder aus (egal, als Bedingung) oder sie bleibt unverändert (als Aktion)

Aktiviere den Fortgeschrittenenmodus und beginne mit einem neuen Programm. Verwende die zusätzliche Bedingung, um die folgende Verhaltensweise zu programmieren:
Ein Druck auf den mittleren Knopf soll den Roboter lila leuchten lassen, ein zweiter Druck auf denselben Knopf soll das Licht wieder ausschalten.
Hinweis: Ihr benötigt zwei Regeln. Eine davon seht Ihr oben.
Verwendet die orangen LEDs, damit der Thymio die eingestellte Geschwindigkeit speichern kann.
Verwendet die LEDs um zu speichern, ob der Thymio steht, langsam fährt oder schnell fährt:

   

Für eine gute Verkehrssimulation muss der Thymio mit verschiedenen Geschwindigkeiten fahren können. Unser Ziel ist es den Thymio mit Hilfe von Tasten in mehreren Geschwindigkeiten fahren zu lassen. Dabei soll mit den Tasten Hoch und Runter die Geschwindigkeit verändert werden.

Beginne mit einem neuen Programm.

Programmiere den Thymio so, dass er mit zwei verschiedenen Geschwindigkeiten gerade aus fahren kann, langsam und schnell. Beim Drücken des Pfeils nach vorne, soll er zuerst langsam, beim nochmaligen Drücken schnell fahren. Umgekehrt soll er beim Drücken des Pfeils nach hinten wieder langsamer werden und schließlich anhalten.

Speichere Dein Programm unter dem Namen Geschwindigkeit.
Überlege Dir, welche Positionen die Bodensensoren zur schwarzen Linie haben können und wie der Thymio sich dann bewegen sollte.

Beachte dabei, dass beide Sensoren schwarz sehen, wenn der Thymio mittig auf der Linie steht.

Es gibt insgesamt vier Möglichkeiten:

Jetzt ist die schwarze Linie an der Reihe. Sie stellt die Strasse dar, der der Thymio folgen soll. Dafür sind natürlich insbesondere die Bodensensoren wichtig.

Beginne mit einem neuen Programm!

Programmiere den Thymio so, dass er der Kreislinie folgt. Verwende dazu die Bodensensoren.

Speichere Deine Lösung unter dem Namen Linienfolger.
Überprüfe, mit welchem Sensor dein Thymio den Vordermann zuerst wahrnimmt.
Eine Regel wird nur aktiviert, wenn eine Veränderung eintritt, so dass danach der Auslöser der Regel erfüllt ist. Man sagt dazu, dass das entsprechende Ereignis eintritt. Z.B. tritt das unten dargestellte Ereignis nur ein, wenn jetzt vor dem Thymio kein Hindernis mehr ist, davor aber noch eins da war.
Die Ereignisse treten nur ein, wenn sich für den Thymio etwas ändert. D.h. solange die Bodensensoren immer die gleichen Farben sehen, tritt kein Ereignis ein. Erst wenn sie sich ändern kann eine Regel helfen.

Wenn der Roboter stoppt sieht er normalerweise mit mindestens einem Bodensensor noch schwarz. Wenn er wieder losfährt, bleibt das zuerst so. Unter Umständen ändert sich das erst wieder, wenn er mit beiden Sensoren weiß sieht. Dann hat er die Linie aber bereits verloren.

Der Roboter muss, wenn er mit beiden Sensoren weiß sieht, die Linie wiederfinden. Dazu muss er, je nachdem in welche Richtung er sie verlassen hat, sich nach links oder nach rechts drehen.

Um sich für die richtige Richtung zu entscheiden, muss er sich immer merken, in welcher Richtung er vorher weiß gesehen hat.

War es links, hat er die Linie nach links verlassen und muss sich nach rechts drehen. War es rechts, hat er die Linie nach rechts verlassen und muss sich nach links drehen.

Diese Regel speichert mit Hilfe der orangen LEDs, dass der Thymio die Linie gerade nach links verlässt, also nach rechts fahren muss.

Die folgende Regel sorgt dafür, dass der Thymio beim Losfahren wieder nach rechts fährt.

Wenn mehrere Thymios gleichzeitig auf der Linie fahren kommt es zu Auffahrunfällen. Die sollen jetzt vermieden werden.

Verändere Dein Programm so, dass die Thymios immer etwas Abstand zueinander halten. Er soll also stehen bleiben, wenn er zu nahe an ein Hindernis fährt, und weiterfahren, wenn der Abstand wieder groß genug ist.

Lasse den Thymio rot leuchten, wenn er hält und grün wenn er fährt.

Speichere Eure Lösung unter dem Namen Unfallvermeidung.

Suche Dir andere Teams und probiere mit ihnen gemeinsam das Kreisfahren aus. Lasse nach und nach immer mehr Thymios fahren. Beobachte vor dem Hinzufügen des nächsten Thymio kurz was geschieht.

Wieviele Thymios können gleichzeitig ohne größere Probleme fahren?

Im Fortgeschrittenenmodus haben die Entfernungssensoren zusätzliche Einstellmöglichkeiten. Über die Schieber kannst Du die Entfernung einstellen, bei der der Sensor auslöst.

Lade Dein Programm Unfallvermeidung und aktiviere den Fortgeschrittenenmodus (falls noch nicht geschehen).

Verändere in dem Programm die Entfernungen bei der der Thymio anhält und wieder startet. Probiere die neuen Entfernungen mit anderen Teams aus.

In der Realität sollte der Abstand zum Vordermann abhängig von der Geschwindigkeit sein. Im Straßenverkehr rechnet man häufig mit der folgenden Faustformel:

Abstand zum Vordermann = Halber Tacho in Metern
D.h. Wenn der der Tacho 80 km/h zeigt, dann sollte der Abstand zum Vordermann mindestens 40 Meter betragen.

Passe Dein Programm so an, das der Thymio der Linie mit zwei unterschiedlichen Geschwindigkeiten folgt, je nach dem wie weit der Vordermann entfernt ist.

Probiert aus, ob durch die Veränderungen mehr Thymios gleichzeitig auf der Linie fahren können.

Du hast es bis zum Ende geschafft!
Fülle bitte den zweiten Fragebogen aus. Danach kannst Du Dich natürlich noch mit dem Thymio beschäftigen.
Vielen Dank!