Loading in 2 Seconds...
Loading in 2 Seconds...
Building a Soccer Team for RoboCup's Simulation League by Tralvex Yeap Tay Joc Cing
Agenda • Introduction and Challenges. • Architecture of RoboCup Soccer Simulator. • Format and Regulations of the Game. • Team Coordination and Agent Architectures. • Brief Demonstration. • Question and Answer.
Introduction • The RoboCup Competition pits robots (real and virtual) against each other in a simulated soccer tournament. • The aim of the RoboCup competition is to foster an interdisciplinary approach to robotics and agent-based AI by presenting a domain that requires large-scale coorperation and coordination in a dynamic, noisy, complex environment.
Challenges • The environment is highly dynamic. • The perception of each player is locally limited. • The role of each player can be different. • Communication among players is limited, therefore each agent is required to. behave very flexibly and autonomously.
Two Approaches to Building a Soccer Team • Using Genetic Programming to learn individual and team behaviours. • Using High-level Concepts such as Roles, Responsibilities and Strategies.
A. Using Genetic Programming to Learn Individual and Team Behaviours [Farris et al, 97] • Problem with reactive, behaviour-based approach to coordinating the soccer team. • Learn good behaviours and coordination on their own. • Other Learning strategies such as neural and decision trees.
Common form of Genetic Programming by John Koza • Optimizes one or more LISP-like program trees formed from a set of atomic functions. Each tree represents the behaviour for an individual agent. • GP optimizes individuals very similarly to GA. User supplies • the GP system with a set of atomic functions to build individuals. • an evaluation function to assess fitness.
Breeding operators for GP system • subtree crossover. • point mutation. • reproduction.
Co-evolution evaluation algorithm for Competitions Pair off all teams in the population For each pair, Prepare competition in Soccer Server Loop until evaluation is finished, For each player on both teams, Update player with new sensor data. If the player can kick the ball, Call the player's KICK program. Turn in the direction of the resultant vector. Kick the ball as directed by the vector. Yell out the name of teammate closest to ball. Else if the player can see the ball Call the player's MOVE program. Turn and dash as directed by the resultant vector. Turn to face the ball again. Else Turn to look for the ball. Update the state estimator. Gather per-move information to evaluate fitness. Compute and return each team's fitness. Based on fitness assessments in the population, perform GP selection, mutation crossover and reproduction to produce a new population. Repeat as necessary.
B. Using High-level Concepts such as Roles, Responsibilities and Strategies [Ch’ng and Padgham, 97] • Royal Melbourne Knights designed to interact as a team of soccer playing agents. • Provides a framework for modelling agents using concepts of roles, responsibilities and strategies in its control of the agent’s motivation, attention and behaviour, respectively.
Motivation for using High-level Concepts • Soccer has the roles of • defender, mid-fielder, attacker, goalee. • These roles represent well-defined characteristics of a player’s behaviour. • A soccer player selects a role that creates opportunities for his team to win and reduce his opponent’s opportunities.
Roles of Agents Relationships Organisation Layer Possible Roles Role Responsibilities Situation Strategy Behaviour Perception Action Reactive Layer External World Execution Model for an Agent
free-ball-taker ESS defender attacker SSU EIS player EIS Organisation Layer handles selection of agent’s role based on situation and other agent’s role.
A set of responsibilities determines the set of actions required to execute strategies. Once an appropriate strategy is selected a mapping is created for the agents of the strategic group to the parts of the strategy. Responsibility Layer
A behaviour defines the type of action to e executed by the agent without considering the subtleties in controlling the uncertainty in the environment. Noise added to player’s movements and turns, deceleration of ball and player movements, Wind factor, Stamina, Hearing decay, Vision angle. Reactive Layer
Example: Corner Kick 1 1 2 1 3 3 2 2
An Abstract Model of the Soccer Team [Mattalan and Borrajo, 97] The robot agent can be considered as a knowledge structure defined as a set of dynamic and static attributes. Static: N: Name of agent S: A List of its Skills Y: Knowledge about its teammates L: Language to represent information from the world. H: Set of heuristic rules that governs the behaviour of the agent. So, an agent can be defined as: A = <N,S,Y,L,H> and the team of agents as <N,S,Y,L,H>+ Dynamic: Ag: Agenda that contains the acts under consideration. Q: Queues of messages (Q) received or pending to be sent I: Information about the current state of the world defined by L. So an agent at any moment is defined by: <A,Ag,I,Q> and the situation of the whole team as <A,Ag,I,Q>+
References [Ch'ng and Padgham, 97] S. Ch'ng, L. Padgham, "Team description: Royal Melbourne Knights," In Proceedings First International Workshop on RoboCup, IJCAI-97, W17, pp. 125-128, Nagoya Congress Centre, Nagoya, Japan, 1997. [Farris et al, 97] J. Farris, S. Luke, G. Jackson, C. Holn, J. Hendler, "Co-Evolving Soccer Softbot Team Coordination with Genetic Programming," In Proceedings First International Workshop on RoboCup, IJCAI-97, W17, pp. 115-118, Nagoya Congress Centre, Nagoya, Japan, 1997. [Itsuki, 1995] N. Itsuki, “Soccer Server: a simulator for RoboCup,” In JSAI AI-Symposium 95: Special Session on RoboCup, December, 1995. [Kitano et al, 95] H. Kitano, M. Asado, Y. Kuniyoshi, I. Noda, E. Osawa, “RoboCup: The Robot World Cup Initiative,” In Proceedings of the IJCAI-95 Workshop on Entertainment and AI/ALife, 1995. [Matellan and Borrajo, 97] V. Matellan, D. Borrajo, “An Agenda-Based Multi-Agent Architecture,” In Proceedings First International Workshop on RoboCup, IJCAI-97, W17, pp. 121-124, Nagoya Congress Centre, Nagoya, Japan, 1997.