Next Article in Journal
Sliding Mode Control of Electro-Hydraulic Position Servo System Based on Adaptive Reaching Law
Previous Article in Journal
Laboratory Testing and Theoretical Modeling of Deformations of Reinforced Soil Wall
Previous Article in Special Issue
Fluid Net Models: From Behavioral Properties to Structural Objects
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Path Planning of Multi-Type Robot Systems with Time Windows Based on Timed Colored Petri Nets

1
School of Electrical and Control Engineering, Shaanxi Unversity of Science and Technology, Xi’an 710021, China
2
College of Mechanical and Electrical Engineering, Shaanxi University of Science and Technology, Xi’an 710021, China
3
College of Electronic and Information Engineering, Hebei University, Baoding 071002, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2022, 12(14), 6878; https://doi.org/10.3390/app12146878
Submission received: 10 May 2022 / Revised: 29 June 2022 / Accepted: 3 July 2022 / Published: 7 July 2022
(This article belongs to the Special Issue Recent Advances in Petri Nets Modeling)

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.

1. Introduction

With the increase in complexity and diversity of tasks, a single robot may not satisfy the task requirement in some industrial applications, which has led to the creation of multirobot systems (MRSs) [1]. The main challenge for such systems is to coordinate the control and planning of multiple robots so that tasks are effectively finished. A large number of studies in the literature have been proposed to choose the optimum path trajectories for multiple robots to reach some task regions under certain requirements such as shortest travel distance, time windows, and obstacle avoidance [2,3,4,5,6,7].
The collaboration of multiple robots was a critical issue that has garnered much attention in recent decades. An improved particle swarm algorithm has been developed to 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 both static and dynamic obstacles in the workspace, a navigation strategy with priorities was presented [10]. To complete some collaborative tasks within time constraints, the distributed planning of robots was researched in [11,12] to ensure that enough robots are present at the task destinations within the given time constraints. In [13], an integer linear programming method was proposed for optimizing the path trajectories of warehouse robots so that pickup and delivery points are reached within given time windows. The path planning of MRSs with complex tasks has also drawn a great deal of attention in the literature [14,15,16,17,18,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,21,22,23]. Petri nets(PNs) are an efficient tool to model, analyze, and control discrete event systems [24,25,26,27,28,29,30,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:
  • 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.
  • 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.
  • 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,45,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 , C o , Pre , Post ) , where P is a set of n places; T is the a of m transitions; C l is a set of colors; C o : P T C l is a function that associates a set of colors from C l to each element in P T . For each p i P , C o ( p i ) = { a i , 1 , a i , 2 , , a i , u i } C l is the set of possible token colors in p i , and u i denotes the total number of possible token colors in p i . Analogously, for each t j T , C o ( t j ) = { b j , 1 , b j , 2 , , b j , v j } C l 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 N n × m are the pre- and post-incidence matrix. Each element Pre ( p i , t j ) is mapped from the set of occurrence colors of t j to a non-negative multiset over the set of colors of p i , i.e., Pre ( p i , t j ) : C o ( t j ) N ( C o ( p i ) ) , for i = 1 , , n and j = 1 , , m . We use Pre ( p i , t j ) to represent a matrix of u i × v j non-negative integers, where P r e ( p i , t j ) ( h , k ) denotes the weight of the arc from place p i with respect to color a i , h to transition t j with respect to color b j , k . The mapping for Post ( p i , t j ) can be analogously defined. The incidence matrix  C is an n × m matrix, where C ( p i , t j ) : C o ( t j ) Z ( C o ( p i ) ) , i = 1 , , n , j = 1 , , m , and C ( p i , t j ) = Post ( p i , t j ) Pre ( p i , t j ) .
The marking  M ( p i ) of place p i P is a non-negative multiset over C o ( p i ) . The mapping M ( p i ) : C o ( p i ) N is associated with each possible token color in p i , which is a non-negative integer representing the number of tokens of that color contained in place p i , and
M ( p i ) = s C o ( p i ) M ( p i ) ( s ) s .
where marking M ( p i ) is denoted as a column vector of u i non-negative integers that has an h-th component M ( p i ) ( h ) equal to the number of color tokens a i , h contained in place p i .
The marking M is defined as an n-dimensional column vector of multisets, where
M = [ M ( p 1 ) , , M ( p n ) ] T .
A colored Petri net system  N , M is a colored Petri net N with a marking M .
A transition t j T is enabled at a marking M with respect to color b j , k if for each p i P it holds M ( p i ) ( h ) P r e ( p i , t j ) ( h , k ) ( h = 1 , , u i ), and an enabled transition t j may fire yielding a new marking M , denoted by M [ t j ( k ) M , where M ( p i ) ( h ) = M ( p i ) ( h ) P r e ( p i , t j ) ( h , k ) + P o s t ( p i , t j ) ( h , k ) , p i P . A firing sequence σ = t j 1 ( k j 1 ) t j 2 ( k j 2 ) t j r ( k j r ) from M is a sequence of transitions, each one firing with respect to a given color such that
M [ t j 1 ( k j 1 ) M 1 [ t j 2 ( k j 2 ) M 2 t j r ( k j r ) M r .
Marking M is said to be reachable in N , M if there exists a firing sequence σ such that M [ σ M , and it holds that
M = M + C · σ ,
where σ = [ σ ( t 1 ) , , σ ( t m ) ] T is called the firing count vector of σ , and σ ( t j ) N ( C o ( 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 , C o , Pre , Post ) is a CPN,
  • θ ( t j ) is a non-negative multiset over C o ( t j ) . The mapping θ ( t j ) : C o ( t j ) N associates to each occurrence color of transition t j a non-negative integer fixed firing duration. We denote by θ = [ θ ( t 1 ) , , θ ( t m ) ] the firing delay vector, where θ ( t j ) = [ θ ( t j ) ( 1 ) , , θ ( t j ) ( v j ) ] .
We denote by G = N , θ , M 0 a TCPN system, where M 0 is an initial marking.
In the following, it is assumed that the moving environment  R = { r 1 , r 2 , , r n } 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 = { r 1 , , r 10 } . Two robots with different functions are initially deployed in regions r 3 (represented by blue circle C 1 ) and r 5 (represented by red circle C 2 ), respectively, i.e., K = 2 .
The TCPN system of the MTRS is shown in Figure 2. It consists of 10 places, P = { p 1 , , p 10 } , each of which represents a region, and 26 transitions, T = { t 1 , , t 26 } , 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.
Algorithm 1: Construct the TCPN model for the multi-type robot system
 Require: 
The working environment with K robots and n regions R = { r 1 , r 2 , , r n }
 Ensure: 
A TCPN system G = N , θ , M 0 and a distance vector w
1:
Let P = { p 1 , , p n } , T = ϕ , Pre = 0 , Post = 0 , θ = 0 , M 0 = 0 , w = 0 , m = 0
2:
Associate each region r i with a place p i in the place set P, i.e., each place p i P represents a region r i R ;
3:
      for each  p i P  do
4:
            for each  p j P , j i  do
5:
               if  p i and p j are adjacent, i.e., region r i and region r j are adjacent then
6:
                       m = m + 1 ;
7:
                       T = T { t m } ; %transition t m represents the movement from r i to r j
8:
                       θ ( t m ) ( k ) equals the average time for a C k type of robot moving from region r i to region r j , k = 1 , , K ;
9:
                       w ( t m ) ( k ) equals the average distance for a C k type of robot moving from region r i to region r j , k = 1 , , K ;
10:
                       Pre ( p i , t m ) = I K , Post ( p j , t m ) = I K , where I k denotes a K × K identity matrix;
11:
               end if
12:
            end for
13:
      end for
14:
      for  p i P  do
15:
             M 0 ( p i ) ( h ) = The number of robots with color a i , h initially located in region r i ;
16:
      end for
The possible color sets of each place p i P ( i = 1 , , 10 ) and each transition t j T ( j = 1 , , 26 ) are C o ( p i ) = { C 1 , C 2 } and C o ( t j ) = { C 1 , C 2 } , respectively. The initial marking M 0 = [ M 0 ( p 1 ) , , M 0 ( p 10 ) ] T of the TCPN system is a column vector that contains ten subvectors, where M 0 ( p 1 ) = [ 0 0 ] T , M 0 ( p 2 ) = [ 0 0 ] T , M 0 ( p 3 ) = [ 1 0 ] T , M 0 ( p 4 ) = [ 0 0 ] T , M 0 ( p 5 ) = [ 0 1 ] T , M 0 ( p 6 ) = [ 0 0 ] T , M 0 ( p 7 ) = [ 0 0 ] T , M 0 ( p 8 ) = [ 0 0 ] T , M 0 ( p 9 ) = [ 0 0 ] T , and M 0 ( p 10 ) = [ 0 0 ] T . Each element in subvector M 0 ( p i ) denotes the number of two different robots in region r i . The incidence matrix C of the TCPN system is a 10 × 26 matrix, where C ( p i , 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 p 6 are t 3 and t 6 (resp., t 4 and t 5 ).
C = Post ( p 1 , t 1 ) Pre ( p 1 , t 2 ) Pre ( p 1 , t 3 ) Post ( p 1 , t 4 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Pre ( p 3 , t 1 ) Post ( p 3 , t 2 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 6 , t 3 ) Pre ( p 6 , t 4 ) Pre ( p 6 , t 5 ) Post ( p 6 , t 6 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 7 , t 7 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 8 , t 5 ) Pre ( p 8 , t 6 ) Pre ( p 8 , t 7 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2
0 2 × 2 0 2 × 2 0 2 × 2 Pre ( p 1 , t 11 ) Post ( p 1 , t 12 ) 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 2 , t 9 ) Pre ( p 2 , t 10 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Pre ( p 3 , t 9 ) Post ( p 3 , t 10 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 4 , t 13 ) Pre ( p 4 , t 14 ) 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 5 , t 11 ) Pre ( p 5 , t 12 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Pre ( p 7 , t 8 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 8 , t 8 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Pre ( p 8 , t 13 ) Post ( p 8 , t 14 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2
0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Pre ( p 2 , t 15 ) Post ( p 2 , t 16 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Pre ( p 2 , t 21 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 4 , t 17 ) Pre ( p 4 , t 18 ) 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 5 , t 15 ) Pre ( p 5 , t 16 ) Pre ( p 5 , t 17 ) Post ( p 5 , t 18 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Pre ( p 7 , t 19 ) Post ( p 7 , t 20 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 9 , t 21 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 10 , t 19 ) Pre ( p 10 , t 20 ) 0 2 × 2
0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 2 , t 22 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Pre ( p 4 , t 25 ) Post ( p 4 , t 26 ) 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 0 2 × 2 Pre ( p 9 , t 22 ) Pre ( p 9 , t 23 ) Post ( p 9 , t 24 ) 0 2 × 2 0 2 × 2 0 2 × 2 Post ( p 10 , t 23 ) Pre ( p 10 , t 24 ) Post ( p 10 , t 25 ) Pre ( p 10 , t 26 )
Since every robot can have access to every region, we have
Pre ( p i , t j ) = Post ( p i , t j ) = 1 0 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 ( t 1 ) , , w ( t 26 ) ] , where w ( t j ) = [ w ( t j ) ( 1 ) , w ( t j ) ( 2 ) ] = [ 1 , 1 ] , and the firing delay vector θ = [ θ ( t 1 ) , , θ ( t 26 ) ] , 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 environment for the MTRSs: 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). We were interested in a variety of regions of the moving environment R I R , particularly set R I , which contains four disjoint subsets R k E , R k S , R U , and R A such that
R I = R k E R k S R U R A ,
where
  • R k E : set of exclusive task regions for C k type of robot;
  • R k S : set of collaborative task regions for C k type of robot;
  • R U : 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 { E k , S k , U , A } ,
where
  • Δ ( r ) = E k means that the exclusive task in region r can only be performed by C k type of robot;
  • Δ ( r ) = S k means that the task in region r should be cooperatively performed by C k 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 r i was associated with a time window [ e i , l i ] to indicate the earliest and the latest (global) time instant for visiting the task region r i . 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 = { r 1 , r 2 , , r n } 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.)
φ = ( r i 1 , Δ ( r i 1 ) , [ e i 1 , l i 1 ] ) , ( r i 2 , Δ ( r i 2 ) , [ e i 2 , l i 2 ] ) , , ( r i h , Δ ( r i h ) , [ e i h , l i h ] )
where r i j R I is an interest region; Δ ( r i j ) is a state function defined in Equation (1), and [ e i j , l i j ] is a given time window corresponding to region r i j .
Example 2.
The following task requirement for the MTRS depicted in Figure 1,
φ = ( r 1 , E 1 , [ 2 , 5 ] ) , ( r 8 , S 1 ) , ( r 8 , S 2 ) , ( r 10 , U , [ 20 , 30 ] ) , ( r 7 , A ) ,
requires that the task in region r 1 can only be performed by a C 1 robot in the time window [ 2 , 5 ] ; the task in region r 8 should be performed by two types of robot, i.e., C 1 and C 2 ; the task in region r 10 can be performed by any type of robot in time window [ 20 , 30 ] ; and all robots should avoid region r 7 . Note that the task in region r 8 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 = { r 1 , r 2 , , r n } . 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, an analytical approach was developed so that both the time windows and the logic requirement 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 r q 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 p q corresponding to forbidden region r q 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 p q and the column information from Pre and Post were removed. As a consequence, the forbidden regions were excluded from the planned trajectories. Note that t i · and · t i denote the output places and input places of transition t i , respectively.
Algorithm 2: Preprocessing of the forbidden regions
 Require: 
A TCPN system G = N , θ , M 0 , where N = ( P , T , C o , Pre , Post ) ;
 Ensure: 
A simplified TCPN system G = N , θ , M 0 that does not contain forbidden regions
1:
for each forbidden region r q R A  do
2:
   remove the row corresponding to the place p q from Pre , Post , and M 0 , respectively, where p q P is the place that represents region r q ;
3:
    P : = P { p q } ; % remove place p q from the set P
4:
    for each  t i T
5:
      if  t i · = p q or · t i = p q , then
6:
         remove the column corresponding to transition t i from Pre , Post , w , and θ , respectively; % remove the paths related to the forbidden region r q
7:
          T : = T { t i } ;% remove the input transition or output transition of p q 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 | t a s k | . 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 | t a s k | intermediate markings for the TCPN to finish all tasks, i.e.:
M j = M j 1 + C · σ j , j = 1 , , | t a s k |
where σ j = [ σ j ( t 1 ) , σ j ( t 2 ) , , σ j ( t m ) ] T is the firing count vector from M j 1 to M j . In other words, vector σ j represents all the movements of the MTRS from state M j 1 to state M j .
The exclusive tasks refer to those that can only be completed by a specific type of robot in exclusive regions. Only a C k robot can visit an exclusive task region r q R k E . To fulfill this logic requirement, the following constraint should be satisfied:
z q , k , j 1 M j ( p q ) ( k ) · H 1 z q , k , j M j ( p q ) ( k ) · H ( a ) j = 1 | t a s k | z q , k , j | t a s k | 1 ( b ) z q , k , j { 0 , 1 } j = 1 , , | t a s k |
where H R 0 is a large enough number.
Proof. 
If z q , k , j = 1 holds, then constraint (5a) can be simplified as follows:
0 M j ( p q ) ( k ) · H
Since H is a large enough number and M j ( p q ) ( k ) is a non-negative integer, constraint (6) becomes redundant. On the other hand, when z q , k , j = 0 holds, constraint (5a) can be simplified as follows:
1 M j ( p q ) ( k ) · H
which is equivalent to M j ( p q ) ( k ) 1 . This condition indicates that the exclusive task region r q R k E is visited by a C k robot at marking M j . Since z q , k , j { 0 , 1 } is a binary variable, constraint (5b) guarantees that at least one variable z q , k , j ( j = 1 , , | t a s k | ) is equal to zero. As a consequence, the exclusive task region r q will be visited by a C k robot at marking M j at least once.    □
For the time window [ e q , l q ] imposed on an exclusive task region r q R k E , it can be converted into a linear constraint as follows.
z q , k , j 1 M j ( p q ) ( k ) · H 1 z q , k , j M j ( p q ) ( k ) · H j = 1 | t a s k | z q , k , j | t a s k | 1 z q , k , j { 0 , 1 } ( a ) τ k , j = τ k , j 1 + θ · σ j τ k , 0 = 0 e q τ k , j [ 1 M j ( p q ) ( k ) + z q , k , j ] · H τ k , j l q [ 1 M j ( p q ) ( k ) + z q , k , j ] · H j = 1 , , | t a s k | ( b )
where θ = [ θ ( t 1 ) , , θ ( t m ) ] denotes the firing delay vector, and σ j = [ σ j ( t 1 ) , , σ j ( t m ) ] T denotes the firing count vector of all types of robots from M j 1 to M j . Parameter τ k , j R 0 represents the time instant when a C k robot arrives at marking M j .
Proof. 
According to Equation (5), condition (8a) ensures the logic requirement for the exclusive tasks. If a C k robot visits the exclusive task region r q at any marking M j ( j = 1 , , | t a s k | ), i.e., z q , k , j = 0 and M j ( p q ) ( k ) = 1 , the third and fourth constraints of (8b) can be simplified as follows:
e q τ k , j 0 τ k , j l q 0 e q τ k , j l q
As a consequence, it ensures that the time instant when a C k robot visits the region r q at marking M j will satisfy the prescribed time window constraint.
On the other hand, if the robot does not visit the exclusive task region r q at any marking M j ( j = 1 , , | t a s k | ), i.e., M j ( p q ) ( k ) = 0 , then the third and fourth constraint of (8b) can be simplified as follows:
e q τ k , j [ 1 + z q , k , j ] · H τ k , j l q [ 1 + z q , k , j ] · H
Since H is a large enough number and z q , k , j { 0 , 1 } , the above condition becomes redundant for a C k robot.    □
The collaborative tasks refer to those that should be cooperatively completed by different types of robots. For a collaborative task region r q R k S , region r q 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 r q R U , region r q should be visited by any type of robot. For each public region r q R U , we defined a vector v q , k = [ v q , k ( p 1 ) ( 1 ) , v q , k ( p 1 ) ( 2 ) , , v q , k ( p 1 ) ( u 1 ) , , v q , k ( p n ) ( u n ) ] , ( k = 1 , , | K | ) whose elements are zeros except for the q-th elements that are equal to one, i.e.,
v q , k ( p i ) ( k ) = 1 , if i = q 0 , else
Therefore, the constraint imposed on a public task region r q R U can be converted into the following linear constraints:
1 v q , k · j = 1 | t a s k | M j z q , k , j · H ( a ) k = 1 K j = 1 | t a s k | z q , k , j K · | t a s k | 1 ( b ) z q , 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 z q , k , j is equal to zero. When z q , k , j = 0 holds for any robot C k ( k = 1 , , K ) at any marking M j ( j = 1 , , | t a s k | ), so the constraint (9a) can be simplified as follows:
1 v q , k · j = 1 | t a s k | M j
which guarantees that the public task region r q R U will be visited by a C k robot at marking M j .
On the other hand, when z q , k , j = 1 holds for any type of robot C k ( k = 1 , , K ) at any marking M j ( j = 1 , , | t a s k | ), i.e., the public task region r q R U is not visited by a C k robot at marking M j , constraint (9a) can be simplified as follows:
1 v q , k · j = 1 | t a s k | M j H
Since H is a large enough number, this condition becomes redundant for a C k robot.    □
In the rest of this paper, we use o q , k , j = 0 (resp. o q , k , j = 1 ) to indicate that the public task region r q is visited by a C k robot at marking M j within (resp. outside) the predefined time window. The time window [ e q , l q ] imposed on a public task region r q R U can be converted into a linear constraint as follows.
1 v q , k · j = 1 | t a s k | M j z q , k , j · H k = 1 K j = 1 | t a s k | z q , k , j K · | t a s k | 1 z q , k , j { 0 , 1 } ( a ) τ k , j = τ k , j 1 + θ · σ j τ k , 0 = 0 ( b ) z q , k , j o q , k , j k = 1 K j = 1 | t a s k | o q , k , j K · | t a s k | 1 e q τ k , j [ 1 M j ( p q ) ( k ) + o q , k , j ] · H τ k , j l q [ 1 M ( p q ) ( k ) + o q , k , j ] · H o q , k , j { 0 , 1 } ( c ) k = 1 , , K j = 1 , , | t a s k |
where θ = [ θ ( t 1 ) , θ ( t 2 ) , , θ ( t m ) ] and σ j = [ σ j ( t 1 ) , , σ j ( t m ) ] T . Parameter τ k , j R 0 represents the time instant when a C k robot arrives at marking M j .
Proof. 
According to Equation (9), condition (10a) ensures the logic requirement for the public tasks. For a C k robot that visits the public task region r q at any marking M j ( j = 1 , , | t a s k | ), we have z q , k , j = 0 and M j ( p q ) ( k ) = 1 . Therefore, the constraint (10c) can be reduced to:
0 o q , k , j k = 1 K j = 1 | t a s k | o q , k , j K · | t a s k | 1 e q τ k , j o q , k , j · H τ k , j l q o q , k , j · H o q , k , j { 0 , 1 }
Since variable o q , k , j is binary, we have the following two situations: (1) if o q , k , j = 0 holds, condition (11) can be reduced to:
e q τ k , j 0 τ k , j l q 0 e q τ k , j l q
which consequently ensures that the time instant when the public task region r q is visited by a C k robot at marking M j satisfies the predefined time window [ e q , l q ] ; (2) if o q , k , j = 1 holds, condition (11) can be reduced to:
e q τ k , j H τ k , j l q H
which becomes redundant. As a consequence, a C k robot will visit the public task region r q without any specified time constraint. The first and second constraints of (10c) ensure that at least one robot will visit the public task region r q within the time window [ e q , l q ] .
For a C k robot that does not visit the public task region r q at any marking M j ( j = 1 , , | t a s k | ), i.e., M j ( p q ) ( k ) = 0 , the constraint (10c) can be reduced to:
e q τ k , j H τ k , j l q H
which is a redundant constraint and imposes no time constraint for a C k robot.    □

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:
min w · j = 1 | t a s k | σ j M j = M j 1 + C · σ j ( a ) z q , k , j 1 M j ( p q ) ( k ) · H 1 z q , k , j M j ( p q ) ( k ) · H j = 1 | t a s k | z q , k , j | t a s k | 1 e q τ k , j [ 1 M j ( p q ) ( k ) + z q , k , j ] · H τ k , j l q [ 1 M j ( p q ) ( k ) + z q , k , j ] · H ( b ) 1 v q , k · j = 1 | t a s k | M j z q , k , j · H k = 1 K j = 1 | t a s k | z q , k , j K · | t a s k | 1 z q , k , j o q , k , j k = 1 K j = 1 | t a s k | o q , k , j K · | t a s k | 1 e q τ k , j [ 1 M j ( p q ) ( k ) + o q , k , j ] · H τ k , j l q [ 1 M ( p q ) ( k ) + o q , k , j ] · H τ k , j = τ k , j 1 + θ · σ j τ k , 0 = 0 ( c ) z q , k , j { 0 , 1 } o q , k , j { 0 , 1 } k = 1 , , K j = 1 , , | t a s k | ( d )
Note that w = [ w ( t 1 ) , , w ( t m ) ] 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 , , | t a s k | ) 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 path k , 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 ( n 2 ) , O ( n · m ) and O ( | T a s k | · m 2 ) , respectively, where n denotes the number of regions (or places), m denotes the number of transitions and | T a s k | 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.
Algorithm 3: Iterative construction of the paths of each type of robot
 Require: 
TCPN system G = N , θ , M 0 , N = ( P , T , C o , Pre , Post ) , incidence matrix C = Post Pre , firing count vector σ j ( j = 1 , , | t a s k | )
 Ensure: 
Path of each type of robot p a t h k , k = 1 , 2 , , K
1:
Let M = M 0 , j = 0 , path k = ϵ , k = 1 , , K
2:
while j | t a s k | do
3:
      while  1 T · σ j 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 C k from the input places · t of t;
7:
                      Assign movement corresponding to t to a C k robot, i.e., a C k robot moves from the input places · t of t to the output places t · of t (i.e., from region r · t to region r t · );
8:
                      Let path k : = path k · r · t · r t · %update the path of C k 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 = { r 1 , r 2 , , r 74 } . 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., C 1 robot in region r 16 (blue dot); C 2 robot in region r 36 (purple dot); and C 3 robot in region r 49 (brown dot).
The TCPN model of the MTRS is shown in Figure 4. It consists of 74 places and 218 transitions. We assumed that the distance and the moving time between adjacent regions were equal to one, i.e., w = [ w ( t 1 ) , w ( t 2 ) , , w ( t 218 ) ] = 1 1 × 218 and θ = [ θ ( t 1 ) , θ ( t 2 ) , , θ ( t 218 ) ] = 1 1 × 218 . For the MTRS in Figure 3, we assumed that the set of interest regions are:
  • R 1 E = { r 65 , r 69 } , R 2 E = { r 3 } , R 3 E = { r 24 , r 45 } ;
  • R 1 S = { r 10 } R 2 S = { r 21 } , R 3 S = { r 21 , r 10 } ;
  • R U = { r 11 , r 37 , r 68 } ;
  • R A = { r 13 , r 48 } .
For the temporal requirement, we assumed that the task regions r 69 , r 3 , r 24 , r 45 , r 21 , r 10 , and r 11 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:
φ = ( r 65 , E 1 ) , ( r 69 , E 1 , [ 10 , 12 ] ) , ( r 3 , E 2 , [ 3 , 5 ] ) , ( r 24 , E 3 , [ 10 , 15 ] ) , ( r 45 , E 3 , [ 17 , 25 ] ) , ( r 21 , S 2 , [ 8 , 22 ] ) , ( r 21 , S 3 , [ 8 , 22 ] ) , ( r 10 , S 1 , [ 3 , 8 ] ) , ( r 10 , S 3 , [ 3 , 8 ] ) , ( r 13 , A ) , ( r 48 , A ) , ( r 11 , J , [ 15 , 20 ] ) , ( r 37 , J ) , ( r 68 , J ) ,
which requires that task region r 65 be visited by a C 1 robot; task region r 69 be visited by a C 1 robot in the time window [ 10 , 12 ] , task region r 3 be visited by a C 2 robot in the time window [ 3 , 5 ] ; task region r 24 be visited by a C 3 robot in the time window [ 10 , 15 ] ; task region r 45 be visited by a C 3 robot in the time window [ 17 , 25 ] ; task region r 21 be visited by C 2 and C 3 robots in the time window [ 8 , 22 ] ; task region r 10 be visited by C 1 and C 3 robots in the time window [ 3 , 8 ] ; task region r 11 be visited by any type of robot in the time window [ 15 , 20 ] ; tasks regions r 37 and r 68 be visited by any type of robot; and all robots should avoid regions r 13 and r 48 . Note that the task regions r 65 , r 37 and r 68 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:
  • path 1 (Blue): r 16 r 71 r 19 r 10 r 60 r 63 r 68 r 55 r 65 r 57 r 67 r 69 ;
  • path 2 (Purple): r 36 r 1 r 5 r 30 r 3 r 30 r 5 r 1 r 37 r 21 ;
  • path 3 (Brown): r 49 r 52 r 56 r 9 r 62 r 61 r 60 r 10 r 19 r 71 r 73 r 72 r 24 r 29 r 2 r 20 r 39 r 11 r 6 r 21 r 45 .
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.
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.

7. Conclusions

This paper addressed the path planning of multi-type robot systems with time windows 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 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. [Google Scholar]
  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. [Google Scholar] [CrossRef] [Green Version]
  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. [Google Scholar]
  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. [Google Scholar]
  5. Ma, H.; Koenig, S. AI Buzzwords Explained: Multi-Agent Path Finding. AI Matters 2017, 3, 15–19. [Google Scholar] [CrossRef] [Green Version]
  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. [Google Scholar] [CrossRef] [Green Version]
  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. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar]
  16. Mahulea, C.; Montijano, E.; Kloetzer, M. Distributed multirobot path planning in unknown maps using Petri net models. IFAC-PapersOnLine 2020, 53, 2063–2068. [Google Scholar] [CrossRef]
  17. Kloetzer, M.; Mahulea, C. LTL-based planning in environments with probabilistic observations. IEEE Trans. Autom. Sci. Eng. 2015, 12, 1407–1420. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar]
  24. Ma, Z.; He, Z.; Li, Z.; Giua, A. Design of supervisors for linear marking specifications in labeled petri nets. Automatica 2022, 136, 110031. [Google Scholar] [CrossRef]
  25. He, Z.; Ma, Z.; Tang, W. Performance safety enforcement in strongly connected timed event graphs. Automatica 2021, 128, 109605. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  28. Gomes, L.; Barros, J. Structuring and composability issues in Petri nets modeling. IEEE Trans. Ind. Inform. 2005, 1, 112–123. [Google Scholar] [CrossRef] [Green Version]
  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. [Google Scholar]
  30. Rocha, J.; Dias, P.; Gomes, L. Improving synchronous dataflow analysis supported by petri net mappings. Electronics 2018, 7, 448. [Google Scholar] [CrossRef] [Green Version]
  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. [Google Scholar] [CrossRef]
  32. Mahulea, C.; Kloetzer, M. Robot planning based on boolean specifications using Petri net models. IEEE Trans. Autom. Control 2018, 63, 2218–2225. [Google Scholar] [CrossRef] [Green Version]
  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. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar]
  38. Huang, L.; Qu, H.; Zuo, L. Multi-type UAVs cooperative task allocation under resource constraints. IEEE Access 2018, 6, 17841–17850. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  42. Jensen, K.; Kristensen, L. Coloured Petri Nets—Modelling and Validation of Concurrent Systems; Springer Science&Business Media: New York, NY, USA, 2009. [Google Scholar]
  43. Azevedo, C.; Matos, A.; Lima, P.U.; Avendano, J. Petri net toolbox for multi-robot planning under uncertainty. Appl. Sci. 2021, 11, 12087. [Google Scholar] [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. [Google Scholar]
  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. [Google Scholar]
  46. Jensen, K.; Mailund, T.; Kristensen, L. State space methods for timed coloured Petri nets. Theor. Comput. Sci. Eatcs 2001, 176, 248–299. [Google Scholar]
  47. Berg, M.D.; Cheong, O.; Kreveld, M.V.; Overmars, M. Computational Geometry: Algorithms and Applications; Springer: Berlin/Heidelberg, Germany, 2008. [Google Scholar]
  48. Parrilla, L.; Mahulea, C.; Kloetzer, M. Rmtool: Recent enhancements. IFAC-PapersOnLine 2017, 50, 5824–5830. [Google Scholar] [CrossRef]
Figure 1. A simple MTRS for examples 1 and 2.
Figure 1. A simple MTRS for examples 1 and 2.
Applsci 12 06878 g001
Figure 2. The TCPN system corresponding to the MTRS in Figure 1.
Figure 2. The TCPN system corresponding to the MTRS in Figure 1.
Applsci 12 06878 g002
Figure 3. An MTRS with three different types of robots.
Figure 3. An MTRS with three different types of robots.
Applsci 12 06878 g003
Figure 4. The TCPN system corresponding to the MTRS in Figure 3.
Figure 4. The TCPN system corresponding to the MTRS in Figure 3.
Applsci 12 06878 g004
Figure 5. Gantt chart of the obtained paths.
Figure 5. Gantt chart of the obtained paths.
Applsci 12 06878 g005
Table 1. Description of places and transitions in Figure 2.
Table 1. Description of places and transitions in Figure 2.
PlaceDescriptionTransitionDescriptionTransitionDescription
p 1 Region r 1 t 1 Moving to r 1 from r 3 t 14 Moving to r 8 from r 4
p 2 Region r 2 t 2 Moving to r 3 from r 1 t 15 Moving to r 5 from r 2
p 3 Region r 3 t 3 Moving to r 6 from r 1 t 16 Moving to r 2 from r 5
p 4 Region r 4 t 4 Moving to r 1 from r 6 t 17 Moving to r 4 from r 5
p 5 Region r 5 t 5 Moving to r 8 from r 6 t 18 Moving to r 5 from r 4
p 6 Region r 6 t 6 Moving to r 6 from r 8 t 19 Moving to r 10 from r 7
p 7 Region r 7 t 7 Moving to r 7 from r 8 t 20 Moving to r 7 from r 10
p 8 Region r 8 t 8 Moving to r 8 from r 7 t 21 Moving to r 9 from r 2
p 9 Region r 9 t 9 Moving to r 2 from r 3 t 22 Moving to r 2 from r 9
p 10 Region r 10 t 10 Moving to r 3 from r 2 t 23 Moving to r 10 from r 9
\\ t 11 Moving to r 5 from r 1 t 24 Moving to r 9 from r 10
\\ t 12 Moving to r 1 from r 5 t 25 Moving to r 10 from r 4
\\ t 13 Moving to r 4 from r 8 t 26 Moving to r 4 from r 10
Table 2. Visiting time of each task region.
Table 2. Visiting time of each task region.
Task RegionsTime WindowVisiting Time of Each Task Region
r 65 [ 0 , + ] 8
r 69 [ 10 , 12 ] 11
r 3 [ 3 , 5 ] 4
r 24 [ 10 , 15 ] 12
r 45 [ 17 , 25 ] 20
r 21 [ 8 , 22 ] 9
r 21 [ 8 , 22 ] 19
r 10 [ 3 , 8 ] 3
r 10 [ 3 , 8 ] 7
r 11 [ 15 , 20 ] 17
r 37 [ 0 , + ] 8
r 68 [ 0 , + ] 6
Total travel distance40
Table 3. Simulation results for different cases.
Table 3. Simulation results for different cases.
Nb. of RegionsNb. of Task RegionsNb. of RobotsCPU Time [s]
Case 17412323
Case 2144165243
Case 31802385408
Case 4230311484256
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

He, Z.; Zhang, R.; Ran, N.; Gu, C. Path Planning of Multi-Type Robot Systems with Time Windows Based on Timed Colored Petri Nets. Appl. Sci. 2022, 12, 6878. https://doi.org/10.3390/app12146878

AMA Style

He Z, Zhang R, Ran N, Gu C. Path Planning of Multi-Type Robot Systems with Time Windows Based on Timed Colored Petri Nets. Applied Sciences. 2022; 12(14):6878. https://doi.org/10.3390/app12146878

Chicago/Turabian Style

He, Zhou, Ruijie Zhang, Ning Ran, and Chan Gu. 2022. "Path Planning of Multi-Type Robot Systems with Time Windows Based on Timed Colored Petri Nets" Applied Sciences 12, no. 14: 6878. https://doi.org/10.3390/app12146878

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop