Efficient Charging Pad Deployment in Large-Scale WRSNs: A Sink-Outward Strategy
Abstract
:1. Introduction
2. Related Works
3. Sink-Outward Strategy for Efficient Charging Pad Deployment
3.1. Optimization Problem: Ensuring Coverage and Connectivity
3.1.1. Network Architecture
- (1)
- The network consists of a single BS and one drone.
- (2)
- All sensor nodes are stationary, perform the same functions, and have the same battery capacity.
- (3)
- The BS has complete information about the locations of sensor nodes.
- (4)
- When a sensor needs to be charged, the BS sends the drone to recharge it. However, when its energy is below a predefined threshold, the drone needs to fly to one of its neighboring pads to replenish its energy. Note that there is a single battery for the drone to travel and for the pads to be charged.
- (5)
- Both the BS and charging pads are fixed in place and have an unlimited energy supply. They connect with the drone automatically and charge it wirelessly when the drone lands on them. We also assume that every pad can only support the landing of one drone at any moment.
- (6)
- The drone charges SNs one by one via direct flies.
3.1.2. Energy Models
3.2. Proposed Sink-Outward Strategy
Algorithm 1: Sink-Outward Max Covering (SMC) | |
Purpose: | Computes an initial set of charging pads that cover all sensors. |
Input: | |
ToCover: Set of target sensors to be covered, | |
DPads: Initial deployed pads set. | |
Output: | |
pads: new pads set with positions. | |
Process: | |
1: | Sort the ToCover ascendingly according to the distances from the sensors to the sink. |
2: | Pads ← DPads |
3: | while ToCover ≠ ϕ do |
4: | [pos, NewCovered] ← AdjPadPos(ToCover [1]); |
5: | Add a pad at pos to pads |
6: | ToCover ← ToCover-NewCovered |
7: | end while |
8: | pads ← ConnectPads(pads); |
Algorithm 2: Adjusting Pad Position (AdjPadPos) | |
Purpose: | Determines the optimal position for a new pad based on sensor coverage maximization. |
Input: | |
S(sid): The sensor whose sensor ID is sid, | |
ToCover: Set of target sensors to be covered, | |
Dc: Maximum flight distance for recharging tasks. | |
OBA: Obstacle area, no pad can be placed in it. | |
Output: | |
newpos: Optimal position, | |
bestCover: Best new cover set. | |
Process: | |
1: | Generate grid points set Grid in the rectangle area around the position of S(sid). |
2: | bestCover ← ϕ; maxn ← 0; minToS ← Inf; newpos ← S(sid); |
3: | for each point ϵ Grid do |
4: | if Distance(point, S(sid)) > Dc then continue; |
5: | if point is in OBA then continue; |
6: | pdist ← Distance(point, sink); |
7: | newCover ← ϕ; |
8: | for each sensor ϵ ToCover do |
9: | if Distance (point, sensor) ≤ Dc then |
10: | Add the sensor to newCover; |
11: | end if |
12: | end for each |
13: | newlen ← length(newCover); |
14: | if (newlen > maxn) or (newlen = maxn and pdist < minToS) then |
15: | newpos ← point; |
16: | bestCover ← newCover; |
17: | maxn ← newlen; |
18: | minToS ← pdist; |
19: | end if |
20: | end for each |
Algorithm 3: Connecting Pads (ConnectPads) | |
Purpose: Ensures all pads form a connected network to allow drone traversal. | |
Input: | |
p: Set of candidate pads to be connected, Dp: Maximum allowable distance between consecutive charging pads, α: Adjusting step. OBA: Obstacle area, no pad can be placed in it. | |
Output: | |
V: Optimized set of connected pads. | |
Process: | |
1: | V(1) ← p(1) |
2: | tp ← p-V; |
3: | while tp ≠ ϕ do |
4: | Search for the closest pad pair (V(MinI), tp(MinJ)) between existing pads V and candidate pads tp. |
5: | MinDist ← Distance(V(MinI), tp(MinJ)); |
6: | if MinDist > Dp then |
7: | Repeat |
8: | Move pad V(MinI) toward tp(MinJ) α meters. |
9: | if !coverage(V+tp) or !connected(V+tp) or V(MinI) in OBA then |
10: | Move back V(MinI) α meters. |
11: | break; |
12: | end if |
13: | until Distance(V(MinI), tp(MinJ)) < Dp |
14: | Repeat |
15: | Move pad tp(MinJ) toward V(MinI) α meters. |
16: | if !coverage(V+tp) or !connected(V+tp) or V(MinI) in OBA then |
17: | Move back tp(MinJ) α meters. |
18: | break; |
19: | end if |
20: | until Distance (V(MinI), tp(MinJ)) < Dp |
21: | end if |
22: | if Distance (V(MinI), tp(MinJ)) > Dp then |
23: | Insert a new pad X into V. The X is located in the direction from V(MinI) toward tp(MinJ), not in OBA, and Distance (V(MinI), tp(MinJ)) is not greater than Dp. |
24: | else |
25: | Insert tp(MinJ) into V; |
26: | Remove tp(MinJ) from tp; |
27: | end if |
28: | end while |
Algorithm 4: Coverage checking | |
Purpose: | Checks if the pad placement preserves coverage. |
Input: | |
S: Sensors set, Dc: Maximum flight distance for recharging tasks, pads: Set of pads to be checked. | |
Output: | |
covered: checking result. | |
Process: | |
1: | Uncovered ← S; |
2: | for each sensor ϵ Uncovered do |
3: | for each p ϵ pads do |
4: | if Distance(sensor, p) ≤ Dc) then |
5: | Uncovered ← Uncovered-sensor; |
6: | end if |
7: | end for each |
8: | end for each |
9: | covered ← Uncovered = ϕ; |
Algorithm 5: Checking connectedness | |
Purpose: | Checking if the pad placement preserving connectivity. |
Input: | |
Dp: Maximum allowable distance between consecutive charging pads, pads: Set of pads to be checked. | |
Output: | |
connected: checking result. | |
Process: | |
1: | V(1) ← p(1); |
2: | tp ← p - V; |
3: | i ← 1; |
4: | while i ≤ length(V) do |
5: | for each p ϵ= tp |
6: | if Distance(p, V(i))≤Dp then |
7: | append p to V; |
8: | remove p from tp; |
9: | end if |
10: | end for each |
11: | if tp = ϕ then |
12: | break; |
13: | end if |
14: | i ← i + 1; |
15: | end while |
16: | connected ←tp = ϕ; |
Algorithm 6: Reducing Pads by Reallocating Pads partially (RPRAP) | |
Purpose: | |
Optimizes the pad placement by removing unnecessary pads while preserving coverage. | |
Input: | |
Dc: Maximum flight distance for recharging tasks, Dp: Maximum allowed connection distance, pads: Initial charging pad set obtained from sink-outward max covering algorithm. | |
Output: | |
newpads: A reduced set of charging pads. | |
Process: | |
1: | changed ← true; |
2: | while changed do |
3: | for each padi ϵ pads do |
4: | connectedPadsi = ϕ; |
5: | end for |
6: | rpSets = ϕ; |
7: | for each padi ϵ pads do |
8: | for each padj ϵ pads do |
9: | if padi = padj then continue; |
10: | if Distance(padi, padj) < Dc then |
11: | insert [padi, padj] into rpSets; |
12: | end if |
13: | if Distance(padi, padj) < Dp then |
14: | insert padi into connectedPadsj |
15: | insert padj into connectedPadsi; |
16: | end if |
17: | end for each |
18: | end for each |
19: | changed ← false; |
20: | for each rpset ϵ rpSets do |
21: | i = rpset(1); j = rpset(2); |
22: | rpset = rpset ∪ connectedPadsi ∪ connectedPadsj; |
23: | tc ← ReCover(rpSet, pads); |
24: | tc ← connectpads(tc); |
25: | if length(tc) < length(pads) then |
26: | pads ← tc; |
27: | changed ← true; |
28: | break; |
29: | end if |
30: | end for each |
31: | end while |
32: | newpads ← pads; |
Algorithm 7: Recovering sensors (ReCover) | |
Purpose: | Ensures that removing a subset of pads does not leave any sensors uncovered. |
Input: | |
S: Sensors set, Dc: Maximum flight distance for recharging tasks, rpSet: Set of pads to be removed, pads: Deployed charging pad set. | |
Output: | |
newPset: Updated pad set maintaining coverage. | |
Process: | |
1: | Covered ←[]; |
2: | C ← pads; |
3: | for each padi ϵ C do |
4: | if padi ϵ rpSet then |
5: | Remove padi from C; |
else | |
6: | for each sensorj ϵ S do |
7: | if Distance(sensorj, padi) ≤ Dc then |
8: | Insert sensorj into Covered |
9: | end if |
10: | end for each |
11: | end if |
12: | end for each |
13: | B ← S - Covered; |
14: | newPSet ← SMC(B, C); |
3.3. Detailed Explanation of Key Functions
3.3.1. AdjPadPos Function
- (1)
- Grid Generation: A grid area is defined around the target sensor S(sid). The grid points are generated within a rectangular area around the sensor’s position.
- (2)
- Distance Calculation: For each grid point, the distance to the target sensor is calculated using the Euclidean distance formula:
- (3)
- Coverage Check: For each grid point, the number of sensors covered by a pad placed at that point is calculated. A sensor is considered covered if the distance from the grid point to the sensor is less than or equal to the maximum charging distance Dc:
- (4)
- Optimal Position Selection: The grid point with the maximum number of covered sensors is selected as the optimal position. If multiple grid points have the same maximum coverage, the one closest to the sink is chosen.
3.3.2. ConnectPads Function
- (1)
- Initialization: Start with the first pad as the initial connected set V.
- (2)
- Closest Pad Pair Search: Find the closest pad pair between the connected set V and the candidate pads tp:
- (3)
- Pad Movement and Connection: If the distance between the closest pad pair exceeds the maximum allowable distance Dp, the pads are moved closer to each other while maintaining coverage and connectivity. If the distance still exceeds Dp, insert a new pad at the midpoint between the two pads.
3.3.3. ReCover Function
- (1)
- Coverage Check: After removing a subset of pads, the covered sensors are recalculated. A sensor is considered covered if it is within the maximum charging distance Dc of at least one remaining pad:
- (2)
- Uncovered Sensors Identification: The uncovered sensors are identified as the difference between the total sensor set and the covered sensors:B = S − Covered
- (3)
- Reconfiguration Using SMC: Apply SMC again to the uncovered sensors B to find a new set of pads that covers these sensors while maintaining connectivity.
3.3.4. SMC Function
- (1)
- Sorting Sensors by Distance to Sink: Sensors are sorted in ascending order based on their distance from the sink. The distance from a sensor to the sink is calculated using the Euclidean distance formula:
- (2)
- Iterative Pad Deployment: Starting from the sensor closest to the sink, the algorithm iteratively deploys pads to cover the maximum number of sensors. For each iteration, the optimal pad position is determined using the “AdjPadPos” function.
- (3)
- Connectivity Enforcement: After the initial deployment, the “ConnectPads” function is called to ensure that all pads form a connected network.
3.4. Extended Wireless Charging Pad Deployment Problems
4. Simulation Results
4.1. Performance Impact of Main Components of the Proposed Strategy
4.2. Performance Comparison
4.3. The Impact of Obstacle Areas
4.4. The Impact of Grid Granularity Setting on Performance
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Akyildiz, I.F.; Su, W.; Sankarasubramaniam, Y.; Cayirci, E. A Survey on Sensor Networks. IEEE Commun. Mag. 2002, 40, 102–114. [Google Scholar] [CrossRef]
- Zhao, M.; Li, J.; Yang, Y. A framework of joint mobile energy replenishment and data gathering in wireless rechargeable sensor networks. IEEE Trans. Mob. Comput. 2014, 13, 2689–2705. [Google Scholar] [CrossRef]
- Lin, C.; Zhou, J.; Guo, C.; Song, H.; Wu, G.; Obaidat, M.S. TSCA: A Temporal-Spatial Real-Time Charging Scheduling Algorithm for On-Demand Architecture in Wireless Rechargeable Sensor Networks. IEEE Trans. Mob. Comput. 2017, 17, 211–224. [Google Scholar] [CrossRef]
- Rong, C.; Duan, X.; Chen, M.; Wang, Q.; Yan, L.; Wang, H.; Xia, C.; He, X.; Zeng, Y.; Liao, Z. Critical Review of Recent Development of Wireless Power Transfer Technology for Unmanned Aerial Vehicles. IEEE Access 2023, 11, 132982–133003. [Google Scholar] [CrossRef]
- Chen, J.; Yu, C.W.; Ouyang, W. Efficient Wireless Charging Pad Deployment in Wireless Rechargeable Sensor Networks. IEEE Access 2020, 8, 39056–39077. [Google Scholar] [CrossRef]
- Baek, J.; Han, S.I.; Han, Y. Optimal UAV Route in Wireless Charging Sensor Networks. IEEE Internet Things J. 2020, 7, 1327–1335. [Google Scholar] [CrossRef]
- Cheng, R.-H.; Yu, C.W.; Zhang, Z.-L. Optimizing Charging Pad Deployment by Applying a Quad-Tree Scheme. Algorithms 2024, 17, 264. [Google Scholar] [CrossRef]
- Chen, Y.; Gu, Y.; Li, P.; Lin, F. Minimizing the Number of Wireless Charging PAD for UAV-Based Wireless Rechargeable Sensor Networks. Int. J. Distrib. Sens. Netw. 2021, 17, 15501477211055958. [Google Scholar] [CrossRef]
- Slhu, Y.; Yousefi, H.; Cheng, P.; Chen, J.; Gu, Y.; He, T.; Shin, K.G. Near-optimal velocity control for mobile charging in wireless rechargeable sensor networks. IEEE Trans. Mob. Comput. 2015, 15, 1699–1713. [Google Scholar]
- Fu, L.; He, L.; Cheng, P.; Gu, Y.; Pan, J.; Chen, J. ESync: Energy Synchronized Mobile Charging in Rechargeable Wireless Sensor Networks. IEEE Trans. Veh. Technol. 2015, 65, 7415–7431. [Google Scholar] [CrossRef]
- Cheng, R.-H.; Yu, C.W.; Xu, C.J.; Wu, T.-K. A Distance-Based Scheduling Algorithm with a Proactive Bottleneck Removal Mechanism for Wireless Rechargeable Sensor Networks. IEEE Access 2020, 8, 148906–148925. [Google Scholar] [CrossRef]
- Wang, C.; Li, J.; Yang, Y. Low-latency mobile data collection for wireless rechargeable sensor networks. In Proceedings of the IEEE International Conference on Communications (IEEE ICC), London, UK, 8–12 June 2015; pp. 6524–6529. [Google Scholar]
- Xie, L.; Shi, Y.; Hou, Y.T.; Lou, A. Wireless poser transfer and applications to sensor networks. IEEE Wirel. Commun. 2013, 20, 140–145. [Google Scholar]
- Xie, L.; Shi, Y.; Hou, Y.T.; Lou, W.; Sherali, H.D. On traveling path and related problems for a mobile station in a rechargeable sensor network. In Proceedings of the 14th ACM International Symposium on Mobile Ad Hoc Networking and Computing (Mobihoc), Bangalore, India, 29 July–1 August 2013; pp. 109–118. [Google Scholar]
- Guo, P.; Liu, X.; Tang, S.; Cao, J. Concurrently wireless charging sensor networks with efficient scheduling. IEEE Trans. Mob. Comput. 2017, 16, 2450–2463. [Google Scholar] [CrossRef]
- Zorbas, D.; Douligeris, C. Computing drone positions to wirelessly recharge IoT devices. In Proceedings of the IEEE INFOCOM 2018—IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Honolulu, HI, USA, 15–19 April 2018; pp. 628–633. [Google Scholar]
- Lin, T.-L.; Chang, H.-Y.; Wang, Y.-H. A Novel Unmanned Aerial Vehicle Charging Scheme for Wireless Rechargeable Sensor Networks in an Urban Bus System. Electronics 2022, 11, 1464. [Google Scholar] [CrossRef]
- Chen, J.; Yu, C.W.; Cheng, R.-H. Collaborative Hybrid Charging Scheduling in Wireless Rechargeable Sensor Networks. IEEE Trans. Veh. Technol. 2022, 71, 8994–9010. [Google Scholar] [CrossRef]
- Wibotic. PowerPad. Available online: https://www.wibotic.com/products/powerpad/ (accessed on 1 March 2025).
- Skysense. Charging Pad Outdoor Specs. Available online: https://www.skysense.co/charging-pad-outdoor/specs (accessed on 1 March 2025).
- Getcorp. In-Flight Wireless Charging Outdoor Demonstration. Available online: http://getcorp.com/in-flight-wireless-charging-outdoor-demonstration/ (accessed on 1 March 2025).
- Long, T.; Ozger, M.; Cetinkaya, O.; Akan, O.B. Energy Neutral Internet of Drones. IEEE Commun. Mag. 2018, 56, 22–28. [Google Scholar] [CrossRef]
- Xing, Y.; Young, R.; Nguyen, G.; Lefebvre, M.; Zhao, T.; Pan, H.; Dong, L. Optimal Path Planning for Wireless Power Transfer Robot Using Area Division Deep Reinforcement Learning. Wirel. Power Transf. 2022, 9, 21885. [Google Scholar] [CrossRef]
- Bui, N.; Le Nguyen, P.; Nguyen, V.A.; Do, P.T. A Deep Reinforcement Learning-based Adaptive Charging Policy for WRSNs. arXiv 2022, arXiv:2208.07824. [Google Scholar]
- Nowrozian, N.; Tashtarian, F.; Forghani, Y. On Optimizing the Charging Trajectory of Mobile Chargers in Wireless Sensor Networks: A Deep Reinforcement Learning Approach. Wirel. Netw. 2023, 30, 421–436. [Google Scholar] [CrossRef]
- Lee, H.; Ji, D.; Cho, D.-H. Optimal Design of Wireless Charging Electric Bus System Based on Reinforcement Learning. Energies 2019, 12, 1229. [Google Scholar] [CrossRef]
- Suman, S.; Kumar, S.; De, S. Path Loss Model for UAV-Assisted RFET. IEEE Commun. Lett. 2018, 22, 2048–2051. [Google Scholar] [CrossRef]
- Dijkstra, E.W. A note on two problems in connexion with graphs. Numer. Math. 1959, 1, 269–271. [Google Scholar] [CrossRef]
Symbols | Meaning |
---|---|
Es | Maximum battery capacity of a sensor (Joules). |
Ed | Maximum battery capacity of the drone (Joules). |
Ec | Energy required to fully recharge a sensor (Joules). |
Pf | Power consumption rate during flight (Joules/second). |
Ph | Power usage while hovering for charging (Joules/second). |
Pc | Charging power transfer rate (Joules/second). |
Tc | Time required to charge a sensor (seconds). |
Vd | Flight velocity of the drone (meters/second). |
Dc | Maximum flight distance for recharging tasks (meters). |
Dp | Maximum allowable distance between consecutive charging pads (meters). |
ρ | Wireless charging efficiency (percentage). |
Parameters | Values |
---|---|
Es | 200 Joules |
Ed | 1000 Joules |
Pf | 10 Joules/second |
Vd | 35 m/second |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Cheng, R.-H.; Yu, C.-W. Efficient Charging Pad Deployment in Large-Scale WRSNs: A Sink-Outward Strategy. Electronics 2025, 14, 2159. https://doi.org/10.3390/electronics14112159
Cheng R-H, Yu C-W. Efficient Charging Pad Deployment in Large-Scale WRSNs: A Sink-Outward Strategy. Electronics. 2025; 14(11):2159. https://doi.org/10.3390/electronics14112159
Chicago/Turabian StyleCheng, Rei-Heng, and Chang-Wu Yu. 2025. "Efficient Charging Pad Deployment in Large-Scale WRSNs: A Sink-Outward Strategy" Electronics 14, no. 11: 2159. https://doi.org/10.3390/electronics14112159
APA StyleCheng, R.-H., & Yu, C.-W. (2025). Efficient Charging Pad Deployment in Large-Scale WRSNs: A Sink-Outward Strategy. Electronics, 14(11), 2159. https://doi.org/10.3390/electronics14112159