<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Multi-agent Autonomous Group Control in Collective Robotics-Based Assembly</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vladimir Gorodetsky</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>St. Petersburg State Electro-Technical University (LETI) after V.I. Ulyanov (Lenin)</institution>
          ,
          <addr-line>Saint-Petersburg</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <abstract>
        <p>The paper scope is autonomous operational group control over the assembly of a complex product in manufacturing performed by a team of interacting autonomous robots. Its contribution is agent-based model of robots' individual behavior formalized in terms of finite state machines with internal states and distributed self-organizing algorithm (protocol) coordinating in peer-to-peer mode goal-oriented collective behavior of robots' assembly team operating without any external intervention. An example illustrates the paper contribution.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>(MAS), constituting the network of interacting autonomous agents. The formal specification
of MAS architecture is given in terms of network of state machines exchanging messages in
order to coordinate the agents’ individual behaviors in distributed fashion.</p>
      <p>Thus, the paper objective is to present the developed solutions comprising the
state-machinebased formal models of agents and distributed algorithm (protocol) implementing coordination
of individual robots’ behaviors according to the particular scenario implementing the
goaloriented group behavior.</p>
      <p>In the rest of the paper, section 2 reminds the basic properties of autonomous agents and
MAS that are of great importance for the control model of group behavior. Section 3 describes
the contents and senses of the basic concepts of group behavior model built in the paper.
Section 4 introduces the developed architecture of MAS comprising the models of the individual
behaviors of assembly robots, the structure of information environment, in which they operate,
and their interactions implementing the distributed coordination of individual robots’
behaviors to achieve the group goal. This section specifies the roles and functionalities of agents’
classes introduced too. Section 5 specifies the formal models of agents’ individual behaviors in
terms of interacting state machines with internal states and distributed algorithm (protocol) of
self-organizing coordination of agents’ individual behaviors implementing the group control.
Section 6 outlines an example illustrating the basic components of the proposed MAS-model
and basic ides of autonomous group control of robots’ individual behaviors coordinated in
distributed self-organizing fashion according to the group behavior scenario. Section 7 outlines
related works. Conclusion summarizes the paper contribution and outlines the perspective of
the future research in the context of the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Key Properties of Autonomous Agents and MAS</title>
      <p>Software agent is an autonomous software program (system) that exhibits a goal-directed
proactive behavior in dynamic unpredictable environment without external intervention. Its basic
properties are autonomy, the capability to exhibit persistent goal-directed behavior and control
own internal states. Let us explain these properties.</p>
      <p>
        Autonomy is the ability of agent to preserve persistent goal-oriented behavior in dynamic
environment without external intervention, e.g. without intervention of a user. In other words,
when autonomous agent finds out in a new situation inspired e.g. by dynamics of environment
it is nevertheless is capable to compute new behavior resulting in achievement of the same goal.
Other, more practice-oriented definition was given in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]: ”Autonomy is the ability for an agent
to solve local and individual problems using its own memory and ability to decide what to do
next in accordance with what kind of information it perceives”.
      </p>
      <p>
        The ability of agent to exhibit a proactive behavior means that the agent, to make a decision,
takes into account not only information perceived from the external environment, but also
prehistory of the external environment states and history of its own behavior reflected somehow
in its current internal state. For instance, the agent can generate events and send messages
to other agents of MAS even if it gets no input information. These proactive messages can be
inspired, e.g., by disruption of a timeout measured by the agent itself. It is worth to note that
proactivity is the main distinctive feature of an autonomous agent in contrast with an object,
as the latter is understood in Object-Oriented Programming (OOP) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>Multi-agent system (MAS) is a network of weakly coupled software agents solving
particular problems, situated in common environment, and interacting with each other to cooperate
and/or to coordinate their behavior in order to achieve their common goal or their own
particular ones.</p>
      <p>Interaction is the third key feature of a software agent in MAS, in addition to autonomy and
proactivity. Interactivity is the agents’ ability to influence each other in a way and exactly the
latter determines the sense of the term “weakly-coupled”.</p>
      <p>
        “From interaction and autonomy comes . . . emergence, i.e. the ability to produce new results
