Na vrchu hierarchie je plánovač, ktorý riadi celkové správanie sa agenta. Každý plánovač sa nachádza v ./Jim/scripts/plan Plánovač vytvára inštancie vyšších pohybov a aktivuje ich na základe stavu hry a hráča. Plan.rb je základný plánovač s implementovanými metódami, ktoré môžu byť znovu použiteľne aj v iných plánovačoch. Ostatne plánovače dedia od plan.rb, implementujú metódu replan, ktorá určuje aký pohyb sa bude vykonávať na základe stavu hry a hráča. Bolo vytvorených viacero plánovačov z týchto dôvodov: Rôznorodosť tímov, ľudí pracujúcich na plánovaní Moznosť mať viacero plánovacích stratégií a ich následné porovnanie Spustenie konkrétneho plánovača sa vykonáva ./Jim/scripts/config/settings.rb pomocou príkazu Setting.setValue(“Planner“, “Meno triedy plánovača“ ) napr. Setting.setValue(“Planner“, “PlanZakladny“ )
Tvorba planovača sa vykonáva pomocou ruby scriptov.
Postup pri vytváraní:
Pozn. pozri príklad plánovačov v ./Jim/script/plan
V tejto časti sa nachádza analýza existujúcich plánovačov.
Planovač bol vytvoreny tímom Androids.Je to základný plánovač, ktorý ma na starosti vyhodnocovanie a zber údajov o aktuálnom stave agenta. Napr. zisťuje, kde sa nachádza lopta voči agentovi. Tieto údaje zbiera a vyhodnocuje pomocou java metód definovaných v sk.fiit.jim.agent.models.AgentModel.getInstance, sk.fiit.jim.agent.AgentInfo.getInstance a sk.fiit.robocup.library.geometry.Angles.
Plan sa nachádza v priecinku ./scripts/plan
Plán má slúžiť na testovanie brankárskych schopnosti
Plan vytvoreny tímom Team17. Je založený na základnom pláne. Slúži na nájdenie lopty(dostavenie sa k lopte) a kopnutie do nej.
Plan sa nachádza v priecinku ./scripts/plan
Plán vytvorený tímom High 5. Je založený na základnom pláne. Slúži na nájdenie lopty a útočenie na bránu, taktiež by pomocou toho plánu mal vedieť brániť protihráča.
Plán sa nachádza v priecinku ./scripts/plan
Plán vytvorený tímom Androids. Je založený na základnom pláne. Pravdepodobne bol určený na testovanie vytvorených low_skills a high_skills.
Plán sa nachádza v priecinku ./scripts/plan
Plán vytvorený tímom A55-Kickers. Je založený na základnom pláne. Jednoduchý plán, ktorým sa dajú otestovať prvé vytvorene pohyby. Slúži len na otestovanie, či sa pohyb vykoná. Nemá špecifikovane žiadne podmienky, pri ktorých sa ma agent rozhodovať, čo ma spraviť. Ma len definovanú podmienku pre spustenie hracieho módu ak tato podmienka nie je splnená pohyb sa nevykoná.
''class PlanZakladny <Plan def replan @plan.clear #is playMode? if EnvironmentModel.beamablePlayMode @queue.clear @beamed = true #add skill elsif @queue.empty? @plan<<LowSkill.new("prvy_pohyb") #@plan<<WalkBehindBall.new else @plan <<@queue.shift end end end ''
Plán vytvorený tímom A55-Kickers. Reprezentuje taktiku tímu. Dokáže zabezpečiť pozície a činnosti pre všetkých hráčov. Taktika sa zaoberá tromi hlavnými situáciami:
Každá situácia je reprezentovaná diagramom aktivít:
Diagram aktivít: Nikto nevlastní loptu
Diagram aktivít: Súper vlastní loptu
Diagram aktivít: My vlastníme loptu
Plán sa nachádza v priecinku ./scripts/plan
Podrobý opis k niektorým stavom.