FCP_GPR_2018 Team Description Paper: Evolving Parameters for Setplays in simulated soccer teams
João Alberto Fabro, Álefe Felipe Gonçalves Pereira Dias, Lucca Rawlyk Holosbach, Luis Paulo Reis, Nuno Lau
LASER Advanced Robotics and Embedded Systems Lab., Federal University of Technology – Paraná (UTFPR), Curitiba, Brazil; DSI/School of Engineering, University of Minho Guimarães, Portugal; LIACC Artificial Intelligence and Computer Science Lab., University of Porto, Portugal; IEETA, UA Inst. Eng. Elect and Telematics of Aveiro, University of Aveiro, Portugal
http://www.sourceforge.org/projects/fcportugalsetplays · http://www.sourceforge.org/projects/fcportugalSPlanner · http://www.sourceforge.org/projects/fcportugalsetplaysagent2d
Abstract FCP_GPR_2018 brings together effort of researchers from Brazil and Portugal, in a continuous effort to develop strategies and evolutions for the Simulated Soccer in Robocup. FCPortugal (FCP) have been participating since 1999 in soccer simulation categories, being the 2000 world champion in the 2D simulation category. GPR2D Team is from the Federal University of Technology-UTFPR, and is participating in simulation competitions since 2009, having won the Brazilian 2D competition in 2011, and participated actively on Robocup since 2012. Since 2014, both research teams joined forces and formed FCP_GPR, releasing a set of tools to integrate setplays (or set pieces) to soccer playing agents (see SourceForge.net project fcportugalsetplays). In this year, the approach of the research team is based on "evolving" the positioning for setplays, in order to execute the automatic fine tunning of the plays.
1 - Introduction
FCP_GPR_2018 2D soccer simulation team is the result of joining forces between FCPortugal [1] and GPR-2D [2]. FCPortugal (FPC) is a research initiative from the Portuguese research centers at the universities of Porto (LIACC - Artificial Intelligence and Computer Science Lab), Minho (DSI - Information Systems Department), and Aveiro (IEETA – Institute of Electrical Engineering and Telematics), that have participated in various categories of Robocup since 1999 (Soccer Simulation 2D and 3D, Small Size, Standard Platform and Medium Size Leagues). The main contributions of FCP includes research in coordination and cooperation among agents. FCPortugal won the 2000 Robocup Soccer 2D simulation category. GPR-2D is the simulation team from the Robotics Research Group (Grupo de Pesquisas em Robótica in Portuguese) at Federal University of Technology – Paraná - Brazil - (UTFPR). Since 2009, this team have participated in competitions, winning the Brazilian national competition in 2011, and several 2nd and 3rd places in Latin American competitions. Since 2012 (Mexico), the team have participated in Robocup. Its research focus are on machine learning approaches. Since 2014, these two research groups joined efforts, creating the FCP_GPR team for Robocup 2014, and continuing the participation in 2015, and 2016. One of the results of the joint effort is the publication, as free software, of a complete set of tools to allow any team to define and execute pre-defined, "rehearsed" plays (also know as setplays) [3] [4] [5] [6]. This TDP is focused on presenting the latest evolution of this set of tools, focusing in the expansion of the "rehearsal/training" part of the ability to execute predefined plays. Section 2 briefly presents the Setplay Framework, but the interested reader should look for a more detailed explanation in [6] and [7]. Section 3 presents some results of experiments, regarding the participation of FCP_GPR_2018 in this year's Robocup.
2. Setplays and the Setplay Framework for Soccer
Setplays, or set pieces, are plans used by teams from various sports, such as soccer. The main reason to use such predefined sequences of actions is to surprise the opposing team by executing a set of movements that have been previously accorded among the players (such as fast sequences of passes, or movements, executed in order to gain some positining advantage, or even score a goal). Setplay usually are set in motion when specific situations occur, such as: corner kicks, or faults on certain positions. FCPortugal, during several years, has developed a high-level specification language for soccer Setplays [3] [4] [5], for use with any category of Robocup, such as Simulation (both 2D [3] and 3D [5]) and Middle Size League [8]. After that, due to the difficult in mannualy adjusting the parameters of each setplay, a Graphical solution was proposed and developed: Strategy Planner (SPlanner) [7]. This tool allows anyone with an idea of a setplay, to graphically design and adjust all the setplay characteristics, providing an easy-to-use solution to specify the plays. The solution to allow anyone to include this capacity in a 2D simulation for Robocup was presented [6], where a complete example team, based on Agent2D 3.1.1 [8], was developed.
Figure 1 shows a graphical interface screen that allows editing the moves (SPlanner tool) [7], showing an example of steps in sequence, represented in the form of a graph, and a graphic representation of the play (showing the players and the ball in the field). Figure 2 shows the initial part of the XML-based code that defines a setplay. This code can be generated in the graphical tool through an option "Export Setplay".
See "http://www.sourceforge.org/projects/fcportugalsetplays" for a description of the setplay library, in C++ language, "http://www.sourceforge.org/projects/fcportugalSPlanner" for the graphical interface for setplay definition, and "http://www.sourceforge.org/projects/fcportugalsetplaysagent2d" for a complete example of an agent, based on Agent2D.
See "http://www.professionalsoccercoaching.com/free-kicks/soccer freekicks2" for a detailed description, and examples of setplays in professional soccer.
1:(setplay :name KickOffNEWFabro3 :id 24 :invertible true
2: :players (list (playerRole :roleName Player1)
3: (playerRole :roleName Player2)
4: (playerRole :roleName Player3)
5: (playerRole :roleName Player4)
6: (playerRole :roleName Player5)
7: )
8: :steps
9: (seq
10: (step :id 0 :waitTime 20 :abortTime 40
11: :participants
12: (list
13: (at (playerRole :roleName Player1) (pt :x 0 :y 0))
14: (at (playerRole :roleName Player2) (pt :x 1.5 :y 30.5))
15: (at (playerRole :roleName Player3) (pt :x 9 :y 22.5))
16: (at (playerRole :roleName Player4) (pt :x 9.5 :y 9.5))
17: )
18: )
19: …..
20: (step :id 1 :waitTime 2 :abortTime 20
21: :participants
22: (list
23: (at (playerRole :roleName Player1) (pt :x 0 :y 0))
24: (at (playerRole :roleName Player2) (pt :x 8 :y 30.5))
25: (at (playerRole :roleName Player3) (pt :x 9 :y 22.5))
26: (at (playerRole :roleName Player4) (pt :x 9 :y 10))
27: )
28: :condition (and (playm play_on) (bowner :players (list (playerRole :roleName Player4) )))
29: :leadPlayer (playerRole :roleName Player4)
30: :transitions
31: (list
32: (nextStep :id 2
33: :condition (canPassReg :from (list (playerRole :roleName Player4) )
34: :to (pt :x 7 :y 22.5))
35: :directives
36: (list
37: (do :players (list (playerRole :roleName Player1) )
38: :actions (list (moveToOffSideLine :y 12.5) )
39: )
40: (do :players (list (playerRole :roleName Player2) )
41: :actions (list (pos :region (pt :x 11.5 :y 30.5)) )
42: )
43: (do :players (list (playerRole :roleName Player3) )
44: :actions (list (intercept) (pos :region (pt :x 7 :y 22.5)) )
45: )
46: (do :players (list (playerRole :roleName Player4) )
47: :actions (list (bto :region (pt :x 7 :y 22.5) :type normal) )
48: )
49: )
50: ).......
By looking at Fig. 2, the reader can appreciate the difficulties related to specifying a complete setplay. The graphical interface developed (SPlanner, Fig. 1) solve the main part of the difficulties, related to misplaced parentheses, and other sintatic questions. But the most important task in setplays is about positioning: "what are the best "positions" for each player in each step"? The answer to this question depends on several factors such as: strenght of pass, and positions of adversary players, and others. In order to achieve the correct execution of a setplay, usually the (human) soccer players rehearse the positions, actions and movements, until a satisfatory level of reproductibility is achieved. In the case of autonomous players, such as Robocup, the only way to improve the execution of the setplay is to "manually fine tune" the parameters of the setplay. The main factor that defines the "success" of execution is the positioning of each player (identified with bold face in Fig. 2). In order to achieve the correct execution of any setplay, it is usually necessary to manually change these positions, continuously executing several simulations, until the actions are correctly executed. In 2015, a self-tuning method was proposed, based in hill climbing [9]. The proposed solution allowed the positions of each player in each step of the setplay to be "slighly altered" (with +1 or -1 adjustments), and then evaluated in several simulated games. The proposed approach counted the number of executions of each setplay, and calculates an "average of success" of its execution. Each time this average increases, the values are then altered in the setplay, and a new round of alterations can be executed.
This solution leads to setplays that are correctly executed in a greater proportion, slightly improving the gameplay. But several difficulties remained, such as allowing the alteration not only of the positions, but also of the "commands": for example, instead of just adjust fixed, it could be interesting to use operators such as moveToOffSideLine (line 38, Fig. 2), and intercept (line 44) and other possible commands, that allow for different behavior of each player, instead of just adjusting the positioning.
3. Preliminary Results
FCP_GPR continuously seeks to evaluate the advantages of using pre-defined plays (setplays or set-pieces) in soccer for Robocup. Since the use of machine learning techniques have also had interesting results for the team in the past, the effort now is to join together these two techniques and evaluate them. In simulations against Agent2D 3.1.1, the results show that the team achieves more than 90% of winning, in 100 simulated games. Against the Latin American adversaries, ITAndroids [10] and Asimov [11], respectively champions of 2012 to 2015 (ITAndroids), and of 2016 and 2017 (Asimov), the results are mixed. Against ITAndroids, the team was able to win about 36% of the games, loosing 55% and with 9% of draws (100 simulations). Against Asimov, the results where 20% wins, 20% draws and 60 % losses. Against the runner-up of Robocup 2017, FRAUnited [12], the team was not able to win or score goals, the same ocurring against Helios2017 [13], indicating that more experiments should be performed with the proposed approach, to make it competitive.
Acknowledgements
We would like to acknowledge the Robocup community for its support, specially team Helios [8] for the excellent contributions to the community and source releases that is the base for our team.
References
- Lau, N.; Reis, L. P.; Mota, L.; Almeida, F. FC Portugal 2D Simulation: Team Description Paper, online, available at: http://staff.science.uva.nl/~arnoud/activities/robocup/RoboCup2013/ Symposium/TeamDescriptionPapers/SoccerSimulation/Soccer2D/, consulted on Jan/2016.
- Neri, J.R.F.; Zatelli, M.R.; Farias dos Santos, C.H.; Fabro, J.A.; A Proposal of QLearning to Control the Attack of a 2D Robot Soccer Simulation Team, 2012 Brazilian and Latin American Robotics Symposium (SBR-LARS), pp.174-178, 16-19 Oct. 2012.
- Mota, L.; Lau, N.; Reis, L.P.; Co-ordination in RoboCup's 2D simulation league: Setplays as flexible, multi- robot plans, 2010 IEEE Conf. on Robotics, Automation and Mechatronics, RAM 2010, pp. 362-367.
- Mota, L.; Reis, L.P.; 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
- Mota, L.; Reis, L.P.; 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), Springer, LNCS/LNAI series, pp. 171-182, Venice, Italy, Nov, 2008.
- Mota, L. ; Fabro, J. A. ; Reis, L. P. ; Lau, N. Collaborative Behavior in Soccer: The Setplay Free Software Framework. In: The 18th annual RoboCup International Symposium, 2014, Joao Pessoa-PB-Brazil.
- Cravo, J.; Almeida, F.; Abreu, P.H.; Reis, L.P. ;Lau, N; Mota, L. Strategy planner: Graphical definition of soccer set-plays, Data & Knowledge Engineering 94, pp. 110-131, Nov. 2014
- Akiyama, H. Helios RoboCup Simulation League Team, online, available at: http://rctools.sourceforge.jp/pukiwiki/, consulted on: Jan/2018.
- Fabro, J. A.; Brenner, V. A.; Reis, L. P.; Lau, N.; FCP_GPR_2015 Team Description Paper: Using Setplays and Self Adjusted positioning in simulated soccer teams, online, available at: http://chaosscripting.net/files/competitions/RoboCup/WorldCup/2015/2DSim/tdps/FCP_GPR_2015_TDP.pdf, Consulted on Mar/2018.
- Coimbra, F; Marinot, G.; Douglas, M. ITAndroids 2D Soccer Simulation Team Descriptioon Paper 2017 (TDP for Latin American Robotics Competition-LARC/2017), online, Available at: http://www.cbrobotica.org/mostravirtual/interna.php?19570, Consulted on Mar/2018.
- Costa, A. F.;Teixeira, G. F.; Batista, L.; Campos, L. H.; Rodrigues, M.; Rios, R. O.; Mendes, R. ASIMOV Simulation Soccer 2D (TDP for Latin American Robotics Competition-LARC/2017), online, Available at: http://www.cbrobotica.org/mostravirtual/interna.php?19558, Consulted on Mar/2018.
- Gabel, T.; Breuer, S.; Roser, C.; Berneburg, R.; Godehard, E. FRA-UNIted Team Description 2017 (TDP for Robocup 2017), online, Available at: https://www.robocup2017.org/file/symposium/soccer_sim_2D/TDP_FRA-UNIted.pdf, Consulted on Mar/2018.
- Akiyama, H.; Nakashima, T.; Tanaka, S.; Fukushima, T.. HELIOS2017 Team Description Paper (TDP for Robocup 2017), online, Available at: https://www.robocup2017.org/file/symposium/soccer_sim_2D/TDP_HELIOS2017.pdf, Consulted on Mar/2018.