STRATEGY PLANNING FOR MIROSOT SOCCER S ROBOT CRISTINA FLORIANA PANA, NICU GEORGE BIZDOACA, IONUT CRISTIAN RESCANU, MARIUS NICULESCU Department of Mechatronics University of Craiova Address Bvd. Decebal Nr. 107 ROMANIA Abstract: - In robot soccer game each of the robots (or agents) must know how to dribble, shoot, pass, and recover the ball from an opponent. Each agent must also be able to evaluate its position with respect to its teammates and opponents, and then decide whether to wait for a pass, run for the ball, cover an opponent's attack, or go to help a teammate; while at the same time following the rules of the game. In the present article explored the strategy planning for cooperative robots. There are three types of soccer playing position that a robot can be: goal keeper, defender and forward. The role that a robot plays on the field influences the robot s perception of the environment and its playing strategy on the field. While each robot has different motivations and goals, they all share the same general architecture and basic hardware. Key-Words: - robot, soccer game, agent, strategy, communication system, goal keeper, defender, attacker 1 Introduction Nearly at the same time one of the oldest dreams of the robotic community intelligent, mobile and humanoid robots starts to become reality because of the rapid development of external sensors. External sensors e.g. visual, auditive, force-torque, and others. Offer intelligent robots the possibility to see, hear, speak, feel, and smell like humans. Compared to conventional, unintelligent, industrial robots, intelligent robots can fulfill new, innovative tasks in new application areas. The prices for external sensors and for the computer hardware decreases. It was time to develop a new robot generation: Intelligent, mobile, cooperative robots for new fields of applications.the robot soccer is a discipline for two teams of robots. The robot soccer combines work and amusement. The game puts a lot of requirements on hardware, firmware and software of the robot and also on cooperation between developers. The Micro-Robot World Cup Soccer Tournament (MiroSot) is the brainchild of Jong- Hwan Kim of KAIST, Korea and was initiated in 1995. MiroSot is a new interdisciplinary research area, where scientists and technologists from diverse fields like, robotics, intelligent control, communication, computer technology, sensor technology, image processing, mechatronics, artificial life, etc., can work together to make the multi-robot systems a reality. The task is for a team of multiple fast-moving robots to cooperatively play soccer in a dynamic environment [6]. Since teamwork and individual skills are fundamental factors in the performance of a soccer team. On a soccer field the core capabilities a player must have are to navigate the soccer field, track the ball and other agents, recognize the difference between agents, collaborate with other agents, and hit the ball in the correct direction. In this paper we describe our general architecture for a team of robot agents, as well as discuss some of the key issues and challenges in creating agents of this type. 2 Mirosot soccer robot A mobile robot soccer team consists of up to three micro mobile robots. Two teams play soccer according to the rules similar in nature to the real soccer game. The Federation of International Robot Soccer Association (FIRA) has established these rules. Each team consists of three or five (depending on the category) micro mobile robots, one of which is the goalkeeper. The football field has dimensions of 130 150 cm; above the field (at the height of approximately 2 m) an industrial camera is mounted. ISSN: 1790-5109 411 ISBN: 978-960-6766-94-7
Fig. 1 Soccer robot system with the vision system, host computer and RF communication system. Each robot has specific markers fixed on its top. A vision system is used to recognize two different colours as well as shape of the markers. Fig. 2 Soccer robot team. The mechanical construction of the micro mobile robot is based on a duralumin frame, on which two DC motors with gear boxes and a controller board are mounted. Robot has two parallel wheels and in addition is suspended by two slipper elements mounted at the front and back part of the frame. number of LED s, which support an external system determining the position and orientation of the robot (a 2-bit address). Control units for the two axes of the robot are LM629 components which work together with the bridge amplifiers L298 with encoders mounted on the gear between motor and wheel (150 pulses/revolution). Signals from these converters can be used to measure robot position and orientation. Due to a slippery phenomenon between the wheels and the playground encoder measurements not always are correct. Nevertheless they can be used as additional sensors for position and orientation measurements. Two DC motors are controlled by signals of PWM (Pulse Width Modulation) type. As it was mentioned before a radio communication system through RS232 between the host computer and robot has been used. Since the single board computer DS87C520 has two independent ports an additional module cooperating with the on-board computer via serial port can be used. The basic features of the micro mobile robot are: dimensions: 7.5 7.5 7.5cm, weight with batteries: 0.43kg, maximum velocity: 1m/s, maximum acceleration: 0.75m/s 3 General Architecture The main software components of a robot agent are the vision module, decision engine, and drive controller. The interactions between these components are shown in Fig. 4. Fig. 3 The soccer robot CAD Yujin Company A set of batteries is mounted above the motors in the lower part of the construction. The on-board controller is based on a 33MHz DS87C520 SBC (Single Board Computer) with 16kB EPROM and 1kB SRAM memory. External RAM of 128kB can be used as additional memory to store program or data. In the address space there are joint axes controllers, 8-bit input and 8-bit output ports. The input port is used to address the individual robots (a 3-bit address). The output port is used to control a Fig. 4 Diagram of the interactions between the main software components of the robot architecture ISSN: 1790-5109 412 ISBN: 978-960-6766-94-7
3.1 Vision Module The vision system tracks the movement of each robot based on the assigned colours and recognizes its position and orientation. An orange golf ball is used as the ball, which is also recognized by the vision system. The host computer has to plan trajectories according to the specified strategy. Commands from the host computer to the robots are sent via radio communication links. Each team has its own dedicated frequency. This is just a simple application, which is very attractive for students and has a strong educational aspect. State A has the following operations: Follow the Y coordinate of the ball. Do not exceed the goal boundaries. State B: Follow the ball move in Y direction. Predict the ball y coordinate as shown on fig. 3 State C: Go to the ball and s weep it out. ball goalkeeper 3.2 Decision Engine This component makes decisions about the actions of an agent. It receives input from the sensor modules and sends move commands to the drive controller. The decision engine bases its decisions on a combination of the received sensor input, the agent s internal model of its environment, and knowledge about the agent s strategies and goals. The agent s internal model and strategies are influenced by the role the agent plays on the soccer field. There are three types of agent roles or playing positions: goal keeper, defender, and forward. Depending on the role type, an agent can be more concerned about a particular area or object on the soccer field, e.g. a goal keeper is more concerned about its own goal, while the forward is interested in the opponent s goal. These differences are encoded into the modules that deal with the internal model and the agent s strategies. 3.3 Strategy behavior robots The strategy is realized by three final-state automatons. Each of them belongs to one of the possible roles during the game: goalkeeper, defender, attacker. So far, only the static role assignment is implemented. The roles are strictly related to the player's position on the playground. The goalkeeper automaton. The main task of the goalkeeper is to stop the approaching ball and/or sweep out the ball from the penalty field. We assumed three states which the goalkeeper may operate in: covering empty spaces tracing the ball sweeping out the ball. Here is the automaton scheme that implements the goalkeeper behavior: our goal Fig. 3 The goalkeeper automaton Fig. 4. The goalkeeper automaton The idea goalie behavior is to reach the expected entry point of the ball in the goal before the ball reaches it. Assuming that the prediction of the ball trajectory is correct and the robot has a uniform movement, we can state the ideal goalie behavior: given the predicted v g and v b as the velocities of the goalie and of the ball respectively, and d g and d b as distances from the goalie and the ball to the predicted entry point, then, we want: d v g g A d = v b b e where e is a small positive value to account for the goalie reaching the entry point slightly before the ball. Unfortunately, the ball easily changes velocity and the movement of the robot is not uniform and is uncertain. Therefore we have followed a switching C Ball in team sideside Ball in opponent team side B ISSN: 1790-5109 413 ISBN: 978-960-6766-94-7
behavior for the goalie based on a threshold of the ball s estimated trajectory. If the ball s estimated speed is higher than a present threshold, the goalie moves directly to the ball s predicted entry goal point. Otherwise, the goalie selects the position that minimizes the largest portion of unobstructed goal area. This is done by finding the location that bisects the angle of the ball and the goal posts as is illustrated in Fig. 5. The defender. The main task of the defender is to cover goal areas not covered by the goalkeeper and to sweep out the ball from the team playground towards the opponent g oal. The states which the defender operates in are: covering unsafe areas of the goal (A) sweeping out the ball (B). State A has the following operations: Go to the y coordinate which lies in half distance of the widest uncovered by the goalkeeper goal area State B: Go to the ball and block it. State C: Kick the ball out. A The attacker. Fig. 5 The defender automaton The main task of the attacker is to catch the ball on the opponent side of the playground so that it can make a kick towards the opponent goal area. It has the following states which it may operate in: approaching the "good shoot" approaching the ball kicking the ball. Attacking involves one of the best opportunities of collaboration. In many multi/agent system, one or a few agents are assigned, or assign themselves, the specific task to be solved at a particular moment. We view these agents as the active agent. Other team C Ball in team sideside Ball in opponent team side 3. Ball before player 3. B members are passive waitung to be needed to achieve another task or assist the active agent(s). This is a simplistic distiction between active and passive agents. Passive agents are not actually passive ; instead, they actively anticipate opportunities for collaboration. Individual behaviors. First developed individual behavior for passing and shooting. The target configuration is specified to be the ball (using its estimated trajectory) and the target direction is either towards the goal or another teammate. This gives us robust and accurate individual behavior that can handle obstacles a well as intercept a moving ball. Decision theoretic action selection. Given the individual behaviors, we must select an active agent and appropriate behavior. This is done by a decision theoretic analysis using a single step look/ahead. An estimated probability of success for each pass and shot is computed along with the time estimate to complete the acion, which is provided by the motion controller. A value for each action is computed: Value = Prpass time Pr shoot Actions and preconditions We have identified a few stand ard action that each player should master to pl ay the game of soccer. All action are executed sequentia l ly: although, it is possible to abort one action to start another one, it is not possible that the same player to execute two actions at the same time. Futhermore, to start an action, it is required that its predictions are satisfied. A list of actions and preconditions (which are used in our strategy), is show in the following table: Player type Defender A ction Preconditions Pass DribbleTo OptimalSpot FindOptimal SpotDefence Block Annoy CatchBall iamfree te ammatefree iamnotfree wehaveball ihavenotball theyhaveball theyhaveball ballisnotupfield noonehasball ISSN: 1790-5109 414 ISBN: 978-960-6766-94-7
Midfielder Pass teammatefree DribbleTo Goal teammateisnotfree FindOptimal wehaveball SpotAttack ihavenotball Obstruct theyhaveball theball.pos_x>me.pos _x FindOptimal theyhaveball SpotDefence theball.pos_x<me.pos _x CatchBall noonehasball Attacker Score FreePathToGoal Pass DribbleTo Goal FindOptimal SpotAttack Obstruct CatchBall Strategy algorithm teammateisnotfree pathtogoalisnotfree teammateisnotfree wehaveball ihavenotball theyhaveball theball.pos_x>me.pos _x noonehasball This is the if-then- representation of above table. The algotithm is as follow: if the player is defender then: if then if iamfree and teammatefree then action pass the ball action = dribble to optimal spot if wehaveball then action = find optimal spot in defense if the then action = block if noonehasball and iamclosesttoball then if ballisnotupfield then action = annoy action = catch the ball action = find optimal spot in deense if the player is midfielder then: if then = if teammatefree then action = pass the ball action = dribble to goal if wehaveball then action = find optimal spot in attak if the then if theball.pos x > me.pos x then action = obstruct action = find optimal spot in defense if NoOneHasBall then if iamclosesttoball then action = catch the ball action = find optimal spot in defense if the player is attacker if then if freepathtogoal then action = score if teammatefree then action = pass the ball action = dribble to goal if wehaveball then action = find optimal spot in attack if the then if thebal.pos x > me.pos x then action = obstruct action = find optimal spot in attack if NoOneHasBall then if iamclosesttoball then action = catch the ball action = find optimal spot in defense A multi agent behavior in an unstructured environment is a very difficult task to plan and is a major challenge for control, robotics, and computer science engineers. The micro robots can be used in military applications with special military squad behavior. One can imagine a set of micro mobile robots carrying a common object, such as mining/demining activities, tasks difficult to be solved. 4 Conclusion A multi agent behavior in an unstructured env ironment is a very difficult task to plan and is a major challenge for control, robotics, and computer science engineers. The micro robots can be used in military applications with special military squad ISSN: 1790-5109 415 ISBN: 978-960-6766-94-7
behavior. One can imagine a set of micro mobile robots carrying a common object, such as mining/demining activities, tasks difficult to be solved. References: [1] Johnson, J.H., Booth, M.J. (1997) Robot football: emergent behavior in nonlinear discrete systems, 1997 Micro-Robot World Cup Soccer Tournament Proceedings, p.87-99. [2] Arki, R.C. 1987. Motor Schema-Based Mobile Robot Navigation. International Journal of Robotics Research, 92-112 [3] Brooks, R. A. 1986. A Robust Layered Control System for a Mobile Robot. IEEE Journal of Robotics and Automation 2(1). [4] Sargent, R., Witty, C., Bailey, B., Wright, A. (1996) Use of fast vision tracking for cooperating robots in the MIROSOT, 1996 Micro-Robot World Cup Soccer Tournament Proceedings, p.155-157. [5] Shim,H.-S., Jung, M.-J., Kim, H.-S., Choi And Kim, J.-H. (1997) Development of Vision-Basic Soccer Robots for Multi-agent Co-operative Systems, 1997 Micro-Robot World Cup Soccer Tournament Proceedings, p.29-34. [6] Kitano H., Asada M., Kuniyoshi Y., Noda I., Osawa E. Robocup: The Robot World Cup Initiative, Proceeding of the first International Conference on Autonomous Agents, Marina del Rey, CA, 1997, 340:347. ISSN: 1790-5109 416 ISBN: 978-960-6766-94-7