21
Building a Soccer Building a Soccer Team for RoboCup's Team for RoboCup's Simulation League Simulation League by by Tralvex Yeap Tralvex Yeap Tay Joc Cing Tay Joc Cing

Building a Soccer Team for RoboCup's Simulation League

  • Upload
    rufina

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Building a Soccer Team for RoboCup's Simulation League

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

Page 2: Building a Soccer Team for RoboCup's Simulation League

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.

Page 3: Building a Soccer Team for RoboCup's Simulation League

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.

Page 4: Building a Soccer Team for RoboCup's Simulation League

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.

Page 5: Building a Soccer Team for RoboCup's Simulation League

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.

Page 6: Building a Soccer Team for RoboCup's Simulation League

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.

Page 7: Building a Soccer Team for RoboCup's Simulation League

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.

Page 8: Building a Soccer Team for RoboCup's Simulation League

Breeding operators for GP Breeding operators for GP systemsystem

• subtree crossover.

• point mutation.

• reproduction.

Page 9: Building a Soccer Team for RoboCup's Simulation League

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.

Page 10: Building a Soccer Team for RoboCup's Simulation League

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.

Page 11: Building a Soccer Team for RoboCup's Simulation League

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.

Page 12: Building a Soccer Team for RoboCup's Simulation League

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

Page 13: Building a Soccer Team for RoboCup's Simulation League

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

Page 14: Building a Soccer Team for RoboCup's Simulation League

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.

Page 15: Building a Soccer Team for RoboCup's Simulation League

Relationship between Relationship between Agent RolesAgent Roles

Relation Values

Authority Dominant Equal Subservient

Cooperation Oppose Ignore Support

Derivation Generalize Unrelated Specialize

Page 16: Building a Soccer Team for RoboCup's Simulation League

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.

Page 17: Building a Soccer Team for RoboCup's Simulation League

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.

Page 18: Building a Soccer Team for RoboCup's Simulation League

Example: Corner KickExample: Corner Kick

1

1

1

2

3

3 2 2

Page 19: Building a Soccer Team for RoboCup's Simulation League

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>+

Page 20: Building a Soccer Team for RoboCup's Simulation League

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.

Page 21: Building a Soccer Team for RoboCup's Simulation League

Question and AnswerQuestion and Answer