AIUT3D 2018 Soccer Simulation 3D League Team Description Paper
Seyed Yagoub Ashkoofaraz, Seyed Navid Hoseini Izadi, Mehdi Tajmirriahi, Mohamad Roshanzamir, Mahdi Abbasi Soureshjani, Seyed Vahid Moravvej, Maziar Palhang
Artificial Intelligence Laboratory, Electrical and Computer Engineering Department, Isfahan University of Technology, Isfahan, Iran
Abstract In this paper we describe AIUT3D soccer simulation team activities and achievements briefly. We will describe our agents' skills and their behavior in team working mechanism. Our code is based on UT-Austin-Villa base code. We have modified some aspects of the base code for example the original kick skill is replaced with a new one. Moreover, we have optimized our new kick skill using CMA-ES algorithm. Our team also utilizes a basic ball passing mechanism to enforce cooperation between teammates.
Introduction
RoboCup 3D soccer simulation is a client server platform. The server communicates with the clients via message passing. The clients perceive the simulated environment state using the received messages. These messages contain visual and vocal information about other players, ball and goal positions, field borders etc. Based on these information, the clients must make appropriate decisions and send them to the server. This process is repeated every 20 ms.
As this field is a simulated environment, the research teams can work on it with low costs. Moreover, the researchers do not need to get involved with the low level hardware details of real robots. Like the 2D platform, this platform provides a multiagent environment in which agents must cooperate with each other to achieve a common goal. Despite the 2D platform, the basic skills like walking, kicking, diving, etc. need to be designed and implemented by the team developers. This will cause the 3D platform to be more challenging compared to the 2D platform. However, the 3D platform is closer to the real world. Consequently, the achievements in this platform is more likely to be useable in the real world scenarios which is the ultimate goal of the RoboCup competitions. Currently, RoboCup 3D soccer robot of choice is Nao [1].
AIUT3D Soccer Simulation team [2] is developed by a group of students and researchers from Isfahan University of Technology. The team has been working on UT-Austin-Villa base code [3]. Instead of implementing the team code from scratch, we decided to use an existing base code so that we can catch up with other teams faster.
Although our long term development plan consists of an original code design and implementation. So far, AIUT3D has received the third rank in IranOpen2017 and the fifth rank in Robocup2017 competitions. It has also received the third rank in technical challenge competition of Robocup2017.
Currently, our team uses the basic skills of UT-Austin-Villa base code such as omnidirectional walk, getting up and different kick types. Not only we have optimized these skills, but also we have designed and optimized a new long range kick skill.
The basic skills are described in section 2. Section 3 discusses our results on our own kick skill. In section 4, our high level strategy is presented, and finally section 5, describes our future goals.
Agent basic skills
The agent basic skills are walking, getting up and kicking. These skills are the minimum requirements for a 3D soccer team.
Walking and getting up skills
The first and the most important skill required in 3D platform is walking. Currently, an omnidirectional walk engine has been implemented by UT-Austin-Villa team [4]. The engine is released in the base code but to be competitive with top teams, it needs to be optimized. Our team uses the basic omnidirectional walk engine.
It is highly probable that the robots fall down during walking or kicking due to collision with other robots. So it is necessary to have a quick getting up mechanism. The robot may fall on its back or its front. In both cases the robot must have a mechanism to get up. Again our team uses UT-Austin-Villa getting up mechanism.
Kicking skill
After walking, the kicking is the most important skill. This is because the primary method to create cooperation between teammates is ball passing. To perform ball passing, we need to carry out accurate and fast kicks. More importantly, to score a goal we need a strong kick.
UT-Austin-Villa base code has a key frame based skill execution mechanism. The kick skill has some parameters that we have optimized using CMA-ES algorithm [5]. While the base kick skill has a short range, it is useful for ball passing.
Designed kick skill
The designed kicks described below, are developed using our motion editor [2, 6]. The motion editor is based on UT Austin Villa base code and is publicly available [7]. This tool can be used to design arbitrary keyframe based motions like kick, getting up, goalie dive and etc. The advantage of our editor is that it is connected to ODE physics engine used by Robocup soccer simulation sever 3D in real-time. This way the designer has visual feedback via monitor about the designed skills performance.
Long range forward kick
As it is mentioned before, one of the most important skills for a 3D soccer team is long range kick. UT Austin Villa base code has a short range kick about six meters. While this kick is useful to get familiar with skill execution of the base code, it is not strong enough to threaten the opponent goal. This drove us toward designing a kick with longer range. The designed kick had a range of 10 meters. After optimization using CMA-ES [5], the final range became about 13 meters. The designed kick consists a set of key frames. Each key frame specifies the target value for robot joints. A key frame can contain any subset of robot joints. Moreover, each key frame has a time variable dictating the admissible time interval within which the target angles are to be reached.
Since the body type of Nao robots are different, the optimization has been performed to tune the joint values, time factors and robot offset w.r.t the ball for each body type.
Side kick
Usually when the opponent team is forming an offense towards our goal, the defenders don't have enough time to turn back and take the control of the ball due to slow walk speed. So we decided to develop a tactical type of kick named side kick. Using this kick our players are able to pass the ball to nearby teammates in less time. This is possible because the player doesn't need to face the teammate for ball passing.
Team strategy
In this section AIUT3D team strategy is described. In each cycle, each agent must find an answer to the following question. "What should I do right now?" The answer determines the agent's task. These tasks lead to "walking to a certain place", "dribbling towards certain direction", "kicking the ball in a certain direction" and exclusively for goal keeper "diving for the ball".
Response to this question needs some prerequisites. Agent should choose the task in terms of maximizing team's efficiency as well as minimizing opponent's efficiency. Therefor the agent should be aware of both its teammates' and opponents' status. As an illustration, he should know the position of the agents. Moreover, some agents have specific role which is effective on answering the question. For example, goal keeper scarcely comes farther away from goal. So, to answer the aforementioned question, the agent has to pay attention to three important factors:
- Other agents' positions: When an agent wants to make a decision other agents' positions are so important.
- Its own position: Generally, according to other agents' positions and its own position, some different situations may happen such as:
- 2.1. Close to the ball: Agent has a relatively true perception of his own position, other agents' positions, and ball position. According to these information, the agent can determine whether it is the closest agent to the ball or not. If he is the closest player to the ball, it can make two different decisions: "kicking the ball" or "dribbling the ball". This decision depends on agent's abilities and programmer choice.
- 2.2. Free: When agent is not close to the ball, it can walk to a suitable position in order to fill the strategic positions of the field.
- Agent specific role: The Role of the agent has the most important impact on the agent's decision. Some of these roles are as follows:
- 3.1. Defender: When the robot is close to the penalty area, the defenders try to keep the ball away from this area. Moreover, even if the player is in the opponent's field while its team doesn't own the ball, it will act as a defender.
- 3.2. Striker: They mostly tend to walk towards opponent's goal to score goals.
- 3.3. Goal keeper: It should react quickly to opponent's shoot, and prevent the opponent from scoring.
Future works
Our current kick range cannot compete with top teams. So, an important part of our future work focuses on better kick optimization. It is also useful to work on tactical kicks like side kick and back kick. They may be handy when the agent does not have enough time to align itself with the ball for performing an ordinary forward kick. They can also be used to perform ball passing. The optimization of omnidirectional walk engine and the getup skill will also be considered as our future work. We have already done some work on walking and we need to continue our research in this field.
References
[1] (2018). Find out more about NAO. Available: https://www.ald.softbankrobotics.com/en/robots/nao/find-out-more-about-nao [2] N. H. Izadi, M. Roshanzamir, M. Tajmirriahi, M. Abbasi Soureshjani, S. Y. Ashkoofaraz, and M. A. Fahami, "IranOpen 2017 Soccer Simulation 3D League Team Description Paper AIUT3D (Iran)," IranOpen 2017, Tehran, Iran. [3] P. MacAlpine and P. Stone, "UT Austin Villa RoboCup 3D Simulation Base Code Release," in RoboCup 2016: Robot Soccer World Cup XX, ed. Berlin: Springer Verlag, 2016. [4] P. MacAlpine, S. Barrett, D. Urieli, V. Vu, and P. Stone, "Design and Optimization of an Omnidirectional Humanoid Walk: A Winning Approach at the RoboCup 2011 3D Simulation Competition," in Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence (AAAI), ed. Toronto, Ontario, Canada, 2012. [5] N. Hansen, "The CMA Evolution Strategy: A Comparing Review," in Towards a New Evolutionary Computation: Advances in the Estimation of Distribution Algorithms, J. A. Lozano, P. Larrañaga, I. Inza, and E. Bengoetxea, Eds., ed Berlin, Heidelberg: Springer Berlin Heidelberg, 2006, pp. 75-102. [6] N. H. Izadi, M. Roshanzamir, M. T. Riahi, M. Abbasi Soureshjani, S. Y. Ashkoofaraz, and M. A. Fahami, "AIUT3D 2017 Soccer Simulation 3D League Team Description Paper", RoboCup 2017, Nagoya, Japan. [7] A motion editor for designing arbitrary key frame based motions for Nao to be used in RoboCup 3D soccer simulation league. Available: https://github.com/AIUT3D/aiut3d-motion-editor [8] J. Stoecker and U. Visser, "RoboViz: Programmable Visualization for Simulated Soccer," in RoboCup 2011: Robot Soccer World Cup XV, T. Röfer, N. M. Mayer, J. Savage, and U. Saranlı, Eds., ed Berlin, Heidelberg: Springer Berlin Heidelberg, 2012, pp. 282-293.