Team Description of CZU2007

Daojing Han, Yanbin Zhuang, Yiqing Song, Chunguang Li

Institute of Artificial Intelligence and Robotics; School of Computer Information and Engineering; Changzhou Institute of Technology; Changzhou 213002, Jiangsu Province, P.R. China


Abstract This paper describes some main features of the CZU2006 soccer simulation team (2D), which participated in the first RoboCup China Open 2006 and got the 6th place. After the brief introduction to CZU2006, the characteristics of CZU2007 soccer simulation team (2D) are represented. These include the following aspects: the communication system, zoning principle, and tactics system. Finally we show our future research directions.

1. Introduction

The CZU2006 soccer simulation team has attended the RoboCup2006 (World Cup) held in Germany and the first RoboCupChinaOpen2006. Our team is based on the CZU2005[1]. With our great efforts, the CZU2006 demonstrates amazing progress, and achieved the 6th of 33 teams in the first RoboCupChinaOpen 2006.

After the competition, we went on improving our code for our team to organize attack and defense more effectively, and we design the tactics system and add the new idea of zoning.

2. Description of the Tactics

The core of the tactics lies in its condition trigger and its execution constitution. Each group of condition trigger and the execution process is called as a stage [2,3]. The tactics consists of the certain order execution stages, the head information describing the tactics as well as the conditions of the tactical end. A basic tactical structure is shown in Figure 1.

The normal tactical head information must have the following parts: the number of the tactical stages, the number of the agents that the tactics involves in, and the tactical priority. Simultaneously it also may include another two parts, e.g. the name of the tactics and the tactical entry condition.

Each tactical stage includes three parts: entry condition, behavior instruction, survival time. A tactical stage also naturally finished after the survival time ends. If the entry condition of the next stage still were unable to be satisfied this time, then this execution process of the entire tactics ended.

The tactical conclusion conditions are divided into three kinds: successful performance, execution failure, execution-interruption. Because the tactics merely is a kind of cooperation instruction to agents, therefore the agents do not have to take action completely strictly according to the tactical instruction, so need "the execution -interruption" condition for indicating that the conclusion of the tactics is because action of an agent not completely received this instruction and choose the different action way. In this situation we could not mark "success" or "failure". Similarly, the tactics discussed in subsection above is classified as an execution-interruption because it arrives the survival time to end at some stage

The formalized description of the tactics uses the tactical language self-defined. The tactical language is the ultra collection of the training language (coach language) provided by the RoboCup simulation platform and expands the training language grammar to have the ability to express a complete description of tactics.

Figure 1: The basic structure of the tactics

Tactical Stage 1 Stage 2 Stage n Tactical
start condition guide condition guide condition guide end

3. Improve Communication Layer

In SSL, in order to better simulate the authenticity of the competition, soccer server allows both players to communicate and exchange each other. These exchanges are implemented by sending some characters which can be seen through players. Meanwhile, soccer server imposes some strict restrictions including the number of characters and delay treatment and so on in order to prevent players from centralizing control. Thus, the communication and the exchange between players also are currently one of a hot research projects. Difficulties of the design of the exchanges and communication lie in ① the very narrow communication band width; ② time delay existence of process of exchange information feedback; ③ low use factor of the characters

3.1 Basic layer algorithm of communications

For world model maintenance supplement, tactical execution, and other support information issues. The free format issue of a agent is the best carrier of information, But for 10 characters which can be seen, there are 1074 kinds of information, so too many new formats have become very large state space, and seriously affect the volume of programmers. To promote the utilization rate of the characters, and reduce the difficulty of information expression, we design a kind of the compression algorithm of the characters. The algorithm successfully deal with the problem of information expression difficulty and reduces the state space. Before introducing the basic layer compression algorithm, we first explain the compression process:

Figure 2: Flowchart of the information compression process
Figure 2: Flowchart of the information compression process

3.1.1 Character compression and codes

We have adopted a method of the decentralized compression and the concentrated encoding which make rigorous demands on the number of the bits of each character

Through the analysis of the 74 visual characters, we found that if a character is expressed by using directly a binary 8-bit. Then it can be expressed as a total of $2^8 = 256$ characters. Although it contains the 74 visual characters, but for the structure of our decentralized compression and the concentrated encoding, it is very difficult to guarantee that 7th and 8th of each 8-bits eight are 0. There may be an excess of 74 cases that may arise when we change the binary system into the metric system, it would be impossible to use the visual characters. Therefore here we use only binary representation of a character with 6-bit, so that the space of $2^6 = 64 < 74$ which express the front 64 characters in the visual characters. Although the 10 visual characters are wasted, this method for the information coding greatly reduce the difficulty and increase the breadth of information representation. In order to fully use the visual characters, we use these 10 characters as a symbol of the exchange with coach. If the players receive the first character which is in this ten characters, then it does not need analysis.