and solve complex problems as a side efect of all the particular actions that agents perform
through their coordination of action with other agents.” [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Thus, the emergence is one more
feature of MAS that one has to take into account in agent-based group behavior modeling, and
the emergence is the basis of self-organization.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. The Fundamental Concepts of Group Behavior Modeling</title>
      <p>Although the group control-related researches have more than thirty years history, this
problem still has no semantically consistent conceptual basis adopted by all. However, the existence
of such basis is highly needed from diferent points of views and the first of them, among
others, is specificities of the many modern applications. Indeed, as a rule, these applications
comprises formidable number of distributed heterogeneous components operating in cross-domain
semantic space and, therefore, to coordinate their individual behaviors towards the common
goal through message exchange, they need shared ontology-based conceptual basis.</p>
      <p>
        In this respect, [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] proposed various versions of ontology models for
group behavior and group control problem as applied to the collective robotics. However, [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] proposed the ontologies dealing with, to a greater degree, concepts peculiar to
individual robots’ behavior, whereas [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] proposed some variants of domain-oriented
conceptual bases.
      </p>
      <p>Although the development of ontology for group control problem is not the subject of the
paper too, it is necessary to refine what the concepts used in the paper mean. These refinements
are given below.</p>
      <p>Group is two or more autonomous entities (physical, social or virtual) depending on each
other in some context, e.g. they participate in solution of shared task, they compete for shared
resources, etc.</p>
      <p>Individual goal of an autonomous entity (e.g., robot) in a group behavior scenario is a set or
a sequence of states the entity has to achieve according to its commitment in this scenario.</p>
      <p>Individual behavior of an autonomous entity (robot, for instance) is a sequence of tasks it
has to solve as a member of the group according to its commitments.</p>
      <p>Group goal is a structured set of states that the group has to achieve, and, at that, any
individual goal of a group member is a component of the group goal tree, and, thus, it is a mandatory
part of the common goal of the group as a whole.</p>
      <p>Group behavior is a structured set of individual behaviors of the autonomous entities (robots)
of the group coordinated to achieve the group goal.</p>
      <p>Group control is a set of particular tasks designed to control over the individual behaviors
and individual goals of the group members intended to achieve the group goal.</p>
      <p>Team is a group of autonomous entities (robots), which individual goals and behaviors fully
subjected to the achievement of the common group goal.</p>
      <p>Autonomous control over group behavior is an option of the group control if the group goal
and, perhaps, operation scenario designed to achieve it is designated by an external entity,
whereas allocation of the scenario tasks over the group members (robots) and real-time control
of the scenario execution is solved by the means of the group itself.</p>
      <p>Scenario of actions is a partially ordered set of actions the group has to perform in order to
achieve the group goal.</p>
      <p>Scenario of a group behavior is a scenario of actions together with the autonomous entities
(robots) allocated to perform these actions.</p>
      <p>Group commitments of a group member is the list of the tasks it has (intends) to perform
according to the scenario of the group behavior.</p>
      <p>Group conventions of a group member is the list of conditions determining when all the group
members have to break their commitments.</p>
      <p>
        Joint Intention Protocol [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is an auxiliary distributed algorithm the group members have to
implement before starting the group behavior. This protocol is applied to get and to check the
confirmations from all the group members that they are informed about and intend to fully
implement their commitments and conventions as a part of the scenario of group behavior, i.e.
      </p>
      <sec id="sec-3-1">
        <title>1. to follow the allocated commitments, and</title>
        <p>2. to break the scenario performance if at least one condition of the conventions is met and
to undertake the steps to inform the group members about this fact.</p>
        <p>Individual commitments and conventions is a part of group commitments and group
conventions allocated to the particular group member.</p>
        <p>Situation is a dynamic characteristic of a system representing what was and is going in it
projected for the future [10], [11], [12].</p>
        <p>Situational awareness of a group member is its state of awareness in which it holds the
sufifcient volume of information to perform own group commitments and conventions according
to the scenario of a group behavior and to synchronize and coordinate own individual behavior
accordingly [13]. Most of the aforementioned concepts are illustrated by examples below.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Scenario of Actions, Scenario of Group Behavior, Situation,</title>
    </sec>
    <sec id="sec-5">
      <title>Expanded Scenario Graph</title>
      <sec id="sec-5-1">
        <title>Group control task comprises two typical subtasks:</title>
        <p>1. Allocation of the structured set of scenario actions implementing goal-oriented behavior
of the group constrained by the robots abilities (“action planning”), and
2. Operational management (control) intended to coordinate and synchronize the group
behavior and mitigate the scenario performance deviations.</p>
        <p>The first subtask is domain-oriented. It has many statements constituting a specific planning
problem group control. However, this task is out of the paper scope. In the illustration example
(section 7), one of such planning algorithm of heuristic nature is implemented. In contrast, the
second task is domain independent and it is one of the two main paper subjects.</p>
        <p>Figure 1 illustrates graphically an example of a scenario of actions to be performed by a robot
team. This scenario represents a partially ordered set of particular actions specified formally
as given below:</p>
        <p>AX = {X , &gt;} = {X , {( 4 &gt;  1), ( 3 &gt;  1), ( 3 &gt;  2), ( 5 &gt;  2), ( 6 &gt;  2), ( 7 &gt;  4),
( 8 &gt;  3), ( 9 &gt;  3), ( 10 &gt;  5), ( 10 &gt;  6), ( 12 &gt;  9), ( 11 &gt;  10), ( 12 &gt;  11)}}
(1)</p>
        <p>In its graph-based representation, nodes represent the scenario actions and arrows – partial
order relations, at that the destination node of an arrow indicates the immediately later action
for its source node. In fact, action scenario is a knowledge structure specifying the set of actions
and their ordering.</p>
        <p>This graph represents the whole scenario of actions, i.e. the state of its execution at the start
time. In progress of the scenario performance at the time instant t, all the scenario actions can
be factorized into the subsets of three categories:
• accomplished actions, denote this subset as  (&lt;  );
• actions in progress, denote this subset as  ( );
• still not started actions, denote the corresponding subset as  (&gt;  ).</p>
      </sec>
      <sec id="sec-5-2">
        <title>An example of such partition is given in Figure 1.</title>
        <p>This partition provides valuable information used for operational control over the scenario
action performance. However, the scenario action graph does not represent this information
and, thus, it is unable to represent the state of the action scenario performance at arbitrary time
moment t, in particular, to represent real-time dynamics of the partition introduced in Figure
1. To specify formally this information, let us define a data structure called expanded scenario
graph (ESG) in the way described below.</p>
        <p>For each node (action)</p>
        <p>of the scenario graph, we introduce a new node denoted  
immediately follows   . In this structure, function of the node   is to represent the Status of the
immediately Preceding Action (SPA) and make this information available to all its immediately
that
successive nodes (actions), in the scenario. Thus, the set of “fired”  
between the subset of completed actions  (&lt;  ) and the other ones. Additionally, the expanded
scenario graph definitely determines the sunset of actions that are ready for performance. The
indicates the boundary
new nodes inserted into the action scenario graph in this way are called below SPA-nodes, for
short.</p>
        <p>As usual, let us also introduce, in the scenario action graph, two fictitious nodes:
• starting node   preceding all the scenario action graph nodes with no input edges,
• final node</p>
        <p>following all the scenario action graph nodes that have no followers.</p>
        <p>The starting node   is also assigned the SPA-node  
following the former. Figure 2 explains
how ESG is built. Figure 3 presents the expanded scenario graph built via transformation of
the action scenario (Figure 1) according to the rules shown in Figure 2.
b) initial fictitious node   ; c) final fictitious node   .</p>
        <p>
          An important concept of the group control is situation outlined in section 3. This concept
