Coordination Methodologies Developed for FC Portugal 3D Team

Luís Paulo Reis, Nuno Lau

FEUP – Faculty of Engineering of the University of Porto, Portugal; DET – Electronics and Telecommunications Department, University of Aveiro, Portugal; LIACC – Artificial Intelligence and Computer Science Lab., University of Porto, Portugal; IEETA – Institute of Electronics and Telematics Engineering of Aveiro, Portugal

http://www.ieeta.pt/robocup/


Abstract FC Portugal 2007 3D team is built upon the structure of our previous Simulation league 3D team that won RoboCup 2006 in Bremen, scoring 77 goals without conceding any. Our research is mainly focused on the adaptation of previously developed methodologies from our 2D soccer teams [1, 2, 3] to the new 3D environment and on creating new coordination methodologies based on the previously developed ones. In our 2D teams, which participated in RoboCup since 2000 with very good results, we have introduced several concepts and algorithms covering a broad spectrum of the soccer simulation research challenges. From coordination techniques such as Tactics, Formations, Dynamic Positioning and Role Exchange, Situation Based Strategic Positioning and Intelligent Perception to Optimization based low-level skills, Visual Debugging and Coaching, the number of research aspects FC Portugal has been working on is quite extensive [1, 3]. The research-oriented development of our team has been pushing it to be one of the most competitive over the years (World champion in 2000 and Coach Champion in 2002, European champion in 2000 and 2001, Coach 2nd place in 2003 and 2004, European champion in Rescue Simulation and Simulation 3D in 2006 and World Champions in Simulation 3D in Bremen 2006). This paper describes some of the main innovations of our team in 2006 3D simulation league competition relating them with previous work developed by simulated RoboCup teams in 2D and 3D simulation leagues. It also, very briefly describes the low-level skills that will be developed for the new humanoid model that will probably be used in RoboCup 2007 Simulation 3D competition.

1. Introduction

FC Portugal 2006 was built upon the low-level skills research conducted during previous years. Although there is still space for improvement in FC Portugal low-level skills, we feel that we currently have a very performing set of these skills. We are currently focused on the high-level decision and cooperation mechanisms of our agents. The skills have been developed using several different techniques. Some are based on a derived analytical physical model of the physics inside the simulator others are based on online optimization while others are based on functions estimators derived from experience.

For RoboCup 2006 3D soccer simulation competition, the decisive factor (like in the 2D competition) was the high-level reasoning capacities of the players and not their low-level skills. Thus we worked mainly on high-level coordination methodologies for our 2006 team.

Since in 2007 humanoid agents will be introduced and teams will consist of only a few agents, research in coordination is doomed in the 3D league. Developing low-level skills, contrarily to what should be researched in a simulation league like this, will be the focus of research in 3D league (or maybe hard labor without research for most of the teams) in the next months.

However research in several interesting topics is opened by the introduction of humanoid agents, including in the use of learning and optimization techniques for developing efficient low-level skills. In previous work, we have introduced methods for developing very efficient low-level skills using optimization techniques [1, 3]. This work will be extended for developing efficient humanoid walking and kicking skills.

2. New Research Directions

New research directions include research on agent architecture, the humanoid model and its associated restrictions in terms of dynamics, sensing, and decision, will foster the development of new layered architectures for its controlling agents. The lower layers will be responsible for the basic control of the humanoid such as equilibrium while the higher take decisions at a strategic level. The team will try and compare several methods to generate humanoid basic behaviors, including simulated annealing, tabu search, genetic algorithms, and reinforcement learning.

Some new directions of research in FC Portugal will also include developing a model for a strategy for a humanoid game and the integration of humanoids coming from different teams in a inter-team framework to allow the formation of a team with different humanoids.

Opponent modelling may be a critical module in humanoid soccer, including the opponent basic behaviors performance, its positioning, its tendency to play at the edge (or beyond) of the fair-play rules, etc are factors that must be taken into account when selecting a given strategy for a game.

Other research that may be performed with humanoids includes intelligent sensing, because the humanoids will not be able to look in all directions at the same time (this may not be the case in 2007, but it will happen with the evolution of the Simulation League). So, it is very important to choose the best looking direction considering all restrictions introduced by the dynamics of humanoid movement.

Also heterogeneity will be important because in the future it is expected that not all humanoids will be identical, having humanoids with different capabilities introduces new problems of task assignment that will have to be dealt within humanoid teams.

3. FCPortugal 3D Agent

The FC Portugal Agent 3D [5] is composed by 6 main packages: WorldState, Physics, Geometry, Skills, Actions and Utils (Fig. 1).

The world state package is probably the most complex one. It has all the information that the FCPAgent needs to decide which action it should take. There are three kinds of information that the WorldState needs: information about the objects (like players, landmarks and the ball), information about the conditions of the game (like field length, goal width, etc) and the state of the game (like the current play mode, the result, the time, etc).

The physics package aims to reproduce the physical interactions between the bodies in the world as accurate as possible in the way the server does.

On the geometry package, two classes are implemented - the Vector3f and Vector2f. Each of them provides methods to manipulate and to produce calculations with 3D vectors and 2D vectors respectively. It is also used a class named Vector and a geometry package that were included from the source code of the FC Portugal 2D agent.

The skills are the low-level actions that an agent is able to perform. Kicking the ball, moving their body, intercepting the ball, or dribbling are samples of agent's skills. These are also the ones implemented at the moment by FC Portugal team. Every skill implements the GenericSkill interface. When a skill is initialized it immediately computes the necessary calculations to execute itself. However, the initialization does not execute the skill. Every skill has a method named Execute() that allows its execution.

