Distributed online assignment of charging stations in persistent coverage control tasks based on LP relaxation and ADMM

This paper investigates distributed online assignment of charging stations for a drone network in a persistent coverage control task. To ensure persistency not only in motion but also in energy, drones need to go back to charging stations before running out of their batteries. Coverage control schemes with energy persistency were presented in the literature based on so-called control barrier functions. These methodologies, however, assume a fixed correspondence between a drone and a charging station, but always returning to a preassigned station is not necessarily an efficient decision, namely the constraint may hinder the monitoring behaviour of the drones. Dynamically reassigning charging stations to drones is thus expected to enhance the coverage performance. To this end, we formulate an online assignment problem of charging stations with parameters determined by the control barrier function values in real time, and exactly relax the formulated optimization problem to a linear programming problem. We then propose a distributed solution to the problem based on ADMM and the overall partially distributed control architecture including persistent coverage control and online assignment of charging stations. The control system is finally demonstrated through Monte Carlo simulation.


Introduction
Drones are widely used for a variety of monitoring tasks due to their small size and ease of deployment [1][2][3]. Deploying multiple drones is expected to improve the work efficiency in monitoring vast areas. For this purpose, coverage control is one of the promising technologies which deploys mobile robots over a mission space optimally under a distributed control law [4][5][6]. Coverage control has also been applied to multiple drones to use their on-board camera for monitoring the environment [7][8][9]. While coverage control drives robots to a static optimal solution, such algorithms may not fully take advantages of mobility, and not suitable when dynamically changing environments need to be monitored. Motivated by this issue, persistent coverage control was presented in [10], where the robots persistently revisit points on the mission space.
Considering the differential characteristics of drones from ordinary robots, we have additional requirements. To ensure persistency in mission, we need to make sure that they keep safe battery levels. To certify the energy persistency, constraint-based controllers were presented in [11,12] based on the notion of control barrier function (CBF) [13]. In particular, these papers arrange charging stations on the mission space and guarantee that the drone always has enough power to return to the charging stations. However, the additional constraint may limit the distance between the drone and the preassigned charging station, which may prevent drones from fully exploiting their potential exploration capabilities. Dynamically reassigning the charging stations to drones is expected to mitigate the strong constraints on the drone motion and enhance the coverage performance.
In this paper, we design an algorithm to dynamically assign charging stations for the scenario of persistent coverage control. We first formulate an optimal assignment problem of charging stations to drones as an integer programming problem. We then relax the problem into a linear programming (LP) problem exactly and numerically demonstrate the computational advantages of the relaxed problem. The exact LP relaxation brings another benefit, namely the optimal assignment is computed in a distributed fashion by an existing distributed optimization technique. In this paper, we employ the alternating direction method of multipliers (ADMM), a wellknown distributed optimization algorithm [14][15][16][17], and present a novel partially distributed control architecture combining persistent coverage control and optimal assignment of charging stations. We finally conduct Monte Carlo simulations to verify that the present algorithm improves the monitoring efficiency.
The contributions of this paper are summarized as below.
• We present the concept of dynamically reassigning charging stations for persistent coverage control for the first time. • We propose a novel cost function based on a CBF to avoid a risk that reassignment prohibits drones from returning a charging station. • We reduce the assignment problem of charging stations into distributed convex optimization through LP relaxation. • We present a distributed control structure which combines the persistent coverage control and ADMM-based assignment algorithm of charging stations, and demonstrate its effectiveness through simulations.
The contents of this paper are in part presented in our conference version [18]. The incremental contribution of this paper is to add a Monte Carlo simulation to better present the effectiveness of the proposed algorithm.

