Keywords

1 Introduction

Wireless sensor networks (WSNs) have been widely deployed to support diverse applications, such as environment monitoring, military surveillance  [2, 11, 23]. Traditional sensor networks usually assume to deploy numerous small nodes each powered by an on-board battery with limited capacity. With such configurations, how to maximize network lifetime yet guaranteeing application requirements, like coverage quality and data transmission rate, has become a critical issue in sensor networks, as well as sensor activity scheduling and energy efficient routing  [4, 12, 20].

Recently, some have proposed to use rechargeable nodes each equipped with a chargeable battery to sustain a very long, or even perpetual operational time for sensor networks  [3]. Many energy replenishment techniques can be used to charge a node by harvesting energy from environmental sources, like sun, wind, etc.  [10, 14]. However, the cost of equipping each node with such an energy harvesting unit, e.g., a solar panel or windmill, may be too prohibitive. Also energy harvesting may be too dependent on unpredictable environmental conditions, which may degrade single node battery performance. In addition, in order to avoid disasters like collapsed bridges in different countries   [19] and bush fires in Australia  [18], wireless sensor nodes should be deployed on the bridge to monitor the health of the bridge and to detect early fire in forest. These nodes may have little or no access to the ambient source, which may cause constant interruption of power supply.

Another approach for charging rechargeable nodes is to use the wireless power transfer (WPT) technology  [24], where a charger with sufficient energy to get close enough to each individual node and transfer power wirelessly. The wireless power transfer method makes the charging process easy since no complicated mechanical mechanism is required to operate the sensor node. In the literature, many have studied how to use a wheeled mobile charger to charge nodes. Although the mobile charger is assumed to have large energy capacity, its movement also consumes energy. Hence, a key research issue is how to plan a charging route to efficiently charge as many as possible the mostly needed nodes in each single charging tour.

Several charging schemes have been proposed to design efficient charging tours  [6, 9, 13, 17, 21, 22]. For example, He et al.  [6] proposed a greedy charging scheme, named Nearest-Job Next with preemption (NJNP), which always selects the nearest requesting node to be charged by the mobile charger first. Analytical results on the number of charging requests served and the charging latency of each sensor node are provided. However, their solution cannot be guaranteed that all of the to-be charged sensors could be charged prior to their energy depletion time. Wang et al.  [17] considered a practical model where mobile chargers have limited capacity and their movements consume energy. Their aim is to maximize the recharge profit, the recharged energy less the traveling cost. In addition, the authors also considered the sensor’s alive time to avoid node failure before the mobile charger can recharge it. Two algorithms are proposed suitable to the context of the problem. Considering both the traveling time of the mobile charger and the charging time for a node, Ren et al.  [13] designed a novel charging scheme. The authors assumed that when charging a node, the node should be fully recharged to its battery capacity. Efficient sensor charging algorithms are proposed so as to charge as many nodes as possible in a given time span. Shih and Yang  [22] combined the charging issue with the network coverage quality. Besides using the residual energy for node selection, they also took into account network coverage to prioritize those coverage-critical nodes for the next charging tour. In these schemes, they assume that when charging a node, the node should be fully recharged to its battery capacity. Wu et al.  [21] argued that it may not be necessary to fully charge a node each time. Instead, they proposed a partial charging scheme to minimize the depletion of each node by charging a single node with an amount of energy to its some energy level.

Since Unmanned Aerial Vehicle (UAV) can move with required speed to cover sensors distributed in a large-scale area that is even inaccessible to human, some have proposed to use UAV instead of wheeled mobile charger to charge nodes  [1, 9]. The UAV-based wireless power transfer is able to maintain the wireless sensor network as a long-term monitoring system by regularly charge these sensor nodes. UAV charger has better performance and competence due to its fast-moving speed to charge sensor nodes, but similar to the wheeled mobile charger, the key issue of designing a UAV charging tour is to select which nodes to be charged and how to charge them. Johnson et al.  [9] studied the use of a UAV as a WPT charger and proposed a single node should be charged to its full battery capacity in each flight. The UAV also needs to recharge its own energy. Previous works redirect the UAV back to the base station which is connected to the power grid  [1]. However, such infrastructure could be unavailable in ad-hoc applications such as pollution, forest, bridge monitoring. To this end, a solar energy harvesting base station is required so it can charge the UAV when its energy is depleted. As a result, the network will no longer rely on electricity from the power grid.

