Künstliche Intelligenz Abschlusspräsentation Gruppe: Blau_KI1112 1
Team Blau_KI1112 Harjin Esmael Jochen Hansch Nils Hühn Felix Marx Nikolai Warkentin Alexander Wecker 2
Inhalt Aufgabenstellung Arbeitsumgebung Gewählte Agentenart Implementierung in Unity 3D Implementierung mit dem Roboter Ergebnisse des Praktikums Fazit 3
Aufgabenstellung Programmierung eines Fußball spielenden Roboters Grundlage bildet vorgegebener LEGO-Roboter Einhaltung der Regeln XMPP-Nachrichten beachten Seitenwechsel Tore schießen Andere Agenten nicht behindern 4
Inhalt Aufgabenstellung Arbeitsumgebung PEAS Klassifizierung der Umgebung Gewählte Agentenart Implementierung in Unity 3D Implementierung mit dem Roboter Ergebnisse des Praktikums Fazit 5
Arbeitsumgebung PEAS Performance Das gegnerische Tor treffen Eigentore vermeiden Regeln beachten 6
Arbeitsumgebung PEAS Environment Fußballfeld mit definierten Maßen Infrarotball Bis zu ein Mitspieler, und bis zu zwei Gegner auf dem Feld Zwei Tore auf die gespielt wird, es gibt einen Seitenwechsel 7
Arbeitsumgebung PEAS Aktuatoren Drei Motoren am Roboter Unabhängig angetriebene Räder links und rechts Drehbare Kralle vorne, zum greifen und schießen 8
Arbeitsumgebung PEAS Sensoren Robotersensoren Infrarotsensor vorne oben am Roboter Ultraschallsensor vorne unten am Roboter Kompasssensor 9
Arbeitsumgebung PEAS Sensoren Smartphonesensoren Kamera Beschleunigungssensor Umgebungslichtsensor Abstandssensor Kompasssensor 10
Arbeitsumgebung Klassifizierung der Arbeitsumgebung Teilweise Beobachtbar Stochastisch Episodisch Dynamisch Kontinuierlich Multiagentensystem 11
Inhalt Aufgabenstellung Arbeitsumgebung Gewählte Agentenart Implementierung in Unity 3D Implementierung mit dem Roboter Ergebnisse des Praktikums Fazit 12
Gewählte Agentenart Modellbasierter Reflexagent Enthält ein Modell der ihn umgebenden Welt Bei uns das Spielfeld Enthält Regeln um auf Sensorwerte zu reagieren z.b.: bei bestimmten Sensordaten Ball greifen Verfolgt die Umgebung um ihn War der Ball zuletzt Links oder Rechts? 13
Inhalt Aufgabenstellung Arbeitsumgebung Gewählte Agentenart Implementierung in Unity 3D Konzept Darstellung unserer Idee Probleme Implementierung mit dem Roboter Ergebnisse des Praktikums 14
Implementierung in Unity 3D Anforderungen an unser Konzept: Möglichst nahe an der Realität Voll Funktionsfähig Soll nur mit den auch wirklich existierenden Sensoren und Motoren arbeiten Die Agenten sollen interagieren 15
Implementierung in Unity 3D Einschränkungen unseres Konzepts: Mehr Funktionen würden mehr Sensordaten erfordern Lernfähigkeit ist nicht möglich, da keine Informationen über Verhalten der anderen Agenten Kooperation der Agenten sehr Beschränkt, kein Passspiel o.ä. 16
Implementierung in Unity 3D Implementierung als Finite State Machine FSM Mit Zuständen Aber auch mit Flags die Zustände näher beschreiben Neuronales Netz ist zu komplex Erhaltung des Zustandes auch ohne komplexes Gedächtnis 17
Implementierung in Unity 3D Auswahl der Zustände nach aktuellem Zustand und Sensordaten Für jeden Zustand Regeln zur Verhaltenssteuerung Flags zur genaueren Reaktion bspw. Ball links, oder Ball sehr weit Links 18
Implementierung in Unity 3D Weltmodell Inhalt Position der Tore (Winkel) Ball muss auf Spielfeld sein Sehr einfach, aufgrund begrenzter Sensordaten Erlaubt kein genaues Zielen auf Tor Erlaubt keine komplexen Teamstrategien 19
Implementierung in Unity 3D Darstellung unseres Konzepts: Beide versuchen den Ball Zu greifen 20
Implementierung in Unity 3D Darstellung unseres Konzepts: Ein Agent hat den Ball, Der andere versucht aus Dem Weg zu gehen 21
Implementierung in Unity 3D Darstellung unseres Konzepts Der Agent dreht sich um in eine günstige Schussposition Zu gelangen 22
Implementierung in Unity 3D Probleme Erkennung von Hindernissen Freund-/ Gegnererkennung Wanderkennung, wenn Ball ergriffen ist Positionsbestimmung, nur mit Kompass Weltmodell nur sehr begrenzt 23
Implementierung in Unity 3D Sensor- und Aktuatorenprobleme Ungenauer Ultraschallsensor Infrarotsensor wird durch andere Roboter blockiert Kralle greift sofort zu, Reaktion zu schnell 24
Implementierung in Unity 3D Probleme mit Ultraschallsensor 25
Inhalt Aufgabenstellung Arbeitsumgebung Gewählte Agentenart Implementierung in Unity 3D Implementierung mit dem Roboter Konzept, Änderungen zu Unity 3D Probleme Fähigkeiten Ergebnisse des Praktikums 26
Implementierung mit dem Roboter Konzept, Änderungen zu Unity 3D Grundsätzliche Beibehaltung des Konzepts FSM Modellbasierter Reflexagent Einfaches Weltmodell 27
Implementierung mit dem Roboter Konzept, Änderungen zu Unity 3D Keine Teamkommunikation mehr, da nicht sinnvoll einsetzbar Neuer Sensor Kamera Nach greifen des Balls zurückfahren Toleranzbereiche statt fester Sensorwerte 28
Implementierung mit dem Roboter Konzept, Änderungen zu Unity 3D Implementationsspezifische Ergänzungen Hinzufügen einer Wrapperklasse für die Motorsteuerung Umstellung von Tickcounter auf Realzeituhr Hinzufügen einer Konfigurationsklasse, um auf Unterschiede zwischen Robotern einzugehen 29
Implementierung mit dem Roboter Probleme In der realen Welt sind die Sensoren ungenau Das Verhalten der beiden Roboter des Teams unterscheidet sich Roboter verhaken sich untereinander, und sind dann nicht mehr beweglich Das Programm stürzt manchmal ab 30
Implementierung mit dem Roboter Probleme mit den Senoren IR-Sensor Wird sehr ungenau wenn der Ball nah ist Manchmal verschwindet Ball aus sichtbereich, wenn er in der Kralle ist Keine Erkennung ob Ball gegriffen oder nicht 31
Implementierung mit dem Roboter 32
Implementierung mit dem Roboter Probleme mit den Sensoren Ultraschallsensor sehr ungenau Ähnliche Probleme wie in Unity US-Kreuzfeuer mit anderen Bots Sensor theoretisch blind wenn der Ball gefangen ist, liefert aber stattdessen zufällige Werte Keine Erkennung ob Ball gefangen ist 33
Implementierung mit dem Roboter Probleme mit den Sensoren Handykamera Braucht viel Leistung Viel Feintuning erforderlich Ist für Abstürze des Programms verantwortlich 34
Implementierung mit dem Roboter Probleme mit den Aktuatoren Motoren brauchen Zeit Greifer muss nach dem Schuss erst warten, sonst wird der Ball sofort wieder gefangen Wenn der Greifer beim Greifen seine Bewegung nicht ganz ausführen kann, bleibt der Bot stehen 35
Implementierung mit dem Roboter Fähigkeiten des Roboters Finden des Balls Wenn der Ball außer Sicht ist, drehen in die Richtung in der der Ball zuletzt gesichtet wurde Greifen des Balls Wenn der Roboter meint das der Ball in Reichweite ist Zurückfahren nach Fang um dem Knäul zu entkommen 36
Implementierung mit dem Roboter Fähigkeiten des Roboters Zielen auf das Tor Zuerst per Winkel (Kompasssensor) Danach mit Kamera, über Torfarbe Schießen auf das Tor Seitenwechsel Beachtung der XMPP-Nachrichten 37
Inhalt Aufgabenstellung Arbeitsumgebung Gewählte Agentenart Implementierung in Unity 3D Implementierung mit dem Roboter Ergebnisse des Praktikums und Fazit 38
Ergebnisse des Praktikums Funktionsfähiger Fußballroboter Gutes Abschneiden im Wettbewerb 2ter Platz 3 Siege 1 Niederlage 26 Tore geschossen 13 Tore zugelassen Größtes Problem, Abstürze der Software in der zweiten Spielhälfte 39
Ergebnisse des Praktikums Erkenntnisse zu den Anforderungen Schnelle Roboter sind wichtig Wenig Eigentore sind wichtig Stabile Software ist wichtig Feintuning und Anpassung auf einzelne Roboter ist wichtig 40
Fazit Interessantes Projekt Viel gelernt Probleme vor allem mit Sensoren Am Anfang erschien das Projekt sehr schwer, viele Probleme unlösbar, jedoch fanden sich immer Lösungen oder Workarounds 41
Ende Vielen Dank für ihre Aufmerksamkeit 42