Introduction to the compression algorithm: we use data s expressed by using n bits according to the certain agreement and compress s into a temporary binary data flow, the greatest length of this binary data flow is 60, the algorithm is as follows:

bool Add(unsigned char*s, int *n*){
 if (buf_bits_len + n > ServerParam::say_msg_size * Bitsperbyte) 
          return false;
 int d0 = buf_bits_len % 8; 
 int l0 = buf_bits_len / 8; 
 int l1 = (n+7)/8; 
 int l2 = n%8; 
   // Set 0 to superfluous bit of the last byte.
 if(l2 >0){ 
 unsigned char mask = 255; 
 mask = mask >> (8-l2); 
 s[l1-1] &= mask; 
 } 
 unsigned char tmp; 
 for(int i = 0; i < l1; i++){// Add the data taking the byte as the unit 
 tmp = s[i]; 
 tmp <<= d0; 
 buffer[l0+i] |= tmp; 
 tmp = s[i]; 
 tmp >>= (8-d0); 
 buffer[l0+i+1] |= tmp; 
 } 
 buf_bits_len += n; 
 return true; 
}

Because decompression and compression of the characters is reversed each other, to this, the compression and the decompression design the characters in the communication basic layer are completed.

3.2.2 Character seal transmission

In the binary data flow after the character compression, we extract data according to one unit with 6 bits, the algorithm for extracting data also are decompress algorithm. After extracting 10 decimal digits we perform the character seal.

We order 74 characters according to the certain order, then memory this result in the character array as follows:

printablechar[]="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP QRSUVWXYZ().+-*/?<>_"; in preparation for characters combination.

The seal algorithm is very simple, and only needs to search the corresponding character in the character table according to its value. The algorithm is as follows:

char AudioDatamap::map_into_printablechar(int i){ 
 if (i < 10) return i + '0'; 
 i -= 10; 
 if (i < 26) return i + 'a'; 
 i -= 26; 
 if (i < 26) return i + 'A'; 
 i -= 26; 
 switch(i){ 
 case 0: return '(';
 case 1: return ')'; 
 case 2: return '.'; 
 case 3: return '+'; 
 case 4: return '-'; 
 case 5: return '*'; 
 case 6: return '/'; 
 case 7: return '?'; 
 case 8: return '<'; 
 case 9: return '>'; 
 default:return '_'; 
 } 
}

To this, at bottom floor of the communication character compression, the decompression, the code design is completed.

3. Zoning

For a player who is controlling the ball, then his action choices may be "dribble", "pass a ball", "break through", and "shoot" and so on. Making each action choice based on the structure from top to bottom, but interior parameter adjustment of each action is based on an idea from bottom to top. The decision-making is based on the district which divides the field into nine regions according to the soccer position, as shown in Figure 3. Each region corresponds to one kind of strategy.

Finally, no matter he is a player who controls the ball or a player who does not control the ball, his physical strength will be greatly consumed because of the execution of the command (dash power), but whether the physical strength is abundant or not has a enormous influence upon teammate's following performance, therefore the parameters of "power" in the command "dash" needs to carry on the final adjustment:

Figure 3: Diagrammatic sketch for making-decision based on the regions assigned
Figure 3: Diagrammatic sketch for making-decision based on the regions assigned

4. The future of the CZU2007

Opponent modeling: We are now modeling opponent team, but in accordance with the development tendency, constructing this model is necessary. The so-called enemy, the military is invincible, the agent wanted to be on the successful completion of one opponent's goal obstruction analysis of the opponent's weaknesses and take the appropriate strategy.

At present our team also lacks the feedback system and the on-line learning capability, this will be one of the future research projects. But we have established and trained the on-line learning system already, but the effect was not ideal. We will conduct research on the feedback system and the on-line learning further.

References

[1] Haixoing zhang, Quan Li, Changchun Zhu, Yanbin Zhuang, Chunguang Li. Team description of CZU2006, 2006. [2] Remco de Boer, Jelle Kok. The Incremental Development of a Synthetic Multi-Agent System: The UvA Trilearn 2001 Robotic Soccer Simulation Team[Master Thesis]. Artificial Intelligence and Computer Science, University of Amsterdam. February, 2002 [3] Jelle R. Kok, Matthijs T. J. Spaan, Nikos Vlassis. Multi-robot decision making using coordination graphs. Proceedings of the 11th International Conference on Advanced Robotics. Coimbra, Portugal. 1124-1129. July,2003.