05.02.2015 Aufrufe

DES WPU-KURSES - Wernher von Braun Schule

DES WPU-KURSES - Wernher von Braun Schule

DES WPU-KURSES - Wernher von Braun Schule

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

PROJEKTABSCHLUSSBERICHT<br />

<strong>DES</strong> <strong>WPU</strong>-<strong>KURSES</strong><br />

„ROBOTER PLANEN, KONSTRUIEREN UND PROGRAMMIEREN“<br />

an der <strong>Wernher</strong>-<strong>von</strong>-<strong>Braun</strong>-<strong>Schule</strong> (Neuhof)<br />

NXT-Räumroboter „Winterstar“<br />

The Rotations (Teamnr. 2)<br />

Neuhof, den 18.05. 2010


Inhaltsverzeichnis<br />

1 DAS TEAM ............................................................................................................................... 2<br />

2 EINLEITUNG ............................................................................................................................ 3<br />

3 PROJEKTPLANUNG ............................................................................................................... 3<br />

4 PROJEKTABLAUF .................................................................................................................. 4<br />

5 PROJEKTERGEBNIS ............................................................................................................ 22<br />

5.1 Roboterwelt ....................................................................................................................... 22<br />

5.2 Roboterkonstruktion .......................................................................................................... 23<br />

5.3 Programmierung ............................................................................................................... 26<br />

6 REFLEXION ........................................................................................................................... 29<br />

6.1 Reflexion der Problemstellung .......................................................................................... 29<br />

6.2 Reflexion des Projektmanagements und der Teamarbeit .................................................. 29<br />

6.3 Reflexion des Projektziels ................................................................................................. 30<br />

7 ENTLASTUNG PROJEKTTEAM ........................................................................................... 32<br />

8 ANHÄNGE ............................................................................................................................. 33<br />

9 QUELLENVERZEICHNIS ...................................................................................................... 33<br />

Seite 1


1 DAS TEAM<br />

David Wehner<br />

Teamleiter<br />

Protokollant<br />

Programmierung<br />

Carsten Betz<br />

Programmierung<br />

Jan Staubach<br />

Konstruktion<br />

Jakob Brehler<br />

Konstruktion<br />

Seite 2


2 EINLEITUNG<br />

Da sich unsere Gruppe zuvor mit dem Rotationssensor beschäftigt hatte, stand natürlich fest, dass unser Projekt<br />

auf diesem Sensor basieren sollte. Bei den vorausgegangenen Versuchsreihen stellte sich heraus, dass<br />

der Rotationssensor besonders dafür geeignet war, den Roboter geradeaus fahren und in einem genau festgelegten<br />

Winkel drehen zu lassen. Wir überlegten uns also ein Projekt, bei dem der Roboter genau dies machen<br />

sollte. Ein Räumroboter, der in einem rechteckigen Raum operiert, schien dafür geeignet. Schließlich<br />

muss der Roboter beim Durchfahren des Raums genau geradeausfahren und sich genau drehen können, um<br />

sich orientieren zu können.<br />

Ein Räumroboter, der beim Durchfahren eines rechteckigen Raumes Teile aufnimmt und diese dann in eine<br />

Art Ablagecontainer befördert, weckte das Interesse aller Gruppenmitglieder. Aus dieser Idee wurde das Minimalziel,<br />

da in der Realität eine Art Aufräumroboter durchaus das Kaufinteresse einer größeren Kundengruppe<br />

wecken könnte. Die für das Minimalziel nötigen Kenntnisse für die Programmierung waren bereits beim<br />

Durchführen der Versuchsreihen und dem vorherigen Informatikunterricht erworben worden. Aus Sicht der<br />

Programmierer war das Minimalziel also überschaubar.<br />

Auch die Roboterkonstrukteure Jakob und Jan fühlten sich in der Lage, einen geeigneten Roboter zu bauen.<br />

Hierzu planten sie, eine völlig eine neue Konstruktion zu errichten. Die Fähigkeiten dafür hatten sie bereits<br />

beim Durchführen der Versuchsreihen unter Beweis gestellt, da sie hier schon den TriBot an verschiedensten<br />

Stellen erfolgreich modifizierten, was den Roboter zum Beispiel im Punkt Stabilität sehr verbesserte.<br />

Als erweiterte Herausforderung setzten wir uns das Ziel, dass der Roboter die Teile, die er beim Durchfahren<br />

des Raumes aufnimmt, anhand <strong>von</strong> bestimmten Eigenschaften wie zum Beispiel der Farbe zuordnen kann.<br />

Es wurde prognostiziert, dass die Erfüllung des Maximalziels nochmals besonders die Kompetenzen der Programmierer<br />

Carsten und David erfordert, da zum Beispiel dafür der Umgang mit einem weiteren Sensor (vermutlich<br />

dem Farbsensor) vorausgesetzt wird.<br />

3 PROJEKTPLANUNG<br />

Am Anfang des Projekts wurden zunächst ein Gruppenführer und ein Protokollant bestimmt. Für beide Tätigkeiten<br />

erklärte sich David gerne bereit. Dieser hatte nun die Aufgabe, die Aufgaben in der Gruppe zu verteilen,<br />

die Tagesberichte und schließlich den Projektabschlussbericht zu schreiben.<br />

Die Zuständigkeiten in der Gruppe wurden ebenfalls am Anfang des Projekts geklärt. Hierbei wurde die Gruppe<br />

in zwei Trupps aus je zwei Gruppenmitgliedern eingeteilt. Der erste Trupp wurde <strong>von</strong> Carsten und David<br />

gebildet. Beide machten es sich zur Aufgabe, die nötigen Programmcodes für den Roboter zu schreiben.<br />

Seite 3


Der zweite Trupp bestand aus Jakob und Jan. Diese bekamen die Aufgabe, den Roboter nach den Anforderungen<br />

des zu erfüllenden Ziels zu konstruieren. Natürlich wurde festgelegt, dass beide Trupps „Hand in<br />

Hand” zusammenarbeiten.<br />

Damit jeder wusste, was genau zu tun war, wurden in Gruppengesprächen, bei dem jedes Gruppenmitglied<br />

beteiligt war, festgelegt, welche Anforderungen an den jeweiligen Trupp gestellt werden. Hierbei wurde auch<br />

über neue Ideen und Konzepte diskutiert und teilweise sogar abgestimmt.<br />

4 PROJEKTABLAUF<br />

Dienstag, 19.01.10<br />

An diesem Tag haben wir den Sensor ausgewählt, mit dem wir uns in den<br />

nächsten Wochen beschäftigen werden. Es handelt, sich dabei um den<br />

Rotationssensor. Außerdem wurden organisatorische Dinge innerhalb der<br />

Gruppe geklärt. Außerdem wurden der Gruppenleiter und der Protokollant<br />

bestimmt. Für beide Angelegenheiten erklärte sich David bereit.<br />

Als Ziel für die nächsten Unterrichtsstunden setzten wir uns, Informationen<br />

über den Rotationssensor zu sammeln und Überlegungen über eine Versuchsreihe<br />

mit dem Sensor anzustellen.<br />

Freitag, 22.01.10<br />

Dienstag, 26.01.10<br />

Die Informatikstunde konnte auf Grund eines innerschulischen Volleyballturniers<br />

nicht stattfinden.<br />

Das primäre Ziel an diesem Tag bestand darin, dass sich alle Gruppenmitglieder<br />

über den Rotationssensor der NXT-Motoren informieren. Hierbei<br />

nutzten wir die betreffende Lektion des NXC-Tutorials, die uns Herr Dietrich<br />

zur Verfügung gestellt hatte. Jan demontierte währenddessen den vor dem<br />

neuen Unterrichtsprojekt gebauten Roboter, damit uns alle Teile umstandslos<br />

zur Verfügung standen. Außerdem wurden schon erste Überlegungen<br />

über einen Versuch mit dem Rotationssensor angestellt. Die Grundidee<br />

war, den Robotermotor mithilfe eines Stiftes verschieden große Winkel<br />

exakt auf ein Blatt Papier zeichnen zu lassen. Mithilfe dieses Versuchs<br />

sollte es möglich sein herauszubekommen, wie genau man mit dem Rotationssensor<br />

arbeiten kann.<br />

Für Überlegungen über den tatsächlichen Versuchsaufbau und die Versuchsdurchführung<br />

reichte die Zeit allerdings nicht aus. Dies setzten wir<br />

Seite 4


uns aber für die nächste Stunde zum Ziel. Außerdem sollte Jakob, der an<br />

diesem Tag erkrankt war, über den Fortlauf des Projekts unterrichtet werden.<br />

Freitag, 29.01.10<br />

Dienstag, 02.02.10<br />

Freitag, 05.02.10<br />

Dienstag, 09.02.10<br />

Die Informatikstunde konnte auf Grund der Zeugnisvergabe für das erste<br />

Halbjahr nicht stattfinden.<br />

Die Informatikstunde konnte auf Grund eines Studientages nicht stattfinden.<br />

Zu Beginn der Stunde gab uns Herr Dietrich zwei verschiedene Fragestellungen<br />

zum Rotationssensor. Heute versuchen, wir den Abschnitt in unserem<br />

vorgegebenen Tutorial "Mehr über Motoren" herauszusuchen, der uns<br />

bei der Beantwortung der ersten Frage "Wie hoch ist die erzielte Motorengenauigkeit<br />

bei einer vorgegebenen Anzahl <strong>von</strong> Umdrehungen" helfen<br />

soll. Hierbei konnten wir schon einiges über die Programmierung und die<br />

Genauigkeit des Rotationssensors herausfinden. In der nächsten Stunde<br />

wollen wir einige Versuche durchführen, um die Genauigkeit des Rotationssensors<br />

zu überprüfen. Auch genauere Ideen zu diesen Versuchen werden<br />

wir uns in der nächsten Stunde einfallen lassen.<br />

Heute wollten Carsten und David einen Versuch mit dem Rotationssensor<br />

durchführen. Ziel war es, den Roboter eine bestimmte Wegstrecke (in diesem<br />

Fall 2 m) fahren zu lassen. Nach der Ermittlung des Reifenumfangs<br />

