Open access

FIRA Mirosot Robot Soccer System Using Fuzzy Logic Algorithms

Written By

Elmer A. Maravillas and Elmer P. Dadios

Published: 01 January 2010

DOI: 10.5772/7346

From the Edited Volume

Robot Soccer

Edited by Vladan Papić

Chapter metrics overview

3,450 Chapter Downloads

View Full Metrics

1. Introduction

In November of 1996, the first Micro-Robot World Cup Soccer Tournament (MIROSOT) was held in Korea participated in by several countries. Three robots per team play soccer on a 130 cm x 150 cm soccer field. There were more than 25 research papers submitted on the proceedings and technical sessions dealing with various aspects of robot soccer system development and game control strategies (1996 Micro-Robot World Cup Soccer Tournament Proceedings, November 9-12, 1996, KAIST, Taejon, KOREA). From then on several robot soccer tournaments were held in many places of the world.

A robot soccer system is a multi-agent intelligent control system composed of two or more robots, vision system, communication equipment, and a personal computer. Each robot in the system has its own movement mechanism and therefore can move independently as well as cooperate with other robots.

Robot soccer game is an ideal venue for finding solutions to the many challenging problems facing the multi-agent robotic system. These problems include coordination between robots, motion planning of robots, recognition of objects visually, obstacle avoidance, and so on [24]. The robots must be taught different behaviors so that they will be able to react appropriately in any given situation. These behaviors shall be put into action in coordination with other robots so that a specific game plan shall be accomplished. It is therefore imperative that better soccer players (robots) are made to follow a deliberate plan of action from a module that provides very swift decisions especially in critical situations, which in a real-time game can mean a difference of many goals [25].

Since 1996 there are already lots of developments in multi-agent robotic system as a result of the MIROSOT undertaking. The behaviors of robots were improved dramatically as major breakthroughs in the control system are piling one after another.

This chapter will focus on the development of intelligent behaviors for the Mirosot wheeled robots to generate human interest in the framework of entertainment using fuzzy logic algorithms. Algorithms for scorer, goalie, obstacle detection and avoidance will be developed into the robot soccer system. In addition, a game strategy is also implemented in real-time using fuzzy logic algorithms.

Advertisement

2. Fuzzy Logic FIRA Robot Soccer Game On-line Scorer

Since 1996 when the first FIRA robot soccer world cup tournament was held in South Korea, scoring for robot soccer games were always done by a human scorer. Because of the human’s susceptibility to biases and assumptions many researchers have proven that the reliability of most decisions made by humans is greatly undermined. Therefore faulty decision-making tends to be present in almost all systems managed by humans employing only instincts as their tool. In several competitions such as horse racing, dog racing, track and field, swimming, etc., video camera is used on the finish line to determine the true winner of hotly contested competition.

The existing FIRA robot soccer system uses a camera also but as a component of its vision system hardware for locating the positions of the robots and the ball. The information gathered through this camera is fed to the computer for use in the game strategy adopted by the competing teams. The decision-making, as far as scoring is concerned, is still made by a human game official.

This section presents an artificial scoring system for FIRA robot soccer games given the Cartesian coordinates of the ball. It aims to resolve very contentious scoring situations that a human scorer will most likely fail to recognize. The system incorporates cheering sounds and physical coordinated/synchronized movements of robots after a score is made. Fuzzy logic system is a formal methodology for representing, manipulating, and implementing a human’s heuristic knowledge about how to make decisions [1,2,3]. Fuzzy logic scorer for FIRA robot soccer game is an artificial decision maker that operates in real-time. Figure 1 shows the block diagram of the fuzzy logic scorer. The system has four main components: (1) the “rule-base” holds the knowledge in the form of rules, of how best to score a FIRA robot soccer game; (2) the inference mechanism evaluates which control rules are relevant at the current time and then decides what the input to the scoring process should be; (3) the fuzzification interface simply modifies the inputs so that they can be interpreted and compared to the rules in the rule base; and (4) the defuzzification interface converts the conclusions reached by the inference mechanism into inputs to the scoring process. The fuzzy scorer takes the Cartesian coordinates (x,y) of the ball and output a score (1) or noscore(0) depending on the points computed by the defuzzification interface which ranges from 0 to 100. The scoring process receives the value of points and gives output according to the following:

o u t p u t = { 1 i f points = 85 0 i f points 85 E1

Figure 2 shows the Cartesian coordinates of FIRA robot soccer system’s soccer field. The shaded portions of the field indicate the goal areas on both sides. The Cartesian coordinates for the LEFT goal are –10cm <= x <= 0cm, 45cm <= y <=85cm, and for the RIGHT goal are 150cm <= x <= 160cm, 45cm <= y <= 85cm.

Figure 1.

Fuzzy scorer for FIRA Robot Soccer System.

When the ball’s coordinates fall within these ranges, a scoring process will be done to determine whether a score could be awarded or not. The scoring process will be invoked only if the ball arrives within the specified areas of the field considered very close to the goals. Figure 3 shows some of these critical instances on the LEFT goal where the scoring process could be invoked. The same occurrences could happen on the RIGHT goal. In Figure 3, the ball’s positions show that a greater portion of its body is beyond the goal line towards the goal area. Since the goal line is imaginary to the human referee, a particular team could be deprived of a score if the human referee fails to recognize the scoring situation. With fuzzy scorer, these things are not possible to happen.

Figure 2.

Cartesian coordinates of FIR robot soccer system’s playing field

Figure 3.

Examples of critical ball positions where scoring process could be invoked.

Fuzzy sets map each element of the subsets of the “universe of discourse” to a continuous membership value (membership grade) ranging from 0 to 1. Input and output entities of a fuzzy logic system are composed or several maps (also called membership functions) with varying shapes common of which are, gaussian, triangular, and trapezoidal. Each map is assigned a linguistic term that best describes a range of values of the input and output entities. Figures 4& 5 show the membership functions of the ball’s x-coordinate. CL functions’ maximum value is placed on the goal line (at 0 cm). Figure 6 shows the membership functions of the ball’s y-coordinate. CR’s maximum value is located at 65 cm. The maximum values of LR and UR are placed at the extremities of the goal area. Figure 7 shows the membership functions of the consequence. Defuzzification of the relevant membership functions of the consequence generates a value that will be assigned to points (0-100) as input to the scoring process. The value of points determines whether a score is to be awarded or not. It should be noted that the shapes of the membership functions are products of heuristics (trial and error).

Figure 4.

Membership functions of ball’s X-coordinate.

Figure 5.

Membership functions of ball’s X-coordinate.

Reliable scoring decisions are made only when there is a clear outline of the set of rules provided by experts. Inputs are associated with each other from which a consequence will be assigned. The table that shows the consequences resulting from all possible associations of the input quantities is called the fuzzy associative memory (FAM) which represents the rule base of the fuzzy logic scorer. Table 1 shows the FAM of the fuzzy logic scorer.

The rules whose antecedents have membership function values greater than zero participate in the defuzzification process using their individual consequences to determine the points to be used in the scoring process.

Figure 6.

Membership functions of ball’s Y-coordinate.

Figure 7.

Membership functions of consequence.

Ball’s x-coordinates Ball’s y-coordinates
LR NL CR NU UR
IN VG VG VG VG VG
CL NI AV SA AV NI
FA PR NI AV NI PR

Table 1.

Fuzzy logic scorer fuzzy associative memory (FAM).

2.1. Incorporating Sounds

Adding sounds to robot soccer games can make the game more entertaining and brings the game closer to the real world. Sounds can give feedback as an appreciation when a team scores and as criticism when a team commits foul action on the field.

Different recorded sounds can be played as the game progresses. Instances where playing of sounds is appropriate are: (1) when robots are executing field demonstrations simulating a cheering competition music can be played, (2) when a team made a goal a sound of applause can be played, (3) when a team committed foul a booing sound can be played, (4) when a team executes a defense strategy a sound shouting defense! Defense! … may be played, and (5) when a team executes an offense strategy a sound of encouragement may be played. Sometimes a game situation requires the playing of different tunes at the same time.

Support for playing waveform audio is included in Visual C++. The Windows multimedia library winmm.lib and the Wave class library give a fast and handy way for adding sound effects to any Windows 95, Windows 98, or Windows NT application. A class can be created also to play multiple wave files at the same time. The Wave class is only added to any Visual C++ project, after linking the winmm.lib, it is now ready to add sound to the application. There are only three (3) methods required from the Wave class that enables an application to play sound from given medium. First, the recorded sound must be loaded into memory by the Load method. Second, the loaded sound will be played by the Play method. Third, played sound will be stopped by the Stop method [4].

Just like real soccer games, the playing of sounds and robot movements must occur simultaneously but independent of each other. When a team scores a goal, the robots of such team celebrates by moving around the robot soccer field while the sound of applause is playing. These tasks cannot be accomplished in ordinary sequential execution of components in a program. Because when the sound instructions grab the control of execution, the robots have to stop or enter in an uncontrollable situation. It is only when the sound finished playing that the robots gain control of execution. It is at this point that a separate line of execution is deemed necessary to allow playing of sounds on different occasions as the game progresses without encroaching on the roles of the robots.

The concept of multithreading is appropriate in this respect. A thread is a path of execution through a process’ code. A preemptive scheduler inside the operating system divides CPU time among active threads so that they appear to run simultaneously. Secondary threads are ideal for performing tasks such as playing sounds while robots are doing their thing on the robot soccer field.

2.2. Robots Synchronized Movements

When the robots are playing soccer, their movements are not predetermined but depend most on the position of the ball and the game strategy being applied. However, when robots celebrate resulting from a score being made, their movements are predetermined so that proper coordination is attained thus making it more appealing to the audience. Different paths can be generated and loaded in memory at the start of the game so that they are readily available when needed. Geometric curves may be used as patterns for these coordinated movements of robots. Figure 14 shows the robots converging at the center of the playing field after a score has been made.

2.3. Experimental Results Of Scorer

Figures 8 to 10 show the performance of the fuzzy scorer on the left goal of the playing field. Three experiments were conducted on the left goal, namely, on the upper portion of the goal where the ball is made to approach the goal area with y ball > 75, another where y ball = 65 ± 5, and another with y ball < 55. The figures show the values of points, output of the defuzzification interface, as the ball approaches the goal line towards the goal area. Values of points equal or greater than 85 means that the scorer have decided it is a score. Experiments show that as the ball crosses the goal line (xball = 0), the fuzzy scorer gives points values that translate to a score.

The above experiments were also done on the right side goal of the playing field the results of which are shown on Figures 11 to 13. Consistent with the results of the above experiments, the fuzzy scorer gives points values that also translate to score as the ball passes thru the goal line (xball = 150) towards the goal area.

Figure 14 shows the coordinated movements of the robots after their attacker made a score. These actuations mimic the behavior of a human soccer player after making a score.

Figure 8.

Fuzzy scorer performance on the left side upper extreme portion of goal area.

Figure 9.

Fuzzy scorer performance on the left side portion of goal area.

Figure 10.

Fuzzy scorer performance on the left side lower extreme portion of goal area.

Figure 11.

Fuzzy scorer performance on the right side upper extreme portion of goal area.

Figure 12.

Fuzzy scorer performance on the right side middle portion of goal area.

Figure 13.

Fuzzy scorer performance on the right side lower extreme portion of goal area.

Figure 14.

Fuzzy scorer performance showing coordinated movement of robots by converging at the center after the attacker made a score.

The performance of the fuzzy scorer is greatly dependent on the shapes of the membership functions of xball and yball. Inaccurate adjustment of these shapes would result in a score even if the ball has not yet touched the goal line or no score in spite of the ball’s being inside the goal area. The speed of the ball can also affect the performance of the fuzzy scorer. If the ball crosses the goal line at high speed, a situation that seldom happens in actual games, the vision system of the robot soccer will not be reliable enough in tracking the ball’s position since its frame grabbing speed is constant. This will cause the fuzzy scorer to decide affirmatively a little late, that is, when the ball is already few units from the goal line towards the goal area.

The performance on synchronized movements of the robots after a score is made, depends on the ability of the robots to follow exactly the path design. The robots have difficulty in positioning themselves on the different points that composes the designated path. Actually, the robots cannot be perfectly positioned on the points where we want them to be. But the closeness of the robots to these points can be optimized.

Advertisement

3. Soccer Robot Goalie Strategy Using Fuzzy Logic

This section presents a control strategy for the FIRA robot soccer game goalie using fuzzy logic systems. This strategy adopts the divide and conquer concept by decomposing the goalie’s task of defending the goal into four (4) categories. Consequently, each category is characterized by different goalie-ball situations and will be handled by a separate rule-base. The first fuzzy system takes the x-coordinates of the robot and the ball then outputs the category number that determines the rule-base to be used in the second fuzzy system. The second fuzzy system handles the goalie’s movements. It takes the current y-coordinate of the goalie-robot and the ball then outputs the y-coordinate of the goalie’s next position (destination) which is located along its line-of-action (a line with predefined x-coordinate where the goalie moves back and forth just in front of the goal it is defending). Experiment shows that this strategy is feasible, efficient, and robust.

Robot soccer games are scored by the number of times the ball actually entered the opponent goal. The entity that is tasked to prevent the ball from entering the goal is called the goalie. The goalie plays a very vital role in the game since a weak goalie means a lost game. It moves over an area just in front of the goal, called goal area, to block and clear the ball out from this area. Thus, preventing the opponent team from scoring.

Conventional goalie strategies [5,6,7,8] would use mathematics to predict the next position of the ball and subsequently generates a path to block it. But the data utilized in the mathematical process are imprecise in the sense that they are the result of the image processing procedure of the robot soccer vision system that is laden with varying degrees of imperfections aside from the fact that robot soccer is a very dynamic system. Thus, the results would have far-reaching effects on the actual performance of the goalie robot.

In [6], the goalie predicts the point of intersection between the goalline and the path of the ball and moves to it to block the ball when it threatens to enter the goal. When the ball is far from the goal area, the goalie moves to the center of the goalline. If the ball is blocked and sticks on the goalie, the goalie makes a spin move to drive the ball away from the goal area. This move is a bit dangerous because the possibility of having the ball driven to its own goal is present. Four states are assumed by the goalie in [7]. The first state is assumed when the game begins by moving the goalie to the center of the goal. The second state is assumed when the point of entry of the moving ball towards the goal is predicted and so the goalie moves to that point. The third state is assumed when the ball and the center point of the goal are connected that it is necessary for the goalie to move between this connection. The last state is assumed when the ball is in the goal area that the goalie has to kick it out. The goalie strategy described in [8] places the goalie in front of the goal until the ball arrives at the goal area. The goalie would follow the ball location in the y direction when the ball is outside the goal area. The goalie would move towards the ball as soon as the ball enters the goal area.

The goalie strategies discussed above do have some of the necessary qualities of an effective goal defender. What is lacking however is the fact that these strategies do not provide solution when the goalie is trapped and do not prevent the goalie from pushing the ball towards its own goal. This paper offers an encompassing solution to all possible problems that may prevent the goalie from performing its task of defending the goal effectively. The use of fuzzy logic systems in determining the next position of the goalie not only take care of the imprecise data to dampen its negative effects but also provide sufficient measures to counter the countless possibilities that might confront the goalie.

3.1. Description of the Goalie Function

The importance of the goalie’s task in defending the goal cannot be overemphasized. Experience tells us that the most effective way to defend the goal is to have the goalie move back-and-forth along a specified line (line-of-action) just in front of the goal without ever changing its orientation on it (the goalie should either be oriented 900 or 2700 with respect to the x-axis). This means that if the goalie happens to be moderately far from its line-of-action, it should return immediately to it but with careful consideration on the ball’s position.

Figure 15.

Category 1 goalie and ball situation.

Figure 16.

Category 2 goalie and ball situation.

When the goalie is on its line-of-action as shown in Figure 15, it can block the moving ball by moving ahead to the position (along the goalie’s line-of-action) where the ball is supposed to enter. This is referred to as category 1. However, when the ball is sensed to be within the goal area, as shown Figure 16, the goalie immediately kicks the ball out as it is about to cross the line-of-action and immediately moves back to prevent from being blocked by an opponent robot. This is referred to as category 2.

As shown in Figure 17, the goalie is far from its line of action so it has to be returned back to it but the point where the robot should enter must be carefully chosen so as not to accidentally push the ball into its own goal if it happens to be around. Otherwise, if the ball is not in the goal area, the goalie can go back to its line-of-action on the point nearest it. This is referred to as category 3. When the goalie is trapped in its own goal as shown in Figure 18, it has to move back to its line-of-action immediately to block or kick the ball out. This situation is referred to as category 4.

Figure 17.

Category 3 goalie and ball situation

Figure 18.

Category 4 goalie and ball situation.

3.2. Predicting the Position of the Moving Ball

For category 1 goalie-ball situation, the strategy predicts the point where the ball would intersect along the line-of-action of the goalie (see Figure 15). By inspection the path of the moving ball is always a series of straight lines. Being so, it only requires two points to sense the direction of the ball at any given time and that is by knowing its current and previous positions. When the difference between the x-coordinates of the former and the latter is increasing, the goalie doesn’t have to worry because the ball is going away from the home goal. Otherwise, the slope of the line connecting these two points can be computed and then the line is extended to the line-of-action of the goalie by finding their point of intersection. If the point of intersection falls in front of the home goal, the goalie has to move ahead to this point to be able to block the ball there. When the slope of the path of the moving ball is infinity, it means that the direction of the ball is vertical and the goalie would have to block the connection of the ball to any point of the goal by following the ball in the y direction.

3.3. Goalie Fuzzy Logic System

The objective of goalie fuzzy logic system is to generate the y-coordinate of the goalie’s next position given its current position and the ball’s. The line-of-action of the goalie is predefined therefore the point of its next position, where the y-coordinate is output of the fuzzy logic system, lies on this line. The block diagram of the fuzzy logic system used in this research is shown in Figure 19. The goalie moves back-and-forth on its line-of-action so its x-coordinate (X in Figure 19) is predefined and it is fed directly to the goalie. The determination of the y-coordinate for the goalie’s next position begins by feeding the x-coordinates of the goalie and ball ( Xb and Xr) to the first fuzzy system which outputs the rule-base number that will be used in the second fuzzy system. The y-coordinates of the ball and goalie (Yb and Yr) are inputs to the second fuzzy system that outputs the y-coordinate of the goalie’s next position.

Figure 19.

Goalie’s fuzzy logic system block diagram.

3.4. Membership Functions

Table 2 shows the variables used to represent the membership functions (fuzzy sets) of the goalie fuzzy logic system with their corresponding linguistic definitions to describe the system’s behavior.

Figure 20 shows the membership functions for the x-coordinates of the ball and the goalie used in the first fuzzy logic system of the goalie. Please refer to Table 2 for the variables’ descriptions. In Figure 6 the minimum crisp value of SO is pegged at 4 cm from the goal-line (at 0 cm) instead at the goal-line itself to ensure that when the goalie goes closer to the goal-line than 4 cm, the first fuzzy logic system declares it as a trap situation (category 4) and the second fuzzy logic system utilizes the rule-base 4 for the goalie’s movement. Similarly, the minimum crisp value of MO is pegged at 7 cm to ensure that the goalie kicks the ball out when the ball is in the goal area.

X-coordinates (Xb and Xr) Y-coordinates (Yb and Yr) Category (1,2,3,or 4)
IN: Inside the goal
SI: Slightly inside the goal
ZO: At x=0
SO: Slightly outside the goal
MO: Moderately outside the goal
FO: Far outside the goal
VF: Very far from the goal
DN: Down the origin y=0
MD: Moderately down the origin
SD: Slightly down the origin
GD: Going down the origin
CR: At y-coordinate’s center line
GU: Going up
SU: Slightly up
MU: Moderately up
TP: Top or at maximum value of y-coordinate
ONE: Category number 1
TWO: Category number 2
TRE: Category number 3
FOR: Category number 4

Table 2.

Variables used in the membership functions.

Figure 20 shows the membership functions for the x-coordinates of the ball and the goalie used in the first fuzzy logic system of the goalie. Please refer to Table 2 for the variables’ descriptions. In Figure 20 the minimum crisp value of SO is pegged at 4 cm from the goalline (at 0 cm) instead at the goalline itself to ensure that when the goalie goes closer to the goalline than 4 cm, the first fuzzy logic system declares it as a trap situation (category 4) and the second fuzzy logic system utilizes the rule-base 4 for the goalie’s movement. Similarly, the minimum crisp value of MO is pegged at 7 cm to ensure that the goalie kicks the ball out when the ball is in the goal area. Figure 21 shows the membership functions of the y-coordinates used in the second fuzzy logic system of the goalie. The distance from MD to MU is the length of the goal area and the distance from SD to SU is the length of the goal. CR is the location of the horizontal centerline of the robot soccer playing field.

Figure 20.

Membership functions of x- coordinates.

Figure 21.

Membership functions of y-coordinates.

Figure 22.

Membership functions category.

3.5. Fuzzy Associative Memory (FAM) For The Goalie

Tables 3, 4, 5, 6, and 7 show the FAMs (fuzzy associative memory or rule-base) of the first and second fuzzy logic systems of the goalie. They contain the sets of rules provided by experts in associating the antecedents in order to generate the consequence. Logical implications are utilized in formulating these rules like as follows:

(1) IF Yr is SD(slightly down) AND Yb is GU(going up) THEN Y is GU(going up) or SD Ù GU or GU

(2) IF Yr is GU(going up) AND Yb is TP(top) THEN Y is SU(slightly up) or GU Ù TP or SU and so on…

The rules whose antecedents have membership function values greater than zero participate in the defuzzification process using their individual consequences. Looking at Table 5, there are cells that are empty. This is because Table 5 is a rule-base used by the second fuzzy system for category 4 which is a trap situation for the goalie. That is, the goalie is inside the goal and is being restraint by the goal’s boundary walls. This means that the goalie’s Yr cannot go beyond SD and SU.

Figure 3.

Fuzzy Associative Memory (FAM) category 1.

Figure 4.

Fuzzy Associative Memory (FAM) for for category 2 of the second fuzzy system.

Figure 5.

Fuzzy Associative Memory (FAM) category 3 of the second fuzzy system.

Figure 6.

Fuzzy Associative Memory (FAM) for for category 4 of the second fuzzy system.

3.6. Experimental Results Of Goalie Strategy

To test the performance of the goalie using the above strategies, a series of real-time experiments were run. Tests were conducted for each of the goalie-ball situation categories. Figures 23, 24, 25, 26, 27, and 28 show the results of such test runs.

Figure 7.

Fuzzy Associative Memory (FAM) first fuzzy system

Figure 23.

Category 1 test performance of for the goalie.

Figure 24.

Category 1 test performance of goalie.

Figure 25.

Category 2 test performance of goalie.

Figure 26.

Category 3 test performance of goalie.

Figure 27.

Category 4 test performance of goalie.

Figure 28.

Category 4 test performance of goalie.

Figure 23 shows the result of the test made on the goalie with a situation that falls under category 1. The ball was initially placed moderately far from the goal and was pushed towards the center of the goal. The goalie which was initially positioned at the lower part of the goal reacted by moving ahead towards the predicted point of intersection between the ball’s path and the goalie’s line-of-action and successfully blocked the ball there.

The situation in Figure 24 still falls under category 1 except that the ball was not moving towards the goal but to the lower portion of the playing field. The goalie initially on the upper part of the goal reacted by moving towards the lower part of the goal and positioned itself there to close the connecting line between the goal and the ball.

Figure 25 is a situation where the goalie is on its line-of-action and sensed the ball was entering the goal area. This situation falls under category 2. The goalie’s reaction was to kick the ball out from the goal area and moved back to the lower portion of the goal again waiting for the ball’s next approach.

Figure 26 shows a situation where the goalie is out from its line-of-action with the ball threatening to enter the goal. This situation falls under category 3. The goalie cannot go directly to the ball because it would drive the ball to its own goal. Instead, the goalie made a circling move to successfully block the ball from the inside of the goal.

Figures 27 and 28 are situations where the goalie in both cases was initially trapped inside the goal. These are situations that fall under category 4. In both cases the goalie remained on its initial positions until the ball approached the goal then it followed the ball in the y direction until the ball threatens no more.

Advertisement

4. Obstacle Avoidance

Obstacle avoidance uses a fuzzy logic system that has the angle and distance of the robot with respect to the obstacle as its inputs and generates the velocities of the robot’s left and right motors that will effectively avoid any perceived obstacle.

As shown in Figure 29, obstacle avoidance starts by detecting obstacles (walls, teammates, and opponents) within a 30 cm circle whose center is 50 cm ahead of the robot along its path towards a given destination. The detected obstacle that is nearest to the robot will be considered as the foremost obstacle and will be the one to be avoided as soon as the robot draws nearer to it by a distance lower than 35 cm. When this happens the input entities to the fuzzy logic system will be computed and the appropriate velocities for the left and right motors are generated to effectively avoid the perceived obstacle.

Figure 29.

Detecting obstacles.

Input Distance Input Angle Motor Speed
ZE: Zero
VN: Very Near from the obstacle
NE: Near the obstacle
SF: Slightly far from the obstacle
FA: Far from the obstacle
VF: Very far from the obstacle
NL : Negatively Large
NM: Negatively Medium
NS: Negatively Small
ZE: Zero
PS: Positively Small
PM: Positively Medium
PL: Positively Large
VL: Very Low
ML: Moderately Low
SL: Slightly Low
LO: Low
SH: Slightly High
MH: Moderately High
VH: Very High

Table 8.

Variables used in the membership functions of fuzzy logic obstacle avoidance.

The consequences of the fuzzy rules can be designed such that as the robot becomes nearer to the obstacle, the motors’ speeds drive the robot away from it but towards the designated destination. Figures 30 to 32 show the membership functions of the inputs and out entities of the fuzzy logic system used for obstacle avoidance. Table 8 shows the description of the variables used. Tables 9 and 10 show the fuzzy associative memory (FAM) for the left and right motors.

Figure 30.

Membership functions of input distance for obstacle avoidance.

Figure 31.

Membership functions of input angle for obstacle avoidance.

Figure 32.

Membership functions of motor speeds for obstacle avoidance.

NL NM NS Z PS PM PL
ZE SL SL SL SL VL VL VL
VN SL SL SL VH ML VL VL
NE VH VH MH VH SH LO LO
SF VH VH MH VH SH LO LO
FA VH MH MH VH SH SH LO
VF VH MH MH VH SH SH LO

Table 9.

Left Motor FAM for obstacle avoidance

NL NM NS Z PS PM PL
ZE VL VL VL SL SL SL SL
VN ML ML ML SH SL SL SL
NE LO LO SH VH MH VH VH
SF LO LO SH VH MH VH VH
FA LO SH SH VH MH MH VH
VF LO SH SH VH MH MH VH

Table 10.

Right Motor FAM for obstacle avoidance.

4.1. Obstacle Avoidance Experimental Results

Figure 33 and Table 11 show a home robot prevents collision with other robots by effectively avoiding them before hitting the ball towards the goal.

Figure 33.

An autonomous robot obstacle avoidance performance.

T r i a l s
1 2 3 4 5 Total
Avoids 2 0 2 2 2 8
Goal scores 2 2 2 2 2 10
Total points 18
Success 0.2 0.1 0.2 0.2 0.2 90%
Failure 0 0.1 0 0 10%

Table 11.

Performance evaluation of the robot for obstacle avoidance.

Advertisement

5. Game Strategy

This section presents a hierarchical control for the cooperative behavior of autonomous mobile robots using fuzzy logic systems with 5 vs. 5 Mirosot as the platform for its investigation. The strategy begins by identifying the state of the game, offense or defense, using a fuzzy logic main-task-identifier. During offense a fuzzy control system is used by the ball handler to decide whether to shoot, pass, or just dribble the ball. To ensure success for these tasks they are preceded by lane checking activity to assign a lane free of obstacles. Experimental results show that the proposed strategy is effective and robust.

Multi-agent systems have attracted a lot of interests from roboticists today because of its numerous advantages over single agent systems [10,11,19,20]. One of the most famous activities of a multi-agent system is the MIROSOT, which is a soccer tournament played by autonomous robots. In multi-agent system, the agents can be made to work cooperatively. However, in [10] it was revealed that even two robots given with simple interaction tasks display complicated behaviors. Problems such as this arise because of (1) lack of knowledge and information like any other new technology, (2) sometimes conflicting goals and interactions among agents, (3) requirement of an effective learning and cooperative capabilities [19]. Faced with this predicament, researchers came up with different solutions some of which are focused on the following:(1) the generation of efficient algorithm for coordinating paths of multiple robots [9,10,13,14], (2) the use of special sensor-based navigational tools and onboard processing power [12,21], (3) stigmergic or evolutionary approach of generating cooperative behaviors [11,20], (4) development of a multi-agent learning systems for cooperation [19], etc.

Path planning and path following are the most basic behaviors of a multi-agent system. The realization of the system’s goal depends primarily on the efficient navigational performance of the agents. In [9] the motions of multiple robots are coordinated by plotting their paths into a coordinate diagram and searching for a coordination configuration that is free of collision sub paths. This method requires a lot of computing time and has the possibility of ending with no solutions or deadlocks and does not suit well in a competitive environment where time is very critical. Iterative transportation technique [10] provides path planning activity by cooperative exploration of the environment by multiple robots before laying paths consisting of 1- and 2-lane types then a strategy is devised for controlling the flow of robots on said paths. This method allows the reuse of previous paths and focuses on the non-dynamic and non-hostile obstacles that make it less essential in the very competitive environment.

The main problem that this research primarily wants to address is that of cooperative behavior design problem. As stated in [16], it is a problem of investigating “how given a group of robots, an environment, and a task, cooperative behavior should arise.”

In Mirosot, the atomistic approach in which no relationships between robots are assumed in rushing to the ball will not work because the robots may run into their teammates, or foul their opponents. If one is assigned to attack the ball then its teammates may not do so. This establishes relationship between robots. While robots are not attacking, they will move to specified objective positions or remain still [23,13]. If they are on collision course with other robots then implement obstacle avoidance. It is equally important to know the positions of all objects (robots and ball) in the playing field including their structure. As this will enable the team to extract information from it where a sound move can be decided upon [22].

We propose a hierarchical or top down line of control using intelligent techniques, such as fuzzy logic systems, to solve this problem. The global goals of the multi-agent system are clearly defined beforehand and imposed upon the agents by adopting centralized control [21] using global parameters from the environment dynamics [11] and fuzzy logic system to determine the desired control actions. The problem of conflicting goals and interactions among agents will be addressed.

5.1. Hierarchical Multi-agent Cooperative Control Structure

The global goal is divided into two main tasks, namely offense- and defense-states. Each of these tasks is further subdivided into subtasks that are individually executed by the agents. Each agent is given functions to be able to accomplish these subtasks and does implicit communication and coordination with other agents in the multi-agent system. The fact that no two- or more agents assume the same subtask shows some kind of communication between agents though its communicative character is not being codified or not-manifest (it is called “implicit communication”). An exploration of the environment combines the actions of all agents at the highest level of the hierarchy. This simplifies the communication between agents hence cooperation is maximized. This point is especially important since scoring a goal is also the individual goal of each agent.

Figure 34 shows the hierarchical multi-agent cooperation strategy that we propose for middle-league robot-soccer. This strategy allows the agents to master the skills of coordinated/joint execution of the main goal. Each agent concentrates in executing the individual tasks at the subtasks level. Centralized control is achieved by means of global information available to the agents to constantly guide them so their individual actions (S1, S2,..) are always in conjunction with the team’s main goal. Thus, confusion resulting from conflicting goals will be avoided.

Figure 34.

Hierarchical Multi-agent Cooperation Strategy.

5.2. Roles Assignment and Robot Coordination

Individual positions of robots and ball are made available by the vision system of the robot soccer. Given these data, information that is of primary importance for the performance of the roles to be assigned to the robots is extracted at the highest level of the hierarchy. For example the predicted coordinates of the ball, which robot is nearest to the ball, the degree of opening on the opponent’s goal, etc., are just few of the necessary information that play pivotal role in the outcome of the game. As soon as they are available they’re immediately broadcasted to all robots thus executions of the low level actions such as blocking and intercepting the ball are straightforward and faster.

5.3. Main Task Identification

When the team is on offense, the objective is to score. While on defense, the objective is to control the ball. In this strategy, specific subtasks are in line for each of these main tasks. Given sufficient information of the environment the identification of the main task to be pursued by the team is done by means of a main task identifier using fuzzy logic as shown in Figure 35. The main task identifier takes the robot’s orientation with respect to the ball, the calculated distance of the ball from the opponent goal, and the difference of the nearest distances between the home robots and the opponents from the ball. The fuzzy logic system output is assigned to switchval whose value ranges from 0 to 10. The switchval value will be evaluated to determine the desired state of the game using the following rules:

G a m e S t a t e = [ Offense if 6 = s w i t c h v a l 11 Defense if 0 = switchval 0 ] E2

Figs. 36, 37, 38, & 39 show the membership functions of the inputs to the main task identifier. The FAM (fuzzy associative memory) of the main task identifier will be composed of seventy-five (75) entries. It contains the set of rules provided by experts in associating the input entities in order to generate the consequence. Logical implications are utilized in formulating these rules like as follows:

(1) IF ND is LEW(leading widely) AND D is VN(very near) AND O is VG(very good) THEN SV is HO(high offense) or LEW VN VG HO (2) IF ND is LES(leading slightly) AND D is VF(very far) AND O is GD(good) THEN SV is MO(moderate offense) or LES VF GD MO and so on

Figure 35.

Fuzzy logic main task identifier.

Figure 36.

Membership Functions of the difference of the nearest distances between the opponent and home robots from the ball, ND: LEW(leading widely), LES(leading slightly), SE(same), LAS(lagging slightly), LAW(lagging widely).

Figure 37.

Membership functions of home robot orientation with the ball, O: VG(very good), GD(good), BD(bad).

Figure 38.

Membership functions of calculated distance of ball from opponent goal, D: VN(very ear), MN(moderately near), MD(medium), MF(moderately far), VF(very far).

Figure 39.

Membership functions of switchval: MD(more defense), LD(light defense), DO(defense-offfense), MO(moderately offense), HO(high offense).

5.4. Offense Strategy

Figure 40 shows the different robot formations with respect to the different locations of the ball. The ball handler’s fuzzy logic arbiter, as shown in Figure 41, takes the x- and y-coordinates of the ball, and the statuses of P1, P2, P3 (free or blocked) as inputs then a decision, whether to shoot, pass, or dribble, will be made. The arbiter’s fuzzy system outputs a crisp value that is assigned to the priority variable. The value stored in the priority variable is then evaluated to determine the desired action like as follows:

A c t i o n = { s h o o t i f 100 = p r i o r i t y 68 p a s s i f 68 = p r i o r i t y 34 d r i b b l e i f 68 = p r i o r i t y 0 E3

When the ball handler dribbles the ball, it is done in such a way that the ball will be brought away from the opponent robots or nearer to the opponent goal. Figs. 42, 43, 44, & 45 show the membership functions of x- and y-coordinates of the ball, of the shooting and passing lanes statuses, and of the priority variable. The FAM (fuzzy associative memory) of the ball handler’s arbiter will be composed of one-hundred eighty (180) entries. It contains the set of rules provided by experts in associating the input entities in order to generate the consequence. Logical implications are utilized in formulating these rules like as follows:

(1) IF Xball is VN(very near) AND Yball is EL(extreme low) AND Spass is BK(blocked) AND Sshoot is CR(clear) THEN Priority is MH(moderately high); (VNELBKCR MH) (2) IF Xball is FR(far) AND Yball is NL(near low) AND Spass is CR(clear) AND Sshoot is BK(blocked) THEN Priority is ML(moderately low) or FR NL CR BK ML and so on…

Figure 40.

Basic offense formations of robots. (Yellow-home robots; Blue-opponent)

Figure 41.

Basic offense formations of robots. (Yellow-home robots; Blue-opponent)

Figure 42.

Basic offense formations of robots.(Yellow-home robots;Blue-opponent)

Figure 43.

Fuzzy logic arbiter of the ball handler.

5.5. Membership Functions Of The Output And Input Entities To The Fuzzy Logic Arbiter Of The Ball Handler

Figure 44.

Membership functions of ball’s x-coordinate: VN (very near), MN (moderately near), NR(near), FR(far), VF(very far).

Figure 45.

Membership functions of ball’s y-coordinate: EL(extreme low), NL(near low), NH(near high), EH(extreme high).

Figure 46.

Membership functions of shooting and passing lanes statuses: BK(blocked), CR(clear), VC(very clear).

Figure 47.

Membership functions of priority variable: LO(low), ML(moderately low),

MD (medium), MH(moderately high), HI(high).

5.6. Checking the Paths Lanes

Passing and shooting are two similar tasks that require lane checking, to determine whether the lane is clear or blocked, to ensure completion or success of said tasks. In avoiding obstacles alternate paths are first generated. These paths are then checked before they are being considered for inclusion in the pool of alternative paths. The same is done for the shooting and passing lanes. In shooting the target is any open part of the opponent goal, preferably the point that is farthest from the opponent goalie at the instant it is kicked. Passing is pushing the ball to a teammate robot so it can be controlled immediately.

To check the availability of the lane for passing, shooting, or for alternative paths is to determine the distances of all objects (teammates or opponents) from the line passing through the robot and the target using analytic geometry. The lane is free when the distance of the nearest object from the line exceeds a threshold value.

5.7. Defense Strategy

Figure 46 shows the three basic defense formations of robots with the ball located on different vertical coordinates of the playing field. At any instance two robots are assigned to block the ball and one of them is tasked to intercept it. The boundaries of the areas where the defender robots operate are flexible except on the home goal area where the goalie robot is in charge.

Figure 48.

Basic defense formations of robot (Yellow-home robots; Blue-opponents)

Figure 49.

Basic defense formations of robots (Yellow-home robots; Blue-opponents).

Figure 50.

Basic defense formations of robots (Yellow-home robots; Blue-opponents).

5.8. Shooting

Shoot algorithm is implemented by attacking the ball with the intent of kicking it towards the opponent goal. In Figure 47, the robot moves toward point E, just behind the ball, while it constantly calculates (the angle between L1 and L2). When the value of falls below the set minimum value, the robot changes its direction by moving towards the ball kicking it directly to the opponent’s goal. The algorithm requires a robot number and coordinates of the point where the ball will be kicked to.

Figure 51.

Shoot algorithm.

Let m1 = slope of L1

m2 = slope of L2

= angle between L1 and L2

r1 = distance of target from E

r2 = distance of ball from E (arbitrary value)

r3 = distance of ball from target

= tan -1 [(m2-m1)/(1+ m1 m2)] ; r1=r2 + r3 ; r3 = sqrt((xb-xt)2 + (yb-yt)2 )

xe = (r2 xt + r1 xb)/(r1 + r2) ; ye = (r2 yt + r1 yb)/(r1+r2) (1)

5.9. Experimental Results of Hierarchical Multi-agent Cooperative Control Structure

To illustrate the performance of the main task identifier fuzzy logic controller, let’s say for example in Table 4, it has the following inputs: ND=-11, O=60, and D=15. When these values are fuzzified: ND will be LEW(leading widely) of degree=0.1 and LES(leading slightly) of degree=0.9 which means that the home robot is slightly nearer to the ball than its nearest opponent; O will be VG(very good) of degree=0.67 and GD(good) of degree=0.33 which means that the nearest home robot’s front is adequately facing the ball; D will be MN(moderately near) of degree=0.91 and MD(medium) of degree=0.09 which means that the ball is quite near the opponent’s goal. In other words, the situation can be translated into English as “a home robot can take possession of the ball near the opponent’s goal”. A rational agent given this situation will decide to assume the offensive task, since the chance of scoring is high, which is the actual output of the main task identifier fuzzy logic controller.

Likewise, to illustrate the performance of the ball handler fuzzy logic arbiter, let’s say for example in Table 5, it has the following inputs: Xball=170, Yball=73, Sshoot=6, and Spass=3. When these values are fuzzified: Xball will be NR(near) of degree=0.08 and FR(far) of degree=0.92 which means that the ball is slightly beyond the midcourt towards the opponent’s goal; Yball will be EL(extremely low) of degree=0.77 and NL(near low) of degree=0.23 which means that the ball is quite near on the abscissa of the field; Sshoot will be CR(clear) of degree=0.50 and VC(very clear) of degree=0.50 which means that the shooting lane is half clear; Spass will be BK(blocked) of degree=0.25 and CR(clear) of degree 0.75 which means that the passing lane is partially blocked. In other words, the situation can be translated into English as “the ball handler is on the lower part of the opponent’s side, it’s not okay to shoot, and the passing lane is partially blocked.” A rational agent given this situation will decide to pass the ball, since the chance of scoring is low, which is the actual output of the ball handler fuzzy logic arbiter.

Figs. 48, 49, & 50 show how cooperative behaviors between autonomous mobile robots can produce positive results during experimentations on the actual robot-soccer system. In Figure 48 two- friendly robots display their passing abilities. Robot 2 goes to the ball and passes it to its teammate allowing the latter to shoot. Table 12 gives the performance of two cooperating robots in passing and scoring. Figure 49 shows a robot implementing the aforementioned shoot algorithm. In Figure 50 illustrates how the goalie robot blocks every attempt of the ball to enter the goal. This performance is tabulated in Table 13 which shows an overall success of 66.66%.

Figure 52.

A cooperative behavior through passing.

T r i a l s
1 2 3 4 Total
Intercepts 2 0 2 2 6
Goal scores 2 0 2 2 6
Total points 12
Success 0.25 0 0.25 0.25 75%
Failure 0 0.25 0 0 25%

Table 12.

Performance evaluation of the robot for passing and scoring.

Figure 53.

Shoot algorithm performance.

Figure 54.

Sample result of goalkeeper.

Result Rate
Success 4 66.66%
Failure 2 33.33%
Total 6 attempts

Table 13.

The goalkeeper’s performance with 6 trials conducted in real time. A “success” is a successful interception of the ball; “failure” is a failed attempt in blocking the ball.

Experimental results revealed that faster and swifter performance was achieved when more globally available information was given to individual robots. For example, a robot knows beforehand the presence or absence of obstacles leading to its destination and takes alternate path with the minimum cost. In addition, improved coordination between robots was realized resulting from the clear and specific instructions coming from the central controller.

The performance of the fuzzy logic systems in general was satisfactory. While the improvement of their performance will depend more on fine-tuning of fuzzy set membership functions and accurate generation of the rule-base, the effects resulting from the unsatisfactory adjustments of these parameters was not seen as drastic that would in effect garble the overall performance of the robotic system. As Tables 4 and 5 show, a huge variation in the values of more than one input parameter did not have any effect on the outcome of the main task identifier’s or ball handler’s arbiter’s action. This is a manifestation of the system’s robustness.

I N P U T S AND ANTECEDENTS OUTPUT
ND FS1 Deg FS2 Deg O FS1 Deg FS2 Deg D FS1 Deg FS2 Deg SV G.S.
-11 LEW 0.1 LES 0.9 60 VG 0.67 GD 0.33 15 MN 0.91 MD 0.09 8.18 OFF
15 LAS 0.5 LAW 0.5 10 GD 0.33 BD 0.67 75 VN 0.82 MN 0.18 4.02 DEF
4 SE 0.6 LAS 0.4 200 VG 0.78 GD 0.22 10 MF 0.36 VF 0.64 6.57 OFF
-18 LEW 0.8 LES 0.2 112 VG 1.00 - 0.00 0 MD 0.96 MF 0.04 9.04 OFF
-2 LES 0.2 SE 0.8 57 GD 0.98 BD 0.02 46 MN 0.96 MD 0.04 5.52 DEF
1 SE 0.9 LAS 0.1 178 VG 0.11 GD 0.89 40 MF 0.76 VF 0.24 5.79 DEF
-11 LEW 0.1 LES 0.9 30 VG 0.96 GD 0.04 2 VN 0.45 MN 0.55 8.58 OFF
9 SE 0.1 LAS 0.9 108 GD 0.22 BD 0.78 80 MN 0.04 MD 0.96 3.40 DEF
-20 LEW 1 - 0 2 VG 0.78 GD 0.22 10 VN 0.96 MN 0.04 8.34 OFF
-3 LES 0.3 SE 0.7 51 VG 0.29 GD 0.71 32 VN 0.07 MN 0.93 6.68 OFF

Table 14.

Main Task Identifier Fuzzy Logic System Performance (OFF-Offense, DEF-Defense).

I N P U T S AND ANTECEDENTS OUTPUT
Ball’s X-coord Fuzzy Set 1 Degree Fuzzy Set 2 Degree Ball’s Y-coord Fuzzy Set 1 Degree Fuzzy Set 2 Degree SShoot Fuzzy Set 1 Degree Fuzzy Set 2 Degree Spass Fuzzy Set 1 Degree Fuzzy Set 2 Degree PRIORITY ACTION
170 NR 0.08 FR 0.92 73 EL 0.77 NL 0.23 6 CR 0.50 VC 0.50 3 BK 0.25 CR 0.75 48.06 PASS
15 VN 0.77 MN 0.23 99 NH 0.85 EH 0.15 3 BK 0.25 CR 0.75 3 BK 0.25 CR 0.75 55.76 PASS
67 MN 0.96 NR 0.04 108 NH 0.15 EH 0.85 5 CR 0.75 VC 0.25 7 CR 0.25 VC 0.75 79.95 SHT
33 VN 0.49 MN 0.51 85 NL 0.86 NH 0.14 5 CR 0.75 VC 0.25 6 CR 0.50 VC 0.50 79.78 SHT
217 FR 0.07 VF 0.93 85 NL 0.86 NH 0.14 2 BK 0.50 CR 0.50 1 BK 0.75 CR 0.25 22.30 DRIB
217 FR 0.07 VF 0.93 70 EL 1.00 - 0.00 7 CR 0.25 VC 0.75 7 CR 0.25 VC 0.75 43.26 PASS
43 VN 0.34 MN 0.66 84 NL 0.93 NH 0.07 2 BK 0.50 CR 0.50 7 CR 0.25 VC 0.75 80.96 SHT
43 VN 0.34 MN 0.66 84 NL 0.93 NH 0.07 2 BK 0.50 CR 0.50 4 CR 1.00 - 0.00 75.00 SHT
43 VN 0.34 MN 0.66 84 NL 0.93 NH 0.07 6 CR 0.50 VC 0.50 4 CR 1.00 - 0.00 75.00 SHT
43 VN 0.34 MN 0.66 84 NL 0.93 NH 0.07 7 CR 0.25 VC 0.75 3 BK 0.25 CR 0.75 63.22 PASS
136 NR 0.60 FR 0.40 96 NL 0.07 NH 0.93 7 CR 0.25 VC 0.75 3 BK 0.25 CR 0.75 50.49 PASS
115 NR 0.92 FR 0.08 108 NH 0.15 EH 0.85 7 CR 0.25 VC 0.75 5 CR 0.75 VC 0.25 64.17 PASS
115 NR 0.92 FR 0.08 108 NH 0.15 EH 0.85 7 CR 0.25 VC 0.75 8 VC 1.00 - 0.00 72.44 SHT

Table 15.

Ball Handler Arbiter Fuzzy Logic System Performance (SHT- Shoot, DRIB- Dribble).

Advertisement

6. Conclusions

The advancement of industrial robots from mere Simple-Reflex-Agents to intelligent, learning, and autonomous agents has been accelerated by the integration of body, sensor, and AI-based software. This is also true to non-industrial robots [26]. This development will pave the way for the full automation and exclusion of human interventions in the robot soccer arena. This chapter presented some of the next great experiments in robot soccer, i.e. the development of more robust and intelligent robot soccer strategies (human-like behaviors) and an environment free of human entities, for scoring and refereeing, while the game is being played. All of these can be successfully done using AI-based paradigms, e.g. fuzzy logic algorithms.

References

  1. 1. Dadios E. P. et al. 2000 “Neural Networks, Fuzzy Logic and Knowledge Base Hybrid Control System for Indoor AMR”, ISARA Proceedings, 9 15 .
  2. 2. Dadios E. P. et al. 2001 “Fuzzy Logic Controller for Micro-robot Soccer Game,” Proceedings of the 27th IEEE Industrial Electronics Society Annual Conference, Denver, Colorado, USA.
  3. 3. Jamshidi M. et.al 1997 “Applications of Fuzzy Logic: Towards High Machine Intelligence Quotient Systems”, Prentice Hall PTR, Upper Saddle River, New Jersey, USA,
  4. 4. Leinecker R. C. 1998 “Visual C++ 6 Bible”, IDG Books World Wide, Inc., Foster City, CA, USA,.
  5. 5. Dadios E. P. Maravillas O. A. 2001 ”Fuzzy Logic Controller for Micro-robot Soccer Game”, Proceedings: 27th IEEE Industrial Electronics Society Annual Conference, Denver, Colorado, USA.
  6. 6. Thornton J. et al. 2002 ”Shape Recognition and Enhanced Control Systems for Robot Soccer”, Proceedings: FIRA Robot World Congress, Seoul, Korea, 670 674 .
  7. 7. Kim J. H. et.al 2000 ”Nonlinear Field Based Path Planning and Petri-Nets Based Role Selection Mechanism w/ Q-learning for the Soccer Robot System”, Proceedings: ISARA 2000 (International Symposium on Autonomous Robots and Agents), 26 May, NUS,Singapore, 86 100 .
  8. 8. Ong Chin. Siong et.al 2000 ”Java-Based Implementation of Robot Soccer”, Proceedings: ISARA 2000 (International Symposium on Autonomous Robots and Agents), 26 May, NUS, Singapore, 21 27 .
  9. 9. Simeon T. Leroy S. J. Laumond P. 2002 “Path Coordination for Multiple Mobile Robots: A Resolution-Complete Algorithm”, IEEE Transactions on Robotics and Automation, 18 1 February, 42 48 .
  10. 10. Inoue K. Ota J. Hirano T. Kurabayashi D. Arai T. 1998 “Iterative Transportation by Cooperative Mobile Robots in Unknown Environment”, Intelligent Autonomous Systems Y. Kkazu et. al. Eds., IOS Press,, 30 37 .
  11. 11. Pagello E. D’Angelo A. Montesello F. Ferrari C. 1998 “Emergent Cooperative Behavior for Multi-robot Systems”, Intelligent Autonomous Systems Y. Kkazu et. al. Eds., IOS Press,, 45 52 .
  12. 12. Vlacic L. Engwirda A. Hitchings M. O’Sullivan Z. 1998 “ Intelligent Autonomous Systems”, Y. Kkazu et. al. Eds., IOS Press,, 53 60 .
  13. 13. Han K. H. Lee K.H. Moon C. K. Lee H. B. Kim J. H. 2002 “Robot Soccer System of SOTY 5 for Middle League Mirosot”, FIRA Robot Congress, Seoul, Korea.
  14. 14. Shim H. S. Jung M. J. Kim H.S. Choi I. H. Kim J. H. 1997 “Development of Vision-Based Soccer Robots for Multi-Agent Cooperative Systems”, Micro-Robot World Cup Soccer Tournament Proceedings, Taejon, Korea.
  15. 15. Passino K. M. Yurkovich S. 1998 “FuzzyControl”, Addison-Wesley Longman, Inc.,
  16. 16. Cao Y. U. 1997 “Cooperative Mobile Robotics: Antecedents and Directions”, Autonomous Robots, Special Issues on Robot Colonies, R.C. and G.A. Bekey Eds., Vol. 4 March
  17. 17. Dadios E. P. Maravillas E. A. Reyes N. 2002 “Color-Based Fuzzy Vision System for the FIRA Robot Soccer Game”, FIRA Robot Congress, Seoul, Korea.
  18. 18. Marwaha S. Srinivasan D. 2001 Advances in Multi-Agent Learning Systems: A Survey, Proceedings CIRAS 2001, NUS, Singapore, 188 189 .
  19. 19. Sugawara K. Yoshihara I. Sano M. Abe K. Watanabe T. 2001 Cooperative Behavior of Simple multi-Robot in a Clockface Arranged Foraging Field, Proceedings CIRAS, NUS, Singapore, 166 169 .
  20. 20. Premvuti S. 1998 Aviation Knowledge Based Multiple Mobile Robot Systems: Consideration of Analogy between Air Traffic Control Systems and Multiple Mobile Robot Systems, Intelligent Autonomous Systems, Y. Kakazu et. al. Eds., IOS Press,, 38 44 ..
  21. 21. Johnson J.H. Booth M.J. 1997 Robot football: emergent behavior in nonlinear discrete systems, Micro-robot World Cup Soccer Tournament Proceedings, S3 5 .
  22. 22. Sargent Randy Bailey Bill 1997 Fast Vision Tracking and Coordinated Control for Soccer-Playing Robots, Micro-robot World Cup Soccer Tournament Proceedings, S2 2 .
  23. 23. Gonzales R. C. Woods E. 1993 Digital Image Processing (Addison-Wesley Publishing Company, Inc.,).
  24. 24. Sun-Gi Hong. et al. 1997 “Designing Soccer-Playing Robot Team (F.B.I.) Based on the Centralized Approach”, Micro Robot World Cup Soccer Tournament Proceedings, S4 4 .
  25. 25. Giridhar Rajaram. et al. 1997 “STRIKER- A vision based robot that learns reactive behaviors for scoring goals”, Micro Robot World Cup Soccer Tournament Proceedings, S4 6 .
  26. 26. Kawamura K. Gordon S. M. Ratanaswasd P. 2007 “Robotic Body-Mind Integration: Next Grand Challenge in Robotics”, Industrial Robotics: Theory, Modelling and Control, pro literatur Verlag, © 2007 Advanced Robotic Systems International, www.ars-journal.com, 1 42 .

Written By

Elmer A. Maravillas and Elmer P. Dadios

Published: 01 January 2010