How To Make A Robot Playing Soccer
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.
Figure 1. 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.
Figure 2. 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.
Figure 3. 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.
Figure 4. 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.
Figure 5. 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.
Figure 6. 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.
Figure 7. 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.
Figure 8. 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.
Figure 9. (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), θ is the angle from the direction of x-axis to the forward direction of the robot, θ is the rotational velocity defined with respect to the centre of the robot, Vx and Vy are the x and y velocity components of the point C.
| (1) |
| (2) |
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.
Figure 10. 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.
Figure 11. 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.
Figure 12. (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.
| (3) |
| (4) |
(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.
Figure 13. 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.
Figure 14. Velocity diagram of the implemented robot in the horizontal mode.
| (5) |
(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.
Figure 15. CAD model description of the flexible movement mechanism in the circle mode.
Figure 16. 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 .
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.
| (6) |
| (7) |
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.
Figure 18. 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 .
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 α is the angle from the direction of the vision sensor toward the opponent's goal to the direction of the field toward the opponent's goal, θ is the angle from the direction of the robot's head to the direction of the North Pole, k is the angle from the direction of the field toward the opponent's goal to the direction of the North Pole, and θ′ is the angle from the direction of the vision sensor toward the opponent's goal to the direction of the robot's head. The value of θ is determined from the compass data. In the initialization of the compass system, a value of k is given based on the direction of the North Pole and the direction of the field toward the opponent's goal. The vision sensor is placed on a two-dimensional motion mechanism controlled by two servomotors, so the body of the robot does not usually face directly toward the goal.
The robot only has to turn its neck to find the goal using the vision sensor. The value of θ′ is calculated from the rotation count of the servomotor and it is limited to a range between −90 and 90 (i.e., −900 ≤ θ′ ≤ 900). In this robotic system, if the vision sensor turns to the right-hand side, the rotation angle θ′ is positive. Since 0 ≤ θ ≤ 3600 and 0 ≤ k ≤ 3600, the value of α is normalized between - 180 and 180 by Equation (9).
| (9) |
Based on the value of α calculated by Equation (9), the location of the robot in the right, centre, or left court can be determined by Equation (10).
| (10) |
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. θ′ = 0).
Figure 1. Schematic description of three situations when θ′ = 0: (a) the robot is in the left court (α = θ – k + θ′ > 0), (b) the robot is in the right court (α = θ – k + θ′ < 0), and (c) the robot is in the centre court (α = θ – k + θ′=0).
Figure 21. Schematic description of three situations when θ – k > 0: (a) the robot is in the left court (α = θ – k + θ′ > 0), (b) the robot is in the left court (α = θ – k + θ′ > 0), and (c) the robot is in the right court (α = θ – k + θ′ < 0).
Figure 22. Schematic description of three situations when θ – k < 0: (a) the robot is in the right court (α = θ – k + θ′ < 0), (b) the robot is in the right court (α = θ – k + θ′ < 0), and (c) the robot is in the left court (α = θ – k + θ′ < 0).
In Figure 21(c) , the value of θ – k is positive but the value of θ′ is sufficiently negative that α = θ – k + θ′ < 0 (i.e., the robot is in the right court).
In Figure 22(c) , the value of θ – k is negative but the value of θ′ is positive enough so that α = θ – k + θ′ > 0 (i.e., the robot is in the left court).
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 .
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 .
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).
| (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:
Figure 25. 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:
Figure 26. 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:
Figure 27. 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.
| | 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.
Figure 28. Photographs of the goalkeeper moving in a horizontal direction to save the ball in a real competition.
Figure 29. 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:
Figure 30. One successful goal in one real competition of the FIRA Cup.
| (a) | The robot did not see the ball at first. | ||||
| (b-c) | The robot found the ball. (The movement mechanism was in the normal mode.) | ||||
| (d-f) | The robot was dribbling the ball and moving in a circular path to find the goal. (The movement mechanism was in the circle mode.) | ||||
| (g-h) | The robot aimed at the goal and shot the ball. (The movement mechanism was in the normal mode.) | ||||
| (i) | The opponent robot was moving to save the ball. | ||||
| (j-l) | 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.
References
| [1] | Mackworth, A K (1993) On seeing robots, in: Computer Vision: Systems, Theory, and Applications. Singapore World Scientific.: 1–13. Google Scholar |
| [2] | Kitano, H, Asada, M, Kuniyoshi, Y, Noda, I, Osawa, E, Matsubara, H (1997) RoboCup: A challenge problem for AI. AI Mag. 18: 73–85. Google Scholar | ISI |
| [3] | Kitano, H, Asada, M, Kuniyoshi, Y, Noda, I, Matsubara, H (1998) RoboCup: Robot world cup. IEEE Robot. Automat. Mag. 5: 30–36. Google Scholar | Crossref | ISI |
| [4] | Burkhard, H D, Duhaut, D, Fujita, M, Lima, P, Murphy, R, Rojas, R (2002) The road to RoboCup 2050. IEEE Robot. Automat. Mag. 9: 31–38. Google Scholar | Crossref | ISI |
| [5] | Birk, A (2010) The true spirit of RoboCup. IEEE Robot. Automat. Mag. 17: 108. Google Scholar | Crossref | ISI |
| [6] | Gutmann, J S, Hatzack, W, Herrmann, I, Welsch, B, Rittinger, F, Topor, A, Weigel, T (1999) The CS Freiburg robotic soccer team: Reliable self-localization, multirobot sensor integration, and basic soccer skills, in RoboCup-98: Robot Soccer World Cup II. Springer-Verlag, Lecture Notes in Artificial Intelligence,: 93–108. Google Scholar |
| [7] | Song, Z W, Zhang, B, Chen, X P, Wang, X F (2000) Layered decision-making and planning in ShaoLing Team. Intelligent Control and Automation. 1: 179–183. Google Scholar |
| [8] | Weigel, T, Gutmann, J S, Dietl, M, Kleiner, A, Nebel, B (2002) CS Freiburg: Coordinating robots for successful soccer playing. IEEE Trans. Robot. Automat.: 685–699. Google Scholar |
| [9] | Gutmann, J S, Hatzack, W, Herrmann, I, Nebel, B, Rittinger, F, Topor, A, Weigel, T (1997) The CS Freiburg team: Playing robotic soccer on an explicit world model. AI Mag. 21: 37–46. Google Scholar |
| [10] | Adorni, G, Cagnoni, S, Mordonini, M, Piaggio, M (2000) Coordination strategies for the goal-keeper of a RoboCup mid-size team. Proc. of IEEE Intelligent Vehicles Symp.: 486–491. Google Scholar |
| [11] | Veloso, M, Stone, P (1998) Individual and collaborative behaviors in a team of homogeneous robotic soccer agents. Proc. of IEEE Int. Conf. Multi Agent Systems.:309–316. Google Scholar |
| [12] | Chou, C C, Lian, F L, Wang, C C (2011) Characterizing indoor environment for robot navigation using velocity space approach with region analysis and look-ahead verification. IEEE Trans. Instrumentation and Measurement. 60: 442–451. Google Scholar | Crossref | ISI |
| [13] | Williams, R L, Carter, B E, Gallina, P, Rosati, G (2002) Dynamic model with slip for wheeled omnidirectional robots. IEEE Trans. Robot. Automat. 18: 285–293. Google Scholar | Crossref |
| [14] | Yun, X, Yamamoto, Y (2002) Stability analysis of the internal dynamics of a wheeled mobile robot, J. Robot. Syst. 14: 697–709. Google Scholar | Crossref |
| [15] | Kalmar-Nagy, T, Ganguly, P, Andrea, R D (2002) Real-time trajectory generation for omnidirectional vehicles. Proc. of American Control Conf.: 286–291. Google Scholar |
| [16] | Ostrowski, J P, Burdick, J W, Lewis, A D, Murray, R M (1995) The mechanics of undulatory locomotion: The mixed kinematic and dynamic case. Proceeding of IEEE Int. Conf. Robotics and Automation.: 1945–1951. Google Scholar |
| [17] | Jung, M J, Shim, H S, Kim, H S, Kim, J H (1999) The miniature omni-directional mobile robot OmniKity-I (OK-I). Proc. of IEEE Int. Conf. Robotics and Automation.: 2686–2691. Google Scholar |
| [18] | Jung, M J, Kim, H S, Kim, S, Kim, J H (2000) Omni-directional mobile base OK-II. Proc. of IEEE Int. Conf. Robotics and Automation.: 3449–3454. Google Scholar |
| [19] | Jung, M J, Kim, J H (2001) Fault tolerant control strategy for OmniKity III. Proc. of IEEE Int. Conf. Robotics and Automation.: 3370–3375. Google Scholar |
| [20] | Watanabe, K, Shiraishi, Y, Tzafestas, S G, Tang, J, Fukuda, T (1998) Feedback control of an omnidirectional autonomous platform for mobile service robots. J. Intelligent and Robot. Syst. 22: 315–330. Google Scholar | Crossref | ISI |
| [21] | Thomas, P J, Stonier, R J (2003) Using evolved paths for control in robot-soccer, in: Proceeding of IEEE Int. Symp. Computational Intelligent of Robotics and Automation.: 735–740. Google Scholar |
| [22] | Borenstein, J (1995) Control and kinematic design of multi-degree-of-freedom mobile robots with compliant linkage, IEEE Trans. Robot. Automat. 11: 21–35. Google Scholar | Crossref |
| [23] | Wang, Y T, Lin, M C, Ju, R C (2010) Visual SLAM and moving object detection for a small-size humanoid robot. International Journal of Advanced Robotic Systems. 7: 133–138. Google Scholar | SAGE Journals | ISI |
| [24] | Wong, C C, Cheng, C T, Hsieh, H Y, Huang, K X, Teng, H C, Liau, G J, Wang, H I, Chan, H M, Wu, C H (2003) Finite state mechanism design for vision-based autonomous soccer robots. Proc. of FIRA 2003.: 129–134. Google Scholar |
| [25] | Baltes, J (2002) Efficient localization for mobile robots, Proc. of FIRA 2002.: 675–679. Google Scholar |
| [26] | Baltes, J (2002) Strategy selection, goal generation, and role assignment in a robotic soccer team, Proc. of Seventh Int. Conf. Control, Automation, Robotics and Vision.: 211–214. Google Scholar |
| [27] | Baltes, J (2002) Localization for mobile robots using lines. Proceeding of Seventh Int. Conf. Control, Automation, Robotics and Vision.: 228–233. Google Scholar |
| [28] | Weigel, T, Auerbach, W, Dietl, M, Dumler, B, Gutmann, J S, Marko, K, Muller, K, Nebel, B, Szerbakowski, B, Thiel, M (2001) CS Freiburg: Doing the right thing in a group, in: RoboCup-2000: Robot Soccer World Cup I V. Springer-Verlag Lecture Notes in Artificial Intelligence. Google Scholar |
| [29] | Kim, J H, Kim, Y H, Choi, S H, Park, I W (2009) Evolutionary multi-objective optimization in robot soccer system for education. IEEE Computational Intelligence Magazine. 4: 31–41 Google Scholar | Crossref | ISI |
How To Make A Robot Playing Soccer
Source: https://journals.sagepub.com/doi/full/10.5772/56189
Posted by: santosbregive.blogspot.com

0 Response to "How To Make A Robot Playing Soccer"
Post a Comment