Erleben Sie die Teilnahme an der RobotChallenge 2014

Ende März dieses Jahres nahm ich mit meinem Team von der Staatlichen Technischen Universität Brjansk am internationalen Robotik- Wettbewerb RobotChallenge 2014 in Wien teil.



In diesem Artikel möchte ich über unsere Erfahrungen mit der Teilnahme sprechen und die Einzelheiten unseres Ansatzes zur Lösung des Problems aufzeigen. Das Format des Wettbewerbs ist den Olympischen Spielen sehr ähnlich, weil Es gibt eine ganze Reihe unterschiedlicher Disziplinen, und der Teilnehmer kann diejenige auswählen, die ihn am meisten interessiert. Die Disziplinen selbst sind mit relativ einfach Aufgaben, und in der Regel ist die Aufgabe, dass es notwendig ist, die Aufgabe schneller als andere zu erledigen. Wir haben an der AirRace-Disziplin teilgenommen, deren Idee darin besteht, dass der Roboter in Form einer „Acht“ in einem vollständig autonomen Modus vollständig um zwei Säulen entlang der Flugbahn fliegen soll. Der Roboter gewinnt, der in 10 Minuten im Dauerbetrieb mehr fliegt als alle "Achtel".

Vor diesem Wettbewerb hatte ich nur Erfahrung mit der Teilnahme am Wettbewerb der Flugroboter der Firma KROK, der im August 2013 in Moskau stattfand. In diesen Wettbewerben versagten wir in Form von Regen auf dem Flugdeck. Trotz der Tatsache, dass wir auf Testflügen die Aufgabe schneller als die Organisatoren erledigten, „erblindete“ die visuelle Geschwindigkeit des Roboters während eines realen Fluges auf Pfützen und schwarzem nassem Asphalt und wir konnten nicht einmal durch das Labyrinth fliegen. Nachfolgend finden Sie unseren Testversuch bei CROC-Wettbewerben im Jahr 2013.



In Wien war das Wetter viel besser (+20 und klarer Himmel). Der Wettbewerb wurde in der Halle ausgetragen, sodass wir uns nicht mehr vor Unwettern fürchten mussten.

Aufgrund des begrenzten Budgets und der begrenzten Zeit wurde beschlossen, bei den Wettbewerben in Wien denselben Roboter und denselben Ansatz wie bei den CROC-Wettbewerben zu verwenden.

Wir basierten auf einer Reihe von AR.Drone + Bodenstationen in Form eines Laptops. Diese Entscheidung (auch in der Vorbereitungsphase für CROC) beruhte auf der Tatsache, dass AR.Drone bereits aus der Box heraus weiß, wie man fliegt, und dass es SDKs gibt, mit denen wir es über WLAN steuern können. Es stimmt, dass ich, da ich bereits Erfahrung damit habe, zu der Annahme neige, dass es notwendig ist, einen weiteren Quadrocopter zusammenzubauen und alle Berechnungen an Bord durchzuführen. In der Tat habe ich 3 Beschwerden über AR.Drone. Dies ist Wi-Fi, Hardware-Erweiterungsprobleme und Closed Source. Tatsächlich haben wir es geschafft, die Hardware unserer AR.Drone zu erweitern, indem wir zusätzliche Ultraschall-Entfernungsmesser über eine Arduino Nano-Karte angeschlossen haben, die über einen integrierten USB-Anschluss angeschlossen ist. Schematisch sieht es so aus.



Wir haben diese Entfernungsmesser nur beim CROC-Wettbewerb zur Orientierung im Labyrinth verwendet, und bei den Wettbewerben in Wien war der wichtigste Hack von AR.Drone, dass wir die Frontkamera nach unten gedreht und uns daran orientiert haben.

Auf einem Laptop basierte unsere gesamte Software auf dem ROS-Framework. Die Vorteile der Verwendung sind vielfältig. Meiner Meinung nach besteht die Hauptsache in der Möglichkeit, den Code auf einem virtuellen Modell in der physischen Simulationsumgebung von Gazebo zu testen. Tatsächlich erfolgt der Übergang von einem virtuellen Modell zu einem realen Modell ohne Änderung des Codes (nur wenige Einstellungen für die Parameter der Regulierungsbehörden und des Computersichtsystems). Durch die Simulationsfähigkeit können Sie nicht nur einen Arbeitscode ohne eine echte Drohne erstellen, sondern auch die Codeänderungen im Feld überprüfen, bevor dieser auf einem echten Quadrocopter verwendet wird.

Was die Disziplin des Luftrennens anbelangt, so sind die Regeln dort recht demokratisch. Mit ihnen können Sie zusätzliche Navigationsmarkierungen (sowohl passive als auch aktive) im Feld verwenden. Die einzige Einschränkung ist, dass der Roboter in der „Acht“ um die Säulen fliegen muss, und dies ist rein bedingt und sollte die Wände, Säulen und den Boden nicht berühren. Einige Teams haben dies aktiv genutzt. Zum Beispiel hat ein Team aus Polen einen zusätzlichen Roboter verwendet, der eine gestrichelte Linie abfährt, und ein Quadrocopter fliegt hinter diesem Roboter her. Letztes Jahr haben sie den ersten Platz belegt, und dabei waren sie von Zuverlässigkeit enttäuscht und konnten keine einzige Runde fliegen. Einige Teams installierten zusätzliche visuelle Markierungen zur Orientierung und ein Team aus Kanada installierte im Allgemeinen zwei Kinekts im Inneren, aber es gelang ihnen auch nicht.