An action is a group of skills that, together, produce higher lever behaviours. Sample of actions may be: passing, shooting, forwarding the ball, dribbling, clearing and holding. The architecture of the FCPAgent3D already supports the implementation of passes, shoots, dribbles and forwards.

In order to produce an action 4 main classes are involved: a mediator, an evaluator, a generator and the action itself. The generator (ActionGenerator) is the class that allows the creation of potential actions that are able be performed. There are 3 classes that extend the ActionGenerator, one per type of action – pass, shoot and forward. Each class is able to return a set of actions of its type to be considered for future evaluation. The actions returned by each generator have their one properties according with its type and all of them extend the GenericAction class. The evaluation of the actions created is done by the evaluator (ActionEvaluator). This is a class that enables the agent to estimate the usefulness of every action generated. The evaluator has also 3 classes (one per type of action) that extend it; each of them has its one evaluation components that allow them to estimate the usefulness of a given action of its type.

To join everything together FCPAgent has a mediator (ActionMediator) that is able to call the functions necessary to generate and evaluate every type of action and to decide which action will be preformed.

The package Utils was made to contain classes that do not have a direct relevance on the agent behaviour but help to make some tasks easier. Samples of the operations of those classes are the creation of log files, communication with the simulator, a message parser and a message composer to send the actions to the simulator.

Fig. 1: Agent Architecture
Fig. 1: Agent Architecture
Figure 2: WorldState architecture
Figure 2: WorldState architecture
Figure 3 – Actions Architecture.
Figure 3 – Actions Architecture.

4. High-Level Decisions and Coordination

Flexible Tactics has always been one of the major assets of FC Portugal teams. FC Portugal 3D is capable of using several different formations and for each formation players may be instantiated with different player types. The management of formations and player types is based on SBSP – Situation Based Strategic Positioning algorithm [1, 4]. Player's abandon their strategic positioning when they enter a critical behavior: Ball Possession or Ball Recovery. This enables the team to move in a quite smooth manner, keeping the field completely covered.

The high-level decision uses the infrastructure presented in the section 3. Several new types of actions are currently being considered taking in consideration the new opportunities opened by the 3D environment of the new simulator. We also have adapted our previous researched methodologies to the new 3D environment:

  • Strategy for a Competition with a Team with Opposite Goals [1, 3, 4];
  • Concepts of Tactics, Formations and Player Types [1, 3, 4];
  • Distinction between Active and Strategic Situations [1, 4];
  • Situation Based Strategic Positioning (SBSP) [1, 4];
  • Dynamic Positioning and Role Exchange (DPRE) [1, 4];
  • Visual Debugging and Analysis Tools [1, 3];
  • Optimization based Low-Level Skills [1, 3].
  • COACH UNILANG A Standard Language to Coach a (Robo)Soccer Team [2, 3];
  • ADVCOM Intelligent Communication using a Communicated World State [1, 3].

In 2007, research will be mostly concerned in developing optimization based low level skills for the future humanoid agent. The high-level layers of the team are ready to be used in the new simulator (as they are the same used in our Simulation 2D, small-size, middle-size and rescue teams).

5. Conclusions

In 2006 we proved that almost all of our research on high-level flexible coordination methodologies was directly applicable to the 3D league. The results achieved proved this and the team easily won the European championship and the world championship, scoring 77 goals with conceding any in this last competition.

Robust low-level skills will be developed for the new humanoid model, using optimization techniques, enabling us to continue the research in strategical reasoning and coordination methodologies that should be the focus of the simulation leagues inside RoboCup.

Acknowledgements

This work was partially supported by the Portuguese National Foundation for Science and Technology FCT-POSI/ROBO/43910/2002 Project - "FC Portugal – New Coordination Methodologies applied to the Simulation League".

References

  1. Luis Paulo Reis and Nuno Lau, FC Portugal Team Description: RoboCup 2000 Simulation League Champion, In P. Stone, T. Balch and G. Kraetzschmar editors, RoboCup-2000: Robot Soccer World Cup IV, LNAI 2019, pp 29-40, Springer, 2001, ISBN 3-540-42185-8
  2. Luis Paulo Reis and Nuno Lau, COACH UNILANG A Standard Language for Coaching a (Robo)Soccer Team, In A. Birk, S. Coradeshi, S. Tadokoro editors, RoboCup-2001: Robot Soccer World Cup V, Springer LNAI, Vol. 2377, pp 183- 192, 2002, ISBN 3-540-43912-9
  3. Nuno Lau and Luis Paulo Reis, FC Portugal Homepage, Http://www.ieeta.pt/robocup
  4. Luis Paulo Reis, Nuno Lau and Eugénio Oliveira. Situation Based Strategic Positioning for Coordinating a Simulated RoboSoccer Team, in M. Hannebauer, J. Wendler and E. Pagello eds, Balancing React. and Social Deliberation in MAS, Springer, LNAI, Vol. 2103, pp.175-197, Berlin, 2001, ISBN 3-540-42327-3
  5. Hugo Marques, Nuno Lau and Luís Paulo Reis, FC Portugal 3D Simulation Team: Architecture, Low-Level Skills and Team Behaviour Optimized for the New RoboCup 3D Simulator, Reis, L.P. et al. eds, Proc. Scientific Meeting of the Portuguese Robotics Open 2004, FEUP Editions, Colecção Colectâneas, Vol. 14, pp.31-37, April, 23-24, 2004, ISBN 972-752-066-9