has been introduced in [10], [11], [12] as applied to group behavior systems; its role in a group
behavior ontology has been summarized in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. According to its definition, the situation is
specified in terms of the states of the objects comprising the system and what is more important
in terms of relations between the system objects:
where   ∣ =1
        </p>
        <p>objects.
scenario graph, for application in question),   ∣ =1

S =&lt; {  ∣ =1}, {  ∣ =1},  ∈ [ 0,   ] &gt;,


(2)
is the set of states of the system objects (e.g. robots and nodes of the expanded
is the set of relations given over the system</p>
        <p>One can assess a situation from multiple viewpoints, and these assessments are usually
measured in qualitative scales using various classifications (factorizations) of the situation set that
can happen in the system. For example, from the status of goal achievement viewpoint, the set
of situations can be factorized in four subsets: {goal is achievable, unachievable, is achieved,
irrelevant}. E.g. for the product assembly, goal is unachievable if there is no robot with a required
capability. The goal is rrelevant if the assembly process is broken according to the outside event,
for instance. One more example of situation assessment point of view is its performance that
can take values from the following set of situation classes: {normal, exceptional, emergent}.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>5. Multi-agent Architecture and Self organizing Group Control</title>
      <p>The developed MAS-architecture of autonomous control of teamwork of robots performing
assembly of a complex product contains the agents of various classes.</p>
      <p>
        Agent of robot is the software agent class mapped to every assembly robot participating in the
group assembly process. Its functionality is to control over the robot individual behavior
according to its particular commitments and shared conventions and to coordinate this behavior
with individual behaviors of other robots allocated their own commitments and conventions
according to the Joint Intention Protocol too [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>Two classes of agents are introduced to support for the distributed situational awareness of
particular robots needed to coordinate their individual behavior according to the online state
of the performance of the action scenario. These agent classes are assigned to the nodes of the
ESG-data structure (see an example in Figure 3) to represent real-time evolution of the latter.
The first of these two agent classes is Action agent class and the second one is SPA-agent class
with the instances assigned to every node of the ESG-data structure. In the software agent
world, the instances of these agent classes represent the online statuses of Action-nodes and
SPA-nodes of ESG, respectively.</p>
      <p>An additional auxiliary agent role that can be assigned either to any other agent instance
or to a specific software agent instance is the role of Leader. Its functionalities are on-line
system behavior monitoring and initiating some group activities of robots, e.g. re-planning if
the group behavior deviations is significant and needs corrections.</p>
      <p>Thus, the proposed MAS-architecture of real-time distributed control system of a robot team
performing autonomous assembly of a product is represented in terms of a network of
interacting autonomous software agents. In this network of agents, the assembly robots are active
entities playing the role of efectors whereas Action agent and SPA-agent instances produce
online information required to support situational awareness of the active entities about on-line
state of the action scenario performance.</p>
      <p>Implementation of the distributed situational awareness (see Section 2) of robots is the first
class task, for coordination of the robot individual behaviors. It is implemented through the
following agent information exchange strategy:
1. Instance of Agent of action   monitors the states of its predecessors in the expanded
scenario graph to detect the fact that all its predecessors have been transited from the
set of action in progress  ( ) into the accomplished action set  (&lt;  ) (Figure 1).
2. Instance of Agent of action   “knows” allocated robot and sends message to it when the
aforementioned event is detected.
3. Instance of Agent of robot   allocated to perform the action   has the latter in its ordered
list of commitments, and when it has accomplished the previous action of this list it
becomes ready to perform action   . Next, either robot   waits readiness message from
Agent of action   or the latter is waiting for the release of robot   .</p>
      <p>This information exchange supports for situational awareness of robots required to them
to coordinate their individual behaviors according to the action scenario and robots’
commitments. The main advantage of this strategy is that situational awareness is achieved on the
basis of local interactions of agents of robots, from the one side, and agents of actions, from
the other one thus implementing on-line self-organizing control.</p>
    </sec>
    <sec id="sec-7">
      <title>6. Formal Model of Coordination of Robot Group Behavior</title>
      <p>To specify the agents’ individual behaviors, the formal framework of Finite State Machines
(FSM) with internal states is selected.</p>
      <p>The instances of Agent of robot class are specified as FSM with one attribute of internal state
(Figure 4):
• Operational status of robot - it is also two-value attribute taking value from the set
{available, not available}.</p>
      <p>The instances of the Agent of SPA-node class (e.g.,   -node in Figure 3) are formalized in
terms of FSM having single attribute Status of preceding action   taking value from the set
{accomplished, not accomplished} depending on the status of   (Figure 4).</p>
      <p>The instances of Agent of action   class are formalized in terms of FSM having two attributes
of internal state (Figure 4):
• Status of precondition of Action   taking value from two-value set {satisfied, not satisfied
it takes the first value if all the action preceding   are accomplished;
};
• Status of Action   taking value from the set {not started, in progress, accomplished}.</p>
      <p>An example of MAS-architecture of group control system for autonomous robotic
assembly process is depicted in Figure 4, where the formal models of individual behaviors of locally
interacting agents are presented too. Let us emphasize that, in this architecture, local
interactions of agents are restricted inside a group of agents comprising Agent of action   , Agents of
its immediately preceding and immediately successive SPA–nodes and Agent of robot   that is
responsible to perform the action   , according to the robot commitments. Figure 4 explicitly
shows that the data structure representing ESG of the action scenario can be interpreted as
a blackboard supplying the robots with the information needed them to coordinate scenario
action performance, i.e. to provide for situational awareness.</p>
      <p>Coordination and synchronization of the aforementioned local group of agents’ behaviors
is fulfilled according to the Group control protocol depicted as UML-like sequence diagram in
Figure 5. Let us explain the message exchange assumed in it.</p>
      <p>The protocol is initiated by the Agent of robot   responsible for performance of the action  
, according to its commitments. The protocol participants are Agent of action   and Agent of
SPA-node   immediately following the action   . After accomplishment of the previous
activity of own commitments, the Agent of robot   having the operational status available reads its
next action to perform from the ordered list of its commitments and sends the proactive
message to the Agent of the next action   it has to perform querying the status of its precondition.</p>
      <p>If this precondition status value is satisfied then the Agent of action   sends confirmation
message to the robot   and the latter begin to perform the assembly action   while informing
the Agent of action   by the corresponding message. When the Agent of action   has the latter
message received the value of the attribute of its internal state Status of action transits from the
value not started to in progress.</p>
      <p>If the action   is not ready yet for performance (in this case, the precondition of Agent of this
action is assigned the status value not satisfied ) Agent of robot   is waiting for the message from
Agent of action   confirming its readiness and starts to perform it when has got it. When the
robot   has the action   accomplished it sends the message with the corresponding contents
to the Agent of action   and the latter change the value of its attribute Status of action from
in progress to accomplished. Afterwards, it sends the message to the own immediate follower
that is the Agent of SPA-node   to inform it about action accomplishment to let it change its
internal state accordingly.</p>
      <p>In the sequence diagram depicted in Figure 5, a message from theAgent of action   to the
Agent of leader is shown too, see the dotted arrow on the left-hand side. Agent of action  
sends this message in case, if the time left from the start of the action   performance exceeds
a predefined threshold value. In fact, this message informs the Agent of leader about exceptional
situation that can be caused by fault of robot   , for instance. It is worth to emphasize here that
this message demonstrates an example of proactive behavior of autonomous agent specified in
terms of FMS with internal state.</p>
      <p>Let us remind that two tables usually specify the formal model of FSM. The first one is
Transition table of the FSM representing transitions of its internal states depending on input messages
(events) and Table on output messages generated by FSM in response to the same input
messages. These tables are fully developed for all classed of agents performing the aforementioned
protocol. They are not shown due to deficiency of the paper space.</p>
    </sec>
    <sec id="sec-8">
      <title>7. Demonstrational Example</title>
      <p>Let us assume a particular assembly case for three robots { 1,  2,  3} to perform assembly
process of a product comprising 5 types of assembly units  = { 1,  2,  3,  4,  5}, at that the
assembly process includes 12 assembly operations  = { 1,  2, . . . ,  12}. In each assembly
operation, a unit of a specific type out of the set { 1,  2,  3,  4,  5} is used. Each robot can
operate with a limited types of assembly units and their capabilities are presented by three subsets
of admissible operations  ( 1) = { 1,  3,  4},  ( 2) = { 2,  3,  5}, and  ( 3) = { 1,  2,  5}
for robots  1,  2, and  3, respectively. The mapping of assembly unit types to the particular
type of assembly operation is given in Table 1. Let us also assume that the assembly units are
located in three “baskets” and each robot can access only to its own basket.</p>
      <p>Let the set of assembly operations X be partially ordered as depicted for the action scenario
in Figure 1 and formally this partial order is specified by the equality (1). Accordingly, Figure
3 presents the expanded scenario graph of the action scenario.</p>
      <p>Let us remind that, usually, autonomous group control task includes two subtasks. The
ifrst of them is allocation of the robots over the actions of the scenario taking into account
their particular capabilities (planning task, for short) and scheduling of the assembly scenario
performance. The solution of this task is the set of pairs &lt;   ,   &gt; and time intervals of the
corresponding assembly action performances.</p>
      <p>The second subtask is real-time autonomous group control, i.e. distributed self-organizing
coordination of the robot assembly actions according to the group control protocol specified
in previous section (see Figure 5). In general case, other subtasks have to be solved too. An
example is the subtask if the robots can exchange assembly units in case the latter is absent in
their own baskets or send corresponding requests to the Agent of leader asking for the needed
assembly units.</p>
      <p>The approaches and algorithms intended to solve the first task form special topic in the
group control scope and they are out of the paper problems. However, in the numerical
example described below, a heuristic planning algorithm working well is used. The heuristic itself
determines the local policy on (1) how to select the next scenario action   ∈  (&gt;  ) to plan at
the forthcoming iteration step and (2) which robot, among admissible ones, according to their
capabilities and consistent with their current plans of workload, to allocate to the selected
action. The heuristic policy used is (i) to select the most labor-intensive and ready to perform
action situated on the critical path of the action scenario graph and (ii) to allocate the
admissible robot performing the selected assembly action for the shortest time interval. Let us note
that, if the number of assembly actions is too large, the Contract Net protocol standardized by
FIPA [14], or another type of auction protocol can be used, because this class of algorithms
demonstrate good quality of solution and computationally eficiency. For the numerical
example of this section, the solution computed based on the aforementioned heuristic planning
algorithm is depicted in Figure 6 in the form of Gant diagram.</p>
      <p>Let us describe the key properties of autonomous real-time control of individual robots’
behaviors intended to implement the goal-oriented group behavior scenario represented by
Gant diagram (Figure 6) allocating the responsible robot to each assembly action, and timeline
of operations, for each particular robot. Let us remind that each robot “knows” own sequence of
assigned assembly actions and timeline of their performance, according to their commitments.</p>
      <p>Real-time performance group control can manage two types of situations1:
(i) normal performance if group behavior follows the pre-designed order with low
deviations of times predefined by Gant diagram; in the situations of this type, the control task
is to coordinate and synchronize the robots’ individual behaviors according to the action
scenario and task allocation over the robots;
(ii) non-admissible deviations of real process of performance have occurred.</p>
      <p>In the (i)-th case, the agents of the network are operating according to their commitments
implementing the real-time group control protocol (Figure 5) as applied to every allocated
assembly operation to be performed in the given order. Every such assembly operation is
implemented through local interactions of autonomous Agent of responsible robots and related
Agents of actions and Agents of SPA – nodes (see Figures 4-6). While performing group control
protocol, the Agents of robots do not interact directly. Their interaction is indirect– through
change of external environment, e.g. through change of internal states of Agents of actions
thus indirectly informing the other related entities about accomplishment of this or that action.
Figure 6 shows that at a time instant, as a rule, several robots are operating in parallel. E.g.,
during the time interval (6, 19) all the three robots are operating concurrently in parallel.</p>
      <p>Let us note that Group Control Protocol depicted in Figure 5 implements a variant of
selforganizing group control algorithm based on indirect interactions of agents. This kind of
selforganization is known as stigmetry. It is a form of self-organization exemplified by many
bioinspired self-organization systems. It is also worth mention that, in the developed
architecture of self-organizing group control architecture, situational awareness can be also achieved
through direct access to the ESG data structure, which, in this case, plays the role of blackboard
data structure. The last variant can be preferable if the robots have stable connectivity with it.</p>
      <p>In (ii)-th situation, an agent allocated the role of Leader is responsible for (1) detection of
such situations, (2) revision of the robots’ allocations over the rest of the scenario actions   ∈
 (&gt;  ), (3) implement Joint intention protocol to renew the agents of robots commitments and
conventions and (4) initiate continuation of the group control activity according to the revisited
allocation.</p>
    </sec>
    <sec id="sec-9">
      <title>8. Brief analysis of Related Works</title>
      <p>The paper scope is multi-agent model and distributed algorithm for autonomous group control.
The theoretical basic of this research problem is being developed since the middle of 1980ℎ .
To the middle of 1990ℎ several theories of teamwork and control models over group behavior
and supporting software tools were developed. However, only two of them have constituted
the basis for subsequent approaches to and frameworks for the later theories, models and
software tools. They are Theory of Joint Intentions [15] and Theory of Shared Plans [16]. Both
theories have sound mathematical foundations; however, no one of them has serious software
implementations of deeper level than simple prototyping.</p>
      <p>1Exceptional and emergent situations as well as their real-time processing constitute an important scope of the
group control; however, these tasks are out of the paper objectives.</p>
      <p>Two models supported by well known software tools STEM/Teamcore [17] and RETSINA
[18] were being developed during that time. However, it was finally found out that both of them
possess very weak expressiveness and very low computational eficiency. Other frameworks
and models were proposed during that period of time too, e.g. COLLAGEN, GRATE, ADEPT,
COOL, etc., however there is no information in the literature about their practical use.</p>
      <p>Since 2000 and up to 2010, one can observe a kind of stagnation in the collective behavior and
group control research. This stagnation during the indicated time is explicitly indicated in the
recent publication of the well-known expert in the group control scope [19]. During that time,
no novel results were received because the researchers of diferent countries unsuccessfully
tried to adapt the aforementioned models and software tools in a practically implementable
technology.</p>
      <p>However, one can observe a definite increase of interest to these researches during the recent
decade both in Russia and abroad. This interest was inspired by novel trends in collective
robotics as applied to manufacturing, Internet of Things, digital economy of Industry 4.0, for
instance. This trend is emphasized in the recent overview [19] published in 2020.</p>
      <p>In Russia, such researches are conducted too, although not so actively as abroad. Perhaps,
the leading theoretical results in collective robotics are published in [20], [21], [22], [23], [24],
[25]. However, practically all of them are developing the ideas of swarm robotics that, in fact,
has another scope of practical implementation than behavior-based scenario models of group
control that is the subject of this paper. Exclusion is presented in [26], [27] proposed the
hierarchical scenario knowledge base for group control model. A specific feature of these works is
a more general problem statement assuming existence of an adversary counterparty in shared
environment and real-time knowledge-based online search for the best behavior pattern to
resist an adversary. However, in manufacture-oriented collective robotics no adversary exists.</p>
    </sec>
    <sec id="sec-10">
      <title>9. Conclusion</title>
      <p>The paper proposes a methodology, multi-agent architecture, state-machine-based formal model
for distributed self-organizing group control as applied to autonomous assembly process
implemented in a collective robotics scenario. This application problem is of the topmost importance
in the modern digital manufacturing.</p>
      <p>The main paper contributions are
• problem statement of the assembly process to be implemented by a group of autonomous
robots performing assembly scenarios without external interventions;
• conceptual and mathematical model of autonomous distributed group control specified
formally as a set of interacting state machines with internal states;
• multi-agent architecture of autonomous collective robotics-based manufacturing
assembly system;
• domain-independent distributed algorithm (protocol) implementing real-time self-organizing
group control of robot team operating according to a pre-designed assembly scenario.</p>
      <p>In fact, the developed Group control protocol is domain-independent and, thus, can be the
basis for many other classes of applications. One of such applications is group control of
unmanned agricultural machinery.</p>
      <p>Future works should be to investigate the particular features of the proposed group control
model and algorithm and their influence on control algorithm computational complexity and
scalability. Among these features, the priority will be done to (1) cardinality of the set of
assembly operations, (2) complexity of partial order relation given over this set, (3) complexity
of the assembly operations themselves, (4) cardinality of the set of assembly robot team, and
(5) distribution of robot capabilities over the robot team members.</p>
    </sec>
    <sec id="sec-11">
      <title>Acknowledgments</title>
      <p>The work is being supported by the Ministry of Education and Science of the Russian
Federation in the framework of contract agreement No. 075-15-2019-1691 – the unique ID number is
RFMEFI60419X0224.
[10] G. Lambert, Grand Challenges of Information Fusion, in: Proceedings of International</p>
      <p>Conference on Information Fusion (IF2003), Cairns, Australia, 2003, pp. 213–220.
[11] A. Steinberg, C. Bowman, F. White, Revisions to the JDL Data Fusion Model, in:
Proceedings of A1AA Missile Sciences Conference of Naval Postgraduate School, CA, 1998.
[12] Y. Fischer, On Situation Modeling and Recognition, in: Proceedings of the 2009 Joint
Workshop of Fraunhofer IOSB and Institute for Anthropomat-ics, Vision and Fusion
Laboratory, 2009, pp. 203–215.
[13] P. Salmon, N. Stanton, G. Walker, D. Jenkins, Distributed Situation Awareness: Theory,</p>
      <p>Measurement and Application to Teamwork, CRS Press, 2017.
[14] FIPA Contract Net Protocol Spec, http://www.fipa.org/specs/fipa00029/SC00029H.html,
2002. Accessed: 20.06.2020.
[15] P. Cohen, H. Levesque, Teamwork, Nous (1991) 487–512.
[16] B. Grosz, S. Kraus, Collaborative Plans for Complex Group Actions, Artificial Intelligence
86 (1996) 269–357.
[17] M. Tambe, Towards Flexible Teamwork, Journal of Artificial Intelligence Research (1997)
83–124.
[18] K. Sycara, M. Paolucci, M. Velsen, J. Giampapa, The RETSINA Multi-agent Infrastructure,</p>
      <p>Autonomous Agents and Multi-agent Systems 7 (2003) 29–48.
[19] K. Geihs, Engineering Challenges Ahead for Robot Teamwork in Dynamic Environments,</p>
      <p>Applied Sciences 10 (2020). Https://doi.org/10.3390/app10041368 (Accessed: 20.06.2020).
[20] V. Karpov, Collective behavior of robots. Desired and real. Modern Mechatronics, in:</p>
      <p>Proceedings of Russian Scientific School, 2011, pp. 35–51. (In Russian).
[21] V. Karpov, Models of Social Behavior in Group Robotics, Control of Complex Systems 59
(2016) 165–232. (In Russian).
[22] I. Kalyaev, A. Gaiduk, S. Kapustiyan, Models and Algorithms of Collective Behaviors in</p>
      <p>Groups of Robots, Phismatlit, Moscow, 2009. (In Russian).
[23] A. Kulinich, Teamwork model of agents (robots): Cognitive Approach, Control of
Complex Systems 51 (2014) 174–196. (In Russian).
[24] V. Pavlovsky, E. Kirikov, V. Pavlovsky, Modelling of Behavior of Big Group of Robots in
the Environment with Obstacles, in: Proceedings of the Conference "Control of network
– centric and multi-agent systems", St. Petersburg, Russia, 2010, pp. 10–13. (In Russian).
[25] V. Karpov, I. Karpova, A. Kulinich, Social Communities of Robots, in: Series "Science
about Artificial", volume 19, URSS, 2019. (In Russian).
[26] B. Fedunov, Intelligent agents in knowledge bases of on-board consulting expert
systems in typical situations of operation of human-centric objects, Transactions of Russian
Academy of Sciences. Control Theory and Systems 6 (2019) 90–102. (In Russian).
[27] B. Fedunov, On-board Intelligent Systems of Tactical Level for human-centric objects,
DeLibry Publishers, Moscow, 2018. (In Russian).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ferber</surname>
          </string-name>
          , Foreword, in: M.
          <string-name>
            <surname>Cossentino</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Hilaire</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Molesini</surname>
          </string-name>
          , V. Seidita (Eds.), Simulation, Modeling, and Programming for Autonomous Robots, Springer,
          <year>2014</year>
          , pp.
          <article-title>V-VI.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Odell</surname>
          </string-name>
          ,
          <article-title>Objects and agents compared</article-title>
          ,
          <source>Journal of Object Technology</source>
          <volume>1</volume>
          (
          <year>2002</year>
          )
          <fpage>41</fpage>
          -
          <lpage>53</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Martinet</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. Patin,</surname>
          </string-name>
          <article-title>PROTEUS: A platform to organize transfer inside French robotic community</article-title>
          ,
          <source>in: Proceedings of the 3rd National Conference on Control Architectures of Robots (CAR08)</source>
          , Bourges, France,
          <year>2008</year>
          . Https://pagesperso.ls2n.fr/ martinetp/publis/2008/CAR08bruno.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Lemaignan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Mösenlechner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Alami</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Beetz, ORO - a knowledge management platform for cognitive architectures in robotics</article-title>
          ,
          <source>in: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS2010)</source>
          , Taipei, Taiwan,
          <year>2010</year>
          , pp.
          <fpage>3548</fpage>
          -
          <lpage>3553</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Dhouib</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kchir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Stinckwich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ziadi</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Ziane, RobotML, a Domain-Specific Language to Design, Simulate and Deploy Robotic Applications</article-title>
          , in: I.
          <string-name>
            <surname>Noda</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Ando</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Brugali</surname>
            ,
            <given-names>J. J.</given-names>
          </string-name>
          <string-name>
            <surname>Kufner</surname>
          </string-name>
          (Eds.), Simulation, Modeling, and Programming for Autonomous Robots, volume
          <volume>7628</volume>
          , Springer,
          <year>2012</year>
          , pp.
          <fpage>149</fpage>
          -
          <lpage>160</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>V.</given-names>
            <surname>Gorodetsky</surname>
          </string-name>
          ,
          <string-name>
            <surname>V. S. V.V.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Trotskii</surname>
          </string-name>
          ,
          <article-title>The Reference Ontology of Collective Behavior of Autonomous Agents and Its Extensions</article-title>
          ,
          <source>Journal of Computer and Systems Sciences International</source>
          <volume>54</volume>
          (
          <year>2015</year>
          )
          <fpage>765</fpage>
          -
          <lpage>782</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Tenorth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Beetz</surname>
          </string-name>
          ,
          <article-title>Representations for robot knowledge in the KnowRob framework</article-title>
          ,
          <source>Artificial Intelligence</source>
          <volume>247</volume>
          (
          <year>2015</year>
          )
          <fpage>151</fpage>
          -
          <lpage>169</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bilbao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Martín-Wanton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bastos</surname>
          </string-name>
          , J. Rodriguez,
          <article-title>SWARMs ontology: a common information model for the cooperation of underwater robots</article-title>
          ,
          <source>Sensors</source>
          <volume>17</volume>
          (
          <year>2017</year>
          )
          <fpage>569</fpage>
          -
          <lpage>588</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>N.</given-names>
            <surname>Jennings</surname>
          </string-name>
          ,
          <article-title>Controlling Cooperative Problem Solving in Industrial Multi-Agent Systems Using Joint Intentions</article-title>
          ,
          <source>Artificial Intelligence</source>
          <volume>75</volume>
          (
          <year>1995</year>
          )
          <fpage>195</fpage>
          -
          <lpage>240</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>