Hlavný cyklus agenta

Z RoboCupTP wiki

Prejsť na: navigácia, hľadanie

Späť na Návod

Hlavný cyklus agenta

Hlavný cyklus agenta vidno na diagrame v dokumente o vykonávaní pohybov.

Okrem komunikácie so serverom popísanej v príslušnej časti návodu spracováva prichádzajúce dáta niekoľko tried. Tie musia implementovať rozhranie ParsedDataObserver a byť zaregistrované v skripte scripts/config/dependencies.rb pomocou metódy Parser.subscribe. Metóde processNewServerMessage tohto rozhrania je volaná z metódy notifyObserver triedy Parser v každom vykonaní cyklu hneď po úvodnom rozparsovní príchodzých dát (vykonávaným pomocou volania Perceptor.processPerceptor na všetky perceptory získané metódou Parser.breakDown). Z tejto metódy môžu observery získať objekt spracovaných dát (objekt triedy ParsedData), ktorý môžu ďalej manipulovať. Nasledujúci observer potom dostane tieto dáta v už viac spracovanom tvare.

V súčasnosti používané observery sú:

  • EnvironmentModel - obsahuje údaje o stave hry, ubehnutom čase a pod., stará sa o ich aktualizáciu.
  • KalmanAdjuster - stará sa o korekciu chybných hodnôt náhodne vnášaných serverom.
  • AgentModel - reprezentuje model agenta a tiež sa stará o jeho aktualizáciu.
  • WorldModel - reprezentuje model sveta a tiež sa stará o jeho aktualizáciu.
  • Prophet - vypočítava predpokladané budúce hodnoty pozícií agentov a lopty.
Osobné nástroje