Soccer Server: a simulator of RoboCup. NODA Itsuki. below. in the server, strategies of teams are compared mainly

Similar documents
RoboCup. Presented by Shane Murphy April 24, 2003

Hierarchical Controller for Robotic Soccer

the Dynamo98 Robot Soccer Team Yu Zhang and Alan K. Mackworth

Cooperative Behavior Acquisition in A Multiple Mobile Robot Environment by Co-evolution

Multi-Platform Soccer Robot Development System

Development of a Simulator of Environment and Measurement for Autonomous Mobile Robots Considering Camera Characteristics

Using Reactive Deliberation for Real-Time Control of Soccer-Playing Robots

Behavior generation for a mobile robot based on the adaptive fitness function

CMUnited-97: RoboCup-97 Small-Robot World Champion Team

Anticipation: A Key for Collaboration in a Team of Agents æ

Soccer-Swarm: A Visualization Framework for the Development of Robot Soccer Players

JavaSoccer. Tucker Balch. Mobile Robot Laboratory College of Computing Georgia Institute of Technology Atlanta, Georgia USA

Development of a Simulator of Environment and Measurement for Autonomous Mobile Robots Considering Camera Characteristics

Fuzzy Logic for Behaviour Co-ordination and Multi-Agent Formation in RoboCup

Keywords: Multi-robot adversarial environments, real-time autonomous robots

The CMUnited-97 Robotic Soccer Team: Perception and Multiagent Control

Towards Integrated Soccer Robots

Learning and Using Models of Kicking Motions for Legged Robots

FU-Fighters. The Soccer Robots of Freie Universität Berlin. Why RoboCup? What is RoboCup?

2 Our Hardware Architecture

Multi-Robot Team Response to a Multi-Robot Opponent Team

Team Sicily. John Fry, Lyen Huang and Stanley Peters. Stanford University Center for the Study of Language and Information Stanford, CA USA

Communications for cooperation: the RoboCup 4-legged passing challenge

Distributed, Play-Based Coordination for Robot Teams in Dynamic Environments

Multi Robot Systems: The EagleKnights/RoboBulls Small- Size League RoboCup Architecture

CMDragons 2009 Team Description

Distributed Vision System: A Perceptual Information Infrastructure for Robot Navigation

The UT Austin Villa 3D Simulation Soccer Team 2008

Vision-Based Robot Learning Towards RoboCup: Osaka University "Trackies"

Robo-Erectus Jr-2013 KidSize Team Description Paper.

BRIDGING THE GAP: LEARNING IN THE ROBOCUP SIMULATION AND MIDSIZE LEAGUE

Optic Flow Based Skill Learning for A Humanoid to Trap, Approach to, and Pass a Ball

SimSpark/SoccerServer RCSS as used for RoboNewbie

A Lego-Based Soccer-Playing Robot Competition For Teaching Design

CSE-571 AI-based Mobile Robotics

Multi-Agent Control Structure for a Vision Based Robot Soccer System

Multi-Robot Cooperative System For Object Detection

Swarm AI: A Solution to Soccer

SPQR RoboCup 2016 Standard Platform League Qualification Report

Distributed Intelligence in Autonomous Robotics. Assignment #1 Out: Thursday, January 16, 2003 Due: Tuesday, January 28, 2003

Test Plan. Robot Soccer. ECEn Senior Project. Real Madrid. Daniel Gardner Warren Kemmerer Brandon Williams TJ Schramm Steven Deshazer

COOPERATIVE STRATEGY BASED ON ADAPTIVE Q- LEARNING FOR ROBOT SOCCER SYSTEMS

The UT Austin Villa 3D Simulation Soccer Team 2007

2014 KIKS Extended Team Description

Human Robot Interaction: Coaching to Play Soccer via Spoken-Language

Multi-Fidelity Robotic Behaviors: Acting With Variable State Information

Improving the Kicking Accuracy in a Soccer Robot

Multi-Robot Dynamic Role Assignment and Coordination Through Shared Potential Fields

WRS Partner Robot Challenge (Virtual Space) is the World's first competition played under the cyber-physical environment.

Path Planning for Mobile Robots Based on Hybrid Architecture Platform

CMDragons: Dynamic Passing and Strategy on a Champion Robot Soccer Team

Coordination in dynamic environments with constraints on resources

CORC 3303 Exploring Robotics. Why Teams?

MULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT

Robo-Erectus Tr-2010 TeenSize Team Description Paper.

