Multi- Control Structure for a Vision Based Robot Soccer System Yangmin Li, Wai Ip Lei, and Xiaoshan Li Department of Electromechanical Engineering Faculty of Science and Technology University of Macau Av. Padre Tomás Pereira S.J., Taipa, Macao SAR, P. R. China ymli@umac.mo Abstract: Robot soccer is a typical test-bed for studying multi agent control because it can offer a real-time and dynamic environment which is appropriate for simulation and experiment. In this paper, several schemes of playing robot soccer are designed based on three-layer decision-making model and AUML. Many field experiments are made on the robot soccer system in our Mechatronics Laboratory. Keywords: Robot soccer, multi agent control, three layers decision-making model, AUML Introduction Robot Soccer is a representative domain for studying multi-agent control, since it involves many agents interacting or cooperating with each other in a dynamic environment. Recently, many scholars from different countries are interested in research of robot soccer because developing an efficient multi-agent system (MAS) is an arduous challenge in science [1-3]. MAS refers to that at least more than two robots complete a task with cooperation. Hence, development of MAS is quite useful in application of service robots, transportation robots and exploration robots in hazardous environments etc. The characteristics of soccer game are: (1) Real time and dynamic environment: all robots in the playground make a reaction immediately according to the scheme; (2) Cooperation: soccer competition is a teamwork sport; (3) Adaptability: robot soccer system necessarily has a whole plan that can be changed against different opponents; (4) Complex strategy: there are many different kinds of strategies during a soccer competition. These characteristics show that soccer game is an appropriate sample for studying MAS. Furthermore, human soccer competition has a long history and is a familiar sport to many persons, so many useful and successful strategies can be referenced to the robot soccer as well. Figure 1. Outline of robot soccer system. Robot Subsystem A robot soccer system diagram is shown in Figure 2. It consists of four parts: micro-controller, motor driver, communication and power unit. They are integrated into a main housing of 7.5 cm 7.5 cm 7.5 cm. A complete robot is illustrated in Figure 3. It has a circuit board, battery, motor and body. The circuit board can be separated into the lower circuit board that has power devices (voltage regulator, motor driver, etc.) and RF module and the upper circuit board that has the micro-controller. Vision Subsystem Overview of Robot Soccer System The robot soccer system is a vision based remote-brainless system [6]. This system has no brain A robot soccer system is composed of four main in the robot and the robot just follows instructions subsystems as: Robot subsystem, Vision subsystem, from the host computer. Usually a robot has a Communication subsystem and Decision-making controller to control its motion. However, vision subsystem [4] [5].
Figure 5. Team uniform. Figure 2. A frame of YRA robot. During a match, the vision subsystem needs to classify six colored objects consisting of two team colors, three robot colors and one ball color. A team uniform of robot is shown in Figure 5. According to the rule of MiroSot, the pattern of team uniform should be conformed as: the left top square is a team color, which must be blue or yellow. The right bottom one is a robot color, which is freely assigned not to be confused with the team color. Communication Subsystem Figure 3. A soccer robot. based remote-brainless system puts the controller inside the host computer. For accurate control, fast sampling time is required. The time of image processing, control algorithm and communication has to be fast enough. Therefore, high performance image processing system and host computer are required. First, frame grabber card is required for the vision program. YSR-A robot subsystem uses METEOR-II from MATROX company. For the camera, a CCD camera with zoom lens should be used for the playground to fit into the view area of screen. SAMSUNG Digital Color CCD Camera is used as the CCD camera. The model number is SDC-410ND. To play robot soccer, the host computer should send out instructions to each robot using wireless communication. RF (Radio Frequency) module is a good choice for robot soccer system because radio wave is suitable for long distance communication, and there is no communication barrier between the host computer and the robot, and also it supports multi channels. So in most robot soccer system, the RF module is used because of these advantages. For this robot soccer system, Radiometrix s RF-418 is the communication module that can send out data up to 40 kbps. Decision-making Subsystem Decision-making subsystem is a pivot of whole robot soccer system. Its operation cycle can be easily understood from a flow chart shown in Figure 6. At first, vision subsystem captures all information such as position and orientation of each robot and ball, and then the host computer (Decision-making subsystem) calculates and analyzes the input data according to the situation of soccer field to plan an action for each robot. The wireless communication module assigns this action to the robot subsystem at last. Figure 4. MATROX ME TEOR-II Card and SDC-410ND Camera. Three Layers Decision-making Subsystem A robot soccer competition is conducted in a complex and dynamic environment. Due to fierce competition, decision-making subsystem should have the
Figure 8. Control values of basic behaviour. Basic Behavior Layer Figure 6. A flow chart of decision-making subsystem. All actions can depend on two basic behaviors: translation and rotation. Considering a general situation about a robot to go to a desired position as shown in Figure 8, we can define that: αis a heading angle, βis a desired angle, θis a rotated angle. θ = β α (1) Also, we can set up two functions about the velocities of two wheels as: v l = k1d k 2 θ (2) v r = k1d + k 2 θ (3) Here, d is a distance error between the robot and the desired position. Through the above equations, we can define three cases: If β>α, then θ> 0 and vl < vr, so the robot rotates counter clockwise. Figure 7. A architecture of three layers decision-making model. following characteristics: (a) Real-time: to make a decision immediately; (b) Adaptability: to make an appropriate reaction against different situation; (c) Learning: to study by itself. Among the different decision-making schemes of playing robot soccer, three layers decision-making model is a trend. Basically, it is a centralized control method [7], and just uses one controller to operate three robots to do something. A three layers decision-making model includes basic behavior layer, trajectory planning layer, and coordination layer as shown in Figure 7, in which basic behavior layer sets up the velocity of two wheels, trajectory planning layer designs the actions, and coordination layer assigns the roles to robots according to strategy. If β<α, then θ< 0 and vl > vr, so the robot rotates clockwise. If β=α, then θ= 0 and vl = vr, so the robot translates straight. Under these three cases, we can achieve other different kinds of actions in trajectory planning layer. Trajectory Planning Layer An objective of trajectory planning layer is to design a smooth trajectory of action according to the fundamentals of two basic behaviors as translation and rotation. In addition, all trajectories are designed with a principle of Point to Point (PTP) [8].There are three basic principles of designing an action as: (a) A smooth trajectory for an action. (b) To set up a speed appropriate for an action. (c) To consider the obstacles existence. Figure 9 shows a situation of
Figure 9. Shooting. Figure 11. Goalkeeping. Figure 10. Scheme of shooting. Figure 12. Scheme of goalkeeping. shooting in case of a robot and a ball locating at the position showed. The robot approached the ball along the desired path, and then it kicked the ball towards the goal. Figure 10 describes a schemed path for a robot near the ball. During the experiment, we discovered that this action planning was effective because many shooting situations had already been verified successfully. Goalkeeping is the most important action during the soccer competition. Everyone knows that a goalkeeper who can affect the game to be victory or defeat, hence the function of goalie should be stable and efficient. the goal, the goalie will move along a specific path related to the y-direction of a ball in front of the goal. You can see the goalie moved along the desired path as shown in Figure 12 to block the ball successfully. Coordination Layer A function of coordination layer [9] realizes three robots playing a game cooperatively. Through a vision subsystem, decision-making subsystem receives the information about a situation of playground such as postures of robots and location of the ball. Putting the coordination layer into the decision-making subsystem, it can allocate the tasks to each robot appropriately according to the real time situation of the playground, and decide the robots how to do, for instance, attack or defense. After the experiment, we tested our goalie to be believable and responsible. You can observe from Figure 11 describing a situation of goalkeeping. Generally, the goalie locates in the middle of the goal The principle of coordination layer is using the logic line. If a ball is over the desired defense line and near of IF-THEN. Therefore we use a scheme of
Regional Coordination [11] that is a popular method for collaboration of robots in playing the game. Sensor Regional Coordination is formerly used in three layers decision-making model. It divides the playground into numerous zones. Three robots carry out their tasks respectively when they are at the different zones. Many teams from different countries choose it because its monitor is quite obvious and direct. For example, figure 13 shows that Regional Coordination divides the playground into three zones as: Robot Soccer System Communicator Actuator Think Figure 14. Features of an agent. Object Position Decision-making Subsystem Sensor Strategy Communication Action Figure 13. A playground is divided into three zones. 3 2 1 According to the location of ball, Regional Coordination will monitor three robots to perform three kinds of strategies as follows: (1) If the ball is in ZF, the robots perform strategy I. (2) If the ball is in ZM, the robots perform strategy II. (3) If the ball is in ZB, the robots perform strategy III. Robot Soccer with Multi- Control An agent is defined as anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors [10]. Based on the definition, we can imagine that agents are autonomous and interactive. Their activities include goals and conditions that guide the execution of assigned tasks. s know the conditions and intended effects of their actions and hence take responsibility for their needs. Furthermore, agents act both alone and with other agents. MAS can often resemble a social community of interdependent members that act individually. Figure 15. An architecture of multi-agent centralized control. robot to be an agent, and it has the following features [12]: (a) Sensor: it is responsible for receiving the visual information; (b) Actuator: it is responsible for receiving an action from the thinking (strategy), and executing the task; (c) Thinking: it is responsible for generating actions depending on the real time state of the environment, so it takes charge of decision-making subsystem. (d) Communicator: it is responsible for communication with other agents. It accepts and handles messages from other agents and sends messages from thinking module. Multi Centralized Control An architecture of multi-agent robot soccer system consists of a vision camera over-looking the playground connected to a centralized interface computer, and several agents like the small-size robot players. Figure 15 sketches the building blocks of the Robot soccer game is a good example for studying the architecture. multi-agent interaction. We can define each soccer
-1-2 1-2 formation 1-1-1 formation Figure 16. Two different formations. The complete system is fully autonomous consisting of a well-defined and challenged processing cycle. The global vision algorithm perceives the dynamic environment and processes the images, specifying the positions of each robot and the ball. This information is sent to an off-board controller and distributed to the different agents. Each agent evaluates the world state and uses its strategic knowledge to decide what to do next. Actions are motion commands that are sent by the off-board controller through RF communication. Commands can be broadcast directly to individual agents. Position, Formation, and Active Modes Positions are defined as flexible regions within which the player attempts to move towards the ball. For example, a robot playing Left Forward position remains on the left side of the field near the opponent s goal until the ball comes towards it. Positions are classified as defender, midfielder or forwarder based on the locations of the regions. They also have to be given specific behaviors in terms of which positions should be considered as potential. At any time each robot locates a particular position on the field. However, each robot has all of the knowledge necessary to move to any other positions. Therefore the robots can switch positions on the fly. For example, robots A and B switch positions when robot A chases the ball into the region of robot B. Then robot A continuously chases the ball, and robot B moves to the position vacated by A. For a 3 vs. 3 MiroSot, there are two formations to be quite useful as shown in Figure 16. One consists two attackers and one goalie (2-1). The other one consists one attacker, one defender and one goalie (1-1-1). Switching them on real-time state during the competition is an ideal mode [11]. AUML In the previous section, we have introduced the Figure 17. Basic format for agent communication. strategic mode for playing robot soccer game. Now, we discuss how to achieve the strategic schemes. At first, we wish the specification and programming of multi-agent behavior should be as concise as possible. Regarding the related research work, we know that the AUML ( Unified Modeling Language) can assume the responsibility. The sequence diagram in AUML can be exploited to achieve the multi-agent behaviors of robot soccer system. A summary of the fundamental of AUML sequence diagram is described as follows. Sequence Diagram A sequence diagram is an interaction diagram that emphasizes the time ordering of messages. Figure 17 describes some basic elements for agent communication. The rectangle can express individual agents. This agent syntax is already part of UML (Unified Modeling Language). Figure 17 extends UML by labeling the arrowed line with an agent communication act (CA). Another recommended extension to UML supports concurrent threads of interaction. While UML does support asynchronous message, multiple concurrent threads are directly expressed. Figure 18 shows three ways of expressing multiple threads. Figure 18 (a) indicates that all threads to CA-n are sent concurrently. Figure 18 (b) includes a decision box indicating that a decision box will decide which CAs (zero or more) will be sent. If more than one CA is sent, the communication is concurrent. In short, it indicates an inclusive or. Figure 18 (c) indicates an exclusive or, so that exactly one CA will be sent. Figure 18 (a) indicates an and communication.
Player1 / Captain Player-2 Player-3 Player-n [Goalkeeper].1 [Defender] CA-n CA-n CA-n.2 [Midfielder].3 [Forward] (a) (b) (c).1 [Defender].2 [Midfielder] Figure 18. Extensions support concurrent threads of interaction..3 [Forward] Figure 20. Role layer. [role-1] (a) or [role-1] (b) agent such as: to agent-2, to agent-3, and so on. Role Layer Design In Figure 20, we know that the captain will decide the players to play which role in the game, it also will decide itself role. Generally, role selector operates the role-decision according to formation, and the role of players will not change in the game according to the formation, but under some crucial conditions there are several rectifications. (c) or (d) For example: when the goalkeeper is not active in the game, it is necessary to assign a player to replace its role. So the robots except for goalkeeper should switch the role dynamically according to the field situation, and not be limited to the fixed formation. In Figure 21, the switching condition for role change is defined as follows: (e) Figure 19. Concurrent communication with an agent playing multiple roles. In addition, Figure 19 (a) and (b) illustrate two ways of expressing concurrent threads sent from agent-1 to agent-2. Figure 19 (a) shows parallel activation bars and Figure 19 (b) activation bars that appear on top of each other. Each activation bar can indicate either that agent is using a different role or not. If the agent is using a different role, the activation bar can be annotated appropriately. For example: CA-n is handled by the agent under its role-1 processing in Figure 19 (a) and (b). These Figures indicate that a single agent is concurrently processing the multiple Cas. However, the concurrent Cas could have been sent to a different or (f) Forward Figure 21. Role change. It is assumed that, there are two robots, a defender and a forwarder. d 1 is the distance from the forwarder to ball and d 2 is that from the defender to ball. θ 1 and θ 2 are angles between the heading direction of each robot and ball. [cond] Defender [cond]
mode is to bring the ball to the opponent field, and to score a goal. [ball interceptable] [else] To get ball [at defense position] [else] Go to defense position [ball is closer] [else] Block / Clear Turn to ball Figure 22. Defensive mode. Conclusion and Future Work Robot soccer is a high technological and international competition. More and more researchers pay attention to it because it provides a good platform for studying intelligent control. Thus, we can transfer the technology of robot soccer to other similar industry, military and service field. Therefore, we believe that the research of robot soccer is a meaningful work and a hot research topic also in future. Although the three layers decision-making model can achieve the intelligent behaviors of robot, there are some defects such as the accuracy and the continuity of an action. We should improve the computation to produce a smoother action. [else] [pass possible] [else] Pass [else] Clear [ball kickable] [shoot possible] Shoot [dribble possible] Dribble [else] [ball interceptable] To get ball [else] Go to attack position Furthermore, the group intention of robots is not satisfied, there are some conflicts necessarily to be weeded out later. There are two improvements to be completed such as: to strengthen the coordination layer, and reinforce the decision-making subsystem with artificial intelligence. Acknowledgement Authors appreciate for the funding support from the Research Committee of University of Macau under grant no.: RG024/03-04S/LYM/FST. Figure 23. Offensive mode. If cond d 2 < 2 d1, 0 < θ 2 < 45 and θ 2 < θ1 then the roles of robot-1 and robot-2 are interchanged. In the robot soccer system there are two main situations: defensive and offensive. While our team controls the ball, the situation will be defensive and otherwise it is offensive. When the opponent controls the ball during the game, our players choose the defensive mode as shown in Figure 22. There are two objectives of this mode as getting the ball control again, and preventing the opponent to score. During the defensive mode, if one player cannot intercept the ball, it will run to its defense position and turn to ball. When our teammate controls the ball, the playing mode will be changed to offensive mode described in Figure 23. The major task of the players in offensive References [1]. J. H. Kim, h. S. Kim, M. J. Jung, I. H. Choi and K. O. Kim, A Cooperative Multi-agent System and Its Real-time Application to Robot Soccer, Proceedings of IEEE International Conference on Robotics and Automation, 1997, pp.638-643. [2]. P. Stone, M. M. Veloso and S. Achim, Collaboration and Learning in Robotic Soccer, Proceedings of Micro-robot World Cup Soccer Tournament, Taejon, Korea, 1996, pp.26-37. [3]. Y. Li and W. I. Lei, A Hybrid Control Approach to Robot Soccer Competitions, Proceedings of the 11th World Congress in Mechanism and Machine Science, April 1-4, 2004, Tianjin, P.R.China, pp.1756-1760. [4]. H. P. Huang, C. C. Liang and C. W. Lin, Building a Multi-agent Robot System for Robot Soccer Game and Developing Game Strategies Based on Soccer Dynamics, Proceedings of
International Conference on Mechatronic Technology, Hsinchu, Taiwan, pp303-308. [5]. K. H. Kim, K. W. Ko, J. G. Kim, S. H. Lee and H. S. Cho, The Development of a Micro Robot System for Robot Soccer Game, In Proceedings of IEEE International Conference on Robotics and Automation, 1997, pp.644-649. [6]. M. K. Sahota, A. K. Mackworth, S. J. Kingdon and R. A. Barman, Real-time Control of Soccer Playing Robots Using Off-board Vision: The Dynamic Test bed, Proceedings of IEEE International Conference on Robotics and Automation, 1995, pp.3690-3693. [7]. S. Subramanyam, P. Vadakkepat, K.-C. Kim and J.-H. Kim, Multi-agent Centralized Control in Soccer Robots, Proceedings of Micro-Robot World Cup Soccer Tournament Proceeding, 1997, pp.49-52. [8]. Manuela Veloso and Peter Stone, Individual and Collaborative Behaviors in a Team of Homogeneous Robotic Soccer s, Proceedings of the 3 rd International Conference on Multi Systems, 1998, pp.309-316. [9]. H. Hu, K. Kostiadis and Z. Liu, Coordination and Learning in a Team of Mobile Robots, Proceedings of IASTED Robotics and Applications Conference, California, 1999. [10]. Russell and Peter Norvig, Artificial Intelligence-A Modern Approach, Prentice Hall. [11]. S.-G. Hong, T.-D. Eom, H.-K. Jeong, C.-K. Choi, J.-H. Shin and J.-J. Lee, Development of Soccer-playing Robots: Control, Cooperation and Strategy, Proceedings of Micro-robot World Cup Soccer Tournament, Taejon, Korea, 1996, pp.134-141. [12]. T. Balch and R. C. Arkin, Behavior-based Formation Control for Multirobot Teams, Proceedings of IEEE on Robotics and Automation, 1998, pp.926-939.