Abstract
There are too many types of robotic soccer approaches at present. SjF TUKE Robotics, who won robot soccer world tournament for year 2010 in category MiroSot, is a team with multiagent system approach. They have one main agent (master) and five agent players, represented by robots. There is a point of view, in the article, for code programmer how to create new behavior strategies by creating a new code for master. There is a methodology how to prepare and create it following some rules.
Introduction
At present, there are multiple types of robotic soccer competition. One of them is MiroSot—its disposition of basic system elements is presented in Figure 1 (five vs. five). Robotic soccer is a very good opportunity to prove algorithms which are connected to group behavior of mobile robots. 1,2

Disposition of basic system elements.
Every team is distinctive and it reflects their approach to the production of individual software segments for controlling the whole system. A lot of teams are inclined to the method of planning the strategy of robots through independent agent. 3,4 Some teams use the fuzzy logic for their strategy planning during the game. 5 Team SjF TUKE Robotics has implemented a single agent into its system, which is responsible for planning the strategy of the game. This agent basically affects positions of individual players. The agent is, in fact, a superordinate agent-player and gives them orders.
Description of multiagent system solution of the team
As a solution to control a group of mobile robot players, the multiagent approach has been used. Every agent-robot is a synthesis of an elementary agent-player (brain of the agent—software interpretation of the agent) and a robot-player (body—the construction, electronic hardware, and software; Figure 2). In the course of development of the team, 12 elementary agent-players have been produced so far. Every elementary agent is assigned a partial task on the field, and by fulfilling the task it contributes to achieving the goal of the multiagent system.

