RoboCup WM 2014: 3. Platz im Superteam!

Im Folgenden werden die weiteren Tage der RoboCup WM zusammengefasst wiedergegeben:

Während des gesamten Wettbewerbs hat uns unsere Software, die teilweise aus drei Jahre alten Codeschnipseln von uns besteht, recht fertig gemacht. Diese Cideschnipsel funktionieren irgendwie und sind waren auch nur irgendwie zusammengebastelt (Hauptsache es funktioniert), da sie aus der Anfangszeit unserer Programmierkarriere stammten. Ein Neuschreiben wäre viel zu zeitaufwändig gewesen. Letztlich haben uns dann auch einige unserer eigenen Sicherheitsmaßnamen einige Punkte gekostet:
Vor dem Finallauf standen wir auf dem 3. Platz, die Punktedifferenz zu den nächsten Teams war recht eng. Der Parcours wäre vom Schwierigkeitsgrad auf jeden Fall machbar gewesen – aber wir hatten Probleme mit den schwarzen Flächen. Teilweise wurden diese von unserem Infrarot Untergrundsensor nicht erkannt (nachdem wir die Erkennung zuvor so optimiert hatten, dass über eine gewisse gefahrene Entfernung mehrmals eine schwarze Fläche erkannt werden musste) und der Roboter hat sich in den schwarzen Flächen gedreht. Laut Regeln gibt es dann einen Lack of Progress – der Roboter muss zum letzten Checkpoint zurückgesetzt werden. Unser Roboter löschte dann aber vorsichtshalber alle Fliesen um den Punkt, an dem er hochgehoben wurde. Das ist insofern problematisch, dass er immer und immer wieder an der einen Stelle in der Sackgasse gedreht hat (wenn er die Information, dass er dort bereits war, nicht gelöscht hätte, wäre er nicht erneut hineingefahren). Das ist dann mehrmals passiert, weshalb es für den letzten Lauf nahezu 0 Punkte gab und wir auf den 4. Rang gerutscht sind.

Im Superteamwettkampf, der am nächsten Tag folgte, wurden die Regeln dann abgeändert: Die Arena hat immer noch ihre zwei Etagen, allerdings stellt sie nun ein Atomkraftwerk nach einem GAU dar. Ein Roboter muss in der oberen Etage Atommüll, dargestellt durch Styroporkügelchen, aufsammeln und die Rampe hinunterwerfen. Unten muss ein anderer Roboter (in unserem Fall der unseres ausgelosten, brasilianischen Partnerteams) die Kugeln auffangen und in einen gesicherten Bereich bringen. Um das umzusetzen hatten wir einen Tag Zeit.
Wir haben uns dann aufgrund der Zuverlässigkeit unseres Roboters darauf geeinigt, dass wir den oberen Bereich nach Müll absuchen und ihn die Rampe hinunterbefördern (dafür haben wir den Roboter so modifiziert, dass er einen Greifer in der Front hatte) und die Brasilianer den Müll mit ihrem Roboter mit Mecanum Wheels in den gesonderten Bereich bringen konnten.

Bei dieser Aufgabe gab es drei Wertungsläufe, von denen der beste gewertet wurde. Da es im ersten Lauf bei den Brasilianern Probleme gab und im zweiten bei uns, war der dritte unsere Letzte Hoffnung – und dann hat es auch endlich geklappt. Wir konnten alle sechs Bälle aufsammeln, die Rampe hinunterbefördern und die Brasilianer alle Bälle in den gesicherten Bereich bringen. Volle Punktzahl! Da zwei andere Teams das auch geschafft haben, allerdings etwas schneller waren, sind wir auf dem 3. Platz im Superteam gelandet.

Insgesamt sind auf zufrieden mit unserer Leistung. Zu Beginn des Wettbewerbs hätten wir nicht gedacht, dass wir es überhaupt so weit bringen würden – der vierte Platz in der Einzelwertung war dann allerdings doch etwas ärgerlich. Wir haben aber unser bestes gegeben und sind gespannt, wie es nächstes Jahr weitergeht :)

