ZJUBase 2D 2005 Team Description

Jun Guan, Dijun Luo, Rong Xiong

National Laboratory of Industrial Control Technology Zhejiang University, Hangzhou, 310027, P.R.China


Abstract This paper describes the main features of the ZJUBase soccer simulation team, which was the runner-ups of China RoboCup 2003 and 2004 and won the 8th prize in RoboCup2004. After the brief introduction of ZJUBase 2004, the new characteristics of ZJUBase 2005 are represented. These include the refined agent skills and cooperative communication. Finally, we will describe our future research directions.

1. Introduction

The ZJUBase 2004 soccer simulation, which is based on the UvA Trilearn[1] 2002 source code, was the runner-ups of China RoboCup 2003 and 2004 and won the 8th prize in RoboCup2004.

This year, we have made two main extensions to our team ZJUBase 2005: refined agent skills, and cooperative communication.

2. Refined Agent Skills

The agent skills in soccer simulation competitions are very important, especially in dynamic and adversarial environment.

We have developed several agent skills:

    1. Position. Agent calculates its target position based on current formation and its role. This skill has one important parameter its stamina, as agent's stamina will decrease when it dashes.
    1. Intercept. Agent tries to get the ball before any opponents.
    1. Dribble. Agent moves forward while keeping the ball.
    1. Pass. Agent passes the ball to some teammate with specific kicking speed.
    1. Outplay. Agent dribbles while some opponent tries to intercept the ball.
    1. Shoot. Agent kicks the ball very fast to get a goal.
    1. Block. Agent tries to move to the dribbling way of an opponent then it can intercept the ball.
    1. Mark. Agent tries to stay around an opponent so that other opponents cannot pass ball to the opponent.

3. Cooperative Communication

To realize cooperative communication we want to design flexible communication protocols based on the soccer server environment to fully utilize the limited communication resources. All our protocols define four issues: when agents should communicate (say, listen, or both), who should communicate, what should be communicated, and what should the agent do when receiving other agents' messages. But as we can see it is difficult to deploy a single communication protocol on all the 11 teammates and we need to divide this problem into some sub-problems that are much simpler. This paper introduces two ideas we use to solve this problem: flexible advice giving and agent grouping.

3.1 Flexible Advice Giving

As the communication resources on the soccer field are very limited and we want the utility of them to be highest, we decide to let the agents give advice to others whenever possible rather than just broadcast what they have seen and think the information sent is useful to the receiver to make an intelligent decision. An agent A1 makes decisions on behalf of another agent A2 and broadcasts the explicit advices if needed. When A2 receives the advice, it will carry out the advice right way. A1 may make decisions for more than one agent. When they receive A1's advice, they will follow it. But if A1 cannot give any advices to A2, it may tell A2 what it thinks may be useful to A2's planning or just keep silent.

We define several kinds of decision advices: passing, dribbling, kicking out, intercepting, position and looking at. Players who do not control the ball may give the teammate who owns the ball the advices of passing, dribbling and kicking out. Teammates who are far away from the ball may receive other players' advices of intercepting and position. And all players may receive advice of looking at that tells them which direction they should look at. Consider the case of Fig.1 where A, B, C are three teammates, B controls the ball, and A is far away from B and C. Here A cannot give any reasonable advices to B because A cannot see the whole world model near B and C very clear, but A does know that B may pass ball to C and A tells B to look at the direction of C. After B receives this advice, he may choose to do so, and will find a secure way to pass to C.

Fig.1. A gives B advice of looking at C
Fig.1. A gives B advice of looking at C

Table 1. The parameters of these advices and what agent should do when receive them. (Here speed is a vector)

Advice Parameters What to do when receive
Passing Passing ball speed and to whom Pass with specific speed
Dribbling Dribbling speed Dribble with specific speed
Kicking out Kicking ball speed Kick ball with specific speed
Intercepting Agent intercepting speed Intercept ball with specific speed
Position Target position point Move to the target point
Looking at Target direction Look at target direction if he can

The issued advices should be flexible enough because of the dynamic adversarial multi-agent environment. When giving advice, the sender should predict what will happen if the receiver does follow this advice. If the result is disadvantageous to us such as losing the game, the sender should never broadcast this advice. Only when the advice is good for our team can the sender send it. To ensure high team performance, we should keep in mind that our opponents are cleaver and we need to give secure advices. Furthermore, we should always take communication latency into consideration when predicting what will happen if the receiver takes the advices.

Furthermore we allow an agent especially the ball-controller to broadcast his request to ask for advices when he cannot make an intelligent decision under some circumstance. For instance, when the local world model is not accurate enough or when there is no good passing ways and he has to dribble but his stamina is so low that he has to take a break, it is a good idea for him to broadcast his request to ask for decision advices.

3.2 Agent Grouping

We acquire the idea of agent grouping from how we human solve the problem of implementing cooperative communication. We divide all our 11 teammates into several groups such as goalie group, defender group, midfield group and attacker group, and then carefully design inner-group communication protocols and inter-group communication protocols, which greatly reduced the complexity and difficulty of tackling this problem. Agent grouping makes harmonizing agents' communication much easier.

We group agents according to their roles and other attributes. The predefined groups are goalie group, defender group, midfield group and attacker group in our current implementation. Table 2 explains the potential members and responsibilities of those groups.

Table 2. Group members and responsibilities of predefined groups

Group Group members Responsibilities
Goalie group Goalie Keep the goal
Defender group Back, midfield Defend, aid goalie group
Midfield group Back, midfield, forward Forward ball from defender to attacker
Attacker group Midfield, forward Attack, try to shoot

A single group may contain one or more agents, but an agent can never belong to more than one group at one time. However, an agent can belong to a group at one time, and then dynamically joins another group at other time. Here are some examples. Suppose the No. 3 player is a back. When the ball is on the backfield and even worse the ball is under control of an opponent, the No. 3 player joins the defender group to help the goalie group defend our goal. If the ball moves forward, the No. 3 player may need to join the midfield group to forward the ball from the defender group to the attacker group.

The main work of implementing cooperative communication is to carefully design the inner-group communication protocols and inter-group communication protocols. For both types of protocols we need to define: when agents will communicate, who will communicate, what will be communicated, and what will the agent do when receiving messages. Inner-group communication protocols deal with the problem of cooperative communication of agents who are in the same group, and inter-group communication protocols define how agents who are in different groups should communicate.

4. Conclusion and Future Directions

In this paper we have quickly addressed some improvements in our new soccer simulation team ZJUBase 2005. For future directions, we are interested in studying reinforcement-learning techniques and applying fuzzy control & expert control to our team strategy.

References

  1. 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.