robOTTO RoboCup Soccer Simulation 2D Team Description

Mustapha Abdallah, Yahia El Gamal, Catherine Antoniou

Otto-von-Guericke University Magdeburg, Germany


Abstract In this paper we will first focus on a fuzzy-based system for assigning heterogeneous types depending on the opponent's strength/weakness in various directions and the aim from the game which varies for a need from a draw to a need for winning with a high score. Secondly we will focus on a fuzzy-based system for choosing the best offensive position for attackers which can take into account various attributes with different weights and get a position that maximizes the satisfaction of these attributes.

Introduction

robOTTO was founded in 2010. In 2010 the robOTTO Festo Logistics League team won the 2nd place in the RoboCup finals in Singapore. In 2011 the robOTTO Festo Logistics League team won the 2nd place in the RoboCup German Open in Magdeburg. In 2012 the robOTTO team expanded to include a Soccer Simulation 2D League team. robOTTO Soccer Simulation 2D League team is mainly formed from graduate German University in Cairo - GUC students. In 2009 the GUC Festo Hockey League team won the 2nd place in the RobCup finals in Graz. In 2010 the GUC Festo Logistics team won the 1st place in the RoboCup finals in Singapore. In 2011 the GUC Rescue Simulation League team won the 2nd place in the RoboCup finals in Istanbul. The current GUCundergraduates team members were members of the GUC Festo team in 2010 and 2011 and the GUC Soccer Simulation 2D team in 2011.

The ideas applied in our team does not have any similarity with the ideas we applied before in the GUC Soccer Simulation 2D team, the only common thing is tending towards utilizing Fuzzy Logic Control [6] since it makes the way the agents think and act closer to humans compared to Crisp Logic Control.

robOTTO team is based on agent2d 3.1.0 [2] [3] and librcsc 4.1.0 [2] [3], we also used fedit2 0.0.0 [2] [3] to make some minor modification to the formation to enhance our defensive positioning on the side backs. On top of the base code we implemented a new technique for heterogeneous types matching, fuzzy-based pass speed generator, new defensive motion controller, fuzzy-based offensive positioning generator in addition to some positioning adjustments in the free kick and kick-in play-off states.

The remainder of the paper is organized as follows. Section 2 discusses other teams' scientific efforts and results in fields related to what we worked on. Section 3 summarizes efforts in defense and direct pass speed generator. Section 4 explains the fuzzybased controller for matching heterogeneous types. Section 5 explains the fuzzy-based controller for generating effective offensive positions. Section 6 summarizes the results of our scientific efforts in terms of a performance comparison between robOTTO and agent2d.

Our defensive logic explained in section 3.2 is similar to what ESKILAS did in 2010 in terms of making some defensive players block and mark opponents, the difference is in the logic followed to decide about which action to do in addition to having different styles in applying each of the defensive behaviors in different ways according to the surrounding circumstances; our proposed techniques proved to introduce defensive improvement compared to ESKILAS in section 6 [1].

The Fuzzy Logic Control technique we are using to match agents' heterogeneous types is similar to what LsuAmoyNQ did in 2009 in terms of using Fuzzy Logic Control to evaluate heterogeneous types. LsuAmoyNQ technique is a real-time one that adapts dynamically with the game while our technique is used one time at the beginning of the match. At the beginning of the game LsuAmoyNQ doesn't consider available information about the opponent and the aim for the game while we consider that. Our game aim is dynamic from one team/match to another depending on our state in the competition while LsuAmoyNQ always has the static win aim [5].

Our technique in getting offensive positions is similar to what Nemesis did in 2010 in terms of some common attributes upon which a position is evaluated, however we calculate possible positions in a different way and evaluate how good a position is using Fuzzy Logic Control [4].

Direct Pass and Defense

The aim from enhancing our defense and direct passing is to better acquire the ball from the opponent then be able to keep the ball for longer time, as a result this reflects on having more offensive chances leading to better results.

Direct Pass

The original pass speed generator divided possible direct pass distances into four ranges where the desired ball speed for any pass distance within one of the ranges is constant. The drawback of this design is not giving accurately the needed ball speed for each possible pass resulting in the following:

  • miss-passing
  • more offensive advantage for the opponent
  • more defensive pressure due to miss-passing
  • consuming more stamina in more frequent switching from offensive state to defensive state due to miss passing

In order to solve this problem, we implemented a fuzzy controller which smoothly and accurately calculates the needed ball speed for each pass depending on the pass's distance. The following figure illustrates the difference in output between the original controller (a) and the fuzzy controller (b).

Fig. 1. Pass speed generator
Fig. 1. Pass speed generator

Defense

The original defensive decision generator decided either to move to strategic position or intercept in case the agent is the fastest to the ball or the agent is very close to the ball. This technique is relatively efficient since strategic position is based on voronoi where most of the possible ways to the goal are blocked, however it still had the following drawbacks:

  • Since interception is reactive rather than proactive (waits for the ball rather than applying pressure on the ball owner to get it), more opponent attacks went through to our penalty area applying more threat on our goal and wasting our time that can be utilized in attacking the opponent by intercepting the ball earlier from the opponent's half.
  • Since no marking was applied on opponents' agents in danger areas, opponents had the chance to score more goals in us

