This section presents the control strategies of MS moving speed through the system analyzation and optimization paths for MS traveling. The presentation includes subsections, e.g., system analysis, speed control strategies, optimizing energy consumption, and best path selection with a minimum spanning tree for reliable balance energy.
3.1. System Analysis
Refer to Equation (9), if MS moves slowly (denoted
), the charged node’s amount (
will be obtained more fully [
28]. Since the charging demand of each sensor node is different, and the charging interval may overlap, the moving speed of the MS needs to be controlled in the node charging interval.
Figure 2 shows a strip space with different regions to determine the charging areas. Assume each velocity zone is determined by the least residual energy of nodes, for which reason this node is the “bottleneck node” in this interval. The strip space can be divided into a plurality of different speed regions to determine the moving speed of MS. In the split interval, if there is one node Si, it is only necessary to satisfy the charging demand of the node Si, so that its actual charging is maximized, and the charging state is the charging threshold at the end of charging. Correspondingly, other nodes can also meet the charging needs. The charging bottleneck nodes meet the requirements of the objective function, so the bottleneck node can be used to determine the speed V of each stage of the MS. The entire network MS moving speed set
to complete the speed control strategy.
Theorem 1. For all sensor nodes within the MS charging range, the required time for node charging is set to , . If all nodes are charged with the charging time of node Si, and is the longest time, ; then, all sensor nodes can eventually reach a fully charged state.
Proof. It is assumed that all nodes need to transmit the data with the maximum packet size of M bits to the MS while charging. According to the node transmission distance
and charging time
, we have the actual charging of the node as follows:
Putting into Formula (10), we can obtain
Among them, there is a node
Si,
. Substituting
for
, we can obtain
Then the actual charging capacity of each node will be higher than the original charging capacity. Therefore, when meeting the charging demand of node Si, other nodes can also meet the requirements. We call this kind of node Si a “bottleneck node”. □
Figure 3 shows the type of moving speed of MS in continuous and converted into a discrete one. In the WRSNs, speed control is a constant process (
Figure 3a), and continuous change is more complicated, so we discretize the speed (
Figure 3b). A centralized algorithm is proposed for charging requirements to control MS speed based on the determined bottleneck nodes. In the entire strip space, there may be multiple bottleneck nodes that area would be divided into several sub-bottleneck regions according to the charging interval of the bottleneck nodes.
As mentioned in
Section 2, the energy consumption of nodes and the charging amount required for nodes would help to find the charging time for moving MC. The speed control strategy for MS depends on the nodes’ location, residue energy, bottleneck area, and moving trajectory of MC.
The determining bottleneck nodes have to consider the same initial condition and capacity of the nodes
and the initial energy
. Then the energy consumption
of the initial transmission of the node, the charging gain
per unit time, and the charging interval is calculated. For the common node
Si, it needs to indirectly transmit the collected data to the MS through the relay node
Sj. The energy consumption formula
of the node
Si transmitting to the relay node
Sj is as follows:
Among them,
represents the initial cache of the node.
The common node Si is far away from the MS; if its data is directly transmitted to the MS, it will consume more energy. The relay node indirect transmission method can effectively reduce the energy consumption of the common node Si. However, if the relay node Sj has a large number of common nodes within one hop and sends all data to the relay node, the burden on the relay node Sj is increased.
The energy consumption of the relay node is mainly divided into two parts: transmission consumption and reception consumption. The transmission range of the node is limited; the distance between the MS and the node is less than the transmission range, the relay node will directly send data to the MS. When the MS does not move to the node’s transmission area, the node stores the data collected by itself and the received data in the buffer space first.
denoted the number of common nodes that need to be forwarded by the relay node
Sj,
is determined by the buffer space and the remaining energy of the relay node. The energy consumption formula of relay node
Sj is as follows:
Among them, represents the data received by the relay node Sj, . Without considering the amount of data received, the energy consumption of the relay node in Equation (13) is only related to the transmission distance. The relay node is directly sent to the MS through a single hop, so the transmission distance of the relay node will change due to the change of the MS position.
For a more intuitive analysis, we take the coordinates
of the node
Sj as the center
O, and the transmission radius
as the circle radius. As shown in
Figure 4,
represents the transmission interval. It is assumed that sink moves along a fixed straight path with
[
18]. Thus, the corresponding formula for the transmission distance of node j is as follows:
where the time use
when the first MS enters the transmission range of the node
Sj and the time when it leaves the transmission range.
Assuming that the MS sends M bit data every time when the node
Sj transmits the interval and does not consider the reception consumption, the total consumption of the node
Sj is written as
which can be converted to
According to Equation (14), the distance
between the relay node and the MS changes with time. In practice, the time to transmit data is much shorter than the MS’s travel time, which is not conducive to the energy consumption of the computing node. Therefore, Equation (16) can be simplified, and set the transmission distance at each moment as a fixed value
, and the fixed value
takes the middle of the transmission distance,
,
and
respectively represent the furthest distance and shortest distance from the relay node to the MS within the data transmission range of the node. Replacing calculations with fixed values will increase the total consumption of node calculations. If the speed control can be completed under the condition of energy consumption amplification, the speed control is also feasible in actual situations. The simplified formula is as follows:
For the sensor node
Sk∈
S, we refer to a fixed value
instead of the distance between the node
Sk and the MS. We make the fixed value
, and
, substituting
into Equation (17) gives.
In terms of mobile charging, MS is a wireless charging source and uses mobile charging. The amount of charge for the node is determined by the charging distance and charging time. Therefore, we can get the formula for obtaining the charging energy of the sensor node
Sk.
where
represent the time points when the sensor node
Sk enters and leaves the MS charging range.
For each sensor node, there is also a charging interval similar to the transmission interval. The charging range can be used, as shown in
Figure 4. The charging distance of the sensor node
Sk is calculated according to Equation (14),
. We simplify the charging distance according to Equation (17). The simplified Formula (19) can be written as
where
represents the energy obtained by charging the node
Sk per unit time. The result of Equation (20) is to reduce the actual charge of node
Sk in the calculation. Therefore, according to Equation (20), we can redefine the charging model. For the sensor node
Sk, the charging amount of the sensor node
Sk is calculated from the energy
obtained in the unit time of the node
Sk and the time T the MS travels in the charging interval of the node
Sk.
According to the energy consumption Equation (20) and charging acquisition [
29], the derivation expression of the battery capacity of the sensor node
Sk at time T.
where
refers to the transmission consumption of the sensor node, and the energy consumption of the common node and the relay node is obtained by Equation (11) or Equation (13) respectively;
refers to the amount of charging of the sensor node,
.
3.2. Speed Control Strategies
The task is to find a method to ascertain the appropriate moving speed of the MS after determining the energy consumption and charging of the node. The strategy of the appropriate moving speed of the MS is figured out based on dividing into multiple speed areas according to the charging interval of the bottleneck nodes. This method is the discrete rate of searching for bottleneck nodes and the moving trajectory. The rate that MS travels in each area remains constant, as shown in
Figure 5. Each area
corresponds to an area speed
, and the MS moves on the trajectory according to the area speed
, which constitutes a change in the MS moving speed. The time required to charge each node is calculated based on the energy consumption of the node and the charging per unit time, thereby filtering out the bottleneck nodes. The time needed for charging is the time when the sensor node is fully charged, and it can also represent the time that the MS needs to travel in the charging zone of the sensor node
Sk. Its expression is written as follows:
where
is the current energy state of the node, which derived from Equation (21).
For each node, after obtaining the moving time of the MS in the charging interval, the speed of the MS in the node charging interval
can be obtained according to the charging range of the node.
The charging interval of the node is the driving interval of the car that the MS can charge the node, and the driving speed
in each driving interval [
30].
Figure 5 shows multiple areas divided on the basis of speed are obtained, and the node corresponding to the minimum speed is the bottleneck node. According to Theorem 1, in these bottleneck nodes, the MS the speed is controlled as discretization of
. Once the entire calculated speed control is estimated by a fixed value, the complicated computational time (as in Equation (22)) will be increased exponentially. The speed control strategy provides the feasibility of the practice changes to reduce complexity, and thereby the charging process is implemented smoothly. The pseudo-code of the MS speed control algorithm with selected bottleneck points is expressed as follows (Algorithm 1):
Algorithm 1: Select bottleneck nodes. |
Input: node K, L, S |
Output: speed region and bottleneck nodes |
1: | initialize:, |
2: | for each i∈K do |
3: | Classufy C, R |
4: | end for |
5: | for each i∈K do |
6: | Calculate the corresponding interval FWi |
7: | if i∈C then |
8: | Select the appropriate relay node |
9: | Calculate node i energy consumption EBi, |
10: | eles if i∈R |
11: | Count the number of nodes C that relay node i need to assist in forwarding datas |
12: | Calculate the corresponding energy consumption EBi, |
13: | end if |
14: | Calculate the amount of charge per unit time EHi |
15: | Update Ehelthy and Charging requirements |
16: | Calculate Charging time TCi and Moving speed VCi |
17: | end for |
18: | Merge interval to divide speed region and select bottleneck node |
The sensor nodes are divided into common nodes and relay nodes with horizontal lines 15 m from both sides of the MS moving trajectory and the dividing line in Algorithm 1 is implemented according to Equations (11)–(23). The transmission interval of each node, the node energy consumption EB and the charging amount EH per unit time are calculated. The charging time TC and the charging moving speed VC is thereby obtained. The transmission interval of the node is recorded as FW. Then, the nodes’ x-axis coordinates are sorted from small to large, and their transmission intervals are concatenated in the sorted order. The MS moving speed is updated according to the spliced speed area to complete the speed control because of the basis of splicing selection is the charging time and moving speed of the node, and the selected node is the bottleneck node.
3.3. Optimizing Energy Consumption
The energy consumption of nodes will increase as collecting data in real-time with the increase in time that causes unbalanced energy consumption of the nodes. The power consumption also needs to consider optimizing the speed of the MS through charging requirements.
The sensor node not only causes energy consumption by transmitting data in the initial cache space but also causes energy consumption by continually collecting data during the MS moving process. Nodes farther away from the MS’s starting position have a longer waiting time. The more collected data during the waiting process, the more energy consumption of the node that causes the charging time of the node to increase. This could even lead to the death of the node. Therefore, improving the energy consumption of Equations (11)–(13) can be expressed as follows:
where
b is the sensor acquisition rate, the unit is bit/s. The priority of the charging demand of the node with the least energy would be to set a longer charging time. This means that all nodes within the MS charging range will have extended charging time. Therefore, in terms of energy consumption, buffering, and charging efficiency, a charging optimization scheme is proposed based on a set the energy threshold and the cache threshold to constrain the node’s charging demand and charging time so that the node will not run out of energy. The cache will not overflow before the next MS charge arrives.
It is necessary to ensure that the energy of the survivable node is above the energy threshold at the end of charging so that the remaining power of the node meets the consumption of data collection and transmission before the next charge of the MS. The limit of the energy threshold can be calculated as follows.
where
is the number of nodes assisted by node
Sk. When the node
Sk is a common node,
.
is the total time of one MS driving.
refers to the time when the MS reaches the transmission range of the sensor node Sk.
The optimized charging demand only needs to keep the energy of the node above the energy threshold. The formula for charging demand is as follows:
Substitute Equation (27) into Equation (22) to optimize the charging time and thus the driving speed.
The number of remaining energy nodes should be determined to support the number of transmitted data packets. According to Equation (25), its relationship can be drawn as follows:
The cache threshold should be less than or equal to the amount of data that can be transferred, or the maximum cache space. Thus, according to (28), it can be derived as follows:
In order to avoid the death of the nodes and ensure network throughput, it is necessary to combine the energy consumption the optimization formula, energy threshold, and cache threshold, and select bottleneck nodes to optimize the MS moving speed. The pseudo-code of the speed optimization algorithm is seen in Algorithm 2.
Algorithm 2: Speed optimization. |
Input: node, K, L, B, E, vk |
Output:V |
1: | initialize:T |
2: | Calculate the time before arriving at each node |
3: | Transmit data by link |
4: | Calculate Ehelthy, Qhelthy, E_need |
5: | ifQk (T) < Qhelthythen |
6: | E_need = Ehelthy * θ - E |
7: | else |
8: | E_need = Ehelthy - E |
9: | end if |
10: | Repeat Algorithm 1 |
In the charging demand calculation of Eneed, the energy threshold is amplified by a specific factor to increase node charging demand of more energy to meet the data collection. In the experiment, this factor as coefficient weight θ is set to 1.5.
3.4. Best Path Selection
The relay node transmission method is used to optimize the selection of node transmission paths based on changing the choice of relay nodes, and energy consumption. An energy-balanced spanning tree is constructed to avoid packet loss [
31]. Refer to Equation (9), analyzing the energy consumption issues that determine the goal of energy consumption balance.
The node bidirectional selection data transmission for the data transmission path optimization, e.g., the current node energy, the remaining buffer space, and the charging time are used to obtain the selection relationship between the ordinary node and the relay node. The minimum reliable energy balance spanning tree is constructed through the transmission path of the relay node [
32]. The structure of the spanning tree with the weight of the branch contains three factors: transmission distance, residual energy, and transmission energy consumption [
33]. A routing cost function is modeled based on the energy consumption part of the weight (
). Total cost of data transmission in the process of sensor node
Si transmitting data to MS through node
Sj can be calculated as follows:
where Si is a set of optional relay nodes within a hop range of
, and
is the transmission path link selected for node
i. Make sure that the buffer space of the relay node does not overflow after receiving the data, and enough energy remains in the node to forward the data. The data transmission chain is reconstructed to reduce the number of branches and energy consumption.
Definition 1. The selection method of the node. For the common nodeSi,Si∈, it starts fromin the selectable setuntil it contains all the select sets.
The calculation formula of the path selection weight starting with the relay nodeSj,and the selection of a link for the relaycan be written as follows:whererespectively represent the routing cost of the nodeSiselecting the nodeSjas a relay and the remaining energy of the relay nodeSj;represent the average value of all possible routing costs of nodeSiand the average remaining energy of relay nodes, respectively, andare weight coefficients, with. Figure 6 shows an example of relay nodes 1, 2, 3 as relays to transmit data to MS, and construct a data transmission link
. The routing costs
are calculated according to Formula (30) and substitute them into the routing Formula (31). The weight of each possible path is taken in account for comparison, and the transmission path chain with the smallest weight is selected as the branch. The
Ra2 serves as a relay of the ordinary node
Ca. After all common nodes are selected,
Ra2 is selected multiple times. The link reconstruction process can reduce the packet loss rate and the burden on the relay node. Each relay node is only allowed to undertake the forwarding task of a common node and reserve one link.
A selected set is established with the relay node Sj during link reconstruction, where . All nodes in the set select the node Sj as the relay. The sum of sub-optimal routing costs is computed to ensure that the total routing cost of the network is the lowest. The sum of the sub-optimal routing costs refers to the sum of the optimal-level routing cost of the selected node and the sub-level routing costs of other candidate nodes ,
Definition 2. The selection method of reconstruction. For the relay nodeSj,Sj∈R, it starts from the nodein the selected set and ends when all nodes in are included. The weight calculation formula for the relay node to select the bearing target is as follows:whereindicates that the relay nodeSjselects the common nodeSjas the bearing object.represents the sum of sub-optimal routing costs when the relay nodeSjselects the common nodeSi, as in Equation (30). are weight coefficients, with . Figure 7 depicts the ordinary nodes a and b both choose relay node 2 as the relay, and their optimal route costs are, the sub-optimal routing costs are . The relay node 2 needs to select a bearer object from nodes a and b to perform link reconstruction. The total sub-optimal routing cost of the selected nodes is calculated with and , . Weight is brought in with the common node corresponding to the smallest weight is selected as the bearer selection result of the relay node 2 to complete the link reconstruction. The flag bit of each relay node is initially set to 0. When the relay node is selected at least twice, its flag bit is set to 1. Repeat the comparison and selection until all selections completed. The mutually selected nodes and MS constitutes a reliable and energy-balanced spanning tree. Algorithm 3 describes the main idea of path selection.
Algorithm 3: path choice. |
Input: node K, L, V, B, E |
Output:Link |
1: | initialize:link, list, flag |
2: | for each i∈link do |
3: | Compute all the possible value of i as Cost |
4: | Update weight=α*Costi/average_Cost+β*average_E/Ei+Yi/average_Y |
5: | Connect i and min weight |
6: | Update link |
7: | end for |
8: | while list != 0 or flag = 0 do |
9: | Search link for all duplicate nodes as list |
10: | for each j∈list do |
11: | Calculate the second cost of j as Second_Cost |
12: | Update weight = λ * Second_Costj / average_Second_Cost + μ * average_E / Ei + ν * Second_Yi / averagr_Second_Y |
13: | Connect i and min weight |
14: | Update link, list, flag |
15: | end for |
16: | end while |