Framework

Unser Software-Framework namens Amun-Ra verarbeitet Roboter- und Ballpositionsinformationen, die von SSL-Vision< bereitgestellt werden /a>, die dann von unserer KI verarbeitet werden, um Bewegungsbefehle für unsere Roboter zu generieren. Das Framework, das neben dem Spielfeld auf einem handelsüblichen Rechner läuft, ist als Open Source auf Github verfügbar.

SSL-Vision synchronisiert weder die Kameras, noch wird die Ausgabe in irgendeiner Weise synchronisiert. Anstatt sich also auf SSL-Vision-Pakete als Triggersignal zu verlassen, läuft der Haupt-Thread mit einer festen Frequenz von 100 Hz. Dadurch wird eine feste Periode für den Regelkreis sichergestellt.

Zustandsschätzungen der Roboter- und Kugelpositionen und -geschwindigkeiten müssen bei jedem Zeitschritt vorgenommen werden. Diese Schätzung wird durch Verwendung eines Kalman-Filters realisiert. Um den Filter korrekt mit Messungen von SSL-Vision zu aktualisieren, muss das Alter dieser Daten angenähert werden. Der Zeitpunkt, zu dem ein Vision-Paket von der Software empfangen wurde, wird um die im Paket enthaltene Ausführungszeit von SSL-Vision dekrementiert. Die Netzwerklatenz kann vernachlässigt werden, da sie normalerweise deutlich unter 1 ms liegt. Idealerweise sollten auch die Verschlusszeit der Kamera und die Latenz für die Firewire-Verbindung integriert werden.

Es gibt auch eine in Amun eingebaute Simulationsfunktion. Der Simulator, der mit der Bullet-Physics-Engine gebaut wurde, bietet eine rudimentäre physikalische Simulation des Spielfelds mit den Robotern und dem Ball. Seine Verwendung ist für die Entwicklung unserer KI von entscheidender Bedeutung, da es das Testen kleiner Änderungen oder sogar völlig neuer Ideen ermöglicht, ohne das Risiko einzugehen, dass die echten Roboter Schaden nehmen.

"Ra" - Unser FrameworkEinfach konfigurieren und konfigurieren zu können Testen Sie die KI und den Amun-Kern, die Ra-GUI wurde implementiert. Es bietet einfachen Zugriff auf häufig verwendete Funktionen:

  • Teams-Konfiguration
  • Visualisierung der Sehdaten
  • Visualisierung der KI-Ausgabe
  • Debuggen der KI
  • Generierung von Schiedsrichteranweisungen, ohne dass eine externe RefBox benötigt wird
  • Aufzeichnung eines gesamten Spiels, einschließlich aller KI-Entscheidungen
  • Steuerung der Simulation