Softwarepraktikum Lego Mindstorms SS 2006
Gruppe 3:

Tobias Blaschke, Frederik Dornemann, Thomas Thüm
Finalaufgabe
Gesprächsthema: Tonnen — oder Ä-Tönnschn Please!:
Für die letzte Aufgabe werden wieder 2 Roboter eingesetzt welche nun 3 Tonnen transportieren sollen. Beide Roboter verfolgen eine (nicht unterbrochene) schwarze Linie in dem Parkour der vorigen Aufgabe. Der Parkour wird in 2 Abschnitte geteilt. Der erste Roboter holt eine Tonne hinter einem grün markierten Bereich (hinter einer grünen Linie ist eine Tonne platziert, hinter der nächsten dahinterliegenden Linie eine weitere, etc.) und transportiert diese in ein grünes Feld am anderen Ende der eingezeichneten Route. Dieser Roboter bewegt sich nur in der Ebene. Im 2. Abschnitt befindet sich die Steigung, die der 2. Roboter in beide Richtungen beherrschen muss. Er transportiert die vom ersten Roboter abgestellte Tonne in einen weiteren grünen Bereich, welcher am Ende der Steigung liegt. Der erste Roboter darf in seinem Zielfeld maximal eine Tonne abstellen, beide Roboter müssen sich also über ihren Aufgabenstatus verständigen können (synchronisieren).
Umsetzung:
Für die letzte Aufgabe konnten wir viele Erfahrungen von den letzten Aufgaben einbringen, wie z.B. den Algorithmus zum Verfolgen der Linie, die Kommunikation der Roboter und die Bauweise. Allerdings ergaben sich während der Bearbeitung zwei Probleme, die neue Technologien erforderten.
Das war zum einen die Erkennung von Grün. Die Lichtsensoren liefern nur Grauwerte für Weiß, Schwarz und Grün. Das Problem bestand darin, dass der Grauwert für Grün zwischen Weiß und Schwarz liegt, und dadurch am Übergang zwischen Weiß und Schwarz auch des öfteren Grün erkannt wurde. Dafür haben wir eine sehr triviale Lösung gefunden: Wir erkennen kein Grün! Wir setzen eine sehr präzise Schwarz-Erkennung ein und gehen davon aus, das wir Grün sehen, wenn die Linie zu Ende ist, wir also kein Schwarz mehr finden. Dieses Vorgehen hat von Anfang an zu 100% funktioniert.
Das zweite große Problem war die Steigung für unseren Roboter. Wie in den vorangegangen Aufgaben beschrieben, hat unser Roboter leider beim Hochfahren durch Rutschen manchmal die Linie verloren und ist auf dem Weg nach unten gerutscht. Diese Lösung war uns zu instabil und zu fehleranfällig. Einerseits haben wir uns für einen Schneckenantrieb entschieden, um ein Nachdrehen des Motors zu verhindern. Andererseits haben wir unsere Räder ausgetauscht, durch welche die nicht federn und die Achsen von außen zusätzlich stabilisiert. Bert fährt zwar eher langsam die Schräge hoch, hat aber auch eine kürzere Strecke zu überwinden.
Unser Konzept hat sich ausgezahlt, da es keinem Team gelang beim Turnier mehr als zwei von drei Tonnen hochzuschaffen und da wir die schnellsten waren, die zwei Tonnen geschafft haben.
Wir bedanken uns bei Ernie und Bert für die gute Zusammenarbeit!!!
Fotos:
Quellcodes: