Farzanegan Team Description Paper 2011 Soccer Simulation 3D league

Atieh Sadat Mousaviyan, Sara Javadzadeh No, Armita Sabeti Ashraf, Maryam Davari, Fatemeh Sadat Makki, Nazanin Sadat Dastserri

Tehran, Farzanegan(1) High school


Abstract In this paper we describe Farzanegan soccer simulation team activities and achievements briefly. After an introduction to the Soccer Simulation 3D League we will describe our agent architecture and its behavior. This behavior contains some skills used in order to deal with several challenging problems in this field such as balancing, movements, making decision and …

1 Introduction

Farzanegan Highschool Laboratory has been working on Robocup science for many years and achieved many remarkable successes in different Robocup Competition Leagues. Our simulation group had been working on Rescue Simulation League and Soccer Simulation 2D League, and subsequence to this our researches has been started in Soccer Simulation 3D since 2009.

Robocup currently includes many different robotic soccer leagues that focus on research challenges. Soccer as an interesting and exciting game is one of the main topic of this researches. In this field we try to solving this problems and reach to the best solutions. These solutions can be used by some different problems. The official goal of Robocup is "By mid-21st century, a team of fully autonomous humanoid robot soccer players shall win the soccer game, complying with the official rule of the FIFA, against the winner of the most recent World Cup." .

The Robocup simulation leagues focus on AI and team strategies developed by the participant teams. The 3D simulation competition increases the realism of the simulation environment by adding an extra dimension and more complex physics. The interest in the 3D simulation competition is design an implementation of multiagent high-level behaviors.

2 Team Architecture

We developed our team based on flexible agent architecture that enables us to manage and classify agent behavioral layers. These layers help us to design some methods to make a good decision. Not only must the agent notice to plenty of parameters to determines what it should do as the next action, but it also has to have some kind of cooperation with the other agents to make a good decision.

2.1 World model

Vision sensor obtains clear information about objects as some data that consist of a distance and two angels to the robot"s coordinate system. Three flags are sufficient to specify the position and coordination of any object on a universal coordinate system. World model information is easily populated in this way. The Agents can always use information stored in the world model to make their decisions. It also contains several states updating and some calculating of motions" key parameters like whether robot is falling down, etc. But after vision restriction, sometimes agent doesn"t see 3 three flags. So we use gyro sensor to localize by only one flag.

2.2 Signal Handling

This class takes charge of communication with server. It includes network controlling, message passing and command queue managing.

2.3 Connection

This class is responsible for communicating with server. It synchronizes different threads of execution with server timing. When the new information arrives, the connection layer updates the agent"s WorldModel.

2.4 Agent

Soccer Simulation Server sends some data to the agent. The agent should process the data and make decision to perform the best action. Then the agent sends the specified data back to the server.

The agents must contain some procedures which manage their behaviors. We have provided our agents with two kinds of layers of action BasicActions and AdvancedActions. Each AdvancedActions uses some BasicActions, and each BasicActions sets the joints angle and then the agent can move

Fig. 1. Team Architecture
Fig. 1. Team Architecture

3 Walking

