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)

Pingback: Die letzten 8 Wochen im Schnelldurchlauf… – alexDAILYkrams