Preliminary: CBF-based coverage control
Let us consider n drones with IDs I = {1, . . . , n} flying over the mission space Q ⊂ R 2 . As shown in Figure 1, drones are required to monitor the mission space Q by cameras mounted on the drones. A drone potentially can move in the three-dimensional space but, for simplicity, we assume that they are locally controlled so that their flight altitudes are common and fixed. Accordingly, the position of drone i ∈ I is represented by the 2-D coordinates p i ∈ R 2 other than the coordinate corresponding to the height. The dynamics of drone i ∈ I is then modelled asṗ where u i (t) ∈ R 2 is the control input to be designed later.
We assume that the camera of each drone i can observe the range within the circle with radius R centred at p i in the mission space as illustrated in Figure  1. Then the sensing range of the on-board camera of drone i can be formulated as To manage the area overlapping of other drones, we introduce so-called Voronoi partition defined as where p is a collection of p i (i ∈ I). The sensing region of drone i is then assumed to be characterized by the set In this paper, we address the monitoring task in the paradigm of coverage control [4]. To this end, we define the objective function to be maximized by the drones as following [4]. The function φ : Q × R ≥0 → R, called density function, represents relative importance over the mission space. The authors in [4,7] presented a gradient ascent algorithm for a time invariant density function φ to render J maximized but the strategy leads drones to a stationary configuration. Instead, we consider the persistent coverage control that requires drones to patrol the mission space while revisiting every point in the mission space infinitely often. The papers [10] revealed that the persistently covering motion is achieved by combining the gradient ascent algorithm with the density update The paper [12] further presents a constraint-based controller with the notion of CBF in order that drones meet additional requirements, namely performance guarantee and battery charging. The performance guarantee is reflected by the following constraint with a performance specification γ .
To describe the specification on the battery charging, Dan et al. [12] take the battery model where E i is the battery level of drone i. A charging station for drone i is then assumed to lie at q i on Q, and drone i can start charging only if it lies inside of the charging radius d ch . Namely, the battery level increases only when charging, and otherwise it decreases at the rate of K ch . Let us then define the function where E min denotes the minimal battery level that drones should maintain. We select a positive real value for k ch to let K ch /k ch ( p i −p i − d ch ) larger than the energy required by traveling the distance p i − q i . The specification of the battery charging is then reflected by the constraint To enforce (6) and (9), [12] presents the constraintbased controller u i = K i (p, t): with where λ i and ν i are the slack variables to allow constraint violations due to the conflicts among specifications. The non-negative λ and ν ( λ ν ) are weights that adjusted to let the guarantee of battery level have a higher priority than the coverage performance guarantee. The function β is a locally Lipschitz extended class K function.

Remark 2.1:
In this paper, we take a circular sensing range model in (2), but the above solution can be easily extended to another typical sensing range model, namely rectangular model, by using the gradient of J presented in [7] and accepting additional computation complexity.

Optimal assignment of charging stations
While (10) enforces drones to comply with the constraint (9), it may prohibit drones from leaving their preassigned charging stations further than their battery capacities. This kind of assignment may be unreasonable because drones need to land at their assigned charging stations even if other charging stations are much closer. To improve the monitoring efficiency, we update the assignment of charging stations in real time, based on the current state of the drones.
Let us now consider charging stations J = {1, . . . , m} placed on the mission space Q. We assume that only one drone can be charged at a station at the same time similarly to [11,12]. Differently from the previous section, m may differ from the number of drones n. In the sequel, the position of each charging station j ∈ J is denoted by s j ∈ Q. We assume that if a drone enters the disk centred at s j with radius d ch , it can start charging. Define a variable δ ij as Regardless of n and m, a drone needs to be assigned to at most one charging station. However, the other conditions for δ ij to satisfy vary depending on n and m. For example, when m < n, a charging station may have to accept multiple drones to ensure feasibility. Although some variations would be conceivable, we take the following conditions that δ ij has to satisfy.
(1) m > n, there are more charging stations than drones. In this case, it is reasonable to assume that each station accepts at most one drone and that no drone may be assigned to some charging stations. The specification is described as (2) m = n, there is a one-to-one correspondence between drones and charging stations. In this case, the variables need to satisfy (3) m < n, the number of drones is larger than charging stations, where multiple drones may be assigned to a charging station but too much congestion at a station needs to be possibly avoided. The specification can be described as Remark that all of the above formulations implicitly assume that only one drone can be charged at the same time at a station based on [11,12]. However, this restriction can be trivially eliminated. Let us denote, byn j , the maximal number of drones that can be charged simultaneously at station j, and definen = m j=1n j . Then, we replace the right-hand sides of the bottom constraints in (13), (14), and (15) byn j , and they are applied to the cases of n ≤n, n =n, and n ≥n, respectively. All of the subsequent results hold even under this modification.
To determine the optimal assignment of the charging stations, we formulate the optimization problem: (14), or (15). (16) In the problem, we must choose the parameter θ = (θ ij ) i∈I,j∈J appropriately so that it reflects the actual requirement. In this paper, we employ the function in (8) to design a penalty against assigning drone i to station j. To this end, we define where h ij,ch gets low, possibly negative, when E i is low and s j is far from p i . Similarly to (9), when h ij,ch is larger than 0, the battery level for drone i to visit charging station j is safe. Accordingly, drone i should be assigned to station j with a large h ij,ch . Based on this insight, θ ij in (16) should negatively correlated to h ij,ch . A trivial option is thus θ ij = 1/h ij,ch , but it does not penalize a pair such that h ij,ch < 0. We thus employ a function such that where ε and ε are very small positive values and ε > ε so that h ij,ch → θ ij is a monotonically decreasing function, as shown in Figure 2.

