RoboCup 3D

  • Upload
    page

  • View
    39

  • Download
    3

Embed Size (px)

DESCRIPTION

RoboCup 3D. Michal Bartal, Michal Bebjak, Michal Homola, Juraj Majer, Andrej Neczli, Ondrej Pok, Zoltán Pulai. 6 th Sense. Obsah prezentácie. Model sveta Prediktor Z ákladné správania Kopanie Beh hráča Brankár P ozeranie A rchitekt ú ra vy šší ch spr á van í Vyšš ie spr á vania - PowerPoint PPT Presentation

Citation preview

  • RoboCup 3D6th SenseMichal Bartal, Michal Bebjak, Michal Homola,Juraj Majer, Andrej Neczli, Ondrej Pok, Zoltn Pulai

  • Obsah prezentcieModel svetaPrediktorZkladn sprvaniaKopanieBeh hraBrankrPozeranieArchitektra vych sprvanVyie sprvaniaFormcie

  • Information Storage (IS)WorldModelPredictorActionModuly PositionHistory, ActionHistory a StatsHistory sme oproti prototypu zruili a ich funkciu plnia moduly WorldModel a Action

  • IS - WorldModelKad objekt na hracej ploche je reprezentovan dtovou truktrou zdedenou od triedy GameObjectMme teda objekty s nzvami Agent, Ball, SelfPlayer a NonMovableObjectNa podobnom princpe funguj aj objekty Hearings a Stats

  • IS - WorldModelHistria stavov pre kad objekt je zaznamenvan pomocou zsobnka GameObject-ov (trieda ObjectStack)Kad objekt hracej plochy m vo WM 2 premenn typu ObjectStack jednu pre raw data zo servera adruh pre dta, ktor s zlenm raw dt apredikovanch dt

  • IS - WorldModelclass GameObject {public:// kartezinske sradnice vzhladom na stred ihriskaVector3f classicCoords;// polarne suradnice vzhladom na mnaPolarCoords relativePolarCoords;// kartezinske sradnice vzhladom na mnaVector3f relativeClassicCoords;// rychlosVector3f velocity;// zrchlenieVector3f acceleration;...};

  • PrediktorPredikcia a vykrytie vpadkovpecializovan prediktory prehrovloptu

    +predict() : GameObject+predictThisStep() : void

    -stack : ObjectStack

    Predictor

    PredictorPlayer

    PredictorBall

  • PrediktorPredikcia na zklade fyziklneho modeluVpoet rchlostiNormalizcia rchlostiVpoet predikovanej polohyOetrenie pecilnych stavovPrediktor lopty pota so spomalenm lopty, ktor bolo experimentlne uren

  • AkcieDva typy akcii

    +SendCommand() : void+UpdateWorldModel() : void

    GenericAction

    ViewAction

    PlayAction

    PanTiltAction

    DriveAction

    KickAction

    CatchAction

  • Architektra zkladnchsprvanrozdelenie do vrstievviac jednoduchch sprvanvyie sprvania vyuvaj niie

    runToPlace(x, y)

    runToObject(obj)

    kickToPlace(dist)

    runAroundObject(obj, dir)

    runToEvent(x, y, t)

    kickToEvent(dist, t)

    kickToPlaceWithVelocity(dist, v)

    lookAtPlace(x,y)

    lookAtObject(obj)

    scan()

    extendedKickToPlace(x, y)

    extendedKickToEvent(x, y, t)

    extendedKickToPlaceWithVelocity(x, y, v)

    dribbleToPlace(x, y)

    pass(obj)

    passToRun(obj)

    shoot()

    holdPosition()

    holdFormation()

    kickIn()

    interceptBall()

    extendedInterceptBall(dir)

    catch()

  • Kopanie princp

  • Kopanie - modelalgoritmy vychdzaj z fyziklneho modelu ikmho vrhu

  • Kopanie - niie modulyZkladn 4 moduly :

    KickToPlacedouble aDistancedouble aVerticalKickAngle

    KickToEventdouble aDistancedouble aTimeToEventdouble aVerticalKickAngle

    KickToPlaceWithVelocitydouble aDistancedouble aFinalVelocity

    KickToEventWithVelocitydouble aDistancedouble aTimeToEventdouble aFinalVelocity

  • Kopanie - vyie modulyKickToPositionVector3f& aFinalPlacedouble aVerticalKickAngledouble aErrorLimitKickDirAnglebool kickingToGoal

    DribbleToPlaceconst Vector3f& aFinalPlacedouble aErrorLimitKickDirAngledouble aDribbleKickDistance

    PassToPlayerObj aIdPlayerdouble aVerticalKickAngledouble aErrorLimitKickDirAngleconst Vector3f& aPassOffset)

  • Kopanie zlepeniavytvori matematick model odporu prostredia uvaova viacnsobn odraz loptyzohadni rchlos lopty pri odkopeoptimalizova pomer presnosti kopu a asu na nastavenie sa do smeru kopu implementova funkciu na vpoet pozcie lopty po odkope

  • Behanie4 druhydobehnutie na miesto priamo (RunToPlace)zo zadanho smeru (RunAroundPlace)

    dobehnutie k objektu (poda predikcie)priamo (RunToObject)zo zadanho smeru (RunAroundObject)

  • RunAroundPlacemodel potencilovch polpraliv sila: smerom DO cieovho bodukontantn vekosodpudiv sila: umel barirakles kvadraticky so vzdialenosou

    smer pohybu sa nastav poda vslednej sily

  • RunAroundPlace

    hr

    cie

    barira odpudivch bodov

    trajektria pohybu

    R

  • RunAroundPlace

    hr

    cie

    barira odpudivch bodov

    trajektria pohybu

    R

  • BrankrModul sprvania brankra: CatchBehaviourSprvanie je parametrizovaten pomocou kontntTri zkladn funkcie:Vykrvanie streleckho uhlu tonkaDobehnutie za loptou s jej nslednm chytenmVykopnutie lopty dopredu

  • BrankrVykrvanie streleckho uhlu tonkaAktivuje sa pri prekroen vzdialenosti brankra od lopty, udanej kontantou KickBallCoverMarginUpravuje svoju poziciu tak, aby sa nachdzal na spojnici stredu brnkovej iary a momentlnej pozcie lopty

  • BrankrDobehnutie za loptou s jej nslednm chytenmAktivuje sa pri prekronen vzdialenosti brankra od lopty, udanej kontantou DriveAndCatchMarginChytenie lopty sa aktivuje pri priblen sa brankra k lopte na vzdialenos meniu, ne udva kontanta CatchBallMarginVykopnutie lopty dopreduNasleduje hne po chyten loptyBrankr kope smerom vpred maximlnou silou a pod uhlom 45 stupov

  • Zmena pohaduOd verzie server 0.5.2 m hr obmedzen uhol pohadu potreba zmeny pohadu hra4 modulyScanBehaviourLookAtPlaceBehaviourLookAtObjectBehaviourFindObjectBehaviour

  • Rozhodovanie - princpNiie moduly sprvania slia na vykonanie konkrtnych akci hra kopanie, beh, ...Bolo potrebn implementova rozhodovaciu as, ktor by pouvala tieto modulyArchitektra podobn ako pri nich moduloch sprvania

  • Rozhodovanie - architektra

  • Vyhodnotenie situcie

  • GlobalStrategyBehaviourZkladn rozhodovac modul na najvyej rovniVstupn bod pre proces rozhodovania v kadom cykleSli na vber a zavolanie vhodnho modulu sprvania niej rovne

  • Defence Stategy BehaviourSperovi hri sa pri toku vinou snaia pribehn klopte znejakho smeru, o im dlho trvV tomto module hr prve naopak iba jednoducho pribehne klopte aodkopne ju preModul sa vyhodnocuje ako potrebn, iba ak je lopta 5 metrov ahlbie na naej polovici a hr moe odkopn loptu pre od svojej brny

  • Defence Stategy Behaviourinnos zvis aj od vzdialenosti najbliieho sperovho hra od lopty. Tento modul sa me poui aj v prpade, e hr nie je najbliie od lopty, m sa modul odliuje od ostatnch stategickch modulov ako Dribble, Kick_To_Goal a Passing

  • Kick To Goal Strategy BehaviourAk hr kope po zemi, dokopne na vzdialenos pribline 19 mModul pomocou funkcie ballDistanceFromGoal(float &dist) zist vzdialenos lopty od sperovej brnky aak je tto vzdialenos menia ako 19m, vyhodnot situciu ako sprvnu na kopnutie a kopne do stredu brny

  • Kick To Goal Strategy BehaviourZlepenia:Vo vyhodnoten sa mus bra ohad aj na pozciu sperovch hrov a brankra, nielen na vzdialenos lopty od brnyTreba urobi funkciu na umiestovanie lopty, teda vpoet, kam chceme do brny kopnExperimentovali sme aj surovanm vertiklneho uhlu kopu, ale stvalo sa, e hr brnku na menie vzdialenosti prekopol, preto sa zatia kope pod 0 stupovm uhlom

  • FormationsTento modul bol prebrat z2D futbalu ztmu Derav kopaka a bolpreroben na podmienky 3D futbaluSli na urenie najvhodnejej polohy danho hra vo formciiModul obsahuje 27 formci a ich vzjomnm vhovanm s ohadom na ich rating sa ur idelna pozcia hra vo formcii

  • Zvermodel sveta a predikciahr doke beha, prihrva, kopa na brnumme pecializovanho brankramodulrna vrstven architektra sprvanpre jednotliv sprvania sa rozhoduje poda ohodnotenia vhodnosti pre dan situciu

  • akujeme za pozornos

    http://www2.dcs.elf.stuba.sk/~team06/[email protected]