konnten wir die benötigte Umdrehungszahl und den exakten Drehwinkel<br />

berechnen. Die errechneten Daten fügten wir dann in den Programmcode<br />

ein, den wir schließlich in den Roboter einspeisten. Hierbei trat das Problem<br />

auf, dass der Roboter die doppelte Wegstrecke abfuhr, obwohl die vorherige<br />

Rechnung auch nach mehreren Kontrollen korrekt erschien. Wir nahmen<br />

uns vor, den Grund für das Problem in der nächsten Stunde zu ermitteln.<br />

Währenddessen machten Jan und Jakob den Roboter fahrtüchtig, damit wir<br />

den Versuch ordnungsgemäß durchführen konnten. Auch installierten sie<br />

vorsorglich zwei Berührungssensoren, die uns eventuell bei späteren Versuchen<br />

nützen könnten. Allerdings konnte beim Bau des Roboters ein Problem<br />

bis zum Ende der Stunde nicht gelöst werden. Die Stabilität des Heckfahrwerks<br />

war unzureichend. Diesem Problem wollten sie sich aber in der<br />

Seite 5


nächsten Stunde widmen.<br />

Freitag, 12.02.10<br />

An diesem Tag hatten Carsten und David vor, das Problem mit der doppelten<br />

Fahrstrecke des Roboters zu Iösen. Doch schon nach kurzer Zeit fanden<br />

wir heraus, dass uns ein Fehler bei der Ermittlung des Radumfangs<br />

unterlaufen war. Zusätzlich fanden wir heraus, dass der genaue Umfang<br />

bereits auf jedem Rad verzeichnet ist. Nach dem Einsetzen des neuen Wertes<br />

in die Rechnung stimmte die Lösung. Das Problem war damit gelöst.<br />

Für die nächste Stunde nahmen wir uns vor, den Versuch auch in schriftlicher<br />

Form abzuschließen.<br />

Jakob und Jan verstärkten inzwischen das Heck und die bereits installierten<br />

Berührungssensoren des Roboters. Für die nächste Stunde nahmen sich<br />

beide vor, weitere Schwachstellen am Roboter zu suchen und diese zu<br />

beseitigen.<br />

Dienstag, 16.02.10<br />

Heute haben Carsten und David den Versuch, den die Gruppe in den letzten<br />

Stunden bearbeitet hatte, verschriftlicht.<br />

Danach überlegten wir uns weitere Fragen, mit denen wir uns in den nächsten<br />

Stunden beschäftigen werden. Die nächsten Frage, mit der wir uns<br />

näher befassen werden, lautet: "Hat die Reibung, die bei der Fahrt auf dem<br />

Boden entsteht, Auswirkungen auf die Genauigkeit des Motors"<br />

Derweil modifizierten Jan und Jakob nochmals das Heckfahrwerk. Dadurch<br />

konnte der Roboter auch kleinere Hindernisse überwinden. Zuvor blieb das<br />

Heckfahrwerk bei Hindernissen wie einer Kante auf dem Boden meistens<br />

hängen, sodass der Roboter sich festfuhr. Für die nächste Stunde planten<br />

sie, Carsten und David bei ihren Arbeiten mit dem neuen Projekt zu unterstützen.<br />

Freitag, 19.02.10<br />

Am heutigen Tag haben David und Jan die schriftliche Form unserer Versuchsreihe,<br />

der wir uns in den letzten Stunden gewidmet hatten, noch etwas<br />

ergänzt. Durch die endgültige Fertigstellung des Dokuments konnten<br />

wir unsere erste Versuchsreihe abschließen. Für die nächsten Stunden<br />

nahmen wir uns nun vor, eine weitere Versuchsreihe aufzustellen. Die Frage<br />

dazu sollte lauten: "Hat die Reibung, die bei der Fahrt auf dem Boden<br />

Seite 6


entsteht, Auswirkungen auf die Genauigkeit des Motors" Jakob traf bereits<br />

Vorbereitungen für die nächste Versuchsreihe. Er stellte sicher, dass die<br />

dafür eventuell nötige Demontierung eines Motors möglichst einfach sein i<br />

sollte.<br />

Carsten konnte heute auf Grund einer Sportverletzung am Schulunterricht<br />

nicht teilnehmen. In der nächsten Stunde wird er die Gruppe wieder tatkräftig<br />

bei der Arbeit unterstützen.<br />

Dienstag, 23.02.10<br />

Freitag, 26.02.10<br />

Dienstag, 02.03.10<br />

In der heutigen Stunde besprachen wir nochmals kurz unser Dokument<br />

über den ersten Versuch, sodass wir es nun drucken und in der Mappe<br />

abheften können. Danach überlegten wir uns für unseren zweiten Versuch<br />

die genauere Durchführung. Einerseits soll der Roboter seine Reifen dreimal<br />

in der Luft drehen, andererseits soll er am Boden stehen und dabei<br />

direkt an einer Wand die Reifen antreiben. Dadurch wollen wir herausfinden,<br />

ob die Reibung des Bodens irgendeine Auswirkung auf die Arbeit des<br />

Rotationssensors hat. Unseren Plan über die Durchführung der Versuchsreihe<br />

halten wir schriftlich fest. In der nächsten Stunde möchten wir den<br />

Versuch durchführen.<br />

Heute haben Carsten und David die Versuchsreihe durchgeführt und angefangen,<br />

diese zu verschriftlichen. Jakob und Jan assistierten uns hierbei.<br />

Für die nächste Stunde haben wir geplant, die schriftliche Form unserer<br />

zweiten Versuchsreihe abzuschließen. Außerdem wollen wir uns schon die<br />

ersten Gedanken über unser Projekt mit dem Roboter machen.<br />

Heute haben Carsten und David die schriftliche Form unseres zweiten Versuches<br />

beendet. Hierbei fügten wir noch den Programmcode ein und<br />

schrieben eine Antwort auf die Frage: "Hat die Reibung, die bei der Fahrt<br />

auf dem Boden entsteht, Auswirkungen auf die Genauigkeit des Motors<br />

Als nächstes wollen wir unsere vorläufig letzte Versuchsreihe bearbeiten,<br />

die die Frage "Wie genau kann sich der Roboter um einen bestimmten<br />

Winkel (z. B. 90 Grad) drehen" behandelt. Hierzu stellten wir bereits erste<br />

Überlegungen an. Konkretere Ideen werden im nächsten Tagesbericht folgen.<br />

Auf jeden Fall stand fest, dass wir das Programm für das exakte Be-<br />

Seite 7


fahren einer bestimmten Kurve sicherlich noch öfter wie zum Beispiel für<br />

unser späteres Projekt brauchen würden. In der nächsten Stunde werden<br />

wir unsere Ideen über die Durchführung unserer dritten Versuchsreihe konkretisieren.<br />

Jakob und Jan haben derweil nach einem Projekt gesucht, das wir nach<br />

den Osterferien bearbeiten werden. Eine Idee war zum Beispiel eine Putzmaschine,<br />

bei der der Rotationssensor dabei helfen kann, den Roboter<br />

genau geradeaus fahren zu lassen. In den nächsten Stunden werden die<br />

beiden weitere Ideen für unser Projekt sammeln.<br />

Während der Stunde gab es einige Komplikationen mit dem Roboter. Bei<br />

seiner Inbetriebnahme traten technische Probleme auf. Durch ein Versehen<br />

aktivierte Jan den sogenannten SAMBA-Modus über das Bricx-Command-<br />

Center. Dies hatte zur Folge, dass der Bildschirm des NXT-Bausteins ausfiel<br />

und weder auf Tastendruck noch auf Eingaben durch den Computer<br />

ansprach. Zusammen mit Herrn Dietrich konnte das Problem aber relativ<br />

schnell behoben werden, indem das Betriebsprogramm des NXT-Bausteins<br />

durch ein Tool <strong>von</strong> John Hansen, dem Verfasser und Verfechter <strong>von</strong> NXC,<br />

ersetzt wurde.<br />

Freitag, 05.03.10<br />

Heute haben sich Carsten und David mit dem Versuch, der die Frage "Wie<br />

genau kann sich der Roboter um einen bestimmten Winkel (z. B. 90 Grad)<br />

drehen" behandelt, beschäftigt. Dazu maßen wir den Radstand unseres<br />

Roboters, der in einem fiktiven Kreis den Radius darstellt. Durch den Radius<br />

können wir also nun den Umfang dieses Kreises berechnen. Der Roboter<br />

soll hierbei nur einen Reifen antreiben und ein Viertel des Umfangs abfahren.<br />

Dadurch dürfte er sich um exakt 90 Grad drehen. Dies wollen wir in<br />

der nächsten Stunde ausprobieren. Zusätzlich erklärte uns Herr Dietrich,<br />

dass ein Roboter die vorgegebene Anzahl Radumdrehungen nicht ganz<br />

genau umsetzen kann. Dies konnten wir mithilfe des Bricx-Command-<br />

Centers feststellen. Der Roboter drehte die Räder immer um ein paar Grad<br />

zu viel. Ein Grund dafür könnte zum Beispiel sein, dass die Räder sich auf<br />

Grund des Trägheitsprinzips noch weiterdrehen, obwohl der NXT-Baustein<br />

die Motoren bereits gestoppt hat.<br />

Seite 8


Jakob und Jan suchten während der Stunde im Internet weite Ideen für<br />

unser Projekt. Es fiel ihnen allerdings sehr schwer, geeignete Ideen zu finden,<br />

da sie ausschließlich Projekte fanden, die Anzahl und Art der uns zur<br />

Verfügung stehenden LEGO-Teile bei weitem übersteigen. Trotzdem werden<br />

sie in der nächsten Stunde weiter nach Ideen für das Projekt suchen.<br />

Dienstag, 09.03.10<br />

Heute haben Carsten und David den dritten Versuch fortgeführt. Wir notierten<br />

unsere Ideen und rechneten aus, um wie viel Grad sich der Reifen des<br />

Roboters drehen muss, damit sich der Roboter um genau 90 Grad dreht.<br />

Wir versuchten, die ermittelten Daten in den Programmcode einzufügen.<br />

Beim Abspielen des Programms trat allerdings ein unerwartetes Problem<br />

auf. Wie in den anderen Versuchen zuvor wollten wir auch hier die Funktion<br />

"RotateMotorEx" anwenden. Allerdings fanden wir heraus, dass diese Funktion<br />

nur für das Ansteuern <strong>von</strong> zwei Motoren geeignet ist. Wir müssen also<br />

nun eine andere Funktion finden. Dies wollen wir in der nächsten Stunde<br />

herausfinden.<br />

Jakob und Jan suchten derweil nach weiteren Ideen für unser Projekt. Auch<br />

heute fiel es ihnen auf Grund mangelnder LEGO-Teile schwer, geeignete<br />

Ideen für das Projekt zu finden. Zumindest konnten weitere Ideen für den<br />

Projektvorschlag "Putzroboter" gesammelt werden. Allerdings entschieden<br />

wir uns, noch weiter nach Ideen zu suchen. Dies nahmen sich Jan und<br />

Jakob für die nächste Stunde vor.<br />

Freitag, 12.03.10<br />

Am heutigen Tag erklärte Herr Dietrich zunächst allen Gruppen, dass bis zu<br />

den Osterferien eine Projektidee feststehen solle. Hierzu wies er uns auf<br />

den richtigen Aufbau des Projektes und dessen Management hin. Wir bekamen<br />

also nun den Auftrag, innerhalb der nächsten zwei Wochen einen<br />

Projektauftrag anzufertigen. Den Beginn der Anfertigung eines Projektauftrages<br />

schoben wir heute erst einmal auf, da unsere beiden Gruppenmitglieder<br />

Jakob und Jan erkrankt waren und deshalb an der Informatikstunde<br />

nicht teilnehmen konnten und auch noch keine feste Idee für das Projekt<br />

feststand. Außerdem benötigte unsere Versuchsreihe noch etwas Arbeit.<br />

Deshalb widmeten wir uns wieder dem dritten Versuch. Während Carsten<br />

Seite 9


versuchte, eine geeignete Funktion für den Programmcode des Roboters<br />

herauszusuchen, beschäftigte sich David mit den vorher berechneten Werten<br />

und überprüfte diese auf Fehler. Tatsächlich fand er eine Unregelmäßigkeit,<br />

die er in der nächsten Stunde beheben will.<br />

Carsten sah die Funktion "RotateMotor" als geeignet an. Zusammen mit<br />

David wird er den Versuch in der nächsten Stunde fortführen.<br />

Dienstag, 16.03.10<br />

Heute haben Carsten und David das Ergebnis unserer dritten Versuchsreihe<br />

korrigiert. Die vorher errechnete Lösung bezweckte, dass sich der Roboter<br />

um weniger als 90 Grad dreht. Dies entsprach allerdings nicht unseren<br />

Vorstellungen. Nach dem Überprüfen der Rechnung bemerkten beide, dass<br />

sie den Radstand des Roboters als Durchmesser des fiktiven Kreises verwendet<br />

hatten. Richtig war es allerdings, den Radstand als Radius des<br />

Kreises zu benutzen. Nach dem Einsetzen des neuen Wertes in die Rechnung<br />

und dem Erstellen eines neuen Programmcodes drehte sich der Roboter<br />

um exakt 90 Grad. Damit hatten wir unser Ziel erreicht. Dies war vermutlich<br />

auf Grund <strong>von</strong> Zeitmangel unsere letzte Versuchsreihe. Allerdings<br />

konnten Carsten und David die schriftliche Form der dritten Versuchsreihe<br />

nicht abschließen, was sie sich allerdings für die nächste Stunde vornahmen.<br />

Jan und Jakob fertigten heute einige Skizzen zu unserem Projekt an. Wir<br />

einigten uns heute tatsächlich auf einen Kehr- oder Reinigungsroboter.<br />

Beide überlegten sich den genaueren Aufbau des Roboters. Außerdem<br />

stand die Frage, ob es sich bei dem Reinigungsaufsatz um einen Besen<br />

oder einen Räumschild handeln sollte, im Raum. Wir einigten uns zunächst<br />

auf den Räumschild. Allerdings könnte sich dies natürlich im Laufe des<br />

Projekts noch ändern. Zudem besprachen wir auch mit Herrn Dietrich unsere<br />

Idee. Er gab uns zusätzliche Vorschläge für das Projekt. Zum Beispiel<br />

solle der Roboter fähig sein, den aufgesammelten "Abfall" in eine Art Container<br />

zu befördern. Diese Idee werden wir uns im Hinterkopf behalten.<br />

Jakob und Jan nahmen sich für die nächste Stunde vor, den Projektantrag<br />

ordentlich auszufüllen und den Roboter vollständig zu demontieren.<br />

Seite 10


Freitag, 19.03.10<br />

Heute haben Carsten und David die schriftliche Form unserer dritten Versuchsreihe<br />

komplett verschriftlicht. Das Dokument ist in der nächsten Stunde<br />

in unserer Projektmappe zu finden. Damit haben wir die Versuchsreihen<br />

abgeschlossen und damit den Grundstein für unser kommendes Projekt<br />

gelegt. Jan hat heute den Roboter fachgerecht demontiert und die Teile in<br />

den Legobaukasten einsortiert. Dadurch stellte er einen reibungslosen späteren<br />

Wiederaufbau des Roboters sicher.<br />

Jakob füllte währenddessen den Projektantrag aus. Hierbei überlegte er<br />

sich sowohl den Namen des Teams und den Namen des Roboters. Die<br />

genauen Ziele des Projektes, also Minimal- und Maximalziel, konnte er<br />

noch nicht notieren, da dies weitere Überlegungen benötigt. Diese Überlegungen<br />

wird die Gruppe in der nächsten Stunde sowohl zusammen als<br />

auch einzeln anstellen.<br />

Dienstag, 23.03.10<br />

Am heutigen Tag hat die gesamte Gruppe über das Minimal- und das Maximalziel<br />

unseres Projektes diskutiert. Wir konnten uns relativ schnell einigen.<br />

Außerdem konnte uns Herr Dietrich nochmals über die Projektziele<br />

beraten und uns dadurch bei deren Findung helfen. Zusätzlich besprachen<br />

wir mit Team 4 unsere Projekte, da auch bei diesem Team die Idee bestand,<br />

einen Räumroboter zu bauen. Allerdings stellten wir sehr zeitnah<br />

fest, dass die Details der Roboter doch im Wesentlichen unterscheiden.<br />

Anschließend füllten Carsten und David den Projektantrag aus. Zusätzlich<br />

verschriftlichten sie den Antrag nochmals auf dem Computer, da der Platz<br />

auf dem Formular nur sehr begrenzt war.<br />

Jan und Jakob bauten das Grundgerüst des neuen Roboters. Dabei bedachten<br />

sie schon den Einbau eines Greifarms für unser Projekt.<br />

Nach den Ferien werden wir mit dem Projekt beginnen.<br />

Dienstag, 13.04.10<br />

Heute besprach die gesamte Gruppe nochmals das Minimalziel des Projektantrags.<br />

Dabei wurden die Aufgaben für die nächsten Stunden vergeben.<br />

Jakob und Jan wurden beauftragt, den Roboter für die Anforderungen<br />

des Projekts vorzubereiten, während Carsten und David einen geeigneten<br />

Programmcode für den Roboter schreiben sollen.<br />

Seite 11


Da Herr Dietrich uns heute nicht unterrichten konnte, wurde er <strong>von</strong> Herrn<br />

Heurich vertreten. Wir stellten fest, dass dieser ebenfalls ein sehr hohes<br />

Wissen im Bereich der Programmierung <strong>von</strong> Robotern besaß. Daher besprachen<br />

wir mit Herrn Heurich ebenfalls unser Projekt. Dabei konnte er<br />

uns einige Tipps geben. Allerdings wies er uns auch darauf hin, dass wir<br />

uns, um unser Maximalziel erfüllen zu können, wohlmöglich auch mit dem<br />

Kompasssensor vertraut machen müssen. Darüber wollten sich Carsten<br />

und David in der nächsten Stunde Gedanken machen. Für die zukünftigen<br />

Stunden bot uns Herr Heurich bei eventuellen Rückfragen dankenswerterweise<br />

auch seine Hilfe an.<br />

Freitag, 16.04.10<br />

An diesem Tag unterhielt sich die gesamte Gruppe über einige Schwerpunkte,<br />

die mit dem Projekt in Verbindung stehen. Zum Beispiel wurde darüber<br />

diskutiert, ob ein Räumschild für den Roboter wirklich geeignet ist. Da<br />

Carsten und David als Programmierer angaben, dass der Roboter ein Stück<br />

rückwärtsfahren muss, suchte die Gruppe eine Alternative zu dem Räumschild,<br />

da dieses die eingesammelten Teile beim Rückwärtsfahren verlieren<br />

würde. Wir dachten über einen Auffangbehälter nach, der durch eine<br />

durchgehend rotierende Bürste mit aufgefangenen Teilen bestückt wird.<br />

Diese Bürste könnte dann mit unserem dritten Motor angetrieben werden.<br />

Wir überlegten auch, wie wir dem Problem, dass der Roboter beim Zurücklegen<br />

seines Weges durch den zu säubernden Raum <strong>von</strong> seiner Bahn abkommen<br />

kann, gegenübertreten sollen.<br />

Da die Ideen nun ausgetauscht waren und sich geeinigt wurde, bekamen<br />

Jakob und Jan nun den Auftrag, in der nächsten Stunde mit den Bau eines<br />

Roboterprototyps zu beginnen. David und Carsten werden das nächste Mal<br />

erstmals mit den Programmcodes beginnen.<br />

Dienstag, 20.04.10<br />

Nach einer kurzen Teambesprechung begannen Jan und Jakob mit dem<br />

Bau eines Roboterprototyps. Ihr Auftrag war es, das Grundgerüst des Roboters<br />

fertigzustellen. Nachdem sie das erledigt hatten, konnten sie den<br />

Bau der Antriebsachse für den rotierenden Besen fortsetzen. Jan brachte<br />

die Idee ein, die Übersetzung für die Antriebsachse durch einen Kettenan-<br />

Seite 12


trieb zu bewirken. Allerdings wurde darüber diskutiert, ob ein Kettenantrieb<br />

die Anforderungen an den Roboter erfüllen würde, da dieser Antrieb einige<br />

Fehler in der Stabilität aufwies. Am Ende der Stunde konnte sich die gesamte<br />

Gruppe auf die Kompromisslösung einigen, dass der Kettenantrieb<br />

zunächst bestehen bleibt, aber beim Aufweisen <strong>von</strong> weiteren Fehlern durch<br />

ein besseres System ersetzt wird. Für die nächste Stunde wurde geplant,<br />

dass Jan und Jakob den Bau des Roboters fortsetzen. David versprach<br />

ihnen, bis zur nächsten Stunde geeignete LEGO-Teile aus privaten Beständen<br />

mitzubringen, da das Projekt besondere Teile, die nicht im LEGO-<br />

Baukasten der <strong>Schule</strong> enthalten sind, benötigt.<br />

David und Carsten fingen heute an, den Programmcode unseres Minimalziels<br />

für den Roboter zu schreiben. Leider konnten sie die geschriebenen<br />

Codes am Roboter noch nicht testen, da dieser für uns noch nicht verfügbar<br />

war. Beim Programmieren nutzten uns bereits vorher geschriebene Programme<br />

wie zum Beispiel die 90°-Kurve. Der Programmcode konnte heute<br />

allerdings noch nicht fertiggestellt werden, da wir für die Ermittlung der Daten<br />

für die 180°-Drehung, die der Roboter beim Fahren gegen die Wand<br />

durchführen muss, den Radstand des neuen Roboters noch abmessen<br />

müssen. Stattdessen überlegten sich Carsten und David in Absprache mit<br />

Jan und Jakob, welche Spezial-LEGO-Teile für den Roboter noch gebraucht<br />

werden. David erklärte sich bereit, die gewünschten Teile aus eigenen<br />

Beständen bis zur nächsten Stunde zu beschaffen.<br />

In der nächsten Stunde werden Carsten und David weiter am Programmcode<br />

arbeiten.<br />

Freitag, 23.04.10<br />

Heute erwartete uns Herr Dietrich mit neuen Dokumenten, die für ein Gelingen<br />

des Projekts Voraussetzung sind. Es handelte sich hierbei um die Projektabschlussberichte,<br />

die am Ende des Projekts angefertigt werden müssen.<br />

Auch stellte uns Herr Dietrich die Abschlussberichte früherer Informatikgruppen<br />

zur Verfügung, um zu demonstrieren, welche Anforderungen er<br />

an uns stellt. Also entschieden wir uns spontan, diese Unterlagen durchzusehen.<br />

Während Jan und Jakob damit beschäftigt waren, die Projektabschlussberichte<br />

vorangegangener Gruppen zu sichten, informierten sich<br />

Seite 13


Carsten und David mit dem Dokument "Hinweise zum Projektabschlussbericht",<br />

das uns Herr Dietrich ebenfalls zur Verfügung stellte, über die wichtigsten<br />

Aspekte in einem Projektabschlussbericht. Außerdem baute Jakob<br />

den Antrieb für den rotierenden Besen nochmals um, da der mangelhafte<br />

Kettenantrieb heute doch als unzureichend bewertet wurde. Mit einer neuen<br />

Konstruktion ohne Kette bietet das gesamte System nun ein hohes Maß an<br />

Stabilität. Wir schlossen heute den Gebrauch des Kettenantriebs an anderer<br />

Stelle nicht aus.<br />

Nachdem Carsten und David mit der Sichtung der Dokumente fertig waren,<br />

kontrollierten sie den bis dahin programmierten Code des Roboters. Dabei<br />

fiel ihnen auf, dass sie eine falsche Schleife für das Programm benutzt hatten.<br />

Sie machten es sich für die nächste Stunde zur Aufgabe, den Programmcode<br />

weiter auszubauen. Jan und Jakob bekamen für die nächste<br />

Stunde die Aufgabe, den Bau des Roboters fortzusetzen.<br />

Dienstag, 27.04.10<br />

Heute kam leider die gesamte Klasse etwas zu spät zum Informatikunterricht,<br />

da uns die vorherige Lehrerin zu spät entlassen hatte. Wir begannen<br />

also sofort mit unserer Arbeit.<br />

Carsten und David nahmen nun für die 180° Drehung die nötigen Werte<br />

vom Roboter ab und setzten diese in die zuvor erstellte Gleichung ein. Auf<br />

eine Lösung kamen die beiden allerdings auf Grund des Zeitmangels noch<br />

nicht. Mit der Findung der Lösung werden sie aber in der nächsten Stunde<br />

sofort fortfahren.<br />

Jakob und Jan bauten heute die Antriebswelle für den rotierenden Besen<br />

weiter. Die Kraft musste umgelenkt werden. Dies erzielten sie durch eine<br />

Kardanwelle. Allerdings trat hierbei das Problem auf, dass die Kardanwelle<br />

bei hoher Belastungzu vibrieren anfing. In der nächsten Stunde werden sie<br />

also versuchen, das Antriebssystem zu verstärken.<br />

Freitag, 30.04.10<br />

Heute haben Carsten und David weiter an der Gleichung gearbeitet. Ihr<br />

anfängliches Ergebnis wies Fehler auf. Bis zum Ende der Stunde konnten<br />

sie den Fehler allerdings nicht berichtigen. Deshalb werden sie die Gleichung<br />

in der nächsten Stunde berichtigen und weiter ausarbeiten. Das Er-<br />

Seite 14


gebnis werden sie in den Programmcode einfügen und damit weiterarbeiten.<br />

Jan und Jakob bauten heute zwei LEGO-Radladerschaufeln, die David aus<br />

eigenen Beständen mitgebracht hatte, an den Roboter. Die Schaufeln sollen<br />

in Zukunft die aufgesammelten Teile auffangen.<br />

Danach diskutierten sie, ob der rotierende Besen tatsächlich für das Projekt<br />

geeignet wäre. Es war fraglich, ob das System mit dem Besen wirklich mit<br />

den verfügbaren Teilen umsetzbar wäre. Die gesamte Gruppe überlegte<br />

sich ein neues Konzept. Die neue Idee war es, in die Schaufeln des Roboters<br />

jeweils einen Dauermagneten zu fixieren. Diese Dauermagneten sollen<br />

dann kleine Kugeln aus Stahlwolle aufnehmen. Die Kugeln bleiben dann<br />

auf Grund der Magnetkraft an den Magneten hängen. Jan und Jakob werden<br />

in der nächsten Stunde mit dem Bau des Roboters fortfahren. Genauere<br />

Informationen dazu werden im nächsten Tagesbericht notiert.<br />

Dienstag, 04.05.10 Heute haben Carsten und David mit einer Gleichung die Daten für die 180°-<br />

Drehung erstellt. Diese fügten sie dann in den Programmcode für den Roboter<br />

ein. Danach wurde der Code noch einmal überprüft.<br />

Jan und Jakob überlegten heute, ob die Antriebswelle des Roboters, die<br />

eigentlich für den rotierenden Besen gedacht war, dessen Konzept in der<br />

letzten Stunde verworfen wurde, dafür verwendet werden kann, die Schaufeln<br />

des Roboters anzuheben und wieder herabzulassen. Dafür entwickelten<br />

sie ein Konzept, das aus einer Art Seilzug bestand. Zusammen mit<br />

Carsten und David, die ein Programm zum Test für das Konzept entwickelten,<br />

probierten sie den Seilzug aus. Er wies allerdings einige Fehler auf.<br />

Das Konzept wurde wieder verworfen.<br />

In einem Gruppengespräch erinnerte David des Bauteam, welche Teile am<br />

Roboter noch installiert werden müssen, da Carsten und David einen fertigen<br />

Roboter brauchen, um den Programmcode testen und wenn nötig verbessern<br />

zu können. Deshalb planten Jakob und Jan, den Roboter in der<br />

nächsten Stunde weiterzubauen.<br />

Freitag, 07.05.10<br />

Heute hat sich David mit Jan und Jakob zusammengesetzt, um mögliche<br />

Seite 15


Missverständnisse in den Bauplänen zu beseitigen. Dabei wurde besonders<br />

auf die Konstruktion, die dem Roboter hilft, während der Fahrt durch den<br />

Raum immer auf gerader Spur zu bleiben, eingegangen. Bestückt mit den<br />

neuen Informationen fingen Jan und Jakob mit dem Bau der besagten Konstruktion<br />

an. Außerdem behielten sie dabei den Bau der Konstruktion für<br />

das Hochziehen und Ablassen der Schaufel im Hinterkopf.<br />

Heute hat David nochmals den Programmcode überprüft und eine Endlosschleife<br />

eingefügt. Der Programmcode dürfte nun fertig für einen ersten<br />

Testlauf sein. Dies besprach David ebenfalls mit Jan und Jakob. Sie gaben<br />

sich mit einem Testlauf in der nächsten Stunde einverstanden, da der Roboterprototyp<br />

ebenfalls bald fertiggestellt sei.<br />

David befasste sich heute außerdem mit der Dokumentation der Projektarbeit.<br />

Er informierte sich nochmals über die <strong>von</strong> Herrn Dietrich bereitgestellten<br />

Dateien, um zu erfahren, welche Anforderungen gestellt werden.<br />

In der nächsten Stunde wird die Gruppe einen ersten Testlauf mit dem Roboter<br />

und dem Programmcode durchführen. Beide Teams (Programmteam<br />

und Bauteam) werden mit Hilfe der Testergebnisse Fehler am Roboter bzw.<br />

am Programmcode berichtigen.<br />

Carsten war heute krank.<br />

Dienstag, 11.05.10<br />

Heute haben sich Carsten und David um den Projektabschlussbericht gekümmert.<br />

Dabei haben sie zunächst ein Gruppenlogo entworfen und dieses<br />

dann in das Deckblatt eingefügt. Das Deckblatt konnte dadurch fertiggestellt<br />

werden. Außerdem fingen sie mit dem Inhaltsverzeichnis an und verliehen<br />

dem Dokument eine Grundstruktur.<br />

Jan und Jakob setzten heute den Bau des Roboters fort. Es ging darum,<br />

eine Konstruktion für das Anheben und Ablassen der Roboterschaufel zu<br />

bauen. Das Problem lösten sie mit einem ausgeklügelten Ketten- und Zahnradantrieb.<br />

Die Kraftübersetzung, die die beiden während der Stunde bauten,<br />

wies viel Stabilität auf.Bei einem Test konnte der Roboter ein relativ<br />

großes Gewicht (etwa 200 Gramm) problemlos anheben. Der Plan für diese<br />

Doppelstunde sah eigentlich vor, dass in der zweiten Hälfte ein Versuch mit<br />

Seite 16


dem Programmcode und dem Roboter durchgeführt wird. Allerdings konnte<br />

das Bauteam den Zeitplan leider nicht einhalten. Der Roboter konnte <strong>von</strong><br />

ihnen nur teilweise fertiggestellt werden. Die Gruppe verlegte deshalb den<br />

ersten Testlauf des Roboters auf die nächste Stunde.<br />

Freitag, 14.05.10<br />

Dienstag, 18.05.10<br />

Auf Grund eines Feiertags entfiel für uns der heutige Unterricht und damit<br />

auch die Informatikstunde.<br />

Am heutigen Tag war geplant, einen Testlauf mit dem Roboter und dem<br />

Programmcode durchzuführen. Allerdings fiel schon beim ersten Abspielen<br />

des Programms auf, dass der Synchronisationsmodus nicht richtig funktionierte.<br />

Auch nachdem wir den Programmcode mehrmals überprüft hatten,<br />

konnten wir keinen Fehler finden. Beim Abspielen des Programms konnte<br />

man das eine Rad des Roboters blockieren, während sich das andere ungehindert<br />

weiterdrehte. Somit konnten wir nicht sicherstellen, dass der Roboter<br />

beim Abfahren des Programms wirklich genau geradeaus fährt. Wir<br />

entschieden, Herrn Dietrich bei der Fehlersuche hinzuzuziehen. Leider fand<br />

dieser zunächst keine Zeit für uns. Daher setzten wir spontan die Erstellung<br />

des Projektabschlussberichts fort.<br />

Als uns Herr Dietrich endlich mit dem Programmcode half, konnte er den<br />

Fehler finden. Nun funktionierte zwar der Synchronisationsmodus, trotzdem<br />

fuhr der Roboter nicht genau geradeaus. Die Gruppe plante, das Problem in<br />

der nächsten Stunde zu lösen.<br />

Freitag, 22.05.10<br />

Heute wollten Carsten und David den Grund finden, warum der Roboter<br />

trotz Synchronisation der Motoren nicht genau geradeausfährt. Dazu überprüften<br />

sie nochmals den Programmcode. Hier konnten sie allerdings wieder<br />

keinen Fehler finden. Schließlich suchten sie zusammen mit Herrn Dietrich<br />

den Fehler. Er wies darauf hin, dass der Fehler wohlmöglich an der<br />

Konstruktion des Roboters bzw. des NXT-Motors liegen könnte. Es fiel<br />

nämlich auf, dass ein Motor ziemlich unruhig rotierte. Ein weiterer möglicher<br />

Grund für das ungenaue Fahren des Roboters könnte auch sein, dass die<br />

Firmware, die auf dem NXT-Baustein installiert ist, den Programmcode<br />

nicht genau umsetzen kann. Bei den Testreihen mit dem Rotationssensor<br />

Seite 17


vor dem Projekt war aus Versehen der sogenannte Samba-Mode aktiviert<br />

worden. Hierbei musste die Firmware des Roboters neu installiert werden.<br />

Vermutlich handelte es sich hierbei um eine andere Version der Firmware,<br />

die nun die gegebenen Daten nicht genau verwerten kann. In der nächsten<br />

Stunde werden Carsten und David versuchen, die originale Version der<br />

Firmware im Internet zu finden und diese auf dem NXT-Baustein zu installieren.<br />

Jakob und Jan haben heute die LEGO-Teile im Baukasten sortiert<br />

und teilweise eine Inventur durchgeführt.<br />

In der nächsten Stunde werden sie sich mit der Konstruktion des Roboters<br />

auseinandersetzen, um einen möglichen Fehler, der den Roboter beim<br />

Geradeausfahren negativ beeinflusst, zu finden.<br />

Dienstag, 25.05.10<br />

Eigentlich war heute für Carsten und David geplant, dass sie eine neue<br />

Firmware für den NXT-Baustein suchen, damit der Programmcode endlich<br />

korrekt vom Roboter verarbeitet wird. Dies verwarfen sie heute zunächst,<br />

da sie bei einigen Überlegungen den Programmcode betreffend ein Problem<br />

feststellten. Nach der bis dahin aktuellen Version des Programmcodes<br />

hätte sich der Roboter beim Berühren einer Wand immer in dieselbe Richtung<br />

gedreht. Dies hätte dann zur Folge gehabt, dass der Roboter nur eine<br />

kleine Strecke des vorgegebenen Raums abgefahren hätte, anstatt nach<br />

jeder Wandberührung die Drehrichtung zu ändern und sich dadurch im<br />

Raum immer weiter fortzubewegen. Um dieses Problem zu lösen, recherchierten<br />

Carsten und David mit Hilfe des zur Verfügung gestellten Tutorials<br />

zunächst allein, wie dieses Problem zu lösen galt. Es fiel ihnen allerdings<br />

relativ schnell auf, dass es sich hierbei um eine sehr komplexe Aufgabe<br />

handelte. Deshalb bezogen sie Herrn Dietrich in ihre Überlegungen mit ein.<br />

Als er über das Problem aufgeklärt war, konnte er uns gleich einige Tipps<br />

liefern. Zum Beispiel war das Deklarieren einer Variablen im Programmcode<br />

notwendig, was Carsten und David anschließend umgehend vollzogen.<br />

Trotzdem fehlte ihnen auf Grund der Schwierigkeit des Problems der<br />

weitere Ansatz. Bis zum Stundenende konnte das Problem noch nicht vollständig<br />

gelöst werden.<br />

Deshalb werden Carsten und David vermutlich in der nächsten Stunde<br />

Seite 18


ebenfalls die Hilfe <strong>von</strong> Herrn Dietrich benötigen, um den Programmcode<br />

weiterzuentwickeln. Jan und Jakob versuchten heute, Schwachstellen am<br />

Robotermotor, der in der letzten Stunde ungewöhnliche Vibrationen erzeugte,<br />

zu finden. Es fiel ihnen allerdings auf, dass der Fehler hierbei nicht an<br />

der Konstruktion bzw. dem Aufbau des Roboters lag, sondern ausschließlich<br />

an dem Motor selbst entstand. Sie vermuteten, dass dieses Problem<br />

durch eine Materialermüdung innerhalb des Motors durch den vielen Gebrauch<br />

entstanden sein könnte. Bei einigen Tests bemerkten sie aber, dass<br />

die Auswirkungen auf die Fahreigenschaften des Roboters durch die eigenartige<br />

Vibration des Motors eher gering ausfallen. Genauso wie Carsten<br />

und David vermuteten sie, dass der Synchronisationsmodus, dessen Fehlfunktion<br />

ja bereits in der letzten Stunde entdeckt wurde, durch die falsche<br />

NXT-Firmware entsteht.<br />

In der nächsten Stunde werden Jakob und Jan eine Fehlersuche am Roboter<br />

betreiben, um Schwachstellen an der Konstruktion zu verbessern und so<br />

einen reibungslosen Ablauf der Tests mit dem Programmcode zu gewährleisten.<br />

Freitag, 28.05.10<br />

Am Anfang der heutigen Stunde fertigte die Gruppe jeweils ein Einzelfoto<br />

jedes Gruppenmitglieds an. Die Bilder der Kamera, die David zur Verfügung<br />

stellte, werden nun in Kürze in den Projektabschlussbericht eingefügt.<br />

Anschließend wendeten sich Carsten und David ihrer eigentlichen Aufgabe<br />

für heute zu. Es galt immer noch herauszufinden, wie der Programmcode<br />

verändert werden muss, damit sich der Roboter beim Berühren einer Wand<br />

in die jeweils richtige Richtung dreht. Die Tatsache, dass sie mit einer Variablen<br />

arbeiten mussten, hatten sie schon in der letzten Stunde herausgefunden.<br />

Allerdings wussten sie nicht genau, an welchen Stellen im Programmcode<br />

sie die Variablen einfügen sollten. Jonas Gömpel, ein sehr<br />

erfahrenes Mitglied des Informatikkurses, wurde zu den Überlegungen hinzugezogen.<br />

Er konnte dankenswerterweise einige sehr hilfreiche Tipps im<br />

Bezug auf die Arbeit mit Variablen liefern. Hiermit konnte der Programmcode<br />

endlich richtiggestellt werden. In der nächsten Stunde werden Carsten<br />

und David den Programmcode weiter ausbauen.<br />

Seite 19


Jan und Jakob mussten heute zunächst einen neuen Akku für den Roboter<br />

auftreiben. Was normal kein Problem darstellt, gestaltete sich heute schwierig,<br />

da kein Ersatzakku mehr zur Verfügung stand. Nach Absprache mit<br />

einer anderen Gruppe konnte allerdings kurzzeitig ein Akku ausgeliehen<br />

werden, um den neuen Programmcode zu testen. Danach fingen sie an, die<br />

am Anfang der Stunde gemachten Bilder auf die richtige Größe zuzuschneiden.<br />

Sie gaben die zugeschnittenen Bilder weiter an David, der diese<br />

weiterverarbeiten wird.<br />

In der nächsten Stunde werden Jakob und Jan eine Fehlersuche am Roboter<br />

betreiben. Dieses Vorhaben, welches heute schon hätte stattfinden sollen,<br />

