An introduction to robocup l.jpg
Advertisement
This presentation is the property of its rightful owner.
1 / 37

An Introduction to RoboCup PowerPoint PPT Presentation

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

Download Presentation

An Introduction to RoboCup

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 l.jpg

An Introduction to RoboCup

  • October 26, 2006

  • by Michael Floyd

  • Portions by Kevin Lam and Paul Marlow


Agenda l.jpg

Agenda

  • Overview of RoboCup

  • How Games Are Played

  • Demonstration Game

  • Client/Server Communication

  • Existing Clients and Tools


Overview of robocup l.jpg

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 l.jpg

Overview of RoboCup

  • Started in 1992 as the Robot J-League (Japan)

  • First games and conferences in 1997

  • Workshops, conferences and yearly competitions


Robocup leagues l.jpg

RoboCup Leagues


Robocup simulator l.jpg

RoboCup Simulator

  • Server (2-D and new 3-D)

  • Monitor clients

  • Player clients (i.e. agents!)

  • Coach clients


Clients and server l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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


Play modes l.jpg

Play Modes


Starting a game l.jpg

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!


Demonstration l.jpg

Demonstration


Connection protocols l.jpg

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 l.jpg

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 commands l.jpg

Client Commands


Client sensor protocol l.jpg

Client Sensor Protocol

  • Three main message types:

    • Hear

    • See

    • Sense_Body

  • Noise models for each


Hear messages l.jpg

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 l.jpg

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)


Flags and lines l.jpg

Flags and Lines


See example l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Some RoboCup Clients

  • UvA Trilearn (Amsterdam) (2003 champion)

  • CMUnited (Carnegie Mellon)

  • Everest (China)

  • FC Portugal 2003 (Portugal)

  • HELIOS (Japan)

  • Magma Furtwangen (Germany)


Typical approaches l.jpg

Typical Approaches

  • Hard-coded behaviour

  • Scripted behaviour (e.g. planning)

  • Neural Networks

  • Opponent Modelling

  • Layered Learning

  • Behaviour Networks


Example a4ty l.jpg

Example: a4ty

  • Layered skills hierarchy (pass, intercept)

  • Follow advice of coach

  • Competed in RoboCup competitions


Example krislet l.jpg

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 l.jpg

Example: RoboPlayer

  • Based off of Krislet

  • Allows Krislet-type players to have states (forward, defense, goalie)


Example stripslet l.jpg

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 l.jpg

Developing Clients

  • www.robocup.org

  • Soccer Server Manual

  • Start with Krislet, RoboPlayer or Stripslet

  • Soccer Server 9.1.5


Carleton projects l.jpg

Carleton Projects

  • Tool to log client-server communications (LogServer)

  • Imitative Agent (RCScenes)

  • Human-user interface (In The Agents Shoes)


References l.jpg

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 l.jpg

Support

  • Project links and executables are available from http://chat.carleton.ca/~mfloyd/robocup/

  • Feel free to e-mail me with any questions [email protected]


  • Login