An Introduction To RoboCup
&
Soccer Simulation
By: Ali Ahmadi
ž What is RoboCup and its goal?
ž RoboCup Leagues.
ž RoboCup impact on technology.
ž RoboCup Soccer Simulation League.
ž Server/Client communication.
ž How to install rcsoccersim?
ž How to start a game?
ž World most successful teams.
Overview
What is RoboCup?!
The Robot World Cup.
Started in 1992 as the Robot Junior-League (Japan)
Workshops, conferences and yearly competitions
Slogan of games:
“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
The Goal of RoboCup?!
RoboCup envisions a set of longer range challenges over
next few decades. By the year 2050, develop a team of fully
autonomous humanoid robots that can win against the
human world soccer champion team
A challenge for researchers to involve in:
Artificial Intelligence and Machine Learning
Machine Vision and Image Processing
Natural Language Processing
Multi-Agent Team Planning
And different challenges in Control and
Electronics and Computer Science…
Why Soccer?!
Interesting Most popular sport
Antagonism Two teams
Environment/Complexity Dynamic
Sensor Readings Non-symbolic
Uncertainty Distributed
Chaotic behavior
(11 players per team)
Real-time
Time Critical
RoboCup Leagues
RoboCup Soccer
Small Size
Middle Size
Humanoid
Standard Platform
Simulation
RoboCup Rescue
Rescue Robots
Rescue Simulation
RoboCup Junior
Soccer
Rescue Simulation
DanceOther Leagues
@Home
@Work
Logistics
Small Size League
Middle Size League
Humanoid League
Standard Platform League
Impact On Technology
Many open source developments from RoboCup teams,
used by many other research groups inside and outside
RoboCup
Basis technology of Kiva Systems developed
in Small Size Robot League
Aldebaran started successful humanoid Nao robot in
RoboCup
Quince robot used in Fukushima 2011 tsunami
has been developed and tested in RoboCup.
Motors from ROBOTIS were first widely used
in RoboCup.
qKnowledge
q Programming Language: C++(STL, boost), Script(bash,
MATLAB, python...)
q Linux/Windows Operation
q Computer Algorithms, Artificial intelligence, ...
How do I join RoboCup?!
Why Simulation?!
Low Cost, No expensive hardware is needed to build the
team.
Provides a standard problem for the evaluation of various
theories, algorithms.
Abstracts from hardware issues and focuses on subjects
such as skill learning, coordination techniques, and
opponent modeling.
Much easier (cheaper) to test a simulation team against
different opponents.
RoboCup Soccer
Simulation Leagues
2D Simulation
3D Simulation
RoboCup Simulation
Consists of:
Server (under the terms of the GNU LGPL )
Monitor clients
Player clients (i.e. agents!)
Coach clients for each team
2D Soccer Simulation
ü Two teams of 11 virtual agents each play with each other.
ü based on a computer simulator (i.e. Soccer Server or RCSSServer)
that provides a realistic simulation of soccer robot
ü One demonstrator software to show processes in graphical
interface(i.e. Soccer Monitor or RCSSMonitor )
ü Each agent is a separate process that sends the simulation server.
ü Environmental information are send to each agent, after actions
occurrence based on noise values.
ü Why noise?
ü Realistic
ü Uncertainty
ü ….
Client
Client
Client
Client
Client
11
Client
Client
Client
Client
Client
Client
11
Client
Server
Soccer Monitor
Coach Coach
Soccer Agent Life Cycle
Clients; Autonomousagents
Sensory information received from server, decision made, action command sent back to
server
Clients may talk only to the server... not to each other!
Clients’ connection is just possible by restricted use of “Say Command”
One client represents one player, goalie 0r coach
Clients can be written in any language (C++,Java, ...)
Clients can be run on same machine or a network
Server
Updating environment
based on new
commands
Client/Agent
Parsing new information
and sending new
command
Surrounding Information
New Commands
Simulation 2D Clients
Player Agent
Environment
Info:
time
play mode
my body
landmarks
other players
(Say) speech
coach instructions
Actions:
dash
turn
turn head
kick
catch
speak
Parsing new info
And
decision-making
Input from server
Output to server
T(n) T(n+1)
RoboCup Soccer Server
Keeps time (typically 6000 simulator cycles, 10 cycles
per second)
Sends new status information
Receives client messages and updates “world model”
“Automated Referee” tracks current play mode
Coach Agent
Privileged clients used to provide assistance
Receives noise-free view of the whole field
Used for opponent modeling, game analysis, giving strategic tips
to teammates
1- Online Coach: Used to advise players during game
2- Offline Coach(Trainer): Used to train agent’s in out of game
time. This is an important tool for implement AI algorithms on
one team.
Some RoboCup Source Codes
WrightEagle_BASE(China)
UvA Trilearn (Netherland)
HELIOS (Japan)
Agent2D (HELIOS_BASE)(Japan)
Mersad (Iran)
….
Installing rcsoccersim
First Method:
Download sources from http://sourceforge.net/projects/sserver
./configure & make & make install
Second Method:
sudo add-apt-repository ppa:gnurubuntu/rubuntu && sudo apt-get update
sudo apt-get install rcssserver
sudo apt-get install rcssmonitor
sudo apt-get install rcsslogplayer
Starting a Game
RCSSServer : Main game running program. Teams
connect to this module.
RCSSMonitor : Visuliser of game.
RCSSLogplayer: A tool for reviewing past game.
Run the Server (default host is localhost and default
port is 6000) using command “rcsoccersim”
Connect the players to the Server host and port
Start the kick-off!
World Teams & Binary
All teams binary files , TDP, Log files could be downloaded from
http://chaosscripting.net/files
Team Titles Runners-up Third place
WrightEagle
6 (2006, 2009, 2011, 2013,2014,
2015)
5 (2005, 2007, 2008, 2010,2012)
Brainstormers 3 (2005, 2007, 2008) 4 (2000, 2001, 2004, 2006) 2 (2002, 2003)
HELIOS 2 (2010, 2012) 4 (2009, 2011, 2013,2015) 2 (2007, 2008)
TsinghuAeolus 2 (2001, 2002) 1 (2003)
CMUnited 2 (1998, 1999)
AT-Humboldt 1 (1997) 1 (1998)
FCPortugal 1 (2000) 1 (2001)
Uva Trilearn 1 (2003)
STEP 1 (2004)
Any Questions?
Thank You

S378 introduction to robocup & soccer simulation

  • 1.
    An Introduction ToRoboCup & Soccer Simulation By: Ali Ahmadi
  • 2.
    ž What isRoboCup and its goal? ž RoboCup Leagues. ž RoboCup impact on technology. ž RoboCup Soccer Simulation League. ž Server/Client communication. ž How to install rcsoccersim? ž How to start a game? ž World most successful teams. Overview
  • 3.
    What is RoboCup?! TheRobot World Cup. Started in 1992 as the Robot Junior-League (Japan) Workshops, conferences and yearly competitions Slogan of games: “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.
    The Goal ofRoboCup?! RoboCup envisions a set of longer range challenges over next few decades. By the year 2050, develop a team of fully autonomous humanoid robots that can win against the human world soccer champion team A challenge for researchers to involve in: Artificial Intelligence and Machine Learning Machine Vision and Image Processing Natural Language Processing Multi-Agent Team Planning And different challenges in Control and Electronics and Computer Science…
  • 5.
    Why Soccer?! Interesting Mostpopular sport Antagonism Two teams Environment/Complexity Dynamic Sensor Readings Non-symbolic Uncertainty Distributed Chaotic behavior (11 players per team) Real-time Time Critical
  • 6.
    RoboCup Leagues RoboCup Soccer SmallSize Middle Size Humanoid Standard Platform Simulation RoboCup Rescue Rescue Robots Rescue Simulation RoboCup Junior Soccer Rescue Simulation DanceOther Leagues @Home @Work Logistics
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    Impact On Technology Manyopen source developments from RoboCup teams, used by many other research groups inside and outside RoboCup Basis technology of Kiva Systems developed in Small Size Robot League Aldebaran started successful humanoid Nao robot in RoboCup Quince robot used in Fukushima 2011 tsunami has been developed and tested in RoboCup. Motors from ROBOTIS were first widely used in RoboCup.
  • 12.
    qKnowledge q Programming Language:C++(STL, boost), Script(bash, MATLAB, python...) q Linux/Windows Operation q Computer Algorithms, Artificial intelligence, ... How do I join RoboCup?!
  • 13.
    Why Simulation?! Low Cost,No expensive hardware is needed to build the team. Provides a standard problem for the evaluation of various theories, algorithms. Abstracts from hardware issues and focuses on subjects such as skill learning, coordination techniques, and opponent modeling. Much easier (cheaper) to test a simulation team against different opponents.
  • 14.
    RoboCup Soccer Simulation Leagues 2DSimulation 3D Simulation
  • 15.
    RoboCup Simulation Consists of: Server(under the terms of the GNU LGPL ) Monitor clients Player clients (i.e. agents!) Coach clients for each team
  • 16.
    2D Soccer Simulation üTwo teams of 11 virtual agents each play with each other. ü based on a computer simulator (i.e. Soccer Server or RCSSServer) that provides a realistic simulation of soccer robot ü One demonstrator software to show processes in graphical interface(i.e. Soccer Monitor or RCSSMonitor ) ü Each agent is a separate process that sends the simulation server. ü Environmental information are send to each agent, after actions occurrence based on noise values. ü Why noise? ü Realistic ü Uncertainty ü ….
  • 17.
  • 18.
    Soccer Agent LifeCycle Clients; Autonomousagents Sensory information received from server, decision made, action command sent back to server Clients may talk only to the server... not to each other! Clients’ connection is just possible by restricted use of “Say Command” One client represents one player, goalie 0r coach Clients can be written in any language (C++,Java, ...) Clients can be run on same machine or a network Server Updating environment based on new commands Client/Agent Parsing new information and sending new command Surrounding Information New Commands
  • 19.
    Simulation 2D Clients PlayerAgent Environment Info: time play mode my body landmarks other players (Say) speech coach instructions Actions: dash turn turn head kick catch speak Parsing new info And decision-making Input from server Output to server T(n) T(n+1)
  • 20.
    RoboCup Soccer Server Keepstime (typically 6000 simulator cycles, 10 cycles per second) Sends new status information Receives client messages and updates “world model” “Automated Referee” tracks current play mode
  • 21.
    Coach Agent Privileged clientsused to provide assistance Receives noise-free view of the whole field Used for opponent modeling, game analysis, giving strategic tips to teammates 1- Online Coach: Used to advise players during game 2- Offline Coach(Trainer): Used to train agent’s in out of game time. This is an important tool for implement AI algorithms on one team.
  • 22.
    Some RoboCup SourceCodes WrightEagle_BASE(China) UvA Trilearn (Netherland) HELIOS (Japan) Agent2D (HELIOS_BASE)(Japan) Mersad (Iran) ….
  • 23.
    Installing rcsoccersim First Method: Downloadsources from http://sourceforge.net/projects/sserver ./configure & make & make install Second Method: sudo add-apt-repository ppa:gnurubuntu/rubuntu && sudo apt-get update sudo apt-get install rcssserver sudo apt-get install rcssmonitor sudo apt-get install rcsslogplayer
  • 24.
    Starting a Game RCSSServer: Main game running program. Teams connect to this module. RCSSMonitor : Visuliser of game. RCSSLogplayer: A tool for reviewing past game. Run the Server (default host is localhost and default port is 6000) using command “rcsoccersim” Connect the players to the Server host and port Start the kick-off!
  • 25.
    World Teams &Binary All teams binary files , TDP, Log files could be downloaded from http://chaosscripting.net/files Team Titles Runners-up Third place WrightEagle 6 (2006, 2009, 2011, 2013,2014, 2015) 5 (2005, 2007, 2008, 2010,2012) Brainstormers 3 (2005, 2007, 2008) 4 (2000, 2001, 2004, 2006) 2 (2002, 2003) HELIOS 2 (2010, 2012) 4 (2009, 2011, 2013,2015) 2 (2007, 2008) TsinghuAeolus 2 (2001, 2002) 1 (2003) CMUnited 2 (1998, 1999) AT-Humboldt 1 (1997) 1 (1998) FCPortugal 1 (2000) 1 (2001) Uva Trilearn 1 (2003) STEP 1 (2004)
  • 26.