¤ Thursday, January 9, 2003
Introduction
Tiro is a RoboCup player that has been developed to allow users
to quickly start using the CRaPI framework. We developed it to provide
a tutorial on how to use CRaPI.
Setup
1. Download the Tiro package from
our download section.
2. Unzip the Tiro package.
3. Add Tiro project to existing or empty solution.
4. Build the project.
5. Start the robocup server.
6. Start Tiro.exe with the argument “-c small_team.xml”
(make sure the Host-tag in small_team.xml refers to the computer
where there server runs).
How to use Tiro
DecisionMaker
The DecisionMaker is an abstract base class that defines the interface
for decision makers. StateAnalyzer is our implementation of a DecisionMaker,
which evaluates the current state of the game.
GameState
GameState is a class that when chosen by the StateAnalyzer evaluates
the set of associated Behaviours. Examples of GameStates are AttackGameState
and DefenseGameState, which have different Behaviours associated.
Behaviour
A Behaviour have two functions. The first function is to evaluate
how beneficial it is, in the current situation, for itself to be
fired. The second function is to produce a list of Commands that
is to be sent to the server. Normally this list only contains one
Command, but remember that a turn_neck can be launched in the same
cycle as another command. For information about how to create Behaviours,
see the Behaviour class and its subclasses.
XML
XML is used extensively in Tiro to define parameters such as; team
name, server ip, server port and time out. XML is also used to define
each Player in the team. For each Player, the XML defines start
location, which DecisionMaker to use and which Behaviours to use
for each GameState. For more information of how to write the XML-file
please see small_team.xml, or run tiro.exe with the “-m”
argument to create a default file for one player.
|