building a soccer team for robocup's simulation league by tralvex yeap tay joc cing
Post on 16-Dec-2015
214 Views
Preview:
TRANSCRIPT
Building a Soccer Team Building a Soccer Team for RoboCup's for RoboCup's Simulation LeagueSimulation League
byby
Tralvex YeapTralvex Yeap
Tay Joc CingTay Joc Cing
AgendaAgenda• Introduction and Challenges.
• Architecture of RoboCup Soccer Simulator.
• Format and Regulations of the Game.
• Team Coordination and Agent Architectures.
• Brief Demonstration.
• Question and Answer.
IntroductionIntroduction
• 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.
ChallengesChallenges
• 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 Two Approaches to Building a Soccer TeamBuilding 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 A. Using Genetic Programming to Learn Programming to Learn Individual and Team Individual and Team Behaviours [Farris et al, Behaviours [Farris et al, 97]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 Common form of Genetic Programming by John Programming by John KozaKoza• 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 Breeding operators for GP systemsystem
• subtree crossover.
• point mutation.
• reproduction.
Co-evolution evaluation Co-evolution evaluation algorithm for algorithm for CompetitionsCompetitionsPair off all teams in the populationFor each pair,
Prepare competition in Soccer ServerLoop 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.
ElseTurn 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 B. Using High-level Concepts such as Roles, Concepts such as Roles, Responsibilities and Responsibilities and Strategies [Ch’ng and Strategies [Ch’ng and Padgham, 97]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-Motivation for using High-level Conceptslevel 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.
Type of Roles, Type of Roles, Responsibilities and Responsibilities and StrategiesStrategiesRole Responsibility Strategies
Free-kick-taker take-corner pass
Attacker get-ballscore-goal
passtackleshoot
Defender defend-goalclear-ball
blockmarkpass
Player positionmove-ball
go-zonepass
Execution Model for an Execution Model for an AgentAgent
Perception
Situation
Roles of Agents Relationships
RolePossible Roles
Responsibilities
Strategy
Behaviour
Action
External World
Organisation Layer
Reactive Layer
free-ball-taker
defender
player
attacker
EIS
ESS
SSU
EIS
Organisation LayerOrganisation Layer
• handles selection of agent’s role based on situation and other agent’s role.
Relationship between Relationship between Agent RolesAgent Roles
Relation Values
Authority Dominant Equal Subservient
Cooperation Oppose Ignore Support
Derivation Generalize Unrelated Specialize
Responsibility LayerResponsibility Layer
• A set of responsibilities determines A set of responsibilities determines the set of actions required to the set of actions required to execute strategies.execute strategies.
• Once an appropriate strategy is Once an appropriate strategy is selected a mapping is created for selected a mapping is created for the agents of the strategic group to the agents of the strategic group to the parts of the strategy.the parts of the strategy.
Reactive LayerReactive Layer
• A behaviour defines the type of action to A behaviour defines the type of action to e executed by the agent without e executed by the agent without considering the subtleties in controlling considering the subtleties in controlling the uncertainty in the environment.the uncertainty in the environment.– Noise added to player’s movements and Noise added to player’s movements and
turns, deceleration of ball and player turns, deceleration of ball and player movements, movements,
– Wind factor, Stamina, Hearing decay, Vision Wind factor, Stamina, Hearing decay, Vision angle.angle.
An Abstract Model of the An Abstract Model of the Soccer Team [Mattalan Soccer Team [Mattalan and Borrajo, 97]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 agentS: A List of its SkillsY: Knowledge about its teammatesL: 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 sentI: 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>+
ReferencesReferences
[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.
top related