Automatische Spielfelderkennung mithilfe von Fiducials

Obwohl die Kamera durch zwei Rohre, wie im vorherigen Post beschrieben, befestigt ist, können Vibrationen doch das Sichtfeld verschieben. Für die Auswertung ist dies allerdings fatal, da die genau Position der Männchen des Gegners und des Balls nicht mehr mit der gemessenen Position übereinstimmen. Der Roboter würde so beispielsweise am Ball "vorbeispielen".

Um dieses Problem zu lösen, habe ich an den Ecken des Spielfelds jeweils einen sog. Fiducial plaziert. Ein solcher Marker kann mit einer Identifikationsnummer eindeutig erkannt werden. Aufgrund der Größe habe ich mich hier für Fiducials des Typs "ArUco" entschieden.


ArUco-Marker am Rande des Spielfelds

Der große Vorteile dieser Marker ist die einfache und schnelle Klassifizierung mithilfe einer optischen Kamera. So kann nicht nur die Position des Fiducials im Bild, sondern auch Attribute, wie die 3D-Rotation festgestellt werden. Sind die Lageinformationen der vier Marker am Tischkicker bekannt, kann das Bild so transformiert werden, dass es die Realität maßstabsgetreu wiedergibt.

ArUco-Marker mit der ID 7

Durch die bekannten Abmessungen kann nun jedes Frame der Kamera so angepasst werden, dass die Mitte des Spielfelds auch tatsächlich die Mitte des Fotos ist. Nur so kann das Tracking und die darauf folgende Reaktion des Roboters auch akkurat stattfinden.

Korrekt ausgeschnittenes Spielfeld

Dadurch, dass sich das System auch frameübergreifend die genauen Position der Fiducials merkt, stellt es kein Problem dar, sollte der menschliche Spieler beispielsweise mit seiner Hand ein Marker verdecken. In diesem Fall werden einfach die alten Informationen solange benutzt, bis wieder eine aktualisierte Position messbar ist.

Tim Arnold

Kommentare

Beliebte Posts aus diesem Blog

Erster Prototyp der Mechanik

Entwicklung einer Platine zur Bewegung der Spieler

Aufbau des Computersystems zur Spielberechnung