Abstract
1. Introduction
In 1993, Mackworth proposed the idea of a robot soccer game, which promotes the full integration of the research into artificial intelligence and robotics [1]. A series of robot soccer games and symposiums are held by two international associations: RoboCup and FIRA [2–5]. The robot soccer games provide a good platform for multi-agent domain research. It not only appeals to researchers but also the general public. Researchers who focus on robotics, artificial intelligence, image processing, system control, multi-agent systems, real-time path planning, and obstacle avoidance, etc. are involved in this challenging game [6–12, 17–19]. Soccer robots have been invented recently in an attempt to renew research into intelligent robotics by integrating and examining a wide range of technologies.
In this paper, a design and implementation method of a robot soccer system with three vision-based autonomous robots is proposed for the RoboSot league of FIRA Cup. In this league, a maximum number of three vision-based autonomous robots per team are permitted to compete on a field of approximately 220 × 180 cm fully surrounded by 40-cm-high walls. A global sensing system with which the whole field could be captured by a camera is prohibited and only a local sensing system is allowed. All the robot players of a team are started and stopped by wireless communication. Once a game is started, no further human interaction is allowed and all decisions have to be taken autonomously by the robots. Thus, it is a vision-based fully autonomous robot soccer game. The particular challenge in building an autonomous robot soccer system is that it covers a whole spectrum of research issues ranging from robotic hardware development and low-level sensor interpretation up to the planning and cooperation of the distributed robots. Distributed systems are inherently more complex than individual isolated systems. Many motion control methods are proposed for the robot's movement [13–23]. When lower-level moving control problems are solved, managing the higher-level supervisory control of behaviour becomes the main focus of attention. Managing this complexity is one of the significant challenges of distributed robot systems. Several techniques have emerged in the literature for managing this complexity [24–29].
A hierarchical architecture with four independent layers is proposed for the construction of a flexible and robust vision-based autonomous robot. This layer design method is proposed to reduce the development time and add new functions. In the robot's design, two 16-bit processors, a CMOS sensor for the image process, six pairs of infrared sensors for obstacle detection, two servo motors in the neck mechanism, one DC motor in the shooting mechanism and two DC motors in the movement mechanism are built to a small size of 18cm × 17cm × 30cm to mean the robot with multiple functions can win the game. This paper develops some new contributions: new mechanisms for flexible motion, new methods for self-localization, dynamic role assignment, and team cooperation, etc. The rest of this paper is organized as follows: in Section 2, an overview of the robot architecture is presented and the four independent layers: (a) information layer, (b) strategy layer, (c) tactics layer, and (d) execution layer, are described. In Section 3, five mechanisms: (a) a two-dimensional neck mechanism, (b) dribbling mechanism, (c) shooting mechanism, (d) aiming mechanism, and (e) flexible movement mechanism, are proposed in the robotic design. In Section 4, the electronic system is described. In Section 5, a self-localization method is introduced. In Section 6, the strategies for the robot soccer game are proposed. The finite-state transition mechanism for the field players and the goalkeeper is proposed to determine the individual or cooperative behaviours needed to solve varied game situations. In Section 7, some competition results are presented to illustrate the effectiveness of the proposed autonomous robot soccer system. Finally, the conclusions are given in Section 8.
2. Robot architecture
A hierarchical architecture with four independent layers: (a) an information layer, (b) strategy layer, (c) tactics layer, and (d) execution layer, as shown in Figure 1, is proposed to design a flexible and robust vision-based autonomous robot soccer system.

Hierarchical architecture with four layers for the robot.
Each layer is responsible for specific functions. In the design of the vision-based autonomous soccer robot, the main components and their functions are described as follows: a CMOS sensor is used to detect targets, six pairs of infrared sensors are used to detect obstacles, two 16-bit processors NSP and NIOS are used to process the data obtained by the sensors, two servo motors in the neck mechanism are used to rotate the CMOS video camera so that the field of vision is extended, one DC motor in the shooting mechanism is used to execute the action of shooting a ball and two DC motors in the movement mechanism are used to execute the movement of the robot. Figure 2 shows the CAD model for a vision-based autonomous robot.

