Nexus 2011 3D Soccer Simulation Team Description

Mohammad-J. Shokri, Armin Ildermi, Mahdi Alehdaghi, M.Hossein Ansari, Sina Molavipour, Ahad Harati, Mahmoud Naghibzadeh

Software Simulation and Modeling Laboratory, Department of Computer Engineering Ferdowsi University of Mashhad, Iran


Abstract This paper presents an overview of Nexus 3D Soccer Simulation Team. Nexus has participated in many Soccer Simulation Competitions from 2003 up to now. Like in the past years we used our soccer playing agents as a test bed to verify our recent research results in the field of AI. We used evolutionary based machine learning algorithms to enhance and optimize basic skills of the players such as walking and kicking the ball. In this paper, a brief description of our current and future works is presented.

1 Introduction

Robocup soccer simulation is a client-server multiagent system in which server periodically sends the clients some information about the environment and their status while the clients reply with some commands. Therefore, it's a good platform for studying control of humanoid robots with many degrees of freedom and decision making in multiagent systems. Henceforth, the corresponding league has been gaining popularity in recent international Robocup competitions. The current development of the 3D Soccer Simulation League is based on a humanoid robot known as Nao agent, which can be controlled by a low level interface and still needs lots of low level skills to be properly implemented. Our main research focus encompasses advanced control of walking, dynamic balance as well as multi-agent coordination. We built the source code from scratch and all modules were written by team members so that the whole project is homogeneous and different parts have good compatibility with each other.

2 Actions

Actions are divided into three different types: low-level, mid-level and high-level actions [1], each of them are briefly described below.

2.1 Low-Level Actions

Low-level actions are the ones which need the least calculations and are the most basic actions of the player. For example, Kick is the action of kicking the ball when it is placed in front of the player; or Walk is the action of walking straight ahead. In fact, at this level there is a direct server command which is closely related to the aimed action of the player. Other examples include Side-Walk, Slow-Walk and Turn.

2.1.1 Walking

A simple PID controller is implemented to control each joint of the Nao simulated robot, separately. Nao robot has 22 degrees of freedom (DOF) with 6 of them in each leg. There are different ways for implementing Walk behavior. Solving inverse kinematic is one of them which we used in our implementation.

$$P^{T} = f(\theta^{T})$$ $$\theta^{T} = f^{-1}(P^{T})$$

Using a periodic trajectory for ankles of the robot, which is optimized by a genetic algorithm, a good walking behavior is obtained.

We used state diagrams for other basic agent's behaviors such as standing up and kicking ball. Currently we are working on more advanced methods to achieve more reliability and faster response. In fact, deterministic state diagrams are not suitable in a highly dynamical environment such as soccer playing environment.

Fig. 1: Diagram of internal parts of inverse kinematic engine
Fig. 1: Diagram of internal parts of inverse kinematic engine

2.1.2 Shooting

Shooting the ball is one of the most important skills of a soccer player. Inverse kinematic method when properly utilized, can lead to effective shoots in addition to fast reaction. A curve is obtained which begins from the current ankle position and ends in the ball position serving as a trajectory for the ankle.

Fig. 2: Shooting Trajectory
Fig. 2: Shooting Trajectory

2.2 Mid-Level Actions

Mid-level actions are composed of some low-level actions and include scenarios, which is used more often by the player. For example Go-Round is a combination of some side-walks and turns, which makes the player move around the ball. Go-to is an action that lets the player go to a place with a certain coordinate. This action is combination of a turn and a walk which are done consecutively by the player. Another one, kick-to is composite of a go-round which places the player in the direction of kicking destination.

2.3 High-Level Actions

High-level actions are combinations of mid-level actions with some parameters which are calculated at run time. For example shoot is a combination of a go-round and kick-to with a parameter which shows the power of the kick in order to deliver the ball to the destination. Other actions like dribble, pass, positioning, block and intercept are also among high-level actions.

3 Decision Making

Having 6 players in a team makes team work more efficient on team's activity. So a good team strategy and decision making mechanism for handling different situations.

To determine the best actions from amongst all possible ones for a given situation, we first recognize the best of each action type, i.e., the best shoot, the best dribble, and the best pass, independently. It is clear that when the best possible shoot is sought, the parameters that affect the shooting action are considered, only. For dribble and pass action a similar process is followed. In the next phase, we select the best of bests, i.e., the system chooses the best action amongst the three best actions: shoot, dribble, and pass. In this phase, common measures are used in order to evaluate the actions. Fig.3 shows the overall work diagram.

Fig. 3: Two phase decision making mechanism
Fig. 3: Two phase decision making mechanism

4 Conclusion and Future Work

As described above, our current simulated robots are able to walk and perform the necessary actions. Currently we are working on robot's various skills to do them in a more intelligent and real time way for better and more reliable actions in dynamic environment. We are now working on a method to control balance of the robots in simple collisions.

While not having a coach agent in the field, using goalie, which has a good view of the field as a coach, to analyze opponent's game play, and estimate their abilities like moving speed, makes the team play a better game in the field.

References

  1. Amin Milani Fard, Vahid Salmani, Mohammad Hossein Ansari, Mahmoud Naghibzadeh, Amir Farzad, Morteza Delgir, Amin Zamiri, Hossein Kamyar, Ehsan Saboori, Farid Seifi, Mehrdad Mozafari, "Nexus Robosoccer Development Process from 2D Simulated agents to 3D Humanoid Soccerbots", Journal of the National Technical University "Kharkiv Polytechnical Institute" (Herald of the NTU "KhPI" Science Works). XIII 5' 2007
  2. Amin Zamiri, Amir Farzad, Ehsan Saboori, Mojtaba Rouhani, Mahmoud Naghibzadeh, Amin Milanifard, "An Evolutionary Gait Generator with Online Parameter Adjustment for Humanoid Robots"
  3. V. Salmani, M. Naghibzadeh, F. Seifi and A. Taherinia, "A Two Phase Mechanism for Agent's Action Selection in Soccer Simulation", The Second World Enformatika Conference, WEC'05, Istanbul, Turkey, pp. 217-220, February 2005
  4. Sutton R, Barto A: "Reinforcement Learning, An Introduction"
  5. Daniel Joseph Paluska, "Design of a humanoid biped for walking research". Master's thesis, 2000
  6. Jerry Pratt and Gill Pratt, "Exploiting natural dynamics in the control of a 3D bipedal walking simulation. Conference on Climbing and Walking Robots, 1999.
  7. Knight, R, and Nehmzow, U., "Walking Robots, A Survey and a Research Proposal", Technical Report.
  8. Krister Wolff and Peter Nordin. "An Evolutionary Based Approach for Control Programming of Humanoids