0% found this document useful (0 votes)
13 views

Collaboration Robots

This document discusses path planning for multi-type robot systems with time windows using timed colored Petri nets. It presents a model of a multi-type robot system and environment using a timed colored Petri net. It then develops methods to convert task requirements with logic constraints and time windows into linear constraints. Finally, it proposes a planning approach using integer linear programming to minimize the total travel distance while ensuring tasks are completed within given time windows.

Uploaded by

Mohaman Gonza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Collaboration Robots

This document discusses path planning for multi-type robot systems with time windows using timed colored Petri nets. It presents a model of a multi-type robot system and environment using a timed colored Petri net. It then develops methods to convert task requirements with logic constraints and time windows into linear constraints. Finally, it proposes a planning approach using integer linear programming to minimize the total travel distance while ensuring tasks are completed within given time windows.

Uploaded by

Mohaman Gonza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

applied

sciences
Article
Path Planning of Multi-Type Robot Systems with Time
Windows Based on Timed Colored Petri Nets
Zhou He 1 , Ruijie Zhang 2 , Ning Ran 3 and Chan Gu 1, *

1 School of Electrical and Control Engineering, Shaanxi Unversity of Science and Technology,
Xi’an 710021, China; [email protected]
2 College of Mechanical and Electrical Engineering, Shaanxi University of Science and Technology,
Xi’an 710021, China; [email protected]
3 College of Electronic and Information Engineering, Hebei University, Baoding 071002, China;
[email protected]
* Correspondence: [email protected]

Abstract: Mobile robots are extensively used to complete repetitive operations in industrial areas such
as intelligent transportation, logistics, and manufacturing systems. This paper addresses the path
planning problem of multi-type robot systems with time windows based on timed colored Petri nets.
The tasks to be completed are divided into three different types: common, exclusive and collaborative.
An analytical approach to plan a group of different types of mobile robots is developed to ensure
that some specific robots will visit task regions within given time windows. First, a multi-type robot
system and its environment are modeled by a timed colored Petri net. Then, some methods are
developed to convert the task requirements that contain logic constraints and time windows into
linear constraints. Based on integer linear programming techniques, a planning approach is proposed
to minimize the total cost (i.e., total travel distance) of the system. Finally, simulation studies are
investigated to show the effectiveness of the developed approach.


Citation: He, Z.; Zhang, R.; Ran, N.; Keywords: multi-type robot system; discrete event system; timed colored Petri net; path planning;
Gu, C. Path Planning of Multi-Type time window
Robot Systems with Time Windows
Based on Timed Colored Petri Nets.
Appl. Sci. 2022, 12, 6878. https://
doi.org/10.3390/app12146878 1. Introduction
Academic Editors: Luis Gomes and
With the increase in complexity and diversity of tasks, a single robot may not satisfy
João Paulo Barros
the task requirement in some industrial applications, which has led to the creation of multi-
robot systems (MRSs) [1]. The main challenge for such systems is to coordinate the control
Received: 10 May 2022 and planning of multiple robots so that tasks are effectively finished. A large number of
Accepted: 3 July 2022 studies in the literature have been proposed to choose the optimum path trajectories for
Published: 7 July 2022
multiple robots to reach some task regions under certain requirements such as shortest
Publisher’s Note: MDPI stays neutral travel distance, time windows, and obstacle avoidance [2–7].
with regard to jurisdictional claims in The collaboration of multiple robots was a critical issue that has garnered much
published maps and institutional affil- attention in recent decades. An improved particle swarm algorithm has been developed to
iations. deal with the collaborative navigation of MRSs [8]. To tackle the problem of collaborative
coverage of multiple robots in complicated environments, a novel multi-robot persistent
coverage strategy was proposed in [9] to take into account the environmental complexity
and the differences in robot path lengths. If robots have different priorities and there are
Copyright: © 2022 by the authors.
both static and dynamic obstacles in the workspace, a navigation strategy with priorities
Licensee MDPI, Basel, Switzerland.
was presented [10]. To complete some collaborative tasks within time constraints, the
This article is an open access article
distributed planning of robots was researched in [11,12] to ensure that enough robots are
distributed under the terms and
present at the task destinations within the given time constraints. In [13], an integer linear
conditions of the Creative Commons
programming method was proposed for optimizing the path trajectories of warehouse
Attribution (CC BY) license (https://
creativecommons.org/licenses/by/
robots so that pickup and delivery points are reached within given time windows. The
4.0/).
path planning of MRSs with complex tasks has also drawn a great deal of attention in the

Appl. Sci. 2022, 12, 6878. https://doi.org/10.3390/app12146878 https://www.mdpi.com/journal/applsci


Appl. Sci. 2022, 12, 6878 2 of 19

literature [14–19] in recent decades, where the tasks were expressed by Boolean formulae
or linear temporal logic.
In an MRS, the system’s environment was divided into zones, and the movement of
any robot from one zone to another was treated as a discrete event [20–23]. Petri nets(PNs)
are an efficient tool to model, analyze, and control discrete event systems [24–31], such
as robotics and intelligent transportation. PN can effectively avoid the state explosion
problem as the number of robots increases. In [32], an MRS was modeled by a PN and an
integer linear programming problem (ILPP) was provided to find the shortest path on the
condition that the types of robots are identical (i.e., only one type). Owing to the restricted
sensors and actuators, an optimal PN controller for MRSs was devised [20] to minimize
crashes when some events were indistinguishable and uncontrollable. The problem of
path planning for MRSs with logic and time constraints was discussed using timed Petri
nets [22], and an ILPP was established to determine the optimum paths of robots so that the
task zones were visited by a robot within a given time window and the forbidden regions
were always avoided.
To finish some complex tasks cooperatively, multiple types of robots with different
functions were required [33]. For instance, in many practical systems such as logistical and
manufacturing systems, not all the tasks can be completed by all robots, i.e., some tasks may
need specific types of robots to complete [34]. Moreover, the time factors of tasks are also
crucial in real-word applications. A multi-type robot system (MTRS) is a system that consists
of multi-types and multi-quantities of robots. Therefore, path planning and task allocation
are the key issues for multi-type robot systems that have received much attention in recent
years. It requires to achieve a trade-off between the coordination of the robots to finish the
tasks and the total cost of the system. This paper advances this research by developing an
optimal path planning algorithm for multi-type robot systems with time windows.

2. Related Works
During the past few years, there have been numerous works focusing on the task
allocation and path planning problem of MTRSs. Heuristic algorithms were applied to
find near optimal solutions in real time [35,36]. In [37], an improved particle swarm
optimization algorithm was used to search for the combination of robots and tasks, and
the greedy algorithm was used to sort the task execution order and calculate the cost of
the task execution strategy. Taking the resources required for tasks into consideration, a
novel coordinated task allocation approach based on cross-entropy was presented in [38].
A comparative study between optimization-based and market-based approaches for the
task allocation problem of MTRSs was discussed in [39]. In [40], an optimal task allocation
solution was developed based on the mixed integer linear programming techniques. In [33],
a high-level PN model called colored Petri net (CPN) [41,42] was used to model the MTRSs,
where each token was associated with a color that represents the type of the robot. Then, a
mixed integer linear programming problem (MILPP) was proposed to obtain the optimal
sequences and paths for operating the tasks. A Petri net toolbox for multi-robot planning
under uncertainty was developed in [43] to deal with multi-robot coordination problems
and obtain robust, efficient, and predictable strategies.
In this paper, the path planning problem for MTRSs with time windows is discussed
by using timed colored Petri nets (TCPNs). Compared with general Petri nets, colored Petri
nets allow a lot of folding techniques in order to reduce the complexity of the system model.
This paper focuses on a scenario in which a group of different types of mobile robots
performs in a known environment that contains several tasks. We assume that there are
three types of tasks in the working environment: common (performed by any type of robot),
exclusive (performed by only a certain type of robot), and collaborative (requires multi-types
of robots to work cooperatively). The problem consists in finding an optimal trajectory
for each robot such that all task regions are reached by one or more specified robot types
within a given time window and the forbidden regions are avoided.
The main contributions of this paper are as follows:
Appl. Sci. 2022, 12, 6878 3 of 19

1. We extend the previous works on the path planning of MTRSs (i.e., multi-type and
multi-quantity of robots) by introducing time windows. In addition, the tasks to be
finished are divided into three different types: common, exclusive, and collaborative.
2. An analytical approach based on integer linear programming techniques is developed
so that both the time windows and the logic requirements imposed on the tasks
are satisfied.
3. Simulation results are developed to show the effectiveness of the developed methodology.
The rest of the paper is structured as follows: The basic concepts of TCPNs and the
modeling framework are given in Section 3. In Section 4, the path problem of MTRSs with
time windows is formally formulated. In Section 5, we develop an MILPP to solve the path
planning problem. Simulation studies for the developed approach are given in Section 6.
Conclusions and future work are in Section 7.

3. Preliminary
In this section, the basic concepts of the TCPNs used in this paper are introduced. It
should be noticed that the definitions of TCPNs used in this paper are slightly modified
versions of [41] in order to simplify the definitions. More details can be found in [44–46].

3.1. Colored Petri Nets


Definition 1. Let S be a set. A multiset [45] α over S is defined by a mapping α : S → N =
{0, 1, 2, . . .} and is represented as
α= ∑ α(s) ⊗ s
s∈S

where s ∈ S is an element of set S and α(s) denotes the number of occurrences of the element s in
the set S.

A Colored Petri Net (CPN) is a quintuple N = ( P, T, Co, Pre, Post ), where P is a


set of n places; T is the a of m transitions; Cl is a set of colors; Co : P ∪ T → Cl is
a function that associates a set of colors from Cl to each element in P ∪ T. For each
pi ∈ P, Co ( pi ) = { ai,1 , ai,2 , . . . , ai,ui } ⊆ Cl is the set of possible token colors in pi , and
ui denotes the total number of possible token colors in pi . Analogously, for each t j ∈ T,
Co (t j ) = {b j,1 , b j,2 , . . . , b j,v j } ⊆ Cl is the set of possible occurrence colors of t j , and v j
denotes the total number of possible occurrence colors of t j .
Matrices Pre, Post ∈ Nn×m are the pre- and post-incidence matrix. Each element
Pre( pi , t j ) is mapped from the set of occurrence colors of t j to a non-negative multiset
over the set of colors of pi , i.e., Pre( pi , t j ) : Co (t j ) → N(Co ( pi )), for i = 1, . . . , n and
j = 1, . . . , m. We use Pre( pi , t j ) to represent a matrix of ui × v j non-negative integers, where
Pre( pi , t j )(h, k) denotes the weight of the arc from place pi with respect to color ai,h to
transition t j with respect to color b j,k . The mapping for Post ( pi , t j ) can be analogously
defined. The incidence matrix C is an n × m matrix, where C ( pi , t j ) : Co (t j ) → Z(Co ( pi )),
i = 1, . . . , n, j = 1, . . . , m, and C ( pi , t j ) = Post ( pi , t j ) − Pre( pi , t j ).
The marking M ( pi ) of place pi ∈ P is a non-negative multiset over Co ( pi ). The mapping
M ( pi ) : Co ( pi ) → N is associated with each possible token color in pi , which is a non-negative
integer representing the number of tokens of that color contained in place pi , and

M ( pi ) = ∑ M ( pi )(s) ⊗ s.
s∈Co ( pi )

where marking M ( pi ) is denoted as a column vector of ui non-negative integers that has


an h-th component M( pi )(h) equal to the number of color tokens ai,h contained in place pi .
The marking M is defined as an n-dimensional column vector of multisets, where

M = [ M ( p1 ), . . . , M ( pn )] T .

A colored Petri net system h N, M i is a colored Petri net N with a marking M.


Appl. Sci. 2022, 12, 6878 4 of 19

A transition t j ∈ T is enabled at a marking M with respect to color b j,k if for each


