Each player consists of a WorldModel, Behaviors, and a Body for
communicating with the server. For every time interval, a player
will listen, think, and then act. In the listen step, sensory
information received from the soccer server is produced by the body and
inserted into the WorldModel. Next, if a behavior is useful, that
behavior uses perceptions of the world to determine a
recommendation. These recommendations are then combined to form a
final recommendation which is given to the body. This
recommendation results in a set of actions which correspond to commands
to the Soccer Server.
The following out-of-date UML diagrams express some of the classes in the team. The important classes are hinted at in the preceding diagram. MasterControl encapsulates the steps of listening, thinking, and acting. This class is the highest level control of our player. Body abstracts communication with the soccer server. If the team was ported to a robot, the code for interfacing with the robot would be encapsulated within Body. SensorData's are produced by a factory inside the body and encapsulate visual, audio, and player and game status information. WorldModel stores information about the world, including information about the field, ball, client player and all team mates and opponents. Behavior and Perception are abstract base classes. Perceptions hold groups of functions for extracting or deducing information about the WorldModel. Behaviors represent a specific tendency or possible action for the client player. A Recommendation object consists of a grade and a list of recommended actions. The recommendation objects are produced by the various behaviors. Currently, the combiner currently chooses the recommendation with the highest grade. Finally, actions represent a high level sequence of motions to communicate to the Soccer Server.
Have questions? Email David Evans