Roboterrennen im WPU Informatik der 9. Klasse
Ein Bericht von Marten Wiemer (Klasse 9.2)
Das Roboterrennen fand im Rahmen unseres Wahlpflichtkurses Informatik statt. Wir wurden in Gruppen eingeteilt, die wir so vorher nie hatten und ich war mit Mitschülern in einer Gruppe, mit denen ich bislang nicht viel zusammengearbeitet hatte.
Das Projekt, welches mehrere Wochen beanspruchte, bestand aus den Phasen des Planens, des Programmierens, des Verbesserns des Programms (Debugging) und endete mit dem finalen Rennen, wodurch sich die Effektivität unserer Programme gegeneinander messen ließ.
Es gab 3 Gruppen. Jede dieser Gruppen hatte die Aufgabe ein Programm zu entwerfen, mit dem es dem Roboter gelingt, möglichst schnell einer schwarzen Linie zu folgen, die mehrere, zum Teil, äußerst scharfe Kurven aufwies. Der erste Schritt aller Teams war die Besprechung des Programmablaufs und die Erstellung eines PAPs (Programmablaufplan in Form eines Diagramms).
Die Besprechung des Programmablaufes unternahmen wir als Gruppe gemeinsam. Die Erstellung des Programms, auch Implementierung genannt, war anschließend Einzelarbeit. Das Programm sah in etwa so aus, dass der Roboter den Linienfolgesensor abfragt. Anhand der Informationen erfährt er, wo sich die Linie befindet und ob er überhaupt auf einer Linie steht. Im Idealfall bewegt er sich gerade auf der Linie und bewegt sich solange vorwärts bis sich dieser Zustand verändert. Im Falle, dass nun z.B. eine Rechtskurve folgt, wird er bis die Linie für ihn auf einer Seite nicht mehr sichtbar ist (der Anfang der Kurve), stoppen und sich nach rechts drehen, bis er wieder gerade auf der Linie steht. Dieser Prozess wiederholt sich solange, bis er die Kurve überwunden hat. So auch bei einer Linkskurve. Wenn der Roboter keine Linie erkennt, fährt er solange rückwärts, bis er auf eine Linie trifft.
So weit war der Plan. Diese Idee mussten wir nun Schritt für Schritt in ein Programm für die Roboter umwandeln. Aber leichter gesagt als getan. Nachdem wir gruppenweise unsere Programme auf die Roboter übertrugen, fingen wir eifrig an Bugs, bzw. unsere Fehler zu korrigieren und Verbesserungen in unsere Programme zu integrieren. Diese Fehleranalyse wird in der Informatik auch Debugging genannt.
Die Teams tauschten sich aus, um die Ideen der Gruppe zu erfahren und diese für unser Programm sinnvoll umzusetzen, um am Ende das schnellste der drei Programme zu implementieren. Nach mehreren Wochen waren unsere Programme endgültig fertig. Die letzten Optimierungen überlegten sich einige wie ich, in ihrer Freizeit in der wir von unserer Lehrerin den Informatikraum zur Verfügung gestellt bekamen. Es gab auch gruppenübergreifende Inspirationen, die aber möglichst geringgehalten wurden, um den anderen Gruppen weniger Vorteil zu bieten.
Nun war es so weit und wir begannen das Rennen. Jeder Roboter sollte antreten, um den Roboter mit dem schnellsten Programm zu identifizieren.
Am Ende gewann ein Roboter mit minimalem Vorsprung. Interessant war, dass die Roboter sich in gleichen Situationen verschieden verhielten. Das passierte, da jedes Team eine sehr unterschiedliche Herangehensweise verfolgte und so zu ähnlichen, aber nicht identischen Ergebnissen kamen. Durch ein Rennen konnten wir die Programme leider nur auf Geschwindigkeit testen. Schnelligkeit ist aber bei einem solchen Programm nicht die größte Herausforderung. Es wäre weitaus komplizierter gewesen die Roboter über besonders knifflige Strecken oder kleine Hindernisse zu befördern.
Das gesamte Projekt war mir eine Freude. Wir hatten viel Spaß und konnten als Gruppe unser Wissen für die gemeinsame Lösung des Problems nutzen, so wie es niemand von uns alleine geschafft hätte. Diese Erfahrung zu machen war eine Bereicherung, die sich sicher als nützlich erweisen wird und ich denke, dass mir meine Gruppenmitglieder und die der anderen Gruppen vollkommen zustimmen. Nun freue ich mich schon auf die kommenden Projekte mit den kleinen Robotern!
21.2.2018