In our work, we also study the UAV charging problem. Compared with the previous studies, we consider a scenario where in a remote harsh environment. A base station that uses a large solar panel to harvest energy for charging the UAV which is then responsible for charging sensor nodes is builded. This is motivated from the fact that many sensor networks are deployed in desolated areas without accessing power grids. Although theoretically a rechargeable sensor node will never die as long as it can be recharged in time, it would temporarily loss its functionality if it has depleted its energy while not yet been recharged. As such, network operational quality such as area coverage could be much degraded due to those temporary powered-off nodes.

Some past research only considered the residual energy of the sensor nodes as the only clue to recharge sensors. However, it is obvious that only considering the residual energy of sensors is not enough to avoid the occurrences of coverage holes in the network. In this paper, considering both the residual energy and coverage degree of sensors, we design a complete coverage and energy knowledge partial charging scheme (Co-EPaCS) to find and plan a charging schedule for the UAV so as to minimize network coverage breach. In our work, the network coverage breach is avoided by deploying more nodes equipped with rechargeable batteries. The coverage breach is temporary and it can be self-recovered after the nodes are recharged. We assume that all nodes can work continuously, then a discrete time model is adopt in which the continuous timeline is divided into consecutive slots each with equal length. For each slot, all sensors are in active state and at the beginning of each slot we choose active sensors with remaining energy less than a given threshold to become a candidate. A charging tour plan is then given according to the candidate’s priority.

The rest of the paper is organized as follows. Section 2 outlines the problem description to help understand the approach of this paper. Section 3 introduces the proposed charging scheme. Section 4 evaluates the performance of the proposed algorithms and shows the simulation results and Sect. 5 concludes the paper.

2 Problem Description

2.1 Network Model and Assumptions

We consider a sensor network consists of rechargeable nodes that are all randomly deployed in a 2D rectangular field. The set of rechargeable sensors are assumed to be static and homogenous and is denoted by \(V_s = \{s_i\}, i=1,2,3,...n\). Here \(s_i\) means a sensor node. Moreover, we consider that each sensor \(s_i\) is equipped with Global Positioning System (GPS) and each sensor can communicate with other sensors if the distance between these two sensors is less than a sensor’s communication range \(R_{c}\). A binary coverage model is assumed where the region covered by a sensor node is a disk with radius \(R_{s}\). Here \(R_{s}\) is the sensing radius of \(s_i\). In other words, each grid point can be considered as covered by \(s_i\) with a probability 1 if it is within the sensing radius of \(s_i\) and with a probability 0 (uncovered) when it is beyond \(s_i\)’s sensing range  [7, 16].

Under such assumptions, the location and energy level of each sensor \(s_i\) can be known before the UAV starts its charging task from the base station \(v_\text {bs}\). Figure 1 illustrates a sample of this work’s network model.

Fig. 1.
figure 1

Network model of the work.

In Fig. 1, we can see that the sensors are randomly deployed in a rectangular field located in a remote area, a single UAV charger \({UAV_{c}}\) is employed to perform the charging task to the sensor nodes. The UAV’s power source is from a solar powered base station located in the field. The arrow depicts the charging path of the UAV, which starts from the base station \(v_\text {bs}\) and must return back to \(v_\text {bs}\). The sensors’ energy level are differentiated in three colors. The green color represents full battery, the yellow color represents not full battery and the red color represents a sensor node’s battery is less than or equal to a pre-defined energy threshold. It means these nodes need to be charged immediately before they exhaust their energy. When performing a charging tour task, the UAV will start flying from \(v_\text {bs}\) and must return back to \(v_\text {bs}\) after finishing its charging tour task to recharge itself or rest for the next charging tour. Each sensor node \(s_i\) is powered by a rechargeable battery of limited energy, and it consumes energy when performing sensing, data processing, data transmissions and receptions. The \({UAV_{c}}\) flies at a constant speed v within the deployment field and replenishes the energy supply to a sensor \(s_i\) with a fixed charging rate r. The \({UAV_{c}}\) energy consumption while flying is \(e_f\), while hovering is \(e_h\) and while transferring energy to a sensor \(s_i\) is \(e_t\) during a charging tour. The total energy consumption of the \({UAV_{c}}\) for traveling and charging should not exceed its battery capacity \(E_\text {UAV}\), as shown in (1), where \(t_\text {charging}\) is the charging time.

$$\begin{aligned} {(t\times e_{f})+(t \times e_{h})+((r \times e_{t})\times t_\text {charging}) <E_\text {UAV}} \end{aligned}$$
(1)

We adopt an approximate one-day energy charging model for the base station  [8], which uses a quadratic curve to model the solar energy harvested in the daytime, while in the night, the harvested energy is zero.

2.2 Partial Recharging Model

Let \(B_{i}\) denote the total battery capacity of a sensor \(s_{i}\) and \(E_{i}\) denotes the amount of energy of a sensor \(s_{i}\) before charging, to partially charge \(s_{i}\), we use a unit charging strategy. We use \(\triangle _i\) to denote an amount of energy needed to be replenished to \(s_{i}\) at each charging tour. Thus, the amount of energy needed to charge to a sensor \(s_{i}\) to its full capacity is \(\triangle _i = {{B_i} - {E_i}} \). In our work, we assume that the energy charge to \(s_{i}\) at each time is a value in \(\{{\frac{\triangle _i}{2},\frac{\triangle _i}{3}}...,\frac{\triangle _i}{k}\}\) where k is an integer. The minimum amount of energy charged per charging tour is \(\triangle _\text {min} = \text {min}\{\triangle _i\}\). We also assume that the UAV can charge each sensor node with a fixed number of charging times no more than K per tour, where K is the number of possible charging to a sensor \(s_i\) per tour and it is a given non-negative constant integer. Since the UAV has limited energy capacity, it is hard to cover too much sensor nodes in a single flight tour. As a result, a sensor can only be charged once in a charging tour. Therefore, we set \(K=1\). Moreover, we adopt a discrete time model where the total time of each tour T, is divided into consecutive slots \(\tau _{q}, q=1, 2, ...\) each with equal length.

2.3 Problem Definition

To define the problem clearly, we us an undirected metric graph \(\mathcal {G}=(\mathcal {V}, \mathcal {E})\) to represent the rechargeable sensor network. Here vertex set \(\mathcal {V}= \{s_i, v_\text {bs}\}\). Elements in \(\mathcal {V}\) are connected through edges in \(\mathcal {E}\), which are possible UAV flight paths. The UAV is able to travel along edges and stop at some nodes to charge them. Given a set of to-be-charged sensors \(V_c\), we let \(\textit{TOUR}\) \(\buildrel \Delta \over = \) \(P((v_{\text {bs}},0)\rightarrow ({{s_{1}},e_{1}})\rightarrow ({{s_{2}},e_{2}})\rightarrow ...\rightarrow ({{s_{{j}}},e_{{j}}})...\rightarrow (v_{\text {bs}},0))\) be the charging tour for the UAV charger \(\textit{UAV}_{c}\). Here \({s_{j}} \in V_c\), \(e_{j}\) is the amount of energy charged to sensor \({s_{j}}\). The total energy consumed by \(\textit{UAV}_{c}\) cannot exceed its energy capacity \(E_\text {UAV}\), in addition, the total amount of energy being charged to a node \(s_i\) by \(\textit{UAV}_{c}\) per tour should not be greater than its energy demand \( {{B_i} - {E_i}} \). Let \({Z_j=1}\) if a target \(\textit{TAG}_j\) in the region can be covered by at least one sensor, \({Z_j=0}\) otherwise, the total time coverage breach occurs during a slot \(\tau _{q}\) can be defined as \({\sum \nolimits _{j } {{t_j}(1 - {Z_j})} }\). Here \(t_j\) is the duration \(\textit{TAG}_j\) can not be covered by at least one sensor.