Developing stable and reliable walking pattern is one of the fundamental problems in humanoid robots. These patterns development use some estimations based on some physical factors. One of these factors is Center of Mass (CoM). Also we can use other dynamic feedbacks such as Zero Moment Point (ZMP) .In stable patterns this point must be within the supporting area (the convex hull of the robot"s feet).

So, to have a stable walking pattern we try ZMP based methods and now we are working on an Inverse Kinematics to find a stable and fast walking pattern.

3.1 Inverse Kinematic

Robot control actions are executed in the joint coordinates while robot motions are specified in the Cartesian coordinates. Conversion of the position and orientation of a robot from Cartesian space to joint space, called as inverse kinematics problem, which is of fundamental importance in calculating desired joint angles for robot design and control.

For a robot with n degree of freedom, at any instant of time joint variables is denoted by _ = () , = 1,2, . . , and position variables _ = () , = 1,2, . . , . The relations between the position x (t) and joint angle () can be represented by forward kinematic equation,

$$x(t) = f(\theta(t)) \tag{1}$$

Where f is a nonlinear, continuous and differentiable function. On the other hand, with the given desired position, the problem of finding the values of the joint variables is inverse kinematics, which can be solved by,

$$\theta(t) = f^{\prime}(x(t)) \tag{2}$$

Solution of (2) is not unique due to nonlinear, uncertain and time varying nature of the governing equations. The different techniques used for solving inverse kinematics can be classified as algebraic, geometric and iterative.

Nao is a humanoid robot with 6 DoF (Degrees of Freedom) in each leg. Low-Level action is generated simply with two joint, Ankle and Hip. The first we calculated Ankle and Hip trajectory with some methods, therefore, use Inverse kinematics formula for determining joint angles for each joints. This is implemented as a periodic state machine.

Inverse Kinematics
Inverse Kinematics

3.2 Optimization

To optimizing Agent's Gait we use Particle Swarm Optimization (PSO) as suitable alternative to other established optimization methods that have been used in RoboCup leagues. The biped gait is modeled by a number of parameterizable trajectories. To achieve Omni-directional walking, Different sets of gait parameters are optimized for specific walk directions and interpolated later.

The feet trajectories are first calculated in Cartesian space, and transformed into sequence of joint angles afterwards using inverse kinematics.

PSO works on a set of parameter vectors (Particles) $X^i$ . Each particle has a velocity $v^i = \left(v_1^i, v_2^i, \dots, v_N^i\right)$ . The velocity indicates how much the value of the corresponding parameter changes and thus the position of the particle, in the next iteration of the algorithm. It is altered according to the best point in parameter space a particle has visited so far, $P^i = \left(p_1^i, p_2^i, \dots, p_N^i\right)$ , and the global best point PSO has found so far, $P^g$ :

$$v_j^i \leftarrow \omega . v_j^i + c_1 . \chi_1 . (p_j^i - x_j^i) + c_2 . \chi_2 . (p_j^g - x_j^i)$$

Here, parameters $\omega$ , $c_1$ and $c_2$ influence the balance between local and global exploration. The weights $\chi_1$ , $\chi_2$ add stochasticity to the search. They are drawn uniformly from [0, 1].

The position of the particle is updated accordingly:

$$x^i \leftarrow x^i + v^i$$

4 Formation

Team formation is an important part in soccer simulation system, since it allows team members to focus on team-goal, which is simpler than a global-goal over an entire system. In addition team formation allows sharing of information.

We presented our approach to multi-agent collaboration, based on strategical positions, roles and responsibilities. Also like human soccer, each agent has a strategical position that defines its default position and movement range inside the soccer field. So we have classified our strategical position into two categories: initial and game-paly. Strategical positioning, roles and responsibilities are inevitable in soccer domain.

Each agent has its own movement range based on its role and responsibilities. When keeping an eye on the ball, the movement range will determine whether the agent should go for the ball, or leave it to its team mates.

5 Artificial Intelligence

We use some AI methods to optimize our walking stability and increase walking speed. We use genetic algorithm and PSO for these optimizations. For increasing walking speed PSO is faster and more efficient than GA.

For our experiment we designed an AI algorithms and Learning methods development tool. In this tool we simulate NAO in GL.

6 Future works

As mentioned above to achieve a stable walking pattern we first use Zero Moment Point (ZMP) and An Inverted Pendulum. Considering that these two methods require full information about robot and environment dynamics to generate a stable walking pattern we are working on Central Pattern Generator (CPG). CPG model uses a non-linear system to generate online gait trajectories. This model makes a neural oscillator network that enable robot to have a stable walk and be resistant against low deviations. The neural oscillator model that we are working on is ljspeert and Cabelguen that is used for humanoid robot simulation. To obtain values of Connection weights parameters within the neural network we will examine optimal solutions on the weight parameter space by using some AI methods.

Coordinating heterogeneous multi-agent systems can be a difficult task so we are studying a procedure that is based on a developed meta-Model for a multi-purpose, adaptable, strategic coordination layer. Considering this properties we will optimize walking skill for each agent.

References

  1. Maryam Davari, Fatemeh Sadat Makki, Bita Namvar, Elmira Asadzadeh, and Seyedeh Atieh Hashemzadeh , Alzahra Soccer 3D Simulation Team Description Paper for Robocup 2010.
  2. David García, Carlos Bustamante, Efrén Carbejal, Carlos Quintana, Ernesto Torres, Iván Gonzalez, Leonardo Garrido, and Jorge Ramírez , Borregos3D Team Description paper 2010.
  3. Hiroaki Kitano, Minoru Asada, Yasuo Kuniyoshi, Itsuki Noda, Eiichi Osawai and Hitoshi Matsubara: RoboCup: A challenge problem for AI and robotics
  4. J.J. Craig, Introduction to Robotics: Mechanisms and Controls, Addison-Wesley, Reading, MA, 1989.
  5. G.C.S. Lee, "Robot Arm Kinematics, Dynamics and Control," Computer, 15(12), 62-79, 1982.
  6. J.U. Korein, N.I. Balder, "Techniques for generating the goal-directed motion of articulated structures," IEEE Computer Graphics and Applications, 2(9), 71-81, 1982.
  7. Cord Niehaus, Thomas Röfer , Tim Laue, "Gait Optimization on Humanoid Robot using Particle Swarm Optimization".
  8. Felix Faber and Sven Behnke, " Stochastic Optimization of Bipedal Walking using Gyro Feedback and Phase Resetting".
  9. A.Stroupe,M.C.Martin,and T.Balch., "Distributed sensor fusion for object position estimation by multi-robot systems". In IEEE International Conference on Robotics and Automation., IEEE, May 2001.
  10. A.J.ljspeert and J-M. Cabelguen. Gait transition form swimming to walking, "investigation of salamander locomotion control using nonlinear oscillators". In proceeding of Adaptative Motion in Animal and Mechines, 2003.
  11. Stephane Mojon "Using nonlinear oscillators to control the locomotion of a simulated biped robot" Master"s thesis, EPFL, Swiss Federal Institute of Technology, 2004.
  12. João Certo,Nuno Lau, Luís Paul Reis, "Multi-Agent Coordination through Strategy" .
  13. http://www.wikipedia.org/