Ballerkennung
Vorgeschichte
Eine zuverlässige und flinke Lokalisierung des Balls ist Voraussetzung für eine automatische Kicker-Steuerung. Für einige Jahre war eine Ballerkennung mit zwei S/W-Kameras in Betrieb: Durch einen schmalen Schlitz am Spielfeldrand wurde der Bereich unter den Füßen der Spieler beobachtet. Die Ballposition wurde mit Triangulation bestimmt. Diese Lösung war gegenüber Fremdlicht sehr empfindlich, weil Reflexe nicht zuverlässig vom Ball unterschieden werden konnten.
Aktuelle Lösung
Im WiSe 24/25 wurde eine von Grund auf neue Ballerkennung realisiert, die von oben auf Spielfeld blickt und den nunmehr farbigen Ball lokalisiert: <Verweis auf Masterarbeit hier>
Nach Abschluss der Masterarbeit wurden folgende Änderungen / Verbesserungen an der Ballerkennung vorgenommen:
Zeitpunkt | Bereich | Änderung |
---|---|---|
April 2025 | Ballerkennung | Geändert: Parameter der Farberkennung, um Fehlerkennungen durch Körperteile zu vermeiden. |
Mai 2025 | Kommunikation | Neu hinzugefügt: Daten-Output via MQTT |
Neue Parameter für die Farberkennung
Mit den ursprünglich in der Masterarbeit genutzten Parameter konnten ins Spielfeld ragende Körperteile fehlerweise als Ball erkannt werden. Eine nachfolgende Analyse mit 189 Testbildern von Körperteilen über dem Spielfeld wurden bessere Parameter ermittelt: Die Werte aus Tabelle 11 der Masterarbeit, Zeile "1,0%" sind diesbezüglich deutlich robuster, ohne dass die Erkennung des Balls beeinträchtigt wird.
Diagram | Ergebnisse: Ball | Ergebnisse: Körperteile |
---|---|---|
![]() |
![]() |
![]() |
MQTT-Output
Die neue Klasse output_mqtt.py fügt eine weitere Output-Möglichkeit hinzu, die per Startargument aktiviert werden kann. Die Verbindungsdaten des MQTT-Brokers sind in der Einstellungsdatei settings.yaml hinterlegt.