wurde auf Grund des leeren Akkus und der Photographien auf die<br />

nächste Stunde verschoben.<br />

Dienstag, 01.06.10<br />

Carsten und David beschäftigten sich heute nochmals mit dem Problem,<br />

dass der Roboter immer noch nicht fähig ist, genau geradeauszufahren.<br />

Hierzu suchten sie nochmals einen Fehler im Programmcode. Sie fügten<br />

sämtliche Synchronisationsmodi in den Code ein, um zu testen, ob vielleicht<br />

hier der Fehler lag. Nach intensiver Überprüfung stellten sie allerdings fest,<br />

dass sich definitiv kein Fehler im Programmcode befand. Sie zogen Herrn<br />

Dietrich zu den Überlegungen hinzu. Dieser wies darauf hin, dass das Problem<br />

in der Konstruktion läge. Er gab an, dass der Grund für das instabile<br />

Fahren des Roboters seine Asymmetrie sei.<br />

Jakob und Jan wurden beauftragt, dies zu überprüfen. Währenddessen<br />

führten Carsten und David die Arbeit mit dem Programmcode fort. Am Ende<br />

der Stunde beendeten sie ihre Tätigkeit und planten, diese in der nächsten<br />

Stunde wiederaufzunehmen. Jan und Jakob begannen mit einer Fehlersuche<br />

an der Konstruktion des Roboters, nachdem diese <strong>von</strong> Herrn Dietrich<br />

angezweifelt wurde. Herr Dietrich meinte, dass der Roboter schief fahren<br />

würde, da die Gewichtsverteilung auf den Rädern zu sehr variiere. Sie<br />

brachten Gegengewichte an und spielten den Programmcode nochmals ab.<br />

Sie stellten keinen Unterschied fest. Dann wurde vermutet, dass der Fehler<br />

seinen Ursprung in der Art der Räder hat. Deshalb wurde diese durch Räder,<br />

die eine geringe Auflagefläche besitzen, ersetzt. Auch dies änderte<br />

Seite 20


nichts an der Situation. Schließlich wurden die Vibrationen des Roboters<br />

überprüft. Anscheinend lag hier der Ursprung des Problems. Die Roboterräder<br />

schienen sehr zu vibrieren. Bei anderen Gruppen trat das Problem<br />

nicht auf. Jakob und Jan fingen also damit an, die Motoren auszutauschen.<br />

Damit werden sie in der nächsten Stunde fortfahren.<br />

Freitag, 04.06.10<br />

Dienstag, 08.06.10<br />

Auf Grund eines Feiertags entfiel für uns der heutige Unterricht und damit<br />

auch die Informatikstunde.<br />

Am heutigen Tag haben sich Carsten und David nochmals dem Programmcode<br />

gewidmet. Sie mussten den Befehl "RotateMotorEx" nochmals ändern,<br />

da der Roboter diesen heute eigenartigerweise nicht umsetzen konnte.<br />

Beide entschieden sich für den Befehl "RotateMotor". Diese Funktion<br />

wurde schließlich einwandfrei ausgeführt. Heute fügten sie ebenfalls das<br />

Anheben und Ablassen der Radladerschaufel in den Code mit ein. Danach<br />

hatten sie vor, die einzelnen Befehle im Programmcode zu beschriften und<br />

zu kommentieren. Anschließend überlegten sie, wie das Programm fortgeführt<br />

werden könnte. Es leuchtete ihnen ein, dass der Roboter irgendwie<br />

erkennen musste, dass sein Weg zu Ende ist und dass er seine Arbeit deshalb<br />

beenden soll. Sie kamen auf die Idee, einen Lichtsensor dafür zu verwenden.<br />

Sie fügten die nötigen Befehle in den Programmcode ein. Nachdem<br />

Jakob und Jan den Lichtsensor am Roboter installiert hatten, konnten<br />

sie den Programmcode testen. Den richtigen Lichtwert konnten sie aus<br />

Zeitgründen nur ausprobieren und keine genauen Messungen durchführen.<br />

Allerdings war der richtige Wert relativ schnell gefunden. Auch die Kursmitglieder<br />

Jonas und Pascal bestätigten den Wert als richtig. Auf diese Weise<br />

konnte die Gruppe einen weiteren Erfolg erzielen. Durch die Einbindung<br />

des Lichtsensors in den Programmcode konnte das Minimalziel soweit fertiggestellt<br />

werden, da der Roboter sich nun durch den Raum tasten kann,<br />

dabei "Müll" aufsammeln kann und das Ende seiner Wegstrecke erkennt.<br />

Das Ende der Wegstrecke wird durch einen silbernen Aluminiumstreifen<br />

markiert, der das Licht des Lichtsensors sehr gut reflektiert.<br />

Da in der nächsten Stunde am Freitag die Abgabe des Projektabschlussbe-<br />

Seite 21


ichts erfolgen sollte, versprach David, nochmals den Programmcode zu<br />

überprüfen und die verschiedenen Funktionen zu kommentieren.<br />

Jakob und Jan montierten zu Anfang der ersten Hälfte Doppelstunde neue<br />

Reifen am Roboter, wechselten den Akku des NXT-Bausteins und bauten<br />

eine neue, leistungsfähigere Vorrichtung am Berührungssensor, die diesen<br />

noch empfindlicher machte. Anschließend bekamen sie <strong>von</strong> David den Auftrag,<br />

einen Lichtsensor am Roboter zu installieren. Nachdem sie dies erledigt<br />

hatten, wurden sie nach dem Einverständnis <strong>von</strong> Herrn Dietrich und<br />

David entlassen, um <strong>Schule</strong>ntlassformalitäten abzuwickeln.<br />

Donnerstag, 10.06.10<br />

Freitag, 11.06.10<br />

Am Nachmittag dieses Donnerstags legte David eine Sonderschicht ein, da<br />

er als Protokollant noch einiges mit dem Projektabschlussbericht zu tun<br />

hatte. Dazu machte er Bilder des Roboters, um diese in den Bericht einzufügen.<br />

Ebenfalls nahm er einige Messwerte, wie Länge, Breite, Höhe und<br />

Gewicht vom Roboter ab, vom Roboter ab und fügte diese in den Projektabschlussbericht<br />

ein. Zusätzlich überprüfte er nochmals den Programmcode<br />

und kommentierte und beschriftete noch einige der Funktionen im<br />

Code. Schließlich setzte er das Schreiben des Projektabschlussberichts<br />

fort, um eine pünktliche Abgabe in der nächsten Informatikstunde zu garantieren.<br />

An diesem Tag wurde der Projektabschlussbericht an Herrn Dietrich zur<br />

Bewertung übergeben. Die gesamte Gruppe konnte das Projekt dadurch<br />

abschließen.<br />

5 PROJEKTERGEBNIS<br />

5.1 Roboterwelt<br />

Der Roboter bewegt sich durch einen rechteckigen Raum mit senkrechten Wänden. Die genaue Breite und<br />

Länge des Raumes ist variabel. Nur die Wände müssen eine Mindesthöhe <strong>von</strong> circa 250 mm haben, damit der<br />

Roboter einwandfrei arbeiten kann. Die Art der Bodenfläche ist auch bis zu einem bestimmten Grad variabel.<br />

Durch die geländegängige Bereifung des Roboters kann dieser nicht nur auf glattem Untergrund arbeiten,<br />

sondern auch auf fein gewebten Teppichen. Der Programmcode setzt allerdings voraus, dass der Boden nicht<br />

Seite 22


esonders hell ist. Der Roboter startet in einer Ecke des Raumes und bewegt sich parallel zur Wand. Beim<br />

Berühren der gegenüberliegenden Wand dreht sich der Roboter um 180 Grad, um die nächste Bahn abzufahren.<br />

Mit den am Roboter installierten Schaufeln wird der im Weg liegende „Müll” also <strong>von</strong> der gesamten Bodenfläche<br />

des Raumes beseitigt. Am Ende der Fahrtstrecke befindet sich eine Markierung aus einem Aluminiumstreifen,<br />

der sich am Boden befindet. Der Aluminiumstreifen reflektiert das Licht des am Roboter installierten<br />

Lichtsensors. So kann der Roboter feststellen, wann er seine Aktion stoppen soll.<br />

5.2 Roboterkonstruktion<br />

Der Roboter wurde <strong>von</strong> Jakob und Jan <strong>von</strong> Grund auf neu gebaut und ohne eine vorgegebene Anleitung konstruiert.<br />

Der gesamte Aufbau sitzt auf den zwei NXT-Motoren, welche wiederum die Antriebsräder des Roboters<br />

antreiben. Die Antriebsräder liegen nicht flach auf dem Boden auf, sondern sind etwas abgerundet. Diese<br />

Eigenschaft eignet sich sehr gut für den Roboter, da die abgerundete Reifenform einen geringen Rollwiderstand<br />

garantiert. Für einen guten Gripp sorgt das tiefe Reifenprofil. Dies hat den Vorteil, dass der Untergrund,<br />

auf dem der Roboter eingesetzt wird, sehr variabel ist.<br />

Seite 23


Direkt über den Motoren befindet sich der NXT-Baustein, der senkrecht und mit dem Bildschirm nach vorne in<br />

das Gestell eingebaut ist. Diese Bauweise verhindert, dass der Roboter zu lang oder zu breit wird. Am Kopf<br />

des NXT-Bausteins befindet sich der höchste Punkt des Roboters. Hier misst er eine Höhe <strong>von</strong> 200mm.<br />

Um seine Aufgabe, nämlich Gegenstände einsammeln, erfüllen zu können, wurden am Roboter ganz vorne<br />

zwei Schaufeln eines LEGO-Radladers aus eigenen Beständen montiert. Die Schaufeln haben eine Gesamtbreite<br />

<strong>von</strong> 160mm und bilden die breiteste Stelle am Roboter. Mit ihnen werden die Gegenstände aufgesammelt<br />

und aufbewahrt. Leider ließ die Anzahl der Teile in den LEGO-Baukästen nicht zu, einen rotierenden<br />

