HERMES Soccer 2D Simulation Team Description Paper 2014

Seyyed Emad Mohamadi, Amir Abbas Pashaee, Pooria Kaviani, Ali Mohammad Forootannezhad

Department of Computer Science and Information Technology, Allameh Helli High School, Tehran, Iran; Sharif University of Technology, Tehran, Iran; Electrical and Computer Engineering Faculty, University of Tehran, Tehran, Iran


Abstract This paper describes some of the important points of Hermes 2D Soccer Simulation Team, such as some of our ideas, important actions, current situation and our future plans. We tried to introduce our new works and ideas and explain them as well. We now explain our activities and researches.

1 Introduction

HERMES 2D simulation team is a sequent to Mersad, HelliBASH and Eskilas teams by Allameh Helli High School. Allameh Helli High School is competing in RoboCup Soccer 2D competitions since 2003.

We changed our base-code from Mersad-Base to Agent2D-Base. Therefore we needed to import some of Eskilas codes from Mersad-Base to Agent2D-Base and some of the requirements was available in Agent2D-Base and with these codes we started our team as HERMES 2D simulation team.

HERMES has some compatible codes that are originally from previous teams and some new ideas and new actions that are added to team this year.

2 Basic Actions

2.1 Defensive Actions

The challenge of positioning action in HERMES team is to make numbers of defensive and offensive regions and to reach one of these regions in case of positioning.

The point in this algorithm is how to allocate the regions to the teammates and self with the best performance. In the other word, we want to find the best region to go to ; a region which is more important for us and also which is easy for us to go to. For coordination of positioning we needed to have one player as a leader. This idea had been partly made by Eskilas 2010 team. It is called LeaderSay System (fig.1). Leader agent should say:

  1. Which offenders will be marked.
  2. Who will mark the target players.

The mark system is similar to Eskilas 2010 mark system.

Here we added the third option of the LeaderSay System:

  1. What order should the players do positioning in.

Before saying, Leader matches the positioning regions and the players with their distances, for saving stamina, for saving time and to dash as low as possible. Also the Leader should decide which players are good for positioning and which are good for marking dangerous opponents. After making the most dangerous regions in defense Leader starts to send players to the regions or to the player that they should mark. Number, position and situation of the opponent's offenders affect on the number and positions of the regions and priority of marking and positioning. [2]

Hermes (left team), everyone except goalie is attending to Leader (Teammate number 11), designed by SoccerWindow2
Hermes (left team), everyone except goalie is attending to Leader (Teammate number 11), designed by SoccerWindow2

2.2 Offensive Actions

FastIC system is a mathematical calculating implement that is used for simulating opponent's intercept action (fig.2). FastIC was one of the features in Eskilas 2010 team.

Pass system which works with FastIC is same as Eskilas 2010 team's Pass. Pass in Eskilas 2010 was based on simulating and calculating with a high accuracy. thus we decided not to change the pass because of its stability and re-write it in the Agent2D-Base as same as what it was in Eskilas 2010 team. FastIC and Pass are completely explained in Eskilas 2010 TDP. [1]

FastIC calculating intercept with dash circles, designed by SoccerWindow2 application
FastIC calculating intercept with dash circles, designed by SoccerWindow2 application

3 Smart Offensive Positioning (SOP) System

4.1 The idea of smart positioning

The main problem when our team is attacking, is that the opponent's defensive agents mark our offenders and make it hard for the owning player to pass to the other teammates, because as soon as it passes the ball to one of teammate agents one of the opponent agents is there for getting the ball. Thus the only way to avoid getting marked by opponent is to find a position in the opponent's field that the opponents cannot reach it easily.

4.2 Using the algorithm of Delaunay Triangulation

Delaunay triangulation is a computational geometry algorithm which makes a number of triangles with a set of points. Let Pn be a set of points. Now if we draw the Voronoi Diagram of these points we will have a new set of polygons pn. Now if we draw every line from the P points to the others if those points' polygons have a same edge, we will have a Delaunay graph Dn-2.

Here we used the Delaunay triangulation to find the best positions for offenders' positioning. In our System n is the number of opponent offenders, Pu is the position of opponent defender number u, pu is the polygon of opponent defender number u and Di is the Delaunay graph number i.

With this information we can find the center of gravity of every Delaunay triangle and they would be our desired positioning points that we try to go to. (fig.3)

4.3 Implementation of SOP System

After making the Delaunay triangles we have to allocate our agents in the field. Here we need to present an algorithm to solve two fundamental problems; First, all the players should find their own triangle to go to, in order to escape from opponent's mark and to be on an appropriate position for getting pass from ball owner. Second, our agents should travel a short distance to the positioning point, because if the agent goes to a far point it will take a longer time and in this period of time, with a high possibility the opponent's defenders will move and the Delaunay shape will change, so the agent cannot get to a good region in the expected time.

If we locate our agent in the neighbor triangles of the ball owner triangle there would always be a path for getting pass from the ball owner teammate. So we decided to locate the teammate who is the nearest player to ball to the triangle which is the nearest to the ball and locate the remaining players in the neighbor areas of the filled triangle. With this algorithm our agents dash a short distance, every agent has its own region and also there would always be a path for pass.

Delaunay Triangulation. Red dot: Our players, Blue dot: Opponent's players, Red line: Lines of Delaunay graph, Yellow dot: Positioning final point, Purple line: Path from agent to its positioning point
Delaunay Triangulation. Red dot: Our players, Blue dot: Opponent's players, Red line: Lines of Delaunay graph, Yellow dot: Positioning final point, Purple line: Path from agent to its positioning point

4.4 Improving the results of SOP System

One of the most important points in the idea of SOP System is the accuracy of finding triangles, because if one of our agents does not find the triangles correctly, it cannot do its best action. The reason of that is if the agent does not see the other players, or in the case of having view, the positions that the agent sees is not accurate, its triangles gets different from the other teammates and that causes inconsistency of offensive positioning.

So at first, the agents have to see all the opponent's defenders and then they should update their view to see the changes of opponent players' positions and then re-draw the Delaunay triangles. But sometimes the agent does not have a suitable situation to update his view. For example if the agent is dribbling it cannot update its view completely because it should focus on the ball and its own way. In this situation one of the solutions is getting the positions from the other teammates who have view to opponent's defenders. It can be done by say system. The center defender of our team will stand before the center line of soccer field and update his view every cycle and other players who need the positions will attend to the defender and get the information for better result.

4 Future Plans

4.1 Offensive Decision Making

One of the most important Offensive actions of team is Positioning. Beside offense positioning that is an action for the players who do not own the ball we need a good system for decision making when we do have the ball.

In the offensive situation we have several options when we own the ball such as Pass, Dribble, SRP, etc. For pass we need a player who has a good position in the soccer field and also who we can pass to without giving the ball to the opponents.

We need to have a powerful evaluation system to decide which action is the best action that we can use. One of the factors of this evaluation system is the situation of other players in the field. In the other word we should know the situation of other teammates to make a good attack to the opponent. So our agents should decide what to do by the other players positioning.

4.2 Using SOP System for Offensive Decision Making

We believe that using the idea of SOP System can help us in decision making besides its usage in offense positioning. SOP System has the ability of making positioning points that make a path of pass between our offense players. Therefore we have decided to use the algorithm of Delaunay Triangulation in pass decision making and compare the value of passes and other offensive actions in the future.

5 References

References

[1] Amini Zanjani M. Saharkhiz S. Bakhtiari M. Montazeri M. Vosoughpour M. Kaviani P. Eskilas soccer 2D simulation team description paper, RoboCup 2010 Singapore [2] Hungarian Matching Algorithm. Kuhn H.W. The Hungarian method for the assignment problem, Naval research logistics (NRL) [3] de Berg M. Cheong O. van Kreveld M. Overmars M. Computational Geometry: Algorithms and Applications Springer-Verlag 2008