A mobile edge computing based unmanned aerial vehicle data acquisition and scheduling system and method
By constructing OMDUCDS and using the DEACFASAMSP algorithm to optimize UAV deployment, the problem of dynamic changes in the number and altitude of UAVs in the UAV data acquisition system was solved, achieving better global optimization and energy consumption management, and improving system performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SOUTHEAST UNIV
- Filing Date
- 2022-12-09
- Publication Date
- 2026-07-31
AI Technical Summary
Existing UAV data acquisition systems fail to effectively consider the dynamic changes in the number and altitude of UAVs, neglect the timing of mission deployment and its future impact, resulting in optimization results that lack global optimality, and traditional algorithms struggle to guarantee decision quality.
An optimization model for dynamic drone swarm deployment system (OMDUCDS) is constructed. By combining LSTM network to predict task timing and data volume, the DEACFASAMSP algorithm is used to optimize drone deployment, and a future energy consumption penalty term is added to integrate global and local search capabilities.
It improves the rationality of UAV deployment decisions and the overall optimization effect, ensures the lowest system energy consumption, and enhances the overall performance of UAV mission scheduling.
Smart Images

Figure CN116069463B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a UAV data acquisition and scheduling system and method based on mobile edge computing, belonging to the field of UAV data processing technology. Background Technology
[0002] With the advent of the Internet of Things and the widespread adoption of wireless networks, the number of devices and the amount of data generated at the network edge are growing rapidly. Traditional cloud computing models are struggling to meet the high real-time requirements of edge application processing. Against this backdrop, Mobile Edge Computing (MEC) has emerged, offering advantages such as low latency and strong data security.
[0003] Using unmanned aerial vehicles (UAVs) as edge devices to provide computational offloading or data collection functions for edge nodes is currently a research hotspot. Existing research on UAVs as data collection platforms mostly focuses on static scenarios, neglecting the temporal nature of task deployments in the real world. Furthermore, the number of UAVs remains constant during optimization, and their deployment altitude is kept consistent, resulting in overly idealistic models lacking real-world significance. Additionally, their optimization objectives often emphasize attributes related to the current task deployment, optimizing metrics established at a specific moment, which cannot guarantee optimal overall system performance. Finally, they typically employ traditional optimization strategies, making it difficult to guarantee the quality of the decisions made. However, the following shortcomings exist:
[0004] Regarding the model:
[0005] 1. The number of drones is pre-set in the scenario and is not considered as a decision variable for optimization, so there is room for improvement in the model.
[0006] 2. The assumption that the drone's altitude remains constant in this scenario is too idealistic. In reality, variations in the drone's altitude have a significant impact on the optimization goals and decision-making of the entire system. Therefore, it should be considered as a decision variable for optimization.
[0007] 3. Its optimization goal is to maximize the system throughput. However, the task deployment is dynamic. It only satisfies the current system throughput maximization and ignores the potential impact of the current optimization result on the future. Therefore, its optimization result may not be optimal from a global perspective.
[0008] In terms of algorithms:
[0009] 1. It uses traditional scheduling algorithms to solve UAV path planning and task scheduling strategies, and the results obtained may not be optimal. It is easy to get trapped in local optima, and the quality of the solution is difficult to guarantee. Summary of the Invention
[0010] This invention addresses the problems existing in current technologies by providing a UAV data acquisition and scheduling system based on mobile edge computing. This technical solution studies the problem of using UAVs as data collection platforms to collect data from IoT nodes and establishes an optimization model of a dynamic UAVCluster Deployment System (OMDUCDS). This model fully represents the temporal characteristics of edge tasks and incorporates the number and altitude of UAVs into the decision variables, making the model realistic. Furthermore, the model incorporates the potential future mobile energy consumption of UAVs as a penalty term into the optimization objective, ensuring that the UAV deployment decisions made under this influence take future factors into account, resulting in more reasonable deployment decisions. Based on the model's characteristics, the method employs a Differential Evolution Algorithm Combining Fireworks Algorithm and Self-adaptive Mutation StrategyPool (DEACFASAMSP) to formulate UAV deployment decisions. This algorithm uses a strategy pool and adaptive mechanism to enhance the global search and introduces the fireworks algorithm to enhance the local search, comprehensively utilizing both global and local search methods. The algorithm can make better drone deployment decisions, resulting in higher quality solutions.
[0011] To achieve the above objectives, the technical solution of the present invention is as follows: a UAV data acquisition and scheduling system based on mobile edge computing, the system comprising a platform layer, an edge layer, and a device layer.
[0012] The equipment layer includes a drone deployment and recovery base, a drone node module, and an IoT node module. The drone deployment and recovery base consists of a drone recovery module and a drone deployment module. The IoT node module is composed of a collection of IoT nodes, and the drone cluster is composed of a drone node module. The IoT nodes publish transmission tasks, the drone cluster is responsible for collecting the published transmission tasks, and finally submitting them to the base station for further processing. The drone recovery module is responsible for recovering drones in the cluster, and the drone deployment module is responsible for adding drones to the drone cluster.
[0013] Edge layer: Includes an IoT node information collection module and a drone deployment decision instruction issuing module. The IoT node information collection module obtains metadata information of the transmission tasks issued by IoT nodes in the device layer. The drone deployment decision instruction issuing module is responsible for receiving the deployment decision of the drone cluster transmitted by the drone deployment decision issuing module in the platform layer and sending it to the device layer. The drone cluster in the device layer completes the deployment and collects the data of the transmission tasks issued by IoT nodes.
[0014] The platform layer includes a parameter receiving module, a model building module, a node task release data volume prediction module, a node task release time prediction module, a UAV mobility decision-making module, a UAV future deployment decision-making module, a UAV deployment decision-making module, and a UAV deployment decision distribution module.
[0015] The parameter receiving module receives the transmission task metadata information collected by the edge layer IoT node information collection module.
[0016] The model building module receives task metadata transmitted by the IoT node information collection module and builds OMDUCDS.
[0017] The node task deployment time prediction module uses an LSTM network to predict the future deployment time of IoT nodes based on the historical time information of when nodes deployed transmission tasks.
[0018] The node task release data volume prediction module uses an LSTM network to predict the amount of data that the IoT node will release and transmit at a future time, based on historical data volume information released by the IoT node and the time information predicted by the node task release time prediction module.
[0019] The UAV mobility decision-making module uses a greedy algorithm to solve the UAV's mobility decision, providing a method for solving UAV mobility decisions in the UAV deployment decision-making module.
[0020] The drone future deployment decision-making module uses DEACFASAMSP to solve for the drone's future deployment decision. This decision will be added as a penalty term to the drone deployment decision-making module, affecting the formulation of the drone deployment decision.
[0021] The drone deployment decision-making module uses DEACFASAMSP to solve OMDUCDS to obtain the drone deployment decision.
[0022] The drone deployment decision-making module sends drone deployment decisions to the drone deployment decision command-making module at the edge layer.
[0023] A method for a UAV data acquisition and scheduling system based on mobile edge computing, the method comprising the following steps:
[0024] Step 1: The IoT nodes in the device layer's IoT node module publish transmission tasks and upload task metadata information to the edge layer's IoT node information collection module.
[0025] Step 2: The IoT node information collection module at the device layer acquires the task metadata information of the IoT nodes at the device layer, and communicates with the parameter receiving module at the platform layer via XML format.
[0026] Step 3: The parameter receiving module receives the IoT node task metadata information transmitted by the edge layer IoT node information collection module.
[0027] Step 4: The model building module receives the task information transmitted by the initialization module and builds OMDUCDS.
[0028] Step 5: The node task release time prediction module uses an LSTM network to predict the future release time of transmission tasks based on the historical time information of IoT nodes when they released transmission tasks.
[0029] Step 6: The node task release data volume prediction module uses an LSTM network to predict the amount of data that the IoT node will release and transmit at a future time, based on the historical data volume information released by the IoT node and the time information predicted by the node task release time prediction module.
[0030] Step 7: Drone Future Deployment Decision-Making Module. The DEACFASAMSP algorithm is used to solve for the future deployment decisions of the drones. These decisions are added as a penalty term to the drone deployment decision-making module, influencing the formulation of drone deployment decisions.
[0031] Step 8: The drone deployment decision-making module uses DEACFASAMSP to solve OMDUCDS to obtain the final deployment decision for the drone.
[0032] Step 9: The drone deployment decision distribution module sends the drone deployment decision to the drone deployment decision instruction distribution module at the edge layer.
[0033] Step 10: The drone deployment decision instruction issuing module forwards the drone deployment decision to the device layer, where the drone recovery module, drone distribution module, drone node module, and IoT node module complete the execution of the actual deployment decision.
[0034] In step 2, communication is conducted via XML format with the parameter receiving module of the platform layer. The specific communication format is as follows:
[0035]
[0036]
[0037] Where totalDataSize represents the size of the data volume of the transmission task, coordinateX and coordinateY represent the horizontal and vertical coordinates of the current geographical location of the IoT node that published the transmission task, respectively, and pubdate represents the time when the IoT node published the transmission task.
[0038] Step 4 involves establishing OMDUCDS, which specifically includes a scenario model, a transport model, and three optimization models: a UAV mobility decision optimization model, a UAV future deployment decision optimization model, and a UAV deployment decision optimization model. The specific steps are as follows.
[0039] Step 4.1: Let the refresh time slice of the data acquisition system be ΔQ, Q t This represents the time of the system's t-th refresh, regarding Q. t The recursive formula is shown in equation (1), where N is the set of natural numbers.
[0040] Q t =Q t-1 +ΔQ=Q t-2 +2ΔQ=……=Q1+(t-1)ΔQ,t∈N (1)
[0041] Step 4.2: Constructing the Scenario Model: Suppose the scenario contains Z IoT nodes deployed within a certain area, denoted as Z = {1, 2, ..., z}, z ∈ N, and a drone swarm acting as a data acquisition platform, collecting data from these ground IoT nodes. Assume Q... t The number of drones at any given time is k t Furthermore, since the prior knowledge is unknown, a drone swarm can be represented as K. t ={1,2,...,k t},
[0042] IoT nodes randomly issue transmission tasks, and the drone swarm needs to accept these tasks. Based on the time the IoT node issues the task, it is allocated to a specific time slice in the data acquisition system for transmission. The task information issued by the i-th IoT node and allocated to the t-th time slice can be represented by a triplet. in Let x represent the amount of data that the i-th IoT node is allocated to process in the t-th time slice of the system. i The x-coordinate of the location of the i-th IoT node is represented by y. i The ordinate represents the geographical location of the i-th IoT node.
[0043] Step 4.3: Construct the transmission model: The i-th IoT node and the j-th drone at time Q t The distance between them is shown in equation (2).
[0044]
[0045] Where (x) i ,y i (0) is the location of the i-th IoT node. Is it the j-th drone Q? t Location at any given moment Q represents the j-th drone. t The x-axis, y-axis, and height of the time.
[0046] The i-th IoT node and the j-th drone are connected via Q. t Whether a connection is established at any given time is represented by a Boolean variable. Specifically, if the i-th IoT node sends data to the j-th drone in the t-th batch of the system, then Equals 1; otherwise The value is 0. To save transmission energy, each IoT node always selects the nearest drone to send data. The calculation method is shown in equation (3).
[0047]
[0048] Each IoT node can only select one drone to send data, therefore The constraints are shown in equation (4).
[0049]
[0050] Furthermore, considering system bandwidth limitations, each drone can receive data from a maximum of M IoT nodes simultaneously, as specifically expressed in equation (5).
[0051]
[0052] To ensure that all IoT nodes are served, equation (6) should be satisfied.
[0053]
[0054] For air-to-ground communication, each IoT node has a probability of establishing a line-of-sight relationship with a specific UAV. This probability depends on the environment in which the IoT node and the UAV are located and the degree of elevation between them. The expression for the probability of establishing a line-of-sight relationship is shown in Equation (7).
[0055]
[0056] ψ and β are constants that depend on the carrier frequency and the type of environment, such as urban or rural areas. It is Q t The angle of elevation between IoT node i and drone j at any given moment.
[0057] Equation (7) shows that increasing the elevation angle or the drone's altitude increases the probability of establishing a line-of-sight relationship. A necessary condition for an IoT node and a drone to connect is that the probability of them establishing a line-of-sight relationship must be greater than a threshold (ε is close to 1). Therefore, P LoS (θ)≥ε, by Derivation of equation (8),
[0058]
[0059] From equation (8), we can derive that the maximum distance between an IoT node and a drone is...
[0060] The i-th IoT node and the j-th drone are in Q t The channel gain between time points is expressed by equation (9).
[0061]
[0062] Where h0 represents the channel power gain at a reference distance d0 = 1m.
[0063] As can be seen from equation (9), the shorter the distance between the j-th drone and the i-th IoT node, the greater its channel gain, which perfectly matches the statement in equation (3) that each IoT node always selects the nearest drone to send data.
[0064] Therefore, if the i-th IoT node sends data to the j-th drone in the t-th batch of the system, the rate is as shown in equation (10).
[0065]
[0066] Where p i σ is the transmission power from the i-th IoT node to the drone; 2 B is the Gaussian noise power, and B is the system bandwidth.
[0067] The amount of data that the i-th IoT node sends to the j-th drone in the t-th batch of the system is The data transmission time is shown in equation (11).
[0068]
[0069] The energy consumption calculation method is shown in equation (12).
[0070]
[0071] Therefore, the energy consumption calculation method for all IoT nodes is shown in Equation (13).
[0072]
[0073] The hovering time of the j-th UAV is shown in equation (14).
[0074]
[0075] The hovering energy consumption of the j-th UAV is shown in equation (15).
[0076]
[0077] Where p h For the drone's hovering power,
[0078] The distance between the two drones must meet certain conditions to prevent a collision; the distance between drones j1 and j2 must be greater than d. min Specifically, as shown in equation (16),
[0079]
[0080] As a data relay station, the data from the IoT nodes is ultimately transmitted to the edge server for processing. The amount of data received by the j-th drone is shown in Equation (17).
[0081]
[0082] The time it takes for the j-th drone to send data to the edge server It is represented as shown in equation (18).
[0083]
[0084] in This represents the rate at which the j-th drone transmits data to the edge server in the t-th batch of the system.
[0085] The transmission energy consumption of the j-th UAV is shown in equation (19).
[0086]
[0087] Where p u Represents the transmission power of the drone.
[0088] The total energy consumption of the drone is shown in equation (20).
[0089]
[0090] Step 4.4: Construct an optimization model for UAV mobile decision-making.
[0091] The location of the drone distribution and recovery base is set to (X). base ,Y base ,0), where X base ,Y base The x and y coordinates represent the drone deployment and recovery bases, respectively. The drone movement strategy formulation module needs to specifically formulate drone movement decisions to minimize drone movement energy consumption. Drone movement energy consumption can be divided into three main types: energy consumption caused by aerial drone movement, energy consumption caused by drone movement to the drone deployment and recovery base, and energy consumption caused by drones deployed from the drone deployment and recovery base to aerial deployment.
[0092] Since the number of drones in the current deployment decision may be greater than, equal to, or less than the number of drones in the previous deployment decision, if it is greater, a certain number of drones need to be deployed from the drone deployment and recovery base. The number deployed is the absolute value of the difference between the two deployment decisions. If it is equal to, no action is needed at the drone deployment and recovery base. If it is less than, a certain number of drones need to be recovered from the drones deployed in the previous deployment decision. The recovered number is the absolute value of the difference between the two deployment decisions. Both drone deployment and recovery increase the drones' mobile energy consumption.
[0093] Define the mobile decision variables for drones As shown in equation (21),
[0094]
[0095] The mobile energy consumption of the UAV in the t-th time slice is shown in Equation (22).
[0096]
[0097] The optimization model for the UAV mobile decision-making module is shown in equations (23) to (26).
[0098]
[0099] subject to.
[0100]
[0101]
[0102]
[0103] Equation (23) is the optimization objective, which should minimize the mobile energy consumption of the UAV. Equation (24) constrains the UAV movement decision variable to be of Boolean type. Equation (25) constrains the UAV in the previous time slice to either move to the designated location or return to the UAV deployment and recovery base. Equation (26) constrains the UAV deployment location obtained in the current time slice to be occupied by a UAV.
[0104] Step 4.5: Construct an optimization model for future drone deployment decisions.
[0105] Determining drone deployment decisions solely based on current task information is insufficient to guarantee the lowest total energy consumption from the past to the future. Future information must be directly or indirectly incorporated into the decision-making objective. By predicting the characteristics of future IoT node deployment tasks using the node task release time prediction module and the node task release data volume prediction module, information on tasks the system might process in the next time slice is filtered out. The future drone deployment decision is then used as a decision variable to be solved. After solving, the resulting future mobility energy consumption is added as a penalty term to the drone deployment decision optimization model, thereby influencing the final drone deployment decision and reducing the system's total energy consumption from the past to the future.
[0106] The optimization objective of the UAV future deployment decision optimization model is shown in equation (27).
[0107]
[0108] The optimization model for future deployment decisions of drones is shown in equations (28) to (36).
[0109]
[0110] subject to.
[0111]
[0112]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118]
[0119] in Let be the decision variables, representing the expected geographical location and the expected number of drones to be deployed in the system's next time slice at the future moment. This indicates the expected ensemble of drones to be deployed. and Let represent the minimum and maximum expected number of drones deployed in the system at time slice t+1, respectively. The num() function is used to count the number of elements in a set or list.
[0120] Equation (28) is the optimization objective, aiming to minimize the sum of energy consumption of the drone and IoT nodes at future time points. α represents the weight of the energy consumption of the drone and the IoT node, where α > 0. Equation (29) indicates that the connection between IoT node i and drone j is a Boolean variable. Equation (30) constrains that the transmission tasks issued by each IoT node can be transmitted. Equation (31) constrains that each drone can receive data from a maximum of M IoT nodes. Equation (32) constrains that the IoT nodes must be within the coverage area of the drone. Equations (33) to (35) constrain the range of drone deployment locations. Equation (36) constrains the number of drones deployed.
[0121] Step 4.6: Construct an optimization model for UAV deployment decision, as shown in equations (37) to (45).
[0122]
[0123] subject to.
[0124]
[0125]
[0126]
[0127]
[0128]
[0129]
[0130]
[0131] in and Let these represent the minimum and maximum values of the number of drones deployed in the system at time slice t, respectively.
[0132] Equation (37) is the optimization objective, which minimizes the sum of the energy consumption of the UAV node, the energy consumption of the IoT node, the mobile energy consumption of the UAV, and the mobile energy consumption of the future UAV. μ, ξ, and λ represent the corresponding weights, respectively, μ > 0, ξ > 0, and λ > 0. The interpretations of equations (38) to (45) are the same as those of equations (29) to (36).
[0133] Step 5 is as follows: Obtain 30 historical data items of the time when IoT node i publishes transmission tasks, and use them... This means that the input is fed into a trained LSTM network, and the final network output is... This indicates the predicted release time of the next transmission task for IoT node i. The network calculation formulas are shown in equations (46) to (52):
[0134]
[0135]
[0136]
[0137]
[0138] a <e> =o <e> *tanh(c <e> (50)
[0139]
[0140]
[0141] Among them, u <e> f is the update gate for the e-th node. <e> For the forget gate of the e-th node, o <e> f is the output gate of the e-th node. <e> Will choose l <e-1> Eigenvalues, f <e> It is a vector, where each element of the vector is in the range [0,1]. This represents the unit state update value, derived from the input data. and hidden node a <e-1> u is obtained through a neural network layer. <e> For selection The feature is used to update, which is a vector with elements in the interval [0,1], and is updated by... and a <e-1> The activation functions are tanh() and σ(), which are calculated using activation functions.
[0142] Step 6 is as follows: Obtain the data volume of the transmission task published by IoT node i in the current time slice, using data i This means that the data is input into a trained LSTM network, and the final network output is datapred. i , representing the predicted data volume to be released by the next transmission task of IoT node i. The calculation formula for the network is similar to that of equations (46) to (52), except that the number of rounds of input data and the number of rounds of prediction are different.
[0143] The time difference between data in each layer of the LSTM network is set to Δt. During prediction, datapred i The time should be The formula for calculating the number of rounds predicted in the future is shown in equation (53).
[0144]
[0145] Here, ceil() represents the floor function.
[0146] Step 8 is as follows:
[0147] Step 8.1: Based on the geographical distribution characteristics of IoT nodes in the scene, use the K-means algorithm to generate an initial population P, increment the evolution count by 1, and check whether the generated population P satisfies the constraints. If not, continue this step until a feasible population is generated.
[0148] Step 8.2: Check if the number of evolutions has reached a specified threshold. If it has, the algorithm stops iterating and outputs the optimal population, which is the final drone deployment decision. If the threshold has not been reached, proceed to step 8.3.
[0149] Step 8.3: Traverse the population P and use the roulette wheel method to select a differential evolution algorithm from the mutation strategy pool to complete the mutation of individuals in P. The roulette wheel calculation formula is shown in equation (57).
[0150]
[0151] Where PA is b The probability w of mutation algorithm b being selected b Let represent the selection weight of algorithm b in the algorithm policy pool, pool be the list of mutation algorithm policy pools, and n be an index variable used to traverse the mutation algorithms in the mutation policy pool, with a traversal range from 1 to num(pool).
[0152] The formulas for individual variation are shown in equations (54) to (56); the binary crossover method is used to complete the crossover of individuals, as shown in equation (58).
[0153]
[0154] Where j is a component of the individual dimension, j rand From [1,num(x) i A randomly selected integer from ] ensures that u i and x i At least one variable is different; CR is the crossover probability, ranging from [0,1].
[0155] After the traversal is complete, an intermediate population U is generated.
[0156] Step 8.4: Traverse the individuals in the intermediate state population U to obtain individual I. Then, sequentially perform deletion, replacement, and addition operations on individuals in population P according to the following strategy:
[0157] Deletion strategy: Randomly delete individuals from P.
[0158] Replacement strategy: Randomly replace one individual in P with I.
[0159] Add strategy: Add I to P,
[0160] Next, evaluate the population fitness values after adopting the three strategies. Keep the operation that improves fitness and has the best effect; otherwise, keep the population P unchanged, record it as the optimal population Fbest, and increment the evolution count by 3.
[0161] Step 8.5: Update the selection weights of each operator in the mutation algorithm policy pool according to equation (59).
[0162] w b =δw b +(1-δ)σ(fitness(Fbefore)-fitness(Fbest)), b∈pool (59)
[0163] Where b is the selected mutation algorithm, δ is the weight updated in the algorithm's policy pool, Fbefore is the optimal population before the mutation operation, and fitness() is the function for calculating the population fitness.
[0164] Step 8.6: Use the fireworks algorithm to perform a neighborhood search on the mutated population. See steps 8.6.1 to 8.6.3 for details.
[0165] Step 8.6.1: Calculate the number of fireworks explosions according to equations (60) and (61).
[0166] s=σ(-fitness(P)) (60)
[0167]
[0168] Where s represents the number of fireworks explosions. The number of fireworks explosions is the rounded-down value, where m is a constant controlling the number of sparks, and a and b are also constants.
[0169] Step 8.6.2: Calculate the explosion range of the fireworks according to formula (62).
[0170] A = σ(fitness(P)) (62)
[0171] Step 8.6.3: Initialize the intermediate auxiliary variable temp to P.
[0172] Step 8.6.4: Perform a burst search on population P according to equation (63) to obtain population P'. Replace populations that exceed the boundary according to the rule of equation (64). If the fitness value of population P' is better than temp, then temp is replaced with P', and the evolution count is incremented by 1.
[0173] Y i =X+A·rand(-1,1) (63)
[0174]
[0175] Among them, Y i j This represents the value of the i-th firework particle in the j-th dimension. and Denote the upper and lower bounds of the j-th dimension.
[0176] Step 8.6.4: Determine if the number of iterations has reached the explosion limit. If not, proceed to step 8.6; otherwise, proceed to step 8.7.
[0177] Step 8.7: Update the optimal population Fbest, then proceed to step 8.2.
[0178] The part involving the calculation of population fitness values in steps 8.1 to 8.7, that is, using the fitness() function, is explained in steps 8.8 to 8.9.
[0179] Step 8.8: Obtain the results according to equations (13) to (20). and
[0180] Step 8.9: Solve using the greedy method and You can input the model and data into LINGO, and LINGO can directly solve and obtain the results. and
[0181] Compared with existing technologies, this invention has the following advantages: 1) This technical solution proposes a UAV data acquisition and scheduling system and method based on mobile edge computing, and constructs OMDUCDS. It fully considers the temporal characteristics of task release; after using an LSTM network to predict the future release time and data volume of tasks, it then divides them into system time slices, adding future information to the optimization objective; the model also incorporates the number of UAVs and altitude into the decision variables, making the constructed model more reasonable. 2) This method uses DEACFASAMSP to optimize the deployment scheme of UAVs with energy consumption as the objective. The adaptive mutation strategy pool mechanism of the algorithm gives the algorithm a good global search capability, and the fireworks algorithm part enhances the local search capability of the algorithm. This algorithm can better escape local optima and solve for better UAV deployment decisions. Attached Figure Description
[0182] Figure 1 This is a framework diagram of a UAV data acquisition and scheduling system and method based on mobile edge computing;
[0183] Figure 2 A flowchart of a UAV data acquisition and scheduling system and method based on mobile edge computing;
[0184] Figure 3 A scenario diagram illustrating a UAV data acquisition and scheduling system and method based on mobile edge computing;
[0185] Figure 4 This is a flowchart of an algorithm for a UAV data acquisition and scheduling system based on mobile edge computing. Detailed Implementation
[0186] To enhance understanding of the present invention, the embodiments will be described in detail below with reference to the accompanying drawings.
[0187] Example 1: See Figures 1-4 A UAV data acquisition and scheduling system based on mobile edge computing, the system comprising a platform layer, an edge layer, and a device layer.
[0188] The equipment layer includes a drone deployment and recovery base, a drone node module, and an IoT node module. The drone deployment and recovery base consists of a drone recovery module and a drone deployment module. The IoT node module is composed of a collection of IoT nodes, and the drone cluster is composed of a drone node module. The IoT nodes publish transmission tasks, the drone cluster is responsible for collecting the published transmission tasks, and finally submitting them to the base station for further processing. The drone recovery module is responsible for recovering drones in the cluster, and the drone deployment module is responsible for adding drones to the drone cluster.
[0189] Edge layer: Includes an IoT node information collection module and a drone deployment decision instruction issuing module. The IoT node information collection module obtains metadata information of the transmission tasks issued by IoT nodes in the device layer. The drone deployment decision instruction issuing module is responsible for receiving the deployment decision of the drone cluster transmitted by the drone deployment decision issuing module in the platform layer and sending it to the device layer. The drone cluster in the device layer completes the deployment and collects the data of the transmission tasks issued by IoT nodes.
[0190] The platform layer includes a parameter receiving module, a model building module, a node task release data volume prediction module, a node task release time prediction module, a UAV mobility decision-making module, a UAV future deployment decision-making module, a UAV deployment decision-making module, and a UAV deployment decision distribution module.
[0191] The parameter receiving module receives the transmission task metadata information collected by the edge layer IoT node information collection module.
[0192] The model building module receives task metadata transmitted by the IoT node information collection module and builds OMDUCDS.
[0193] The node task deployment time prediction module uses an LSTM network to predict the future deployment time of IoT nodes based on the historical time information of when nodes deployed transmission tasks.
[0194] The node task release data volume prediction module uses an LSTM network to predict the amount of data that the IoT node will release and transmit at a future time, based on historical data volume information released by the IoT node and the time information predicted by the node task release time prediction module.
[0195] The UAV mobility decision-making module uses a greedy algorithm to solve the UAV's mobility decision, providing a method for solving UAV mobility decisions in the UAV deployment decision-making module.
[0196] The drone future deployment decision-making module uses DEACFASAMSP to solve for the drone's future deployment decision. This decision will be added as a penalty term to the drone deployment decision-making module, affecting the formulation of the drone deployment decision.
[0197] The drone deployment decision-making module uses DEACFASAMSP to solve OMDUCDS to obtain the drone deployment decision.
[0198] The drone deployment decision-making module sends drone deployment decisions to the drone deployment decision command-making module at the edge layer.
[0199] Example 2: See Figures 1-4A method for a drone data acquisition and scheduling system based on mobile edge computing, the method comprising the following steps:
[0200] Step 1: The IoT nodes in the device layer's IoT node module publish transmission tasks and upload task metadata information to the edge layer's IoT node information collection module.
[0201] Step 2: The IoT node information collection module at the device layer acquires the task metadata information of the IoT nodes at the device layer, and communicates with the parameter receiving module at the platform layer via XML format.
[0202] Step 3: The parameter receiving module receives the IoT node task metadata information transmitted by the edge layer IoT node information collection module.
[0203] Step 4: The model building module receives the task information transmitted by the initialization module and builds OMDUCDS.
[0204] Step 5: The node task release time prediction module uses an LSTM network to predict the future release time of transmission tasks based on the historical time information of IoT nodes when they released transmission tasks.
[0205] Step 6: The node task release data volume prediction module uses an LSTM network to predict the amount of data that the IoT node will release and transmit at a future time, based on the historical data volume information released by the IoT node and the time information predicted by the node task release time prediction module.
[0206] Step 7: Drone Future Deployment Decision-Making Module. The DEACFASAMSP algorithm is used to solve for the future deployment decisions of the drones. These decisions are added as a penalty term to the drone deployment decision-making module, influencing the formulation of drone deployment decisions.
[0207] Step 8: The drone deployment decision-making module uses DEACFASAMSP to solve OMDUCDS to obtain the final deployment decision for the drone.
[0208] Step 9: The drone deployment decision distribution module sends the drone deployment decision to the drone deployment decision instruction distribution module at the edge layer.
[0209] Step 10: The drone deployment decision instruction issuing module forwards the drone deployment decision to the device layer, where the drone recovery module, drone distribution module, drone node module, and IoT node module complete the execution of the actual deployment decision.
[0210] In step 2, communication is conducted via XML format with the parameter receiving module of the platform layer. The specific communication format is as follows:
[0211]
[0212] Where totalDataSize represents the size of the data volume of the transmission task, coordinateX and coordinateY represent the horizontal and vertical coordinates of the current geographical location of the IoT node that published the transmission task, respectively, and pubdate represents the time when the IoT node published the transmission task.
[0213] Step 4 involves establishing OMDUCDS, which specifically includes a scenario model, a transport model, and three optimization models: a UAV mobility decision optimization model, a UAV future deployment decision optimization model, and a UAV deployment decision optimization model. The specific steps are as follows.
[0214] Step 4.1: Let the refresh time slice of the data acquisition system be ΔQ, Q t This represents the time of the system's t-th refresh, regarding Q. t The recursive formula is shown in equation (1), where N is the set of natural numbers.
[0215] Q t =Q t-1 +ΔQ=Q t-2 +2ΔQ=……=Q1+(t-1)ΔQ,t∈N (1)
[0216] Step 4.2: Constructing the Scenario Model: Suppose the scenario contains Z IoT nodes deployed within a certain area, denoted as Z = {1, 2, ..., z}, z ∈ N, and a drone swarm acting as a data acquisition platform, collecting data from these ground IoT nodes. Assume Q... t The number of drones at any given time is k t Furthermore, since the prior knowledge is unknown, a drone swarm can be represented as Kt={1,2,...,k t},
[0217] IoT nodes randomly issue transmission tasks, and the drone swarm needs to accept these tasks. Based on the time the IoT node issues the task, it is allocated to a specific time slice in the data acquisition system for transmission. The task information issued by the i-th IoT node and allocated to the t-th time slice can be represented by a triplet. in Let x represent the amount of data that the i-th IoT node is allocated to process in the t-th time slice of the system. i The x-coordinate of the location of the i-th IoT node is represented by y. i The ordinate represents the geographical location of the i-th IoT node.
[0218] Step 4.3: Construct the transmission model: The i-th IoT node and the j-th drone at time Q tThe distance between them is shown in equation (2).
[0219]
[0220] Where (x) i ,y i (0) is the location of the i-th IoT node. Is it the j-th drone Q? t Location at any given moment Q represents the j-th drone. t The x-axis, y-axis, and height of the time.
[0221] The i-th IoT node and the j-th drone are connected via Q. t Whether a connection is established at any given time is represented by a Boolean variable. Specifically, if the i-th IoT node sends data to the j-th drone in the t-th batch of the system, then Equals 1; otherwise The value is 0. To save transmission energy, each IoT node always selects the nearest drone to send data. The calculation method is shown in equation (3).
[0222]
[0223] Each IoT node can only select one drone to send data, therefore The constraints are shown in equation (4).
[0224]
[0225] Furthermore, considering system bandwidth limitations, each drone can receive data from a maximum of M IoT nodes simultaneously, as specifically expressed in equation (5).
[0226]
[0227] To ensure that all IoT nodes are served, equation (6) should be satisfied.
[0228]
[0229] For air-to-ground communication, each IoT node has a probability of establishing a line-of-sight relationship with a specific UAV. This probability depends on the environment in which the IoT node and the UAV are located and the degree of elevation between them. The expression for the probability of establishing a line-of-sight relationship is shown in Equation (7).
[0230]
[0231] ψ and β are constants that depend on the carrier frequency and the type of environment, such as urban or rural areas. It is Q t The angle of elevation between IoT node i and drone j at any given moment.
[0232] Equation (7) shows that increasing the elevation angle or the drone's altitude increases the probability of establishing a line-of-sight relationship. A necessary condition for an IoT node and a drone to connect is that the probability of them establishing a line-of-sight relationship must be greater than a threshold (ε is close to 1). Therefore, P LoS (θ)≥ε, by Derivation of equation (8),
[0233]
[0234] From equation (8), we can derive that the maximum distance between an IoT node and a drone is...
[0235] The i-th IoT node and the j-th drone are in Q t The channel gain between time points is expressed by equation (9).
[0236]
[0237] Where h0 represents the channel power gain at a reference distance d0 = 1m.
[0238] As can be seen from equation (9), the shorter the distance between the j-th drone and the i-th IoT node, the greater its channel gain, which perfectly matches the statement in equation (3) that each IoT node always selects the nearest drone to send data.
[0239] Therefore, if the i-th IoT node sends data to the j-th drone in the t-th batch of the system, the rate is as shown in equation (10).
[0240]
[0241] Where p i σ is the transmission power from the i-th IoT node to the drone; 2 B is the Gaussian noise power, and B is the system bandwidth.
[0242] The amount of data that the i-th IoT node sends to the j-th drone in the t-th batch of the system is The data transmission time is shown in equation (11).
[0243]
[0244] The energy consumption calculation method is shown in equation (12).
[0245]
[0246] Therefore, the energy consumption calculation method for all IoT nodes is shown in Equation (13).
[0247]
[0248] The hovering time of the j-th UAV is shown in equation (14).
[0249]
[0250] The hovering energy consumption of the j-th UAV is shown in equation (15).
[0251]
[0252] Where p h For the drone's hovering power,
[0253] The distance between the two drones must meet certain conditions to prevent a collision; the distance between drones j1 and j2 must be greater than d. min Specifically, as shown in equation (16),
[0254]
[0255] As a data relay station, the data from the IoT nodes is ultimately transmitted to the edge server for processing. The amount of data received by the j-th drone is shown in Equation (17).
[0256]
[0257] The time it takes for the j-th drone to send data to the edge server It is represented as shown in equation (18).
[0258]
[0259] in This represents the rate at which the j-th drone transmits data to the edge server in the t-th batch of the system.
[0260] The transmission energy consumption of the j-th UAV is shown in equation (19).
[0261]
[0262] Where p u Represents the transmission power of the drone.
[0263] The total energy consumption of the drone is shown in equation (20).
[0264]
[0265] Step 4.4: Construct an optimization model for UAV mobile decision-making.
[0266] The location of the drone distribution and recovery base is set to (X). base ,Y base ,0), where X base ,Y base The x and y coordinates represent the drone deployment and recovery bases, respectively. The drone movement strategy formulation module needs to specifically formulate drone movement decisions to minimize drone movement energy consumption. Drone movement energy consumption can be divided into three main types: energy consumption caused by aerial drone movement, energy consumption caused by drone movement to the drone deployment and recovery base, and energy consumption caused by drones deployed from the drone deployment and recovery base to aerial deployment.
[0267] Since the number of drones in the current deployment decision may be greater than, equal to, or less than the number of drones in the previous deployment decision, if it is greater, a certain number of drones need to be deployed from the drone deployment and recovery base. The number deployed is the absolute value of the difference between the two deployment decisions. If it is equal to, no action is needed at the drone deployment and recovery base. If it is less than, a certain number of drones need to be recovered from the drones deployed in the previous deployment decision. The recovered number is the absolute value of the difference between the two deployment decisions. Both drone deployment and recovery increase the drones' mobile energy consumption.
[0268] Define the mobile decision variables for drones As shown in equation (21),
[0269]
[0270] The mobile energy consumption of the UAV in the t-th time slice is shown in Equation (22).
[0271]
[0272] The optimization model for the UAV mobile decision-making module is shown in equations (23) to (26).
[0273]
[0274] subject to.
[0275]
[0276]
[0277]
[0278] Equation (23) is the optimization objective, which should minimize the mobile energy consumption of the UAV. Equation (24) constrains the UAV movement decision variable to be of Boolean type. Equation (25) constrains the UAV in the previous time slice to either move to the designated location or return to the UAV deployment and recovery base. Equation (26) constrains the UAV deployment location obtained in the current time slice to be occupied by a UAV.
[0279] Step 4.5: Construct an optimization model for future drone deployment decisions.
[0280] Determining drone deployment decisions solely based on current task information is insufficient to guarantee the lowest total energy consumption from the past to the future. Future information must be directly or indirectly incorporated into the decision-making objective. By predicting the characteristics of future IoT node deployment tasks using the node task release time prediction module and the node task release data volume prediction module, information on tasks the system might process in the next time slice is filtered out. The future drone deployment decision is then used as a decision variable to be solved. After solving, the resulting future mobility energy consumption is added as a penalty term to the drone deployment decision optimization model, thereby influencing the final drone deployment decision and reducing the system's total energy consumption from the past to the future.
[0281] The optimization objective of the UAV future deployment decision optimization model is shown in equation (27).
[0282]
[0283] The optimization model for future deployment decisions of drones is shown in equations (28) to (36).
[0284]
[0285] subject to.
[0286]
[0287]
[0288]
[0289]
[0290]
[0291]
[0292]
[0293]
[0294] in Let be the decision variables, representing the expected geographical location and the expected number of drones to be deployed in the system's next time slice at the future moment. This indicates the expected ensemble of drones to be deployed. and Let represent the minimum and maximum expected number of drones deployed in the system at time slice t+1, respectively. The num() function is used to count the number of elements in a set or list.
[0295] Equation (28) is the optimization objective, aiming to minimize the sum of energy consumption of the drone and IoT nodes at future time points. α represents the weight of the energy consumption of the drone and the IoT node, where α > 0. Equation (29) indicates that the connection between IoT node i and drone j is a Boolean variable. Equation (30) constrains that the transmission tasks issued by each IoT node can be transmitted. Equation (31) constrains that each drone can receive data from a maximum of M IoT nodes. Equation (32) constrains that the IoT nodes must be within the coverage area of the drone. Equations (33) to (35) constrain the range of drone deployment locations. Equation (36) constrains the number of drones deployed.
[0296] Step 4.6: Construct an optimization model for UAV deployment decision, as shown in equations (37) to (45).
[0297]
[0298] subject to.
[0299]
[0300]
[0301]
[0302]
[0303]
[0304]
[0305]
[0306] in and Let these represent the minimum and maximum values of the number of drones deployed in the system at time slice t, respectively.
[0307] Equation (37) is the optimization objective, which minimizes the sum of the energy consumption of the UAV node, the energy consumption of the IoT node, the mobile energy consumption of the UAV, and the mobile energy consumption of the future UAV. μ, ξ, and λ represent the corresponding weights, respectively, μ > 0, ξ > 0, and λ > 0. The interpretations of equations (38) to (45) are the same as those of equations (29) to (36).
[0308] Step 5 is as follows: Obtain 30 historical data items of the time when IoT node i publishes transmission tasks, and use them... This means that the input is fed into a trained LSTM network, and the final network output is... This indicates the predicted release time of the next transmission task for IoT node i. The network calculation formulas are shown in equations (46) to (52):
[0309]
[0310]
[0311]
[0312]
[0313] a <e> =o <e> *tanh(c <e> (50)
[0314]
[0315]
[0316] Among them, u <e> f is the update gate for the e-th node. <e> For the forget gate of the e-th node, o <e> f is the output gate of the e-th node. <e> Will choose l <e-1> Eigenvalues, f <e> It is a vector, where each element of the vector is in the range [0,1]. This represents the unit state update value, derived from the input data. and hidden node a <e-1> u is obtained through a neural network layer. <e> For selection The feature is used to update, which is a vector with elements in the interval [0,1], and is updated by... and a <e-1> The activation functions are tanh() and σ(), which are calculated using activation functions.
[0317] Step 6 is as follows: Obtain the data volume of the transmission task published by IoT node i in the current time slice, using data i This means that the data is input into a trained LSTM network, and the final network output is datapred. i , representing the predicted data volume to be released by the next transmission task of IoT node i. The calculation formula for the network is similar to that of equations (46) to (52), except that the number of rounds of input data and the number of rounds of prediction are different.
[0318] The time difference between data in each layer of the LSTM network is set to Δt. During prediction, datapred i The time should be The formula for calculating the number of rounds predicted in the future is shown in equation (53).
[0319]
[0320] Here, ceil() represents the floor function.
[0321] In step 8: DEACFASAMSP uses an adaptive differential mutation strategy pool for a comprehensive global search and a fireworks algorithm for a thorough local search of the solution, thus enabling it to formulate better UAV deployment decisions. DEACFASAMSP uses a novel encoding method to transform the variable-length problem into a fixed-length problem, as shown in Table 1.
[0322] Table 1 DEACFASAMSP Encoding Table
[0323]
[0324] The mutation policy pool of DEACFASAMSP contains the following differential evolution operators.
[0325] DE / rand / 1: See equation (54).
[0326] v i =x r1 +F·(x r2 -x r3 (54)
[0327] DE / rand / 2: See equation (55).
[0328] v i =x r1 +F·(x r2 -x r3 )+F·(x r4 -x r5 (55)
[0329] DE / current-to-rand / 1: See formula (56).
[0330] v i =x i +F·(x r1 -x i )+F·(x r2 -x r3 (56)
[0331] jDE: The calculation is the same as in equation (54), except that F is dynamically changing.
[0332] Where v i Let r1, r2, r3, r4, r5 represent the mutated individual. r1, r2, r3, r4, r5 are integers randomly selected from [1, NP], where NP is the number of individuals in the population. The values of r1, r2, r3, r4, r5 are mutually exclusive and related to the current mutated individual x. i Different. r1 ,x r2 ,x r3 ,x r4 ,x r5 The selected individuals in the current population. The scaling factor F is a positive control parameter between [0,1] used for scaling vector differences.
[0333] DEACFASAMSP flowchart as follows Figure 4 As shown, the specific steps are as follows.
[0334] Step 8.1: Based on the geographical distribution characteristics of IoT nodes in the scene, use the K-means algorithm to generate an initial population P, increment the evolution count by 1, and check whether the generated population P satisfies the constraints. If not, continue this step until a feasible population is generated.
[0335] Step 8.2: Check if the number of evolutions has reached a specified threshold. If it has, the algorithm stops iterating and outputs the optimal population, which is the final drone deployment decision. If the threshold has not been reached, proceed to step 8.3.
[0336] Step 8.3: Traverse the population P and use the roulette wheel method to select a differential evolution algorithm from the mutation strategy pool to complete the mutation of individuals in P. The roulette wheel calculation formula is shown in equation (57).
[0337]
[0338] Where PA is b The probability w of mutation algorithm b being selected bLet represent the selection weight of algorithm b in the algorithm policy pool, pool be the list of mutation algorithm policy pools, and n be an index variable used to traverse the mutation algorithms in the mutation policy pool, with a traversal range from 1 to num(pool).
[0339] The formulas for individual variation are shown in equations (54) to (56); the binary crossover method is used to complete the crossover of individuals, as shown in equation (58).
[0340]
[0341] Where j is a component of the individual dimension, j rand From [1,num(x) i A randomly selected integer from ] ensures that u i and x i At least one variable is different; CR is the crossover probability, ranging from [0,1].
[0342] After the traversal is complete, an intermediate population U is generated.
[0343] Step 8.4: Traverse the individuals in the intermediate state population U to obtain individual I. Then, sequentially perform deletion, replacement, and addition operations on individuals in population P according to the following strategy:
[0344] Deletion strategy: Randomly delete individuals from P.
[0345] Replacement strategy: Randomly replace one individual in P with I.
[0346] Add strategy: Add I to P,
[0347] Next, evaluate the population fitness values after adopting the three strategies. Keep the operation that improves fitness and has the best effect; otherwise, keep the population P unchanged, record it as the optimal population Fbest, and increment the evolution count by 3.
[0348] Step 8.5: Update the selection weights of each operator in the mutation algorithm policy pool according to equation (59).
[0349] w b =δw b +(1-δ)σ(fitness(Fbefore)-fitness(Fbest)), b∈pool (59)
[0350] Where b is the selected mutation algorithm, δ is the weight updated in the algorithm's policy pool, Fbefore is the optimal population before the mutation operation, and fitness() is the function for calculating the population fitness.
[0351] Step 8.6: Use the fireworks algorithm to perform a neighborhood search on the mutated population. See steps 8.6.1 to 8.6.3 for details.
[0352] Step 8.6.1: Calculate the number of fireworks explosions according to equations (60) and (61).
[0353] s=σ(-fitness(P)) (60)
[0354]
[0355] Where s represents the number of fireworks explosions. The number of fireworks explosions is the rounded-down value, where m is a constant controlling the number of sparks, and a and b are also constants.
[0356] Step 8.6.2: Calculate the explosion range of the fireworks according to formula (62).
[0357] A = σ(fitness(P)) (62)
[0358] Step 8.6.3: Initialize the intermediate auxiliary variable temp to P.
[0359] Step 8.6.4: Perform a burst search on population P according to equation (63) to obtain population P'. Replace populations that exceed the boundary according to the rule of equation (64). If the fitness value of population P' is better than temp, then temp is replaced with P', and the evolution count is incremented by 1.
[0360] Y i =X+A·rand(-1,1) (63)
[0361]
[0362] Among them, Y i j This represents the value of the i-th firework particle in the j-th dimension. and Denote the upper and lower bounds of the j-th dimension.
[0363] Step 8.6.4: Determine if the number of iterations has reached the explosion limit. If not, proceed to step 8.6; otherwise, proceed to step 8.7.
[0364] Step 8.7: Update the optimal population Fbest, then proceed to step 8.2.
[0365] The part involving the calculation of population fitness values in steps 8.1 to 8.7, that is, using the fitness() function, is explained in steps 8.8 to 8.9.
[0366] Step 8.8: Obtain the results according to equations (13) to (20). and
[0367] Step 8.9: Solve using the greedy method and You can input the model and data into LINGO, and LINGO can directly solve and obtain the results. and
[0368] It should be noted that the above embodiments are not intended to limit the scope of protection of the present invention. Equivalent transformations or substitutions made based on the above technical solutions all fall within the scope of protection of the claims of the present invention.
Claims
1. A UAV data acquisition and scheduling system based on mobile edge computing, characterized in that, The system includes a platform layer, an edge layer, and a device layer. The equipment layer includes a drone deployment and recovery base, a drone node module, and an IoT node module. The drone deployment and recovery base consists of a drone recovery module and a drone deployment module. The IoT node module is composed of a collection of IoT nodes, and the drone cluster is composed of a drone node module. The IoT nodes publish transmission tasks, the drone cluster is responsible for collecting the published transmission tasks, and finally submitting them to the base station for further processing. The drone recovery module is responsible for recovering drones in the cluster, and the drone deployment module is responsible for adding drones to the drone cluster. Edge layer: Includes IoT node information collection module and drone deployment decision instruction issuing module. The IoT node information collection module obtains metadata information of transmission tasks issued by IoT nodes in the device layer. The drone deployment decision instruction issuing module is responsible for receiving the deployment decision of the drone cluster transmitted by the drone deployment decision issuing module in the platform layer and sending it to the device layer. The drone cluster in the device layer completes the deployment and collects data of transmission tasks issued by IoT nodes. Platform Layer: Includes a parameter receiving module, a model building module, a node task release data volume prediction module, a node task release time prediction module, a UAV mobility decision-making module, a UAV future deployment decision-making module, a UAV deployment decision-making module, and a UAV deployment decision distribution module. The parameter receiving module receives the transmission task metadata information collected by the edge layer IoT node information collection module. The model building module receives task metadata transmitted by the IoT node information collection module and builds OMDUCDS, which specifically includes a scenario model, a transmission model, and three optimization models: a UAV mobility decision optimization model, a UAV future deployment decision optimization model, and a UAV deployment decision optimization model. The specific steps are as follows. 1) Let the data acquisition system refresh time slice be... , Representing the system's number At the time of the next refresh, regarding The recursive formula is shown in equation (1), where is The set of natural numbers (1) 2) Constructing a scene model: Assume the scene contains... An IoT node is deployed in a certain area, represented as... There are also drone swarms that act as data collection platforms, collecting data from these ground-based IoT nodes. (Assuming...) The number of drones is And it is unknown prior; drone swarms are represented as , IoT nodes randomly issue transmission tasks, and the drone swarm needs to accept these tasks. Based on the time the IoT node issues the task, it is allocated to a specific time slice in the data acquisition system for transmission. The IoT node was deployed to the system's first... The task information processed in each time slice is represented by a triplet. ,in Indicates the first The IoT node is assigned to the system's first... The amount of data processed per time slice Indicates the first The x-coordinate of the geographical location of each IoT node. Indicates the first The vertical coordinate of the geographical location of each IoT node. 3) Constructing the transmission model: The first IoT node and the first Taiwanese drones at all times The distance between them is shown in equation (2). (2) in It is the first The location of each IoT node It is the first One drone Location at any given moment They represent the first One drone The x-axis, y-axis, and height of time. No. The first IoT node and the first Between the drones Whether a connection is established at any given time is represented by a Boolean variable. Specifically, if the first The first IoT node sends to the first The drone in the system Data is sent in batches. Equals 1; otherwise The value is 0. To save transmission energy, each IoT node always selects the nearest drone to send data. The calculation method is shown in equation (3). (3) Each IoT node can only select one drone to send data, therefore The constraints are shown in equation (4). (4) Furthermore, considering system bandwidth limitations, each drone can receive a maximum of [number] requests. Multiple IoT nodes can send data simultaneously, as shown in equation (5). (5) To ensure that all IoT nodes are served, equation (6) should be satisfied. (6) For air-to-ground communication, each IoT node has a probability of establishing a line-of-sight relationship with a specific UAV. This probability depends on the environment in which the IoT node and the UAV are located and the degree of elevation between them. The expression for the probability of establishing a line-of-sight relationship is shown in Equation (7). (7) in and It is a constant, depending on the carrier frequency and the type of environment. yes Real-time IoT Nodes With drones The degree of elevation between them, , Equation (7) shows that increasing the elevation angle or the drone's altitude increases the probability of establishing a line-of-sight relationship. A necessary condition for an IoT node and a drone to connect is that the probability of them establishing a line-of-sight relationship must be greater than a certain threshold. (close to 1), therefore ,Depend on Derivation of equation (8) (8) From equation (8), we can derive that the maximum distance between an IoT node and a drone is... , No. The first IoT node and the first A drone The channel gain between time points is expressed as equation (9). (9) in Indicates the reference distance Channel power gain at 1m As can be seen from equation (9), the first The drone and the first The shorter the distance between IoT nodes, the greater the channel gain, which perfectly matches the condition in equation (3) where each IoT node always selects the nearest drone to send data. Therefore, if the first The first IoT node in the system Batch send data to the first A drone, with a speed of Equation (10). (10) in From the first Transmission power from one IoT node to the drone; It is Gaussian noise power. It is system bandwidth. No. The first IoT node in the system Batch sent to the The data volume of each drone is The data transmission time is shown in equation (11). (11) The energy consumption calculation method is shown in equation (12). (12) Therefore, the energy consumption calculation method for all IoT nodes is shown in Equation (13). (13) No. The hovering time of each UAV is shown in equation (14). (14) No. The hovering energy consumption of a UAV is shown in equation (15). (15) in For the drone's hovering power, The distance between two drones must meet certain conditions to prevent a collision. and The distance between them must be greater than Specifically, as shown in equation (16), (16) As a data relay station, drones transmit data from IoT nodes to edge servers for processing. The amount of data received by each drone is shown in equation (17). (17) No. The time it takes for a drone to send data to an edge server As shown in equation (18), (18) in Indicates the first The drone in the system The rate at which batch data is transferred to the edge server. No. The transmission energy consumption of each UAV is shown in equation (19). (19) in Represents the transmission power of the drone. The total energy consumption of the UAV is shown in equation (20). (20) 4) Construct an optimization model for UAV mobile decision-making. The location of the drone distribution and recovery base is set as follows: ,in The x and y coordinates represent the drone deployment and recovery bases, respectively. The drone movement strategy formulation module needs to specifically formulate the drone movement decisions to minimize the drone's movement energy consumption. The drone's movement energy consumption is divided into three types: energy consumption caused by the drone's movement in the air, energy consumption caused by the drone moving to the drone deployment and recovery base, and energy consumption caused by the drone being deployed from the drone deployment and recovery base to the air for deployment. Since the number of drones in the current deployment decision may be greater than, equal to, or less than the number of drones in the previous deployment decision, if it is greater, a certain number of drones need to be deployed from the drone deployment and recovery base. The number deployed is the absolute value of the difference between the two deployment decisions. If it is equal to, no action is needed at the drone deployment and recovery base. If it is less than, a certain number of drones need to be recovered from the drones deployed in the previous deployment decision. The recovered number is the absolute value of the difference between the two deployment decisions. Both drone deployment and recovery increase the drones' mobile energy consumption. Define the mobile decision variables for drones As shown in equation (21), (21) drones The mobile energy consumption for each time slice is shown in equation (22). (22) The optimization model for the UAV mobile decision-making module is shown in equations (23) to (26). (23) (24) (25) (26) Equation (23) is the optimization objective, which minimizes the mobile energy consumption of the UAV. Equation (24) constrains the UAV movement decision variable to be of Boolean type. Equation (25) constrains the UAV in the previous time slice to either move to the designated location or return to the UAV deployment and recovery base. Equation (26) constrains the UAV deployment location obtained in the current time slice to be occupied by a UAV. 5) Construct an optimization model for future drone deployment decisions. The optimization objective of the future deployment decision optimization model for drones is shown in equation (27). (27) The optimization model for future deployment decisions of drones is shown in equations (28) to (36). (28) (29) (30) (31) (32) (33) (34) (35) (36) in Let be the decision variables, representing the expected geographical location and the expected number of drones to be deployed in the system's next time slice at the future moment. This indicates the expected ensemble of drones to be deployed. and They represent the system's first... The minimum and maximum projected number of time-slice drones to be deployed. , , This function represents the count of elements in a set or list. Equation (28) is the optimization objective, aiming to minimize the sum of energy consumption of drones and IoT nodes at future time points. This indicates the weights of the drone's energy consumption and the IoT node's energy consumption. Equation (29) represents the Internet of Things node. With drones The connection between them is a Boolean variable. Equation (30) constrains that the transmission tasks published by each IoT node can be transmitted, and Equation (31) constrains that each drone can receive a maximum of Each IoT node sends data. Equation (32) constrains the IoT nodes to be within the coverage area of the drone. Equations (33) to (35) constrain the range of the drone's deployment location. Equation (36) constrains the number of drones deployed. 6) Construct an optimization model for UAV deployment decisions, as shown in equations (37) to (45). (37) (38) (39) (40) (41) (42) (43) (44) (45) in and They represent the system's first... Minimum and maximum number of time-slice drones to deploy. , , Equation (37) is the optimization objective, aiming to minimize the sum of the energy consumption of the drone node, the energy consumption of the IoT node, the mobile energy consumption of the drone, and the future mobile energy consumption of the drone. , , These represent the corresponding weights. , , The explanations of equations (38) to (45) are the same as those of equations (29) to (36); The node task deployment time prediction module uses an LSTM network to predict the future deployment time of IoT nodes based on the historical time information of when nodes deployed transmission tasks. The node task release data volume prediction module uses an LSTM network to predict the amount of data that the IoT node will release and transmit at a future time, based on the historical data volume information released by the IoT node and the time information predicted by the node task release time prediction module. The UAV mobility decision-making module uses a greedy algorithm to solve the UAV's mobility decision, providing a method for solving UAV mobility decisions in the UAV deployment decision-making module. The drone future deployment decision-making module uses DEACFASAMSP to solve for the drone's future deployment decision. This decision will be added as a penalty term to the drone deployment decision-making module, affecting the formulation of the drone deployment decision. The drone deployment decision-making module uses DEACFASAMSP to solve OMDUCDS and obtains the drone deployment decision, as detailed below: 8.1 Based on the geographical distribution characteristics of IoT nodes in the scene, the K-means algorithm is used to generate the initial population. Increment the evolution count by 1, and check the generated population. Check if the constraints are met; if not, continue this step until a feasible population is generated. 8.2 Check if the number of evolutions has reached the specified threshold. If it has, the algorithm stops iterating and outputs the optimal population, which is the final drone deployment decision. If the threshold has not been reached, proceed to step 8.
3. 8.3 Traversing the Population The differential evolution algorithm is selected from the mutation policy pool using a roulette wheel method. The variation of individuals in the roulette wheel is calculated using formula (57). (57) Among them Mutation Algorithm The probability of being selected. For the algorithm The selection weight it occupies in the algorithm policy pool This is a list of mutation algorithm policy pools. The index variable is used to traverse the mutation algorithms in the mutation policy pool, and its traversal range is 1 to... , The formulas for individual variation are shown in equations (54) to (56); the crossover of individuals is completed using the binary crossover method, as shown in equation (58). (58) in, It is a component of the individual dimension. From A randomly selected integer in the middle ensures and At least one variable is different. The crossover probability is within a certain range. , After traversal is complete, an intermediate state population is generated. , 8.4 Traversing the intermediate state population The individual in the middle, to obtain the individual The following strategies are used to sequentially perform deletion, replacement, and addition operations on individuals in population P. Deletion strategy: Random deletion Individuals in Replacement strategy: Randomly replace One of the individuals, Add strategy: Add to middle, Next, the population fitness values after adopting the three strategies are evaluated. The operation that improves fitness and has the best effect is retained; otherwise, the population is excluded. Keep it unchanged and record it to the optimal population. Evolution count increased by 3. 8.5 Update the selection weights of each operator in the mutation algorithm policy pool according to equation (59). (59) in The selected mutation algorithm, The weights updated for the algorithm's policy pool. This is the optimal population before the mutation operation. To find the population fitness function, 8.6 The fireworks algorithm is used to perform a neighborhood search on the mutated population. See steps 8.6.1 to 8.6.3 for details. Step 8.6.1: Calculate the number of fireworks explosions according to equations (60) and (61). (60) (61) in This indicates the number of fireworks explosions. The number of fireworks explosions is rounded down. To control the constant of the number of sparks, It is also a constant. Step 8.6.2: Calculate the explosion range of the fireworks according to formula (62). (62) Step 8.6.3: Initialize intermediate auxiliary variables for , Step 8.6.4: Population The population is obtained by performing an explosive search according to formula (63). If the boundary is exceeded, replacement is performed according to rule (64), and the population is replaced. Its fitness value is better than Then Replace with Evolution count increased by 1. (63) (64) in, Indicates the first The firework particle was at the... Dimension value, and Indicates the first The upper and lower bounds of a dimension. Step 8.6.4: Determine if the number of iterations has reached the explosion limit. If not, proceed to step 8.6; otherwise, proceed to step 8.
7. Step 8.7: Update the optimal population Proceed to step 8.
2. The parts involving the calculation of population fitness values in steps 8.1 to 8.7, that is, using... The calculation steps for the function are shown in steps 8.8 to 8.
9. Step 8.8: Obtain the results according to equations (13) to (20). and , Step 8.9: Solve using the greedy method and The model and data are input into LINGO, and LINGO is used to solve the problem and obtain the results. and ; The drone deployment decision-making module sends drone deployment decisions to the drone deployment decision command-making module at the edge layer.
2. A method for scheduling UAV data acquisition based on mobile edge computing, characterized in that, The data acquisition and scheduling system according to claim 1, wherein the method includes the following steps: Step 1: The IoT nodes in the device layer's IoT node module publish transmission tasks and upload task metadata information to the edge layer's IoT node information collection module. Step 2: The IoT node information collection module at the device layer acquires the task metadata information of the IoT nodes at the device layer, and communicates with the parameter receiving module at the platform layer via XML format. Step 3: The parameter receiving module receives the IoT node task metadata information transmitted by the edge layer IoT node information collection module. Step 4: The model building module receives the task information transmitted by the initialization module and builds OMDUCDS. Step 5: The node task release time prediction module uses an LSTM network to predict the future release time of transmission tasks based on the historical time information of IoT nodes when they released transmission tasks. Step 6: The node task release data volume prediction module uses an LSTM network to predict the amount of data that the IoT node will release and transmit at a future time, based on the historical data volume information released by the IoT node and the time information predicted by the node task release time prediction module. Step 7: Drone Future Deployment Decision-Making Module. This module uses DEACFASAMSP to solve for the drone's future deployment decisions. Step 8: The drone deployment decision-making module uses DEACFASAMSP to solve OMDUCDS to obtain the final deployment decision for the drone. Step 9: The drone deployment decision distribution module sends the drone deployment decision to the drone deployment decision instruction distribution module at the edge layer. Step 10: The drone deployment decision instruction issuing module forwards the drone deployment decision to the device layer, where the drone recovery module, drone distribution module, drone node module, and IoT node module complete the execution of the actual deployment decision.
3. The UAV data acquisition and scheduling method based on mobile edge computing according to claim 2, characterized in that, In step 2, communication is conducted via XML format with the parameter receiving module of the platform layer. The specific communication format is as follows: <?xml version='1.0' ?> <devices>< / devices> <device id="1"> <totaldatasize> xxx< / totalDataSize >< / totaldatasize> <coordinatex> xxx< / coordinatex> <coordinatey> xxx< / coordinatey> <pubdate> xxx< / pubdate >< / pubdate> Where totalDataSize represents the size of the data volume of the transmission task, coordinateX and coordinateY represent the horizontal and vertical coordinates of the current geographical location of the IoT node that published the transmission task, respectively, and pubdate represents the time when the IoT node published the transmission task.
4. The UAV data acquisition and scheduling method based on mobile edge computing according to claim 2, characterized in that, Step 5 is as follows: Obtain IoT nodes 30 items of historical data on the time of transmission tasks were published. This means that the input is fed into a trained LSTM network, and the final network output is... , indicating Internet of Things node The network's calculation formulas for predicting the release time of the next transmission task are shown in equations (46) to (52): in, For the first Update gates for each node, For the first Forget gates for each node, For the first The output gates of each node, Will choose Eigenvalues It is a vector, where each element of the vector is in the range [0,1]. This represents the unit state update value, derived from the input data. and hidden nodes Obtained through a neural network layer, For selection The feature is used to update, which is a vector with elements in the interval [0,1], and is updated by... and Calculated via activation function and This is the activation function.
5. The UAV data acquisition and scheduling method based on mobile edge computing according to claim 2, characterized in that, Step 6 is as follows: Obtain IoT nodes The amount of data for the transmission task published in the current time slice, using This means that the input is fed into a trained LSTM network, and the final network output is... , indicating Internet of Things node The calculation formula for the predicted data volume of the next transmission task is similar to that in equations (46) to (52), except that the number of rounds of input data and the number of rounds of prediction are different. The time difference between data in each layer of the LSTM network is set to... When making predictions The time should be The formula for calculating the number of rounds predicted in the future is shown in equation (53). (53) in This represents the floor function.