In order to fix the previously stated problems we did the following. First we developed the interception conditions to make our agents retrieve the ball faster in all field areas in a proactive way (seeking interception at all times the opponent has the ball). Second, the drawback of the first enhancement was the more probable open spaces in our defense when our agents get dribbled by the opponent; we fixed that by making our agents dynamically block opponent's way to our goal till a dribbled teammate is able to try intercepting the ball again, this block can be developed to intercepting the ball when needed. Third we developed two marking techniques, one technique to block the way for through passes to opponents' attackers and the other is to closely mark opponents in scoring positions. Blocking behavior is categorized into side and center blocking as on side the agent blocks the opponent from crossing the ball while in center the agent blocks through passes, dribbles and shoots on goal. Marking behavior is categorized into through pass marking and danger area marking where in through pass marking some distance is kept with the opponent in order to be able to faster intercept possible through passes while in danger area marking the agents keeps himself very close to the opponent in order to be able to intercept possible passes and block possible shoots on goal. The following decision tree illustrates the way our agents behave while defending.

Fig. 2. Defensive decision scheme
Fig. 2. Defensive decision scheme

Fuzzy-based matching for heterogeneous types

The idea behind our heterogeneous types matching controller is to combine information about the opponent team in addition to information about the aim from the game (ranges from draw to high score win) in order to define the needed skills for each role and the priority of each role in getting a heterogeneous match. The matching process goes as follows. A configuration file is loaded containing a field for each opponent containing information like center/side defense strength, center/side attack strength, through passing, etc ... in addition to the aim from the game [0, 10] where 0 is a draw and 10 is a high score win. Information from the configuration file are passed to a fuzzy controller that decides the needed relative strength in terms of speed, stamina and kick for each of the possible roles. Then roles are sorted according to the combined required relative strengths that were defined by the fuzzy controller. Players of each role are then matched for heterogeneous types in a way that maximizes the satisfaction of the strengths defined by the fuzzy controller. The following figure illustrates the matching process.

Fig. 3. Heterogeneous types matching
Fig. 3. Heterogeneous types matching

Fuzzy-based offensive positioning

Usually goals are scored as a result of a series of passes till the ball reaches an attacker in a good scoring position where this attacker tries to score a goal. Good scoring positions are usually surrounded by the following circumstances.

  • Too many defenders making it hard to pass the ball and leaving very narrow spaces to move in
  • opponent's defenders dynamically mark our attackers closely

As a result attacking agents has to dynamically go to positions where they better receive passes and score goals; we defined good positions to be the ones satisfying as much of the following attributes:

    1. Not too far from the agent's current position to save stamina
    1. As close as possible to the optimal scoring position (define to be few meters in front of the middle of the opponent's goal)
    1. Not too close to the ball to give room for passing and broader scoring chances
    1. As far as possible from opponent defenders (to escape from marking)
    1. The path from the ball to the position should be as clear as possible from opponents (to weaken opponent interception chances)

In order to maximize the satisfaction of the mentioned conditions we score different positions in different directions relative to the agent's current position and the ball position using the fuzzy controller, then move to the position with the highest score. The following figure illustrates the technique used to choose the best position where the numbers on the figure correspond to the evaluation rules stated previously.

Fig. 4. Offensive position evaluation
Fig. 4. Offensive position evaluation
Fig. 5. Offensive position example
Fig. 5. Offensive position example

Results

The following results verifies the effect of the work we did on agent2d. We accepted less goals, scored more goals and maintained better control over the ball and kept it for longer time in the opponent's half. The following table compares our results with agent2d's results against some of the top teams, in addition to the score the |—-|—-| identifies roughly which team owned the ball more and pressed better on the opponent. In addition to the following comparison we won 4-0 and 5-1 against agent2d.

Fig. 6. Results

robOTTO agent2d
HELIOS2011 1 – 1 7 – 1
Marlik 0 – 2 1 – 0
Eskilas 0 – 2 7 – 1
RaiC 1 – 3 3 – 1
FCPortugal 1 – 3 0 – 0
Total 3 – 11 18 – 3

References

  1. Meisam Vosoughpour et al, ESKILAS Soccer 2D Simulation Team Description Paper 2010. Allame Helli High School, Iran, 2010.
  2. Hidehisa Akiyama and Hiroki Shimora, HELIOS2010 Team Description. Information Technology Research Institute, AIST, Japan, 2010.
  3. HELIOS, http://sourceforge.jp/projects/rctools/releases/. Information Technology Research Institute, AIST, Japan.
  4. Mehrab Norouzitallab et al, Nemesis Team Description 2010. Amir Kabir University of Technology, Hafez Ave., Tehran, Iran, 2010.
  5. Li Xin et al, LsuAmoyNQ 2009 RoboCup Soccer Simulation 2D Team Description. Louisiana State University, USA, Department of Automation, Xiamen University, Xiamen, China, 2009.
  6. M. Hellmann, Fuzzy Logic Introduction. Universite de Rennes, France.