The magmaOffenburg 2019 RoboCup 3D Simulation Team
Klaus Dorer, Jens Fischer, Carmen Schmider, David Weiler
Hochschule Offenburg, Elektrotechnik-Informationstechnik, Germany
Abstract Team description papers of magmaOffenburg are incremental in the sense that each year we address a different topic of our team and the tools around our team. In this year's team description paper we address our team formation strategy including set plays and how it is tested using our simulator.
1 Introduction
Team strategy and set plays have been an area of research since the first days of RoboCup and have been addressed in numerous papers since then. A complete overview is out of scope in a team description paper, so we address only few examples. Initially mainly addressed in simulations leagues (e.g. [6]) and still a matter of research and improvement there (e.g. [3], the topic has soon spread to most of the multi-robot leagues in RoboCup like, for example, mid-size league (e.g. [5]). Specialized tools have been proposed and published like in [4, 2].
In this team description paper we describe how the magmaOffenburg 3D soccer simulation team uses team formation and set-plays to improve play strength. We also describe how our simulator helps to define and debug team strategy, knowing that there is still a lot of room for improvement.
2 Approach
In the following we describe the process of role assignment to players, the special Marker role and our tool to modify and debug roles.
2.1 Role Assignment
Our team strategy uses a dynamic approach for assigning roles to agents. As a result every player has to determine its current role throughout the game before he can partake in the global team strategy. Exceptions being the goalkeeper which is always the player with the id 1 and the player currently closest to the ball. The behavior of these players is not defined by a specific role but by other components of our agent logic and they are therefore not considered during the role assignment process.
After evaluating the current game state every role outputs a certain target location. Therefore the idea of the role assignment process is to simply assign roles so that the player closest to one roles target position is assigned to that role. The order in which the roles are considered for assignment is defined by the priority attribute of the role. This ensures that the most important roles are always assigned first and therefore occupied by players close to the target position of the role.
2.2 Marking
Marking opposing players has become a crucial part of our team strategy since long distance kicks have been used frequently by our opponents. The marking behavior is defined as a role with the task to look out for opponents within a defined critical area, usually a part of our half of the soccer field. If there are no friendly players in close proximity to opponents in a critical area they are considered for marking. In this case the player that is assigned a marker role will try to position himself between our own goal and the opponent while trying to keep a short distance to the opponent in question.
Compared to other roles, the marker is a more specialized role. In some situations there may not be any opponents that are considered for marking and therefore there is no target position that can be specified by the marker role. The marker role is therefore not used as a stand-alone role but in combination with another role. At first the marker role tries to determine a target position. If there are no opposing players to mark the task of determining a target position is delegated to the other role.
2.3 Simulator Tool Support
The magmaSimulator part of our magmaDeveloper tool presents a soccer field with 22 players and a ball, allowing the user to manually arrange certain situations with drag-and-drop. While she does so, our decision making logic is automatically executed in the background, so changes in decision-making are displayed to the user instantly via various renderers. This includes information like:
- desired position
- desired behavior
- current role in our strategy
- best kick options
- etc.
Since all agent instances are running in the same Java process together with magmaDeveloper, it's easy to set a breakpoint in the decision-making logic of a particular player. Such a breakpoint will be hit after any interaction occurs, because this triggers another execution of the decision-making logic.
The simulation itself is designed to be as similar as possible to the highlevel behavior of games in the 3D simulator. One of the measures we took to achieve this was to port relevant playmodes and fouls directly from the 3D simulator's soccerruleaspect.cpp. This way, set-plays for playmodes can be created and tested.
3 Set-Plays
Special game situations, called set-plays, offer the possibility to apply specialized positioning or game movement strategies. Since set-play strategies are also used by other teams, they also invite to define counter strategies. To avoid counter strategies, set plays should be flexible and easily changeable during a competition. In the following subsections we describe the currently used set-plays of the magmaOffenburg team.
3.1 Kickoff
Kickoffs can be divided into opponent kickoffs and own kickoffs. In both cases there a different formations in use that determine the positions of our own players during these situations. During an opponent kickoff phase the main objective is to prevent the opponent team from having an optimal kicking position towards our goal as soon as the game is live. Likewise, during own kickoffs the goal is to position our players so that they have optimal conditions to develop the game quickly.
3.2 Goal Kick
In normal game situations the process of calculating a role's target position often takes the position of the ball into account. Because of this, players try to position themselves in relation to the ball. In case of a goal kick this behavior would result in a very suboptimal positioning of our players. On the one hand our penalty area would become crowded during own goal kicks by our players. As a result the available kick options of our goalkeeper would be very limited. In the worst case, our players might even block the goal kick and the ball could bounce off leading to a dangerous situation near our goal. On the other hand it would also be problematic to position most of our players nearby the ball during opponent goal kicks. While it is a valid strategy to try to block the opponent goalkeepers kick an opponent goal kick can be easily used to start a counterattack against us if our players are positioned too offensively.
The idea is therefore to move some of our players towards the middle of the soccer field during goal kicks. By also spacing them out as much as possible we create multiple kick options for our goalkeeper during own goal kicks while similarly getting ourselves in a good position to be able to answer a quick executed long distance goal kick of our opponents. The movement of our players during a goal kick can be seen in figure 1 and figure 2. While at first there are only two different target positions, one for the upper and one for the lower half of the soccer field, the players soon spread themselves out to cover a larger area. Due to the fact that both teams in the provided figures are using the same strategy the behavior during own and opponent goal kicks can be observed simultaneously and might look different if teams are using different position strategies during a goal kick.
3.3 Kick in and Corner Kick
A similar positioning strategy as described in 3.2 is used during kick ins and corner kicks. For own kick ins, the targeted area is located between the x-coordinate of the kick in position and the opponent goal, for opponent kick ins the area is located between the x-coordinate of the kick in position and our own goal. During a corner kick this area is simply defined as the area around the penalty area.
4 Results
The appropriateness of a strategy change is verified by a series of games, before we take over the strategy. An example of such a result is shown below where the effect of changing the kick off set play to kick backwards into our own half has been evaluated. Although there seems to be a slight advantage of the back kick option, the score p value indicates that it is not significant within the 100 games played.
{
"summary": "(magma_a2f7861d4) 0.530 - 0.590 (magma_kickoffBack)",
"games": 100,
"scorePValue": 0.255,
"totalDuration": "31:40:36",
"results": {
"winsLeft": 25,
"winsRight": 30,
"ties": 45
},
"scoreDistribution": {
"0-0": 27,
"0-1": 21,
"0-2": 5,
"1-0": 19,
"1-1": 18,
"1-2": 4,
"2-0": 4,
"2-1": 2
},
}
Fig. 3. Result of playing 100 games with a back kick set play.
References
- Klaus Dorer (2017) Learning to Use Toes in a Humanoid Robot. In Hidehisa Akiyama, Oliver Obst, Claude Sammut and Flavio Tonidandel, editors, RoboCup 2017: Robot World Cup XXI, Lecture Notes in Artificial Intelligence, pp. 168-179, Springer Verlag, Berlin.
- Martin Baur, Klaus Dorer, Jens Fischer, Duy Nguyen, Carmen Schmider and David Weiler (2017) The magmaOffenburg 2017 RoboCup 3DSimulation Team. Team description paper RoboCup 2017.
- Patrtick MacAlpine and Peter Stone (2017) Prioritized Role Assignment for Marking. In Sven Behnke, Daniel D. Lee, Sanem Sariel, and Raymond Sheh, editors, RoboCup 2016: Robot Soccer World Cup XX, Lecture Notes in Artificial Intelligence, pp. 306–18, Springer Verlag, Berlin.
- Jo˜ao Cravo, Fernando Almeida, Pedro Henriques Abreu, Lu´ıs Paulo Reis, Nuno Lau, Lu´ıs Mota (2014) Strategy planner: Graphical definition of soccer set-plays. Data Knowledge Engineering 94, pp. 110-131.
- Lau N, Lopes LS, Corrente G, Filipe N. Roles (2009) Positionings and set plays to coordinate a msl robot team. In: Proceedings of the 4th international workshop on intelligent robotics, IROBOT'09. Lecture notes in computer science, vol. 5816, Aveiro, Portugal, Springer, p. 323–37.
- Milind Tambe, Jafar Adibi, Yaser Al-Onaizan, Ali Erdem, Gal A. Kaminka, Stacy C. Marsella, Ion Muslea (1999) Building agent teams using an explicit teamwork model and learning. Artificial Intelligence Volume 110, Issue 2, pp. 215-239.