RoboCup Middle-Size League |
We use a shared world model, which is locally maintained in each of the robots. This world model is based upon the information each robot receives from it's local sensors (i.e. odometry and vision). The world model consists of the robot's own position and the positions of the other objects in the game. The data from the various team members will be fused to form a combined world model. This way each robot can not only keep track of the objects perceived by itself but also the objects perceived by its teammates. Fusion of the observations of the whole team, also reduces the uncertainty about the positions of the objects in the world. Key research issues here are self-localization and data-fusion.
We are developing software to enable team coordination between all members of the Dutch team. Since the team is heterogeneous both in hardware and software, this can prove to be quite a challenge. The world model enables a robot not only to reason about its own actions but also about the possible actions of its team mates. The team behaviour (attack, defend or intercept) can be determined by checking which player has the ball. Utility functions (based on potential fields) are used to distribute an individual role to each team mate.
Choosing the next action the robot should take is handled by a Markov decision process. A number of appropriate actions is generated and evaluated using criteria like ball possession and role evaluation. If you are able to predict with reasonable accuracy the probability of success of each action you can choose the action with the maximum expected utility. An interesting avenue of further research could be to adjust these probabilities using reinforcement learning.