Abstract
Robotic soccer is an intelligent system where a group of mobile robots are controlled to perform soccer play (http://www.fira.net). The allocation of a suitable role for each robot in a team is a key for the success of the play. The paper treats this issue as one of pattern classification, and solves it with an Evolving classification function (ECF), a special evolving connectionist system (ECOS). A robot's role is determined by and evolves with the states of system (robots and target) in real time. The software and hardware platforms are set up for data collection and learning. The effectiveness of the proposed approach is verified by the experimental studies.
1. Introduction
In a robotic soccer system, a robot can be assigned one of the basic roles: attacker, defender and goal keeper, or the additional roles such as (active or strategic) support (Weigel, T. et al, 2002). The attacker tracks the target (ball) and tries to put it into the opponent goal area. The defender blocks the opponents and supports the goal keeping actions. The goal keeper clears the ball from its home goal area. The support assists attacking or defending actions of the team.
In many role allocation approaches, the preferred poses of each role are set by the play strategy. A numerical indication (utility) of a robot for each role is defined as a function of the relative postures among the robots, the ball and the preferred poses of the role. The robot with the highest utility will be allocated the corresponding role (Stone, P. et al, 1999; Stone, P. & Veloso, M., 1999; Weigel, T. et al, 2002). Roles are also allocated through an auction mechanism where the robots are treated as “traders”. The offer of each robot for a role is measured through a matching function based on the attributes of the robot (Frias-Martinezl, V., et al, 2004). These approaches tend to quantify, in a closed-form function, the relationship between the system states (coordinates, distance and angle of the robots and the ball) and roles. In practice, it is hard to find or justify such functions.
By viewing the robot roles as patterns, the robot role allocation problem can be reformulated as the selection of a pattern (robot's role) from the system states. This typical pattern classification problem can be handled with many powerful tools such as principal components analysis (Amari, S. et al, 2000), neural network (Haykin, S., 1994), support vector machines (Keceman, V., 2001) and evolving connectionist systems (ECOS) (Kasabov, N. & Song, Q., 2002; Kasabov, N., 2002). In this paper, the ECOS method is adopted for its unique evolving feature and its successful applications.
The paper is organized as follows. In Section 2, the problem formulation is described. In Section 3, the procedure of ECOS-based robot role allocation and some practical issues are discussed. In Section 4, the experimental set-up and the results are presented to verify the proposed approach. The conclusion of the work is given in Section 5.
2. Problem Formulation
The layout of a robotic soccer game (http://www.fira.net) is schematically shown in Fig. 1.

Robotic Soccer System (http://www.fira.net)
With three wheeled robots (dimension: 75mm × 75 mm 75mm) moving in a field (dimension: 150mm × 130 mm), each robotic soccer team tries to push the ball into the opponent's goal net. The states of the robots and the ball (target) are captured by a camera and processed by a computer. The robots receive the motion commands from the computer through wireless communications.
The role allocated to each robot varies with the progress of the game. Fig.2 shows a scenario when two home robots are near the opponent goal area. The robot in the best attacking posture (the position and the angle of the robot) should be assigned as an attacker, and the others can be defender or goal keeper. For Robot 1 and Robot 2, their positions and angles are denoted as p i =[x i y i ] T and θ i (i = 1, 2) respectively. The ball's position is represented by p b = [x b y b ] T . Combining p i , θ i and p b , we have a new vector p = [p b T p1 T θ1 p2 T θ2] T .

One Scenario of Robotic Soccer
The role allocation problem now becomes: given p, what roles, attacker or defender, Robot 1 and Robot 2 should take ?
3. Role Selection
Evolving connectionist system (ECOS) is a connectionist architecture for modelling of an evolving process and knowledge discovery (Kasabov, N., & Song, Q., 2002). It consists of networks operating continuously and adapting their structures through interactions with the environment. The adaptation of their structures is achieved through a learning mechanism (supervised or unsupervised) in the system. Fig. 3 is the block diagram of a much simplified ECOS with supervised learning. The data Input 1 and Output 1 are for the learning, and the data Input 2 and Output 2 are for the verification. The learning and the verification processes are shown in solid and dashed lines respectively. The structure of this simplified ECOS is similar to those of common supervised learning systems, but it is unique in its learning mechanism able to cater for an evolving process. The structure as well as the parameters of the connectionist elements (neural network, rules etc) are subject to change.

An ECOS with Supervised Learning
Evolving classification function (ECF), a special ECOS used for pattern classification, generates rule nodes in an N dimensional input space and associate them with classes (Kasabov, N. & Song, Q., 2002; Kasabov, N., 2002). Each rule node is defined with its centre, radius (influence field) and the class it belongs to. A learning mechanism is designed in such a way that the nodes can, be generated
The following notations are used to describe an ECF: C (class set), v i (i th data vector), c i ∈ C (the class associated with v i ), o j (the centre of j th node), r j (the radius of j th node), N j = (o j , r j , c j ) (the j th node), dmin (the minimum radius of a node) and dmax (the maximum radius of a node). The range of the indices i and j are determined by the number of data and nodes. Fig.4 schematically shows the classification of a set of data. In the learning phase, a list of (rule) nodes is generated from the following learning algorithm iteratively:

Data Classification
Step 1: Initialize i = j = 0 and N0 = (v0, dmin, c0).
Step 2: End the learning phase if no more data coming; otherwise, get v i and c i , and increase i by 1.
Step 3: Add 1 to j; calculate d ij = |v i − o j | (j = 1,2 … m, where m is the number of the nodes created).
Step 4: If d ij > dmax for ALL j, increase j by 1, create a new node N j = (v i , dmin, c i ) and go to Step 2; otherwise:
Step 5: If d ij ≤ r j and c i = c j for any j, go to Step 2; otherwise:
Step 6: If d ij ≤ r j and c i ≠ c j for ALL j, let r j = max(dmin, d ij − dmin) and then go to Step 2; otherwise:
Step 7: If d ij ≤ dmax and c i = c j , adjust N j such that r j = d ij unless N j does not cover other nodes; else add j by 1, set N j = (v i , dmin, c i ) and go to Step 2.
In the recall phase, the class c i of a new data vector is identified by examining it against the established list of the nodes. It involves the following steps:
Step 1: Input the vector v i .
Step 2: Calculate d ij = |v i − o j for any node. If d ij ≤ r j and c j is unique, let c i = c j and go to Step 1; otherwise:
Step 3: If d ij ≤|v i − o j | and c j is not unique or d ij > r j for ALL j, c i is the same as that of the node with the minimum d ij and then go to Step 1.
For the role selection in robotic soccer, the class is defined as C = {Robot 1 is the attacker, Robot 2 is the attacker} given one robot is fixed for the goal keeper. The input vector v i is derived after processing the raw data collected. First, the following variables describing the relative postures among the robots and the ball are defined: d12 = |p1 − p2|, θ12 = |θ1 − θ2|, d ib = |p b p i |, θ ib = ∠p b − p i , γ ib = θ b − θ i and d ig = |(L − x i ) tanθ ib − W/2|, where L and W are the length and the width of the field respectively. Next, define a new dimensionless vector p t = [w1 pt1 … w6 pt6] T where pt1 = γ1b /(γ1b + γ2b), pt2 = d1b /(d1b + d2b), pt3 = d1g /(d1g + d2g), pt4 = γ2b /(γ1b + γ2b), pt5 = d2b/(d1b + d2b, pt6 = d2g/(d1g + d2g) and w i are the weights for adjusting the contribution of each element to the role selection. By default, w i = 1. Note that p t contains the important information for the role allocation such as the robot's distances (angles) to the ball and the opponent goal respectively,. It is used as a vector v i in the learning and recall operation in the ECF. For a better classification of data, the raw data p are partitioned according to the position of the ball with respect to the robots :
Case 1: x b > x1 and x b > x2 (The ball is in front of all the robots).
Case 2: x2 < x b < x1, or x1 < x b < x2 (The ball is between the robots).
Case 3: x b < x1 and x b < x2 (The ball is behind all the robots).
where the relative position “in front”, “between” and “behind” are in reference to the attacking direction. The data can be further partitioned according to the distance between the robots and the ball:
Case 4: d1b > k far d2b or d2b > k far d1b (Big difference between the relative distances to the ball of two robots; k far > 0 is a constant).
Case 5: d1b ≤ k far d2b and d2b ≤ k far d1b (Normal difference between the relative distances to the ball of two robots).
Case 6: Other cases excluding Case 4 and Case 5.
4. Experimental Platform and Results
The Data collection is the first task of applying ECF in the robotic soccer. To make the data collection and learning more efficient and comprehensive, an application program package is developed. It can capture the system state with a camera in real time and to replay it on the computer screen. The user can select the roles of the robots interactively through a user friendly graphic user interface (GUI). The learning and recall algorithms are also programmed in the package. The data sets for ECF learning are automatically generated and saved as a template file. The GUI of the data collection is shown in Fig. 5.

GUI for Data Collection
On the screen, the robot is represented by a color square with its identity number (1 or 2). The line going through the rectangle indicates the direction of the robot. The ball is represented by a circle. By clicking the button “..Last ≫” or “≫ Next..”, the robotic soccer playing process can be played backward or forward. Examining the scenes on the screen, we can select Robot 1 or Robot 2 as the attacker by clicking the button “ONE” or “TWO” respectively.
A picture taken in a real game is shown in Fig. 6. There are 122 data collected, among which, 82 data are used for learning and 40 data are used for verification. Some data are listed in Table 1.
Raw Data Collected (Partial)

Robots in Action in a Robotic Soccer Game
The learning parameters are set as dmin = 0.01, dmax = 0.15, w i =1(i = 1, 2 … 6) and k far = 1.5. After the learning process, 30 ECF rule nodes are generated, among which 10 nodes are shown in Table 2. In the recall process for verification, the classes of 39 data (from 40 data) are identified correctly. The success rate of 97.5% is achieved.
ECF Nodes (Partial)
5. Conclusion
This paper addresses the issue of robot role selection for soccer playing based on the concept of evolving connectionist system (ECOS). The role selection problem is converted into one of pattern classification solved by an evolving classification function, a special ECOS. The development of an integrated application program for data collection and learning is described. The experimental study and results are presented to demonstrate the effectiveness of the approach.
