Title: Building a Soccer Team for RoboCup's Simulation League
1Building a Soccer Team for RoboCup's Simulation
League
- by
- Tralvex Yeap
- Tay Joc Cing
2Agenda
- Introduction and Challenges.
- Architecture of RoboCup Soccer Simulator.
- Format and Regulations of the Game.
- Team Coordination and Agent Architectures.
- Brief Demonstration.
- Question and Answer.
3Introduction
- 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.
4Challenges
- 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.
5Two 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.
6A. 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.
7Common 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.
8Breeding operators for GP system
- subtree crossover.
- point mutation.
- reproduction.
9Co-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.
10B. Using High-level Concepts such as Roles,
Responsibilities and Strategies Chng 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 agents
motivation, attention and behaviour, respectively.
11Motivation for using High-level Concepts
- Soccer has the roles of
- defender, mid-fielder, attacker, goalee.
- These roles represent well-defined
characteristics of a players behaviour. - A soccer player selects a role that creates
opportunities for his team to win and reduce his
opponents opportunities.
12Type of Roles, Responsibilities and Strategies
13Execution Model for an Agent
14Organisation Layer
- handles selection of agents role based on
situation and other agents role.
15Relationship between Agent Roles
16Responsibility Layer
- 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.
17Reactive 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 players movements and turns,
deceleration of ball and player movements, - Wind factor, Stamina, Hearing decay, Vision angle.
18Example Corner Kick
1
1
2
1
3
3
2
2
19An 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 ltN,S,Y,L,Hgt and the team
of agents as ltN,S,Y,L,Hgt Dynamic Ag Agenda
that contains the acts under consideration. Q Qu
eues 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 ltA,Ag,I,Qgt and the
situation of the whole team as ltA,Ag,I,Qgt
20References
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.
21Question and Answer