Post on 19-Aug-2015
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 teamA challenge for researchers to involve in:
Artificial Intelligence and Machine LearningMachine Vision and Image ProcessingNatural Language Processing Multi-Agent Team Planning And different challenges in Control and Electronics and Computer Science…
Why Soccer?!Interesting Most popular sportAntagonism Two teamsEnvironment/Complexity DynamicSensor Readings Non-symbolicUncertainty Distributed
Chaotic behavior(11 players per team)
Real-timeTime Critical
RoboCup Leagues
RoboCup Soccer Small SizeMiddle SizeHumanoid Standard PlatformSimulation
RoboCup Rescue Rescue RobotsRescue Simulation
RoboCup JuniorSoccerRescue SimulationDance Other Leagues
@Home@WorkLogistics
Small Size League
Middle Size League
Humanoid League
Standard Platform League
Impact On TechnologyMany 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.
qKnowledgeq 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 SoccerSimulation Leagues
2D Simulation
3D Simulation
RoboCup SimulationConsists 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ü….
ClientClientClientClientClient
11Client
ClientClientClientClientClient
11ClientServer
Soccer MonitorCoach Coach
Soccer Agent Life Cycle
Clients; Autonomous agents
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
ServerUpdating environment based on new commands
Client/AgentParsing new information and sending new command
Surrounding Information
New Commands
Simulation 2D Clients
Player AgentEnvironment
Info: time
play modemy body
landmarksother players(Say) speech
coach instructions
Actions:dashturn
turn headkick
catchspeak
Parsing new infoAnd
decision-making
Input from serverOutput 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 AgentPrivileged 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 updatesudo apt-get install rcssserversudo apt-get install rcssmonitorsudo 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 portStart the kick-off!
World Teams & BinaryAll teams binary files , TDP, Log files could be downloaded from http://chaosscripting.net/files
Team Titles Runners-up Third place
WrightEagle6 (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