Users Manual
RoboCup Soccer Server
for Soccer Server Version 7.07 and later
Mao Cheny, Klaus Dorer,
Ehsan Foroughi, Fredrik Heintz,
ZhanXiang Huangy, Spiros Kapetanakis,
Kostas Kostiadis, Johan Kummeneje,
Jan Murray, Itsuki Noda,
Oliver Obst, Pat Riley,
Timo Steens, Yi Wangy and
Xiang Yiny
February 11, 2003
y
Copyright
2001 The RoboCup Federation. Permission is granted to copy, distribute
and/or modify this document under the terms of the GNU Free Documentation License,
Version 1.1 or any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy
of the license is included in the section entitled \GNU Free Documentation License".
Acknowledgements
We are very grateful for the work of the authors from the previous versions of the manual
that could not help out on this version:
David Andre at Berkeley, University of California, USA.
Pascal Gugenberger at Humboldt University, Berlin, Germany.
Marius Joldos at Technical University of Cluj-Napoca, Romania.
Paul Arthur Navratil at University of Texas at Austin, USA.
Peter Stone at University of Texas at Austin, USA.
Tomoichi Takahashi at Chubu University, Japan.
Tralvex Yeap at KRDL, Singapore.
Emiel Corten at University of Amsterdam, Netherlands.
Helmut Myritz at Humboldt University, Germany.
Jukka Riekki at Oulu University, Finland.
Besides the authors, we would also like to thank Stefan Sablatnog from the University
of Ulm, Germany, and Mike Hewett from University of Texas at Austin, USA, for a
thorough proofreading of the soccermanual 4.00. We have also received a lot of good
suggestions from Erik Mattsson at the University of Karlskrona/Ronneby, Sweden.
We would not have been able to do this manual without the above mentioned people 1.
This product includes software developed by the University of California, Berkeley
and its contributors { namely ex.
1The persons listed on the title page are the persons responsible for the dierent sections of the manual.
i
Acknowledgements
ii
Contents
Acknowledgements
1 Introduction
1.2.1
1.2.2 What is the Soccerserver
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 The Goals of RoboCup . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulated League . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
1.3 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 History of the Soccer Server . . . . . . . . . . . . . . . . . . . . . .
1.3.2 History of the RoboCup Simulation League . . . . . . . . . . . . .
1.3.3 History of the Soccer Manual Eort
. . . . . . . . . . . . . . . . .
1.4 About This Manual
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Reader’s Guide to the Manual . . . . . . . . . . . . . . . . . . . . . . . . .
i
1
1
2
2
3
4
4
5
8
8
8
2 Overview
11
2.1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 The Server
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2 The Monitor
2.1.3 The Logplayer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.4 The Demo Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1 Rules Judged by the Automated Referee . . . . . . . . . . . . . . . 13
2.2.2 Rules Judged by the Human Referee . . . . . . . . . . . . . . . . . 15
2.2 The Rules of the Game
3 Getting Started
17
3.1 The Homepage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Getting and installing the server
. . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4 Full installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.1 Conguring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.2 Building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.3
Installing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.4 Uninstalling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 Using the Simulator
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6 How to stop the server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
iii
Contents
3.7 Supported platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.8 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.8.1 Libtool and Sed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.8.2
ncurses and solaris . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
old gcc (< 2.95.3) and sstream . . . . . . . . . . . . . . . . . . . . 26
3.8.3
3.9 The process of a match . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4 Soccer Server
4.5 Action Models
4.1 Objects
4.2 Protocols
29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.1 Client Command Protocol . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.2 Client Sensor Protocol . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3 Sensor Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.1 Aural Sensor Model
. . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.2 Vision Sensor Model
. . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.3 Body Sensor Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4 Movement Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4.1 Movement Noise Model
. . . . . . . . . . . . . . . . . . . . . . . . 42
4.4.2 Collision Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5.1 Catch Model
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5.2 Dash Model (incl. stamina model) . . . . . . . . . . . . . . . . . . 44
4.5.3 Kick Model
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.5.4 Move Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.5.5
Say Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.5.6 Turn Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.5.7 TurnNeck Model
4.6 Heterogeneous Players . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.7 Referee Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.7.1 Play Modes and referee messages . . . . . . . . . . . . . . . . . . . 53
4.8 The Soccer Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.8.1 Description of the simulation algorithm . . . . . . . . . . . . . . . 54
4.9 Using Soccerserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.9.1 The Soccerserver Parameters . . . . . . . . . . . . . . . . . . . . . 55
5 The Soccer Monitor
59
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.1
5.2 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3 Communication from Server to Monitor
. . . . . . . . . . . . . . . . . . . 59
5.3.1 Version 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3.2 Version 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
. . . . . . . . . . . . . . . . . . . 63
. . . . . . . . . . . . . . . . . . . . . 64
. . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Communication from Monitor to Server
5.5 How to record and playback a game
5.5.1 Version 1 Protocol
iv
Contents
5.5.2 Version 2 Protocol
5.5.3 Version 3 Protocol
. . . . . . . . . . . . . . . . . . . . . . . . . . . 65
. . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.6 Settings and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.7 What’s New . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6 Soccer Client
6.1 Protocols
71
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.1.1
Initialization and Reconnection . . . . . . . . . . . . . . . . . . . . 71
6.1.2 Control Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.1.3
Sensor Information . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.2 How to Create Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Sample Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.1
6.2.2
Simple Clients
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2.3 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7 The coach
7.4 Commands
85
7.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.2 Distinction between trainer and online coach . . . . . . . . . . . . . . . . 85
7.3 Trainer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
. . . . . . . 86
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
. . . . . . . . . . 86
7.3.1 Connecting with and without the soccerserver referee
7.4.1 Commands that can be used only by the trainer
7.4.2 Commands that can also be used by the online coach with certain
restrictions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.4.3 Commands that can be used by both trainer and online-coach . . . 91
7.4.4 Commands that can be used only by the online-coach . . . . . . . 92
7.5 Messages from the server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.6 Online coach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.6.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.6.2 Communication with the players . . . . . . . . . . . . . . . . . . . 94
7.6.3 Changing player types . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.7 The standard coach language . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.7.1 General properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.7.2 Example Language Utterance . . . . . . . . . . . . . . . . . . . . . 96
7.7.3 Overview of the ve message types . . . . . . . . . . . . . . . . . . 97
7.7.4 Dening rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.7.5
. . . . . . . . . . 99
7.7.6 Further resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7.7.7
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Trainer commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Coach commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
. . . . . . . . . 111
Shared Trainer and Online Coach Interactions with the Server
Semantics and syntax details of the components
8 References and Further Reading
113
v
Contents
8.1 General papers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
8.2 Doctoral Theses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8.3 Undergraduate and Master’s Theses
. . . . . . . . . . . . . . . . . . . . . 114
8.4 Platforms to start building team upon . . . . . . . . . . . . . . . . . . . . 115
8.5 Education-related articles . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
8.6 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
8.7 Decision Making . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
8.8 Other supporting documents
. . . . . . . . . . . . . . . . . . . . . . . . . 115
8.9 Team Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
1996 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
1997 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
1998 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
1999 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
2001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.9.1
8.9.2
8.9.3
8.9.4
8.9.5
8.9.6
A GNU Free Documentation License
117
. . . . . . . . . . . . . . . . . . . . . . . . . 117
A.1 Applicability and Denitions
A.2 Verbatim Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
A.3 Copying in Quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A.4 Modications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A.5 Combining Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
A.6 Collections of Documents
. . . . . . . . . . . . . . . . . . . . . . . . . . . 122
A.7 Aggregation With Independent Works . . . . . . . . . . . . . . . . . . . . 122
A.8 Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
A.9 Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
A.10 Future Revisions of This License . . . . . . . . . . . . . . . . . . . . . . . 123
B Soccerserver
125
B.1 Soccerserver Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
B.2 Playmodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
C Soccermonitor
129
C.1 Monitor Communication Version 1 . . . . . . . . . . . . . . . . . . . . . . 129
C.1.1 Showinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
C.1.2 Messageinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
C.1.3 Drawinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
C.2 Monitor Communication Version 2 . . . . . . . . . . . . . . . . . . . . . . 131
C.2.1 Showinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
C.2.2 Messageinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
C.2.3 Server Parameters
. . . . . . . . . . . . . . . . . . . . . . . . . . . 133
C.2.4 Player Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
C.2.5 Player Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
vi