<!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>Coloured Petri Net Plans for cooperative multi-robot systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lorenzo Steccanella</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessandro Farinelli</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luca Iocchi</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniele Nardi</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>: Dipartimento di Informatica, Universita degli studi di Verona</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>: Dipartimento di Ingegneria informatica automatica e gestionale, Sapienza Universita di Roma</institution>
        </aff>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>During last years the eld of Multi-Robot Systems (MRS) has developed
signi cantly growing in size and importance. There exist numerous areas where
multi-robot systems have been used successfully and, in the majority of them,
MRS must execute complex tasks in environments that are dynamic and
unpredictable. This has led to the problem of synthesis and monitoring of complex
plans that can provide high level commands to the system allowing the
speci cation of parallel actions, interruptions of task in execution, synchronization
between robots, and so forth.</p>
      <p>
        Petri Nets (PN) [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ] have recently emerged as a promising approach for
modeling either single-robot or multi-robot plans. This approach provides a clear
graphical representation for modeling and developing systems which are
concurrent, distributed, asynchronous, non-deterministic and/or stochastic.
One of the issues of the approaches that uses Petri Nets is the space complexity
associated to the speci cation of the plans, which can become very large (i.e.,
with many graphical elements), especially in the case of multi-robot systems.
      </p>
      <p>
        In this work, we analyse the use of Coloured Petri Net (CPN) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for the
creation and validation of multi-robot systems. More speci cally, we describe a
formalism for representing multi-robot plan by using CPN and an algorithm to
translate the CPN plan in a Petri Net Plan (PNP) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>PNP is a plan speci cation language based on Petri Nets that has been widely
used for several robotics applications ranging from robotic soccer to search and
rescue and service robotics1. PNP are based on PNs and the support for
multirobot plans is obtained by specifying the name of the robot or of the role within
the description of each action. This features allows for easy implementation of
centralized and distributed plans, but it is suitable for situations where the
number of robots/roles is limited.</p>
      <p>
        CPNs di er from PNs in one signi cant respect; tokens can be of di erent
types which are usually called colours. Hence, places in CPN can contain a
multi-set of coloured tokens and the ring rules associated to transitions depend
on such colours. As a consequence, Coloured Petri Nets are equivalent to Petri
Nets with respect to descriptive power [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] but provide a more compact plan
speci cation and are particularly well suited for multi-robot plans [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The use
of CPN for modelling multi-robot plans has the advantage of using coloured
tokens to represent di erent robots/roles and thus of improving its scalability.
1 pnp.dis.uniroma1.it
      </p>
    </sec>
    <sec id="sec-2">
      <title>Methodology</title>
      <p>
        The general idea behind our methodology is described in Figure 1. We start
by designing the multi-robot plan by using Coloured Petri Nets, we then translate
the Coloured Petri Net Plan in a Petri Net Plan and we execute the plan within
the Petri Net Framework [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
      </p>
      <p>Our work is based on two main ingredients: rst, we elaborate a speci c CPN
formalism that can be translated to executable plans for the PNP framework.
Second, we provide an algorithm for the automatic conversion of a such CPN
plans in PNP plans. Speci cally, in our CPN plan we have three basic elements
that compose a multi-robot plan:
i) Action: An action represents an operation that the robots should execute in
the world (e.g., explore a given region of the environment). Following the PNP
framework an action can be preceded by a start transition, that de nes the
preconditions for executing the action. We then have an execution place that
represents the fact that the action is being executed and nally an end transition
that follows the execution place and res whenever the end conditions for the
actions are true (see Figure 2). However, in contrast to PNP the execution place
associated to an action can contain a multi-set of coloured tokens, indicating
that a set of robots are executing the action in parallel.
ii) Operator: An operator is a place used for the control of the behavior of the
net, that is not related to any action in the real word. For example, Figure 3
shows the use of an operator to connect the end and start transitions of Action
1 and Action 2 respectively. Notice that, the translation of the operator in the
PNP framework de nes di erent behaviors and depends on modi ers that we
can de ne on the transitions. For example, the SYNC modi er (speci ed in the
end transition associated to Action 1) results in a PNP plan that synchronizes
the parallel actions of all robots (i.e., no robot will start Action 2 until all
robots have completed Action 1). Our formalism allows to handle in a similar
way other important constructs such as team level or individual level interrupts,
i.e., interrupts that change the behaviors of the whole team or of a single robot
respectively.
iii) Resources: A resource is a coloured token that can represent a robot or a set
of robots. This element determines which robots should execute the actions.</p>
      <p>The combination of the above elements allows to design complex multi-robot
plan. In particular, thanks to the use of coloured token, we can achieve a
signifAction:exec</p>
      <p>Action:end
FORK</p>
      <p>R1#Action:start R1#Action:exec R1#Action:end
R2#Action:start R2#Action:exec R2#Action:end
R3#Action:start R3#Action:exec R3#Action:end</p>
      <p>R4#Action:start R4#Action:exec R4#Action:end
icant reduction in terms of space, essentially because we can represent parallel
actions executed by n robots with a single place that contains n tokens. This
is crucial as it signi cantly eases the design and monitoring tasks for the
human operators. Moreover, notice that we can maintain the identity of the robots
executing the action: for example, an explore action (represented with a single
place in the CPN) could be executed in di erent ways depending on whether
the di erent coloured tokens represent UGVs or AGVs.</p>
      <p>Action1:exec
1'R1, 1'R2
1'R3</p>
      <p>Action1:endSY NC</p>
      <p>Action2:exec
1'R1, 1'R2
1'R3
1'R1, 1'R2
1'R3
1'R1, 1'R2 1'R3</p>
      <p>Action2:start
R1#Action1:end</p>
      <p>JOIN</p>
      <p>FORK</p>
      <p>R1#Action2:start
R1#Action1:exec
R2#Action1:exec
R3#Action1:exec</p>
      <p>R2#Action1:end
R3#Action1:end</p>
      <p>R2#Action2:start
R3#Action2:start</p>
      <p>R1#Action2:exec
R2#Action2:exec
R3#Action2:exec</p>
      <p>
        There are several free available softwares that allows the design and the
analysis of Coloured Petri Net, here we used the "CPN tools" [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Thanks to
this software we can design CPN plan in an easy and quick way, and allows to
save them in the PNML format, a special well structured XML speci c for Petri
nets.
      </p>
      <p>A key point of this work is that the compilation of a CPN plan to an
executable PNP plan is automatic, and we provide an algorithm (not reported here
in the interest of space) to realize such conversion.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Results</title>
      <p>The proposed system has been evaluated using the Stageros simulator. In
particular, we consider three di erent use cases related to the collaborative exploration
of an indoor area. The evaluation con rms the e cacy of the system in terms of
space reduction and ease in the design of the plan.</p>
      <p>A video of the execution of one of these use cases is available at:https://youtu.
be/9e9x87FCjiY. This video is a proof of concept for a cooperative exploration
scenario, where a team of two heterogeneous robots should explore a pre-speci ed
area. We have two teams, composed by two green and two blue robots
respectively, and we want only one team (i.e., the closest one) to perform the
exploration. The rst part of the video shows the translation of the CPN to PNP,
notice that each robot has been represented as a single token so to control each
one of them (e.g., for possible single robot interrupts). We have a decision
making point at the beginning of the mission, where the plan evaluates the distance
of the two team members from the target area (the room in the top left) so to
choose which team will perform the explore action (i.e., the team that minimizes
the sum of travel distance). In our case this is the blue team. During the
exploration, one of the two robots detects a low battery state, hence the current
mission is interrupted and this robot goes to a recharge base (red area). Then
both robots move to the home position, and since the original speci cation of
the CPN was to synchronize the end of the mission, only when both robots are
back to the home position the mission is over (i.e., tokens enter the goal state).
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>In this work we propose a compact and e ective representation of multi-robot
plans by using Coloured Petri Nets; such a representation is comprehensive,
easily readable by humans, has minimum space requirements, and is suitable for
real time execution. Experimental evaluation of the considered use cases suggests
that our approach is indeed capable of automatically generating executable PNP
plans from a CPN description, handling interesting cases such as for example
parallel action execution, as well as team level and individual interrupts.
Our work opens several scenarios for future improvements. Speci cally, an
interesting direction would be to work towards an on-line translator for multi-robot
CPN plans hence converting parts of the CPN as the execution progress so to
avoid a static conversion of the whole plan. Moreover, while in our work the
evaluation is based on a standard and widely used robotic simulation environment,
an empirical evaluation with robotic platforms is important to precisely assess
the impact of our methodology.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Murata</surname>
          </string-name>
          , Tadao.
          <article-title>"Petri nets: Properties, analysis and applications</article-title>
          .
          <source>" Proceedings of the IEEE 77.4</source>
          (
          <year>1989</year>
          ):
          <fpage>541</fpage>
          -
          <lpage>580</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Petri</surname>
          </string-name>
          .
          <article-title>Communication with automata</article-title>
          .
          <source>PhD thesis</source>
          , Rome Air Development Center,Rome, NY,
          <year>1966</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Jensen</surname>
          </string-name>
          , Kurt.
          <source>Coloured Petri nets: basic concepts</source>
          ,
          <source>analysis methods and practical use</source>
          .
          <source>Vol. 1</source>
          . Springer Science &amp; Business
          <string-name>
            <surname>Media</surname>
          </string-name>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ziparo</surname>
            , Vittorio Amos, and
            <given-names>Luca</given-names>
          </string-name>
          <string-name>
            <surname>Iocchi</surname>
          </string-name>
          .
          <article-title>"Petri net plans</article-title>
          .
          <source>" Proceedings of Fourth International Workshop on Modelling of Objects</source>
          , Components, and
          <source>Agents (MOCA)</source>
          .
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Anne</given-names>
            <surname>Vinter</surname>
          </string-name>
          <string-name>
            <surname>Ratzer</surname>
          </string-name>
          , Lisa Wells, Henry Michael Lassen, Mads Laursen, Jacob Frank Qvortrup, Martin Stig Stissing, Michael Westergaard, Sren Christensen, and
          <string-name>
            <given-names>Kurt</given-names>
            <surname>Jensen</surname>
          </string-name>
          .
          <year>2003</year>
          .
          <article-title>CPN tools for editing, simulating, and analysing coloured Petri nets</article-title>
          .
          <source>In Proceedings of the 24th international conference on Applications and theory of Petri nets (ICATPN'03)</source>
          ,
          <string-name>
            <surname>Wil M. P. Van Der Aalst</surname>
          </string-name>
          and Eike Best (Eds.).
          <source>SpringerVerlag</source>
          , Berlin, Heidelberg,
          <fpage>450</fpage>
          -
          <lpage>462</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Marciano</surname>
          </string-name>
          , Limor. CPNP:
          <article-title>Colored Petri Net Represention of Single-Robot and Multi-Robot Plans</article-title>
          . Diss. Department of Computer Science, Bar-Ilan University Ramat Gan, Israel,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Jensen</surname>
          </string-name>
          , Kurt.
          <article-title>"A method to compare the descriptive power of di erent types of Petrinets."</article-title>
          <source>International Symposium on Mathematical Foundations of Computer Science</source>
          . Springer Berlin Heidelberg,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>