RoboCup WM 2014: Brasilien: Tag 5 + 6: Setup und Wettbewerb

Nachdem wir uns die ersten paar Tage in Brasilien akklimatisiert haben, begann nun der Wettbewerb – der eigentliche Grund, warum wir überhaupt hier sind.

Tag 5: Setup

Gestern war erst einmal Setup – also den Roboter in Testparcours zu testen und ggf. Feineinstellungen vorzunehmen. Wir haben da jetzt nicht so super viel am Roboter geändert. Insgesamt schien er zuverlässig zu funktionieren. Letztlich haben wir uns dann auf die Optimierungen des Rescuekitabwurf konzentriert – das hat teilweise noch nicht so toll funktioniert (Abwurf in falsche Richtungen, zu weit etc.). Es gab also doch noch einiges zu tun.

Tag 6: Die ersten drei Wertungsläufe

Nach dem Setup waren wir zunächst recht zuversichtlich. Der erste Lauf hat uns dann allerdings enttäuscht: Der Roboter hat bei jedem Opfer zwei Kits abgeworfen und ist außerdem an einer Wand hängen geblieben. Wir haben dann jedes Opfer erkannt und bei jedem außer einen mindestens ein Kit abgeworfen – der Startbonus konnte aufgrund des Aneckens im Labyrinth nicht kassiert werden. Die Ultraschallsensoren machten generell schon viele Probleme und funktionierten nicht zuverlässig, weshalb wir uns dazu entschieden haben, zwei Taster vorne an den Roboter zu bauen, die Kollisionen direkt erkennen. Das Ganze funktionierte dann schon wesentlich präziser und zuverlässiger. Nach weiteren Optimierungen des Kitabwurfs konnten wir dann in den Läufen 2 und 3 die volle Punktzahl erreichen 😀

Morgen sind dann die nächsten drei Läufe und übermorgen der letzte Lauf. Das dürfte dann schon etwas schwieriger werden, aber wir sind da recht zuversichtlich. Dann kommt der Superteam Wettkampf, bei demimmer zwei Teams zusammenarbeiten, die zusammengelost wurden (unser Partnerteam kommt aus Brasilien). Dazu dann aber mehr, wenn es soweit ist. 😉

Fotos folgen…

RoboCup WM 2014: Brasilien: Tag 4

Nach unserem sehr anstrengenden Trip nach Recife haben wir uns dazu entschieden, heute etwas lockereres zu tun. Wir sind dann einfach den Strand entlanggelaufen mit dem östlichsten Punkt Amerikas im Blick (daher auch der Name der Stadt: Joao Pessoa – Stadt, in der die Sonne zuerst aufgeht). Nachdem wir dann 6km gelaufen und der Punkt selbst (ein Badestrand, also eigentlich nur ein Touristenmagnet; es gibt auch ein Denkmal, das ist aber sehr unspektakulär) schon sichtbar war, haben wir uns dann entschieden, wieder umzudrehen, um langsam etwas zu essen. Danach sind wir nochmal kurz im Atlantik schwimmen gewesen und wieder ins Hotel gegangen.

Weitere Fotos hier

Morgen geht es dann mit dem Setup Day beim RoboCup los, bevor Montag der eigentliche Wettbewerb beginnt. Den Roboter konnten wir im Hotelzimmer schon soweit grob testen – wir können zumindest sagen, dass nichts kaputtgegangen zu sein scheint 😉

RoboCup WM 2014: Brasilien: Tag 3: Recife

Die letzten beiden Tage haben wir in Joao Pessoa verbracht, weshalb wir uns dazu entschieden haben, heute einmal etwas raus zu fahren – mit dem Bus sollte es nach Recife gehen. Die Anreise verlief soweit auch problemlos, auf die Rückreise kommen wir später noch einmal zu sprechen… 😀
Jedenfalls sind wir dann nach einer sehr spannenden, zweistündigen Busfahrt im 100km entfernten Recife angekommen. Das Weltkulturerbe Olinda in Unmittelbarer Nähe zu Recife stand zunächst auf dem Programm. Hier sind die Portugiesischen Eroberer das erste Mal an Land gegangen und waren beeinruckt von der schönen Stadt, weshalb sie sagten „O linda!“ was so viel wie „Oh wie schön!“ bedeutet. Von dort ging es dann auf einen Berg, von dem aus man einen unglaublichen Blick über Olinda, Recife und den Atlantik hatte. Das war die Reise auf jeden Fall Wert!
Nachdem wir uns die Gegend noch etwas angesehen haben, sind wir in einem Restaurant, natürlich mit Blick über Recife, essen gegangen. Dass das super geschmeckt hat, brauchen wir wahrscheinlich gar nicht erst zu erwähnen: Es gab alle möglichen Sorten von Fleisch auf einem Teller, man konnte sich dann zu dritt jeder wie er mag etwas von dem Teller nehmen.
Nach dem Abstieg sind wir noch in die Innenstadt von Recife gefahren und haben uns dort etwas umgesehen, während wir zur S-Bahn Staion gegangen sind, die (natürlich völlig überfüllt) uns zu unserem Busbahnhof für den Fernverkehr transportieren sollte.
Die Abreise aus Recife gestaltete sich dann doch etwas schwieriger als gedacht – die Verkäufer am Fahrkartenschalter wollten plötzlich alle Ausweise sehen. Mit Unterstützung von einer Einheimischen gelang es dann nach einiger Zeit doch noch irgendwie. Warum und wieso wissen wir nicht. 😀

Bilder wie immer im Webalbum 😉

Die Kajaktour haben wir erstmal aufgrund der etwas anstregender als gedachten Reise auf nächste Woche Freitag verschoben. Stattdessen gucken wir uns dann noch ein paar Dinge hier in Joao Pessoa an, z.B. den östlichsten Punkt Amerikas, den botanischen Garten und den Sonnenuntergangsstrand. Mal sehen, da werden wir heute etwas spontaner sein :)

RoboCup WM 2014: Brasilien: Tag 2: Picãozinho

Heute stand ein Ausflug nach Picãozinho, einer Riffformation mit Korallen ca. 1500m vor der Küste Joao Pessoas. Um 12 Uhr mittags ging es mit einem Katamaran los, natürlich mir Schnorchelausrüstun wasserdichten Kamera.

Nachdem das Ganze zu Ende war, haben wir noch was gegessen und abends ein paar Fotos gemacht.

Weitere Fotos findet ihr wie immer bei Picasaweb 😉

Morgen besichtigen wir dann Recife und übermorgen machen wir eine Kajaktour in den Mangrovenwäldern, auf die wir uns besonders freuen. 😀

RoboCup WM 2014: Brasilien: Tag 1

Nach dem ziemlich anstrengendem 11 Stunden Flug von Paris nach Sao Paulo (zusammen mit unseren Kollegen aus Hannover und Magdeburg), dortigen 5 Stunden Zwischenstop und einem weiteren 2 Stunden langem, etwas holprigem, aber spannenden Nachtflug nach Joao Pessoa sind wir endlich angekommen und wurden direkt von dem tropischen, schwülen Klima begrüßt. Es war nun mitten in der Nacht und wir waren nach der 24-stündigen Reise sehr müde, weshalb es direkt mit dem Taxi ins Hotel ging – Verkehrsregeln scheint es hier nicht wirklich zu geben, rechts überholen ist kein Problem 😀

Im Hotel angekommen gab es dann die erste böse Überraschung: Gebucht war es erst am Folgetag ab 12:00 Uhr mittags. Nach kurzem Abwägen (die Nachbarhotels würden 90€ pro Nacht kosten) haben wir uns dazu entschieden, zwangsweise in der Hotellobby zu übernachten, bis dann nach einer Stunde komischerweise die Nachricht kam, dass doch noch Zimmer frei geworden wären. Glück für uns 😀

