1 / 31

Seminar F

Seminar F. Aufgabe B: Ball-Interception DRAXL Wolfgang HALLER Andreas. Aufgabenstellung. Der Roboter soll einen rollenden Ball, der sich irgendwo am Spielfeld befindet, unter Kontrolle bringen und so in Ballbesitz gelangen. (Interception) Ohne Berücksichtigung von Hindernissen und Gegner.

lela
Télécharger la présentation

Seminar F

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminar F Aufgabe B: Ball-Interception DRAXL Wolfgang HALLER Andreas

  2. Aufgabenstellung • Der Roboter soll einen rollenden Ball, der sich irgendwo am Spielfeld befindet, unter Kontrolle bringen und so in Ballbesitz gelangen. (Interception) • Ohne Berücksichtigung von Hindernissen und Gegner.

  3. Realisierung • Splitten der Aufgabe in 2 Teilaufgaben: • 1.) Der Roboter positioniert sich in der Bewegungsrichtung des Balles • 2.) Der Roboter versucht, den nun auf sich zurollenden Ball zu stoppen • Begründung: Kleinere und besser angepaßte Lernmodelle möglich

  4. Ball stoppen • Von uns nicht implementiert! • Begründung: • Probleme mit der Geschwindigkeitsmessung • Positionsupdate vom Supervisor dauert zu lange (Teilweise werden Zustände übersprungen) • Keksi ist für Ballsimulation ein Zylinder • Von anderer Gruppe schon gelöst (am Khepera)

  5. InterceptionRealisierungsmethoden • REGLER • Ausprogrammierte Lösung • LERNALGORITHMUS • Reinforcement Learning

  6. Regler • Eingabegrößen: • Ballposition(umgerechnet auf absolute Position) • Wahlweise aus Kamerabild oder vom Supervisor • Roboterposition (vom Supervisor) • Berechnet: • Ballbewegungsvektor (Geschwindigkeit und Richtung) • berechnet aus den aufeinanderfolgenden Ballpositionen • Roboter-Ball-Vektor • aus den Positionen von Roboter und Ball

  7. Regler Ball Bewegungsvektor Vorhaltefaktor • Berechnet: • Winkel  • Winkel zwischen Roboter-Ball- und Ball-Bewegungsvektor • Zeit zum Ball • aus Roboter-Ball-Vektor und einer maximalen Robotergeschwindigkeit • Ballbewegung • aus Zeit zum Ball und der Ballgeschwindigkeit • Vorhaltewert wird dazuaddiert • Neue Roboterbewegung • aus Ballbewegung, Winkel  und Roboter-Ball-Vektor über Cosinussatz  Neue Roboter-Bewegung    Roboter-Ball-Vektor

  8. Regler Ball Bewegungsvektor Vorhaltefaktor • Berechnet: • Winkel  • aus Winkel , neue Roboterbewegung und Ball-Bewegungsvektor über den Sinussatz • neue Fahrtrichtung () • aus Winkel  und Winkel  (Winkel des Roboter- Ball-Vektors) • neue Geschwindigkeit • aus neue Roboterbewegung und der Zeit zum Ball • Drehgeschwindigkeit • über die Position des Balles im Bild  Neue Roboter-Bewegung    Roboter-Ball-Vektor

  9. Regler • Verhalten: • Der Roboter versucht ausgehend von der Ballbewegung und der Entfernung zum Ball, in eine Position vor dem Ball zu kommen. • Durch gleichzeitiges Drehen beim Fahren wird der Ball im Bild gehalten. • Drehung wenn kein Ball im Bild • Beim Nachfahren kann der Roboter wegen der kleinen Winkel nicht gut überholen.

  10. Regler • Grafik: • Ballpositionsermittlung mit der Kamera vom Tormannproblem übernommen. • Für die Ballgeschwindigkeit werden mehrere Positionsdifferenzen gemittelt und durch die Zeit seit der letzten Änderung dividiert. • Da nicht jeden Roboter-Step eine Positionsänderung von Ball oder Roboter vom Supervisor kommt, wird der Regler nur alle 5 Schritte aufgerufen. • Wenn keine Änderung werden die alten Werte behalten. • Um die Probleme mit der Kamera zu umgehen kann alternativ die Ballposition vom Supervisor herangezogen werden.

  11. Regler • Probleme: • Ungenaue Positionsbestimmung mit der Kamera (->Roboter fährt oft in die falsche Richtung weg). • Drehgeschwindigkeit schwer dossierbar. • Abstoppen des Balles war mit diesem Ansatz auch nicht realisierbar.

  12. Lernalgorithmus • Schlechte Lernerfolge mit der normalen Kamera-Optik • Daten von der Kamera relativ ungenau und sprunghaft • Probleme mit zusätzlichem Task “Ball im Bild halten” (Roboter fährt vom Ball weg, kontraproduktives Lernverhalten für Haupttask) • Enge Kurvenradien nur schwer realisierbar • Richtungsgeschwindigkeit wirkt stärker als Rotationsgeschwindigkeit • zu viele Geschwindigkeitsstufen blähen Modell auf

  13. Lernalgorithmus • Umstellung auf “omnidirectionale Optik”: • um Probleme mit der konventionellen Optik zu umgehen • um die Aktionsanzahl für den Roboter zu reduzieren (Drehungen) • um die Aufgabe zu vereinfachen (Ball im Kamerabild halten fällt weg) • näher am zukünftigen Verhalten des Roboters

  14. Lernalgorithmus • Ermittlung der Inputdaten: • Ball-Roboter-Entfernung, Ball-Bewegungsrichtung und Roboter-Ball-Richtung werden aus der Ball- und Roboterposition vom Supervisor ermittelt • Findet keine Positionsänderung statt, werden die alten Werte weiterverwendet. • Ballgeschwindigkeit: • Ermittlung der Zeitdifferenz seit der letzten Positionsänderung (Ermittelte Zeit stimmt vermutlich nicht mit dem Zeitpunkt der Positionsbestimmung überein) • Speed ausrechnen • 7-fach Median bilden • 10-fach Mittelwert (Queue)

  15. Lernalgorithmus • Realisierung in 2 verschiedenen Modellen: • Modell 1: • Berücksichtigung der Ballgeschwindigkeit • Weniger Entfernungsklassen • Einfacheres Rewardmodell • Modell 2: • keine Ballgeschwindigkeit • Mehr Entfernungsklassen • Rewardmodell stärker auf Vermeidung des Nahbereiches ausgelegt (Kollisionsvermeidung)

  16. Modell 1: • Zustandsraum: • Ballgeschwindigkeit • 2 Stufen (langsam, schnell) • Ball-Roboter-Entfernung • 3 Diskretisierungsstufen (nah, mittel, weit) • Ball-Bewegungsrichtung • 8 Richtungen (45° Bereich pro Richtung) • Roboter-Ball-Richtung • 8 Richtungen (45° Bereich pro Richtung)

  17. Modell 1: • Aktionsraum: • 8 Bewegungsrichtungen • nur eine Fahrtgeschwindigkeit • keine Drehung • Eingeschränkte Aktionen: • In der Entfernungsstufe “weit” ist die Aktionsauswahl auf die 3 Bewegungs-richtungen zum Ball hin eingeschränkt.

  18. Modell 1: • Q-Matrix: (Speed x Entf. x Ballricht. x Robot-Ball-Richt.) x Aktionen • States: 2*3*8*8 = 384 • Actions: 8 • State-Action-Paare: 384*8 = 3072 • Eingeschränkte Aktionen: (2*1*8*8)*5=640 • Endzustände: (2*1*8*1)*8=128 • Relevante State-Action-Paare: 3072-640-128=2304

  19. Modell 1: • Rewards: • Positive: • 200: Für das Erreichen des Nahbereiches • 800: Für das Erreichen der Position vor dem Ball wenn bereits 200-Reward erhalten • 1000: Für direktes Erreichen der Position vor dem Ball • Negative: • -1: Für Verbleiben im Nahbereich • -2: In mittlerer Distanz • -50: In Ferndistanz

  20. Modell 1: • Rewards: Episodenabbruch bei Rewards 800 und 1000 800 1000 -1 -2 200 -50

  21. Modell 1: • Ergebnis: • siehe Matlab-Präsentation • Schlußfolgerung: • recht schnell lernbar (ca.500 Episoden für Grundverhalten) • zielstrebige Bewegung zum Ball • Anstoßen des Balles • schlechter beim Nachfahren • Positionsupdate oft zu spät

  22. Modell 2: • Zustandsraum: • Ball-Roboter-Entfernung • 5 Diskretisierungsstufen • Ball-Bewegungsrichtung • 8 Richtungen (45° Bereich pro Richtung) • Roboter-Ball-Richtung • 8 Richtungen (45° Bereich pro Richtung)

  23. Modell 2: • Aktionsraum: • 8 Bewegungsrichtungen • nur eine Fahrtgeschwindigkeit • keine Drehung • Eingeschränkte Aktionen: • In der Entfernungsstufe “weit” ist die Aktionsauswahl auf die 3 Bewegungs-richtungen zum Ball hin eingeschränkt.

  24. Modell 2: • Q-Matrix: (Entf. x Ballricht. x Robot-Ball-Richt) x Aktionen • States: 5*8*8 = 320 • Actions: 8 • State-Action-Paare: 320*8 = 2560 • Eingeschränkte Aktionen: (1*8*8)*5=320 • Endzustände: (1*8*1)*8=64 • Relevante State-Action-Paare: 2560-320-64=2176

  25. Modell 2: • Rewards: • Positive: • 50: Für das Erreichen der Entfernungszohne 3 • 100: Für das Erreichen der Entfernungszohne 2 • 150: Für das Erreichen der Position vor dem Ball in Entfernungszohne 3 aus Entfernungszohne 3 • 200: Für das Erreichen der Position vor dem Ball in Entfernungszohne 3 aus Entfernungszohne 4 • 700: Für das Erreichen der Position vor dem Ball in Entfernungszohne 2 aus Entfernungszohne 2 • 1000: Für das Erreichen der Position vor dem Ball in Entfernungszohne 2 aus Entfernungszohne 3 • Negative: • -30: Für Verbleiben in Entfernungszohne 1 • -1: Für Verbleiben in Entfernungszohne 2 • -2: Für Verbleiben in Entfernungszohne 3 • -5: Für Verbleiben in Entfernungszohne 4 • -20: Für Verbleiben in Entfernungszohne 5

  26. Modell 2: • Rewards: Episodenabbruch bei Rewards 700 und 1000 700 150 1000 -30 -1 50 200 -2 100 -5 -20

  27. Modell 2: • Ergebnis: • siehe Matlab-Präsentation • Schlußfolgerung: • recht schnell lernbar (ca.500 Episoden für Grundverhalten) • neigt oft zu Pendelbewegungen zwischen 2 Zuständen • Anstoßen des Balles tritt seltener auf

  28. Probleme Simulation RL

  29. Simulationsprobleme • Simulationsverlangsamung durch Webots braucht längere Episoden, um Erfolg zu haben • Packet Error (Keksim) dadurch ältere Supervisorversion • Geschwindigkeitsberechnung Supervisor sollte zu einer Positionsangabe auch die dazugehörige Zeit liefern • Webots Stepgeschwindigkeit Auswirkungen auf Episodenlänge

  30. RL Probleme • Model • kann das Model überhaupt funktionieren? • Gewisse Aktionen unterbinden • bringt eine Verkürzung der Trainingszeit • bessere Lernergebnisse • wenige und einfache Aktionen wählen • Problem in mehrere kleinere Modelle unterteilen • Trainingsprogramm • mit einfacheren Beispielen anfangen • maßgeschneidertes Training

  31. RL Probleme • Lernalgorithmus • Lernalgorithmus nur bei Zustandsänderung aufrufen • E-Traces bei einer Änderung des Beispieles abschneiden (Ball prallt von der Wand ab) • Bei positiven Rewards wird in einem Zustand nur mehr eine Aktion gewählt (außer Zufall) • Zufallsschritte auf Episodenlänge anpassen • Anordnung der Aktionen hat auch großen Einfluß auf das Ergebnis

More Related