UvA Trilearn 2003 - Soccer Simulation Team



UvA Trilearn is the RoboCup Soccer Simulation team from the Intelligent Autonomous Systems Group (IAS) of the University of Amsterdam. This team has participated in both RoboCup-2001 (Seattle) and RoboCup-2002 (Fukuoka) and reached fourth place at both occasions. Between these two tournaments, UvA Trilearn became champion at the German Open 2002.

Much of the effort in building the first team, UvA Trilearn 2001, had gone into getting the lower levels to work, since we felt that these would be the most crucial for the success of the team. UvA Trilearn 2002 contained several improvements which included improved localization methods using particle filters, behavior modeling of teammates, and the action selection method based on a priority-confidence model. In our current work, UvA Trilearn 2003, we are especially interested in specifying coordination between the different agents by making use of coordination graphs.

Research Group Members

drs. J.R. Kok ( - Research and Implementation
dr. N. Vlassis - Research Coordinator
Prof. dr. ir. F.C.A. Groen ( - Team Coordinator


University of Amsterdam (UvA), Faculty of Science
Intelligent Autonomous Systems Group
Kruislaan 403, 1098 SJ Amsterdam, The Netherlands


  • An approach to noncommunicative multiagent coordination in continuous domains (Proceedings Benelearn 2002): Kok02benelearn.pdf.
  • Non-communicative multi-robot coordination in dynamic environments (Robotics and Autonomous Systems, 50(2-3), Elsevier Science): Kok05roas.pdf.
  • Multi-robot decision making using coordination graphs (Proceedings of the 11th International Conference on Advanced Robotics, Coimbra, Portugal, 2003). Kok03icar.pdf.
  • Team Description UvA Trilearn 2003 (Proceedings CD RoboCup 2003 Symposium). Kok03robocup.pdf.


Part of the source code of UvA Trilearn 2003 is available here. I also received an updated version created by Mahdi Nami which contains some fixes for the latest soccer servers (12 and 13). It is located here. I haven't tested it myself.

The released code contains our low-level and intermediate level implementation (agent-environment synchronization method, world model, player skills), but not our high-level decision procedure. Instead, we have included a simple high-level action selection strategy which is the same as that of the Simple Portugal team. The fastest player to the ball intercepts the ball and shoots it to a random corner in the opponent goal regardless of his position on the field. The remaining players move to a strategic position which is determined by their home position in the formation and by the position of the ball. Furthermore, this base supports the new functionality of the 9.xx protocol (tackle, attentionto, etc) and the synchronization mode. We tried to keep the code backward-compatibility with the previous release, but won't make any promises :) See the accompanied README file for more details. The html documentation created by Doxygen can also be viewed here.

The released source also contains a skeleton on-line coach which can be used to extract information from the observed game and substitute the players on the field to one of the available heterogeneous players.

We think that the extensive documentation in combination with our thesis is an excellent starting point for new teams. Our thesis, which can be downloaded from the publications section, describes most components used in this basis in much detail.

This code is released under the modified BSD-license. This basically means that the software may be used, modified and copied as long as the copyright notice, the list of conditions and the disclaimer are reproduced in the documentation and/or other materials provided with the distribution.


The binary of UvA Trilearn 2003 as used during the final round in Padova is available here. This binary is dynamically linked. There is also a static binary (3.7MB) available. A problem with this binary may be that the used method 'gethostbyname' uses nss to resolve the hostnames and nss uses dynamic libraries. This may cause a segmentation fault, but I was not able to find a solution to this problem.


German Open

We participated in the German Open 2003 and became Champion (of 12 teams) in this competition. Click on the opponent team name to view the corresponding flash file.

Round Opponent Score
Group AT-Humboldt (Germany) 19-0
  ERA-Polytech (Russia) 8-0
  Tsubame Gaeshi (Japan) 51-0
  Amistres (Iran) 7-0
  FC Dr. Web (Russia) 17-0
Elimination (winners) Robolog (Germany) 23-0
  Amistres (Iran) 4-0
  Brainstormers (Germany) 5-0
Final Brainstormers (Germany) 2-0

All the results can be found here. The binary used in this competition can be downloaded here.

American Open 2003

We participated in the American Open 2003 and became Champion (of 15 teams) in this competition.

Round Opponent Score
Group Whaoo Wunderkind (USA) 36-0
  Helli-Amistres (Iran) 7-0
  Wyverns (USA) 29-0
Elimination (winners) UT Austin Villa (USA) 24-0
  Brainstormers (Germany) 1-0 (o.t.)
  Helli-Amistres (Iran) 1-0
Final Brainstormers (Germany) 2-0

All the results can be found here. The binary used in this competition can be downloaded here.

RoboCup-2003: Padova

We participated in the RoboCup-2003 World Championship in Padova and became Champion (of 46 qualified teams) in this competition. You can see flash files of some of the games by clicking on the opponent name.

Results: (Latvia)
Round 1 Opponent Score
Round 1 Mainz Rolling Brains (Germany) 4-0
  Iranians (Iran) 31-0
  Sahand (Iran) 39-0
  a4ty 25-0
Round 2 Helios (Iran) 2-1
  AT-Humboldt (Germany) 5-0
  ZJUBase (China) 6-0
  Aria (Iran) 6-0
  Hana (Japan) 26-0
Round 3 Zenit-NewERA (Russia) 4-0
  RoboSina (Iran) 6-0
  Wright Eagle (China) 3-1
  Everest (China) 7-1
  Aria (Iran) 5-0
Semi-final Brainstormers (Germany) 4-1
Final TsinghuAeolus (China) 4-3

All the results can be found here. The binary used in this competition can be downloaded here.