051 Team Description Paper
Mostafa Sayyahi
051 Robotic laboratory
Abstract 051_2D is a 2d Soccer Simulation team. In this paper we describe an overview on the efforts and the achievements of our team. It includes the defensive strategy which is based on blocking skill. Afterward we will explain about the evaluator for passing method.
Introduction
Robocup has been used both as a researching challenge for educational purposes and a field to stimulate the interest of public for robotics and artificial intelligence (AI) [1].
051_2D is established in 2009. We've achieved the 1st place in PNU open 2014 and 2013, the 1st place in SharifCup 2013 and the final 8 teams in Iran Open 2014 and 2013.
051_2D is based on agent2d_3.1.1 [2]. The team focuses on defensive strategies which are not implemented on this base. Also, we have concentrated on evaluating and rating methods in our researches and try to find out a better method to improve the accuracy of the agent's behaviors.
All the behaviors including defensive strategies, passing, shooting and path finding on both dribbling and positioning are implemented by the team. We also have developed a dribbling action that is used on this project which includes body_dribble_2008 from the agent2d base and Self_Pass from Helios_2008 released codes.
The whole project is designed in a way that all parts can be developed during future works and researches.
2. Defensive Strategy
Our defensive strategy is based on blocking the opponent with one player. Meaning that we solved the problem assuming only one teammate agent is doing the action and then generalized it for all teammate players so they would be involved in the blocking. The solution can be described as below:
At first we simplified object movement model in noiseless environment to avoid simulating object movement in every cycle. It decreases the problem solving algorithm's order. Field Objects contain players and the ball.
$$|\vec{v}(t)| = |\vec{v}(1)| * \operatorname{decay}^{(t-1)} + \frac{\operatorname{EDP} * (1 - \operatorname{decay}^{(t-1)})}{1 - \operatorname{decay}}$$
$$|\vec{r}(t)| = \frac{|\vec{v}(1)| * (1 - \operatorname{decay}^t)}{1 - \operatorname{decay}} + \frac{\operatorname{EDP}}{1 - \operatorname{decay}} * \left(t - \frac{(1 - \operatorname{decay}^t)}{1 - \operatorname{decay}}\right)$$
$$t = \log \left(\frac{|\vec{r}(t)| * (1 - \operatorname{decay}) + t * \operatorname{EDP}}{|\vec{v}(1)| + \frac{\operatorname{EDP}}{(1 - \operatorname{decay})}}, \operatorname{decay}\right)$$
$\vec{v}(t)$ is the speed vector of the object in cycle number t, the decay is object's decay parameter given in server, EDP is effective dash power that can be defined only for the players, $\vec{r}(t)$ is the distance vector that player can travel in t cycles and t in the third expression is the minimum time for player to travel the distance of $|\vec{r}(t)|$ with $|\vec{v}(1)|$ which is the first speed.
By implementing the first part in the noisy environment, we noticed that the procedure of team had not improved, so we define a coefficient for equation and assume that the coefficient can be the root of another equation and our problem has one solution for all conditions near the last answer we've found in the first part. The root of this equation optimize our solution and we found the root by implementing a binary search algorithm. However, this method was not that much efficient because we have an uncertain environment Thus, a simple fuzzy system is were used.
2.1. Being against noise
As agents are communicating and working in an uncertain environment which consists of a lot of noises it is really important to find solutions to be against it. For that, first of all a database of behaves that an agent might have, have been found. After that, this database figured out and some conditions which robots must have to behave better have been found. By using these conditions in the block model the agent which consists in those conditions would be evaluated and the noise of evaluation would reduce.
2.2. Experimental Results
The team's defensive strategy has been tested before and after implementing the binary search and also with the fuzzy one for comparison. The results shows that, using fuzzy model would help our model to be more stable. The results are as follows:
Experimental Results of Defensive Strategy
| with out binary search | with binary search | with both binary search and fuzzy system | |
|---|---|---|---|
| 051 vs Helios2012 | 0-3 | 0-0 | 0-0 |
| 051 vs Helios2012 | 0-2 | 1-1 | 1-0 |
| 051 vs Helios2012 | 0-2 | 0-1 | 0-1 |
| 051 vs yushan2013 | 1-4 | 0-1 | 0-0 |
| 051 vs yushan2013 | 1-3 | 0-0 | 0-0 |
| 051 vs yushan2013 | 0-3 | 1-1 | 1-1 |
| 051 vs Axiom2013 | 0-2 | 2-0 | 2-0 |
| 051 vs Axiom2013 | 1-3 | 1-0 | 1-0 |
| 051 vs Axiom2013 | 0-0 | 1-1 | 0-0 |
3. Passing
Our passing method consists of two parts. Part one is to predict whether or not the receiver would be the first one to receive the ball and the second part is to evaluate the score of the receiver player and the score of pass receiving point.
3.1. Defining Problem
Evaluating is definitely one of the most important factors to choose the correct action, our evaluator is based on potential field algorithm [3]. In this method we use some flags to make our vectors. These flags are divided in two general groups which are called repulsive flags and attractive flags.
The repulsive flags prevents team's movement to the flag's side and attractive flag directs team's movement to the attractive flag's side. Repulsive flags group includes opponent players and our penalty area. Attractive flags group includes opponent's goal, opponent's penalty area and some special points in the field.
Each of these flags would create a vector on the point we want to evaluate. The resultant vector that shows the value of the point is made by summarizing those vectors created by the flags.
For comparing purpose we convert the vectors to a numerical range by creating an image of the vector on the effective direction. Then the length of the image vector is used for comparison.
3.2. Improved Model
To make this model more reliable an evolutional method is used. To it, our team has a function for finding the best receiver who can catch the ball perfectly. For making it better, Particle Swarm which is such an evolutionary algortithm is used.
This algorithm starts to find the best coefficients for our model which would make our passing system better. The fitness function for this model was the number of successful passes divided by all passes.
4. Future works
According to high importance and usage of evaluating system, it's needed to implement some evolutionary algorithms to optimize team evaluator system in the future while particle swarm and fuzzy system were used for pass and block system respectively. Moreoover, by making more reliable database and combining that with Neural Network, the system would become more reliable which would be done in the future.
References
- Chen, M. ,Foroughi,E.," Robocup Soccer Server Manual 7.0.7", August, 2002. Robocup Federation Available: http://sserver.sourceforge.net/
- http://sourceforge.jp/projects/rctools/downloads/55186/agent2d-3.1.1.tar.gz
- Michael A. Goodrich , "Potential Field Tutorial", 2004, BYU computer science Available: http://students.cs.byu.edu/~cs470ta/goodrich/fall2004/lectu-res/Pfields.pdf