Formation of agent-robot.
Agent MASTER is a software “module,” whose main task is to transform the main strategy chosen by user into strategic actions. For this purpose, it uses set of rules defined for each strategic action assigned to the basic strategy, which is chosen by the user. Based on the rules, the master uses exactly five elementary agent-players (there was a total of 12 elementary agent-players created), which are able to fulfill the goals for the specific strategic action. 6
Master is basically a type of software agent, which perceives the field through image recognition module and can affect future state on the field through elementary agents. By affecting positions and tasks of robot players, it is able to influence the course of the game dynamically.
All of these dynamic measurements in general relate to the materials transported and not to direct measuring objects handled by robot. At this type of measurement, it is necessary to carry out measurements within the movement or somewhere in the best period of the movement itself.
Elementary agent-players are software modules, which, after being assigned a robot, are capable of affecting the game and they try to solve the partial task assigned to them. In the course of development, 12 elementary agent-players have been created, which differ by: area of operation, planning and trajectory of movement, and behavior on the field in relation to position of opponents and ball.
By assigning robots to agent-players, complex agents are created, which are operating on the field and capable of affecting the game dynamically. As a consequence of conjunction of heuristic configuration and mentioned decision-making of strategic action, the agent master decides basic strategic positions of robots on the field. Set of all created elementary agents
For every strategy chosen by the user, a set of elementary agents being used is defined, which is a subset of all elementary agents
s_high—high-level strategy
St —set of created strategies (by a programmer).
Every high-level strategy represents one MASTER agent. For every strategic action based on the chosen strategy, a set of five elementary agents is created, which is a subset of the set of elementary agents for a given strategy.
s_mid—mid-level strategic action
Sa —set of strategic action, Sa = {total defense, defense, center-oriented game, offense, total offense}.
After deciding the strategic action and action defined for it, the master assigns a robot from the field to every elementary agent-player.
Aided by matching rules, agent master assigns one of the elementary agent-players to every ID on the field. That agent-player then makes decisions within its strategic position autonomously in cooperation with others. Every such agent is allowed to operate within the area of the field, which was assigned for it in the course of software development. Within its operational area, it controls its movement in such a way that collisions between robots are avoided and that it fulfills its elementary goal. 7
Method of creating MASTER agent for programmer
In the stage of s_high strategy development, first it is necessary to describe the system behavior and the selection of agents from the set AH. System behavior is described by setting the threshold overturn parameters and hystereses determining transitions between s_mid strategic actions and a set of elementary agents used for the created strategy. After setting the threshold parameters, a new set of elementary agents has been created
where n—number of strategy, n = 1, 2, … , quantity of all created strategies.
Subsequently, elementary agents pertained to each strategic action are chosen
where n is number of strategy and m is the number of strategy action, m = 1, 2, 3, 4, 5 (total defense, defense, center-oriented game, offense, total offense).
where a 1 is the agent with maximum priority, …, a 5 is agent with minimum priority.
Exactly one robot is assigned to each used elementary agent
There are five robots for each team on the field. Robots are given by a set of robots R
where IDn—robot which is pertained to agent an before assignment, n = 1, 2, 3, 4, 5.
Assigning robots to agents is executed through rules designed for s_mid strategic action. Rules were designed for every elementary agent an based on general key:
Master agent uses all of the mentioned parameters and rules as its database of knowledge, which it uses for decisions about the chosen strategic action and for assigning a function to the robots in the course of the game.
Method of creating the general strategy, following an assumption of using predefined elementary agents, consists of the following steps: Determining the type of strategy and defining preliminary behavior for individual types of strategic actions. Type of strategy is being determined based on the action being offensive or defensive. At this point, it is necessary to define approximate positions of players on the field for individual stages of the game, for example, if the team is near the opponent’s goal and has possession of the ball, then three robots are in the offensive and one is securing the center circle. Setting of overturn and their hystereses between strategic actions based on the type of general strategy. Definition of overturn thresholds between strategic actions may substantially affect strategic behavior of the system, based on the course of the game. If the thresholds are moved distinctly forward, then, even if the team should attack with three or four robots, resulting strategy will pass as defensive, since the offensive stage will rarely occur. Picking the set of elementary agents and their selection for each strategy in such a way, that exactly five agents are assigned to a single strategic action. It is necessary to strictly define which elementary agent is to exist in specific stages of the game. That strictly defines the strategy in strategy action based on step 1. Determining priority of assigning elementary agent-players for each strategic action. Priority of elementary agents is very important in terms of their correct assignment to the robots. For example, incorrect definition would result in swapping the goalkeeper and defender during opponent shot on goal or in swapping the forwards at the moment of receiving a pass what would result in losing the ball and subsequent opponent offensive. Modification of general key of assigning elementary agents to the robots based on the priority given by the strategic action. Transforming the general key based on priority so that the agent with maximum priority is on the top, and agent with minimum priority is on the bottom. The key also takes into account that the possibilities of swapping the agents for individual robots, that is, swapping the players’ positions is defined to prevent swapping the two farthest positions (e.g. direct swap between a goalkeeper and a forward never occurs). Designing the algorithm of assigning rules based on the key and its implementation in the body of master agent. Designing the algorithm of master agent module, which will determine the assigning agents to robots based on the key created in the step 5. Master agent module with deciding of choosing strategic action stays unaltered.
By this method, it is possible to create many strategies. In order to extend the possibilities of application, it is possible to modify some elementary agents, or create new ones and implement them to general strategy. 7
Figure 3 represents main window of the created software where, in the left (right) section, the user can choose the strategic agent by combining layouts of individual formations: defense, halfback, and offense.

Main window of the created software.
Conclusions
Aforementioned method enables programmers to fairly easily implement new strategies by creating a MASTER agent. This method was used to create multiple types of strategies, which were tested during the world championship 2009 in Korea, 2010 in India, 2011 in Taiwan, and in other exhibition tournaments all over the world. These strategies varied from entirely defensive (every robot was defending and at most one robot carried out the offensive) up to fully offensive (all robots, except the goalkeeper, were attacking). Up to the present time, 24 different types of strategy were created and tested. 8,9
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This article is the result of the Project implementation: University Science Park TECHNICOM for Innovation Applications Supported by Knowledge Technology, ITMS: 26220220182, supported by the Research & Development Operational Programme funded by the European Regional Development Fund.
