seminar f aufgabe b: ball-interception draxl wolfgang haller andreas

Post on 05-Apr-2015

108 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

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

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)

InterceptionRealisierungsmethoden

REGLER Ausprogrammierte Lösung

LERNALGORITHMUS Reinforcement Learning

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-Vektoraus den Positionen von Roboter und Ball

Regler

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 Roboter-Ball-Vektor

Ball BewegungsvektorVorhaltefaktor

Neue Roboter-Bewegung

Regler

Berechnet: Winkel

aus Winkel , neue Roboterbewegungund 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

Roboter-Ball-Vektor

Ball BewegungsvektorVorhaltefaktor

Neue Roboter-Bewegung

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.

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.

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

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

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

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)

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:

Zustandsraum: Ballgeschwindigkeit

2 Stufen (langsam, schnell)

Ball-Roboter-Entfernung3 Diskretisierungsstufen (nah, mittel, weit)

Ball-Bewegungsrichtung8 Richtungen (45° Bereich pro Richtung)

Roboter-Ball-Richtung8 Richtungen (45° Bereich pro Richtung)

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 1:

Q-Matrix: (Speed x Entf. x Ballricht. x Robot-Ball-Richt.) x Aktionen

States: 2*3*8*8 = 384Actions: 8State-Action-Paare: 384*8 = 3072Eingeschränkte Aktionen: (2*1*8*8)*5=640Endzustände: (2*1*8*1)*8=128Relevante State-Action-Paare:

3072-640-128=2304

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 1:

Rewards: Episodenabbruch bei Rewards 800 und 1000

1000

800

200

-1

-2

-50

Modell 1:

Ergebnis: siehe Matlab-Präsentation

Schlußfolgerung:recht schnell lernbar (ca.500 Episoden für

Grundverhalten)zielstrebige Bewegung zum BallAnstoßen des Balles

• schlechter beim Nachfahren• Positionsupdate oft zu spät

Modell 2:

Zustandsraum: Ball-Roboter-Entfernung

5 Diskretisierungsstufen

Ball-Bewegungsrichtung8 Richtungen (45° Bereich pro Richtung)

Roboter-Ball-Richtung8 Richtungen (45° Bereich pro Richtung)

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 2:

Q-Matrix: (Entf. x Ballricht. x Robot-Ball-Richt) x Aktionen

States: 5*8*8 = 320Actions: 8State-Action-Paare: 320*8 = 2560Eingeschränkte Aktionen: (1*8*8)*5=320Endzustände: (1*8*1)*8=64Relevante State-Action-Paare:

2560-320-64=2176

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 2:

Rewards: Episodenabbruch bei Rewards 700 und 1000

1000

200

150

700

100

50

-30

-1

-2

-5

-20

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ändenAnstoßen des Balles tritt seltener auf

Probleme

Simulation RL

Simulationsprobleme

Simulationsverlangsamung durch Webots

braucht längere Episoden, um Erfolg zu haben

Packet Error (Keksim)dadurch ältere Supervisorversion

GeschwindigkeitsberechnungSupervisor sollte zu einer Positionsangabe auch die

dazugehörige Zeit liefern

Webots StepgeschwindigkeitAuswirkungen auf Episodenlänge

RL Probleme

Modelkann 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

Trainingsprogrammmit einfacheren Beispielen anfangenmaßgeschneidertes Training

RL Probleme

LernalgorithmusLernalgorithmus nur bei Zustandsänderung

aufrufenE-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 anpassenAnordnung der Aktionen hat auch großen

Einfluß auf das Ergebnis

top related