| Was ist PPS ? | Was ist Lego Mindstorms ? | Unsere Projektaufgabe | Die Gruppenaufteilung und deren Aufgaben |

| Der Projektstart | Das Konzept | Die Realisierung eines Prototypen | Die Testphase | Die Präsentation |


Was ist PPS ? PPS ist die Abkürzung für Projekte, Praktika und Seminare. Diese werden von den Studenten der Abteilung D-Elek der ETH Zürich im Grundstudium besucht. Im Rahmen dieses PPS, das von den verschiedenen Instituten angeboten wird, können sich die Studierenden verschiedenste Fertigkeiten im Bereich der Elektronik aneignen. Sei es nun ein Projekt zu planen, eine Arbeit zu schreiben oder eine Präsentation auszuarbeiten. In diesem Unterrichtsblock wird vor allem selbstständiges Arbeiten, sowie die Teamarbeit der Studierenden gefördert.

Im PPS "Lego Mindstorms", das vom Institut für technische Informatik und Kommunikationsnetze angeboten wird, konstruieren wir aus Lego einen Roboter, der gegen einen Menschen 4-Gewinnt spielt.
Top


Was ist Lego Mindstorms ?


RCX-Baustein
Inzwischen hat wohl schon jeder etwas von Lego Mindstorms gehört, dem programmierbaren Legobaustein, der, obwohl erst seit Ende 1999 in Europa erhältlich, bereits über eine riesige Fangemeinde verfügt. Dies beweisen die zahlreichen Homepages zum Thema "Lego Mindstorms".
Der RCX-Baustein, so nennt sich der kleine Computer, verfügt über ein eigenes Betriebssystem. Dieses lässt sich sowohl mit einer speziell für Kinder entwickelten, als auch einer C-ähnlichen Programmiersprache (für anspruchsvollere Anwendungen wie z.B. ein 4-Gewinnt) vom PC aus programmieren. Mit den verschiedenen Sensoren (Lichtsensor, Berührungssensor, Drehsensor, Temperatursensor, Zeitgebersensor, Countdownsensor, Zählersensor) und Motoren kann man den Roboter steuern. All diese Bauteile sind beliebig mit den bisherigen Legobausteinen kombinierbar. So entstehen laufend neue, immer verrücktere Maschinen und Gefährte.
Gerade durch die Tatsache, dass der Möglichkeiten von Lego Mindstorms fast keine Grenzen gesetzt sind, wird es immer häufiger auch von Schulen und Universitäten für Projekte verwendet.
Top


Unsere Projektaufgabe Unsere anfängliche Projektaufgabe war, einen Roboter zu konstruieren, der das Spiel TicTacToe beherrschen sollte.
Die von unserem Kursleiter Eckart Zitzler definierte Ausgangslage fand jedoch nicht bei allen hellen Anklang, was zu einer neuen Idee führte:
Wir bauen einen Roboter, der das interessantere und umfangreichere Spiel '4 Gewinnt' implementiert hat.

Dabei soll ein fahrbarer Roboter und ein realer Spieler vor einem normalen Spielbrett sich das Duell liefern. Der Computer analysiert das Spielgeschehen, berechnet seine optimalsten Züge. und erkennt einen Zug des vitalen Gegners.

Soweit die neu gesetzte Projektaufgabe.
Top


Die Gruppenaufteilung und deren Aufgaben Um unser Projekt erfolgreich durchführen zu können, haben wir uns in 4 Gruppen aufgsplittet:

Die Kreativen erstellen eine WebSite zwecks Online-Information und stellen ein Internet-Forum zur Verfügung der Projektteilnehmer, um die Kommunikation zwischen den einzelnen Gruppen zu fördern.

Die Superhirne beschäftigen sich mit der Software im Bereich der Spielstrategie und implementieren damit das 'Gehirn' unseres Roboters.

Die Hacker beschäftigen sich mit der Zugerkennung und implementieren die Schnittstellen.

Schlussendlich sind die Tüftler die Kostrukteure des eigentlichen Lego-Roboters. Dazu gehört der fahrbare Wagen, ein Greifarm oder ein Förderband und ein Trichter, um die Steine am richtigen Ort fallen zu lassen.
Top


Der Projektstart Es galt nun, die ersten Gedanken und Pläne zu schmieden, wie das ganze aussehen sollte. Da gab es die kühnsten Ideen, wie zum Beispiel eine Online-Internetanbindung mit LiveCam, was nicht unmöglich, jedoch den Rahmen dieser Veranstaltung gesprengt hätte. So tauschten die einzelnen Gruppen ihre Vorstellungen über das Projekt gegenseitig aus und dies führte zum nächsten Schritt, und zwar zum Zeitplan.

Es wurden 5 Wochen für ein standhaftes Konzept festgelegt, in dem zum Beispiel die gruppenübergreifenden Schnittstellen definiert werden sollten.
Anschliessend wurden 4 Wochen für die Konstruktion und die Implementierung der Software eingeräumt. Bis zur Deadline der Abschlusspräsentation blieben also noch 3 Wochen, welche für Debugging, Tests und Änderungen reserviert waren.
Top


Das Konzept Wir machten uns nun Gedanken über die physische und das funktionale Erscheinen unseres Roboters. Die Tüftler überlegten sich verschiedene Konstruktionsarten, wobei man sich dann darauf einigte, dass ein Wagen mit einem Greifer die Aufgabe lösen sollte.
Da der RCX-Roboter zu wenig genau fährt, müssen Tastsensoren die Positionierung übernehmen. Dies war die Aufgabe der Hacker, welche sich fortan mit diesem Thema arg beschäftigten. Auch haben sie ein Konzept ausgearbeitet, das das Herunterfallen der Steine mittels Lichtschranken festgestellt werden kann.
Ein fertiges 4 Gewinnt-Spielfeld wurde gekauft.
Top


Die Realisierung eines Prototypen


















In Anbetracht dessen, dass ein fertiges Spielfeld benutzt werden sollte, setzte auch voraus, dass sich der RCX-Wagen horizontal bewegen würde und die Steine irgendwie in die Spielfeldschlitzen fallen würden. Dabei präsentierten die Tüftler zwei Varianten:

  • ein Drehsensor misst die Umdrehungen des Rades und bestimmt daraus seine Position. Diese Variante erwies sich aber als zu ungenau.
  • ein Tastsensor an der Unterseite des RCX tastet den Boden ab und reagiert auf Kerben im Untergrund. Diese Methode schien wesentlich genauer zu funktionieren.

    Das RCX sollte auch auf Schienen fahren, da es ohne diese zu ungenau fuhr.
    Die Hacker entwickelten eine 'Steinerkennung' mit 7 analogen Lichtschranken, welche mit einem D/A-Wandler ein digitales Signal dem Computer zurückgeben konnte.
    Die Tüftler entwickelten verschiedene Prototyp-Module. Ein Greifarm und ein Förderband entstanden daraus. Diese zeigten sich jedoch nicht so geeignet für die Ausführung des Computerzuges. So entstand als Auswerfmechanismus ein grosses Magazin, wo die Steine des Computers aufbewahrt werden. Für den Auswurf wurde ein patentiertes Modell mit Zahnräder und geheimer Konstruktion gebastelt, welches dann auf einem Wagen hin und her bewegt werden konnte. Dies sah dann schon sehr zuversichtlich aus, was auch die Genauigkeit und Treffsicherheit des Roboters anbelangte. Schliesslich sind die Öffnungen des Spielbrettes relativ klein.
    In Zusammenarbeit mit den Tüftlern, haben die Hacker eine funktionstüchtige Zugerkennung fertiggestellt und der Prototyp war vollständig.
    In dieser Zeit hatten die Hirne ein funktionstüchtiges Programm in Visual-Basic erstellt. Dieses enthielt den eigentlichen Algorithmus des Spieles, also Spielsuche, Spielregeln, Ablauf des RCX, usw.
  • Top


    Die Testphase









    Und nun kam die Vereinigung der geleisteten Arbeit der einzelnen Gruppen. Dank einer langen Konzeptphase, bei der viel diskutiert und getüftelt wurde, aber auch klare Schnittstellen definiert wurden, klappte ein erster Testversuch schon nach wenigen Minuten.
    Hier kamen dann nach und nach die verschiedenen Bugs zum Vorschein, welche wir innerhalb von drei Wochen zu beseitigen hatten. Dazu kamen noch ein paar "Goodies", welche wir für die Präsentation einbauen wollten. So sollte zum Beispiel eine Melodie erklingen, wenn jemand gewinnt. Auch sollte das Spielfeld auf dem Computermonitor grafisch dargestellt werden.
    Zu den Bugs:
  • der Sensor unter dem RCX erkannte die Kerben nicht richtig
  • teilweise klemmte das Magazin und es kam kein Stein heraus
  • teilweise wurden zwei Steine rausgeworfen
  • nicht immer wurde die richtige Spalte getroffen
  • die falsche Lichtschranke wurde ausgelöst
  • nachdem der Computer gewonnen hatte, konnte man einfach weiterspielen
  • man durfte nicht zu schnell spielen, da der Computer genügend Zeit brauchte um zu rechnen
  • Top


    Die Präsentation Nun, es gab doch noch einige Bugs zu beseitigen. Der Magazinauswurf wurde verbessert, damit er nicht mehr klemmte, das RCX wurde mit einem Gummibändel ausgerüstet, damit der Tastsensor besser funktionierte, die Software wurde weiter debuggt...


    Bis am Freitag war dann alles so weit so gut. Das Projekt schien erfolgreich zu enden, das 4 Gewinnt liess sich recht gut und zuverlässig spielen.
    Als am Montag eine Stunde vor der Präsentation die allerletzten Bugs aus der Welt geschaffen wurden, funktionierte gar nichts mehr! Der Computer spuckte Fehlermeldungen aus, plötzlich stürzte alles ab ...
    Durch eifriges und gestresstes "engineering" gelang es uns jedoch, den Roboter für die Präsentation fit zu machen und es wurde doch noch eine geglückte Vorstellung.
    Top


    Zuletzt geändert: 28.6.2000