CAD model description of the robot.
This architecture is based on a strict modular-design principle and consists of many parallel-working modules for data acquisition, data storage, state evaluation, strategy decision, and motion control. These layers are stacked so as to build up the robot platform. This four-layer design provides robots with four processing parts, which could work individually. When the information layer is collecting information data, the strategy layer is also making strategy decisions. Since the development of a vision-based soccer robot is complex, these four parts can be designed independently and they could be integrated as a unit, which could effectively reduce the development time and easily add some new functions. These four layers are introduced as follows:
(a) Information Layer
The environmental information is collected in the information layer. The information data includes the image data captured from the CMOS sensor, the distance data from infrared sensors, the terrestrial magnetism data from the electronic compass and the transmitted data from the other robots. All of these data are collected once every 50ms. Note that the robot can use the wireless connection to communication with the other robots, so the environmental data includes some useful data obtained from the other robots.
(b) Strategy Layer
The role assignment and strategy determination of each robot are performed in the strategy layer according to the environmental data obtained from the information layer. Three robots for each team are allowed on the playing field. One robot is assigned the position of goalkeeper, and the other two are assigned the position of field players. Different roles execute different behaviours. The roles of these two field players are selected based on all the information from the perception system. A dynamic role assignment is proposed so that the robot which receives the ball is assigned the role of active player.
As the environmental information changes, the information will be analyzed in this layer to decide which strategy and behaviour each robot should take [21]. A finite state mechanism with four main states in a hierarchical structure is built in this layer to evaluate the behaviour of the robots.
(c) Tactics Layer
The robot's individual skills are decided in the tactics layer. Individual skills include moving, kicking, dribbling, neck rotation, information sharing, etc. For example, when one robot finds the ball, and the strategy layer decides the current strategy as “Find Ball”, the tactics layer will integrate the information data to determine the location of the robot and to determine a target location. Based on the target location, the tactics layer will decide some of the robot's individual skills, such as the motion direction, speed, and the neck rotation to carry out the “Find Ball” strategy.
(d) Execution Layer
The robot's behaviour is executed in the execution layer, which is the lowest layer and the main hardware layer of the robot. Some mechanisms and circuits for the robot's individual skills are implemented in this layer. The kick mechanism and shooting motor circuit are developed for the tactics in this layer. In order to achieve the “Turn Left Slowly” command from the tactics layer for the “Find Ball” strategy, the execution layer has to build the movement mechanism, the drive circuit, and different movement speeds.
3. Mechanical structure
In order for the robot with multiple functions to win the game, five mechanisms are proposed in the robotic design: (a) a two-dimensional neck mechanism, (b) dribbling mechanism, (c) shooting mechanism, (d) aiming mechanism, and (e) flexible movement mechanism. These five mechanical systems are put together in a space with a small size of 18cm × 17cm × 30cm, as shown in Figure 2. The CAD model of the robot base is shown in Figure 3. These helpful mechanisms and their functions are introduced as follows.

CAD model description of the robot base.
(a) Two-dimensional Neck Mechanism
The two-dimensional neck mechanism is developed to increase the robot's vision area and agility. The angle of view of the robot without this mechanism is narrow and short. As shown in Figure 4, two servomotors are used to build the neck mechanism so that the ranges of the CMOS sensor in the horizontal and vertical dimensions are extended. Both of these vision ranges are increased to 180 degrees.

CAD model description of the two-dimensional neck mechanism.
(b) Dribbling Mechanism
The dribbling mechanism is set up on the front of the robot so that it has the ability to dribble the ball. As shown in Figure 5, this design contains a DC motor, a belt, two gear wheels and a roller. The roller consists of a metal axle and a rubber surface. The DC motor rotates the roller using the belt. Then, the whirling roller will help the ball gyrate and the spinning ball keeps touching the robot with a nature rotation. In this way, this car-like robot with the dribbling-ball ability can execute many strategies in the soccer game.

CAD model description of the dribbling mechanism.
(c) Shooting Mechanism
The shooting mechanism is designed so that the robot has the ability to shoot the ball. A strong and accurate shooting will increase the probability of winning the game. The configuration of the proposed shooting mechanism is described in Figure 6 and this mechanism contains a DC motor, a kicking plate, a special gear and two springs. The DC motor strains the kicking plate with a special gear. Two springs pressed on the plate are strong enough to produce a kick so that the ball can be shot over the whole field.

CAD model description of the shooting mechanism.
Three situations of the shooting mechanism: (a) normal situation, (b) springs are compressed situation, and (c) springs are released situation, are described in Figure 7. The two springs attached to the board will be compressed when the DC motor turns the special gear. The two springs will be released to produce a strong kick when the special gear is unlocked.

Three situations of the shoot mechanism: (a) normal situation, (b) springs are compressed situation, and (c) springs are released situation.
(d) Aiming Mechanism
The aiming mechanism is designed to be incorporated with the kicking device for ball handling and shooting. The proposed aiming mechanism can keep the ball in the centre position of the wide board so that it effectively raises the accuracy of the shoot motion. As shown in Figure 8, this mechanism contains a servomotor, a belt and two movable flippers. The servomotor pulls the flippers using a belt. The flippers are opened when the robot searches or tracks the ball and closed when the robot wants to shoot the ball at the goal.

CAD model description of the aiming mechanism.
(e) Flexible Movement Mechanism
In this robotic system, a flexible movement mechanism is proposed to overcome the defects of the limited directions of movement of the two-wheeled robot. The proposed mechanism means that the implemented robot has the ability to move in multiple directions in a dynamic environment. A schematic top view of a two-wheeled robot and its velocity diagram are shown in Figure 9. Where C=(xc, yc) is the centre position of the robot and D is the wheel base length.

(a) Diagram of a conventional two-wheeled robot. (b) Velocity diagram of the two-wheeled robot.
A conventional model can be described by Equations (1) and (2). Where Vl is the left wheel velocity, Vr is the right wheel velocity, V is the velocity of the robot's centre C=(xc, yc),
From Equations (1) and (2), the robot's velocity can be completely determined by the velocities of the left and right wheels. The architecture of the flexible movement mechanism is shown in Figure 10, where two servomotors are utilized to change the wheel's axle.

CAD model description of the flexible movement mechanism in the normal mode.
The servomotors will turn the wheel's axle to change the direction of the robot's movement in different situations. Three modes of motion are implemented in this mechanism design: (a) normal mode, (b) horizontal mode and (c) circle mode. In the normal mode, the robot can move like the normal two-wheeled robot. In the horizontal mode, the robot can move horizontally. This is very useful for the robot, which is assigned the position of goalkeeper to defend against the attacking team in the game. In the circle mode, the robot can move in a circular direction. As shown in Figure 11(a), the robot receives the ball. In order to search for the goal and reduce the probability of losing the ball whilst the robot searches for the goal, the robot opens the wheels, as in Figure 11(b), and moves in a circular Figure 11(c), whereby the centre of the circle is the ball.

Sketch of the robot's movement with a flexible movement mechanism
The kinematics equations of these three modes are described as follows:
(a) Normal Mode
The schematic top view of the implemented robot in the normal mode and its velocity diagram are shown in Figure 12. Where point C is the centre of the robot and point O is the centre of the two wheels.

(a) Diagram of the implemented robot in the normal mode. (b) Velocity of the implemented robot in the normal mode.
The kinematics equation is described by Equations (3) and (4). Where doc is the distance from point O to point C.
(b) Horizontal Mode
The CAD model description of the flexible movement mechanism in the horizontal mode is shown in Figure 13. Where the two wheels are in the same line.

CAD model description of the flexible movement mechanism in the horizontal mode.
In the horizontal mode, we set Vl = –Vr so that the robot is able to move horizontally using the flexible movement mechanism. A velocity diagram of the robot in the horizontal mode is shown in Figure 14. The kinematics equation can be described by Equations (5). Where the rotational velocity θ̇ is equal to zero the robot can move in horizontally.

Velocity diagram of the implemented robot in the horizontal mode.
(c) Circle Mode
The CAD model description of the flexible movement mechanism in the circle mode is shown in Figure 15. As shown in Figure 16, two servomotors will turn the wheel's axels so that the robot can move in a circular path around a ball.

CAD model description of the flexible movement mechanism in the circle mode.

Velocity diagram of the implemented robot in the circle mode.
We can see that point B, the centre of the ball, is the centre of the circle and the two wheels are in the circle path. We set Vl = –Vr to reduce power wastage. The velocity and angle diagram of the robot is shown in Figure 17.

Velocity and angle diagram of the robot.
The kinematics equations of this mode can be described by Equations (6) and (7). Where dbc is the distance from point B to point C, and dbw is the distance from point B to the wheel.
4. Electronic systems
One of most important issues in the design of the soccer robot is the handling and processing of information about the dynamic environment. The proposed electronic architecture of the robot is shown in Figure 18. A two-processor (NSP and NIOS) system is proposed to achieve fast processing, 30 times per second. NSP is used to handle the image information from the image system and to make the strategy decision. NIOS is used to handle the perception system and the hardware control. NSP and NIOS are respectively considered as the “brain” and “spinal cord” processors. The “brain” processor calculates the information, collected by the “spinal cord” processor, for self-localization and decision making. The “spinal cord” processor dominates the hardware to implement the decision determined by the “brain” processor.

