FC Portugal 2D Simulation: Team Description Paper
Luís Paulo Reis, Nuno Lau, Luís Mota
DEI/FEUP – Informatics Engineering Department, Faculty of Engineering, Univ. of Porto, Portugal; DETI/UA – Electronics, Telecommunications and Informatics Dep., 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
Abstract FC Portugal project intends to continue the research performed during the development of previous FC Portugal RoboCup simulation league teams. These teams had very good results in previous RoboCup simulation competitions. FC Portugal won the simulation league 2D in RoboCup2000 (Melbourne) and won two European championships (Amsterdam2000 and Paderborn2001). FC Portugal team also won the 2002 Coach Simulation in Fukuoka and achieved two second place awards in this competition (Padova2003 and Lisbon2004). The simulation rescue team was European champion in 2006. The simulation 3D team was world champion of RoboCup2006 (Bremen) and European champion in 2006 and 2007. This paper describes some of the innovations of our Simulation 2D team for the next RoboCup simulation league competitions, relating them with previous work developed by our simulated RoboCup teams. It contains mainly a general description of the work developed and references to some of the scientific papers that contain a more detailed description [1-19]. The main innovation for FC Portugal 2010 is based on the use of setplays as the team's main coordination mechanism, implementing the setplay framework previously proposed.
1. Introduction
The main research goal of FC Portugal team is the development of a formal model for the concept of team strategy for a competition with an opponent team having opposite goals, general enough to be instantiated to various dynamic competitive domains such as distinct RoboCup leagues.
The project research focus is also concerned with developing general decisionmaking and cooperation models for soccer playing. Cooperation mechanisms include developments of the previously proposed Situation Based Strategic Positioning [10,11,13] and Dynamic Positioning and Role Exchange Mechanisms [10,11,13]. These mechanisms have proven their validity by being adopted by several teams in different leagues, namely by 5DPO [1] and by the 2008's Mid-size champions, CAMBADA [16,17].
Communication languages and protocols, to convey the most relevant information at the right times to players have also been developed. Also, research is focused on intelligent control of players' sensors to achieve maximum coordination and world state accuracy. Online optimization has been used in order to develop a complete set of efficient low-level skills for soccer playing agents and applied in FC Portugal 2d and 3d teams [2,10].
Coaching is an important research topic in RoboCup. We have proposed Coach Unilang – a general language to coach a (robo)soccer team [9]. Our coach conveys strategic information to players, while keeping their individual decision autonomy. For 2010 we are working on a coach agent capable to calculate high-level match statistics that may useful for teams to develop opponent modeling approaches [19].
FC Portugal is also very concerned with the development of agent evaluation tools like our offline client methodology; WstateMetrics that evaluates the accuracy of world states and Visual debugger used to analyze the reasoning of agents[14,15]. Evaluation by domain experts using graphical tools is one of the methodologies that will be used to fine tune our team for RoboCup 2010 tournament.
We have also developed a framework for high-level setplay definition and execution, applicable to any RoboCup cooperative league and similar domains. The framework is based in a standard, league-independent and flexible language that defines setplays, which may be interpreted and executed at run-time [5-8]. Since this is the main innovation for our 2010 team, the paper will be focussed on describing the setplay concept and its use inside the team strategy for the simulation 2d league.
The rest of the paper is organized as follows. Section 2 describes FC Portugal agent architecture and the knowledge structures used. Section 3, briefly describes some of the high-level decision and cooperation algorithms developed by the team. Section 4 describes some new work on a Strategical layer definition. Section 5 describes the new flexible setplay concept and its implementation. The last section contains the paper conclusions and pointers to future work.
2. Agent Architecture and Knowledge Structures
To enable a team to perform cooperative multi-agent tasks, like playing simulated soccer, in a partially cooperative, partially adversarial environment a lot of knowledge is needed. Also, agents must have a world state representation as updated and as accurate as possible. Knowledge is essential to perform complex cooperative tasks in complex dynamic environments. Whenever the domain becomes more complex, knowledge importance is even greater. This is the case in multi-objective, partially cooperative and adversarial domains in which agents have limited perception and action capabilities. For this type of domains we argue that to correctly perform cooperative tasks, agents should include knowledge at three levels: individual action execution; individual decisionmaking; and cooperation. Knowledge for executing actions is concerned with the specific commands needed to perform a given low-level action. Individual decisionmaking knowledge is concerned with the way agents choose the action to execute (from the available set of actions). Knowledge for cooperation is concerned with tactics, situations, dynamic formations, roles, dynamic plans and communication protocols [11,13]. Representation structures for this type of multi-level knowledge are one of our research goals.
The team architecture is based on the idea of a Common Framework for Cooperative Robotics [6,7] as a new robotic architecture that intends to be applicable to different leagues. This architecture relies on a multi-agent system (MAS) paradigm. In order to control different (simulated and real) robots, the Common Framework needs specific components that deal with each agent's perception and action capabilities. Low-level skills and perception mechanisms are defined for each type of robot in each type of league, while high-level actions can be chosen through the same, league-independent, decision-making component. A general action vocabulary enables the low-level action components to understand high-level decision-making, whereas a perception vocabulary addresses the representation of state-of-the-world information. In order for the Common Framework to be truly flexible, allowing the integration and replacement of components in real time, it requires a flexible architecture that can be modified both in real and compile time based on a multi-agent system for the control of each player making the team a system of multiple multi-agent systems. In each of the players, the same kind of components exist (perception, action, decision, etc.), taking part on a MAS while using standardised communication. The components can arbitrarily vary in number, and even be redundant. The Common Framework allows the same high-level controller to decide independently from the low-level skills and perception frameworks. This will allow our players to rely on different, and redundant, low-level implementations. The team is now on the process of integrating skills from the (publicly available) Helios [24] WrightEagle [23] and UvA-Trilearn [22] codes to the Common Framework besides its previous skills and skills coming from the CMUnited99 base code [21].
3. High-level decision and Cooperation
We extended our Dynamic Positioning and Role Exchange mechanism (DPRE) [11,13] that is based on previous work by Stone et al [20]. How to define roles based on standardized agent behavior characteristics for the RoboCup simulated soccer domain is one of the problems to be tackled. To improve the flexibility of our team, agents are able to switch their relative positions (for a given formation) and roles (that define agent behavior at several levels), at run-time, on the field.
We have proposed and continually developed Situation Based Strategic Positioning (SBSP) mechanism [11,13] that may be used to dynamically spatially position a team using different flexible formations for different situations. This mechanism is based on the distinction between active and strategic situations [10,11]. If an agent is not involved in an active situation then it tries to occupy its strategic positioning that change according to the situation of the game. Situation is a concept on a high-level analysis of the game (attacking or defending for example). SBSP was one of the main innovations of FC Portugal and is now used directly or as the base for the positioning systems of many simulated soccer teams.
These two coordination mechanisms have been used with success by many RoboCup teams, including CAMBADA team, world champion of the Middle-Size league in RoboCup 2008 and 3rd place in RoboCup 2009 [16,17].
4. Strategical Coordination Layer
Based on our previous work on strategical modeling [11,13] we have developed a multipurpose, adaptable, strategical coordination layer that allows the management of heterogeneous teams, for both centralized and decentralized environments, with reduced use of communication [3,4]. The model uses a multi-level hierarchical approach. In the first, lower level, the concept of roles is used to reflect the agent's usual activities. The second level introduces a sub-tactic that aggregates agents with various roles to solve partial objectives [3,4]. On top of the sub-tactics, the use of formations is employed to distribute available agents throughout the sub-tactics. A higher, tactical level then uses a hybrid method to switch formations. This method is based on a combination of events, situations and precedences [3,4]. On top of the previous levels a strategical level is defined that allows the commutation between tactics according to scenario conditions.
These methodologies were applied for several RoboCup Soccer distinct leagues and RoboCup Rescue and tested in real competitions and controlled experiments, achieving very good results [1,3,4,12,18].
5. Setplays
Setplays are commonly used in many team sports such as soccer, rugby, handball, basketball and baseball. There are surely several important differences between robot soccer and human sports, but setplays can nonetheless be a useful tool for high-level coordination and cooperation
We have also developed a framework for high-level setplay definition and execution, applicable to any RoboCup cooperative league and similar domains. The framework is based in a standard, league-independent and flexible language that defines setplays which may be interpreted and executed at run-time [5]. The Setplay framework was designed with the goal of being general, flexible, parameterizeable and applicable to any robotic soccer league. Its' general structure is shown schematically in Figure 1.
At the top level, a Setplay is identified by a name, and has parameters, which can be simple data types like integers and decimals, or more sophisticated concepts as points and regions. Setplays also have Player References, which identify players taking part in the Setplay. The Player References can point to specific players, or be Player Roles, i.e., abstract representations of a particular role in the Setplay, identified by a name (e.g., attacker, supporter). parameters and Player Roles will be instantiated at run-time.
Steps are the main building blocks of a Setplay. A Step can be seen as a state in the execution of a Setplay. A Step has an id, which is a non-negative integer. In order to control the Step's execution, the concepts of wait time and abort time are introduced. A Step also has a Condition, which must be satisfied before entering the Step. There are several possible ways out of a Step, which are defined as Transitions. All Transitions can have a Condition, which must be satisfied for the Transition to be followed. Possible transitions are Abort Transition, Finish Transition and NextStep, that is used to link between the different Steps. It includes the id of the next Step to be reached, and contains a list of Directives that will be applied in order to accomplish the Transition.
For 2010 FC Portugal team, effort was made in order to completely implement the setplay framework proposed [5] that was not possible to use in RoboCup 2009 due to low-level implementation problems. A graphical interface – Playmaker – was designed and completely implemented, enabling graphical definition of setplays. An interesting innovation is that the setplay framework is in the process of being validated by a set of domain experts (soccer coaches and players) that are also going to design robo soccer setplays to be used by our team in RoboCup 2010 competition.
6. Conclusions
This short paper briefly described some of FCPortugal team research areas. For more detailed explanations of the main issues addressed, please refer to the team published papers [1-19]. FC Portugal is a team with a beautiful, fast, "real soccer like" way of playing simulated soccer. The setplay framework under implementation during the last two years will make the team even more flexible and adaptable to different types of opponent strategies. The Graphical definition of setplays, using playmaker, by professional soccer coaches will enable to completely use in real games, the setplay framework.
Future work is concerned with creating a robust robocup simulation 2d base code using low-level skills based on our previous source code, our multi-agent approach and public source code releases [21-24]. Future work is also concerned with completely implementing and using in real competitions our setplay framework. Setplays will be defined by team members but also by professional soccer coaches using the implemented graphical setplay definition system: playmaker.
Acknowledgements
This work was partially supported by the Portuguese National Foundation for Science and Technology FCT-PTDC/EIA/70695/2006 Project - "ACORD: Adaptive Coordination of Robot Teams". We would like to acknowledge Peter Stone, Patrick Riley and Manuela Veloso for their release of CMUnited1999 low-base code [21] in which our FCPortugal 2000 team [10] was based. Our acknowledgments goes also for UVA Trilearn team [22], WrightEagle team [23] and Helios team [24] for their excellent contributions to the community and source releases that helped the simulation 2d community to grow.
References
- André Scolari Conceição, A. Paulo Moreira, Luís Paulo Reis and Paulo J. Costa. Architecture of Cooperation for Multi-Robot Systems, 1 st IFAC Workshop on Multivehicle Systems (MVS'06), Bahia Convention Center, Salvador, Brazil, October 2 – 3, 2006
- Hugo Picado, M.Gestal, N.Lau, L.P.Reis, A.M.Tomé, Automatic Generation of Biped Walk Behavior Using Genetic Algorithms. In J.Cabestany et al. (Eds.), 10th Int.-Conf. on Artificial Neural Networks, IWANN 2009, Springer, LNCS Vol. 5517, pp. 805-812, Salamanca, Spain, June 10-12, 2009.
- João Certo, Nuno Lau e Luís Paulo Reis, A Generic Multi-Robot Coordination Strategic Layer, RoboComm 2007 - First Int. Conf. Robot Comm. and Coordination, Athens, Greece, Oct 15-17, 2007
- João Certo, Nuno Lau e Luís Paulo Reis*, A Generic Strategic Layer for Collaborative Networks,* In IFIP International Federation for Information Processing, Volume 243, Establishing the Foundations for Collaborative Networks, eds. Camarinha-Matos, L. et al. Springer, pp. 273-282, September 2007
- Luís Mota e Luís Paulo Reis, Setplays: Achieving Coordination by the appropriate Use of arbitrary Pre-defined Flexible Plans and inter-robot Communication, RoboComm 2007 - First Int. Conf. on Robot Communication and Coordination, Athens, Greece, October 15-17, 2007
- Luis Mota, Luís Paulo Reis and Hans-Dieter Burkhard. Communication Challenges Raised by Open Co-Operative Teams in RoboCup. Estela Bicho et al. (eds.) CD Proceedings of the Scientific Meeting of the Portuguese Robotics Open 2006, Guimarães, Portugal, April, 2006,
- Luis Mota, Luís Paulo Reis, A Common Framework for Cooperative Robotics: an Open, Fault Tolerant Architecture for Multi-league RoboCup Teams, Int. Conf. Simulation Modeling and Progr. for Aut. Robots (SIMPAR 2008), Springer, LNCS/LNAI series, pp. 171-182, Venice, Italy, Nov 2008
- Luis Mota, Luís Paulo Reis, An Elementary Communication Framework for Open Co-operative RoboCup Soccer Teams, in Sapaty P; Filipe J (Eds.) 4th Int. Conf. on Informatics in Control, Automation and Robotics - ICINCO 2007, pp. 97-101, Angers, France, May 9-12, 2007
- Luís Paulo Reis and Nuno Lau, COACH UNILANG A Standard Language for Coaching a (Robo) Soccer Team, in A.Birk, S.Coradeschi and S.Tadokoro, editors, RoboCup-2001: Robot Soccer World Cup V, Springer Verlag LNAI, Vol. 2377, pp. 183-192, Berlin, 2002
- Luís Paulo Reis and Nuno Lau, FC Portugal Team Description: RoboCup 2000 Simulation League Champion, in Peter Stone, Tucker Balch and Gerhard Kraetzschmar, editors, RoboCup-2000: Robot Soccer World Cup IV, Springer LNAI, Vol. 2019, pp.29-40, Berlin, 2001
- Luis Paulo Reis, Nuno Lau and Eugénio C. Oliveira, Situation Based Strategic Positioning for Coordinating a Team of Homogeneous Agents in Markus Hannebauer, Jan Wendler and Enrico Pagello Editors, Balancing Reactivity and Social Deliberation in Multi-Agent System – From RoboCup to Real-World Applications, Springer LNAI, Vol. 2103, pp. 175-197, Berlin, 2001
- Luís Paulo Reis, Nuno Lau, Francisco Reinaldo, Nuno Cordeiro and João Certo. FC Portugal: Development and Evaluation of a New RoboCup Rescue Team. 1 st IFAC Workshop on Multivehicle Systems (MVS'06), Bahia Convention Center, Salvador, Brazil, October 2-3, 2006
- Nuno Lau and Luis Paulo Reis, FC Portugal High-level Coordination Methodologies in Soccer Robotics, Robotic Soccer, Book edited by Pedro Lima, Itech Education and Publishing, Vienna, Austria, pp. 167-192, December 2007, ISBN 978-3-902613-21-9
- Nuno Lau, Luís Paulo Reis and João Certo, Multi-Level, Functional, Spatial and Temporal Agent's Reasoning Debugging, Proc. 13th Port.Conf. on AI, EPIA 2007, New Trends in Artificial Intelligence, pp. 716-726, Guimarães, Portugal, December 3-6, 2007
- Nuno Lau, Luís Paulo Reis e João Certo, Understanding Dynamic Agent's Reasoning, In Progress in Artificial Intelligence, 13th Port. Conf. on AI, EPIA 2007, Guimarães, Portugal, December 3-6, 2007, Springer LCNS, Vol. 4874, pp. 542-551, 2007
- Nuno Lau, Luís Seabra Lopes, G. Corrente and Nelson Filipe, Multi-Robot Team Coordination Through Roles, Positioning and Coordinated Procedures, Proc.IEEE/RSJ Int. Conf. on Intelligent Robots and Systems – IROS 2009, St. Louis, USA, Oct. 2009
- Nuno Lau, Luis Seabra Lopes, Gustavo Corrente and Nelson Filipe, Roles, Positionings and Set Plays to Coordinate a MSL Robot Team, 14th Port. Conf. on Artificial Intelligence, EPIA'2009, Aveiro, LNAI 5816, Springer, pp 323-337, October 12-15, 2009
- Ricardo Gimenes, Luis Mota, Luis Paulo Reis, Nuno Lau and João Certo, Simulation Meets Reality: A Cooperative Approach to RoboCup's Physical Visualization Soccer League, Proceedings of the 13th Portuguese Conference on Artificial Intelligence, EPIA 2007, New Trends in Artificial Intelligence, pp. 645-656, Guimarães, Portugal, December 3-6, 2007
- Rui Almeida, Luís Paulo Reis, Alípio Mário Jorge: Analysis and Forecast of Team Formation in the Simulated Robotic Soccer Domain. 14th Port. Conf. on Artificial Intelligence, EPIA'2009, Aveiro, LNAI 5816, Springer, pp 239-250, October 12-15, 2009
- Peter Stone and Manuela Veloso, Task Decomposition, Dynamic Role Assignment, and Low-Bandwidth Communication for Real-Time Strategic Teamwork, Artificial Intelligence, Vol. 110, No. 2, pp. 241–273, 1999.
- Peter Stone, Patrick Riley and Manuela Veloso, CMUnited-99 source code, 1999, online, available at: http://www.cs.cmu.edu/~pstone/RoboCup/CMUnited99-sim.html, consulted on February 2000.
- Jelle Kok et al., UVA Trilearn Web Page, online, available at: http://staff.science.uva.nl/~jellekok/robocup/index\_en.html, consulted on January 2010.
- Xiaoping Chen et al., WrightEagle 2D Soccer Simulation Team, online, available at: http://wrighteagle.org/2D/, consulted on January 2010.
- Hidehisa Akiyama, Helios RoboCup Simulation League Team, online, available at: http://rctools.sourceforge.jp/pukiwiki/, consulted on January 2010.