Adjustable Group Behavior of Agents in Action-based Games

Team Edinferno Description Paper for RoboCup 2011 SPL

AGENT PLATFORM FOR ROBOT CONTROL IN REAL-TIME DYNAMIC ENVIRONMENTS. Nuno Sousa Eugénio Oliveira

Task Allocation: Role Assignment. Dr. Daisy Tang

The UPennalizers RoboCup Standard Platform League Team Description Paper 2017

Autonomous Robot Soccer Teams

Baset Adult-Size 2016 Team Description Paper

Building Integrated Mobile Robots for Soccer Competition

USING A FUZZY LOGIC CONTROL SYSTEM FOR AN XPILOT COMBAT AGENT ANDREW HUBLEY AND GARY PARKER

Robocup Electrical Team 2006 Description Paper

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS

Action-Based Sensor Space Categorization for Robot Learning

An Open Robot Simulator Environment

How Students Teach Robots to Think The Example of the Vienna Cubes a Robot Soccer Team

Strategy for Collaboration in Robot Soccer

INTELLIGENT GUIDANCE IN A VIRTUAL UNIVERSITY

Team KMUTT: Team Description Paper

HfutEngine3D Soccer Simulation Team Description Paper 2012

Botzone: A Game Playing System for Artificial Intelligence Education

CS295-1 Final Project : AIBO

Intro to Interactive Entertainment Spring 2017 Syllabus CS 1010 Instructor: Tim Fowers

CMDragons 2006 Team Description

The magmaoffenburg 2013 RoboCup 3D Simulation Team

