HfutEngine2017 Simulation2D Team Description Paper
Senbing Wei, Jun Ma, Kecheng Zhan, Hongyi Lv, Zhaolong Ling, Hao Wang, BaoFu Fang
HeFei University of Technology
Abstract The paper mainly expounds that the HfutEngine2D put forward and realize the penalty area evaluation model and the collective movement model for attack in the previous stage.We design according to our own characteristics and make a detailed explanation.At the same time,the power model and the tackle strategy have been optimized,and we did the test with the Chinese teams.The current version has been improved in scoring goals .
Introduction
HfutEngine2D was founded in 2002 and participated in China Robot Contest the same year. In the following years, HfutEngine develops rapidly and participates in various competitions. Since 2003, we used the UVA BASE2003 as our underlying code, along with the server version of the update in intercepting the ball on the learning, BP neural network algorithm is adopted, in terms of choice of action adaptive, learning algorithm based on value is adopted, in passing action learning opportunities perspective-taking reinforcement learning algorithm and a series of machine learning algorithm are also adopted, achieving good effect. We once won the 2007 Robocup China open runner-up, 2008 World Cup in Robocup seventh place, Iran open tournament the bronze in 2008, 2009 Robocup China open simulation 2d group of fourth place, 2009 Iranian open tournament the champion, 2011 Robocup China open simulation 2d group, we use Agent2D as our underlying code for HfutEngine2D construction in 2014. In the 2015 World Cup we won 8 place of the simulation of 2d group. [2]We also took part in the 2016 World Cup.Since the end of the 2016 World Cup,We made a summary and did some effective work about the assessment in the goal area and the offensive movement.
model and approach
This section describes our models and approaches.
the penalty area evaluation
Firstly,we choose enough points around the penalty area to be evaluated. We choose points according to the characteristics of each player . For example, the position of the forward needs to be more aggressive to attack and the position of the center is focused on assists. we make an evaluation to each point, finally choose the highest score point for movement. Assume that F is the evaluation function, f1, f2 and f3 are evaluation functions for different characteristics to each point and it can be understood as its own value. Y function is the evaluation relationship between ones own position and his teammates. Z function is the evaluation relationship between ones own position and the other players. At the same time, the variable score is a final score for each point through evaluation function F. The general expression can be said:
$$\text{MAX} { \text{score} = F\left(\sum_{i=1}^{n} f_i, y, z\ldots\right) }$$
(n is the number for its own characteristics)
The function f can be used to indicate the angle or the distance of the point relative to the position to shoot, and values for different game modes.Play_on mode is the normal evaluation mode,so the value of each point will be changed when in the corners and free kicks[3].
The function Y is actually a collection of evaluation factors. According to the relationship between oneself and teammates, it's need to get which point is conductive to collusion, which helps the attack, and which can be reached with more favorable.
The function z is about the relationship between itself and the opponent, even the collection of evaluation factors, including the points which are easy to escape the intercept and which are conducive to their own offensive points.
As shown in figure 1, when we don't consider the position of the other players and the teammates, the size of each point's shooting angle sorts into b>c>a. Therefore, the score of B point is higher than the other two points. Figure 1 is only for the value of the point itself[4].
We can see from Figure 2,A,B,C,D,E basically include the points which the No.9 can run. The small shadow represents a area where the intercept probability is relatively high,including sliding tackle, so the player needs to avoid getting into these areas. Teammates centered big shadow area also need to avoid entering, because the points in area will cause the repetition of function. The middle fan shaped area is a better shot area through calculating the position of the goalkeeper. The No.9 can move in the area of the blue circle and the distance will lead to failure. At the same time, the information about teammates and other players will change a lot, so the point becomes meaningless. Finally ABCDE can be considered.
The distance from A to the player is nearly same as the distance from B to the player, but B is more appropriate because of higher shoot success ratio. The point E is furthest away from the ball player, and this will lead to the effectiveness of the greatly reduced. The gains of E point is very small.By the same token,the point C and D have similar shoot success ratios,but the distance from the ball player to itself affect the earning of the point D.the scores of B and C are close,and the point C has a better chance of shooting,but the point B is closer to the player 9.Finally,the specific points can be selected by appropriately modifying the score.Finally figure 3 shows the point to run.
the collective movement
HfutEngine2D defines this model as the collective movement,not a movement action for a single player.the model describes the movements that the ball controlling player is a core ,and his teammates attack for the purpose of scoring or run for the purpose of passing.HfutEngine2D currently only consider the strategy for the purpose of scoring.
Single player movement action only to put oneself in not surrounded position,or in a strong attack position.But the downside is obvious,if the player A passes the ball to another player B instead of the player C, the movement action for the player A will fail.If the player C can consider the situation about the player A and the player B,and figure out the best shooting position or a suitable position for passing the ball,this will greatly improve the success rate of goals and the effective convergence of players.
The original strategy is to assume that each player's status is f1,f2,f3 and so on,the purpose of the strategy is to achieve a better state S.
$$f1 \to S1, f2 \to S2, f3 \to S3\ldots$$
Now the goal is to be achieved through the collective movement function named F.
$$F(f1, f2, f3\ldots) \to S$$
We give an example of three players.Assume that there are three players A,B and C,the player A is the ball player ,the player B has a better offensive position,but it's difficult for the player A to pass the ball to the player B.So the player C is needed. As shown in Figure 4.
First of all,Searching the teammates within the scope of the distance from the ball player by writing the search function and getting a good position to attack.If the aggressive point is the player B's position.Because it is a three collective movement , the player A needs a better position to intercept just like the point O.It's inappropriate for the player C to move to the point O by considering the turn cycle and the speed of the player D and the player E.the player C can move to the point B when the player B moves to the point O.The player C probably can not arrive at the point B when the player B gets the ball.At this time the player B can pass the ball in the direction of the original point B by considering the cost time of the ball's movement.So the player C can reach the best shooting position.As shown in figure 5.
There are several main problems for us to solve.For example,how to select the players,how to predict movement process and how to modified passing model. HfutEngine2D have achieved some results in selecting the players and modifying the passing model.We hope that the players concerned can perform through the assessment ,but the other players do not perform.Due to the limitation on the vision.It is not consistent about each player getting objects in some demanding conditions.We restrict the conditions and get same players basically.
We hope that the ball can be passed to the position we predicted.Therefore HfutEngine2D modified passing model and it will execute under certain conditions.
For predicting motion process and the task allocation,HfutEngine2D is currently looking for effective methods for implementation.This will be the next phase of our mission.
partial optimization
This section describes partial optimizations made to the system.
tackle strategy optimization
The original tackle strategy is relatively simple,and performs the same at each time. The frequency is not high when in danger and in other way it increases the risk of being scored.At the same time, the success rate is not high either.HfutEngine2D have been made the following changes:
- (1)Different tackle probability in different regions.Different tackle probability for different players.The striker is relatively fast,thus we increased the size of the probability.We chose the appropriate probability to reduce threat in the penalty area.
- (2)The movement can greatly increase the probability of a tackle.We changed the code and the player would move close to the opposing team in danger situation.
power model optimization
HfutEngine2D original power model is relatively simple.We chose the max dash power in special situation,thus the power could not be used effectively .There was not enough power to attack in some time.HfutEngine2D have made the following changes:
- (1).We have changed the threshold of recovery and used different power thresholds in different regions.It helps to reduce the situation in lack of power.
- (2)Different power models for different strategies.We have adopt a more aggressive power mode in the penalty area and a relatively conservative model in the midfield.
Experiment
For the penalty area assessment,UfhtEngine2D have conducted two sets of experiments.
(1)Test the overall effect in the penalty area. There are 10 matches between UfutEngine2D and each Chinese team we selected.There is the obvious progress for weak teams on defense,but not obvious for strong teams.Table 1 shows the results.
Table 1. Penalty area assessment results
| Team names | MT | YuShan | CSU | Jaeger |
|---|---|---|---|---|
| UfutEngine2D_base | 1.1 | 0.7 | 0.8 | 0.6 |
| UfutEngine2D2017 | 1.8 | 1.1 | 0.9 | 1.1 |
(2)Test the stability of the area evaluation.The test objects are the same as the experiment one's.We have counted the number of cycle for controlling the ball in the penalty area,and we have got an average through 10 matches.Table 2 shows the average cycle.
Table 2. Average cycle for controlling the ball in the penalty area
| Team names | MT | YuShan | CSU | Jaeger |
|---|---|---|---|---|
| UfutEngine2D_base | 24.5 | 10.5 | 34.2 | 17.6 |
| UfutEngine2D2017 | 29.8 | 26.9 | 39.2 | 31 |
Conclusions
HfutEngine2D put forward two models about the penalty area evaluation and the collective movement in the last stage.We describe the basic principle briefly and achieve according to our own characteristics.At the same time , we do some work in the tackle strategy optimization and the power model optimization.Now HfutEngine2D relative to the previous version has a relatively large improvement.The average number of goals has improved and the attack is more coherent in the penalty area.In the next stage,we will try to find a more effective and feasible method in the prediction of collective motion and the task allocation.
References
[1]方宝富. 机器人足球仿真[M]. 合肥工业大学出版社, 2011.
[2]鲁科烃等,UfutEngine2D2016 TDP,2016
[3]李龙. 基于价值的机器学习方法及其在 RoboCup 仿真 2D 中的应用[D]. 合肥工业大学, 2009.
[4]Pourmehr S, Dadkhah C. An Overview on Opponent Modeling in RoboCup Soccer Simulation 2D[C]// Robot Soccer World Cup XV. Springer-Verlag, 2012:402-414
[5]Xiaoping Chen, et al, Challenges in Research on Autonomous Robots, Communications of CCF, Vol. 3, No. 12, (2007)
[6]尚丽.RoboCup2D 中的多 Agent 协作技术研究.合肥工业大学.2010.
[7]RoboCup Official Site, http://www.robocup.org/