The problem is to find a charging tour \(\textit{TOUR}\) for \(\textit{UAV}_{c}\) to charge the nodes in \(V_c\) from the network \(\mathcal {G}\) so that the network coverage breach is minimized. Since the value of the total coverage breach is related to the total time, we can use breach rate instead as the coverage performance criteria. The problem can be formulated as follows.

$$\begin{aligned} \mathcal {G} \Rightarrow \{ {V_c},\textit{TOUR}\} \left| {_{\arg \min \sum \nolimits _q {\frac{{\sum \nolimits _{j } {{t_j}(1 - {Z_j})} }}{{{\tau _q}}}} }} \right. \end{aligned}$$
(2)

3 Complete Coverage and Energy Knowledge Partial Charging Scheme (Co-EPaCS)

In this section, we will explain how the complete coverage and energy knowledge partial charging scheme (Co-EPaCS) works. There are two steps in our scheme, the first one is to find a subset of sensors to charge and to decide when to start a charging tour, the second one is to plan a charging tour for the UAV and recharging of sensors.

3.1 Finding a Subset of Sensors to Charge and Deciding When to Start a Charging Tour

The first stage of Co-EPaCS is to find a subset of sensors \(V_{c}\) to charge and to decide when to launch a charging tour for the UAV. In our work, once \(V_{c}\) is found, the base station \(v_\text {bs}\) will not receive any charging requests from other sensors in \(V_{s}\) before the UAV finishes its current charging task. Choosing an appropriate time to begin the charging tour depicts a design challenge that can significantly affects the solution performance in terms of energy consumption, thus we designed a pre-defined energy threshold, denoted by \(e_\text {thresh}\) that triggers the launching time of a charging tour. The pseudo-codes for the first step of Co-EPaCS are given in Algorithm 1. In line 1, the weights, denoted by \(w_{i}\) which combines both remaining energy \(E_{i}\) and coverage sets \(\textit{CS}_{i}\) for each sensor \(s_{i}\), aiming to avoid or delay existence of a coverage hole, is calculated. The design of the weights \(w_{i}\) is shown in (3). \({T_{i}^\text {CS}}\) denotes the total number of cover sets for a sensor \(s_{i}\). It means when a sensor \(s_i\) is about to exhaust its energy, its sensing range can be covered by \({T_{i}^\text {CS}}\) sets of sensors. Apparently, the larger \({T_{i}^\text {CS}}\) is, the less possibility coverage breach occurs.

figure a
$$\begin{aligned} {w_i} = \left\lfloor {\frac{{({B_i} - {E_i}) + (r \times {e_t})}}{{{B_i}}}} \right\rfloor \times \frac{1}{{T_i^\text {CS} + 1}} \end{aligned}$$
(3)

In line 2, the calculated weights \(w_{i}\) in (3) are sorted in a list denoted by \(l_{w}\) accordingly. An empty list of urgent nodes denoted by \(l_{u}\) is shown in line 3. Here, the urgent nodes are defined as the nodes that exceeds the energy threshold \(e_\text {thresh}\) and its energy battery will exhaust very soon. In line 5, the energy threshold \(e_\text {thresh}\) is calculated according to (4) which is derived from (3). Here \({\theta }\) is the energy consumption of a sensor \(s_{i}\).

$$\begin{aligned} {e_\text {thresh}} = \left\lfloor {\frac{{({B_i} - \theta ) + (r \times {e_t})}}{{{B_i}}}} \right\rfloor \times \frac{1}{{\left\lfloor {\textit{AVG}_{C}} \right\rfloor }} \end{aligned}$$
(4)

We use \({\lfloor {\textit{AVG}_{C}\rfloor }}\) as the average number of cover sets for all the sensors. When a senor \(s_{i}\)’s total number of cover sets \(T_{i}^\text {CS}\) is smaller than \({\lfloor {\textit{AVG}_{C}\rfloor }}\), this sensor is likely to be considered have a coverage hole. As shown in line 6 to 13, if a sensor \(s_{i}\)’s weight \(w_i\) in the weights list \(l_{w}\) is greater than the pre-defined energy threshold \(e_\text {thresh}\), \(s_{i}\) will be added to the urgent nodes list \(l_{u}\), the UAV will begin its charging tour and start to charge all the sensors \(V_{c}\) in \(l_{u}\) immediately, else it will start to charge all the sensors \(V_{s}\) in \(l_{w}\).

3.2 Planning UAV Charging Tour and Charging the Sensors

The second step of Co-EPaCS is planning a charging tour for the UAV and charging the sensors, as shown in Algorithm 2. Here we use a for loop to compute which sensors should be charged, how much energy \(\text {UAV}_{c}\) needs to fly to the sensors, recharge them and fly back to the base station \(v_\text {bs}\) without exceeding its battery capacity \(E_\text {UAV}\). Assuming a subset of sensors \(V_{c}\) in the urgent list \(l_{u}\) is computed according to Algorithm 1, if \(\textit{UAV}_{c}\)’s current energy level \(\triangle E_\text {UAV}\) is greater than a pre-defined minimum energy level \(\triangle {{E_\text {UAV}}_\text {min}}\), \(\textit{UAV}_{c}\) will first calculate how much energy it will consume to fly to the sensors in \(V_{c}\) to recharge them and then fly back to the base station \(v_\text {bs}\) before starting the charging tour. For each sensor \(s_{i}\) in \(V_{c}\), the distance between \(\textit{UAV}_{c}\) and \(s_{i}\) is computed, denoted as \(\textit{dist}_{i}\). For the most urgent sensor \(s_{d}\) that needs charging, if \(\textit{dist}_{d}\) is less than the distance \(\textit{UAV}_{c}\)’s remaining energy can take, which denoted as \(\textit{dist}_{\triangle E_\text {UAV}}\), \(\textit{UAV}_{c}\) will immediately fly to \(s_{d}\) and perform the charging task. If \(\textit{dist}_{d} \ge \textit{dist}_{\triangle E_\text {UAV}}\), we need to find another sensor from \(V_{c}\) where \(\textit{UAV}_{c}\)’s remaining energy can reach, then \(\textit{UAV}_{c}\) will fly to this sensor to recharge it. Note that once \(\textit{UAV}_{c}\) flies to a new destination sensor, its coordinate will be updated. However, if there is no sensor where \(\textit{UAV}_{c}\)’s remaining energy can reach, \(\textit{UAV}_{c}\) will fly back to \(v_\text {bs}\) to recharge itself. As shown in line 25 to 34, if the current weight \(w_{i}\) of a sensor to be charged in the urgent list \(l_{u}\) is greater than the pre-defined energy threshold \(e_\text {thresh}\), that sensor will exhaust its energy soon and needs to be charged immediately. The amount of energy \(e_{j}\) to be charged to those sensors is \(\left\lfloor {\frac{{{B_i} - {E_i}}}{2}} \right\rfloor \). The UAV will start its tour from sensor \(s_{i}\) with the highest weights \(w_{i}\) in the urgent nodes list \(l_{u}\) then flies to the sensor \(s_{i}\) with the second highest weight, and so forth else if the urgent list \(l_{u}\) is empty, the \(UAV_{c}\) charges the sensors in the weights list \(l_{w}\) in the same order else it flies back to the base station. Although this path planning is not the most energy-efficient, it ensures that the sensor who will exhaust its energy soon will be charged first to avoid coverage hole and prolongs the lifetime of the sensor network.

4 Performance Evaluation

4.1 Parameter Settings

We consider a sensor network consisting of 240 sensor nodes randomly deployed within a 1, 000 m \(\times 1,000\,\mathrm{m}^{2}\) area. The sensing range \(R_s\) of a node is 121 m. The UAV and the base station are both co-located in the center of the field. The base station’s solar energy maximum charging rate \(C_\text {max}\) is set to \({0.1-0.6}\). The energy capacity of the UAV is \({E_\text {UAV}=300}\) kJ. The battery (NiMH battery 1.2 V/2.5 Ah) capacity of each sensor \({s_{i}\in V_{s}}\) is \({B_{i}= 10.8}\) kJ  [15]. The residual energy of each sensors are generated in the range of 20%–60% of 10.8 kJ. The \(\textit{UAV}_{c}\) travels at a constant speed of \({v =7.33}\) m/s. The energy consumption rate for flying is \({e_{f}=121.9}\) W, for hovering is \({e_{h}=92.28}\) W and for energy transferring is \(e_{t}\) = 20 W. The charging rate r is 0.2. The energy consumption rate \(\theta \) of each sensor \({s_{i}}\) is 1.625 mW. A node is Urgent when its energy level reaches threshold \({e_\text {thresh}= 0.1}\). The energy charging efficient rate of the UAV to a sensor is 4 J/s.