LP relaxation
In this section, we present solutions to the aforementioned optimization problems in (19). This kind of integer programming is well known to be NP-complete.
In the case with large number of drones, the computational time can be a bottleneck for the optimal assignment of the charging station. Now, it is trivial to see that [F G ] is totally unimodular using Theorem 19.3 in [19], and [1 n 1 m ] is an all-integer vector. In this case, all of the integer problems in (19) are known to be exactly relaxed to the linear programming problems: where the binary constraint δ ∈ {0, 1} nm is relaxed to x ∈ [0, 1] nm . All of these problems are further reformulated in a unified form: where b := [1 n 1 m ] . The definitions of , X , and A vary depending on the cases (13)-(15) as below.
where 0 m is the m-dimensional all-zero vector. It is thus sufficient to solve the unified problem (21). In the sequel, the dimension of X is denoted by N. We confirm improvement of the computational efficiency of the above relaxation by a simulation under a simpler scenario. To highlight only the computational time, we set the parameters used in (17) and (18) Figure 3 shows how the assignment is optimized with 10 drones and 10 charging stations. The relaxed optimization problem (16) gives exactly the same assignment as the original integer program Equation (21). We next compare the computation time between (16) and (21) under different numbers of drones and charging stations. Table 1 shows the average computational time of 1000 operations. We use the method of traverse to solve the integer optimization problem and linprog function in MATLAB to solve the linear programming problem. It can be observed that the linear programming is advantageous when n = m is equal to or larger than 7.

Distributed solution based on ADMM
For a large scale of problem, parallelization and distributed computing can greatly improve the efficiency so that we can take advantages of CPU's multiple cores and multiple machines. Another remarkable benefit of the above LP relaxation is that its distributed solution is obtained by distributed optimization techniques. Based on this idea, we employ a promising distributed optimization algorithm called alternating direction method of multipliers (ADMM) [14].
The problem described in (21) can be reformulated into the following ADMM form: where Z ∈ R N is a decision variable, and h : The augmented Lagrangian is formulated as where μ ∈ R N is the Lagrange multiplier associated with the equality constraint, X = Z. The ADMM algorithm is then formulated as follows [14]: where C : R N → R N denotes the projection to set C := {X | AX = b}, and for Y ∈ R N , it is defined as Let us now show that (25) is implemented in a partially distributed fashion. We first consider the cases of n > m and n < m. The variables x, Z, μ, and the parameter θ are decomposed as where x ij corresponds to δ ij . The augmented Lagrangian is then decomposed as Using the above local variables, parameters and local functions L i , the algorithm (25) is rewritten as The update laws (26a) and (26d) are then locally executed by drone i, while (26b), (26c), and (26e) are left to a central computer. The important feature of the present partially distributed architecture is that only the local update law (26a) relies on the time-varying θ i associated with the physical world. The same architecture is trivially obtained in the case of n = m also. Namely, in this case, the iterations (26a) and (26d) are run by drone i and (26c) is by the central computer.
The overall partially distributed control architecture is illustrated in Figure 4. The bottom block in the central computer (left) updates the density φ(q, t) based on {p i } i∈I , which is needed since the density depends on the history of the coverage states similarly to [10,12]. In the right box, the algorithm is divided into two blocks. The top one assigns a charging station, which corresponds to (26a) and (26d), and the bottom computes the control input u i based on (10). They exchange information of h ij,ch (j ∈ J ) and the assignment variable δ * ij (j ∈ J ). The top block in the right corresponds to (26b), (26c), and (26e), and it updates Z, y, and μ y based on X and μ x collected from the drones to manage the constraint AZ = b.

