Although the single-agent behaviors are very effective when just a single robot is on the field, if all five robots were simultaneously chasing the ball and trying to shoot it at the goal, chaos would result. In order to achieve coordinated multiagent behavior, we organize the five robots into a flexible team structure.
The team structure, or formation, defines a set of roles, or positions with associated behaviors. The robots are then dynamically mapped into the positions. Each robot is equipped with the knowledge required to play any position in each of several formations.
The positions indicate the areas of the field which the robots should move to in the default situation. There are also different active modes which determine when a given robot should move to the ball or do something else instead. Finally, the robot with the ball chooses whether to shoot or pass to a teammate using a passing evaluation function.
These high-level, multiagent behaviors were originally developed in simulation and then transferred over to the robot-control code. Only the run-time passing evaluation function was redefined. Further details, particularly about the flexible team structures, are available in .