figure b

To evaluate the performance of our proposed complete coverage energy knowledge partial charging scheme (Co-EPaCS), we compare Co-EPaCS with three existing algorithms, namely, TSP  [5], NJNP  [6] and PERS  [22]. In algorithm Traveling Salesman Problem (TSP), an approximation of the shortest closed tour is calculated without considering the to-be-charged sensors energy expiration time. For Nearest Job Next with Preemption (NJNP), it acts greedily by prioritizing the requesting nodes located at the nearest position from the mobile charger. The mobile charger is forced to preempt its motion towards the next scheduled node if a new request from a closer node is received meanwhile. For Priority-based Energy Replenishment Scheme (PERS), sensors are sorted by the time they exhaust their energy in a round and the UAV charger will visit the sorted sensors one by one. Full charging model is adopted for all these three algorithms.

4.2 Results and Discussions

Firstly, we compared the ratio of total coverage area and energy consumption of all nodes for the four algorithms against the simulation of time in days, as shown in Fig. 2. The results in Fig. 2(a) show that our proposed Co-EPaCS can still cover 87.24% of the target region after simulating 100 days, whereas PERS covers 73.71%, TSP covers 65.02% and NJNP only covers 30.37%.

Fig. 2.
figure 2

(a) Total coverage ratio vs time. (b) Energy consumption of all nodes vs time.

Figure 2(b) illustrates the total remaining energy percentage of all nodes after running a simulation of 100 days. The remaining percentage energy of all nodes for the Co-EPaCS algorithm is 38.72%, PERS is 34.36%, TSP is 20.02%, and NJNP is 18.17%. It can be seen that for NJNP and TSP algorithms their total initial energy of all nodes at the beginning of the simulation is about \(96\%\) then it significantly decreases at the end of the simulation. For Co-EPaCS and PERS, their total remaining energy at the beginning of the simulation is about \(70\%\) then it decreases at the end of the simulation, however, not significantly compared to TSP and NJNP algorithms. The rationale behind this, TSP and NJNP algorithms sends request message to the UAV when their energy level is low. The UAV receives the message it immediately flies out to the field to start the charging process. As a result, the UAV will consume more energy by moving inefficiently and redundantly. In contrast to TSP and NJNP, our proposed Co-EPaCS and PERS both use an energy threshold \(e_\text {thresh}\) to determine when the UAV should start the charging task, avoiding redundant movement of the UAV. Despite this, our Co-EPaCS algorithm still outperforms PERS because the UAV partially charges the sensors, whereas PERS, TSP and NJNP all adopts the full charging strategy.

Secondly, we investigate the performance of the four algorithms on the impact of energy charging strategy, by decreasing the energy charging unit \(\varOmega \) from \({\triangle _i}\) to \(\frac{\triangle _i}{5}\). As shown in Fig. 3, full charging strategy is adopted when \(\varOmega = \triangle _i\), while partial charging strategy is adopted when \(\varOmega \) is \(\frac{\triangle _i}{2}\), \(\frac{\triangle _i}{3}\), \(\frac{\triangle _i}{4}\) or \(\frac{\triangle _i}{5}\). Figure 3(a) shows that our CO-EPaCS algorithm outperforms PERS, TSP and NJNP in terms of shortening the sensors energy expiration time in full charging strategy and partial charging strategy. The average failure time per sensor of Co-EPaCS is stable from 5.04 days to 5.20 days, PERS is from 10.06 days to 10.96 days, TSP is from 17.35 days to 13.80 days and NJNP is from 17.31 days to 18.17 days.

Fig. 3.
figure 3

(a) Average failure time per sensor vs time. (b) Network lifetime vs energy charging unit.

On the other hand, Fig. 3(b) implies the network lifetime, which is defined as the duration from the start of the simulation till the time the first coverage hole occurs. The network lifetime for Co-EPaCS keeps increasing from 19.2% to 28.25% when \(\varOmega \) decreases. The network lifetime for PERS increases when the value of \(\varOmega \) decreases from \(\triangle _i\) to \(\frac{\triangle _i}{2}\), then it drops down to \(8.4\%\) when \(\varOmega = \frac{\triangle _i}{3}\) and when \(\varOmega \) decreases from \(\frac{\triangle _i}{3}\) to \(\frac{\triangle _i}{5}\) it significantly increases to \(25.25\%\). The Network lifetime for TSP is stable all throughout from 8.25 days to 8.4 days. The Network lifetime for NJNP is also stable from 0.33 days to 0.25 days, before it significantly increases to 15.66 days when the value of \(\varOmega \) is from \(\frac{\triangle _i}{3}\) to \(\frac{\triangle _i}{5}\). In summary, we can see from Fig. 3 the performances of our proposed Co-EPaCS algorithm achieves the finest trade-off between minimizing the failure time per sensor and prolonging the network lifetime. It can be noted that both Co-EPaCS and PERS provide greater results, since they both consider residual energy and coverage of sensors whereas TSP and NJNP only take into account the residual energy of the sensors.

Thirdly, we investigate the impact of varying the UAV energy capacity by increasing \(E_{UAV}=10000\) J to \(E_{UAV}=350000\) J. We compare the breach rate for the four algorithms against the UAV energy capacity, respectively.

Fig. 4.
figure 4

(a) Breach rate vs energy capacity. (b) Cumulative distribution functions vs burst value.

In Fig. 4(a), it is not unexpected that the breach rate decreases as the \(E_{UAV}\) increases. Co-EPaCS outperforms PERS, TSP and NJNP by achieving the smallest and stable breach rate from 45% to 40%, PERS is from 47% to 42%, TSP is from 57% to 48% and NJNP is from 58% to 44%. We can see Co-EPaCS still outperforms other three algorithms. The reason for this is because PERS, TSP and NJNP all adopt the full charging model which increases the rate of coverage breach whereas our novel partial charging model can minimize the breach rate and provide a better result.

At last, we compared the changes of the four algorithms’ cumulative distribution functions (CDFs) with the increase of burst value. A burst breach slot is defined as a coverage breach slot with two or more consecutive breach slots. The number of breach slots in each burst breach is defined here as burst value. As we can see in Fig. 4(b), the convergence speed for the proposed Co-EPaCS is faster than PERS, TSP and NJNP. Co-EPaCS outperforms the other three in terms of both the number of breach slot and burst breach. For example, when burst value is equal to 5, the cumulative probability for Co-EPaCS is 98.34%, for PERS is 91.60%, for TSP is 78.51% and for NJNP is 61.59%. This is because Co-EPaCS considers both the remaining energy and coverage degree of sensors. Only the sensors who reaches \(e_\text {thresh}\) can be recharged in Co-EPaCS. In addition, the partial charging model can makes more sensors be recharged.

5 Conclusion

For past studies, the strategy widely used to recharge sensors is considering only the remaining energy of the sensors. However, in order to prevent the occurrence of coverage hole, it is insufficient taking into account only one factor. In this paper we consider both the remaining energy and coverage degree of sensors in terms of cover sets, propose Co-EPaCS, a complete coverage energy knowledge partial charging scheme that replenishes the energy of sensors in an efficient way to maintain the coverage of network and prolong the network lifetime. To validate the effectiveness of the proposed method, the total coverage ratio, energy consumption, network lifetime and Breach rate by Co-EPaCS are compared with PERS, TSP and NJNP in a wild scenario. Experimental results demonstrate that Co-EPaCS performs better than the compared approaches. In our future work, multiple UAV chargers will be considered. How to arrange multiple UAVs working together and recharging hundreds of sensor nodes effectively will be a challenge.