Um 09:30 des nächsten Tages ging es dann zum Frühstück und mittags ein bisschen die Gegend angucken. Seht Euch einfach die Fotos an – echt toll. Nach dem Mittagessen sind wir dann noch kurz am Strand gewesen und haben im salzigen und angenehm warmen Atlantikwasser gebadet. Um 17:00 Uhr begann die Sonne dann schon unterzugehen und wir gingen zurück zum Hotel.

Heute ist eine Tour auf eine Korallen Formation geplant und morgen ein Ausflug zu einem Weltkulturerbe. Weitere Informationen und natürlich Bilder folgen :)

Weitere Bilder findet ihr hier.

Los geht’s…

Leider haben wir es vor der Abreise nicht mehr geschafft, einen Blog Artikel zu verfassen.

Jedenfalls haben wir noch ein paar Optimierungen vorgenommen und die Rampe implementiert. Das sollte soweit nun alles funktionieren. Der Wettbewerb kann also beginnen 😉

Nachdem wir gestern schon nach Hannover gefahren sind, um eine Nacht bei unseren Kollegen zu übernachten, sind wir heute morgen um 04:00 Uhr in Richtung Flughafen gestartet, von wo der Flug um 06:30 ging. Nun befinden wir uns am Flughafen in Paris und können dank gratis WLAN diesen Artikel verfassen :)

Um 10:30 geht es von hier nach Sao Paulo, von wo wir dann nach Joao Pessoa weiterfliegen und gegen 02:00 Uhr landen werden.

Wir halten Euch auf dem Laufenden, Fotos folgen :)

Optimierungen und neuer LED Treiber

Neben einigen Optimierungen, besonders hinsichtlich des Rescuekitsabwurfes und den Rescuekits, die nun aus Blei bestehen, da die Plexiglasplättchen immer noch zur Seite gehüpft sind, besonders, wenn der Roboter über sie gefahren ist, haben wir uns heute mit der Reparatur bzw. mit dem Ersetzen des LED Treibers beschäftigt. Wir nutzen nun einen Regler auf Basis des PT4115, einem wirklich tollen Schaltregler, der als Konstantstromquelle für LEDs konzipiert ist und einen entsprechend hohen Wirkungsgrad hat:

 

Der wird als nächstes auf Herz und Nieren getestet 😉

Hier noch ein kleines Foto der nun als Rescuekit verwendeten Bleiklötzchen:

Die Fahrten und Korrekturen des Roboters funktionieren wie gesagt gut, da werden wir nur nebenbei weiter optimieren, genau so bei der Erkennung der schwarzen Flächen und der silbernen Checkpoints sowie das Erkennen des Hochhebens des Roboters und zurücksetzen auf den letzten Checkpoint – Entwicklungsschwerpunkt liegt nun beim intelligenten Erkennen der Rampe, d.h. der Roboter soll, wenn er zwischendurch mal irgendwo gegen fährt und umkippt und die Rampe dann einzeichnet nach einem Eingriff dazu in der Lage sein zu erkennen, dass an der Stelle keine Rampe war.

Zwischenstand:

Deutschland ist im Halbfinale und wir sind weiter fleißig am Programmieren und Optimieren 😀

Wir haben in den letzten beiden Wochen wieder relativ wenig geschafft, da Klausuren (vierstündige auch noch…) anstanden, aber jetzt sind wir damit erstmal durch. Und in 10 Tagen geht es auch schon los… Unglaublich!