Besen zu bauen, der die Teile, die sich vor dem Roboter befinden, in die Schaufeln kehrt. Daher wurde entschieden,<br />

dass in den Schaufeln Dauermagneten installiert werden, die dann metallene Teile aufsammeln.<br />

Diese haften sich an die Magneten. Der Roboter kann die Schaufeln mit Hilfe der Kraft des dritten NXT-Motors<br />

anheben und ablassen. Dieser Motor ist am Heck des Roboters installiert. Dafür, dass die Kraft des Motors<br />

vom Heck des Roboters bis zu seinem Bug kommt, sorgt ein ausgeklügeltes System. Eine Antriebswelle, die<br />

in der Mitte der Konstruktion sogar durch zwei Kardanwellen umgelenkt wird, treibt ein Zahnradsystem an, das<br />

wiederum die Kraft an eine Seilwinde weitergibt. Das Windenseil ist mit den Schaufeln verbunden. Die gute<br />

Übersetzung des Zahnradsystems sorgt dafür, dass die Schaufeln des Roboters selbst dann angehoben werden<br />

können, wenn diese schwer beladen sind. Bei einem Test erwies sich, dass so ein Gewicht <strong>von</strong> mindestens<br />

250 Gramm problemlos angehoben werden kann. Hierbei beantwortet sich auch die Frage, warum der<br />

Antriebsmotor für die Schaufeln am Heck des Roboters sitzt und deshalb eine solch komplizierte Kraftübertragung<br />

notwendig geworden ist. Der Motor dient nämlich hierbei als Gegengewicht für das eventuelle schwere<br />

Gewicht der Schaufeln. Um sich orientieren zu können, wurde an der Front des Roboters ein Berührungssensor<br />

installiert. Dadurch weiß der Roboter, wann er gegen eine Wand gefahren ist und deshalb eine Drehung<br />

um 180 Grad <strong>von</strong> Nöten ist. Der Berührungssensor wurde über den Roboterschaufeln installiert. An ihm ist<br />

eine Art Gabel installiert, damit der Sensor noch empfindlicher auf einen Kontakt reagieren kann. Außerdem<br />

sitzt der Sensor mit Gabel weit vor den Roboterschaufeln, damit diese beim Berühren der Wand nicht im Weg<br />

stehen. Die Gabel ist der vorderste Punkt des Roboters. Der hinterste Punkt ist der Antriebsmotor für das Anheben<br />

und Ablassen der Schaufeln. Daraus ergibt sich die Gesamtlänge des Roboters mit 350mm.<br />

Kurz vor dem Ende des Projekts wurde noch ein Lichtsensor am Roboter angebracht. Dieser befindet sich vor<br />

dem rechten Antriebsrad und hat einen ungefähren Abstand <strong>von</strong> 10mm zum Boden. Auch das Problem mit<br />

den meist überlangen Kabeln, die den NXT-Baustein mit den Motoren und den Sensoren verbinden, wurde<br />

einfach gelöst. Der größte Teil der Kabel wurde zwischen dem NXT-Baustein und dem Unterboden des Roboters<br />

verstaut. Die restlichen Kabel wurden entlang der Roboterkonstruktion befestigt. Dies hat zur Folge, dass<br />

es keine abstehenden und störenden Kabel gibt, die den Roboter bei seiner Arbeit behindern.<br />

Seite 24


Seite 25


5.3 Programmierung<br />

Die Grundidee für den Programmcode war schnell klar. Der Roboter sollte die gesamte Fläche des Raumes<br />

abfahren. Beim Berühren einer Wand mittels Berührungssensor sollte sich dieser drehen und die nächste<br />

Bahn abfahren. Dabei war es wichtig, dass der Roboter exakt geradeaus fährt, um nicht „auf die schiefe Bahn<br />

zu geraten”. Da sich Carsten und David ja zuvor mit dem Rotationssensor beschäftigt hatten, konnten sie die<br />

Funktion „OnFwdSync” verwenden. Hierbei wird der sogenannte Synchronisationsmodus aktiviert, der die<br />

Bewegungen der beiden Radantriebmotoren synchronisiert. Dadurch wird sichergestellt, dass der Roboter<br />

exakt geradeaus fährt. Diese Funktion wurde in einer Schleife eingebaut, die dann aktiviert ist, wenn der Berührungssensor<br />

an der Front des Roboters nicht anschlägt.<br />

Als nächstes wurde sich folgender Frage gewidmet: Was passiert, wenn der Berührungssensor des Roboters<br />

beim Berühren einer Wand anschlägt Die Herausforderung hierbei war, dass der Roboter nach jeder Wandberührung<br />

die Drehrichtung wechseln musste. Hier wurde klar, dass mit einer Variablen gearbeitet werden<br />

muss. Die Variable x wurde festgelegt. Beim Start des Programms gilt x=0. Es wurde festgelegt, dass sich der<br />

Roboter nach der ersten Wandberührung nach rechts dreht. Dies wurde in einer Schleife festgelegt, die nur<br />

dann aktiviert ist, wenn der Berührungssensor anschlägt und x=0 ist. Nach der ersten Drehung gilt x=1. In<br />

einer zweiten Schleife, die nur dann aktiviert ist, wenn der Berührungssensor anschlägt und x=1 ist, wird der<br />

Roboter angewiesen, sich nach links zu drehen. Am Ende dieser Schleife gilt wieder x=0. Daraus folgt, dass<br />

der Roboter nach jeder Berührung mit der Wand die Drehrichtung wechselt.<br />

Wenn der Roboter gegen die Wand fährt, gibt es einen genauen Ablaufplan, den der NXT-Baustein beachten<br />

muss. Zuerst fährt der Roboter ein Stück zurück, damit dieser bei seiner darauffolgenden Aktion ein freies<br />

Bewegungsfeld besitzt. Nach dem Rückwärtsfahren dreht sich der Roboter um exakt 90 Grad in die jeweilige<br />

Richtung. Dies geschieht mithilfe der Funktion „RotateMotor”, bei der man einen oder mehrere Motoren anweisen<br />

kann, sich in einem angegebenen Winkel zu drehen. Der genaue Wert konnte anhand des Radstandes<br />

und des Radradumfangs berechnet werden. Den genauen Rechenweg, der hier anzuwenden war, konnten wir<br />

bereits während der Durchführung der Versuchsreihen herausfinden (Siehe: 2.3. Versuch 3 – 90°-Drehung).<br />

Nach der ersten Drehung fährt der Roboter ein Stück geradeaus, um die nächste Fahrspur zu erreichen. Danach<br />

folgt wieder eine Drehung um 90 Grad in dieselbe Richtung wie zuvor. Schließlich hat sich der Roboter<br />

um 180 Grad gedreht und steht in der neuen Fahrspur. Nun kann er wieder die Fahrspur wie gewohnt abfahren.<br />

Der gesamte Vorgang, nämlich das Geradeausfahren und die Drehungen nach der Wandberührung, ist mit<br />

einer Schleife umschrieben, die nur dann aktiviert ist, wenn der am Roboter installierte Lichtsensor feststellt,<br />

dass der Lichtwert des vom Boden reflektierten Lichts kleiner oder gleich 50 ist. Dies bedeutet, dass sich der<br />

Seite 26


Roboter auf einem eher dunklen Untergrund befinden muss. Es gibt eine weitere Schleife, die aktiviert wird,<br />

wenn der Lichtwert größer als 50 beträgt. Wenn dies der Fall ist, dann weiß der Roboter, dass er seine Arbeit<br />

beenden kann. Daraufhin werden die Motoren der Antriebsräder gestoppt und die Räumschaufeln werden<br />

wieder angehoben. Damit ist die Arbeit des Roboters zu Ende.<br />

Der gesamte Vorgang ist mit einer Endlosschleife umschrieben, damit das Programm automatisch wiederholt<br />

wird.<br />

int x; //Festlegung' der Variable x.<br />

task main()<br />

{<br />

//Definition der Variable x.<br />

x=0;<br />

//Festlegung des Berührungssensors auf Eingang I.<br />

SetSensorTouch (S1);<br />

//Festlegung des Lichtsensors auf Eingang 2.<br />

SetSensorLight (S2);<br />

//Räumschaufeln befinden sich bei<br />

//Programmstart noch im angehobenen Zustand<br />

// und werden hierbei abgelassen.<br />

RotateMotor (OUT_A, 90, 2000) ;<br />

Wait (1500);<br />

//Schleife wird nur dann aktiviert, wenn der<br />

//gemessene Lichtwert kleiner oder gleich 50 beträgt.<br />

while (SENSOR_2


}<br />

Wait(100);<br />

//Roboter dreht sich zum 2. Mal (rechts).<br />

RotateMotor (OUT_B, 75, 410);<br />

Wait (500);<br />

//Ab hier gilt x=l. Ab der nächsten Wandberührung wird die<br />

//untere Schleife aktiviert.<br />

x = x+1;<br />

}<br />

//Der Berührungssensor hat angeschlagen<br />

//und es gilt x=l. Also wird dieser if-Zweig aktiviert.<br />

else if (SENSOR_1==1 && x==1)<br />

{<br />

//Roboter fährt kurz rückwärts.<br />

RotateMotor (OUT_BC, 75, -100);<br />

Wait (500);<br />

//Roboter dreht sich zum 1. Mal (links).<br />

//410 sind die 410°, berechnet aus der 90°-<br />

//Drehungsfunktion.<br />

RotateMotor (OUT_C, 75, 410);<br />

Wait (500) ;<br />

//Roboter fährt kurz geradeaus.<br />

RotateMotor (OUT_BC, 75, 100) ;<br />

Wait(100);<br />

//Roboter dreht sich zum 2. Mal (rechts).<br />

RotateMotor (OUT_C, 75, 410) ;<br />

Wait (500);<br />

//Ab hier gilt wieder x=O. Ab der nächsten Wandberührung wird<br />

//wieder der obere if-Zweig aktiviert.<br />

x = x-1;<br />

}<br />

//Schleife wird nur dann aktiviert, wenn der<br />

//gemessene Lichtwert größer als 50 beträgt.<br />

//Hierbei passiert der Roboter<br />

