Towards a Logical Approach for Soccer Agents Engineering

Building agents for a scenario such as the RoboCup simulation league requires not only methodologies for implementing high-level complex behavior, but also the careful and efficient programming of low-level facilities like ball interception. With this hyp

  • PDF / 108,885 Bytes
  • 10 Pages / 451 x 677.3 pts Page_size
  • 98 Downloads / 174 Views

DOWNLOAD

REPORT


bstract. Building agents for a scenario such as the RoboCup simulation league requires not only methodologies for implementing high-level complex behavior, but also the careful and efficient programming of low-level facilities like ball interception. With this hypothesis in mind, the development of RoboLog Koblenz has been continued. As before, the focus is laid on the declarativity of the approach. This means, agents are implemented in a logic- and rule-based manner in the high-level and flexible logic programming language Prolog. Logic is used as a control language for deciding how an agent should behave in a situation where there possibly is more than one choice. In order to describe the more procedural aspects of the agent’s behavior, we employ state machines, which are represented by statecharts. Because of this, the script language for modeling multi-agent behavior in [8] has been revised, such that we are now able to specify plans with iterative parts and also reactive behavior, which is triggered by external events. In summary, multi-agent behavior can be described in a script language, where procedural aspects are specified by statecharts and declarative aspects by logical rules (in decision trees). Multi-agent scripts are implemented in Prolog. The RoboLog kernel is written in C++ and makes now use of the low-level skills of the CMUnited-99 simulator team.

1 Introduction and Overview The RoboLog Koblenz system is based on a multi-layered architecture, as introduced in [8]. In the following, we will consider each layer in some detail and explain its (revised) functionality. Several aspects of some layers will be further elaborated in the subsequent sections. A picture of the overall architecture is given in Figure 1. The team that participated in the RoboCup-99 and its theoretical background are described in [5, 8]. See also the team description RoboLog Koblenz 2000 in this volume. 1.1 A Layered Architecture The RoboLog system allows us to program complex actions and cooperation. This is settled in the higher layers of our system architecture (look at Figure 1). For this, a script language has been developed, which is expressible enough to specify plans explicitly, where several agents may work in parallel, trying to achieve one goal together in collaboration. However, one problem with this approach was, that agents may have P. Stone, T. Balch, and G. Kraetzschmar (Eds.): RoboCup 2000, LNAI 2019, pp. 199-208, 2001. c Springer-Verlag Berlin Heidelberg 2001

200

Jan Murray et al.

Implementation

Design/Specification

Cooperation UML-Statecharts Complex Actions Qualitative Spatial Reasoning

Logic

Prolog

RoboLog

Soccer Server

C++ Fig. 1. Overall Architecture of the RoboLog system.

difficulties in reacting to external events or when parts of the intended plan fail. Therefore, we revised the script language and the execution model, such that we can now deal with such events by employing state machines. See Sections 2 and 3. Logic programming enables us to program specific behaviors and strategies for Rob