Remark 4.1:
It is undesirable that a drone is assigned to a charging station where another drone is charging, in the case of n ≤ m. Such an event is avoided by just setting E i to E min during the charging in the algorithm of drone i since drone i can never visit other station from the state E i = E min and at most one drone can be assigned to each station due to the bottom constraint in (13) or (14).

Simulation
In this section, we verify the effectiveness of the present distributed online assignment of charging stations.
In the simulation the mission space is set to a twodimensional square plane of [−2, 2] × [−2, 2]. The number of drones and charging stations is set to Table 2. Parameter setting in simulation. Parameters of the simulation are described in Table 2, where we set the performance certificate parameter to γ = 0. In the simulation, each drone is charged with the speed C ch and stops charging if the energy reached the upper boundĒ. The initial positions of the drones are randomly generated over the mission space as illustrated in Figure 5 Figure 5 shows the snapshots of the simulation with the present distributed solution after 0, 1, 19, 35, 36, and 119 times of iteration, where the drones are illustrated by blue dots and charging stations by the green circles. The colour of mission space represents the values of the time-varying density function φ(q, t). The yellow regions indicate high densities, while the blue low densities. The sensing range of each drone is illustrated by the red circle. We see from these figures that the drones spread out over the mission space. It can be also observed, from (a) to (b) and from (d) to (e), that  the assignment of charging stations is updated successfully. In (f), the drone in the upper centre has stopped at the charging station to charge its battery. Figure 6 shows the assignments of the charging stations for a longer time interval, where horizontal lines represent changes in the charging stations assigned to a drone, with different colours representing different charging stations. At initial state, the plot for drone 1 shows grey, which implies the drone 1 is assigned to the charging station 6. We see that the present algorithm continues to reassign the stations on an ongoing basis. Figure 7 shows time responses of the battery levels, where the dashed line indicates the minimum battery level E min . It is confirmed that the required level is maintained for all drones. It is concluded from the above results that the present algorithm works as expected. Remark that the speed of charging is much faster than the real. Nonetheless, we take this model since it is desired for drones to repeat battery charges many times within a limited time interval to validate the proposed algorithm. High fidelity simulation is left as future work.
We next discuss the performance of the present method, where we conduct comparative studies with the case without any online assignment of stations and the centralized solution to (21). Now, their performances will vary depending on the initial conditions. To get a general conclusion, we performed Monte Carlo simulations, where we run the above two algorithms and the present distributed solution 100 times for randomly generated initial positions of the drones with the same initial battery levels E 1 (0), . . . , E 6 (0) as above. Figure 8 shows the time responses of n i=1 p i − q * i and the average of the values of the objective function J obtained from the 100 simulations, where q * i is the position of the charging station assigned to drone i at each time. It can be observed from Figure 8(a) that the online assignment of the stations reduces the total sum of the distances for the drone-station pairs, which implies that the online assignment enhances the coverage performance. Figure 8(b) directly demonstrates the advantage of the online assignment in the coverage performance, where we see that the cases with the online assignment outperform that with fixed stations. In both figures, we also do not find any significant difference between centralized optimization and distributed optimization. In view of the limited information managed by the central computer, we conclude that the present distributed solution is superior to the centralized one.

Conclusion
In this paper, we addressed online assignment of charging stations for drones in the scenario of persistent coverage control task. We started formulating the assignment problem as a linear integer programming. Then, we designed the cost function based on the CBF for battery charging. The integer programming problem was then relaxed to a linear programming owing to the total unimodularity of the constraint matrix. We furthermore reformulated the relaxed problem as a distributed optimization form and adopted ADMM algorithm to solve it in a distributed manner. Finally, the effectiveness of distributed online assignment of charging stations was verified through Monte Carlo simulations.

Disclosure statement
No potential conflict of interest was reported by the author(s).

Funding
This work was supported in part by Japan Society for the Promotion of Science (JSPS) KAKENHI under Grant 21K04104. He received the Takeda Prize (2020) and Outstanding Paper Award (2020) from The Society of Instrumental and Control Engineers. His research interests include distributed optimization, population game and passivity-based control.

Notes on contributors
Junya Yamauchi received the Ph.D. degree from Tokyo Institute of Technology in 2018. He was an assistant professor at Tokyo Institute of Technology from 2018 to 2020 and is currently an assistant professor at the University of Tokyo from 2020. His research interests include autonomy in multi-robot systems.