seminar f n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Seminar F PowerPoint Presentation
Download Presentation
Seminar F

Loading in 2 Seconds...

play fullscreen
1 / 31

Seminar F - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Seminar F' - lela


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
seminar f

Seminar F

Aufgabe B:

Ball-Interception

DRAXL Wolfgang

HALLER Andreas

aufgabenstellung
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.
realisierung
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
ball stoppen
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)
interception realisierungsmethoden
InterceptionRealisierungsmethoden
  • REGLER
    • Ausprogrammierte Lösung
  • LERNALGORITHMUS
    • Reinforcement Learning
regler
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
regler1
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

regler2
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

regler3
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.
regler4
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.
regler5
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.
lernalgorithmus
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
lernalgorithmus1
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
lernalgorithmus2
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)
lernalgorithmus3
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)
modell 1
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)
modell 11
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.
modell 12
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

modell 13
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
modell 14
Modell 1:
  • Rewards:

Episodenabbruch bei

Rewards 800 und 1000

800

1000

-1

-2

200

-50

modell 15
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
modell 2
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)
modell 21
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.
modell 22
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

modell 23
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
modell 24
Modell 2:
  • Rewards:

Episodenabbruch bei

Rewards 700 und 1000

700

150

1000

-30

-1

50

200

-2

100

-5

-20

modell 25
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
probleme

Probleme

Simulation

RL

simulationsprobleme
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

rl probleme
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
rl probleme1
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