Grand Challenge Problems on Cross Cultural. Communication. {Toward Socially Intelligent Agents{ Takashi Kido 1

Robótica 2005 Actas do Encontro Científico Coimbra, 29 de Abril de 2005

Team Playing Behavior in Robot Soccer: A Case-Based Reasoning Approach

Programming with network Sockets Computer Science Department, University of Crete. Manolis Surligas October 16, 2017

SolidWorks Tutorial 1. Axis

NaOISIS : A 3-D Behavioural Simulator for the NAO Humanoid Robot

Introduction Installation Switch Skills 1 Windows Auto-run CDs My Computer Setup.exe Apple Macintosh Switch Skills 1

Humanoid Robot NAO: Developing Behaviors for Football Humanoid Robots

S.P.Q.R. Legged Team Report from RoboCup 2003

CiberRato 2019 Rules and Technical Specifications

Learning and Using Models of Kicking Motions for Legged Robots

RoboCup: A Challenge Problem for AI and Robotics

Balancing automated behavior and human control in multi-agent systems: a case study in Roboflag

Biologically Inspired Embodied Evolution of Survival

The description of team KIKS

MCT Susanoo Logics 2014 Team Description

Representation Learning for Mobile Robots in Dynamic Environments

soccer game, we put much more emphasis on making a context that immediately would allow the public audience to recognise the game to be a soccer game.

Tigers Mannheim. Team Description for RoboCup 2012

Does JoiTech Messi dream of RoboCup Goal?

Attention! Choking hazard! Small pieces, not for children under three years old. Figure 01 - Set Up for Kick Off. corner arc. corner square.

History and Philosophical Underpinnings

Transcription:

Soccer Server: a simulator of RoboCup NODA Itsuki Electrotechnical Laboratory 1-1-4 Umezono, Tsukuba, 305 Japan noda@etl.go.jp Abstract Soccer Server is a simulator of RoboCup. Soccer Server provides an environment to confront two teams of players that are controlled by various types of systems with each other. Each system connects to the server as a client, which controls a player on the soccer eld via a computer network. Using this server, we can compare performances of multi-agent systems and multi-robot-control systems from various viewpoints. 1 Introduction Recently, soccer is used as an example to test and demonstrate performances of various kind of AI systems [Uchibe et al., 1995; Littman, 1994; Sahota and Mackworth, 1994; Sahota, 1993; Asada et al., 1995; Kitano et al., 1995]. The reason of this trend is that the soccer includes features of problems that the recent AI research is faced with, such as, real-time processing, robustness against noise, cooperations in multi-agent systems, and processing of incomplete information. However, the soccer is not established as a common problems, because we have no common platforms to compare the performance of such systems that use the soccer as an example. RoboCup [Kitano et al., 1995] is proposed in order to provide such a common platform. RoboCup consists of 3 sections of games: a real-robot section, a simulation section and a special-skill section. In this article, I describe the simulation section and Soccer Server, a simulator used in the section. 2 Soccer Server 2.1 Simulation Section of RoboCup In the simulation section, two teams of players controlled by competitors' programs ght in a virtual soccer eld simulated by a computer. In order to encourage competitors using various programing systems to join this section, we adopt the client-server style. In this style, a server provide the virtual soccer eld. Each competitor's program connects to the server as a client, and sends commands to control a player in the eld via computer networks. As the server we use Soccer Server described below. Because abilities of players are controlled to be identical in the server, strategies of teams are compared mainly in this section. For example, cooperation among players like `passes' becomes an important factor, because passing a ball between teammates is generally more eective than dribbling the ball by a player. 2.2 Overview of Soccer Server Soccer Server provides a virtual soccer eld, in which players controlled by clients run and kick a ball. Fig. 1 and Fig. 2 show its window images. Soccer Server consists of 3 modules: a eld simulator module, a referee module and a message-board module (Fig. 3). The eld simulator module calculates movements of objects on the eld and checks collisions among them. The referee module controls a game according to rules. The message-board module manages communication among clients. A client connects with the server by a UDP socket. Using the socket, the client sends commands to control a player of the client and receives information from sensors of the player. Each client can control only one player 1 2. All communication between the server and each client is done using by ASCII strings. 2.3 Simulator 2.3.1 Field The soccer eld and all objects on it are 2-dimensional. The size of the eld is decided according to the ocial size of rules of human soccer: The length is 105 and the width is 68. The width of goals is doubled, that is 14.64, 1 Technically, it is easy to cheat the server. Therefore this is a gentleman's agreement. 2 In order to test various kind of systems, we may permit a client controls multi-players when each control module of a player is separated logically from each other in the client. 1

because 2-dimensional simulation makes it dicult to get goals. 2.3.2 Object There are the following objects on the soccer eld: Movable objects: a ball and players. Visible objects: goals, ags and lines. Each movable object is a circle that has the following parameters. Size The radius of the circle of the object. The sizes of players and a ball are 0.5 and 0.15 respectively. Position The 2-dimensional location of the center of the object in the eld. Velocity The 2-dimensional velocity of the object in the eld. Acceleration The acceleration of the velocity. Direction The direction of the object. In the case of a player, the object can accelerate along the direction. The direction of a player also means a center direction of view of the player. Decay The decay parameter of the velocity. If the decay is 1, the object continues to move. If the decay is 0, the object stops immediately. Noise Parameters The rate of uncertainty of the movement of the object. If this parameter is 0, the object moves exactly according to the Velocity. If this parameter is positive, noises are added to its movements. The magnitude of the noise is in proportion to this parameter and the velocity. 2.3.3 Movement Movements of objects are simulated stepwise one by one in the following manner: p t+1 x = p t x + v t 3 cos d t p t+1 y = p t y + vt 3 sin d t d t+1 = d t + m=(v 0 + v t ) v t+1 = (1 0 q) 3 v t + f t m t+1 = 0 f t+1 = 0 If a object overlaps another object, that is, collides with another object after its movement, the object is moved back until it does not overlap other objects. Then its velocity is multiplied by 00:1. 2.4 Protocol In this section, I describe the protocols of communication between the server and a client. 2.4.1 Open Connection First of all, a client must open a connection with the server. A client can open a connection in two manners, `initialization' and `re-connection'. `Initialization' is a form used when a client wants to be assigned to a new player. `Re-connection' is a form used when a client wants to be assigned to an existing player. This is used after a half time of a match. Actual protocols are as follows. Initialization 1. A client sends the following message to the key port (default 6000) of the server. (init Teamname) 2. If the server succeeds to assign a player to the client, the server sends the following message to the port of the client from which the above message is sent. (init Side UNum PlayMode) where Side and UNum indicate the side of the team (`l' or `r) and a uniform number assigned to the player. PlayMode is one of `before kick off', `kick off', `play on', `throw in', `corner kick' and `goal kick'. Meanings of them are described in section 2.5. This message is sent from a new port assigned for the client. The client must send control messages described below to this port. In order to do this, the client should be keep the information about the port number described in the socket struct of C. 3. If the server fails to assign a new player, the server sends the following message to the client. Re-Connection (error no more team or player) 1. A client sends the following message to the key port of the server. (reconnect Teamname UNum) 2. If the server succeeds to re-connect the player, the server sends the following message to the client. (reconnect Side PlayMode) 3. If the server fails to reconnect the player, the server send the following message to the client. (error can not reconnect) 2

2.4.2 Control Command A client can send the following commands to control its player. (move X Y) Move the player to the position (X,Y). The origin is the center mark, and the X-axis and Y-axis is toward the opponent goal and the right side respectively. So, usually X is negative to locate the player in its own side of the eld. This command is availably only in the before kick off mode. (turn Moment) Change the direction of the player according to Moment. Moment should be 0180 180. Actual change of the direction is reduced when the player is moving fast. (dash Power) Increase the velocity of the player toward its direction according to Power. Power should be 030 100. (say Message) Broadcast Message to all players. Message is informed immediately to clients using a (hear...) format described below. Message should consist of characters of alphabets, numbers and symbols in \+-*/_.". 2.4.3 Sensor Information A client gets two kinds of sensor information about the eld from the server, visual and auditory information. The visual and auditory information are informed by see and hear messages respectively. (see Time ObjInfo ObjInfo...) Inform visual information. Time indicates the current time. ObjInfo is information about a visible object, whose format is: (ObjName Distance Direction) ObjName ::= (player Teamname UNum) j (goal Side) j (ball) j (flag [l c r] [t b]) j (line [l c r t b]) As the distance to a player is larger and larger, more and more information about the player loses. Actually, UNum is lost in the case of farther than a certain distance, and Teamname is lost in the case of very far. This message is sent 2 times per second. (The frequency may be changed.) (hear Time Direction Message) Inform auditory information. This message is sent immediately when a client sends (say Message) command. Direction is the direction of the sender. Time indicates the current time. Judgements of the referee is also informed using this form. In this case, Direction is `referee'. Possible judgements are as follows: 2.5 Rules { kick off l, kick off r { goal l, goal r { throw in l, throw in r { corner kick l, corner kick r { goal kick l, goal kick r { half time, time up The referee module controls a match according to the following rules. Goal When a ball is in a goal, the referee announces the goal (broadcasts a message to all clients), renews the score, moves the ball to the center mark, and changes the play-mode to kick off. Out of Field When a ball is out of the eld, the referee moves a ball to a proper position (a touch-line, corner or goal-area) and changes the play-mode to throw in, corner kick or goal kick. Clearance When the play-mode is kick off, throw in, corner kick or goal kick, the referee removes defending players from an area in a circle whose center and radius are the ball and 9.15 respectively. Play-mode Control When the play-mode is kick off, throw in, corner kick or goal kick, the referee changes the play-mode to play on after the ball starts by a kick command. Halftime and Time Up The referee suspends a match when the rst or the second half nishes. The length of each half is about 10 minutes. 2.6 Process of a Match A match organized by Soccer Server is carried out in the following steps: 1. Each client of each team connects with the server by an init command. 2. When all clients are ready to play, the match commissary (a person who invokes the server) starts the match by pressing the kick-o button of the server window. Then the rst half starts. 3. The rst half is about 10 minutes 3. When the rst half nishes, the server suspend the match. 4. The half-time is 5 minutes. During the half-time, competitors can change client programs. 3 The length of a half may be changed. 3

5. Before the second half, each client re-connects with the server by a reconnect command. 6. When all clients are ready, the commissary start the second half by pressing the kick-o button. Then the second half starts. 7. The second half is also about 10 minutes. After the second half, the server stops the match. 2.7 Implementation Soccer Server is implemented using g++ and X-window system with Athena widget-set. Currently, I support SunOS 4.1.x on Sparc machines. I am planning to support Solaris 2, DEC OSF/1, and other OSs and architectures. 3 Research Issues In this section, I discuss several research issues involved in making strong teams for the simulation section of RoboCup. 3.1 Uncertainty Each client must deal with various kind of uncertainty in controlling its player eectively. In order to make simulated environment similar to one of the real world, I introduced random factors in players' action and restricted its performance in sensing. Therefore, designers of clients must consider about how to process such lowreliable information. For example, the designers may deal with the following problems. Unreliability in Action Control commands sent by clients are not always executed. The commands may be lost in the network or may not be accepted by the server because of timing of sending the message 4. Moreover, executions of the commands are not accurate. For example, the server adds noise to movements of objects. Therefore the ball may roll on toward an unexpected direction when a client sends a kick command. Movements of players are also unreliable. `(turn 90)' does not mean that the player turns right. It means that the player changes direction in a certain angle that is decided by the Power (= 90), his velocity and noise factor. Therefore clients should have mechanisms to conrm eects of commands sent by itself. Limited Sensor Information Each client can get limited visual information because of narrow view (only 60 degrees). Therefore, in order to get complete information of the eld, the client rotates its player slowly 5 using the turn command and integrates visual informations sent from 4 In the current version, the server accepts only the last message on the message cue of each socket at the timing when the server checks the socket. 5 If the client rotates its player quickly, it can not get complete information because interval of sending visual information is set relatively long. Figure 5: One Side Cut the server. In this case, uncertainty of actions becomes a problem. Because turn commands are not executed exactly, the client can not integrate visual informations before and after a turn command simply. Moreover, information about objects in sight is lost when distances to the objects are long. For example, the client gets the team-name and the uniform number of a player in sight if the player is near enough. If the player is distant the client can not get the uniform number, and if the player is very far, the client cannot get even the team-name. Therefore, in order to know such information about players that are very far, the client must infers it from a past history of information sent from the server. 3.2 Cooperation With Team-mates Because soccer is a multi-agents game, team-plays, that is cooperations with team-mates, are important factors to decide the ability of teams. For example, the following team-plays become elementary problems. Pass A pass is the most basic team-play. In order to pass a ball among players, the players must have a consensus about pass-courses. Even in the case of pass between two players it is not easy to reach a consensus. For example, consider a situation like Fig. 4- (a). In this case, we can consider two pass-plans: `one-two-pass'(fig. 4-(b)) and `through-pass'(fig. 4- (c)). In order to break the defense, players of the oense must decide which of the two pass-plans they adopt. One-Side Cut `One-side cut' is a basic combination play in defense. In this play, a defender nearest to an oense keeping a ball chases the oense from left or right side, while other defenders cover another side (Fig. 5). This play involves the same problem as the `pass', that is, how to reach a consensus on choosing a side to cut. Coaching As mentioned above, each client can get limited 4

Figure 1: Window Image of Soccer Server Soccer Server Client Socket Socket Message Board Client Referee X window Client Socket Field Simulator UDP/IP Figure 2: Close-up of Players and a Ball Figure 3: Overview of Soccer Server 5

(b) (c) (a) Figure 4: Pass information about the eld. Communicating and sharing such informations among clients is a solution to overcome the problem. In human soccer, such communication are called as `coaching'. The coaching in the soccer server is not so simple. The server provides a way of communication, the say command and the hear information, but its capacity is restricted 6. Therefore the communication should be eective. 4 Conclusion Soccer Server is distributed freely from the following access points: Web Home Page: http://ci.etl.go.jp/~noda/soccer/server.html FTP Service: ftp://ci.etl.go.jp/pub/soccer/server/ Also for further information, please refer the above access points, or join the mailing list, RoboCup@csl.sony.co.jp. Any comments and suggestions are welcome to be sent to noda@etl.go.jp. References [Asada et al., 1995] Minoru Asada, Shoichi Noda, and Koh Hosoda. Non-physical intervention in robot learning based on lfe method. In Proc. of Machine Learning Conference Workshop on Learning from Examples vs. Programming by Demonstration, 1995. [Kitano et al., 1995] Hiroaki Kitano, Minoru Asada, Yasuo Kuniyoshi, Itsuki Noda, and Eiichi Osawa. Robocup: The robot world cup intiative. In Working Notes of IJCAI Workshop: Entertainment and AI/Alife, pages 19{24, Aug. 1995. [Littman, 1994] Michael L. Littman. Markov games as a framework for multi-agent reinforcement learning. In 11th International Conference on Machine Learning, pages 157{163, 1994. [Sahota and Mackworth, 1994] Michael K. Sahota and Alan K. Mackworth. Can situated robots play soccer? In Proc. of Canadian AI-94, 1994. [Sahota, 1993] Mickael K. Sahota. Real-time intelligent behaviour in dynamic environments: Soccer-playing robots. matster thesis, Department of Computer Science, The University of British Columbia, Aug. 1993. [Uchibe et al., 1995] Eiji Uchibe, Minoru Asada, Shoichi Noda, and Koh Hosoda. The coordination of multiple behaviors for a mobil robot acquired by vision-based reinforcement learning. Report SIG-FAI-9403-4, JSAI, Mar. 1995. 6 The server restricts the frequency of acceptance of say commands. 6