an introduction to robocup l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
An Introduction to RoboCup PowerPoint Presentation
Download Presentation
An Introduction to RoboCup

Loading in 2 Seconds...

play fullscreen
1 / 37

An Introduction to RoboCup - PowerPoint PPT Presentation


  • 372 Views
  • Uploaded on

An Introduction to RoboCup October 26, 2006 by Michael Floyd Portions by Kevin Lam and Paul Marlow Agenda Overview of RoboCup How Games Are Played Demonstration Game Client/Server Communication Existing Clients and Tools Overview of RoboCup The Robot World Cup Initiative

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'An Introduction to RoboCup' - oshin


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
an introduction to robocup
An Introduction to RoboCup
  • October 26, 2006
  • by Michael Floyd
  • Portions by Kevin Lam and Paul Marlow
agenda
Agenda
  • Overview of RoboCup
  • How Games Are Played
  • Demonstration Game
  • Client/Server Communication
  • Existing Clients and Tools
overview of robocup
Overview of RoboCup
  • The Robot World Cup Initiative
  • “By the year 2050, develop a team of fully autonomous humanoid robots that can win against the human world soccer champion team.”
  • A standard problem for AI research
overview of robocup4
Overview of RoboCup
  • Started in 1992 as the Robot J-League (Japan)
  • First games and conferences in 1997
  • Workshops, conferences and yearly competitions
robocup simulator
RoboCup Simulator
  • Server (2-D and new 3-D)
  • Monitor clients
  • Player clients (i.e. agents!)
  • Coach clients
clients and server

Client

Client

Client

Server

Client

Client

Client

Client

Client

Client

Client

Client

Client

Clients and Server
  • One server
  • Up to 11 clients per team (plus coach)
  • Clients/server communicate via UDP/IP
slide8

Client

Client

Client

Server

Client

Client

Client

Client

Client

Client

Client

Client

Client

  • Can be written in any language (C++, Java, Smalltalk, ...)
  • Can be run on same machine or a network
  • Clients may talk only to the server... not to each other!
slide9

Client

Client

Client

Server

Client

Client

Client

Client

Client

Client

Client

Client

Client

Coach

Coach

Soccer Monitor

  • Monitor(s) used to visualize the action and/or interrupt the game
  • Coaches (optional) to give guidance to teams
robocup clients
RoboCup Clients
  • Autonomous agents
  • The “brains” of the players
  • Sensory information received from server, decision made, action command sent back to server
  • One agent represents one player
  • One agent can designate itself as the goalie
robocup clients11

time

play mode

my body

landmarks

other players

speech

coach instructions

dash

turn

turn head

kick

catch

speak

Player

Agent

decision-making

strategy

Sensory Input

Outputs

RoboCup Clients
robocup server
RoboCup Server
  • Keeps time (typically 6000 (10 mins) simulator cycles, 10 cycles per second)
  • Receives client messages, updates “world model”, sends back new status information
  • “Automated Referee” tracks current play mode
starting a game
Starting a Game
  • Download and install applications
  • Run the Server (default host is localhost and default port is 6000)
  • Run the Monitor, connecting to the host and port of the Server
  • Connect the players to the Server host and port
  • Start the kick-off!
connection protocols
Connection Protocols
  • From client to server:
    • Initiate a connection
    • Reconnect
    • Quit
  • From server to client:
    • Confirms the connection and provides the player’s uniform number, side of field, and current state of the game
an example
An Example
  • Player : Connects and joins “MyTeam” (init MyTeam)
  • Server : Tells the player they are connected, have uniform #1, are on the right side of the field, and the game is pre-kickoff (init r 1 before_kick_off)
  • Server : Tells player current location and location of visible objects (see 0 ((goal r) 66.7 33))
client sensor protocol
Client Sensor Protocol
  • Three main message types:
    • Hear
    • See
    • Sense_Body
  • Noise models for each
hear messages
Hear Messages
  • Can hear one message per team per cycle
  • (hear Time Sender “Message”)
    • Sender = online_coach_left/right, referee, self, Direction
    • Direction = -180 – 180 degrees
see messages
See Messages
  • (see Time ObjInfo)
    • ObjInfo:
      • (ObjName Distance Direction DistChange DirChange BodyFacingDir HeadFacingDir) or
      • (ObjName Distance Direction DistChange DirChange) or
      • (ObjName Distance Direction) or
      • (ObjName Direction)