Wir beschlossen, auf dem Spielfeld nichts weiter zu verwenden, sondern uns strikt an der gepunkteten Linie auf dem Boden zu orientieren. Dementsprechend basierten die Schlüsselfunktionen des Steuerungssystems auf den Prinzipien der Computersicht. Die Hauptidee war wie folgt:

  1. Wir suchen nach schwarzen Rechtecken im Bild
  2. Wir teilen sie nach ihrem Neigungswinkel zur Vertikalen in Gruppen ein.
  3. Wir ordnen der ersten Gruppe die Rechtecke zu, die am vertikalsten sind.
  4. Zeichnen Sie eine Linie durch die Mitten der Rechtecke der ersten Gruppe.
  5. Wir bilden einen Steuerbefehl, so dass die resultierende Linie eine vertikale Position einnimmt.


Ein Beispiel für den Algorithmus ist im nächsten Video zu sehen.



Während der Teststarts auf dem Heimfeld legten wir in 10 Minuten 15-16 Runden zurück, was etwas mehr als das Ergebnis des Siegers von 2013 war. Deshalb sind wir nicht mit leeren Händen zu Wettbewerben gegangen. Die Reise nach Wien selbst war sehr interessant, weil wir sind mit dem auto angereist (1800 km). Es stellte sich heraus, dass es billiger als in einem Flugzeug war, und es gab keine Angst, dass der Roboter während des Transports in einem Flugzeug kaputt gehen würde.

16 Mannschaften wurden für unsere Disziplin gemeldet und 5 Mannschaften waren Russen. Neben unserem Team waren die übrigen russischen Teams aus dem St. Petersburger Physik- und Mathematik-Lyzeum Nr. 239. Insgesamt nahmen 547 Teams aus 46 Ländern an dem Wettbewerb teil. Wir standen früh auf und begaben uns zum Austragungsort, um die Registrierung zu eröffnen. Grundsätzlich stellte sich heraus, dass hierfür keine besondere Notwendigkeit bestand. Weil Die Registrierung erfolgte sehr schnell und obwohl es eine Warteschlange gab, dauerte es nicht lange, bis sie stand. Die Wettkämpfe selbst in unserer Disziplin sollten um 12:30 Uhr beginnen, und vor dieser Zeit musste so etwas wie eine Qualifikation bestehen (jeder Roboter musste zeigen, dass er in der Lage war, mindestens einen Kreis zu fliegen). Wir haben alle von deutscher (österreichischer) Pünktlichkeit gehört, aber diese Regel hat hier nicht funktioniert. Nach der Registrierung begannen die meisten Teams, ihre Roboter zu testen, Der Richter hat im Prinzip überhaupt nicht an diesem Prozess teilgenommen, und als die Qualifikation beginnen sollte, war es nicht ganz klar. Wir wollten nichts auf dem Roboter vorkonfigurieren, also gingen wir nicht zum Testen in die Warteschlange. Aber irgendwann stellte sich heraus, dass das Feld frei ist. Ich ging zum Richter und fragte, ob wir uns qualifizieren könnten. Er bejahte und wir starteten den Roboter. Er flog 2 Runden recht gut und dann begannen Probleme mit WLAN. Der Roboter fing an, auf die Stange zu schlagen, und ich drückte den Landeknopf. Und hier erwartete uns das Scheitern. Beim Versuch, den Landeknopf aus Nerven oder aus Unaufmerksamkeit zu drücken, drückte ich den "Notlandeknopf" und der Roboter krachte aus 2 Metern auf den Marmorboden. Nachdem ich es vom Boden gehoben hatte, bemerkte ich sofort, dass es ein gebrochenes Kreuz hatte und dass es nun unwahrscheinlich war, dass er fliegen konnte. Was wir damals empfunden haben, ist meiner Meinung nach nicht zu erklären. Plötzlich kam ein Typ aus dem tschechischen Team auf mich zu, fragte, was passiert sei, und riet mir, die Drohne mit Klebeband zurückzuspulen und zu sprechen. Weil Es gab keine anderen Möglichkeiten, wir haben es getan. Ich glaubte nur schwach, dass er fliegen könnte, aber er flog. Da ich rückversichert war, habe ich keine schwere Batterie mit erweiterter Kapazität eingesetzt, sondern meine eigene, und dies war mein zweiter Fehler. Weil Die Ebene der Schrauben war wegen des gebrochenen Kreuzes nicht parallel zum Boden, die Motoren mussten fast an der Leistungsgrenze arbeiten und die Batterie setzte sich bereits in der 5. Runde ab. Infolgedessen belegten wir mit 5 Kreisen den 4. Platz. Ich habe keine schwere Batterie mit erweiterter Kapazität eingesetzt, sondern eine eigene, und dies war mein zweiter Fehler. Weil Die Ebene der Schrauben war wegen des gebrochenen Kreuzes nicht parallel zum Boden, die Motoren mussten fast an der Leistungsgrenze arbeiten und die Batterie setzte sich bereits in der 5. Runde ab. Infolgedessen belegten wir mit 5 Kreisen den 4. Platz. Ich habe keine schwere Batterie mit erweiterter Kapazität eingesetzt, sondern eine eigene, und dies war mein zweiter Fehler. Weil Die Ebene der Schrauben war wegen des gebrochenen Kreuzes nicht parallel zum Boden, die Motoren mussten fast an der Leistungsgrenze arbeiten und die Batterie setzte sich bereits in der 5. Runde ab. Infolgedessen belegten wir mit 5 Kreisen den 4. Platz.



Angesichts der Aufschlüsselung waren wir natürlich sehr zufrieden mit diesen Ergebnissen. Und die gewonnenen Erfahrungen werden uns hoffentlich bei zukünftigen Wettbewerben helfen.

Jetzt auch beliebt: