RoboLog Koblenz 2000

RoboCup-2000 was the second world championship, RoboLog Koblenz participated in. To the best of our knowledge, RoboLog Koblenz is the only team in the simulation league, whose agents are programmed in Prolog. The main goal of our research is to make decla

  • PDF / 60,440 Bytes
  • 4 Pages / 451 x 677.3 pts Page_size
  • 63 Downloads / 163 Views

DOWNLOAD

REPORT


Introduction RoboCup-2000 was the second world championship, RoboLog Koblenz participated in. To the best of our knowledge, RoboLog Koblenz is the only team in the simulation league, whose agents are programmed in Prolog. The main goal of our research is to make declarative agent programming possible, by writing the agents’ control programs in SWI-Prolog [6]. Procedural aspects of the agents’ behavior can be specified by statecharts, that have become part of the Unified Modeling Language (UML) [4]. See also the paper Towards a logical approach for soccer agents engineering in this volume. While the high-level control programs for our soccer simulation agents are written in Prolog, basic skills and predicates are part of the RoboLog kernel, which is written in C++. In the kernel, the CMUnited-99 library [5] is integrated, which has improved the performance of RoboLog Koblenz significantly. We were able to enter the doubleelimination round in the competition in Melbourne 2000, after winning the last game in our round robin group with a score of 39–0 (the highest result ever scored in one RoboCup game). Finally, we end up on the 13th rank. In addition, we became 5th in the RoboCup European Championship in Amsterdam, June 2000. We finished as the 2nd best German team.

2 Special Team Features As already mentioned, the main difference to other teams participating in the simulation league is the use of the logic programming language Prolog for RoboLog Koblenz agents. At the beginning of each simulation step, the Prolog system is called. The next action of the agent is determined, taking its knowledge of the world into account. For this, CMUnited-99 library functions among others are exploited. In Section 3, we will explain, how these functions can be accessed in Prolog. The transition from the data and actions of the Soccer Server [2] to the specification of agents by means of logic programming (Prolog) requires the translation of quantitative data into a qualitative, propositional representation. We will discuss this also in Section 3. Another feature of RoboLog Koblenz is its use of communication, because besides basic information also messages in the Knowledge Query and Manipulation Language (KQML) format [3] can be exchanged (see Section 5). Following the template for team descriptions used throughout this volume, we will also discuss other topics. P. Stone, T. Balch, and G. Kraetzschmar (Eds.): RoboCup 2000, LNAI 2019, pp. 469-472, 2001. c Springer-Verlag Berlin Heidelberg 2001

470

Jan Murray et al.

3 World Model We use the CMUnited-99 low-level library [5] including the world model contained therein. We added some communication primitives to the library, so our players can enhance their knowledge of the world by means of communication (see Section 5). The connection of these skills to Prolog happens in two steps: We use C wrapper functions to build a shared RoboLog library. This library can be used to implement soccer clients in C, or, as a second step, to connect the RoboLog kernel to other programming language