Multi-Robot Routing for Persistent Monitoring with Latency Constraints
In this paper we study a multi-robot path planning problem for persistent monitoring of an environment. We represent the areas to be monitored as the vertices of a weighted graph. For each vertex, there is a constraint on the maximum time spent by the robots between visits to that vertex, called the latency, and the objective is to find the minimum number of robots that can satisfy these latency constraints. The decision version of this problem is known to be PSPACE-complete. We present a approximation algorithm for the problem where is the ratio of the maximum and the minimum latency constraints. We also present an orienteering based heuristic to solve the problem and show through simulations that in most of the cases the heuristic algorithm gives better solutions than the approximation algorithm. We evaluate our algorithms on large problem instances in a patrolling scenario and in a persistent scene reconstruction application. We also compare the algorithms with an existing solver on benchmark instances.
With the rapid development in field robotics, teams of robots can now perform long term monitoring tasks. Examples of such tasks include infrastructure inspection  to detect presence of anomalies or failures; patrolling for surveillance [2, 3] to detect threats in the environment; 3D reconstruction of scenes [4, 5] in changing environments; informative path planning  for observing dynamic properties of an area; and forest fire monitoring . In such persistent monitoring scenarios, locations in an environment need to be visited repeatedly by a team of robots. Since the duration of the events, or the rate of change of the properties to be monitored, can be different for different locations, each location will have a different latency constraint, which specifies the maximum time allowed between consecutive visits to that location. In this paper we study the problem of finding a set of paths that continually visit a set of locations while collectively satisfying the latency constraints on each location.
We represent the locations of interest in the environment as the vertices of a graph. The edge weights give the travel time between the vertices and each vertex has a latency constraint that defines the maximum allowed time between two consecutive visits to that vertex. The problem is to find walks on the graph for the minimum number of robots that can satisfy the latency constraints.
Related Work: Persistent monitoring problems have been extensively studied in the literature [8, 9, 10, 11]. In , persistent coverage using multiple robots in a continuous environment is considered. The problem of determining a visit sequence for a set of locations along with the time spent at each location to gather information is considered in [13, 14]. For the problem with latency constraints, the authors in  use incomplete greedy heuristics to find if a single robot can satisfy the constraints on all vertices of a graph. They show that if a solution exists, then a periodic solution also exists. In this paper, we consider the multi-robot problem and our objective is to minimize the number of robots that can satisfy the latency constraints on the given graph. This problem has been considered in [16, 17], where it is called Cyclic Routing of Unmanned Aerial Vehicles. The decision version of the problem for a single robot is shown to be PSPACE-complete in . The authors also show that the length of even one period of a feasible walk can be exponential in the size of the problem instance. In , the authors propose a solver based on Satisfiability Modulo Theories (SMT). To apply an SMT solver, they impose an upper bound on the length of the period of the solution. Since an upper bound is not known a priori, the solver will not return the optimal solution if the true optimal period exceeds the bound. The authors generate a library of test instances, but since their algorithm scales exponentially with the problem size, they solve instances up to only 7 vertices. We compare our algorithms with their solver and show that our algorithms run over times faster on average and return solutions with the same number of robots on of the benchmark instances provided by .
A related single robot problem is studied in  where each vertex has a weight associated with it and the objective is to minimize the maximum weighted latency (time between consecutive visits) for an infinite walk. The authors provide an approximation algorithm for this problem. The authors in  study the single robot problem for a security application where the length of attack on each vertex of the graph is given. To intercept all possible attacks, they design an algorithm to repeatedly patrol all vertices with the maximum revisit time to each vertex less than its length of attack.
Timed automata have been used to model general multi-robot path planning problems  as the clock states can capture the concurrent time dependent motion. In , temporal logic constraints are used to specify high level mission objectives to be achieved by a set of robots. The routing problem with latency constraints can also be modeled as a timed automaton since multiple robots may require synchronization to satisfy the latency constraints. A timed automaton based solution to the problem is presented in , however it is shown to perform more poorly than the SMT-based approach in , which we use as a comparison for our proposed algorithms.
Several vehicle routing problems are closely related to persistent monitoring with latency constraints. In the vehicle routing problem with time windows , customers have to be served within their time windows by several vehicles with limited capacity. The goal is to minimize the number of vehicles required. Since the problem does not require repeated visits, the length of the resulting tour is polynomially bounded, and thus the problem is in NP. In the deadline-TSP , the vertices have deadlines for first visits. In the period vehicle routing problem , the problem is to design routes for each day of a given period where each customer may require a number of visits (in a given number of allowable combinations) during this period. The main difference between these problems and the cyclic routing problem with latency constraints is that the latency constraints need to be satisfied indefinitely which makes it harder than these problems.
Contributions: We present a approximation algorithm for the problem where is the ratio of the maximum and the minimum latency constraints (Section IV). We also provide an algorithm for the problem of minimizing the maximum weighted latency with multiple robots and show that an approximation algorithm for this problem yields a bi-criterion approximation for our problem. We present an orienteering based heuristic algorithm to solve the problem and prove its completeness (Section V). We show through simulations that the heuristic algorithm gives better solutions than the approximation algorithm. We evaluate the performance of the algorithms on large problem instances in a patrolling scenario and in an image collection application for 3D scene reconstruction. We also compare our algorithms against an existing solver on benchmark instances (Section VI).
Ii Background and Notation
Given a directed graph with edge lengths for each , a simple walk in graph is defined as a sequence of vertices such that for each . An infinite walk is a sequence of vertices such that for each . Given walks and , represents the concatenation of the walks. Given a finite walk , an infinite periodic walk is constructed by concatenating infinite copies of W together, and is denoted by . A cycle is a simple walk that starts and ends at the same vertex with no other vertex appearing more than once.
In general, a walk can stay for some time at a vertex before traversing the edge towards the next vertex. Therefore we define a timed walk in graph as a sequence , where is an ordered pair that represents the holding time that the walk spends at vertex , such that for each . The definitions of infinite walk and periodic walk can be extended to infinite timed walk and periodic timed walk. A walk with ordered pairs of the form becomes a simple walk. The vertices traversed by walk are given by and the length of walk is given by . Since we are considering a multi-robot problem, synchronization between the walks is important. Given a set of walks on graph , we assume that at time , each robot is at the first vertex of its walk , and will spend the holding time at that vertex before moving to .
Given a graph and length , the Minimum Cycle Cover Problem (MCCP) is to find minimum number of cycles that cover the whole graph such that the length of the longest cycle is at most . This problem is NP-hard and a -approximation algorithm for MCCP is given in .
Given a graph with vertex weights for , and length , the Orienteering problem is to find a path from vertex to of length at most such that the sum of the weights on the vertices in the path is maximized. This problem is also NP-hard and a -approximation is given in .
Iii Problem Statement
Let be a directed weighted graph with edge lengths for each . The edge lengths are metric and represent the time taken by the robot to travel between the vertices. The latency constraint for each vertex is denoted by and represents the maximum time allowed between consecutive visits to . The time taken by the robots to inspect a vertex can be added to the length of the incoming edges of that vertex to get an equivalent metric graph with zero inspection times and modified latency constraints . Hence, we assume that the time required by the robots to inspect a vertex is zero. We formally define the problem statement after the following definition.
Definition III.1 (Latency).
Given a set of infinite walks on a graph , let represent the arrival time for the walks to vertex . Similarly, let represent the departure time from vertex . Then the latency of vertex on walks is defined as the maximum time spent away from vertex by the walks, i.e., .
Problem III.2 (Minimizing Robots with Latency Constraints).
Given the latency constraints , the optimization problem is to find a set of walks with minimum cardinality such that .
The decision version of the problem is to determine whether there exists a set of walks such that for all . Note that a general solution to Problem III.2 will be a set of timed walks with possibly non-zero holding times.
In this problem definition, the graph and its edge lengths capture the robot motion in the environment. This graph can be generated from a probabilistic roadmap, or any other environment decomposition method. The latency constraints provide the maximum allowable time between visits to a vertex. For example, in dynamic scene reconstruction, each vertex corresponds to a viewpoint . The latency constraints may encode the maximum staleness of information that can be tolerated for the voxels captured at that viewpoint.
Iii-a Multiple Robots on the Same Walk
In multi-robot problems that involve finding cycles or tours in a graph, equally placing robots on a tour reduces the cost of that tour by a factor of . That is not true for Problem III.2: if a periodic walk gives latency on vertex , equally spacing more robots on one period of that walk does not necessarily reduce the latency for that vertex. Figure 1 gives an example of such a walk. The latency of vertices and on the walk are and respectively. The length of one period of the walk is . If we place another robot following the first robot with a lag of units, the latency of vertex remains the same. If we place the second robot at a lag of unit, the latency will reduce to for vertex and for vertices and . Hence we need more sophisticated algorithms than finding a walk for a single robot and adding more robots on that walk until the constraints are satisfied, unless that walk is a cycle.
Iv Approximation Algorithm
Since Problem III.2 is PSPACE-complete, we resort to finding approximate and heuristic solutions to the problem. In this section, we present an approximation algorithm for the problem.
We first mention a simple approach to the problem and then improve it incrementally to get the approximation algorithm. One naive solution is to find a TSP tour of the graph and equally place robots on that tour to satisfy all the latency constraints. However, a single vertex with a very small can result in a solution with the number of robots proportional to . To solve this issue, we can partition the vertices of the graph such that the latencies in one partition are close to each other, and then place robots on the TSP tour of each partition. If more than one robot is required for a partition , then another approach is to solve the MCCP for that partition. The benefit of using the MCCP over placing multiple robots on a TSP is that if all the vertices in had the same latency requirement, then we have a guarantee on the number of cycles required for that partition. However, a general solution to the problem might not consist of simple cycles. Lemma IV.2 relates solutions consisting of cycles to general solutions and shows that a solution consisting of cycles will have latencies no more than twice that of any general solution with same number of robots. Therefore, if we solve the MCCP on a partition with its latency constraints multiplied by two, we have a guarantee on the number of cycles. We can then use the naive idea from TSP based solutions and place multiple robots on each cycle to satisfy the latency constraints.
The approximation algorithm is given in Algorithm 1. The first four lines of the algorithm partition the vertices according to their latency constraints. For each of those partitions, the function MCCP called in line 8 uses an approximation algorithm for the minimum cycle cover problem from . Then, the appropriate number of robots are placed on each cycle returned by the MCCP function to satisfy the latency constraints. We will need the following definition to establish the approximation ratio of Algorithm 1. A similar relaxation technique was used in .
Let . The latency constraints of the problem are said to be relaxed if for any vertex , its latency constraint is updated from to such that is the smallest integer for which .
We will also need the following lemma that follows from Lemma 2 in  and we omit the proof for brevity.
For any set of walks on an undirected metric graph with vertices , there exists a set of walks on with , such that each walk is a cycle of vertices , and the sets partition , and .
The following proposition gives the approximation factor of Algorithm 1.
Given an undirected metric graph with latency constraints for , Algorithm 1 constructs walks such that for all and , where is the minimum number of robots required to satisfy the latency constraints and is the approximation factor of MCCP.
Given that robots will satisfy the latency constraints , they will also satisfy the relaxed constraints since . Therefore, there exists a set of at most walks such that for , .
Using Lemma IV.2, given the set , cycles can be constructed in such that the latency of each vertex in is at most . Hence, running an approximation algorithm for Minimum Cycle Cover Problem (MCCP) on the subgraph with vertices and with maximum cycle length will not return more than cycles.
Since MCCP returns cycles, equally placing robots on each cycle will reduce the latency of each vertex on that cycle by a factor of . As for each , we will need to place at most robots on each cycle.
Finally, since there are at most partitions , the algorithm will return walks. ∎
Runtime: Since we run the approximation algorithm for MCCP on partitions of the graph, the runtime of Algorithm 1 is the same as that of the approximation algorithm of MCCP. That is because the runtime of MCCP is superlinear, so if , then for .
Remark IV.4 (Heuristic Improvements).
Instead of finding cycles using MCCP for each partition in line 8 of the algorithm, we can also equally place robots on the Traveling Salesman Tour of to get a feasible solution. In practice, we use both of these methods and pick the solution that gives the lower number of robots for each . This modification can return better solutions to the problem but does not improve the approximation guarantee established in Proposition IV.3.
Iv-B Relation to Min Max Weighted Latency
The approximation algorithm and analysis presented above helps in formulating an algorithm for the multi-robot version of a related problem. In , the authors study in detail the problem of minimizing the maximum weighted latency of a graph given a single robot. Here we define the multiple robot version of the problem.
Problem IV.5 (Minimizing Maximum Weighted Latency:).
Given a graph with weights for , and a set of walks , the weighted latency of is defined as . Given the number of robots , the problem of minimizing maximum weighted latency is to find a set of infinite walks such that the cost is minimized.
Without loss of generality, is assumed to be normalized such that . In this section we relate this problem to Problem III.2.
In [Algorithm 2], an approximation algorithm for the single robot version of Problem IV.5 is given. We will refer to that approximation algorithm as MinMaxLatencyOneRobot, which returns a walk in graph such that the maximum weighted latency of that walk is not more than , where is the ratio of maximum to minimum vertex weights in and is the optimal maximum weighted latency for one robot in . We use this approximation algorithm as a subroutine in Algorithm 2 for minimizing the maximum weighted latency with multiple robots.
The maximum vertex weight in the subgraph constructed at line 8 of the algorithm will be at most , whereas the minimum vertex weight in will be at least . Hence the ratio of the maximum to minimum vertex weights in will be at most . Therefore, the approximation algorithm for one robot will return a walk such that the maximum weighted latency of will not be more than . Moreover, and hence if , the maximum weighted latency will be at most .
The TSP tour of is an optimal solution when all the vertex weights in are equal. Since the vertex weights within differ by a factor of at most, and the approximation factor of TSP tour in metric graphs is , the maximum weighted latency of the TSP tour will be at most . Equally placing will decrease the latency of all the vertices by a factor of . ∎
Note that Algorithm 2 bounds the cost of the solution by a function of the optimal cost of a single robot. This algorithm shows that robots can asymptotically decrease the weighted latency given by a single walk by a factor of , which is not straightforward for this problem as discussed in Section III-A.
Now we show that if there is an approximation algorithm for Problem IV.5, it can be used to solve Problem III.2 using the optimal number of robots but with the latency constraints relaxed by a factor . This is referred to as a -bi-criterion algorithm  for Problem III.2.
We will need the following lemma relating the two problems to prove the proposition. Given an instance of the decision version of Problem III.2 with robots, let us define an instance of Problem IV.5 by assigning , where .
If the optimal set of walks has a cost more than , then for some vertex . Hence the latency constraint for that vertex is not satisfied and the set of walks is not feasible.
If the optimal set of walks has a cost at most , then for all . Hence, . So, the latency constraints are satisfied for all vertices and is feasible. ∎
Proof of Proposition iv.7.
If a problem instance of Problem III.2 with robots is feasible, then by Lemma IV.8 the optimal set of walks has a cost at most . The -approximation algorithm for the corresponding Problem IV.5 will return a set of walks with a cost no more than . Hence, , for all .
Hence, we can use binary search to find the minimum number of robots for which the -approximation algorithm for the corresponding Problem IV.5 results in a latency at most for all . This will be the minimum number of robots for which the problem is feasible. ∎
V Heuristic Algorithms
The approximation algorithm for Problem III.2 presented in Section IV is guaranteed to provide a solution within a fixed factor of the optimal solution. In this section, we propose a heuristic algorithm based on the orienteering problem, which in practice provides high-quality solutions.
V-a Partitioned Solutions
In general, walks in a solution of the problem may share some of the vertices. However, sharing the vertices by multiple robots requires coordination and communication among the robots. Such strategies may also require the robots to hold at certain vertices for some time before traversing the next edge, in order to maintain synchronization. This is not possible for vehicles that must maintain forward motion, such as fixed-wing aircraft. The following example illustrates that if vertices are shared by the robots, lack of coordination or perturbation in edge weights can lead to large errors in latencies.
Example: Consider the problem instance shown in Figure 2. An optimal set of walks for this problem is given by where , and . Note that walk starts by staying on vertex , while leaves vertex and leaves vertex . Also note that any partitioned solution will need robots. Moreover, if the length of edge changes from to , (e.g., if the robot’s speed increases slightly) the latencies of vertices and will keep changing with time and will go up to . Hence, a small deviation in robot speed can result in a large impact on the monitoring objective.
Since the above mentioned issues will not occur if the robots do not share the vertices of the graph, and the problem is PSPACE-complete even for a single robot, we focus on finding partitioned walks in this section. The general greedy approach used in this section is to find a single walk that satisfies latency constraints on a subset of vertices . Note that we do not know beforehand, but a feasible walk on a subset of vertices will determine . We then repeat this process of finding feasible walks on the remaining vertices of the graph until the whole graph is covered.
V-B Greedy Algorithm
We now consider the problem of finding a single walk on the graph that satisfies the latency constraints on the vertices in . Given a robot walking on a graph, let represent the vertex occupied by the robot after traversing edges (after steps) of the walk. Also, at step , let the maximum time left until a vertex has to be visited by the robot for its latency to be satisfied be represented by . If that vertex is not visited by the robot within that time, we say that the vertex expired. Hence, the vector represents the time to expiry for each vertex. At the start of the walk, , and evolves according to the following equation:
We will use the notation without the step if it is clear that we are talking about the current time to expiry. An incomplete greedy heuristic for the decision version of the problem with is presented in . The heuristic is to pick the vertex with minimum value of as the next vertex to be visited by the robot. This heuristic does not ensure that all the vertices on the walk will have their latency constraints satisfied since the distance to a vertex to be visited might get larger than . To overcome this, we propose a modification to the heuristic to apply it to our problem. Given a walk on graph , the function PeriodicFeasibility determines whether the periodic walk is feasible on the vertices that are visited by . This can be done simply in by traversing the walk and checking if the time to expiry for any of the visited vertices becomes negative. Given this function, the simple greedy algorithm is to pick the vertex subject to the constraint that PeriodicFeasibility returns true, where is the walk traversed so far. The algorithm terminates when all the vertices are either expired, or covered by the walk.
V-C Orienteering Based Greedy Algorithm
Algorithm 3 also finds partitioned walks by finding a feasible walk on a subset of vertices and then considering the remaining subgraph. The idea is to visit more vertices on the way to the greedily picked vertex. From the current vertex , the target vertex is picked greedily as described in Section V-B. Then the time is calculated in line 12 which is the maximum time to go from to for which the periodic walk remains feasible. In line 17, Orienteering finds a path in the vertices from to of length at most maximizing the sum of the weights on the vertices of the path. The set represents the expired vertices whose latencies cannot be satisfied by the current walk, and they will be considered by the next robot. The vertices with less time to expiry are given more importance in the path by setting weight for vertex . The vertices that are already in the walk will remain feasible, and so their weight is discounted by a small number to encourage the path to explore unvisited vertices.
The vertices covered by the walk added to the solution in line 21 are removed from the set of vertices before finding the rest of the walks. Hence the latencies of the vertices will be satisfied by only . We will show that every time is appended in line 17, it remains feasible on .
starts from a single vertex , and hence is feasible at the start. Let us denote as the walk before line 17 and as the walk after line 17. Due to line 12, if is feasible in a particular iteration, then will remain feasible. Hence the only vertices than can possibly have their latency constraints violated in are in the orienteering path from to . Consider any vertex in the path from to returned by the Orienteering function in line 17. If , then because of line 12. If , then and by line 14, . As is only visited once in , . ∎
An approximation algorithm for Orienteering can be used in line 17 of Algorithm 3. In our implementation, we used an ILP formulation to solve Orienteering. To improve the runtime in practice, we pre-process the graph before calling the Orienteering solver to consider only the vertices such that . We show in the next section that although the runtime of Algorithm 3 is more than that of Algorithm 1, it can still solve instances with up to vertices in a reasonable amount of time, and it finds better solutions.
Vi Simulation Results
We now present the performance of the algorithms presented in the paper. For the approximation algorithm, we used the LKH implementation  to find the TSP of the graphs instead of the Christofides approximation algorithm . This results in the loss of approximation guarantee but gives better results in practice. The orienteering paths in Algorithm 3 were found using the ILP formulation from  and the ILP’s were solved using the Gurobi solver .
Vi-a Patrolling an Environment
The graphs for the problem instances were generated randomly in a real world environment. The scenario represents a ground robot monitoring the University of Waterloo campus. Vertices around the campus buildings represent the locations to be monitored and a complete weighted graph was created by generating a probabilistic road-map to find paths between those vertices. Figure 3 shows the patrolling environment. To generate random problem instances of different sizes, random vertices were chosen from the original graph. The latency constraints were generated uniformly randomly between and where was chosen randomly between and for each instance. Here TSP represents the TSP length of the graph found using LKH.
For each graph size, random instances were created. The average run times of the algorithms are presented in Figure 4. As expected, Algorithm 3 is considerably slower than the approximation and simple greedy algorithms due to multiple calls to the ILP solver. However, as shown in Figure 5, Algorithm 3 also gives the minimum number of robots for most of these instances.
Vi-B Persistent 3D Scene Reconstruction
Another application of our algorithms is in capturing images for 3D reconstruction of a scene. Since existing algorithms focus on computing robot paths to map a static scene [5, 4], our algorithms could be applied to persistently monitor and thus maintain an up-to-date reconstruction of a scene that changes over time. To demonstrate this, we create problem instances using a method similar to . The viewpoints were generated on a grid around the building to be monitored. For each viewpoint, five camera angles were randomly generated, and best angle was selected for each viewpoint based on a view score that was calculated assuming a square footprint for the camera. For each camera angle, equally placed rays were projected onto the building within the footprint and a score was calculated based on the distance and incidence angle of the ray. This calculation is similar to that in , although they used a more detailed hemisphere coverage model.
After selecting the viewing angles, the final score of a camera pose was evaluated as in  by greedily picking the best viewpoint first and evaluating the marginal score of other viewpoints. The resulting graph had vertices. The latencies were set such that the most informative viewpoint is visited every minutes and on average each viewpoint is visited every minutes. Algorithm 3 found a solution in seconds using two walks, as shown in Figure 7. Note that Algorithm 1 returned a solution with robots.
Vi-C Comparison with Existing Algorithms in Literature
In [21, 16] the authors propose an SMT (Satisfiability Modulo Theory) based approach using Z3 solver  to solve the decision version of the problem. The idea is to fix an upper bound on the period of the solution and model the problem as a constraint program. The authors also provide benchmark instances for the decision version of the problem. We tested our algorithms on the benchmark instances provided and compare the results to the SMT based solver provided by .
Out of 300 benchmark instances, given a time limit of 10 minutes, the Z3 solver returned 182 instances as satisfiable with the given number of robots. We ran our algorithms for each instance and checked if the number of robots returned are less than or equal to the number of robots in the benchmark instance. The approximation algorithm satisfied instances whereas Algorithm 3 satisfied instances. The four satisfiable instances that Algorithm 3 was unable to satisfy had optimal solutions where the walks share the vertices, and Algorithm 3 returned one more robot than the optimal in all those instances. The drawback of the constraint program to solve the problem is the scalability. It spent an average of seconds on satisfiable instances whereas Algorithm 3 spent ms on those instances on average. Moreover, on one such instance where Algorithm 3 returned one more robot than the Z3 solver, Z3 solver spent 194 seconds as compared to ms for Algorithm 3. Note that these differences are for benchmark instances having up to vertices. As shown above, Algorithm 3 takes seconds for vertex instances whereas we were unable to solve instances with even vertices within an hour using the Z3 solver. Hence, the scalability of the Z3 based solver hinders its use for problem instances of practical sizes.
Vii Conclusion and Future Work
In this paper we presented and analyzed an approximation and a heuristic algorithm for the problem of finding the minimum number of robots that can satisfy the latency constraints for the vertices in a graph. We demonstrated the performance of the algorithms through simulations. We also presented and analyzed an algorithm for minimizing the maximum latency given multiple robots. Finding the relation between the partitioned optimal solution and a general optimal solution is an interesting direction for future work.
-  G. Cabrita, P. Sousa, L. Marques, and A. De Almeida, “Infrastructure monitoring with multi-robot teams,” in Int. Conf. on Intelligent Robots and Systems, 2010, pp. 18–22.
-  N. Basilico, N. Gatti, and F. Amigoni, “Patrolling security games: Definition and algorithms for solving large instances with single patroller and single intruder,” Artificial Intelligence, vol. 184, pp. 78–123, 2012.
-  A. B. Asghar and S. L. Smith, “Stochastic patrolling in adversarial settings,” in IEEE American Control Conf., 2016, pp. 6435–6440.
-  M. Roberts, D. Dey, A. Truong, S. Sinha, S. Shah, A. Kapoor, P. Hanrahan, and N. Joshi, “Submodular trajectory optimization for aerial 3D scanning,” in Int. Conf. on Computer Vision, 2017, pp. 5334–5343.
-  A. Bircher, K. Alexis, M. Burri, P. Oettershagen, S. Omari, T. Mantel, and R. Siegwart, “Structural inspection path planning via iterative viewpoint resampling with application to aerial robotics,” in IEEE Int. Conf. on Robotics and Automation, 2015, pp. 6423–6430.
-  N. Cao, K. H. Low, and J. M. Dolan, “Multi-robot informative path planning for active sensing of environmental phenomena: A tale of two algorithms,” in Int. Conf. on Autonomous Agents and Multi-Agent Systems, 2013, pp. 7–14.
-  L. Merino, F. Caballero, J. R. Martínez-De-Dios, I. Maza, and A. Ollero, “An unmanned aircraft system for automatic forest fire monitoring and measurement,” Journal of Intelligent & Robotic Systems, vol. 65, no. 1-4, pp. 533–548, 2012.
-  P. F. Hokayem, D. Stipanovic, and M. W. Spong, “On persistent coverage control,” in IEEE Conf. on Decision and Control, 2007, pp. 6130–6135.
-  N. Nigam and I. Kroo, “Persistent surveillance using multiple unmanned air vehicles,” in IEEE Aerospace Conf., 2008, pp. 1–14.
-  N. Nigam, S. Bieniawski, I. Kroo, and J. Vian, “Control of multiple uavs for persistent surveillance: algorithm and flight test results,” IEEE Transactions on Control Systems Technology, vol. 20, no. 5, pp. 1236–1251, 2012.
-  Y. Elmaliach, N. Agmon, and G. A. Kaminka, “Multi-robot area patrol under frequency constraints,” Annals of Mathematics and Artificial Intelligence, vol. 57, no. 3-4, pp. 293–320, 2009.
-  J. M. Palacios-Gasós, E. Montijano, C. Sagues, and S. Llorente, “Multi-robot persistent coverage using branch and bound,” in IEEE American Control Conf., 2016, pp. 5697–5702.
-  X. Yu, S. B. Andersson, N. Zhou, and C. G. Cassandras, “Optimal visiting schedule search for persistent monitoring of a finite set of targets,” in IEEE American Control Conf., 2018, pp. 4032–4037.
-  ——, “Optimal dwell times for persistent monitoring of a finite set of targets,” in American Control Conf., 2017, pp. 5544–5549.
-  J. Las Fargeas, B. Hyun, P. Kabamba, and A. Girard, “Persistent visitation under revisit constraints,” in IEEE Int. Conf. on Unmanned Aircraft Systems, 2013, pp. 952–957.
-  N. Drucker, M. Penn, and O. Strichman, “Cyclic routing of unmanned aerial vehicles,” in Int. Conf. on AI and OR Techniques in Constriant Programming for Combinatorial Optimization Problems. Springer, 2016, pp. 125–141.
-  H.-M. Ho and J. Ouaknine, “The cyclic-routing uav problem is pspace-complete,” in Int. Conf. on Foundations of Software Science and Computation Structures. Springer, 2015, pp. 328–342.
-  S. Alamdari, E. Fata, and S. L. Smith, “Persistent monitoring in discrete environments: Minimizing the maximum weighted latency between observations,” The International Journal of Robotics Research, vol. 33, no. 1, pp. 138–154, 2014.
-  M. M. Quottrup, T. Bak, and R. Zamanabadi, “Multi-robot planning: A timed automata approach,” in IEEE Int. Conf. on Robotics and Automation, vol. 5, 2004, pp. 4417–4422.
-  A. Ulusoy, S. L. Smith, X. C. Ding, C. Belta, and D. Rus, “Optimality and robustness in multi-robot path planning with temporal logic constraints,” The International Journal of Robotics Research, vol. 32, no. 8, pp. 889–911, 2013.
-  N. Drucker, “Cyclic routing of unmanned aerial vehicles,” Master’s thesis, Technion – Israel Institute of Technology, Israel, 2014.
-  O. Bräysy and M. Gendreau, “Vehicle routing problem with time windows, part I: Route construction and local search algorithms,” Transportation Science, vol. 39, no. 1, pp. 104–118, 2005.
-  J. N. Tsitsiklis, “Special cases of traveling salesman and repairman problems with time windows,” Networks, vol. 22, no. 3, pp. 263–282, 1992.
-  N. Christofides and J. E. Beasley, “The period routing problem,” Networks, vol. 14, no. 2, pp. 237–256, 1984.
-  W. Yu and Z. Liu, “Improved approximation algorithms for some min-max and minimum cycle cover problems,” Theoretical Computer Science, vol. 654, pp. 45–58, 2016.
-  C. Chekuri, N. Korula, and M. Pál, “Improved algorithms for orienteering and related problems,” ACM Transactions on Algorithms, vol. 8, no. 3, p. 23, 2012.
-  Y. Chevaleyre, “Theoretical analysis of the multi-agent patrolling problem,” in IEEE Int. Conf. on Intelligent Agent Technology, 2004, pp. 302–308.
-  R. K. Iyer and J. A. Bilmes, “Submodular optimization with submodular cover and submodular knapsack constraints,” in Advances in Neural Information Processing Systems, 2013, pp. 2436–2444.
-  K. Helsgaun, “An effective implementation of the Lin–Kernighan traveling salesman heuristic,” European Journal of Operational Research, vol. 126, no. 1, pp. 106–130, 2000.
-  N. Christofides, “Worst-case analysis of a new heuristic for the travelling salesman problem,” Carnegie-Mellon Univ Pittsburgh Pa Management Sciences Research Group, Tech. Rep., 1976.
-  A. N. Letchford, S. D. Nasiri, and D. O. Theis, “Compact formulations of the steiner traveling salesman problem and related problems,” European Journal of Operational Research, vol. 228, no. 1, pp. 83–92, 2013.
-  Gurobi, “Gurobi optimizer,” 2018. [Online]. Available: http://www.gurobi.com
-  L. De Moura and N. Bjørner, “Z3: An efficient SMT solver,” in Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems. Springer, 2008, pp. 337–340.