pi ∈ P it holds M( pi )(h) ≥ Pre( pi , t j )(h, k) (h = 1, . . . , ui ), and an enabled transition t j may
fire yielding a new marking M 0 , denoted by M [t j (k )i M 0 , where M0 ( pi )(h) = M( pi )(h) −
Pre( pi , t j )(h, k) + Post( pi , t j )(h, k), ∀ pi ∈ P. A firing sequence σ = t j1 (k j1 )t j2 (k j2 ) . . . t jr (k jr )
from M is a sequence of transitions, each one firing with respect to a given color such that

M [t j1 (k j1 )i M1 [t j2 (k j2 )i M2 . . . t jr (k jr )i Mr .

Marking M 0 is said to be reachable in h N, M i if there exists a firing sequence σ such


that M [σ i M 0 , and it holds that
M 0 = M + C · σ,
where σ = [σ (t1 ), . . . , σ (tm )] T is called the firing count vector of σ, and σ (t j ) ∈ N(Co (t j ))
(j = 1, . . . , m) is a multiset that indicates the firing times of transition t j with respect to each
of its colors.

3.2. Timed Colored Petri Net for the Multi-Type Robot Systems
A timed Colored Petri net (TCPN) is a pair ( N, θ) [44], where:
• N = ( P, T, Co, Pre, Post ) is a CPN,
• θ(t j ) is a non-negative multiset over Co (t j ). The mapping θ(t j ) : Co (t j ) → N as-
sociates to each occurrence color of transition t j a non-negative integer fixed fir-
ing duration. We denote by θ = [θ(t1 ), . . . , θ(tm )] the firing delay vector, where
θ(t j ) = [θ(t j )(1), . . . , θ(t j )(v j )].
We denote by G = h N, θ, M0 i a TCPN system, where M0 is an initial marking.
In the following, it is assumed that the moving environment R = {r1 , r2 , . . . , rn } of an
MTRS is divided into a set of n triangular regions that connect to each other via several
predefined line segments [47]. Each type of robot can move freely inside any triangular
region except the forbidden one. We model the MTRS and its working environment by a
TCPN according to Algorithm 1. To illustrate the construction of a TCPN better, a simple
MTRS is discussed in the following example.

Example 1. Let us consider the MTRS in Figure 1. Its moving environment is divided into ten
triangular regions, i.e., R = {r1 , . . . , r10 }. Two robots with different functions are initially deployed in
regions r3 (represented by blue circle C1 ) and r5 (represented by red circle C2 ), respectively, i.e., K = 2.

The TCPN system of the MTRS is shown in Figure 2. It consists of 10 places, P =


{ p1 , . . . , p10 }, each of which represents a region, and 26 transitions, T = {t1 , . . . , t26 }, each
of which represents the movement of a robot from one region to an adjacent one. The
description of transitions and places is presented in Table 1.

r6
r8
r1

r5 r4 r7
r1 r3
r10
r2
r5
r2 r9

Figure 1. A simple MTRS for examples 1 and 2.


Appl. Sci. 2022, 12, 6878 5 of 19

Algorithm 1: Construct the TCPN model for the multi-type robot system
Require: The working environment with K robots and n regions R = {r1 , r2 , . . . , rn }
Ensure: A TCPN system G = h N, θ, M0 i and a distance vector w
1: Let P = { p1 , . . . , pn }, T = φ, Pre = 0, Post = 0, θ = 0, M0 = 0, w = 0, m = 0
2: Associate each region ri with a place pi in the place set P, i.e., each place pi ∈ P represents
a region ri ∈ R;
3: for each pi ∈ P do
4: for each p j ∈ P, j 6= i do
5: if pi and p j are adjacent, i.e., region ri and region r j are adjacent then
6: m = m + 1;
7: T = T ∪ {tm }; %transition tm represents the movement from ri to r j
8: θ (tm )(k) equals the average time for a Ck type of robot moving from region ri
to region r j , k = 1, . . . , K;
9: w(tm )(k) equals the average distance for a Ck type of robot moving from region
ri to region r j , k = 1, . . . , K;
10: Pre( pi , tm ) = IK , Post ( p j , tm ) = IK , where Ik denotes a K × K identity matrix;
11: end if
12: end for
13: end for
14: for pi ∈ P do
15: M0 ( pi )(h) = The number of robots with color ai,h initially located in region ri ;
16: end for

t1 t3 t5 t7
p3 p3 p1 p6 p8 p7
t2 t4 t6 t8

t9 t10 t11 t12 t13 t14


t15 t17
p2 p5
t6 p4
t16 t19 t20
t18

t21 t22 t25 t26


t23
p9 p10
p1
t24

Figure 2. The TCPN system corresponding to the MTRS in Figure 1.

Table 1. Description of places and transitions in Figure 2.

Place Description Transition Description Transition Description


p1 Region r1 t1 Moving to r1 from r3 t14 Moving to r8 from r4
p2 Region r2 t2 Moving to r3 from r1 t15 Moving to r5 from r2
p3 Region r3 t3 Moving to r6 from r1 t16 Moving to r2 from r5
p4 Region r4 t4 Moving to r1 from r6 t17 Moving to r4 from r5
p5 Region r5 t5 Moving to r8 from r6 t18 Moving to r5 from r4
p6 Region r6 t6 Moving to r6 from r8 t19 Moving to r10 from r7
p7 Region r7 t7 Moving to r7 from r8 t20 Moving to r7 from r10
p8 Region r8 t8 Moving to r8 from r7 t21 Moving to r9 from r2
p9 Region r9 t9 Moving to r2 from r3 t22 Moving to r2 from r9
p10 Region r10 t10 Moving to r3 from r2 t23 Moving to r10 from r9
t11 Moving to r5 from r1 t24 Moving to r9 from r10
t12 Moving to r1 from r5 t25 Moving to r10 from r4
t13 Moving to r4 from r8 t26 Moving to r4 from r10
Appl. Sci. 2022, 12, 6878 6 of 19

The possible color sets of each place pi ∈ P (i = 1, . . . , 10) and each transition t j ∈ T
(j = 1, . . . , 26) are Co ( pi ) = {C1 , C2 } and Co (t j ) = {C1 , C2 }, respectively. The initial
marking M0 = [ M0 ( p1 ), . . . , M0 ( p10 )] T of the TCPN system is a column vector that contains
ten subvectors, where M0 ( p1 ) = [0 0] T , M0 ( p2 ) = [0 0] T , M0 ( p3 ) = [1 0] T , M0 ( p4 ) = [0 0] T ,
M0 ( p5 ) = [0 1] T , M0 ( p6 ) = [0 0] T , M0 ( p7 ) = [0 0] T , M0 ( p8 ) = [0 0] T , M0 ( p9 ) = [0 0] T , and
M0 ( p10 ) = [0 0] T . Each element in subvector M0 ( pi ) denotes the number of two different
robots in region ri . The incidence matrix C of the TCPN system is a 10 × 26 matrix, where
C ( pi , t j ) is a 2 × 2 matrix, for i = 1, . . . , 10 and j = 1, . . . , 26. For instance, the sixth row of C
indicates that the input (resp., output) transitions of place p6 are t3 and t6 (resp., t4 and t5 ).

Post ( p1 , t1 )

−Pre( p1 , t2 ) −Pre( p1 , t3 ) Post ( p1 , t4 ) 02 × 2 02 × 2 02 × 2
 02 × 2 02×2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2
 −Pre( p3 , t1 ) Post ( p3 , t2 ) 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2

02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2


02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02×2 02 × 2

C=

 02 × 2 02 × 2 Post ( p6 , t3 ) −Pre( p6 , t4 ) −Pre( p6 , t5 ) Post ( p6 , t6 ) 02 × 2
02×2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 Post ( p7 , t7 )


02 × 2 02 × 2 02 × 2 02×2 Post ( p8 , t5 ) −Pre( p8 , t6 ) −Pre( p8 , t7 )


02 × 2 02 × 2 02 × 2 02×2 02 × 2 02 × 2 02 × 2

02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2

02 × 2 02 × 2 02 × 2 −Pre( p1 , t11 ) Post ( p1 , t12 ) 02 × 2 02 × 2


02 × 2 Post ( p2 , t9 ) −Pre( p2 , t10 ) 02 × 2 02 × 2 02 × 2 02 × 2
02 × 2 −Pre( p3 , t9 ) Post ( p3 , t10 ) 02 × 2 02×2 02 × 2 02 × 2
02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 Post ( p4 , t13 ) −Pre( p4 , t14 )
02 × 2 02 × 2 02 × 2 Post ( p5 , t11 ) −Pre( p5 , t12 ) 02 × 2 02 × 2
02×2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2
−Pre( p7 , t8 ) 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2
Post ( p8 , t8 ) 02 × 2 02 × 2 02 × 2 02 × 2 −Pre( p8 , t13 ) Post ( p8 , t14 )
02×2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2
02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2

02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2
−Pre( p2 , t15 ) Post ( p2 , t16 ) 02 × 2 02 × 2 02 × 2 02 × 2 −Pre( p2 , t21 )
02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2
02 × 2 02×2 Post ( p4 , t17 ) −Pre( p4 , t18 ) 02 × 2 02 × 2 02 × 2
Post ( p5 , t15 ) −Pre( p5 , t16 ) −Pre( p5 , t17 ) Post ( p5 , t18 ) 02 × 2 02 × 2 02 × 2
02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02×2
02 × 2 02 × 2 02 × 2 02 × 2 −Pre( p7 , t19 ) Post ( p7 , t20 ) 02 × 2
02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2
02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 02 × 2 Post ( p9 , t21 )
02 × 2 02 × 2 02 × 2 02 × 2 Post ( p10 , t19 ) −Pre( p10 , t20 ) 02 × 2

02 × 2 02 × 2 02 × 2 02 × 2 02 × 2

Post ( p2 , t22 ) 02×2 02 × 2 02×2 02 × 2 
02 × 2 02 × 2 02 × 2 02 × 2 02 × 2


02 × 2 02 × 2 02 × 2 −Pre( p4 , t25 ) Post ( p4 , t26 )


02×2 02 × 2 02 × 2 02 × 2 02 × 2


02 × 2 02 × 2 02 × 2 02 × 2 02 × 2


02 × 2 02 × 2 02 × 2 02 × 2 02 × 2


02 × 2 02 × 2 02×2 02 × 2 02×2


−Pre( p9 , t22 ) −Pre( p9 , t23 ) Post ( p9 , t24 ) 02 × 2 02 × 2

02 × 2 Post ( p10 , t23 ) −Pre( p10 , t24 ) Post ( p10 , t25 ) −Pre( p10 , t26 )

Since every robot can have access to every region, we have


 
1 0
Pre( pi , t j ) = Post ( pi , t j ) =
0 1

Assume that the distance and the moving time between every two adjacent regions are
equal to one and two, respectively; we have the distance vector w = [w(t1 ), . . . , w(t26 )], where
w(t j ) = [w(t j )(1), w(t j )(2)] = [1, 1], and the firing delay vector θ = [θ(t1 ), . . . , θ(t26 )],
where θ(t j ) = [2, 2], j = 1, . . . , 26.

4. Problem Statement
In this paper, we assumed that there were three type of tasks in the working environ-
ment for the MTRSs: common (performed by any type of robot), exclusive (performed by
Appl. Sci. 2022, 12, 6878 7 of 19

only a certain type of robot), and collaborative (requires multi-types of robots to work coop-
eratively). We were interested in a variety of regions of the moving environment R I ⊆ R,
particularly set R I , which contains four disjoint subsets RkE , RSk , RU , and R A such that

R I = RkE ∪ RSk ∪ RU ∪ R A ,

where
• RkE : set of exclusive task regions for Ck type of robot;
• RSk : set of collaborative task regions for Ck type of robot;
• RU : set of public task regions that can be visited by any type of robot;
• R A : set of forbidden regions that all robots should always avoid.
For every interest region r ∈ R I , a state function ∆(r ) is defined as follows:

∆ : R I → { Ek , Sk , U, A}, (1)

where
• ∆(r ) = Ek means that the exclusive task in region r can only be performed by Ck type
of robot;
• ∆(r ) = Sk means that the task in region r should be cooperatively performed by Ck
type of robot and other types of robots, i.e., two or more robots are required to visit
region r;
• ∆(r ) = U means that the task in region r can be performed by any type of robot;
• ∆(r ) = A means that region r should be always avoided.
Furthermore, we assumed that each task region ri was associated with a time window
[ei , li ] to indicate the earliest and the latest (global) time instant for visiting the task region ri .
Note that [0, +∞] was used to indicate that no time constraint was attached to a task region.
Given an MTRS and its moving environment R = {r1 , r2 , . . . , rn } with n regions, a task
requirement for an MTRS that contains logic requirement and time windows is the sequence.
(To simplify the notation, we ignore the time window [0, +∞] in ϕ in the remainder of the
paper for all regions of interest with no time constraints.)

ϕ = (ri1 , ∆(ri1 ), [ei1 , li1 ]), (ri2 , ∆(ri2 ), [ei2 , li2 ]), . . . , (rih , ∆(rih ), [eih , lih ]) (2)
where ri j ∈ R I is an interest region; ∆(ri j ) is a state function defined in Equation (1), and
[ei j , li j ] is a given time window corresponding to region ri j .

Example 2. The following task requirement for the MTRS depicted in Figure 1,

ϕ = (r1 , E1 , [2, 5]), (r8 , S1 ), (r8 , S2 ), (r10 , U, [20, 30]), (r7 , A), (3)
requires that the task in region r1 can only be performed by a C1 robot in the time window [2, 5]; the
task in region r8 should be performed by two types of robot, i.e., C1 and C2 ; the task in region r10
can be performed by any type of robot in time window [20, 30]; and all robots should avoid region r7 .
Note that the task in region r8 does not have a time window constraint.

Problem 1. In this paper, we considered an MTRS that contained K different types of mobile robots
moving in a static surrounding R = {r1 , r2 , . . . , rn }. For a given task requirement ϕ that contains
logic constraints and time windows as defined in Equation (2), the goal of this paper was to find
optimal trajectories for all robots to meet the task requirement, while the total travel distance of the
MTRS was minimized.

5. Path Planning for MTRSs Based on TCPNs


In this section, some methods were presented to convert the logic constraints and time
windows for each type of task into linear constraints. Based on the linear transformations,
Appl. Sci. 2022, 12, 6878 8 of 19

an analytical approach was developed so that both the time windows and the logic re-
quirement imposed on the tasks were fulfilled while minimizing the total cost, i.e., total
travel distance.

5.1. Preprocessing of the Forbidden Regions


Any forbidden region rq ∈ R A should not be visited by robots at any state (i.e.,
marking). This can be done by removing the places that correspond to the forbidden
regions and their input and output arcs from the TCPN model. In Algorithm 2, the place
pq corresponding to forbidden region rq was removed from the TCPN system along with
its corresponding row information from Pre, Post, and M 0 . In addition, all the input and
output transitions of pq and the column information from Pre and Post were removed. As
a consequence, the forbidden regions were excluded from the planned trajectories. Note
that ti· and · ti denote the output places and input places of transition ti , respectively.

Algorithm 2: Preprocessing of the forbidden regions


Require: A TCPN system G = h N, θ, M0 i, where N = ( P, T, Co, Pre, Post );
Ensure: A simplified TCPN system G = h N, θ, M 0 i that does not contain forbidden regions
1: for each forbidden region rq ∈ R A do
2: remove the row corresponding to the place pq from Pre, Post, and M 0 , respectively,
where pq ∈ P is the place that represents region rq ;
3: P := P\{ pq }; % remove place pq from the set P
4: for each ti ∈ T
5: if ti· = pq or · ti = pq , then
6: remove the column corresponding to transition ti from Pre, Post, w, and θ,
respectively; % remove the paths related to the forbidden region rq
7: T := T \{ti };% remove the input transition or output transition of pq from the
set T
8: end if
9: end for
10: end for

5.2. Transformation of Logic Constraints and Time Windows for Exclusive Tasks and
Collaborative Tasks
In the rest of the paper, we denote the total number of tasks to be completed by |task|.
Each marking M of the TCPN represents the intermediate positions of all robots. According
to Algorithm 1, each task can be represented by a reachable marking of the TCPN. In
another word, completing the tasks of the MTRSs corresponds to some specific markings of
the TCPN. Therefore, there are at most |task| intermediate markings for the TCPN to finish
all tasks, i.e.:
Mj = Mj−1 + C · σj , j = 1, . . . , |task| (4)

where σj = [σj (t1 ), σj (t2 ), . . . , σj (tm )] T is the firing count vector from Mj−1 to Mj . In other
words, vector σj represents all the movements of the MTRS from state Mj−1 to state Mj .
The exclusive tasks refer to those that can only be completed by a specific type of robot
in exclusive regions. Only a Ck robot can visit an exclusive task region rq ∈ RkE . To fulfill
this logic requirement, the following constraint should be satisfied:
 )
 zq,k,j − 1 ≤ M j ( pq )(k) · H
( a)



 1 − zq,k,j ≤ M j ( pq )(k) · H



 |task|

∑ zq,k,j ≤ |task| − 1 (b) (5)
 j =1


zq,k,j ∈ {0, 1}





 j = 1, . . . , |task |

where H ∈ R≥0 is a large enough number.


Appl. Sci. 2022, 12, 6878 9 of 19

Proof. If zq,k,j = 1 holds, then constraint (5a) can be simplified as follows:

0 ≤ M j ( pq )(k) · H (6)

Since H is a large enough number and M j ( pq )(k) is a non-negative integer, constraint (6)
becomes redundant. On the other hand, when zq,k,j = 0 holds, constraint (5a) can be simplified
as follows:
1 ≤ M j ( pq )(k) · H (7)
which is equivalent to M j ( pq )(k) ≥ 1. This condition indicates that the exclusive task
region rq ∈ RkE is visited by a Ck robot at marking Mj . Since zq,k,j ∈ {0, 1} is a binary
variable, constraint (5b) guarantees that at least one variable zq,k,j (j = 1, . . . , |task|) is equal
to zero. As a consequence, the exclusive task region rq will be visited by a Ck robot at
marking Mj at least once.

For the time window [eq , lq ] imposed on an exclusive task region rq ∈ RkE , it can be
converted into a linear constraint as follows:
 


 zq,k,j − 1 ≤ M j ( pq )(k) · H 

 
1 − z ≤ M ( p )( k ) · H
 
q



 q,k,j j 

| task | ( a)


∑ zq,k,j ≤ |task| − 1



 


 j =1 


 

q,k,j ∈ {0, 1}

 z 
 (8)


 τ k,j = τk,j − 1 + θ · σ j 

 
 τk,0 = 0

 

 

− ≤ − · (b)




 e q τ k,j [ 1 M j ( p q )( k ) + z q,k,j ] H
 
τk,j − lq ≤ [1 − M j ( pq )(k) + zq,k,j ] · H 

 


 


 j = 1, . . . , |task| 

where θ = [θ(t1 ), . . . , θ(tm )] denotes the firing delay vector, and σj = [σj (t1 ), . . . , σj (tm )] T
denotes the firing count vector of all types of robots from Mj−1 to Mj . Parameter τk,j ∈ R≥0
represents the time instant when a Ck robot arrives at marking Mj .

Proof. According to Equation (5), condition (8a) ensures the logic requirement for the
exclusive tasks. If a Ck robot visits the exclusive task region rq at any marking Mj
(j = 1, . . . , |task|), i.e., zq,k,j = 0 and M j ( pq )(k) = 1, the third and fourth constraints of
(8b) can be simplified as follows:
(
eq − τk,j ≤ 0
⇒ eq ≤ τk,j ≤ lq
τk,j − lq ≤ 0

As a consequence, it ensures that the time instant when a Ck robot visits the region rq
at marking Mj will satisfy the prescribed time window constraint.
On the other hand, if the robot does not visit the exclusive task region rq at any
marking Mj (j = 1, . . . , |task|), i.e., M j ( pq )(k) = 0, then the third and fourth constraint
of (8b) can be simplified as follows:
(
eq − τk,j ≤ [1 + zq,k,j ] · H
τk,j − lq ≤ [1 + zq,k,j ] · H

Since H is a large enough number and zq,k,j ∈ {0, 1}, the above condition becomes
redundant for a Ck robot.
Appl. Sci. 2022, 12, 6878 10 of 19

The collaborative tasks refer to those that should be cooperatively completed by different
types of robots. For a collaborative task region rq ∈ RSk , region rq should be visited by
different types of robots. This can be analogously achieved by imposing constraints (5)
and (8) separately to each required type of robot.

5.3. Transformation of Logic Constraints and Time Windows for Public Tasks
Public tasks refer to those that can be completed by any type of robot, i.e., for a public task
region rq ∈ RU , region rq should be visited by any type of robot. For each public region rq ∈ RU ,
we defined a vector vq,k = [vq,k ( p1 )(1), vq,k ( p1 )(2), . . . , vq,k ( p1 )(u1 ), . . . , vq,k ( pn )(un )],
(k=1,. . . ,|K|) whose elements are zeros except for the q-th elements that are equal to one, i.e.,
(
1, if i = q
vq,k ( pi )(k) =
0, else

Therefore, the constraint imposed on a public task region rq ∈ RU can be converted


into the following linear constraints:

|task|

1 − vq,k · ∑ Mj ≤ zq,k,j · H ( a)






 j =1
 K |task|

∑ ∑ zq,k,j ≤ K · |task| − 1 (b) (9)

 k =1 j =1

zq,k,j ∈ {0, 1} (c)





k = 1, . . . , K

where H ∈ R≥0 is a large enough number.

Proof. Constraints (9b) and (9c) conjointly ensure that at least one variable zq,k,j is equal
to zero. When zq,k,j = 0 holds for any robot Ck (k = 1, . . . , K) at any marking Mj
(j = 1, . . . , |task |), so the constraint (9a) can be simplified as follows:

|task|
1 ≤ vq,k · ∑ Mj
j =1

which guarantees that the public task region rq ∈ RU will be visited by a Ck robot at
marking Mj .
On the other hand, when zq,k,j = 1 holds for any type of robot Ck (k = 1, . . . , K) at any
marking Mj (j = 1, . . . , |task|), i.e., the public task region rq ∈ RU is not visited by a Ck
robot at marking Mj , constraint (9a) can be simplified as follows:

|task|
1 − vq,k · ∑ Mj ≤ H
j =1

Since H is a large enough number, this condition becomes redundant for a Ck robot.

In the rest of this paper, we use oq,k,j = 0 (resp. oq,k,j = 1) to indicate that the public
task region rq is visited by a Ck robot at marking Mj within (resp. outside) the predefined
time window. The time window [eq , lq ] imposed on a public task region rq ∈ RU can be
converted into a linear constraint as follows.
Appl. Sci. 2022, 12, 6878 11 of 19


|task|

1 − vq,k · ∑ Mj ≤ zq,k,j · H

 


 

j =1

 

 
K |task |

 ( a)
∑ ∑ zq,k,j ≤ K · |task | − 1



 




 k =1 j =1 



zq,k,j ∈ {0, 1}

 



 )

 τk,j = τk,j−1 + θ · σj
(b)



τk,0 = 0



 
zq,k,j ≤ oq,k,j 

 (10)
K |task |

 


∑ ∑ oq,k,j ≤ K · |task| − 1

 


 

k =1 j =1
 
(c)



eq − τk,j ≤ [1 − M j ( pq )(k) + oq,k,j ] · H 



 

 
τk,j − lq ≤ [1 − M ( pq )(k) + oq,k,j ] · H 

 

 

 
o ∈ {0, 1}

 


 q,k,j
k = 1, . . . , K





j = 1, . . . , |task |

where θ = [θ(t1 ), θ(t2 ), . . . , θ(tm )] and σj = [σj (t1 ), . . . , σj (tm )] T . Parameter τk,j ∈ R≥0
represents the time instant when a Ck robot arrives at marking Mj .

Proof. According to Equation (9), condition (10a) ensures the logic requirement for the
public tasks. For a Ck robot that visits the public task region rq at any marking Mj
(j = 1, . . . , |task|), we have zq,k,j = 0 and M j ( pq )(k) = 1. Therefore, the constraint (10c) can
be reduced to: 


 0 ≤ oq,k,j
K |task |


 ∑ ∑ oq,k,j ≤ K · |task| − 1




k =1 j =1
(11)


 eq − τk,j ≤ oq,k,j · H
τk,j − lq ≤ oq,k,j · H





∈ {0, 1}

 o
q,k,j

Since variable oq,k,j is binary, we have the following two situations: (1) if oq,k,j = 0
holds, condition (11) can be reduced to:
(
eq − τk,j ≤ 0
⇒ eq ≤ τk,j ≤ lq (12)
τk,j − lq ≤ 0

which consequently ensures that the time instant when the public task region rq is visited
by a Ck robot at marking Mj satisfies the predefined time window [eq , lq ]; (2) if oq,k,j = 1
holds, condition (11) can be reduced to:
(
eq − τk,j ≤ H
(13)
τk,j − lq ≤ H

which becomes redundant. As a consequence, a Ck robot will visit the public task region rq
without any specified time constraint. The first and second constraints of (10c) ensure that
at least one robot will visit the public task region rq within the time window [eq , lq ].
For a Ck robot that does not visit the public task region rq at any marking Mj
(j = 1, . . . , |task |), i.e., M j ( pq )(k) = 0, the constraint (10c) can be reduced to:
(
eq − τk,j ≤ H
(14)
τk,j − lq ≤ H

which is a redundant constraint and imposes no time constraint for a Ck robot.


Appl. Sci. 2022, 12, 6878 12 of 19

5.4. Path Planning of the MTRSs by an MILPP


Combining the linear transformations for the exclusive, collaborative, and the public task
regions, i.e., Equations (4), (8), and (10), Problem 1 can be solved by the following MILPP:
|task|
min w · ∑ σj
j =1


 M j = M j −1 + C · σ j 
( a)

z − 1 ≤ M j ( pq )(k) · H




 q,k,j 



 1 − zq,k,j ≤ M j ( pq )(k) · H

 
 

 
|task|

 

 j∑



 zq,k,j ≤ |task | − 1 (b)

 =1 


 
eq − τk,j ≤ [1 − M j ( pq )(k) + zq,k,j ] · H

 

 

 

τk,j − lq ≤ [1 − M j ( pq )(k) + zq,k,j ] · H

 



|task|

 
 1 − vq,k · ∑ Mj ≤ zq,k,j · H

 

 

j =1

 


 
K |task|

 


 k∑ ∑ zq,k,j ≤ K · |task| − 1
 
(15)

 

 
=1 j =1 



zq,k,j ≤ oq,k,j
 


 

K |task|

 (c)
∑ ∑ oq,k,j ≤ K · |task| − 1



 

k =1 j =1

 


 

eq − τk,j ≤ [1 − M j ( pq )(k) + oq,k,j ] · H

 


 

 
τk,j − lq ≤ [1 − M ( pq )(k) + oq,k,j ] · H

 


 

 
τk,j = τk,j−1 + θ · σj

 


 


 
τk,0 = 0

 

 

zq,k,j ∈ {0, 1}

 

 


oq,k,j ∈ {0, 1}

 

(d)



k = 1, . . . , K

 

 

 
j = 1, . . . , |task |
 

Note that w = [w(t1 ), . . . , w(tm )] is a vector that contains the travel distance between
each adjacent region. The objective function of (15) represents the total travel distance
for all robots from initial to final position. Condition (15a) represents all the states of
the MTRSs from initial to final position. Condition (15b) ensures the logic requirements
and time windows for the exclusive and collaborative tasks. Condition (15c) ensures
the logic requirements and time windows for the public tasks. The optimal solution σj
(j = 1, . . . , |task |) of MILPP (15) denotes the firing count vector of the TCPN system that
corresponds to the movement strategy of each type of robot. Therefore, the path of each
type of robot k that contains a sequence of regions, denoted by pathk , can be iteratively
constructed by using Algorithm 3.
The computational complexities of the developed algorithms are as follows. For
Algorithms 1–3, the complexities are O(n2 ), O(n · m) and O(| Task| · m2 ), respectively, where
n denotes the number of regions (or places), m denotes the number of transitions and | Task|
denotes the number of tasks. For MILPP (15), it belongs to the NP-hard class. Some efficient
tools such as LINGO and CPLEX can be used to solve the MILPPs.
Appl. Sci. 2022, 12, 6878 13 of 19

Algorithm 3: Iterative construction of the paths of each type of robot


Require: TCPN system G = h N, θ, M0 i, N = ( P, T, Co, Pre, Post ), incidence matrix
C = Post − Pre, firing count vector σj (j = 1, . . . , |task |)
Ensure: Path of each type of robot pathk , k = 1, 2, . . . , K
1: Let M = M 0 , j = 0, pathk = e, k = 1, . . . , K
2: while j ≤ |task | do
3: while 1T · σj 6= 0 do
4: for each t ∈ T do
5: while σj [t](k) > 0 and M[· t](k) > 0 do
6: Pick the corresponding type of robot Ck from the input places · t of t;
7: Assign movement corresponding to t to a Ck robot, i.e., a Ck robot moves
from the input places · t of t to the output places t· of t (i.e., from region r· t to region rt· );
8: Let pathk := pathk · r· t · rt· %update the path of Ck type of robot
9: Let M := M + C [·, t]; %update the current state
10: Let σj [t](k) := σj [t](k) − 1;
11: σj := σj ; %update the firing count vector
12: end while
13: end for
14: end while
15: j := j + 1;
16: end while

6. Illustrative Example
In this following, the developed approach is illustrated using an example formed with
the Robot Motion Tool RMTool [48]. The static environment of the system is partitioned [47]
into 74 regions, as shown in Figure 3, i.e., R = {r1 , r2 , . . . , r74 }. There are three different
types of robots (i.e., |K | = 3) working in the environment whose initial locations are marked
by different colored dots in Figure 3, i.e., C1 robot in region r16 (blue dot); C2 robot in region
r36 (purple dot); and C3 robot in region r49 (brown dot).

Exclusive task for C1 type Exclusive task for C2 type Exclusive task for C3 type
Collaborative task for C1 type and C3 type Collaborative task for C2 type and C3 type
The public task The forbidden region

r1 r36
r5 r46 r48
r37 r21 r44
r31
r30 r32 r28 r7 r45 r47 r54
r43 r49 r8
r33 r34 r6 r42 r52
r26 r41 r51 r50
r29 r56
r20 r r
r27 r2 r39 r11 r14 58 53
r9
r24 r74 r35 r40 r59 r38 r12
r3
r4 r62
r22 r72 r73 r18 r66 r70
r25 r61
r64 r55 r65
r19 r68 r69
r23 r71 r60 r57
r10 r63
r16 r15 r13
r17 r67
Figure 3. An MTRS with three different types of robots.

The TCPN model of the MTRS is shown in Figure 4. It consists of 74 places and 218 tran-
sitions. We assumed that the distance and the moving time between adjacent regions were
equal to one, i.e., w = [w(t1 ), w(t2 ), . . . , w(t218 )] = 11×218 and θ = [θ(t1 ), θ(t2 ), . . . , θ(t218 )]
= 11×218 . For the MTRS in Figure 3, we assumed that the set of interest regions are:
• R1E = {r65 , r69 }, R2E = {r3 }, R3E = {r24 , r45 };
• R1S = {r10 } R2S = {r21 }, R3S = {r21 , r10 };
14 of 19

t1 t3 t5 t7 purple robot t9 t11 t17


t13 t15 t19
p3 p30 p5 p1
t2 p46 p44 p48 p54 p53 p69
t4 t6 t8
t21 t23 t24 p36 t10 t12 t14 t16 t18 t20
t22 t25 t26 t27 t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38
p22 p26 p31 p37 p45 p47 p8 p50 p70

Figure 4. The TCPN system corresponding to the MTRS in Figure 3.


t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62 t63 t64
p49
p23 p32 p7 p21 p43 p51 p58
t65 t66 t67 t68 brown robot
t69 t70 t71 t72 t73 t74 t77 t78 t79 t80
t82 t75 t76
p25 p4 p28 t91 t92 t93 t94 t95 t96 t97 t98 p14
t81 t87 t89 t90
t83 t84 t85 t86 t205 t203
t88
p27 p33 p34 t206 p6 p41 p42 p52 t115 t116 t117 t118 t119 t120
t204 t
t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109 t110 111 t112 t113 t114
t123
t121
p24 p29 p20 p11 p59 p9 p56 p12 p57
t124
t125 t126 t122 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
RU = {r11 , r37 , r68 };

t138
R A = {r13 , r48 }.

p72 p2 p39 p40 p62 p38 p65


t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166
t167 t169 t171 t173
p73 p74 p35 p18 p61 p66 p55 p67
t168 t170 t172 t174
t175 t176 t177 t178 t179 t180 t181 t182 t183 t184
t185 t187
t202
p71 p19 p60 t201 p64 p68

t186 t188
t189 t190 t191 t192 t193 t194 t197 t198 t199 t200
t195 t196 t207
t209
blue robot p16 p10 p63 p13
t210 t208
Appl. Sci. 2022, 12, 6878

t211 t212 t215 t216


t213
t217
p17 p15
t214
t218
Appl. Sci. 2022, 12, 6878 15 of 19

For the temporal requirement, we assumed that the task regions r69 , r3 , r24 , r45 , r21 ,
r10 , and r11 should be visited in the time windows [10, 12], [3, 5], [10, 15], [17, 25], [8, 22],
[3, 8], and [15, 20], respectively. Therefore, the task requirement ϕ for the MTRS can be
represented as follows:

ϕ = (r65 , E1 ), (r69 , E1 , [10, 12]), (r3 , E2 , [3, 5]), (r24 , E3 , [10, 15]), (r45 , E3 , [17, 25]),
(r21 , S2 , [8, 22]), (r21 , S3 , [8, 22]), (r10 , S1 , [3, 8]), (r10 , S3 , [3, 8]), (r13 , A), (r48 , A),
(r11 , J, [15, 20]), (r37 , J ), (r68 , J ),

which requires that task region r65 be visited by a C1 robot; task region r69 be visited by a C1
robot in the time window [10, 12], task region r3 be visited by a C2 robot in the time window
[3, 5]; task region r24 be visited by a C3 robot in the time window [10, 15]; task region r45 be
visited by a C3 robot in the time window [17, 25]; task region r21 be visited by C2 and C3
robots in the time window [8, 22]; task region r10 be visited by C1 and C3 robots in the time
window [3, 8]; task region r11 be visited by any type of robot in the time window [15, 20];
tasks regions r37 and r68 be visited by any type of robot; and all robots should avoid regions
r13 and r48 . Note that the task regions r65 , r37 and r68 do not have time constraints.
We implemented the proposed approach by MATLAB with toolbox YALMIP (YALMIP
solver (2019) [Online]. Available online: yalmip.github.io/allsolvers/, accessed on 1 August
2021.) on a laptop equipped with a 1.8 GHZ Core i5 Processor. The highest computational
effort of the proposed approach was spent in solving the MILPP (15). The paths of the
robots were obtained by solving Algorithm 3 as follows:
• path1 (Blue): r16 → r71 → r19 → r10 → r60 → r63 → r68 → r55 → r65 → r57 → r67 →
r69 ;
• path2 (Purple): r36 → r1 → r5 → r30 → r3 → r30 → r5 → r1 → r37 → r21 ;
• path3 (Brown): r49 → r52 → r56 → r9 → r62 → r61 → r60 → r10 → r19 → r71 → r73 →
r72 → r24 → r29 → r2 → r20 → r39 → r11 → r6 → r21 → r45 .
The overall CPU time for the developed approach is 23 seconds. In addition, we also
gave the visiting time of each task region in Table 2 and the Gantt chart of the obtained
paths in Figure 5. As one can see, both the logic requirements and the time windows were
satisfied by the proposed approach.

Table 2. Visiting time of each task region.

Task Regions Time Window Visiting Time of Each Task Region


r65 [0, +∞] 8
r69 [10, 12] 11
r3 [3, 5] 4
r24 [10, 15] 12
r45 [17, 25] 20
r21 [8, 22] 9
r21 [8, 22] 19
r10 [3, 8] 3
r10 [3, 8] 7
r11 [15, 20] 17
r37 [0, +∞] 8
r68 [0, +∞] 6
Total travel distance 40
Appl. Sci. 2022, 12, 6878 16 of 19

r45
r45 C1
r6 C2 r6
r11 C3 r11
r39 r39
r20 r20
r2 r2
r29 r29
r24 r24
r72 r72
r73 r73
r61 r61
r62 r62
r9 r9
r56 r56
r52 r52
r49 r49 r21
r21 r21
r37 r37
regions

r3 r3
r30 r30 r30
r5 r5 r5
r1 r1 r1
r36 r36
r69 r69
r67 r67
r57 r57
r65 r65
r55 r55
r68 r68
r63 r63
r60 r60 r60
r10 r10 r10
r19 r19 r19
r71 r71 r71
r16 r16
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
time/s

Figure 5. Gantt chart of the obtained paths.

In order to better test the efficiency of the developed approach, we used Robot Motion
Toolbox [48] to randomly generate some examples with different numbers of robots and
regions. In Table 3, the number of regions, the number of robots, the number of task regions
and the CPU time for each tested case are presented. Case 1 is the MTRS in Figure 3. As
one can observe, the CPU time grows significantly as the number of regions and robots
increases, since the number of constraints and variables of MILPP (15) increasse as the the
number of regions and robots increases. However, our developed approach can always
provide an optimal solution.

Table 3. Simulation results for different cases.

Nb. of Regions Nb. of Task Regions Nb. of Robots CPU Time [s]
Case 1 74 12 3 23
Case 2 144 16 5 243
Case 3 180 23 8 5408
Case 4 230 31 14 84256

7. Conclusions
This paper addressed the path planning of multi-type robot systems with time win-
dows using TCPNs. To deal with complex tasks that need specific types of robots to
complete, the tasks of the systems were classified into three different types, i.e., common,
exclusive, and collaborative. Combining the state equations of TCPNs, some approaches
to convert the logic constraints and time windows imposed on the different types of tasks
into a set of linear constraints was developed. Then, an efficient path planning method was
Appl. Sci. 2022, 12, 6878 17 of 19

proposed so that regions containing different types of tasks were visited by a specified type
of robot in a predefined time window. Simulation studies illustrated the effectiveness of
this approach. TCPN can effectively avoid the state explosion problem as the number of
robots increases. The developed approach can be used in application areas where tasks
may need specific types of robots to complete. It should be noticed that the collision
avoidance problem is not addressed in this paper. Our future research aims to study the
path planning of MTRSs with high-level specifications such as Boolean specifications or
linear temporal logic, which can be used for patrolling path planning and path planning
with multi-task selections.

Author Contributions: Conceptualization, Z.H.; Data curation, R.Z.; Formal analysis, Z.H.; Funding
acquisition, C.G.; Methodology, C.G.; Project administration, N.R.; Software, R.Z.; Supervision, Z.H.;
Validation, N.R.; Visualization, N.R.; Writing—original draft, R.Z. All authors have read and agreed
to the published version of the manuscript.
Funding: This work was supported by the National Natural Science Foundation of China under
Grant Nos. 61803246, 61903119, and 62003201, the China Postdoctoral Science Foundation under
Grant No. 2019M663608, the Young Talent fund of University Association for Science and Technology
in Shaanxi China under Grant No. 20210117, the Natural Science Foundation of Hebei Province under
Grant A2020201021, the Hebei Province Foundation for Returned Overseas Chinese Scholars under
Grant C20190319, and the Foundation of Hebei Education Department under Grant BJ2021008.
Institutional Review Board Statement: Not applicable.
Informed Consent Statement: Not applicable.
Conflicts of Interest: The authors declare no conflict of interest.

References
1. Godwin, M.F.; Spry, S.; Hedrick, J.K. Distributed collaboration with limited communication using mission state estimates. In
Proceedings of the American Control Conference, Minneapolis, MN, USA, 14–16 June 2006; pp. 2040–2046.
2. Gerkey, B.P.; Matarić, M.J. A formal analysis and taxonomy of task allocation in multi-robot systems. Int. J. Robot. Res. 2004, 23,
939–954. [CrossRef]
3. Purcaru, C.; Precup, R.; Iercan, D.; Fedorovici, L.; Petriu, E.M.; Voisan, E. Multi-robot GSA- and PSO-based optimal path
planning in static environments. In Proceedings of the 9th International Workshop on Robot Motion and Control, Kuslin, Poland,
3–5 July 2013; pp. 197–202.
4. Warren, C.W. Multiple robot path coordination using artificial potential fields. In Proceedings of the IEEE International Conference
on Robotics and Automation, Cincinnati, OH, USA, 13–18 May 1990; pp. 500–505.
5. Ma, H.; Koenig, S. AI Buzzwords Explained: Multi-Agent Path Finding. AI Matters 2017, 3, 15–19. [CrossRef]
6. Ma, H.; Hoenig, W.; Cohen, L.; Uras, T.; Xu, H.; Kumar, S.; Ayanian, N.; Koenig, S. Overview: A hierarchical framework for plan
generation and execution in multirobot systems. IEEE Intell. Syst. 2017, 32, 6–12. [CrossRef]
7. Wang, Z.; Shi, Z.; Li, Y.; Tu, J. The optimization of path planning for multi-robot system using Boltzmann Policy based Q-learning
algorithm. In Proceedings of the 2013 IEEE International Conference on Robotics and Biomimetics (ROBIO), Shenzhen, China,
12–14 December 2013; pp. 1199–1204.
8. Tang, B.; Xiang, K.; Pang, M.; Zhanxia, Z. Multi-robot path planning using an improved self-adaptive particle swarm optimization.
Int. J. Adv. Robot. Syst. 2020, 17, 1729–1747. [CrossRef]
9. Tang, Y.; Zhou, R.; Sun, G.; Di, B.; Xiong, R. A novel cooperative path planning for multirobot persistent coverage in complex
environments. IEEE Sens. J. 2020, 20, 4485–4495. [CrossRef]
10. Huang, S.K.; Wang, W.J.; Sun, C.H. A path planning strategy for multi-robot moving with path-priority order based on a
generalized voronoi diagram. Appl. Sci. 2021, 11, 9650–9666. [CrossRef]
11. Bhat, R.; Yazıcıoğlu, Y.; Aksaray, D. Distributed path planning for executing cooperative tasks with time windows. IFAC-
PapersOnLine 2019, 52, 187–192. [CrossRef]
12. Yazıcıoğlu, Y.; Bhat, R.; Aksaray, D. Distributed planning for serving cooperative tasks with time windows: A game theoretic
approach. J. Intell. Robot. Syst. 2021, 103, 27. [CrossRef]
13. Haghani, N.; Li, J.; Koenig, S.; Kunapuli, G.; Contardo, C.; Regan, A.; Yarkony, J. Multi-robot routing with time windows: A
column generation approach. arXiv 2021, arXiv:2103.08835.
14. Kloetzer, M.; Mahulea, C. Path planning for robotic teams based on LTL specifications and Petri net models. Discret. Event Dyn.
Syst. 2020, 30, 55–79. [CrossRef]
15. Yang, S.; Yin, X.; S, S.L.; Zamani, M. Secure-by-Construction optimal path planning for linear temporal logic tasks. In Proceedings
of the 59th IEEE Conference on Decision and Control, Jeju, Korea, 14–18 December 2020; pp. 4460–4466.
Appl. Sci. 2022, 12, 6878 18 of 19

16. Mahulea, C.; Montijano, E.; Kloetzer, M. Distributed multirobot path planning in unknown maps using Petri net models.
IFAC-PapersOnLine 2020, 53, 2063–2068. [CrossRef]
17. Kloetzer, M.; Mahulea, C. LTL-based planning in environments with probabilistic observations. IEEE Trans. Autom. Sci. Eng. 2015,
12, 1407–1420. [CrossRef]
18. Shi, W.; He, Z.; Tang, W.; Liu, W.; Ma, Z. Path planning of multi-robot systems with Boolean specifications based on simulated
annealing. IEEE Robot. Autom. Lett. 2022, 7, 6091–6098. [CrossRef]
19. Yu, X.; Yin, X.; Li, S.; Li, Z. Security-preserving multi-agent coordination for complex temporal logic tasks. Control. Eng. Pract.
2022, 123, 105130. [CrossRef]
20. Luo, J.L.; Wan, Y.X.; Wu, W.M.; Li, Z.W. Optimal Petri-net controller for avoiding collisions in a class of automated guided vehicle
systems. IEEE Trans. Intell. Transp. Syst. 2019, 21, 4526–4537. [CrossRef]
21. Luo, J.L.; Ni, H.J.; Zhou, M.C. Control program design for automated guided vehicle systems via Petri nets. IEEE Trans. Syst. Man
Cybern. Syst. 2015, 45, 44–55.
22. He, Z.; Dong, Y.; Ren, G.; Gu, C.; Li, Z. Path planning for automated guided vehicle systems with time constraints using timed
petri nets. Meas. Control 2020, 53, 2030–2040. [CrossRef]
23. Mahulea, C.; Kloetzer, M. Planning mobile robots with boolean-based specifications. In Proceedings of the 53rd IEEE Conference
on Decision and Control, Los Angeles, CA, USA, 15–17 December 2014; pp. 5137–5142.
24. Ma, Z.; He, Z.; Li, Z.; Giua, A. Design of supervisors for linear marking specifications in labeled petri nets. Automatica 2022,
136, 110031. [CrossRef]
25. He, Z.; Ma, Z.; Tang, W. Performance safety enforcement in strongly connected timed event graphs. Automatica 2021, 128, 109605.
[CrossRef]
26. He, Z.; Ma, Z. Performance safety enforcement in stochastic event graphs against boost and slow attacks. Nonlinear Anal. Hybrid
Syst. 2021, 41, 101057. [CrossRef]
27. He, Z.; Ma, Z.; Li, Z.; Giua, A. Parametric transformation of timed weighted marked graphs: Applications in optimal resource
allocation. IEEE CAA J. Autom. Sin. 2020, 8, 179–188.
[CrossRef]
28. Gomes, L.; Barros, J. Structuring and composability issues in Petri nets modeling. IEEE Trans. Ind. Inform. 2005, 1, 112–123.
[CrossRef]
29. Gomes, L.; Moutinho, F.; Pereira, F.; Ribeiro, J.; Costa, A.; Barros, J. Extending input-output place-transition Petri nets for
distributed controller systems development. In Proceedings of the International Conference on Mechatronics and Control (ICMC),
Jinzhou, China, 3–5 July 2014; pp. 1099–1104.
30. Rocha, J.; Dias, P.; Gomes, L. Improving synchronous dataflow analysis supported by petri net mappings. Electronics 2018, 7, 448.
[CrossRef]
31. Wisniewski, R.; Karatkevich, A.; Adamski, M.; Costa, A.; Gomes, L. Prototyping of concurrent control systems with application of
Petri nets and comparability graphs. IEEE Trans. Control. Syst. Technol 2017, 26, 575–586. [CrossRef]
32. Mahulea, C.; Kloetzer, M. Robot planning based on boolean specifications using Petri net models. IEEE Trans. Autom. Control
2018, 63, 2218–2225. [CrossRef]
33. Wang, X.; Rui, F.; Hu, H. Task allocation policy for ugv systems using colored petri nets. In Proceedings of the American Control
Conference, Milwaukee, WI, USA, 27–29 June 2018; pp. 3050–3055.
34. Meng, X.; Li, J.; Dai, X.; Dou, J. Variable neighborhood search for a colored traveling salesman problem. IEEE Trans. Intell. Transp.
Syst. 2018, 19, 1018–1026.
[CrossRef]
35. Wang, J.; Zhang, Y.; Geng, L.; Fuh, J.; Teo, S. A heuristic mission planning algorithm for heterogeneous tasks with heterogeneous
UAVs. Unmanned Syst. 2015, 3, 205–219. [CrossRef]
36. Sabo, C.; Kingston, D.; Cohen, K. A formulation and heuristic approach to task allocation and routing of UAVs under limited
communication. Unmanned Syst. 2014, 2, 1–17. [CrossRef]
37. Kong, X.; Gao, Y.; Wang, T.; Liu, J.; Xu, W. Multi-robot task allocation strategy based on particle swarm optimization and greedy
algorithm. In Proceedings of the IEEE 8th Joint International Information Technology and Artificial Intelligence Conference,
Chongqing, China, 24–26 May 2019; pp. 1643–1646.
38. Huang, L.; Qu, H.; Zuo, L. Multi-type UAVs cooperative task allocation under resource constraints. IEEE Access 2018, 6,
17841–17850. [CrossRef]
39. Badreldin, M.; Hussein, A.; Khamis, A. A comparative study between optimization and market-based approaches to multi-robot
task allocation. Adv. Artif. Intell. 2013, 2013, 16877470. [CrossRef]
40. Grøtli, E.I.; Johansen, T.A. Path planning for UAVs under communication constraints using SPLAT! And MILP. J. Intell. Robot.
Syst. 2012, 65, 265–282.
[CrossRef]
41. Jensen, K.; Kristensen, L. Colored Petri nets: A graphical language for formal modeling and validation of concurrent systems.
Commun. ACM 2015, 58, 61–70. [CrossRef]
42. Jensen, K.; Kristensen, L. Coloured Petri Nets—Modelling and Validation of Concurrent Systems; Springer Science&Business Media:
New York, NY, USA, 2009.
Appl. Sci. 2022, 12, 6878 19 of 19

43. Azevedo, C.; Matos, A.; Lima, P.U.; Avendano, J. Petri net toolbox for multi-robot planning under uncertainty. Appl. Sci. 2021,
11, 12087.
[CrossRef]
44. Zuberek, W.M. Schedules of flexible manufacturing cells and their timed colored Petri net models. In Proceedings of the IEEE
International Conference on Systems, Man and Cybernetics, Vancouver, BC, Canada, 22–25 October 1995; pp. 2142–2147.
45. Fanti, M.P.; Giua, A.; Seatzu, C. Generalized mutual exclusion constraints and monitors for colored Petri nets. In Proceedings of
the IEEE International Conference on Systems, Man and Cybernetics, Washington, DC, USA, 5–8 October 2003; pp. 1860–1865.
46. Jensen, K.; Mailund, T.; ; Kristensen, L. State space methods for timed coloured Petri nets. Theor. Comput. Sci. Eatcs 2001, 176,
248–299.
47. Berg, M.D.; Cheong, O.; Kreveld, M.V.; Overmars, M. Computational Geometry: Algorithms and Applications; Springer:
Berlin/Heidelberg, Germany, 2008.
48. Parrilla, L.; Mahulea, C.; Kloetzer, M. Rmtool: Recent enhancements. IFAC-PapersOnLine 2017, 50, 5824–5830. [CrossRef]

You might also like