Electronic architecture of the robot.
The action of the robot is based on the information obtained from the perception system, which is consists of the image data, terrestrial magnetism data, distance data, wireless communication data and status setup data. The NIOS processor collects most of the information and pre-processes the information, then the NSP processor analyzes the useful data to make a decision. In the robot's perception system, there are five subsystems: (a) vision system, (b) compass system, (c) IR sensor system, (d) wireless system, and (e) status setup system. They are described as follows:
(a) Vision System
A CMOS sensor is mounted and connected to the 16-bit processor NSP. In the vision system, the CMOS sensor is used to capture the image of the field. The captured image is processed by the NSP to detect the ball, the goal, and the field's areas. Frames with a resolution of 160 × 120 pixels and a frame rate of 30 frames per second (fps) are provided in the vision system. In general, this vision system with an NSP processor and a CMOS sensor is comparatively smaller than one with a single board computer and a CCD.
(b) Compass System
An electronic compass TDCM3 is placed on the top centre of the robot to obtain the terrestrial magnetism data. The terrestrial magnetism data is invisible in nature. Based on the obtained compass data, the direction of the soccer field and the main direction of the robot are determined. In the self-localization design, the environmental information about the field obtained from the compass system and the vision system are considered simultaneously so that the strategy design is more flexible.
(c) IR Sensor System
In order for the robot to have the ability to avoid obstacles, an obstacle detection mechanism with six pairs of infrared (IR) sensors is proposed. The infrared sensors are built on the left-front side, right-front side, left side, right side, left-back side and right-back side of the soccer robot. Based on the messages obtained from the infrared sensors, the robot can detect obstacles and execute the action of obstacle avoidance.
(d) Wireless System
A 2.4GHz wireless module is installed in the robot so that it can communicate with its teammates for the purposes of cooperative perception and cooperative strategy.
(e) Status Setup System
The status setup system is designed for the varied situations of the robot soccer competition by using the switch, which is mounted on the robot. Three statuses of the robot, which can be adjusted by the status setup system, are used to describe the conditions of the electronic component, the setup of the terrestrial magnetism and the play mode.
5. Self-localization
One of the difficult problems for autonomous soccer robots is the self-localization of the robot; that is, determining the location of the robot on the field. A soccer robot must be at the right place and at the right time, whether this robot is executing an individual strategy or a team cooperation strategy. Therefore, an ability which is fundamental for the soccer robot is to be able to recognize its current location. The field is shown in Figure 19.

Nine areas of the field for the self-localization of the robot.
The playing field is divided into nine areas: left front, left centre, left back, centre front, centre, centre back, right front, right centre, and right back. The area in which the robot should be is determined based on the data obtained from the compass system and the vision sensor placed on the robot.
In the robotic system, a compass is placed on the top centre of the robot to determine the orientation of the robot and a vision sensor is placed on the front of the robot to view objects. In the proposed self-localization, the robot uses its circle mode to rotate in a circular path and uses the vision sensor to search for the goal. When the goal is found by the vision sensor, the system can be as described by Equations (8). Where
The robot only has to turn its neck to find the goal using the vision sensor. The value of
Based on the value of
Some schematic diagrams used to describe different situations are shown in Figure 20, Figure 21, and Figure 22, where N, H, F, and G are used to represent the direction of the North Pole, the direction of the robot's head, the direction of the field toward the opponent's goal and the direction of the vision sensor toward the opponent's goal, respectively. In Figure 20, the direction of the robot's head faces directly toward the opponent's goal (i.e.

Schematic description of three situations when

Schematic description of three situations when

Schematic description of three situations when
In Figure 21(c), the value of
In Figure 22(c), the value of
When the goal is found by the robot's vision sensor, the location of the robot in the front, centre, or back court is determined based on the height of the goal as obtained in the captured image. Three photographs of the goal from the vision system are shown in Figure 23.

Three photographs of the goal captured in the robot vision system: (a) the robot in the front court of the field, (b) the robot in the centre court of the field, and (c) the robot in the back court of the field.
The pictures after image processing are shown in Figure 24.