see example
See Example
  • (see 18 ((f r t) 44.7 -22) ((f g r b) 47.9 30) ((f g r t) 42.5 13) ((f p r c) 30.3 34 -0 0) ((f p r t) 25.3 -7 0 0) ((f t r 40) 36.2 -37) ((f t r 50) 44.7 -29) ((f r 0) 49.4 20) ((f r t 10) 47 8) ((f r t 20) 46.5 -3) ((f r t 30) 48.4 -15) ((f r b 10) 53.5 30) ((f r b 20) 59.1 38) ((f r t) 44.7 -22) ((f g r b) 47.9 30) ((g r) 44.7 22) ((f g r t) 42.5 13) ((f p r c) 30.3 34) ((f p r t) 25.3 -7 0 0) ((f t r 40) 36.2 -37) ((f t r 50) 44.7 -29) ((f r 0) 49.4 20) ((f r t 10) 47 8) ((f r t 20) 46.5 -3) ((f r t 30) 48.4 -15) ((f r b 10) 53.5 30) ((f r b 20) 59.1 38) ((p “ExampleTeam") 36.6 28) ((l r) 41.7 -89))
sense body messages
Sense_Body Messages
  • (sense_body Time
  • (view_mode {high | low} {narrow | normal | wide})
  • (stamina StaminaEffort)
  • (speed AmountOfSpeed DirectionOfSpeed)
  • (head_angle HeadAngle)
  • (kick KickCount)
  • (dash DashCount)
  • (turn TurnCount)
  • (say SayCount)
  • (turn_neck TurnNeckCount)
  • (catch CatchCount)
  • (move MoveCount)
  • (change_view ChangeViewCount))
sense body example
Sense_Body Example
  • (sense_body 19 (view_mode high normal) (stamina 4000 1) (speed 0 0) (head_angle 0) (kick 0) (dash 0) (turn 0) (say 98) (turn_neck 0))
coaches
Coaches
  • Privileged clients used to provide assistance
  • Receives noise-free view of the whole field
  • Can only send occasional messages to players (info, advice, freeform, etc.)
  • Used for opponent modelling, game analysis, giving strategic tips to teammates
the environment
The Environment
  • accessible vs inaccessible: Only sees what is in front of it (with noise)
  • deterministic vs non-deterministic: Just because agent wants to kick ball doesn’t mean it will happen
  • static vs dynamic : The players and ball will constantly be moving
  • discrete vs continuous: Player can take any position on the field
some robocup clients
Some RoboCup Clients
  • UvA Trilearn (Amsterdam) (2003 champion)
  • CMUnited (Carnegie Mellon)
  • Everest (China)
  • FC Portugal 2003 (Portugal)
  • HELIOS (Japan)
  • Magma Furtwangen (Germany)
typical approaches
Typical Approaches
  • Hard-coded behaviour
  • Scripted behaviour (e.g. planning)
  • Neural Networks
  • Opponent Modelling
  • Layered Learning
  • Behaviour Networks
example a4ty
Example: a4ty
  • Layered skills hierarchy (pass, intercept)
  • Follow advice of coach
  • Competed in RoboCup competitions
example krislet
Example: Krislet
  • Only one strategy: run to the ball and try to kick it!
  • Surprisingly effective – can beat many more complex teams
  • Written in Java, easy to extend
example roboplayer
Example: RoboPlayer
  • Based off of Krislet
  • Allows Krislet-type players to have states (forward, defense, goalie)
example stripslet
Example: STRIPSlet
  • Based off of Krislet
  • Uses STRIPS-style linear planning
  • Works at achieve a set of goals
  • The base-version only has one goal – putting the ball in the net
developing clients
Developing Clients
  • www.robocup.org
  • Soccer Server Manual
  • Start with Krislet, RoboPlayer or Stripslet
  • Soccer Server 9.1.5
carleton projects
Carleton Projects
  • Tool to log client-server communications (LogServer)
  • Imitative Agent (RCScenes)
  • Human-user interface (In The Agents Shoes)
references
References
  • Most of the information about RoboCup itself was taken using from the RoboCup Soccer Server manual.
  • For the latest manuals and code, visit the RoboCup project website at:
    • http://sourceforge.net/projects/sserver
support
Support
  • Project links and executables are available from http://chat.carleton.ca/~mfloyd/robocup/
  • Feel free to e-mail me with any questions mfloyd@connect.carleton.ca