SEP – die Zweite.

Morgen ist es also soweit: Die erste Iteration des Software- entwicklungspraktikums ist vorbei. Der Prototyp steht. Die Dokumente sind fertig, müssen aber mal wieder komplett überarbeitet werden… Allgemein kann man auch sagen, dass diese Phase hauptsächlich aus Dokumente schreiben und UML Diagramme zeichnen bestand. Programmieren war da wohl eher das kleinere übel. Wir haben also Pflichtenheft, Grobentwurf, Feinentwurf und Testdokumentation (insgesamt 102 Seiten) und geschätzte 10000 UML Diagramme. Dokumentation wurde übrigens in LaTex gesetzt…

Wäre das Projekt nicht so cool, dann wäre die Teammotivation noch geringer, denn jeden Tag bis abends in der Uni sitzen, weil man die Roboter nicht mit nach Hause nehmen darf, ist einfach kraftraubend. Insbesondere wenn man nebenbei noch Vorlesungen besuchen und Hausaufgaben machen muss. Und, achja, erwähnt ich schon, dass es lediglich eine Studienleistung ist? D.h. die Note geht nicht mal in die Bachelornote ein. Ich hoffe jetzt einfach mal, dass die nä. Iteration unkomplizierter wird.

Man darf natürlich auch nicht die Erfolge übersehen: ich hatte letzte Woche noch arge Zweifel, dass das alles so funktionieren wird, aber tatsächlich: Wir können dem Roboter Aufträge zuweisen und er arbeitet diese auch auf dem Kürzesten Wege ab. Das ist schonmal gut. Jetzt geht es darum das alles auf mehrere Roboter zu erweitern und verschiedene Strategien für das Ersteigern von Aufträgen zu implementieren. Von daher: Auf gehts in die nächste Iteration.

Softwareentwicklungspraktikum 2010 – NeXT Generation Transport Robots

Dieses Semester steht das Softwareentwicklungspraktikum (SEP) auf dem Stundenplan. Ein komplettes Projekt selber organisieren und durchführen. Wir bekamen das Lastenheft und müssen nun alles was wir im letzten Semester in der Vorlesung “Softwareentwicklung” gelernt haben. Also Pflichtenheft, Grobentwurf, Feinentwurf, Programmierung, Testen, Testdokumentation, Dokumentation und was noch alles dazugehört.

Unser Thema: NeXT Generation Transport Robots. Unser Szenario ist ein fiktiver Flughafen, auf dem Roboter autonom agieren sollen. Z.B. Personen vom Check-In zum Eingang Gate bringen oder Koffer umherfahren. Da wir natürlich keinen echten Testflughafen (Abbildung siehe unten) haben und wir nur knapp 4 Monate Zeit haben, können wir auch keine echten Roboter bauen. Wir beschränken uns deswegen auf eine Simulation mit Hilfe von Lego NXT Mindstorms (deswegen auch NeXT). Man kann sie mit Java programmieren, großer Vorteil, da wir alle 2 Semester lang Java gelernt haben, und über Bluetooth steuern bzw. mit Daten füttern. Außerdem gibt es eine gut dokumentierte API, so dass wir z.B. keine eigenen Klassen für Kommunikation über Bluetooth schreiben müssen, was auch den Zeitrahmen bei weitem sprengen würde. Die Herausforderung ist weniger die Programmierung, sondern vielmehr die Implementation der ganzen geforderten Features. So sollen die Roboter ihre Wege selber planen, d.h. wir brauchen einen vernünftigen, schnellen Algorithmus, der die kürzesten Wege berücksichtigt. Außerdem wird gefordert, dass es eine zentrale Control Unit gibt, über die die gesamte Kommunikation ablaufen soll und die für die Verteilung der Aufträge zuständig ist. Es müssen natürlich auch unter allen Umständen Kollisionen verhindert werden und der Kunde gibt vor, dass pro Wegabschnitt immer nur ein Roboter fahren kann.

Zum Glück besitzen die Roboter einige nette Sensoren, die Aufgaben um einiges erleichtern, z.B. einen Farbsensor. Damit können sie auf dem Boden aufgeklebte Linien erkennen und anhand derer ihre Wege abfahren. Ebenso lassen sich so mit anderen Farben bestimmte Punkte markieren. Die “Straßen” werden durch schwarzes Klebeband dargestellt, und Kreuzungen können z.B. mit Rot, Gelb und anderen Farben für die Roboter “lesbar” gemacht werden. Erhält jede Kreuzung eine andere Farbe, lässt sich auch gleichzeitig noch die Position feststellen.

Beim ersten Meetings des Teams sind schon einige Diskussionen entbrannt, ich bin echt gespannt, was dabei herauskommt, denn keiner von uns hat bisher so ein Projekt mitgemacht, d.h. niemand hat Erfahrung, was es alles zu berücksichtigen gilt. Am Ende des SEP wird unser, hoffentlich funktionierendes, Projekt auf einer Mini-Messe, dem Tag der neuen Software-Entwickler, vorgestellt. Bis dahin sind es von heute an, noch genau 3 Monate. Ich versuche euch hier von Zeit zu Zeit auf den neuesten Stand zu bringen und von Problemen oder Erfolgen im Laufe des Projekts zu berichten. (alle Bilder von der Seite des Instituts, das für unser Projekt zuständig ist)