Long Bird Silver

Long Bird Silver

- Unser Piratenschiff mit dem wir 2012 zur Schatzsuche auf Peanut Island aufgebrochen sind. Hier gibt es einige technische Details wie wir möglichst effizient an das Gold gelangt sind.

Mit unserem Long Bird Silver, gelang es uns einen richtig starken konkurrenzfähigen Roboter zu entwickeln. Nicht nur mechanisch macht er einiges her (>15kg), sondern auch elektrisch steckt jede Menge Intelligenz in ihm.

Vom Steuerkonzept sind wir wieder auf ein reines Mikrocontroller basiertes System zurückgegangen, jedoch mit vielen neuen Extras. Als neues Bussystem haben wir erstmalig einen CAN-Bus eingesetzt. Hierzu diente uns die open Source Bibliothek der Aachener Kollegen. (Vielen Dank Fabian Greif von Kreatives Chaos)

Folgende Platinen wurden im Long Bird Silver verbaut:

  •  Master (Spielstrategie und Entscheidungen)
  •  Laserboard (Auswertung der Laserscanner-Daten und Bereitstellung der Gegnerpositionen auf dem Bus)
  •  Motorboard (Ausführung der Fahrbefehle, Motorregelung und Fahrbefehle)
  •  Azubiboard (Ansteuern der Greifer, Drehen des Laserscanners, Aufklappen des Roboters)
  •  UI-Board (Display und Tastatur zur Eingabe der Taktiken, Spielfarbe und sonstige Spieloptionen)
  •  Fuseboard (Steckerverteiler und Sicherungen)

Auf allen Platinen, außer dem Fuseboard, befindet sich ein AT90CAN128 Controller.

Simulation

Um die Zeit der Fertigung des Roboters sinnvoll nutzen zu können, wurde dieses Jahr eine noch umfangreichere Simulation entwickelt als im letzten Jahr. Hierin wurden die Quelltexte des Masters und des Motorcontrollers nahezu zu 100% identisch abgebildet. So das z.B. die Programmierung der Gegnererkennung komplett offline, ohne Roboter, erfolgen konnte. Die Quelltexte der Simulation konnten danach 1:1 auf den Roboter kopiert werden und meistens hat er dann auch genau das gleiche gemacht wie in der Simulation:

Bild: Simulation des Roboters einschließlich Greifer.

Sämtliche Spielstrategien können auch in der Simulation gefahren und getestet/debugt werden. Besonders die individuellen Entscheidungen die von der Gegnerposition abhängen (wird weiter unten beschrieben) konnten in der Simulation ausgiebig und besser als real getestet werden.
Aufgrund der unsymmetrischen Form war die Gegnererkennung dieses Jahr eine besondere Herausforderungen. Für diese wurden mehrere Gegner-Bereiche definiert:

  • Gegner im gelben Bereich: Roboter darf sich nicht mehr auf der Stelle drehen
  • Gegner im roten Bereich: Roboter darf nicht mehr vorwärts bzw. rückwärts fahren
  • Gegner im blauen Bereich: Geschwindigkeit des Roboters wird gedrosselt

Sollte sich ein Gegner z.B. im gelben Bereich vor dem Roboter befinden und der Roboter möchte sich auf der Stelle um 180° drehen um weg zu fahren, gibt es zusätzliche Algorithmen die den Roboter "frei" fahren. So würde der Roboter in diesem Fall zurück fahren, bis der gelbe Bereich frei ist und sich dann auf der Stelle drehen und in die andere Richtung weg fahren.

 

Spielplanung

Der Roboter hat 26 fest einprogrammierte Jobs. Diese enden alle beim eigenen Schiff und beginnen im Startfeld oder beim eigenen Schiff. Zu Spielbeginn wird über die Tastatur eine Job-Reihenfolge vorgegeben. Während dem Spiel versucht sich der Roboter an dieser Reihenfolge zu orientieren. Jedoch ändert er die Job-Reihenfolge in Abhängigkeit der Gegnerpositionen. Steht ein Gegner für den nächsten Job im Weg, wird dieser Job erstmal nicht angegangen, sondern auf später verschoben.
Vor Beginn eines Jobs wird auch überprüft ob die restliche Spielzeit überhaupt noch ausreicht diesen Job fertig zu bringen (bzw. zumindest die Punkte ins Schiff zu bringen).

Sollte während der Ausführung eines Jobs der Gegner in den Weg kommen sucht sich der Roboter durch umfahren der Insel einen Weg zum Schiff. Dort angekommen gibt es zwei Möglichkeiten:

  • Wenn er im Job bereits Punkte gesammelt hat, lädt er diese ab und hackt den Job als erledigt ab
  • Wenn er im Job keine Punkte sammeln konnte (Weil er z.B. bereits auf der ersten Fahrt unterbrochen wurde) wird der Job offen gelassen und später erneut angegangen. Um zu verhindern das der Roboter das ganze Spiel den gleichen Job macht und immer an der gleichen Stelle an einem stehen gebliebenen Gegner umkehrt, gibt es noch einen Versuchszähler. Dadurch werden Jobs je nach definition maximal zwei bis drei mal versucht und danach von der Liste gestrichen.

Unser Plakat der Eurobot 2012: