Sumobot Competition III
Diese Veranstaltung heisst Sumobot Competition und wurde in diesem Jahr bereits zum dritten Mal ausgerichtet. Auf die großartige Idee kam das FabLab e.V. in Lübeck, bei dem ich seit einiger Zeit Mitglied bin und das zahlreiche Maschinen zur kostengünstigen Nutzung bereitstellt, die man üblicherweise nicht zu Hause stehen hat. Darüber berichte ich bei Interesse an anderer Stelle aber ausführlicher!
Wie immer, wenn technikbegeisterte zusammenkommen, entstehen wilde und tolle Dinge. Bei der Sumobot Competition geht es darum, mit einem eigens konstruierten und selbstgebauten Roboter den Gegner entweder aus der Arena zu werfen oder ihn bewegungsunfähig zu machen, z.B. auf den Rücken zu drehen oder einzuklemmen.
Alles, was die Arena oder den gegnerischen Bot absichtlich zerstört, ist explizit verboten. Wir reden also nicht über flammenspeiende Monster mit Marschflugkörpern, die aufeinander losgehen.
Zum ersten Mal von der Sumobot Competition habe ich vor ca. einem halben Jahr gehört. Mein erster Impuls war: "coole Idee", aber auch ein gehöriger Respekt vor den anderen - unbekannten - Teilnehmern, die ja schon zwei Competitions mehr Erfahrungen hatten als ich.
So ganz lies mich die Idee aber nicht in Ruhe und ich hatte nach kurzer Bedenkphase eine grundsätzliche Idee, was ich bauen wollte. Also habe ich beim chinesischen Großversand ein paar Teile bestellt, die dann wochen- und monatelang nicht ankamen und ich hatte mich von der Teilnahme gedanklich schon wieder verabschiedet.
Etwas mehr als zwei Wochen vor dem großen Auftritt klingelte aber nun der Postbote und brachte die Teile. Und da die schon mal "zufällig" da waren, packte mich wieder der Ehrgeiz und ich verbrachte den ersten Abend, um das Fahrgestell zu montieren.
Grundsätzliche Idee des Bots
Ich wollte schon immer mal etwas mit Mecanum-Rädern bauen. Bei diesen Rädern sind diagonal Rollen aufgesetzt, die es erlauben, den Roboter in jede Richtung zu bewegen, ohne eine lenkbare Achse zu haben. Dies geschieht, in dem alle Räder angetrieben sind und über unterschiedliche Drehrichtungen der Roboter in bestimmte Richtungen gesteuert wird. Fahren alle 4 Räder vorwärts, tut dies auch der Bot. Steuert man die diagonal angeordneten Räder vorwärts und die anderen rückwärts an, fährt der Roboter zur Seite. Damit sind 90 Grad-Bewegungen möglich. Natürlich kann sich der Roboter auch drehen oder diagonal fahren.
Ich fand Mecanum Räder schon immer spannend und wollte sie gerne einsetzen. Das wäre schon Grund genug, aber ich versprach mir von der Wendigkeit des Bots auch Vorteile im Kampf und ohne lenkbare Achse mehr Stabilität.
Als Grundform des Bots habe ich einen Kreis gewählt, um keine Angriffsfläche für Haken o.ä. zu bieten. Der Kreis sollte möglichst groß sein, der Schwerpunkt tief und die untere Kante so flach über dem Boden, das kein anderer Bot unter meinen greifen und hebeln kann.
Die Regularien besagen, dass der Bot in einen Kreis von 35cm passen muss. Also: was lag näher, als einen Kreis mit 34,5cm zu nehmen, der die Außengrenzen des Bots darstellt. Damit der Bot möglichst flach bleiben kann, mussten natürlich Löcher für die Räder in diese Grundfläche geschnitten werden.
Wie großartig, dass ich Zugang zu den Maschinen im FabLab habe - mit dem Lasercutter konnte ich aus einer 3mm MDF-Platte eine stabile, aber einigermaßen leichte Platte lasern, die genau auf meine Anforderungen passte.
Später kam noch eine zweite, fast identische Platte als Abdeckung zur Sicherung der Elektronik und natürlich aus ästhetischen Gründen dazu. Da mein Roboter damit fast so aussah wie die Bühne, auf der er seine Kämpfe zu bestreiten hat, war damit auch der Name des Roboters besiegelt:
The Stage is mine!
Technik
Zur Ansteuerung der 4 Motoren, die jeweils eins der Mecanum Räder antreiben, habe ich einen Raspberry 4 gewählt. Dieser ist von der Rechenpower eher überdimensioniert, aber er lag noch in der Bastelkiste und wartete auf einen Einsatz. Dank Python konnte ich damit zudem die 4 Motoren einfach ansteuern als auch einen Controller meiner XBox One via Bluetooth verbinden und diesen als Eingabegerät verwenden.
Die Ansteuerung des Gamepads war eine kleine Herausforderung; mit den richtigen Treibern (https://atar-axis.github.io/xpadneo/) und der Python-Bibliothek gamepad habe ich es aber hinbekommen. Beim nächsten Mal würde ich aber entweder pygame oder direkt ROS verwenden, gamepad war ein wenig frickelig.
Zunächst hatte ich vor, dem Roboter noch etwas Intelligenz einzubauen, z.B. über Sensoren, die die Begrenzung der Arena erkennen und gegensteuern. Leider musste ich das aus Zeitgründen dann auf das nächste Jahr verschieben.
Scottie: Energie!
Der Roboter muss natürlich kabellos gesteuert werden. Ein Verlängerungskabel zur Steckdose kommt auch nicht in Frage; für die Energieversorgung habe ich aufgrund der Kürze der Zeit zu einem kleinen Trick gegriffen. Den Raspberry Pi habe ich via USB von einer kleinen Powerbank versorgt. Die Motoren erwarten eine höhere Spannung und ziehen insgesamt mehr Strom; hierfür habe ich mir einen Akku eines ferngesteuerten Autos meines Sohnes ausgeliehen. Die zum Akku passenden T-Stecker kamen dank overnight-Lieferung glücklicherweise rechtzeitig an und so konnte ich ohne den Akku zu zerstören die Stromversorgung der Motoren sicherstellen.
Auch hier musste ich aufgrund der Zeitnot etwas improvisieren: eine Schaltung, die mit einer Stromversorgung auskommt und die Spannung entsprechend teilt, wäre natürlich eleganter gewesen. Aber auch darum geht es in diesem Wettbewerb: Improvisation.
Damit war das Paket komplett: Raspberry und Motoren hatten Strom, der Controller war angelernt und die Software hat die Steuereingaben des Controllers in die Ansteuerung der Motoren übersetzt.
Ready to rumble
Am Samstag ging es dann mit der gesamten Familie zur Arena. Beim Checkin wurde eine fehlende Sicherung vor dem Akku bemängelt, die im Fall eines Kurzschlusses verhindern soll, dass der Akku in Flammen ausgeht. Das haben andere Teilnehmer des Wettbewerbs mitbekommen und innerhalb von 2min war mit vereinten Kräften, Material und Werkzeug die Sicherung eingebaut. Vielen Dank nochmals für die schnelle, freundliche und sehr unkomplizierte Hilfe im Teilnehmerfeld!
Mit den Außenmaßen von 34,5cm und einem Gewicht von 1497g (1500g sind erlaubt) war damit allen Regularien genüge getan und unser Bot (natürlich habe ich in der Zwischenzeit mit meinem Thronfolger ein Team gebildet) war offiziell zugelassen.
Teilnehmerfeld
Die Mitbewerber um den Pokal waren großartig und ein toller Querschnitt über Roboter, die sehr liebevoll gestaltet waren, technisch herausragend oder auch hemdsärmlig. Unser Bot passte ganz gut ins Feld und ich hatte nicht das Gefühl, dass wir uns mit "The stage is mine" verstecken mussten.
Allerdings sah ich unsere Siegchancen auch schnell schwinden, als ich einen der Roboter an der Fensterscheibe fahren sah: ein Lüfter erzeugte offenbar mehr Abtrieb als das gute Stück wog. Harte Konkurrenz also.
Das Turnier
Angetreten wurde in einer Vorrunde und einem Turniermodus, in dem entsprechend der Gewinner eine Runde weiterkam. Für uns war nach dem Viertelfinale Schluß. Damit konnten wir ganz gut leben; wir haben ein paar Kämpfe gewonnen und irgendwann waren die anderen einfach besser. Im "King Loser"-Feld aller aus dem Viertelfinale ausgeschiedenen Bots konnten wir uns dann nochmals ganz gut behaupten und sind nur aufgrund eines kleinen Fahrfehlers nur Zweiter in dieser Runde geworden.
Verdienter Sieger war der Veloxciraptor - ja, der Hightech-Bolide, der auch senkrechte Flächen empor klimmen kann, wie er nach dem Finale eindrucksvoll an einer Wand über drei Stockwerke bewies.
Fazit
Die Sumobot Competiton ist eine tolle Veranstaltung und ich werde sicher nicht zum letzten Mal daran teilgenommen haben. Teilnehmer alter Altersklassen waren vertreten und hatten teilweise sehr unterschiedliche Ansätze für ihre Roboter.
Sehr wahrscheinlich wird es 2025 wieder eine Neuauflage geben; wer Interesse hat, einen Roboter zu konstruieren und mitzumachen, findet alle Informationen auf https://sumobot.fablab-luebeck.de