Tag 1: Ankunft in Peking

Nach einer langen und anstrengenden Reise von Frankfurt über Dubai (6 Stunden, 4 Stunden Stop) nach Peking (nochmal 6 Stunden) sind wir gestern gut in China angekommen.

Wir hatten zunächst Befürchtungen wegen eventueller Probleme bei der Einreise, hier hat aber alles problemlos geklappt. Auch beim Zoll gab es keine Probleme.

Die Zeitverschiebung macht zunächst besonders fertig – da wir aber 24 Stunden unterwegs waren und noch bis 22:30 Uhr Ortszeit wach waren, waren wir bis auf ein paar Nickerchen im Flugzeug 34 Stunden wach. Dadurch konnten wir gestern Abend sofort einschlafen und haben uns direkt an die neue Zeitzone gewöhnt 😉

Gleich geht es zur chinesischen Mauer. Wir halten uns eventuell erst einmal ein wenig mit Fotos und Beiträgen zurück, spätestens in Deutschland holen wir das dann aber nach.

Auf Facebook haben wir leider keinen Zugriff.

Samstag geht es los!

So, schon wieder lange keine Updates… Das lag im Wesentlichen daran, dass nicht so viel passiert ist. Unsere Crowdfunding Campagne war eine nette Idee, hat uns aber leider so gut wie gar nichts eingebracht (14,92€), aber vielen Dank auf jeden Fall auch an diese Spender. Jeder cent zählt! :)

Ansonsten haben wir uns lediglich um Sponsoren gekümmert sowie einige kleinere Dinge am Roboter optimiert, die allerdings nicht der Rede Wert sind.

Samstag fliegen wir nun nach China, wir werden am Nachmittag mit Emirates über Dubai nach Peking fliegen, da dann zwei Tage bleiben, mit dem Zug nach Shanghai, dort auch wieder zwei Tage bleiben und dann geht es nach Hefei zum eigentlichen Wettbewerb. Am 23. sind wir dann wieder in Deutschland/Hamburg.

Wir werden versuchen, täglich Updates aus China zu posten, wir hoffen mal, dass das so alles klappt 😉

Crowdfundingkampagne auf Indiegogo

Es sind nun nur noch 6 Wochen bis zur WM in China und wir sind fleißig auf der Suche nach Sponsoren.

Wir versuchen es dieses Jahr das erste mal mit Crowdfunding. Ein Versuch ist es auf jeden Fall Wert, vielleicht klappt es ja und ansonsten hilft uns jeder noch so kleine Betrag!

RoboCup WM 2015: Wie es weitergeht

Nach unserer Qalifikation für die WM sind die Vorbereitung nun in vollem Gange, sowohl für die Reise, als auch für den Wettbewerb.

Der Roboter hat bei den German Open sehr gut bis perfekt funktioniert. Eigentlich möchten wir deshalb nicht so super viele Änderungen machen. Dennoch möchten wir nicht einfach nichts tun. Uns schwebt schon lange vor, mal ein richtiges SLAM für den RoboCup zu implementieren. Laserscanner sind in den neuen Regeln (in denen sich zum Parcours absolut gar nichts geändert hat, weshalb der Roboter auch nicht geändert werden muss) leider immer noch verboten, weshalb wir nun versuchen, ein eigenes kleines Lidar zu bauen:

Es werden zwölf Sharp Infrarot Entfernungssensoren der neuen Generation (GP2Y0E03) genutzt. Diese lassen sich über I²C auslesen und haben eine Reichweite von 4 bis 50cm. Das Ausgangssignal ist zudem proportional zur Entfernung und muss nicht wie bei den alten Sensoren linearisiert werden.

Zusammen mit den neuen Sensoren soll ein 32bit ARM Controller mit 4,3″ Farb LCD genutzt werden. Alle Änderungen sollen modular sein, sodass notfalls im Wettbewerb schnell zur alten Version des Roboters gewechselt werden kann. Weitere Infos dazu werden wir bald veröffentlichen  :)

Eine Schwachstelle an unserem Roboter ist allerdings der Kitdropper – wir können nur nach hinten abwerfen (und nicht nach links oder rechts). Deshalb müssen wir bei jedem Opfer auf der Stelle drehen. Beim Wettbewerb war das nicht kritisch, weshalb wir den Kitdropper auch so lassen werden. Die Grundhardware des Roboters soll also als praktischen und aus Kostengründen unverändert bleiben.

RoboCup German Open 2015: Deutscher Meister und Qualifikation zur WM in China!!!

Vom 23.04. bis zum 26.04. waren die deutschen RoboCup Meisterschaften (German Open) in Magdeburg.

Wir haben uns lange auf dieses Event gefreut, aber dass wir wirklich den 1. Platz belegen und deutscher Meister werden, haben wir nicht erwartet. 😀

Der Wettbewerb war so unglaublich spannend und vor allem eng! Es gab fünf Wertungsläufe, wobei die besten vier Läufe gewertet wurden. Die Parcours waren seeehr anspruchsvoll (alle fünf waren locker auf dem Niveau des Finallaufs der WM) und umso faszinierender war es, dass drei Teams um die ersten drei Plätze gekämpft haben.

Der Roboter hat wirklich gut funktioniert, wenn wir Punkte verloren haben, dann meistens aufgrund von Flüchtigkeitsfehlern (falsch eingestellte Schwellwerte für Opfer etc.). Es gab zwar den ein oder anderen Bug, den wir dann abends noch beheben mussten (an zwei Tagen waren wir das letzte Team in der Messehalle und wurden quasi rausgeworfen :D), aber dennoch hat der Roboter bewiesen, was er drauf hat.

Die Ergebnisse können hier eingesehen werden! Man beachte den Vorsprung von lediglich 10 Punkten zum 2. Platz (wenn man bedenkt, dass man über 2000 Punkte erzielen konnte, ist das schon sehr krass)!

Dieses Jahr qualifizieren sich leider nur die ersten Plätze einer Liga für die Weltmeisterschaft in Hefei. Wir haben uns also qualifiziert und sind sehr glücklich darüber. In den letzten Jahren sind wir öfters in einer Situation gewesen, dass wir eine Qualifikation oder einen Podestplatz nur knapp verfehlt haben, dieser erste Platz bei den deutschen Meisterschaften ist somit ein toller Abschluss unserer RoboCup Junior Karriere (natürlich warten wir mal ab, was in China noch so kommt ;)). Dennoch war es dieses Jahr die letzte Teilnahme von uns beim RoboCup Junior.

German Open 2015 in Magdeburg

Morgen geht’s los zu den deutschen RoboCup Meisterschaften in Magdeburg.

Aktuell stecken wir mitten in den Abiturvorbereitungen, weshalb wir wenig Zeit für den Roboter und den Blog und ich mich deshalb nun kurz halte 😀
Daniel schreibt Freitag sogar noch Chemie Abitur und kommt deshalb abends nach. Montag schreiben wir beide Erdkunde und ich Mittwoch Physik, also es ist noch einiges zu tun 😀

Seit den Vorqualifikationen haben wir am Roboter nichts mehr geändert, wir haben uns lediglich an einem Nachmittag zusammengesetzt und einige Fehler behoben, die im Wesentlichen etwas mit der Rampenerkennung und Checkpoints vor/auf der Rampe zu tun hatten.

Wir freuen uns auf einen spannenden Wettbewerb und werden unser Abschneiden (insofern es erfolgreich war) Sonntag hier veröffentlichen. :)

Vorqualifikationen in Oldenburg

Vom 4. bis zum 6. Februar fanden die Vorqualifikationen in Oldenburg zu den deutschen Meisterschaften in Magdeburg statt. Die Roboter AG unserer Schule hat mit insgesamt 45 Teilnehmern teilgenommen.

Da nach den Regeln gespielt wurde, die auch schon für die WM gegolten haben, mussten wir fast gar nichts am Roboter ändern (was wie gesagt auch die nicht-Aktivität im gesamten letzten Halbjahr begründet 😉 ). Wir haben lediglich an einigen Stellen der Software optimiert und einige Fehler beseitigt (Fehler, die uns besonders bei der WM auch einige Probleme bereitet haben, wie zum Beispiel die Falscherkennung von schwarzen Fliesen und das sporadische überspringen von Fliesen in der Karte).
Als Optimierungen ist besonders die verstärkt objektorientierte Implementierung der Software zu nennen. Viele elementare Fahrfunktionen (eine Fliese geradeaus fahren, 90° drehen) sind bis zu zwei Jahre alt (wir sind angefangen zu programmieren, als wir das erste mal eine Karte erstellen wollten). Diese Fahrfunktionen wurden dann bei bedarf erweitert und optimiert. Zuletzt waren sie sehr komplex und die einzelnen Komponenten haben nicht mehr perfekt miteinander gearbeitet (was das Überspringen von Fliesen verursacht hat), weshalb die Funktionen entkernt und überarbeitet wurden. Die objektorientierte Programmierung hat nun den Vorteil, dass theoretisch mehrere Fahranweisungen gleichzeitig und unabhängig voneinander abgearbeitet werden kann. Besonders wichtig ist dies beim Abwurf des Rescuekits: Der Roboter muss sich bauartbedingt um 90° drehen, nachdem ein Opfer erkannt wurde, um das Rescuekit möglichst nah am Opfer abzuwerfen. Wenn der Roboter nun ein Opfer erkennt, während er sich dreht, müsste eine neue Drehung gestartet werden, danach muss die unterbrochene Drehung vollendet werden.

Der Wettbewerb selbst ist für uns recht unspektakulär gewesen – in Oldenburg haben leider nur drei Rescue B Teams teilgenommen (es gibt ja auch noch fünf weitere Qualifikationsturniere in ganz Deutschland, die meisten anderen Rescue B Teams aus der Region nehmen in Hannover teil). Die meiste Zeit haben wir darauf gewartet, die fünf Wertungsläufe zu absolvieren.
Insgesamt hat der Roboter sehr gut funktioniert, am Mittwoch hat jedoch auf einmal der Rescuekitabwurf und die Opfererkennung auf einmal nicht mehr funktioniert. Nach intensiver Fehlersuche konnte die Ursache dann allerdings lokalisiert werden (es handelte sich um einen eigentlich ziemlich offensichtlichen Softwarefehler).
In den Wertungsläufen konnten wir meistens die (fast) volle Punktzahl erreichen. In zwei Wertungsläufen wurde allerdings jeweils ein Rescuekit nicht abgeworfen, weil sich die Rescuekits verklemmt haben, was daran lag, dass sie eher unförmig waren. Wir haben bereits 3D gedruckte Fassungen für die Gewichte (damit die Rescuekits auch wirklich liegenbleiben), die wir dann später einsetzen werden.
Außerdem gab es Probleme beim Opfern, die unmittelbar am Beginn der Rampe befestigt waren. Problem ist, dass der Roboter die ersten 30cm der Rampe noch als normale Fliese sieht. Wenn sich in dem Abschnitt ein Opfer befindet, dreht sich der Roboter auf der Rampe (wenn er das Rescuekit abwerfen möchte) und rutscht dabei von der Rampe. Er rutscht also eine Fliese in der Karte zurück und ist quasi in einer Endlosschleife gefangen, weil er dann wieder auf die Rampe fährt und erneut zurückrutscht. Die gesamte Implementation der Rampenüberwindung ist so oder so genau sie wie vorher die Fahranweisungen ziemlich alt und müsste neu programmiert werden, wodurch dieses Problem dann hoffentlich behoben werden kann.

Letztendlich konnten wir aber den 1. Platz erreichen und haben uns für die deutschen Meisterschaften qualifiziert, außerdem kamen ein paar weitere Schwächen des Roboters zum Vorschein. Wir sind also auf jeden Fall zufrieden 😀

Wie es weitergeht…

Zunächst einmal müssen wir uns dafür entschuldigen, dass es jetzt sei Monaten keine Neuigkeiten von uns gab… Wir haben mal versprochen, dass wir öfters bloggen würden, aber daraus ist leider nichts geworden. :(

Wir befinden uns aktuell in der Endphase unserer Schulzeit, in drei Monaten werden wir unser Abitur schreiben. Es bleibt recht wenig Freizeit und oft vergisst man dann auch einfach, mal zu bloggen. Wir hoffen, ihr versteht das.

Wir waren allerdings nicht ganz untätig, im Gegenteil 😀 Wir haben bereits mehrfach von unserer Facharbeit berichtet. Ziel ist es, den Schülern in der Oberstufe eine selbstständige, wissenschaftliche Arbeitsweise zu vermitteln. Ich habe mir dabei mit dem Thema „Entwicklung und Implementation eines Algorithmus zur Selbstortung eines autonomen Rettungsroboters“ die Erweiterung der Software unseres Roboters als Ziel gesetzt und wurde dafür mit dem Dr. Hans-Riegel-Fachpreis ausgezeichnet. Die Arbeit findet ihr hier auch als Download.

Nach der erfolgreichen Teilnahme am RoboCup waren wir uns nicht sicher, wie genau es weitergehen soll. Wir wussten, dass das Abitur im nächsten Jahr anstand und unter Umständen fallen die deutschen Meisterschaften genau auf die Abiturtermine. Nachdem sich diese Vermutung nur halb bewahrheitet hat (der Wettbewerb ist von donnerstags bis sonntags, Daniels Chemieabitur ist am Freitag – am Montag danach schreiben wir Erdkundeabi und ich am Mittwoch Physik), haben wir uns dennoch dafür entschieden, teilzunehmen. Der Roboter funktioniert schließlich nahezu einwandfrei, lediglich ein paar Bugs müssen behoben werden. Bei den deutschen Meisterschaften wird nach den 2014er Regeln gespielt, auch die Hardware muss so nicht angepasst werden. Außerdem: Was wir zwei Tage vor den Prüfungen nicht können, kann man sowieso nicht mehr lernen. Wir werden also guten Gewissens erneut (ein letztes Mal) am Wettbewerb teilnehmen, natürlich mit dem Ziel der Qualifikation zur WM in Hefei. :)

Ursprünglich wollte ich meine Facharbeit so bei Jugend-Forscht einreichen, habe mich dann aber immer mehr mit dem Thema der Arbeit beschäftigt, bis ich den Roboter um einen leistungsfähigeren Controller und einen Laserscanner erweitert habe. Mehr dazu wann anders.

Als nächstes steht die Vorqualifikation in Oldenburg vom 4. bis zum 6. Februar an. Die Software des Roboters muss minimal optimiert werden – besonders der Untergrundsensor hat bei der WM Probleme bereitet. Wir werden sehen, was wir tun können und hier berichten.

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 :)