Insgesamt sind wir aber zufrieden. Der Roboter fährt ziemlich zuverlässig. Wir haben noch ein paar Feineinstellungen vorgenommen, die Länge der Geradeausfahrt etwas angepasst, zum Beispiel. Außerdem haben wir bei der Kollisionsvermeidung noch eine Korrektur der Korrektur hinzugefügt: Wenn der Roboter nach einer Geradeausfahrt viel schräger steht, als zu Beginn (Erkennung über Differenz der Encoder beim Start der Geradeausfahrt und Ende der Geradeausfahrt) richtet er sich neu aus, sodass er wieder gerade steht. Encoder sind nicht so zuverlässig, besonders bei Geröll (Zahnstochern etc.) dürfte das schwierig werden, weshalb das wahrscheinlich noch auf den Orientierungssensor erweitert wird.

Leider ist uns beim Testen unser LED Schaltregler durchgebrannt – der Dritte, und wieder einfach so, ohne Grund.

Wir kaufen sehr viel aus China und meistens ist die Qualität super, aber das war ein Reinfall :( Wir haben nun welche auf Basis des PT4115 gekauft, die im Laufe der nächsten Woche ankommen sollten. Die hatten wir auch vorher schon mal in Einsatz und sind wesentlich zuverlässiger.

Auch bei der Erkennung der Checkpoints konnten wir Fortschritte erzielen: Da die silbernen Flächen grundsätzlich in alle möglichen Richtungen reflektieren, bekommt der Untergrundsensor mal mehr und mal weniger Licht. Mal richtig viel, mal so wenig, dass eine schwarze Fläche erkannt wird. Das konnte aber ganz leicht optimiert werden, indem einfach während der Geradeausfahrt die Anzahl der Male, in denen der Sensor eine silberne Fläche erkennen würde, misst. So können silberne Fliesen zuverlässig erkannt werden. Quasi ein Durchschnitt, bei dem Null-Reflexion nicht berücksichtigt wird.
Hier mal ein Bild unseres Untergrundsensors:

Den haben wir nun schon etwas länger so, sind bis jetzt aber noch nicht näher darauf eingegangen. Der Sensor besteht aus dem LED Treiber, der sich weiter hinten im Roboter befindet (auf dem Foto nicht sichtbar), einer 1W High Power IR LED inkl. Kühlkörper und rechts daneben ein abgeschirmter, nach unten gerichteter IR Phototransistor, der als Spannungsteiler über den AD-Wandler des Mikrocontrollers des Roboters ausgelesen wird.

Weiterhin haben wir beim Rescuekitabwurf ein bisschen weitergemacht. Insgesamt funktioniert das schon recht gut, aber noch nicht perfekt. Die Kits fallen nicht immer in den 15cm Radius um die Opfer, weil sie, da sie aus Plexiglas und deshalb recht leicht sind, gerne wieder hochspringen, z.B. wenn der Roboter über sie hinweg fährt. Da sind wir gerade mit Sprühgummi am Experimentieren, dazu mehr, wenn es da Erfolge zu verzeichnen gibt. Da muss aber auch an der Software noch etwas optimiert werden: Der Roboter dreht aktuell nur auf der Stelle, eigentlich muss er vor dem Abwurf noch näher an die Opfer heranfahren…

Noch etwas mehr Arbeit investieren müssen wir in die Rampe – das funktioniert noch nicht zuverlässig genug. Dazu aber auch mehr, wenn etwas getan wurde. Zu beachten ist außerdem, um nochmal auf die Checkpoints zurückzukommen, dass diese sich auch auf der Rampe befinden können. Das sollte aber recht einfach zu implementieren sein…

Hindernisse, die mitten auf Fliesen stehen, stellen im Moment sowohl für uns, als auch andere Teams ein mehr oder weniger unüberwindbares Hindernis 😀 dar. Mal sehen, was sich da noch machen lässt, aber nach aktuellem Stand sieht es so aus, als ob das nichts zur WM wird.

Man sieht: Es gibt noch einiges zu tun! 😀 10 Tage haben wir wie gesagt noch und auch beim Setup vor dem Wettbewerb kann sicherlich einiges noch geschafft werden. Wir halten Euch auf dem Laufenden.