Pioneer 3D Soccer 3D Simulation Team Team Description Paper for RoboCup 2012
Mahsa Darab, Seyedeh Ghazal Makki, Faezeh Rahmani
Department of Computer Software Engineering Islamic Azad University-Tehran North Branch Jordan St, Tehran, Iran
Abstract According to previous experiences and watching closely other team's log files in international robotic contests, we concluded that there should be a focus on decision making of players, specially the players' behaviors, such as the actions for goalkeepers and defenders. It is also important that these actions be coordinated in a uniform manner. For this reason we applied the approach Multi Agent Systems to orchestrate the actions between players. Clearly, goalkeeper calculates local position by calculating the rotation matrix based on following formula in section 2.1. In this formula the agent position and local origin are calculated, too. The situational statuses for the goalkeeper, the defenders, the midfielders and the attackers are described in section 2.1, 2.2*, * 2.3 and 2.4, respectively.
Introduction
Pioneer 3D is founded by three students of computer software engineering at the department of computer software engineering, Northern Tehran Branch of Islamic Azad University in June 2011.The team's leader has participated in a variety of Humanoid leagues, including Iran Open 2010 and 2nd Amirkabir University of Technology International Robotic Competitions and 3rd National Khwarizmi Robotic Competitions, after that she joined to the Soccer 3D Simulation League and she participated as member of soccer 3D simulation team in PNU Open 2011, German Open 2011 and their team has been qualified in Iran Open 2011, Robocup 2011 and Iran Open 2012. At last, our base code is Delta3D-2010 base code.
Decision Making
One of the most important part in the agent's behavior is the quality of the decision making process .If an agent makes the best decision in different situations, it can lead the team to behave at its upmost efficiency and it will increase the chance to score.
Clearly the arrangement of the team is a vital issue for locating the agents in the field. Figure 1 exhibits a schematic presentation of the arrangement suggested in this work to pave the way to achieve the highest efficiency. In the suggested arrangement there are three defenders (agents number 2, 3 and 4), two midfielders (agents number 5 and 6) and three attackers (agents number 7, 8 and 9) as shown in Figure 1.
In order to optimize the whole actions in the game it was found that the decision making process should be improved. It was also proven that the actions for the defenders and goalkeeper are the main challenges here. The suggested arrangement would result in a proper algorithm to reach the optimized actions for the agents.
Also, due to the importance of speed and time parameters, we perform the actions the way that we have the highest speed in least time. The actions for goalkeeper and defenders actions will be discussed below.
Situational status of goalkeeper
In the strategy to make the best decision for the agents the algorithm should be divided in different phases as following:
First phase
Figure 2 illustrates the situational state of the ball and goalkeeper with representative distances.
When the ball is in distance ( is the line that is drawn upright from 1 to 3), the defenders are called by goalkeeper through a "say" function and the defenders go forward to intercept the ball.
Second phase
The goalkeeper is located in the right half in proximity of the central point of the goal area (visible in Figure 2). In this phase we divide own half of the land to two areas .R and L are given for the right and the left area respectively.
In the Figure 2, is the last line that is crossing the front line of the gate. It is obviously necessary to intercept the ball outside this region in order to protect the goal.
2 is the line that the action of goalkeeper starts while 3determines the first line as the starting spot for the agents where an opponent crosses this line.
In this situation the goalkeeper calls the defenders using the "say" function.
1 is the distance between 1 and 3and 2 is the distance between 1 and 2.in this phase.
As soon as the 2distance is checked by an opponent being in this area, the relevant actions by goalkeeper will start.
Third phase
If the ball comes into the right area (R), the goalkeeper does "sidewalk" action in the same region.
Fourth phase
If the ball enters the left area (L), the goalkeeper does "walk" action toward left area of the goal.
Fifth phase
After the fourth phase, the distance is checked each meter and its corresponding areas are carefully scanned to understand where the ball is.
Sixth phase
Therefore, when the distance decreases and the ball is next to the goal, the appropriate area for locating goalkeeper is specified.
Seventh phase
After the agents' placement in the field, finding the accurate distance of the objects from the players' locations becomes possible. It is feasible to obtain the distance of an agent to another one by using visual information; also we can get the agents' direction corresponding to other agents.
Eighth phase
The goalkeeper does "sidewalk" action in suitable location and then it dives toward the ball [2].
Following up this pattern, the suitable area for locating the goalkeeper in front of the goal can be predicted. After this step for intercepting the ball, it is sufficient that the agent locates in the ball movement trajectory.
Actually, the goalkeeper can calculate the ball trajectory and it can find the crossing spot between the ball trajectory and goal line as presented in the equations (1) and (2) (It is also illustrated in Figure 3) [3].
$$P_{L} = M * (P_{A} - P_{O})$$
$$M = \begin{bmatrix} \cos \propto & -\sin \propto \ \sin \propto & \cos \propto \end{bmatrix}$$
$$P_{A} = (M + P_{L})$$
$$M = \begin{bmatrix} \cos \beta & -\sin \beta \ \sin \beta & \cos \beta \end{bmatrix} \qquad \beta = -\infty$$
Where is the local position, is the rotation matrix, is the agent position and is the absolute value of the position for the agents, i.e. the local origin.
The equation (2) is resulted by assuming .
Calculating the ball trajectory
Calculating the ball trajectory is defined as following:
The goalkeeper distance to the ball is called .
Here is the goalkeeper's distance to the next situation of the ball that the probability of having the ball is high. is the angle between the line that links the goalkeeper and the ball and the ball trajectory (visible in Figure 4). is calculated shown in equation(3) [3]:
$$\omega = a \tan(\frac{v_{x}}{v_{y}})$$
$$t_{dist} = b_{dist} + \tan\omega$$
The goalkeeper gets the best rotation angle for intercepting the ball with calculating , after that it actually stands in the ball trajectory.
The goalkeeper goes to the target points by calculating .
Defender decision making
The general strategy for the defenders' actions is that any agent goes to the proximity of the ball, the one which is in the nearest position to the agent's location. Then if the nearest opponent was the owner of the ball, the defender should intercept it, after that the defender would pass the ball to its nearest teammate, otherwise if the opponent was not the owner of the ball, the defender should block its way.
We found out that the best number designated for a defender -in terms of getting the algorithm responding- is three.
Two midfielders are located between defenders and attackers when the ball comes from the attackers' area that happens between 2 and 3 toward the goal. The midfielders contribute in the defending process and help defenders when it comes to protect this region against the opposite attack.
The numbers 2, 3 and 4 are assigned to the defenders. The defenders role here is to look for the ball and its location and simultaneously the opponent owner of the ball, following finding the ball; it is time to get the correct direction to the opposite agent. Then according to the opponent and the ball's location and the agent's own situation the order will be made and released for the defenders. If the defender was in the left side, the defending task is assigned to the defender number four, on the other hand when the defender was in right side; the defender role is assigned to the defender number three. At the same time other defenders perform "sidewalk" action.
After that, when the defender finds the opponent who has the ball, it goes forward to the target opponent and tries to intercept the ball.
If the ball was in left side, the defender number three tries to block the nearest opponent to the goal. The decision here is made the way that the blocking points are clear for guiding to ball to the opposition side [4].
The opponent, who has not the ball and was not blocked by other teammates, is the best choice for blocking.
When the defender is in the back of the opponent, it can do blocking action in the best way. Now, the defender number two is locating in the penalty area ,according to the goalkeeper's location, it does "sidewalk" action in left side of the goal. After that, the role of the defender number two begins when the ball enters to the penalty area and it crosses the penalty area. Now, the defender goes forward directly to the ball and it tries to catch it, then it should pass the ball to the first teammate in the nearest distance.
Midfielder decision making
It is worthy to note that the midfielders are connectors between the defenders and the attackers and they are connected to both of them from either side.
Two players with number 5 and 6 are located in the certain areas in the arrangement exhibited in Figure 5.
Now, the field is divided to three areas: 1, 2 and 3, for this situation.
When the ball locates in area 1 a midfielder acts as an attacker. Now the midfielders go to the 1area for catching the ball from the opponents and cooperating with their teammates.
Then, if the midfielders catch the ball, they should do move-to-target and dribbleto-target actions which are merged as dribble-to-goal action here [5].
In the next step, if the ball is located in A2 area i.e. the ball enters to the own half of the field, the midfielders search the ball in the field.
If the opponents are the owners of the ball, the midfielders try to catch the ball and they go forward to it. Actually they should pass the ball to the attackers.
The A2 area is from the central line of the field to midfielders' initial location. Next area is A3 that lies between midfielders' initial location and own goalkeeper side. In this situation, the ball crosses the midfielders' location and it next goes to the own goal. For this reason, the midfielders act as defenders and the defenders' task of blocking the opponent is completely assigned to the midfielders.
With accordance to the defenders' situations, the right or left side players and the defender whether they are close to the goal or not, the defenders perform the relevant actions meaning that if the defender was close to the goal, it should catch the ball and pass it to the its nearest teammate. Otherwise, if the defender was far from the goal, it should block the opponents.
Attacker decision making
At last, the general strategy for attackers' decision making is that the attacker should catch the ball and it should make it close to the opposite goal so that the team can score.
In this situation, all of three attackers are located in marked locations in the initial situation as in Figure 6. When the game starts, the player number eight does the "kick off" action. Continuously, the attacker does consecutive "kick off" action and keeps going forward toward the goal area.
The players number seven and nine follow the player number eight and they locate themselves in suitable positions concerning the "d" distance from the player number eight.
Now, the player number eight keeps up its movements towards the goal to score the ball. When the opponent is so close to the agents in "d' " distance, the attacker who owns the ball passes the ball to the nearest teammate that is located in the goal path in order to score.
Now, the player who has the ball goes forward to the goal, consequently the previous steps are performed according to these algorithms for any players.
In the mode of attack, the ball is located in opponents' half so, the midfielders contribute to the attack mission with fellow attackers and they enter to this area and as a result act as attackers.
The approach of Multi Agent System
Annually, the research on Multi Agent System (MAS) is developed for improving the relations between agents. Intelligent agent technology is started from Distributed Artificial Intelligence (DAI), in turn DAI attempts to solve the distributed problem in a multi agent system. It also deals with the challenge of how agents can apply their information to achieve their objectives. Mainly, for this reason we define a Thread for each agent and a thread can create another tread that are defined on another agent and it can execute them in turn [6].
Each tread is specified by a Thread ID as pthread_t in C++ language and it has a thread function and the code that the thread should be run by that.
The threads and their outputs are of void type.
The pthread_Create function creates a new thread. Therefore, each thread on each agent is joined together and it is called by "say" function.
Also, we utilize Roboviz for better monitoring that develops agent behaviors in a multi-agent system, the Robocup 3D simulated soccer league [7].
Conclusion
In this paper, we presented the algorithm of decision making for all players with different positions in the field.
It was proved to be satisfactory to create a Multi Agent System (MAS) using the applications such as SimSpark and Roboviz that were of assistance in this work.
References
- Thilo Weigel, "KiRo-A Table Soccer Robot Ready for the Market," icra2005.
- M. Hadi Valipour, Sadegh Mokari, and M. R. Jamali, "ENBank 2008 Team Description PaperSoccer Simulation 3D league," 1st Khwarizmi National Robotic Competitions,2008.
- Helena Åberg, Kungliga Tekniska Högskolan, "Agent Roles in RoboCup Teams," Department of Computer and Systems Sciences at the Royal Institute of Technology, Stockholm: February 1998.
- HesamAddin Torabi Dashti, Nima Aghaeepour, Sahar Asadi, Meysam Bastani,Zahra Delafkar, Fatemeh Miri Disfani, Serveh Mam Ghaderi, Shahin Kamali,Sepideh Pashami, and Alireza Fotuhi Siahpirani, "UTUtd2005-3D Team Description Paper,",2005.
- Shahriar Asta, Tuna Sonmez, Onuralp Ulusoy, Alper Alimoglu, Mustafa Ersen,Ozdemir Sozmen, and Sanem Sariel-Talay, "beeStanbul RoboCup 3D Simulation League Team Description Paper 2011," Robocup 2011, Istanbul, TURKEY: July 2011.
- Mark Mitchell, Jeffrey Oldham, and Alex Samuel, of CodeSourcery LLC, "Advanced Linux Programming," published by New Riders Publishing, ISBN 0-7357-1043-0: First Edition, June 2001.
- Available:https://sites.google.com/site/umroboviz/