Coordination Methodologies Developed for FC Portugal 3D 2006 Team

Nuno Lau, Luís Paulo Reis

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

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


Abstract FC Portugal 2006 3D team is built upon the structure of our previous Simulation league 3D team that participated in RoboCup 2005 in Osaka. 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 researchoriented 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). This paper describes some of the main innovations of our team for 2006 3D simulation league competition relating them with previous work developed by simulated RoboCup teams in 2D and 3D simulation leagues.

1. Introduction

FC Portugal 2006 build upon the low-level skills research conducted during 2005. 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 we expect that the decisive factor (like in the 2D competition) may be the high-level reasoning capacities of the players and not their low-level skills. Thus we are working mainly on high-level coordination methodologies for our 2006 team.

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 2006 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.

5. Projected Developments

We plan to adapt 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];

6. Conclusions

We believe that most of our research on high-level flexible coordination methodologies may be applied directly to the 3D league. The first results of our team were quite encouraging. Using more robust low-level skills we deem that the coordination methodologies previously developed and adapted to the new environment will enable a highly competitive 3D team.

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