Collaboration Robots
Collaboration Robots
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
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].
where s ∈ S is an element of set S and α(s) denotes the number of occurrences of the element s in
the set S.
M ( pi ) = ∑ M ( pi )(s) ⊗ s.
s∈Co ( pi )
M = [ M ( p1 ), . . . , M ( pn )] T .
M [t j1 (k j1 )i M1 [t j2 (k j2 )i M2 . . . t jr (k jr )i Mr .
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.
r6
r8
r1
r5 r4 r7
r1 r3
r10
r2
r5
r2 r9
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
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 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 )
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.
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.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 |
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
|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
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
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
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
t138
R A = {r13 , r48 }.
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
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.
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
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.
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]