An Introduction to RoboCup - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

An Introduction to RoboCup

Description:

(stamina StaminaEffort) (speed AmountOfSpeed DirectionOfSpeed) (head_angle HeadAngle) ... (sense_body 19 (view_mode high normal) (stamina 4000 1) (speed 0 0) ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 38
Provided by: chatCa
Category:

less

Transcript and Presenter's Notes

Title: An Introduction to RoboCup


1
An Introduction to RoboCup
  • October 26, 2006
  • by Michael Floyd
  • Portions by Kevin Lam and Paul Marlow

2
Agenda
  • Overview of RoboCup
  • How Games Are Played
  • Demonstration Game
  • Client/Server Communication
  • Existing Clients and Tools

3
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

4
Overview of RoboCup
  • Started in 1992 as the Robot J-League (Japan)
  • First games and conferences in 1997
  • Workshops, conferences and yearly competitions

5
RoboCup Leagues
6
RoboCup Simulator
  • Server (2-D and new 3-D)
  • Monitor clients
  • Player clients (i.e. agents!)
  • Coach clients

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

8
  • 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!

9
  • Monitor(s) used to visualize the action and/or
    interrupt the game
  • Coaches (optional) to give guidance to teams

10
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

11
RoboCup Clients
12
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

13
Play Modes
14
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!

15
Demonstration
16
Connection Protocols
  • From client to server
  • Initiate a connection
  • Reconnect
  • Quit
  • From server to client
  • Confirms the connection and provides the
    players uniform number, side of field, and
    current state of the game

17
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))

18
Client Commands
19
Client Sensor Protocol
  • Three main message types
  • Hear
  • See
  • Sense_Body
  • Noise models for each

20
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

21
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)

22
Flags and Lines
23
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))

24
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))

25
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))

26
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

27
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 doesnt 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

28
Some RoboCup Clients
  • UvA Trilearn (Amsterdam) (2003 champion)
  • CMUnited (Carnegie Mellon)
  • Everest (China)
  • FC Portugal 2003 (Portugal)
  • HELIOS (Japan)
  • Magma Furtwangen (Germany)

29
Typical Approaches
  • Hard-coded behaviour
  • Scripted behaviour (e.g. planning)
  • Neural Networks
  • Opponent Modelling
  • Layered Learning
  • Behaviour Networks

30
Example a4ty
  • Layered skills hierarchy (pass, intercept)
  • Follow advice of coach
  • Competed in RoboCup competitions

31
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

32
Example RoboPlayer
  • Based off of Krislet
  • Allows Krislet-type players to have states
    (forward, defense, goalie)

33
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

34
Developing Clients
  • www.robocup.org
  • Soccer Server Manual
  • Start with Krislet, RoboPlayer or Stripslet
  • Soccer Server 9.1.5

35
Carleton Projects
  • Tool to log client-server communications
    (LogServer)
  • Imitative Agent (RCScenes)
  • Human-user interface (In The Agents Shoes)

36
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

37
Support
  • Project links and executables are available from
    http//chat.carleton.ca/mfloyd/robocup/
  • Feel free to e-mail me with any questions
    mfloyd_at_connect.carleton.ca
Write a Comment
User Comments (0)
About PowerShow.com