//den Aluminiumstreifen, wobei der Roboter<br />

//seine Arbeit beenden soli.<br />

while(SENSOR_2 > 50)<br />

{<br />

//Die Radantriebsmotoren werden abgeschaltet.<br />

Off (OUT_BC);<br />

//Die Räumschaufeln werden wieder angehoben.<br />

RotateMotor (OUT_A, 90, -2000);<br />

Wait (2500);<br />

}<br />

}<br />

//Der Roboter hat seine Arbeit nun vollständig beendet.<br />

Seite 28


6 REFLEXION<br />

6.1 Reflexion der Problemstellung<br />

Bezogen auf die Konstruktion des Roboters bestand die Herausforderung zunächst darin, ein völlig neues<br />

Konzept für den Bau zu entwickeln. Hierbei male sich - keinem Bauplan oder sonstiger Aufzeichnung orientiert.<br />

Nachdem Jakob und Jan ein-Konzept nach den Anforderungen des Projektziels entwickelt hatten, mussten<br />

sie den Roboter bauen. Auch dies stellte sich als große Herausforderung dar. Besonders mussten sie<br />

immer wieder feststellen, dass die Stabilität ihrer Konstruktion einige Mängel aufwies, die sie daraufhin aufwändig<br />

beheben mussten. Der Grund dafür war, dass sie den Roboter besonders leicht bauen wollten und<br />

deshalb einige Teile einsparten. Im Nachhinein bewerten Jan und Jakob diese Idee als unvorteilhaft, da eine<br />

stabile Konstruktion Grundlage für ein effektives Arbeiten mit dem Roboter ist. Bezogen auf die Programmierung<br />

des Quellcodes war es eine besondere Herausforderung für Carsten und David, dass das Wissen, das<br />

sie für das Schreiben des Programmcodes benötigten, sehr vielfältig war. Sie mussten sich nicht nur über den<br />

Inhalt aller vergangenen Tutorials im Klaren sein, sondern auch noch weitere Informationsgewinnung betreiben.<br />

Sie stellten beim Schreiben des Programmcodes besonders fest, dass der Überblick über den gesamten<br />

Programmcode sehr schwierig wurde, je ausgereifter er wurde. Deshalb ist es unbedingt notwendig, am besten<br />

jede einzelne Funktion im Code zu kommentieren und zu beschriften.<br />

6.2 Reflexion des Projektmanagements und der Teamarbeit<br />

Die eigentliche Planung des Projekts verlief sehr gut. Am Anfang wurde einige Stunden lang in der gesamten<br />

Gruppe darüber gesprochen und diskutiert, welche Anforderungen das Projektziel an jede einzelne Person<br />

stellt. Der sehr gründliche Informationsaustausch zu Beginn des Projekts erwies sich während der Arbeit als<br />

sehr hilfreich, da durchgehend jedes Gruppenmitglied wusste, was es zu tun hatte. Die Aufteilung der Gruppe<br />

in zwei Hälften erwies sich ebenfalls als sehr nützlich. Auf diese Weise konnten sich die beiden Trupps, also<br />

die Programmierer und die Konstrukteure, genau auf ihren Teil der Arbeit konzentrieren. Dies garantierte ein<br />

sehr effektives Arbeiten an den einzelnen Arbeitsbereichen. Dies bestätige sich vor allem am Ende der Projektarbeit.<br />

Sowohl der Programmcode als auch die Roboterkonstruktion fanden bei allen Gruppenmitgliedern<br />

großen Zuspruch. Das wurde auch dadurch begründet, dass immer eine reibungslose Kommunikation zwischen<br />

den beiden Trupps schon ab dem Beginn der Projektarbeit im Vordergrund stand. Dadurch, dass immer<br />

eine rege Verbindung zwischen ihnen stand, wurde nicht getrennt, sondern immer zusammen dem gemeinsamen<br />

Projektziel entgegengearbeitet.<br />

Am Anfang jeder Stunde fand ein kleines Briefing innerhalb der gesamten Gruppe statt. Hier wurden die Aufgaben<br />

für die jeweiligen Unterrichtsstunden verteilt. Dadurch hatte jeder genau einen Plan, was er zu tun hat-<br />

Seite 29


te. Wenn die Aufgaben schon früher erledigt wurden, als veranschlagt worden war, wurden sofort neue Aufträge<br />

verteilt. Es blieb also keine Zeit ungenutzt. Auch dies garantierte die Effektivität der Arbeit der einzelnen<br />

Gruppenmitglieder.<br />

Besondere Leistungen erbrachte vor allem der Teamleiter und Protokollant David. Mit hoher Zuverlässigkeit<br />

schrieb er nach jeder Informatikstunde einen durchaus ausführlichen Tagesbericht. Hier konnte man die Tätigkeiten<br />

der Gruppe in jeder Stunde detailliert nachlesen und sich einen genauen Eindruck über ihre Arbeit machen.<br />

Außerdem verfasste David bereitwillig den kompletten Projektabschlussbericht. Auch hier investierte er<br />

viele Arbeitsstunden, um die Ergebnisse seiner Projektgruppe anschaulich, detailliert und überzeugend zu<br />

präsentieren.<br />

6.3 Reflexion des Projektziels<br />

Besonders im Vordergrund der Gruppe stand die Erfüllung des Minimalziels. Vor allem am Programmcode<br />

lässt sich erkennen, dass der Grundgedanke des Minimalziels erfüllt wurde. Allerdings reichte die gegebene<br />

Zeit nicht mehr aus, um das Maximalziel erfüllen bzw. teilweise erfüllen zu können. Eigentlich wurde veranschlagt,<br />

dass in dem gegebenen Zeitrahmen die Arbeit am Maximalziel zumindest begonnen werden konnte.<br />

Die gesamte Gruppe wurde allerdings <strong>von</strong> einigen Problemen belastet, deren Ausmaße sie vorher nicht erahnen<br />

konnten.<br />

Zum einen ist das Problem zu nennen, dass der Synchronisationsmodus am Roboter nie wirklich funktionierte.<br />

Obwohl der Code und die Konstruktion des Roboters korrekt waren, fuhr der Roboter nicht genau geradeaus.<br />

Anscheinend lag der Fehler hierbei in den NXT-Motoren oder in der Firmware, mit der der NXT-Baustein arbeitete.<br />

Die Korrektur des Problems überstieg allerdings unsere Fachkenntnisse. Auch Herr Dietrich konnte uns<br />

in diesem Punkt nicht viel weiterhelfen, weshalb der Fehler nach einiger Zeit ignoriert wurde. Allerdings wurde<br />

dadurch die Arbeit der Programmierer Carsten und David behindert. Um den Programmcode testen zu können,<br />

brauchten sie einen korrekt funktionierenden Roboter. Da dies aber nicht der Fall war, konnten sie oftmals<br />

ihren Quellcode nicht angemessen in der Praxis testen und konnten eine Fehlersuche und Fortsetzung<br />

des Programmcodes oft nur theoretisch durchführen, was einen hohen Aufwand im Gegensatz zum Praxistest<br />

bedeutete.<br />

Ein weiteres Problem während der Projektarbeit waren die Fehlfunktionen an den Laptops, die eine Grundlage<br />

für die Programmierung der Quellcodes waren. Es kam mehrmals vor, dass ein Computervirus aus dem<br />

Schulserver die Software des Laptops heimsuchte und diese lahmlegte. Oft zeigten die Computer auf Grund<br />

schwacher Hardware keinerlei Rückmeldung, sodass ein Neustart <strong>von</strong> Nöten war. Zudem waren praktisch in<br />

jeder Stunde die USB-Hübe des Laptops überlastet. Solche Probleme bereiteten viel Ärger und die Behebung<br />

Seite 30


enötigte insgesamt gesehen sehr viel Zeit, die die Gruppe mit der eigentlichen Arbeit am Projekt hätte verbringen<br />

können.<br />

Auch den Konstrukteuren Jakob und Jan widerfuhr im Laufe des Projekts ein Problem. Obwohl sie die LEGO-<br />

Teile äußerst sparsam verbauten, gingen ihnen diese mit der Zeit aus. Also wurde es notwendig, die Teile <strong>von</strong><br />

anderen Gruppen, die oftmals ebenfalls einen Mangel an Teilen angaben, auszuleihen. Die Suche nach passenden<br />

Teilen war also oft erfolglos. Deshalb mussten immer wieder neue Konzepte ausgedacht werden, was<br />

ebenfalls einen großen Zeitaufwand bedeutete.<br />

Die gesamten Zeiteinbußen sind der Grund dafür, dass das Vorhaben, das Maximalziel wenigstens zu beginnen,<br />

nicht eingehalten werden konnte.<br />

Trotzdem war das Projekt ein voller Erfolg. Hierbei konnte man nicht nur sein Fachwissen um einiges erweitern.<br />

Auch brachte es viel Freude, wenn man einen der vielen kleinen Schritte auf dem Weg zum Projektziel<br />

überwunden hatte. Die Teilerfolge ermutigten immer wieder, mit der Arbeit mit noch mehr Engagement fortzufahren.<br />

Eine ebenfalls wichtige Erfahrung war es, eine Projektarbeit am Beispiel eines richtigen Projekts<br />

durchzuführen. Dabei lernte man, dass die Arbeit im Team gut funktionieren und eine gute Kommunikation<br />

vorhanden sein muss, damit das Ergebnis am Ende positiv ausfällt.<br />

Seite 31


7 ENTLASTUNG PROJEKTTEAM<br />

Datum, Unterschrift (Projektleiter)<br />

Datum, Unterschrift (Teammitglieder)<br />

Datum, Unterschrift (Projektauftraggeber)<br />

Seite 32


8 ANHÄNGE<br />

• Projektauftrag<br />

• Projektstrukturplan (PSP)<br />

• Projektablaufplan (PAP)<br />

• Sitzungsprotokolle<br />

• Arbeitsprotokolle der einzelnen Teammitglieder<br />

• Aktennotizen<br />

• weitere relevante Dokumente<br />

9 QUELLENVERZEICHNIS<br />

Seite 33

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!