FC Portugal 3D Simulation Football Team:
Team strategy optimized by the system, underlying technology and the new Robocup3D emulator
Hugo Marques, Nuno Lau and Luis Paulo Ries
Translation: Xu Yuan XYCHN15@yahoo.com.cn
Abstract: This article describes the establishment of the FC Portugal 3D simulation football team Agent in the Robocup3D competition. The new 3D emulator release version is version 0.2 and the relevant document is almost no. Therefore, this article, in addition to describing the method of the FC Portugal 3D simulation football team, the main features of the RCSSSERVER3D emulator are also described.
Keywords: artificial intelligence, multi-intelligent system, robot simulation football, physical model, FC portugal.
Chapter 1. Introduction
Robocup is an international project, the goal is to study multi-smart system and intelligent robots (Kitano et al 1995). It contains many games like robots search and rescue, football games. Each project is simultaneously simulating the truth group and the actual robot group.
The simulation football competition is determined to design a batch of Agent to participate in the football game, which makes them more than other teams. The first World Cup in this competition was held in Nagoya in 1997. In addition to the simulation group, this competition also has a medium group, a small group and a leg group.
The simulation game is based on football match emulator (Chen et al 2002). This emulator establishes a virtual 2D site and virtual robot capabilities. The Agent is used as a Server, receives the feeling and sends actions from the server to the server. Each Agent controls a unique player. The emulator has truly contains a limited perspective, low bandwidth player communication, and so on. A coach agent is in the vision of no noisy. This agent can send an indication to other Agents when appropriate, as a game is suspended.
A new content in 2001 was joined - coach competition. This game is the purpose of improving the strategy of the game to improve the performance of the agent.
2004 3D football simulation competition was born. The same purpose of the 2D football simulation game, the new game has joined the third dimension to make the game more real. The 3D football emulator is just a version 0.2. It has not perfect, and the relevant document is almost no. A purpose of this article is just a collection of related information about Server makes Agent more accurate and intelligent strategies.
This article is organized in this way.
Chapter 2 gives the general simulation platform based on the 3D football emulator - the overall summary of Spades.
Chapter 3 gives the basic information of the 3D football emulator Server.
Chapter 4 is about the FC Portugal 3D Simulation Football Team.
Chapter 5 is test and results.
Chapter 6 gives the idea of work to do in the future.
Finally, Chapter 7 is conclusion.
Chapter 2.Spades
Simulation Server is implemented on the SPADES (System for Parallel Agent Discrete Agent Simulation) platform. Spades is a distributed simulation intermediate system (Riley 2003). Its main purpose is to provide a general platform for running multiple computer systems. It implements interactions between Agent and Simulation World, and users do not need to worry about interface, address, and so on.
The main features of Spades are:
* Agent is performed-based - supports the implementation, thinking, and action.
* Distributed Calculation - Supports running the Agent program on multiple computers.
* Results are not affected by network delay or differential load - SPADES to ensure that time is performed in the appropriate order.
* Agent can be independently programmed from programming language - theAgent can be written in any language, as long as the read / write pipes is supported.
* Action does not require synchronization - the action of theAgent can be performed at different times of simulation.
2.1 organizational structure
Figure 1 - Spades structure diagram
The Spades structure is a C / S structure (Figure 1). Simulation Engine and Communication Server are provided as part of Spades; when the user has established Agent and World Model, it can run in the former. Simulation Engine is a general software that allows special world model to be established. It runs in the Server side and provides interaction and communication with their world through Communication Server for Agents and their world. The World Model of the special environment of the Agent action must run on the same machine. As a Client distribution, Agent and Communication Server are distributed. Communication Server must appear on all client machines to provide communication with Agent and Simulation Engine. It accepts information from Agent and sent to Server. The Agent also runs in the client side. 2.2 Feeling - Thinking - Action Cycle
Spades implementation is called a feeling - thinking - action cycle, each agent accepts feelings and returns an action. This means that the agent can only have actions after receiving the feeling information. Of course, my feelings can also ask a move, but the principle is still - a feeling of feelings. In this way, Spades provides an action called a request time to return an empty feel (time notification), and after receiving the Agent to react an action. For example, if the agent receives a feeling of 100 cycles and wants to generate an action at the 110 cycle, the next feeling is only reached at the 120 cycle, and the agent can request a time notification at the 110 cycle and issue a command after receiving it. .
Figure 2 - Spades feel - think - action cycle
Figure 2 depicts the feeling - think - the time of the action cycle and the various portions. The A to B is sending a feeling agent. After receiving the feel (b to c) Agent, which action is executed; then (c to d) is then sent to the Server.
In some Agent, feeling - thinking - the action part is time overlapping (like in Figure 2); there is a restriction -Agent thinking cycle is not overlap. This constraint is meaningful because each Agent uses a process unit, so there is only one feeling calculated.
Chapter 3. Simulation Server
Run on Spades in Spades as specified, using ODE to calculate the mutual physical role of objects in the world (Russell 2003). The graphical interface is implemented by OpenGL.
Figure 3-3D Simulation screenshot
3D Simulation Server (Figure 3) (Robocup Soccer Server 3D Maintenance Group 2003) allows 22 Agents to interact with Server to make a simulation robot football game. Each Agent receives the feeling of composed of other team members, goals, etc. and other information about the game. At this time, the location information of each object in the world is provided by 360 degree visual information. The Agent is spherical. As a result of the Agent, an action is sent, like Drive or Kick. Dirve is a force that requires a given direction in the body, while kick means a radioactive force from Agent on the ball. Server sends a feeling every 20 cycle, 10 milliseconds per cycle.
3.1 feeling
Agent can now receive several feelings. Each feeling information starts with the letters "S", followed by two integers (TIME). The first cycle is a period of feeling; the second cycle is the period of information to the Agent.
The format of feeling information is:
Stime Time Data
DATA is a string of sensory information [1].
Vision
Visual provides space arrangement of objects in the venue. The object contains players, soccer, goals and horns. In version 0.2, the vision is the full direction and the object is transparent (at least for visual). The position of the object is given in the form of polar coordinates relative to the Agent. The coordinate parameters include distance, horizontal angle - THETA and vertical angle - PHI.
STIME TIME (Vison)
(POL D Theta PHI) ... (Pol D Theta PHI) ...
(Ball (Pol D Theta PHI) ...
(Teamname (ID) (Pol D Theta PHI) ...
)
Gamestate
The competition provides information related to the game. It provides sizes of venues, goals, balls and players. Other information on the quality of objects and competitions: Time, game mode, player number, player is the left or right. The format is:
STIME TIME (Gamestate)
(Team Side)
UNUM NUMBER
FIELDLENGTH LENGTH
(Ballmass Mass)
(PlayMode Playmode)
...)
AgentState
The Agent status provides information within the Agent itself. Only battery status and temperature are now available.
STIME TIME (AgentState)
Battery Battery
(TEMP TEMP)
)
3.2 action
Like sensation, achieve the role of Agent to World by some movements. Each action information begins with the letter "A", which is the string.
ADATA
Data contains information about the action.
Create
This is the first actions that the agent must send. This action makes the Server log in to the Agent and creates communication with the Agent. The format is as follows:
A (create)
Init
This action makes the Server receiving the Agent's details: number and team name. If the number is 0, Server will automatically give the Agent one number. The format is as follows:
A (instrument name)
BEAM
This action makes the Agent to pass to a given position before the game, not to follow the law of physics. The format is as follows:
A (BEAM X YZ)
Drive
This action makes the Agent move. This action produces a force (X, Y, Z) in the Agent body center, with a maximum force of 100.0. The format is as follows:
A (Drive X YZ)
Kick
In the absence of gravity and compliance with the law of physics, Agent can be played with a Kick action with a given force and direction (see 3.4). The vertical direction is used as a parameter-vertical direction angle. The horizontal direction is radial in the Agent body. This action must be sent like this:
Kick Angle Force
3.3 Other important communication programs
Server Send DONE ("D") information indicates creation communication (Riley et al. 2003). After the agent receives this message, you must perform an initializer. After the initialization must send the initdone ("i") information to the Server. Then Server starts sending sensory information, and the agent returns an action. Each action must be ended in Done ('d') (Figure 4).
Figure 4-Agent and Server Communication Timeline
As mentioned earlier, a sensory information is received every 20 Server cycles, so Agent can only perform actions within 20 cycles. However, not only this, because the agent can ask Server to send a Request Time Notify (R) feel information at the specified cycle. The information format is as follows:
RTIME
Time is a cycle that Server must reply. This process allows Server to return an empty feel information ('T') at the specified cycle. As mentioned earlier, such an object is to perform actions in the specified time between the two sensations information. Experiments prove that if the Request Time Notify, Server is allowed to perform an action if the current cycle is sent. The information format is as follows:
TTIME
Time is still a cycle of Server replies.
Making the Request Time Notify meaning: When the player wants to jump up the ball in the air. Because two sensory information is 200 milliseconds, it is possible that the ball is too far from the Agent when the cycle T is too far, while the cycle T 1 is passed. In order to cross this obstacle, the agent can expect a startup time and require a Time Notify message to achieve the correct action in the appropriate time. 3.4 Physics
Physical role between the body in the RCSServer3D of version 0.2 has some restrictions. For example, a maximum error found by the FC Portugal 3D simulation football team is that all body quality is set to 1kg. SERVER's physical instability is the progress of the Constraint FC Portugal 3D simulation football team.
In the RCSServer3D of version 0.2, the player is a spherical body, radius RP = 0.22m, and mass MP = 75kg. Football is also spherical, radius RB = 0.111m, mass MB = 0.4 kg.
Drive
In the Agent's head produces a force that moves Agent, lasts 10ms. If Agent and ground contact can only move yourself. It is still not possible to jump, at least the FC Portugal 3D simulation football team can't do it. The maximum force is 100. When the Agent moves, it is affected by friction:
(1)
And the split is rotated with the ground.
Figure 5 - Forces act on the Agent
Kick
The distance between the Agent is RP RB 0.04
Figure 6 - How to achieve
Kick action has two parameters - the power size of the kick ball and the angle of the X-Y plane. The angle in the X-Y plane is radiated (Figure 6). When Kick is, it produces a force and a torque for the ball.
Chapter 4.FC Portugal Agent
FC Portugal 3D Basic Agent is a unusful version shortly after the RCSServer released version 0.2. However, a simple organization sufficient begins to think about the future structure. Anything that attempts to use FC Portugal 2D code causes some problems, but is not because the spatial dimension increases, but because of the huge difference in Server work, it is mainly the use of spades and actual physical effects.
4.1 Agent System
Figure 7- FC Portugal 3D Basic Agent module
The architecture of the Agent is divided into six main modules containing different functions (Figure 7).
World
State
The World State module (Figure 8) is an update to maintain the Agent World Model. This information contains: the position of the ball, the position of others (and ourselves), the position of the goal, even score, and time information is also stored in this module.
Figure 8-FC Portugal World State diagram
This is a sketch already used. Class World State is divided into three major classes - class gamestate, class gameconditions, and class Objects. Class gameState contains information about the game, like scores, time, which team starts competition, and so on. Class Gameconditions Processing and Temperature, Site Size, etc. Class Objects is a super class that keeps information in the world. Class Objects is divided into two subcategories - class static and class movable. The class Static contains the goal and horn flag, and the class movable contains players and balls.
Using the same structure is expected that the world model of the next cycle is worth doing, the future of the movement of the object is obtained.
Strategy / positioning
The Strategy module uses the SBSP (Situation Based Strateg Positioning) that has been used in FC Portugal 2D (RIS AND LAU 2001). In general, this method is allocated according to the position of the ball and the situation in the field. The player running to the ball is a strategic location [2] The nearest player is in the ball. The strategic location of each player is different (Reis, Lau and Oliveira 2001).
Low Level Skills
The Low Level Skills module contains the basic action of the Agent, such as running and kick (see 3.4).
Physics
The PHYSICS module is calculated in the Agent side analog Server end. Contains the physical effects, such as: the distance, speed, acceleration, braking distance, strength, etc.
Geometry
The Geometry module makes geometric calculations simpler. Used to calculate data such as distance, vectors.
Utils
The UTILS module completes the task of receiving / transmitting information from the Server, and analyzing the received information, constitutes the sent information and writing the log file.
4.2 Agent Sketch
The main code of the Agent is a loop containing reception information, analysis information (thinking), and transmits.
4.3 underlayer technology
Using the latest version of 3D Server, kick the ball to a certain point, the agent must move to the reverse extension line of the ball and the target point connection and the distance of the ball does not exceed D. This requires a very accuracy of the position of the player, because a little error will kick it is completely another place.
For the Agent parked at the specified position, the first step is calculated to calculate the brake distance B, and the body mass is M, the speed is Vo, the maximum reverse direction force F. The initial motion equation is:
(2)
(3)
The x value must be calculated in (2). Set XO = 0, because the start position is not important, because the target is a distance rather than the final point, the braking time T, acceleration A and force F must know. Acceleration can be calculated like this [3]:
(4)
Time T can be calculated from (3) because the final desired speed V is 0,
(5)
Substitory (4) and (5) in (2):
(6)
Finally, the value of the Y-axis direction is also calculated according to equation (6) because the movement is in two dimensional directions. In summary, the algorithm is as follows:
The size limit is limited to the end point. The purpose of this is to avoid the use of too much force when Agent is very close, causing missed the ball. Similarly, the braking force depends on the distance from the ball, avoiding too much braking, and the distance from the ball is farther away.
4.4 Agent Strategy
The FC Portugal 3D Simulation Football team's Agent is very dependent on the SBPS organization. Agent before the game according to the number station. The advantage of SBPS is that Agent does not have to calculate the actual location of the teammates, know their target points; because each Agent can know the strategic location of the companion through the SBPS algorithm.
If it is the other party to kick, the agent does not do, until the other person has encountered the ball. If it is the FC Portugal 3D Simulation Football Team, the most close Agent of the SBPS is running to the kickpoint. Get playing the ball after reaching the ball. Other agents don't do, until the former encounters the ball.
After the ball is opened, the game mode switches to "Playon", starting with the game. In this mode, the agent runs in accordance with the SBPS algorithm. The exception is that the players must play, and the players must run to the position where the play is then playing.
Chapter 5. Testing and Results
So far, two main experiments have been completed. The first item is a manifestation of an Agent without an opponent. The goal is to run and shoot the ball to the ball door. The result is an encouraging because almost every Agent is tapped.
Second test, eleven FC Portugal 3D simulation football team Agent played, and there were two as an opponent. The test includes running and shooting in accordance with SBPS. The success rate has dropped but our team still scores it. The main obstacle is no foul; the opponent Agent is trying to get close to the ball, put the FC Portugal 3D Agent outside. Even so, the team's running performance is still acceptable.
Chapter 6. Future Work
FC Portugal 3D uses some things that prove to be success in FC Portugal 2D: SBPS, underlying action procedures, and others, such as: based on Server Improved Intelligent Communications.
Chapter 7. Conclusion
There is little change in the new Agent, which proves that the effect is very good in the current server, showing enough flexibility. Thus, Server has not been completed, and the current team of FC Portugal is very confident in Lisbon2004. thank
bibliography
[1] Note: A sensory information can have multiple feelings.
[2] is not the current position.
[3] f takes a negative value because the force and speed direction are opposite.