Unique 2D Soccer Simulation Team Description Paper

Negin Aboutorabi, Ladan Rabbi, Negin Ashouri, Mojde Sa'adati

Hazrate Zahra High School; Noavar High School; Bou Ali Sina High School


Abstract The main researches in Unique team is about how we can simulate a soccer match better. For achieving this goal we tried to focus our researches on how we can use science better in soccer by considering a soccer player skills. we tried many algorithms, the following passage describes the latest changes of our team.

1 Introduction

Unique is a soccer2D simulation team that is now based on "Agent2D" base code formation. This team was established in 2008; taking part in The International IranOpen2009 competitions was our first official experience. At first we started our works on UvA _Trilearn_base and placed 6th in the second Khwarizmi Robotic competitions and 8th in the International AmirKabir University of Technology competitions (AUT CUP) also we placed 1st in the Second Guilan Robotics competitions (UVA challenges).

We decided to change and add some functions and classes of Agent2D base such as Pass and Simulator so on.

Also we found some decisions helpful such as shoot so we decided to use them without any especial changes.

The Simulator Class is the most effective factor that is existed in Unique team. It is really useful as it simulates the exact conditions in great details.

In this description we tried to explain about the main body, functions and the actions we have done in this team.

2 Pass

We have done new pass algorithm, Unique pass includes two type of passing, Indirect and Direct.

After a period of time we understood that direct pass is not safe in all the situations and that's the reason we decided to use indirect pass. We use a structure for defining the type of the pass, which is consisting of:

  • 1- A pointer from Player object type (for easier accessing to the positions and number of players)
  • 2- An enum for determining the type of the pass (Direct or Indirect).
  • 3- The point that Player (who has the ball) had chosen for passing (the pass point), that depends on the type of the chosen pass.
  • 4- The final ball speed at the moment it arrives to the pass point.
  • 5- The point that the Player will achieve the ball.(final point)

so in this way, each player's particular will be checked and saved in a part of an array of his strut's each player will have some options to choose from; and the main decision will be made among them by considering the following conditions:

  • The difference between the opponent and teammate arriving cycles.
  • The difference between distances to goal.

Here we explained about how to compute the difference between arriving (to ball) cycles:

our 'simulate' function (which will compute the position and the time that ball would arrive to a certain object by considering some options like the first ball place and speed), will calculate the time that ( has been taken ) for each player (teammate and opponent) to reach the ball; so the first gauge will be made by changing this time to the difference between arriving cycle.

The second gauge will be made by measuring the distances between the player (with the ball) and his teammate to opponent goal and calculating the difference between these two numbers. This action will be done to define whether the player (who is chosen for receiving the pass) is in front or not.

Figure 1
Figure 1

2.1 Direct pass

In this type of pass, the final ball speed will be computed by getting a default fist speed (that is 1.5), actually the point that player wants to pass to, is the teammate's position; the ball will be passed to this point.

2.2 Indirect pass

In this type of pass, that is not direct, the teammate's position is not as same as the point that is chosen for pass. To find this point we considered some options:

Some points with different distances (from the player who wants to pass and the teammate) will be checked for passing; the point that will be chosen should have some particulars:

The width of this point should be as same as the teammate's width, then the length of this point will be computed by a function; also the chosen point should be behind the opponents' offside line.

(As it's shown in figure 2)

Figure 2
Figure 2

3 Simulate Class

We will add a class to our team named simulator that will simulate different conditions exactly. but this aim needs long time & we have no time left for this competitions ,so we will add this class in the future the following passage describes our ideas about "simulator class": this class includes a structure and some functions. The structure will save some particulars like players & the ball, their speed &... , for each player, and the class ,(by using the functions), will use strut's information for simulating.

So would be really helpful in every dicisions.

Future Research Program

In future as we mentioned, we will complete the exact class of simulate, also we're going to focus on our defense formation and improve marking and blocking systems because we have realized that these dicision are not suitable for all situations,so will change them to act different in each condition.

References

  1. H. Mills. Chief Programmer Teams, Principles and Procedures. Technical Report FCS 71- 5108,IBM Federal Systems Division, Gaithersburg, MD
  2. L.P_Reis and J_N. Lau_FC portugal Team Describtion:Robocup-2000 Simulation league champion
  3. Schelling, T.C.1963."The strategy of confligt", New York : Oxford University Press