s378 introduction to robocup & soccer simulation

26
An Introduction To RoboCup & Soccer Simulation By: Ali Ahmadi

Upload: isfahanlug

Post on 19-Aug-2015

16 views

Category:

Education


4 download

TRANSCRIPT

Page 1: S378 introduction to robocup & soccer simulation

An Introduction To RoboCup &

Soccer Simulation

By: Ali Ahmadi

Page 2: S378 introduction to robocup & soccer simulation

û 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

Page 3: S378 introduction to robocup & soccer simulation

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

Page 4: S378 introduction to robocup & soccer simulation

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…

Page 5: S378 introduction to robocup & soccer simulation

Why Soccer?!Interesting Most popular sportAntagonism Two teamsEnvironment/Complexity DynamicSensor Readings Non-symbolicUncertainty Distributed

Chaotic behavior(11 players per team)

Real-timeTime Critical

Page 6: S378 introduction to robocup & soccer simulation

RoboCup Leagues

RoboCup Soccer Small SizeMiddle SizeHumanoid Standard PlatformSimulation

RoboCup Rescue Rescue RobotsRescue Simulation

RoboCup JuniorSoccerRescue SimulationDance Other Leagues

@Home@WorkLogistics

Page 7: S378 introduction to robocup & soccer simulation

Small Size League

Page 8: S378 introduction to robocup & soccer simulation

Middle Size League

Page 9: S378 introduction to robocup & soccer simulation

Humanoid League

Page 10: S378 introduction to robocup & soccer simulation

Standard Platform League

Page 11: S378 introduction to robocup & soccer simulation

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.

Page 12: S378 introduction to robocup & soccer simulation

qKnowledgeq Programming Language: C++(STL, boost), Script(bash,

MATLAB, python...)

q Linux/Windows Operation

q Computer Algorithms, Artificial intelligence, ...

How do I join RoboCup?!

Page 13: S378 introduction to robocup & soccer simulation

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.

Page 14: S378 introduction to robocup & soccer simulation

RoboCup SoccerSimulation Leagues

2D Simulation

3D Simulation

Page 15: S378 introduction to robocup & soccer simulation

RoboCup SimulationConsists of:

Server (under the terms of the GNU LGPL )

Monitor clients

Player clients (i.e. agents!)

Coach clients for each team

Page 16: S378 introduction to robocup & soccer simulation

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ü….

Page 17: S378 introduction to robocup & soccer simulation

ClientClientClientClientClient

11Client

ClientClientClientClientClient

11ClientServer

Soccer MonitorCoach Coach

Page 18: S378 introduction to robocup & soccer simulation

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

Page 19: S378 introduction to robocup & soccer simulation

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)

Page 20: S378 introduction to robocup & soccer simulation

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

Page 21: S378 introduction to robocup & soccer simulation

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.

Page 22: S378 introduction to robocup & soccer simulation

Some RoboCup Source Codes

WrightEagle_BASE(China)

UvA Trilearn (Netherland)

HELIOS (Japan)

Agent2D (HELIOS_BASE)(Japan)

Mersad (Iran)

….

Page 23: S378 introduction to robocup & soccer simulation

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

Page 24: S378 introduction to robocup & soccer simulation

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!

Page 25: S378 introduction to robocup & soccer simulation

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)

Page 26: S378 introduction to robocup & soccer simulation

Any Questions?

Thank You