Three goal pictures after image processing in the vision system: (a) the robot in the front court of the field, (b) the robot in the centre court of the field, and (c) the robot in the back court of the field.
Based on the height h of the goal obtained in the captured image, the location of the robot in the front, centre, or back court can be determined by Equation (11).
where Tf and Tb are the threshold values of the front court and the back court for the goal's height, respectively. Based on Equations (9) and (10), the area in which a robot should be located, as described in Figure 19, can be determined when the goal is found by the robot. This proposed nine-area self-localization is useful for providing the robot with the ability to make strategic decisions.
6. Strategy design
Robot soccer is a complex game. A team usually has to meet several requirements at the same time. To ensure that in any game situation a team is prepared to defend its home goal, but also ready to attack the opponent's goal, the robot players have to carry out different tasks and need to position themselves at appropriate strategic locations on the field. Three robots for each team are allowed on the playing field. One robot is assigned the role of the goalkeeper, and the other two are assigned the role of field players. In this section, the strategy skills for the field players and the goalkeeper are described. The different roles execute different behaviours. In the strategy layer, the situation and behaviour of the robots are decided based on the messages extracted in the information layer so that the strategy layer is viewed as the decision-making layer. In this paper, a hierarchical architecture of decision making is proposed for an implemented vision-based autonomous soccer robot to manage the complexity of strategy in the robot soccer competition. The concept of a finite state transition mechanism is used to develop the decision making in the strategy layer to manage the behaviour of the soccer robot. The fundamental component is the state. The current action or behaviour is determined by the current state. As the environmental information changes, the finite state mechanism will decide some different strategies and behaviours for the robot in this layer. As shown in Figure 25, there are four main states (START, INDIVIDUAL ATTACK, COOPERATION, and OBSTACLE AVOIDANCE) and seven main transitions (TSIA, TIAC, TCIA, TIAO, TOIA, TCO, and TOC) in the strategy layer for the field players. START is the state at the start of the game, INDIVIDUAL ATTACK is the state when the robot is controlling the ball and tries to attack, COOPERATION is the state when the robot is cooperating with its teammates to attack or defend, and OBSTACLE AVOIDANCE is the state when the robot needs to avoid obstacles. The transition conditions are described as follows:

State diagram of the first layer of finite state transition for the field player.
TSIA: Transform states from START to INDIVIDUAL ATTACK if the robot finishes the start mode.
TIAC: Transform states from INDIVIDUAL ATTACK to COOPERATION if the robot is assigned the role of strategic player. The strategic player needs go to the assigned position to block the opponents and monitor the ball. Once the active player loses the ball, the whole team can find the ball back easily.
TCIA: Transform states from COOPERATION to INDIVIDUAL ATTACK if the robot is assigned to the role of active player.
TIAO: Transform states from INDIVIDUAL ATTACK to OBSTACLE AVOIDANCE if the robot needs to execute obstacle avoidance.
TOIA: Transform states from OBSTACLE AVOIDANCE to INDIVIDUAL ATTACK if the robot finishes the obstacle avoidance.
TCO: Transform states from COOPERATION to OBSTACLE AVOIDANCE if the robot needs to execute obstacle avoidance.
TOC: Transform states from OBSTACLE AVOIDANCE to COOPERATION if the robot finishes the obstacle avoidance.
The current action or behaviour is determined by the current state. As the environmental information changes, the corresponding transition will be executed. Since the behaviours of the robots in the robot soccer game are complex, a single layer is not enough. A hierarchical structure is proposed to maintain the behaviours of the robots. As shown in Figure 26, there are several sub-states and sub-transitions in each different main state. These sub-states are described as follows:

State diagram of the hierarchy structure of finite state transition for the field player: (a) individual attack, (b) obstacle avoidance, and (c) cooperation.
Sball: The state when the robot needs to find or track the ball.
Sdribble The state when the robot dribbles the ball and needs to find or move to a target position.
Sshoot: The state when the robot controls the ball and needs to find a suitable shooting angle or distance.
FB: The state when the robot needs to find the ball.
TB: The state when the robot needs to track the ball.
FT: The state when the robot needs to dribble and find a target position.
MT: The state when the robot needs to dribble and move to a target position.
FSA: The state when the robot needs to find a suitable shooting angle.
FSD: The state when the robot needs to find a suitable shooting distance.
DO: The state when the robot detects obstacles.
AO: The state when the robot avoids obstacles.
AA: The state when the robot assists in attacking.
AD: The state when the robot assists in defending.
TFTB, TTFB, TBD, TDB, TSB, TBS, TSD, TDS, TFMT, TMFT, TSAD, TSDA, TDAO, TADO, TAAD, and TADA are transforming conditions.
For example, the active player is in the INDIVIDUAL ATTACK main state. At first, the robot cannot see the ball based on the information from the environment. Therefore, the robot is in the FB state of the Sball state. Once the robot is able to see the ball, the transition TFTB will be executed to transform the states from the FB state to the TB state so that the robot will execute the job of tracing the ball. If the robot can catch the ball in the TB state, the transition TBD will be executed to transform the states from the Sball state to the Sdribble state so that the robot will execute the job of dribbling the ball and finding the goal. The other robot, which is not dribbling the ball, is assigned the role of strategic player and enters the state COOPERATION.
As shown in Figure 27, there are two main states (INDIVIDUAL and COOPERATION) and five transitions (TAD, TDH, THD, TCS, and TSC) in the strategy layer for the goalkeeper. INDIVIDUAL is the state when the goalkeeper executes an individual strategy and COOPERATION is the state when the goalkeeper cooperates with the field players to defend. The goalkeeper needs to help the team with the monitoring of the ball, once the active play loses the ball, the whole team can find the ball back easily. In the INDIVIDUAL state, there are three sub-states. They are described as follows:

The diagram of the finite state transition of the goalkeeper's strategy.
Sattack: The state when the game starts.
Sdefense: The state when the goalkeeper is in the defence situation.
Shome: The state when the goalkeeper is in the home situation.
TAD, TDH, THD, TCS, and TSC are the transforming conditions. The switching condition is described in Table 1.
The switching conditions of the finite state mechanism
7. Competition results
The proposed robot soccer system won the championship of the RoboSot league of the FIRA Cup. In this section, some real competition results from the FIRA Cup are presented. First, some pictures in Figure 28 and Figure 29 are presented to illustrate the flexible design of the movement mechanism. The designed horizontal mode is usually applied to the goalkeeper. In Figure 28, we can see that the goalkeeper moves effectively in a horizontal direction to save the ball in the real competition. The opponent kicked the ball when the goalkeeper was at the left side of the goal. The goalkeeper moved from the left side to the right side in the horizontal mode to block the ball. Figure 28(f) is a continuous photograph of these events.

Photographs of the goalkeeper moving in a horizontal direction to save the ball in a real competition.

Photographs of a robot moves in the circle mode to dribble the ball in a real situation.
In Figure 29, we can see that the robot dribbles the ball and moves in a circular path to search for the goal. This circle mode can be effectively applied in this situation. The continuous photograph of these events is shown in Figure 29. This robot can protect the ball when the robot is searching for the goal to reduce the probability of losing the ball. Some pictures of scoring a goal in a competition are shown in Figure 30, where these processes are described as follows:
One successful goal in one real competition of the FIRA Cup. The robot did not see the ball at first. The robot found the ball. (The movement mechanism was in the normal mode.) The robot was dribbling the ball and moving in a circular path to find the goal. (The movement mechanism was in the circle mode.) The robot aimed at the goal and shot the ball. (The movement mechanism was in the normal mode.) The opponent robot was moving to save the ball. The robot was moving to perform a second attack and scored a goal.
8. Conclusions
The autonomous robot soccer competition is a challenging research domain for the fields of robotics and artificial intelligence. It requires a whole spectrum of research issues to be explored ranging from robotic hardware design and low-level sensors interpretation up to the planning and cooperation of the distributed robots. In this paper, a hierarchical architecture with four independent layers is proposed to design and implement a robot soccer system with three vision-based autonomous robots efficiently. New mechanisms, multi-robot cooperation, a self-localization method, dynamic role assignment and a rich set of skills are integrated so that the implemented robots can respond to varied situations in a robot soccer game. A two-dimensional neck mechanism, a dribbling mechanism, a shooting mechanism, an aiming mechanism and a flexible movement mechanism are proposed in the robotic design so that the vision ranges are extended, the robot has the ability to dribble the ball and shoot the ball accurately in the desired direction, and the robot has three modes with which to adjust its direction of movement. Furthermore, some strategies for the implemented robots with these mechanisms are proposed so that the team with three robots can attack and defend in an individual mode or in a cooperation mode. The concept of a finite state mechanism is used to manage the behaviour of the soccer robot. One advantage of this approach is some new functions can be easily added to this structure. Some real competition results are presented to illustrate the validity and feasibility of the proposed mechanisms and strategies. Thus, the proposed method is effective in the design and implementation of an autonomous robot soccer system.
9. Acknowledgments
This research was supported in part by the National Science Council of the Republic of China under contract NSC- 99-2221-E-032-016-MY2.
