Soccer Simulation 2D Team Description Proposal for Robocup 2010 Iran

Amir Kharmandar, Saeed Mola Alizadeh, Alireza Naeimi, Shaghayegh Jafari, Maedeh Tolooei

Payame Noor University of Hashtgerd New City


Abstract This paper describes our ideas in relation to 2D soccer simulation for contributing in RoboCup 2010 competition. In our team structure, we used specific algorithms for predict different modes of the game so we have compatible team for different conditions [1]. Also in order to the players for tackle and get away the ball from the dangerous areas by means of scoring method. We would explain these concepts in this paper.

Introduction

Iran team have been established since 2008 and yield Brazil open 2008 international competition championship on 2D Soccer Simulation league at its first participation in international competitions.

Our team uses Mersad Base and developed many algorithm on it that we will mention some of them below. First, we applied the best trajectory to dribble and move the ball which is one of the important strategies. In addition, one of the other important challenges is to choose the most suitable situation by means of scoring method that is illustrated in this paper [2]. Also, another project that we have done is to use a special strategy to tackle and get away ball from dangerous situation, which it is explain briefly in this paper.

Dribble skill and choose the best way to move the ball

Dribble is one of the most important skills in soccer games. There are many dribble algorithms in multi agent systems. Most of these algorithms consider position of the opponent and they are useful in specific condition. In addition, each of these algorithms is so complicate method. First, we tried to make this problem easier and in the next step we boosted it in a way that we would not change any basic architecture. We will explain it in detail.

First Step

In first step, we have tried to use very accurate mathematical formulas to specify ways for players and persuade each player according to their position in relation to the opponent's goalie. This means that some of the ways are default and the nearest way to the player is the most convenient way. Finding a path was so challenging for us. We should have found a way that was the best according to their playing post and opponent's goalie position. In the first look, we consider some hypothetical lines toward the opponent's goalie but by testing them we realized that players go out of the way according their position, and they use a lot of stamina toward the opponent's goalie. Also we found out these lines don't cover whole pitch. (Fig.1)

These issues showed us that these lines prevent our flexibility so we used parabolas in order to reach our purpose. By studying these parabolas, we reached three results:

  • A) Parabolas into lines are more flexible.
  • B) Parabolas take less empty space.
  • c) Parabolas generally cause the players to move in their position and use less stamina.

So according to these three results and watching many game, we decided to use parabolas method in this act.

However, this was not enough and we evaluated different situations to find the best parabolas vector. Finally we reached two formulas. In these formulas, according to the ball's position and the variable α, we could draw parabolas vector in the pitch. (Fig.2)

$$X = 52.5 - \alpha * (Y)^2$$

$$Y = \sqrt{\frac{52.5 - X/\alpha}{\alpha}}$$

X and Y show player's coordinates.

Now we adjust the nearest parabolas vector to the player's coordinate and we simulate the player's movement according to parabolas vector. For this act, we use number (3), (4) and (5) formulas.

$$\beta = \frac{52.5 - BallX}{(BallY + buffer)^2}$$

$$X = 52.5 - \beta * (BallY + buffer)^2$$

$$Y = \sqrt{\frac{52.5 - (X + buffer)}{\alpha}}$$

The BallX and the BallY show ball's coordinates in which X and Y show the position that we should go there. So trajectories will be defined for player who carries the ball, attention to (Fig.3).

Fig.1.drawing hypothetical lines toward the opponent's goalie
Fig.1.drawing hypothetical lines toward the opponent's goalie
Fig.2.drawing parabolas toward the opponent's goalie
Fig.2.drawing parabolas toward the opponent's goalie
Fig.3.drawing the player's movement trajectories toward the opponent's goalie
Fig.3.drawing the player's movement trajectories toward the opponent's goalie

Second Step

Now we have a player with a specific path that moves toward opponent's goalie. During the movement, the player must pass all the opponent players. In each moment, the player who is carrying the ball should be sure that there isn't any obstacle in his way, so he would continue his trajectory. However, if there is any obstacle, he should choose the best space to stray from his own path. The best space means the emptiest place which is away from the opponent's access. This would continue until surely passing the obstacle. After that, the player decides the nearest parabolas vector toward the opponent's goalie and move on it. This would continue until we are in dribble situation.

Thus we have chosen the best and simplest path and move toward the opponent's goalie and pass the obstacles. This is very similar to the plane's movement in air toward its destination. The airplane uses the best path toward destination and if there is any obstacle, it would change the path temporary, and after passing all the obstacles, it would return to the most ideal way toward the destination.

Get Best Point by using Scoring System

In this part we will describe Players Scoring System in the middle part of the pitch that is developed by Iran 2D Soccer Simulation Team.

In this manner we score player's position considering ball position and also next position for each player. This system comprises four phase as below:

First phase

In this phase we recognize all teammates that are in the middle part of the pitch (Fig.4) and all opponents that are in this part too. Meanwhile every teammate must have three qualifications: first, not to be on offside line, second, they should have appropriate velocity that calculate with formulas (6), (7) and at the end player have to be closer than 25m from ball position (as far as our examinations players that are further than this distance, don't have any chance to reach the ball). Players that have above qualifications will be examined on next phases.

$$s = f * (1 - r ^n) / (1 - r))$$

$$v = s * (1.0 - r) / (1.0 - (r \land len))$$

That s is ending velocity, f is force, r is distance, len is ball decay and v is first velocity

Fig.4. recognizing players in the middle part of the pitch
Fig.4. recognizing players in the middle part of the pitch

Second phase

In this phase we characterize High Score player that is shown as a diagram in Fig.5. player that have two below factor is known as High Score and the most appropriate player hence it go to fourth phase without any examination in third phase.

  • The closest player to ball position among teammates and opponents
  • Being in the most appropriate angle respect to the ball among teammates and opponents
Fig.5. Players scoring diagram
Fig.5. Players scoring diagram

Third phase

In this phase we score all the teammate players an after that players that have higher score than the others will go to fourth phase. Scoring will be done response to teammates and opponents distant from ball in this phase.

Fourth phase

Finally in this phase first velocity and next appropriate position - cause to receive or reach the ball - of player(s) that characterized in one of the two prior phases, will be calculated. Calculation of first velocity is done by formulas (5), (6).

Respect to ball velocity, position that player reach the ball with calculated velocity will be predicted and at the end calculated factors are used in the other behavior such as pass, shoot and so on.

Conclusion and Current Works

In this paper, we discussed three important strategies of our team which are: getting the ball away from the dangerous area, choosing a best situation with use of the ball's next situation and dribble, choosing the best trajectory for moving the ball. In this way, we used Matlab software to do this accounts. Our goal is to continue the process of improving the team and we hope to solve all of other problems in our team before the competitions.

References

  1. Peter Stone, Layered Learning in Multiagent Systems: A Winning Approach to Robotic Soccer. MIT Press,2000.
  2. Mao Cheny, Klaus Dorer, Ehsan Foroughi, Fredrik Heintz, ZhanXiang Huangy, Spiros Kapetanakis, Kostas Kostiadis, Johan Kummeneje, Jan Murray, Itsuki Noda, Oliver Obst, Pat Riley, Timo Ste_ens, Yi Wang and Xiang Yin, RoboCup Soccer Server, 2003