Roboterprogrammierung
Ziel des Praktikums ist die Entwicklung von Software für
Lego-Mindstorms-Roboter, die auf dem
NXT-Baustein basieren. Hierbei sollen Aufgaben unterschiedlichen Schwierigkeitsgrads durch die Roboter einzeln und in Kooperation gelöst werden. Als Programmiersprache wird
NXC, ein auf NXT-Systeme zugeschnittener C-Dialekt, verwendet.
Die Teilnehmer arbeiten in Projektteams von 2 bis 3 Leuten. Zu den Projektaufgaben zählen Planung und Aufbau der Roboter, Entwurf der Software, Programmierung, Dokumentation und Präsentation.
Abschlusspräsentation
Die Abschlusspräsentation findet am 22. September 2010 von 10.00 Uhr bis 15.00 Uhr (abzüglich einer Mittagspause) statt. Veranstaltungsort ist das Nordende des zweiten Obergeschosses des Hauptgebäudes. Es treten die folgenden vier Teams gegeneinander an:
- Team 1: Paul B., Steve G., Martin Peter S.
- Team 2: Christoph D., Christian H., Alexander W.
- Team 3: Jan M., Teresa R.
- Team 4: Marcel L., Hannes V., Erik W.
Jedes Team tritt einmal in der Rolle des Diebes und einmal in der Rolle der Wächter an. Zur Präsentation gehören der Roboterauf- und abbau, die Teilnahme am Wettkampf sowie ein Kurzvortrag (max. 5 min) über die verwendeten Techniken und Strategien.
Es sollen folgende Rennen stattfinden:
Beginn | Ende | Dieb | Wächter |
|---|---|---|---|
10:00 | 11:00 | Team 1 | Team 2 |
11:00 | 12:00 | Team 3 | Team 4 |
12:30 | 13:30 | Team 2 | Team 3 |
13:30 | 14:30 | Team 4 | Team 1 |
Die für ein Rennen eingeplante Zeit gliedert sich ungefähr wie folgt:
- 30 min Roboteraufbau
- 15 min Vorführung (Kurzvortrag und 7 min eigentliches Rennen)
- 15 min Roboterabbau
Außerdem gibt es noch eine Spezialvorführung der Tutoren. Diese findet parallel von 10.00 Uhr bis 10.30 Uhr für die Teams 3 und 4 und von 11.00 Uhr bis 11.30 Uhr für die Teams 1 und 2 im Raum HG/2.14 statt. Von 14.30 Uhr bis 15.00 Uhr gibt es einen Abschlusswettkampf der besonderen Art.
Alle Teams müssen von 10.00 Uhr bis 12.00 Uhr und von 13.00 Uhr bis 15.00 Uhr anwesend sein, Team 2 und Team 3 natürlich auch von 12.30 Uhr bis 13.00 Uhr zwecks Roboteraufbau.
Einordnung in das Studium
Das Praktikum wird für die Bachelor-Studiengänge Informatik und IMT angeboten. Es läuft als Instanz des allgemeinen Moduls 12-3-38. Veranstaltungen dieses Moduls sind zwar primär als Praktika für IMT gedacht, können aber auch im Bachelor-Studium Informatik als zweites Proseminar abgerechnet werden.
Aufgaben
Die Aufgaben stehen im
Aufgabenblatt. Die letzte Aufgabe ist die eigentliche Praktikumsaufgabe, die anderen dienen der Vorbereitung.
Betreuung
Die Betreuung erfolgt durch den Praktikumsleiter Wolfgang Jeltsch sowie die Tutoren
Benny Höckner und
Sascha Kaltschmidt.
Einschreibung
Neben der Anmeldung zum Modul ist eine
Einschreibung in LEHVIS inklusive Zuordnung zu einem Praktikumsteam erforderlich.
Nutzung des Besprechungsraums
Die Arbeit mit den Robotern erfolgt im Besprechungsraum des Lehrstuhls Programmiersprachen und Compilerbau (HG/2.14). Arbeitszeiten müssen durch Einschreibung in den Belegungsplan an der Tür des Raums reserviert werden. Den Raum muss man sich von Wolfgang Jeltsch (HG/2.39) oder einem anderen Mitarbeiter des Lehrstuhls aufschließen und unmittelbar nach der Benutzung wieder zuschließen lassen.
In dem Besprechungsraum befinden sich
- die Roboterbausätze,
- das Buch Roboter programmieren mit NXC für LEGO Mindstorms NXT von Daniel Braun,
- ein Computer mit NXT-bezogener Software, zu welchem man mittels zentralem BTU-Account Zugang hat.
Es darf nichts aus dem Raum entfernt werden.
Verhindern von Betrug
Die einzelnen Teams sind dafür verantwortlich, dass ihre Arbeitsergebnisse keinen anderen Teams zugänglich sind. Insbesondere muss vor Verlassen des Besprechungsraums folgendes getan werden:
- Von den NXT-Bausteinen muss jeglicher selbst geschriebener Code entfernt werden.
- Von dem Besprechungsraum-Computer muss jeglicher selbst geschriebener Code entfernt werden bzw. es muss sicher gestellt werden, dass teamfremde Personen nicht auf diesen Code zugreifen können.
Es muss natürlich auch verhindert werden, dass andere Teams Ideen zum Roboteraufbau übernehmen. Allerdings ist es zu aufwändig, nach jedem Arbeitseinsatz den Roboter komplett ab- und beim nächsten Mal wieder aufzubauen. Daher wird wie folgt verfahren:
- Vorerst müssen vor Verlassen des Besprechungsraums alle Roboter auseinander gebaut werden. So wird sicher gestellt, dass alle Teams die erste Aufgabe (Aufbau eines Roboters) individuell lösen.
- Die einzelnen Teams präsentieren ihre Roboter bis zum 23. April.
- Im Anschluss daran wird für alle Roboter ein Grundaufbau fest gelegt, der für alle Teams gilt.
- Danach muss vor Verlassen des Besprechungsraums für alle Roboter dieser Grundaufbau wiederhergestellt werden.
Zeitplan
Zeit | Inhalt |
|---|---|
06. April 2010 | Einführungsveranstaltung |
bis 23. April 2010 | Präsentation der gebauten Roboter |
22. September 2010 | Abschlusspräsentation |
Links
Bricx Command Center
Treiber für Windows 7, 32 Bit (Nicht die dort angesprochene Java-Firmware installieren!)
Treiber für Windows 7, 64 Bit
NXC-Tutorial
NXC-Programmierhandbuch
NXT Programs (enthält Bauanleitungen)
Downloads von LEGO Mindstorms Education (enthalten Bauanleitungen)
Foren

