Unmanned aerial vehicle path optimization method based on edge computing and battery energy controllability

CN116680881BActive Publication Date: 2026-08-11NANJING UNIV OF SCI & TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-24
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

由于其电池体积小、载荷能力低、续航能力短,无人机本身的能耗已经成为瓶颈,而搭载服务器后这一问题更加突出

Benefits of technology

[0097] The method provided in this application involves a drone carrying an edge computing server that communicates with service users using time-division multiple access (TDMA). This allows computing tasks to be dynamically offloaded from the drone, reducing service latency and ensuring service quality for users. This application optimizes the drone's flight path to minimize user energy consumption. During drone flight, a battery energy control method is employed to maintain a balance between solar charging energy and energy consumption. Furthermore, an aerodynamic-based drone flight energy consumption model is introduced to simulate the drone's energy consumption during actual flight. This application achieves stable task queues, meaning the latency between the user and the drone is limited to a certain range, and it enables effective control of the drone's battery energy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116680881B_ABST
    Figure CN116680881B_ABST
Patent Text Reader

Abstract

This application discloses a drone path optimization method based on edge computing and controllable battery energy. The method includes establishing a system model of a drone equipped with an edge computing server serving ground users; establishing task backlog queues for the user end and the drone edge server; establishing a drone battery energy queue; establishing a Lyapunov optimization function for all queues; and, under the constraints of stable task queues and stable drone energy queues, establishing an optimization problem that minimizes the total time-averaged energy consumption of the user. A threshold for ending the iteration is set according to the required iteration accuracy; the block coordinate descent method is used to optimize the user's computing frequency, user association, and drone path in each time slot, and the results are used as the initial values ​​for the next optimization until the iteration variable is less than the iteration threshold. This application limits the latency between the user and the drone to a certain range and achieves effective control over the drone's battery energy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of wireless communication technology, and in particular to a method for optimizing drone paths based on edge computing and controllable battery power. Background Technology

[0002] With the widespread adoption of 5G technology, mobile communication speed, capacity, latency, and other indicators have been significantly improved and optimized, enabling more devices to achieve high-speed, reliable, and low-latency connections via wireless networks. Against this backdrop, the Internet of Things (IoT) has emerged, connecting various devices, sensors, and objects to the internet and enabling more efficient and intelligent applications in production, management, and services through data interaction and intelligent processing.

[0003] However, with the increasing number of IoT devices, the amount of data generated is growing exponentially. IoT often relies on cloud computing technology to collaboratively process data, but due to the geographical distance between cloud data centers and IoT devices, problems such as processing queue backlogs and high transmission latency arise in the context of large data volumes, making it impossible to meet the requirements for rapid processing of data generated by a large number of IoT devices. Therefore, methods with faster processing speeds and lower latency are needed. Thus, a new computing concept, mobile edge computing, has emerged.

[0004] Mobile edge computing, by deploying servers at the network edge near users, not only ensures the security and privacy of user data but also effectively reduces network latency and data transmission time, thereby improving the user experience. Using drones to carry edge computing servers can simultaneously provide computing and communication services, offering temporary data processing or establishing temporary communication channels. For example, drones can be used as communication base stations to quickly reach remote disaster-stricken areas and provide emergency communication support.

[0005] The emerging architecture of drones equipped with edge computing servers brings flexibility and efficiency to various application scenarios, but it is also limited by energy consumption. Due to their small battery size, low payload capacity, and short flight time, the drone's own energy consumption has become a bottleneck, and this problem is exacerbated when equipped with servers. This not only affects its flight time but also limits the types of tasks and operating time that the drone can undertake. Therefore, drone path optimization schemes need to consider the drone's energy consumption; maintaining controllable drone battery energy is crucial for improving service quality and extending drone flight time. Summary of the Invention

[0006] The purpose of this invention is to provide a drone path optimization method based on edge computing and controllable battery energy in the case of dynamic task arrival.

[0007] The technical solution for achieving the purpose of this invention is a drone path optimization method based on edge computing and controllable battery energy, specifically including the following steps:

[0008] Step 1: Establish a system model for drones equipped with edge computing servers to serve ground users;

[0009] Step 2: Establish task backlog queues on the user end and the drone edge server end;

[0010] Step 3: Establish the drone's battery energy queue and initialize it with the value of the battery energy carried by the drone;

[0011] Step 4: Establish Lyapunov optimization functions for all queues in Step 2 and Step 3. Under the constraints of task queue stability and UAV energy queue stability, establish an optimization problem that minimizes the total average energy consumption of users over time. Using the properties of Lyapunov functions, decompose the optimization problem into Lyapunov optimization problems determined in each time slot.

[0012] Step 5: Set the threshold for ending the iteration as needed for the required iteration precision;

[0013] Step 6: Optimize the user computation frequency, user association, and UAV path in each time slot using the block coordinate descent method;

[0014] Step 7: Repeat step 6, using the result as the initial value for the next optimization, until the iteration variable is less than the iteration threshold;

[0015] Step 8: Repeat steps 6 and 7, updating the values ​​of all queues simultaneously, until all time slots are optimized.

[0016] Optionally, a system model can be established to enable drones to carry edge computing servers to serve ground users, including:

[0017] Step 1-1, Define ground user parameters. Defining ground user parameters includes:

[0018] Let K be the number of ground users, and let z be the location of the users randomly distributed on a two-dimensional coordinate plane. k =(x k ,y k ),k∈{1,2,…K};

[0019] Step 1-2, Define UAV parameters: UAV parameters include:

[0020] Define a drone mission cycle as Where N is the total number of time slots in a mission cycle, and the duration of each time slot is δ; the horizontal position of the UAV in the t-th time slot is w(t)=(x(t),y(t)), This represents the flight path of the drone across all time slots;

[0021] The drone flies at a constant altitude H, and its maximum speed in any time slot is ν. max The flight speed of the UAV is defined as ν(t), which satisfies the following in time slot t:

[0022] Steps 1-3: Establish a data transmission model between the drone and the user:

[0023] Let α k (t) represents the binary variable associated with the user, α k (t) = 1 indicates that user k unloads the computing task to the drone in the t-th time slot, otherwise α k When (t) = 0, the user is not served;

[0024] In each time slot, the drone communicates with the user using time-division multiple access; within a single time slot, the drone establishes a connection with at most one user, subject to the following constraints:

[0025]

[0026] In time slot t, the upload rate between user k and the drone is:

[0027]

[0028] Where p0 is the user transmit power, ρ0 represents the channel gain per unit distance, and σ 2 The noise power is; the upload amount of user k in a single time slot t is... B represents the channel bandwidth.

[0029] Optionally, establish task backlog queues on the user end and the drone edge server end, including:

[0030] Step 2-1, establish a task backlog queue on the user side:

[0031] Step 2-1-1, define the size as a at the beginning of the t-th time slot. k The computation task of (t) arrives randomly at the user end and will be processed in the next time slot (i.e., in the (t+1)th time slot); where the number of tasks arriving in each time slot is a. k (t) is a random value, and a is defined as... k,min For a k (t) is the minimum value over the entire time slot, a k,max For a k (t) is the maximum value over the entire time slot. k (t) obeys [a k,min ,a k,maxThe expected value within ] is Independent and identically distributed, where λ k It is a constant.

[0032] Step 2-1-2: At the beginning of each time slot, the user chooses to offload the task to the drone or have it computed locally by the user's own processor.

[0033] For tasks computed locally, define This indicates the CPU frequency of the user equipment in each time slot. The maximum value in the entire time slot is satisfy Define the amount of tasks that user k processes locally in the t-th time slot as:

[0034]

[0035] Where ζ k This represents the complexity of the task, specifically the number of CPU revolutions required for user k to compute a 1-bit task.

[0036] Step 2-1-3: Establish a task backlog queue for each user. This represents the backlog of tasks for each user; for user k, the task queue for the next time slot on the user's end is:

[0037]

[0038] in and Let these represent the amount of tasks computed locally by the user in the t-th time slot and the amount of tasks uploaded to the drone, respectively. Let the total processing volume be... satisfy

[0039] Step 2-2: Establish a task backlog queue on the drone edge server:

[0040] Step 2-2-1: Define the CPU frequency of the drone's edge computing server providing services to each user in the t-th time slot as a random value. Define the minimum CPU frequency for providing services throughout the entire time slot as... The maximum CPU frequency for providing services is but satisfy And obey the expectation The independent and identically distributed , where It is a constant;

[0041] The amount of tasks processed by the server for user k in time slot t is:

[0042]

[0043] Step 2-2-2: In each time slot, user k uploads their computation task. Simultaneously with the drone, the drone allocates a separate CPU core for each user to perform calculations, defining... For each user, a task backlog queue is generated on the edge computing server of the drone.

[0044] For user k, the next time slot task queue on the drone is:

[0045]

[0046] The workload processed in each time slot at the drone end meets the following requirements.

[0047] Optionally, establish a battery energy queue for the drone and initialize it with the value of the battery energy carried by the drone, including:

[0048] Step 3-1, establish the energy consumption calculation for the server mounted on the drone:

[0049] The computing energy consumed by the server in time slot t for user k is... The total energy consumption for providing computing services to all users is

[0050] Step 3-2, establish the drone's flight energy consumption:

[0051] Define the flight energy of the UAV in each time slot as e fly (t)=p fly (t)δ, the flight power for each time slot is:

[0052]

[0053] The drone is charged by absorbing solar energy through photovoltaic panels installed on its wings. The energy absorbed by the drone in each time slot is set to a random value that fluctuates within a certain range. The minimum energy absorbed by the drone in all time slots is defined as... The maximum energy absorbed is Then e har The range of values ​​for (t) is

[0054] The battery storage queue for the next time slot of the drone is established as follows:

[0055]

[0056] Step 3-3: Initialize the battery energy storage of the drone in the first time slot to the energy value of the battery carried by the drone.

[0057] Optionally, a Lyapunov optimization function is established for all queues in steps 2 and 3. Under the constraints of task queue stability and UAV energy queue stability, an optimization problem is established that minimizes the total average time-based energy consumption of the user. Furthermore, utilizing the properties of the Lyapunov function, the optimization problem is decomposed into a Lyapunov optimization problem determined within each time slot, including:

[0058] Step 4-1, define the Lyapunov function as:

[0059]

[0060] in

[0061] Step 4-2, define the Lyapunov drift penalty function as:

[0062]

[0063] in, It is the sum of the user's energy consumption in each time slot. V com It is a control parameter that represents the weight of the user-locally calculated energy in the drift penalty function;

[0064] Step 4-3, Construct a problem Under the constraints of task and energy queue stability, minimize the total time-averaged energy consumption of the user terminal;

[0065] Step 4-4, based on the derivation, Δ V The upper bound of (Θ(t)) is:

[0066]

[0067] The problem Decompose into N deterministic Δ values ​​in each time slot V The problem is to find the upper bound of (Θ(t)) and minimize the total average energy consumption of users over time in each time slot.

[0068] Optionally, the user computation frequency, user association, and UAV path can be optimized separately in each time slot using the block coordinate descent method, including:

[0069] Step 6-1, address the problem It is further broken down into two sub-problems: the first sub-problem is to optimize the computation frequency for each user, and the second sub-problem is to optimize user association and drone paths.

[0070] Step 6-2: Initialize the iteration count r = 0, and initialize the initial path of the UAV. Optimize the local computation frequency of each user in time slot t, and determine the optimal solution.

[0071]

[0072] Step 6-3: Optimize user association and drone path for each user in time slot t:

[0073] Step 6-3-1: Using the block coordinate descent method, the optimization of user association and UAV path is decomposed into the optimization of user association problem and the optimization of UAV path problem.

[0074] Step 6-3-2, change the integer variable α k (t)∈{0,1} is relaxed to a continuous variable α k (t)∈[0,1], transforming the problem of optimizing user association into a linear programming problem:

[0075]

[0076]

[0077]

[0078] Step 6-3-3, optimize the drone's path: Set an energy consumption adjustment parameter θ as the control value for the drone's battery energy; define a weight parameter V in the optimization objective. fly To adjust the proportion of the drone's energy in the objective function, the optimization problem is rewritten as:

[0079]

[0080] stα k (t)==1,

[0081] ν(t)≤ν max ,

[0082]

[0083] Step 6-3-4, based on the given optimized trajectory w r (t), by optimizing user association variables, α is determined. r+1 (t);

[0084] Step 6-3-5, based on the given user-related variable α r+1 (t), by solving a convex optimization problem, the path of the UAV is optimized, and w is determined. r+1 (t):

[0085] Step 6-3-5-1, determine M k(t)-Q k (t) relative to 0: when M k (t)-Q k When (t) > 0, the upload rate R will be... k (t) is set to zero; the UAV's flight strategy in time slot t is to remain in place and hover, w(t) = w(t-1), which is the same position as the UAV in the previous time slot; when M k (t)-Q k When (t) < 0, use R k (t) in w r The first-order Taylor expansion at (t) is expressed in R. k The lower bound of (t) is replaced by itself, transforming the problem into a standard convex optimization problem;

[0086] Step 6-3-5-2, determine the magnitude of θ-E(t) relative to 0: throughout the entire cycle, when the drone battery energy accumulation is low, θ-E(t) > 0. The objective function is to minimize the drone's flight energy consumption; conversely, when the drone's battery energy is sufficient, it satisfies θ-E(t) < 0. The objective function is transformed into maximizing the flight energy consumption of the UAV;

[0087] When θ-E(t)>0, a slack variable U is introduced. n U n The energy consumption of drone flight e fly (t) The upper bound of the second part satisfies Get U n The constraints that must be met are:

[0088]

[0089] Because the right side of the above inequality has respect to U n and ||V n Since || is jointly convex, we take its first-order Taylor expansion as its lower bound, and let its lower bound function be X. n Then we get information about U n The restrictions are:

[0090]

[0091] When θ-E(t)>0, the constraints will be applied when optimizing the UAV path. Change to this restriction;

[0092] When θ-E(t) < 0, another slack variable K is introduced. n K n The energy consumption of drone flight e fly (t) The lower bound of the second part satisfies Get K n The constraints that must be met are:

[0093]

[0094] Let the first-order Taylor expansion on the right-hand side of the inequality be the lower bound, and let its lower bound function be Z. n Then we get information about K. n The restrictions are:

[0095]

[0096] When θ-E(t)<0, the constraint condition will be applied when optimizing the UAV path. Change to this restriction.

[0097] The method provided in this application involves a drone carrying an edge computing server that communicates with service users using time-division multiple access (TDMA). This allows computing tasks to be dynamically offloaded from the drone, reducing service latency and ensuring service quality for users. This application optimizes the drone's flight path to minimize user energy consumption. During drone flight, a battery energy control method is employed to maintain a balance between solar charging energy and energy consumption. Furthermore, an aerodynamic-based drone flight energy consumption model is introduced to simulate the drone's energy consumption during actual flight. This application achieves stable task queues, meaning the latency between the user and the drone is limited to a certain range, and it enables effective control of the drone's battery energy. Attached Figure Description

[0098] Figure 1 This is a flowchart of the UAV path optimization method based on edge computing and controllable battery energy according to the present invention.

[0099] Figure 2 This is a simulation result of the UAV path optimization algorithm based on edge computing and controllable battery energy in the embodiments of this application.

[0100] Figure 3 This is a simulation result diagram of the task queues for all users in all time slots and the task queues established for users by the UAV in this embodiment of the application.

[0101] Figure (a) shows the simulation results of the user-side task queue changing with time slots, and Figure (b) shows the simulation results of the task queue established by the UAV for the user changing with time slots.

[0102] Figure 4 This is a simulation result diagram of the change of UAV battery energy queue over time in the embodiments of this application. Detailed Implementation

[0103] like Figure 1 As shown, this invention provides a drone path optimization method based on edge computing and controllable battery energy, including the following steps:

[0104] Step 1: Establish a system model for drones equipped with edge computing servers to serve ground users;

[0105] Step 2: Establish task backlog queues on the user end and the drone edge server end;

[0106] Step 3: Establish the drone's battery energy queue and initialize it with the value of the battery energy carried by the drone;

[0107] Step 4: Establish Lyapunov optimization functions for all queues in Steps 2 and 3. Under the constraints of task queue stability and UAV energy queue stability, establish an optimization problem that minimizes the total average time energy consumption of the user. Furthermore, utilizing the properties of Lyapunov functions, decompose the optimization problem into a Lyapunov optimization problem determined within each time slot.

[0108] Step 5: Set the threshold for ending the iteration as needed for the required iteration precision;

[0109] Step 6: Optimize the user computation frequency, user association, and UAV path in each time slot using the block coordinate descent method.

[0110] Step 7: Repeat step 6, using the result as the initial value for the next optimization, until the iteration variable is less than the iteration threshold;

[0111] Step 8: Repeat steps 6 and 7, updating the values ​​of all queues simultaneously, until all time slots are optimized.

[0112] Step 1 involves establishing a system model for drones equipped with edge computing servers to serve ground users, specifically including:

[0113] Step 1-1, Define ground user parameters. Defining ground user parameters includes:

[0114] Let K be the number of ground users, and let z be the location of the users randomly distributed on a two-dimensional coordinate plane. k =(x k ,y k ),k∈{1,2,…K};

[0115] Steps 1-2: Define the drone parameters. The drone parameters include:

[0116] Define a task cycle as Where N is the total number of time slots in a mission cycle, and the duration of each time slot is δ; t is defined as the count value of the time slot, and the horizontal position of the UAV in the t-th time slot is w(t)=(x(t),y(t)). This represents the flight path of the drone across all time slots;

[0117] The drone flies at a constant altitude H, and its maximum speed in any time slot is ν. max The flight speed of the UAV is defined as ν(t), which satisfies the following in time slot t:

[0118] Steps 1-3: Establish a data transmission model between the drone and the user:

[0119] Let α k (t) represents the binary variable associated with the user, α k (t) = 1 indicates that user k unloads the computing task to the drone in the t-th time slot, otherwise α k When (t) = 0, the user is not served;

[0120] In each time slot, the UAV communicates with the user using Time Division Multiple Access (TDMA); within a single time slot, the UAV establishes a connection with at most one user, subject to the following constraints:

[0121]

[0122] In time slot t, the upload rate (bits / s / Hz) between user k and the drone is:

[0123]

[0124] Where p0 is the user transmit power, ρ0 represents the channel gain per unit distance, and σ 2 The noise power is; the upload amount of user k in a single time slot t is... B represents the channel bandwidth.

[0125] Step 2 involves establishing task backlog queues on both the user end and the drone edge server, specifically including:

[0126] Step 2-1, establish a task backlog queue on the user side:

[0127] Step 2-1-1, define the size as a at the beginning of the t-th time slot. k The computation task of (t) arrives randomly at the user end and will be processed in the next time slot (i.e., in the (t+1)th time slot); where the number of tasks arriving in each time slot is a. k (t) is a random value, and a is defined as... k,min For a k (t) is the minimum value over the entire time slot, ak,max For a k (t) is the maximum value over the entire time slot. k (t) obeys [a k,min ,a k,max The expected value within ] is Independent and identically distributed, where λ k It is a constant.

[0128] Step 2-1-2: At the beginning of each time slot, the user chooses to offload the task to the drone or have it computed locally by the user's own processor.

[0129] For tasks computed locally, define This indicates the CPU frequency of the user equipment in each time slot. The maximum value in the entire time slot is satisfy Define the amount of tasks that user k processes locally in the t-th time slot as:

[0130]

[0131] Where ζ k This represents the complexity of the task, specifically the number of CPU revolutions required for user k to compute a 1-bit task.

[0132] Step 2-1-3: Establish a task backlog queue for each user. This represents the backlog of tasks for each user; for user k, the task queue for the next time slot on the user's end is:

[0133]

[0134] in and Let these represent the amount of tasks computed locally by the user in the t-th time slot and the amount of tasks uploaded to the drone, respectively. Let the total processing volume be... satisfy

[0135] Step 2-2: Establish a task backlog queue on the drone edge server:

[0136] Step 2-2-1: Define the CPU frequency of the drone's edge computing server providing services to each user in the t-th time slot as a random value. Define the minimum CPU frequency for providing services throughout the entire time slot as... The maximum CPU frequency for providing services is but satisfy And obey the expectation The independent and identically distributed , where It is a constant;

[0137] The amount of tasks processed by the server for user k in time slot t is:

[0138]

[0139] Step 2-2-2: In each time slot, user k uploads their computation task. Simultaneously with the drone, the drone allocates a separate CPU core for each user to perform calculations, defining... For each user, a task backlog queue is generated on the edge computing server of the drone.

[0140] For user k, the next time slot task queue on the drone is:

[0141]

[0142] The workload processed in each time slot at the drone end meets the following requirements.

[0143] Step 3 describes establishing the drone's battery energy queue and initializing it to the value of the battery energy carried by the drone, specifically including:

[0144] Step 3-1, establish the energy consumption calculation for the server mounted on the drone:

[0145] The computing energy consumed by the server in time slot t for user k is... The total energy consumption for providing computing services to all users is

[0146] Step 3-2, establish the drone's flight energy consumption:

[0147] This paper introduces a calculation model based on aerodynamics to address the energy consumption of UAVs during flight. The flight energy of the UAV in each time slot is defined as e. fly (t)=p fly (t)δ, the flight power for each time slot is:

[0148]

[0149] In this invention, the drone can absorb solar energy for charging via photovoltaic panels installed on its wings, but the charging power is affected by flight altitude and weather conditions. Since the drone's flight altitude remains constant in this invention, the energy absorbed by the drone in each time slot is set to a random value fluctuating within a certain range. The minimum energy absorbed by the drone across all time slots is defined as... The maximum energy absorbed is Then e har The range of values ​​for (t) is

[0150] The battery storage queue for the next time slot of the drone is established as follows:

[0151]

[0152] Step 3-3: Initialize the battery energy storage of the drone in the first time slot to the energy value of the battery carried by the drone.

[0153] Step 4 describes establishing Lyapunov optimization functions for all queues in steps 2 and 3. Under the constraints of task queue stability and UAV energy queue stability, an optimization problem is established that minimizes the total average time-based energy consumption of the user. Furthermore, utilizing the properties of Lyapunov functions, the optimization problem is decomposed into Lyapunov optimization problems determined within each time slot, specifically including:

[0154] Step 4-1, define the Lyapunov function as:

[0155]

[0156] in

[0157] Step 4-2, define the Lyapunov drift penalty function as:

[0158]

[0159] in, It is the sum of the user's energy consumption in each time slot. V com It is a control parameter that represents the weight of the user's local computational energy in the drift penalty function, that is, the importance of the user's local computational energy in the Lyapunov penalty function;

[0160] Step 4-3, Construct a problem Under the constraints of task and energy queue stability, the goal is to minimize the total time-averaged energy consumption at the user end. In this optimization problem, user-related variables, UAV flight paths, and user local computing frequencies are coupled.

[0161] Step 4-4, based on the derivation, Δ V The upper bound of (Θ(t)) is:

[0162]

[0163] Therefore, the problem Decompose into N deterministic Δ values ​​in each time slot V The problem is to find the upper bound of (Θ(t)) and minimize the total average energy consumption of users over time in each time slot, while keeping all task queues and energy queues stable.

[0164] Step 6: Optimize the user computation frequency, user association, and UAV path in each time slot using the block coordinate descent method. Specifically, this includes:

[0165] Step 6-1, address the problem It is further broken down into two sub-problems: the first sub-problem is to optimize the computation frequency for each user, and the second sub-problem is to optimize user association and drone paths.

[0166] Step 6-2: Initialize the iteration count r = 0, and initialize the initial path of the UAV. Optimize the local computation frequency of each user in time slot t, and determine the optimal solution.

[0167]

[0168] Step 6-3: Optimize user association and drone path for each user in time slot t:

[0169] Step 6-3-1: Using the block coordinate descent method, the optimization of user association and UAV path is decomposed into the optimization of user association problem and the optimization of UAV path problem.

[0170] Step 6-3-2, change the integer variable α k (t)∈{0,1} is relaxed to a continuous variable α k (t)∈[0,1], transforming the problem of optimizing user association into a linear programming problem:

[0171]

[0172]

[0173]

[0174] Step 6-3-3, optimize the drone's path: Set an energy consumption adjustment parameter θ as the control value for the drone's battery energy; define a weight parameter V in the optimization objective. fly To adjust the proportion of UAV energy in the objective function and ensure the stability of the UAV energy queue in the optimization objective, the optimization problem is rewritten as:

[0175]

[0176] stα k (t)==1,

[0177] ν(t)≤ν max ,

[0178]

[0179] Step 6-3-4, based on the given optimized trajectory w r (t), by optimizing user association variables, α is determined. r+1 (t);

[0180] Step 6-3-5, based on the given user-related variable α r+1 (t), by solving a convex optimization problem, the path of the UAV is optimized, and w is determined. r+1 (t):

[0181] Step 6-3-5-1, determine M k (t)-Q k (t) relative to 0: when M k (t)-Q k When (t) > 0, the upload rate R will be... k When M is set to zero, the drone cannot provide services to users; the drone's flight strategy in time slot t is to remain stationary and hover, w(t) = w(t-1), which is the same position as the drone in the previous time slot; when M k (t)-Q k When (t) < 0, use R k (t) in w r The first-order Taylor expansion at (t) is expressed in R. k By replacing itself with the lower bound of (t), the problem is transformed into an easily solvable standard convex optimization problem.

[0182] Step 6-3-5-2, determine the magnitude of θ-E(t) relative to 0: throughout the entire cycle, when the drone battery energy accumulation is low, θ-E(t) > 0. The objective function is to minimize the drone's flight energy consumption; conversely, when the drone's battery energy is sufficient, it satisfies θ-E(t) < 0. The objective function is transformed into maximizing the flight energy consumption of the UAV;

[0183] When θ-E(t)>0, a slack variable U is introduced. n U n The energy consumption of drone flight e fly (t) The upper bound of the second part satisfies Get U n The constraints that must be met are:

[0184]

[0185] Because the right side of the above inequality has respect to U n and ||V n Since || is jointly convex, we take its first-order Taylor expansion as its lower bound, and let its lower bound function be X.n Then we get information about U n The restrictions are:

[0186]

[0187] When θ-E(t)>0, the constraints will be applied when optimizing the UAV path. By changing the constraint to this condition, the energy consumed by the drone during flight can be reduced when the battery energy of the drone is lower than the set control value θ, so as to maintain the drone's endurance.

[0188] When θ-E(t) < 0, another slack variable K is introduced. n K n The energy consumption of drone flight e fly (t) The lower bound of the second part satisfies Get K n The constraints that must be met are:

[0189]

[0190] Let the first-order Taylor expansion on the right-hand side of the inequality be the lower bound, and let its lower bound function be Z. n Then we get information about K. n The restrictions are:

[0191]

[0192] When θ-E(t)<0, the constraint condition will be applied when optimizing the UAV path. By changing the constraint to this, when the drone's battery energy exceeds the set control value θ, the drone's flight energy consumption will be increased, allowing the drone to fly further and provide users with better service.

[0193] Example

[0194] The specific conditions for this example are: the number of time slots N is set to 10000, the number of users K is set to 4, the initial position of the drone is (0,0), and the user's position z... k The parameters are set as z1 = (500, 400), z2 = (700, 100), z3 = (300, 200), and z4 = (600, 300). The initial trajectory of the UAV is a semicircle from coordinates (0, 0) to (1000, 0). The optimized flight path is sampled every 10 time slots. The initial battery energy is 5000J, the set battery energy control value θ = 3000J, and the set iteration threshold ∈ 0 is that the iteration difference is less than 5%. Based on the above simulation conditions, the method of the present invention is verified.

[0195] Figure 2This figure shows the simulation results of a drone path optimization algorithm based on edge computing and controllable battery power. It can be seen that in the initial stage, the drone quickly flies to the center of all users to increase the task upload rate and receive more tasks unloaded from users. Then, the drone flies near the user center to maintain queue stability at both the user end and the drone end.

[0196] Figure 3 Simulation results are shown for the task queues for all users across all time slots, as well as the task queue established by the UAV for that user. The figures show that the task queues on both the user and UAV sides initially increase and then stabilize as the time slot count value t increases. This demonstrates that the path optimization algorithm proposed in this invention can effectively maintain the stability of all task queues.

[0197] Figure 4 The figure shows the simulation results of the UAV battery energy queue changing over time. As can be seen from the figure, since the UAV's initial energy is higher than the set energy control value θ, the UAV's energy first decreases and then fluctuates around the set value θ, tending to stabilize. This proves that the path optimization algorithm proposed in this invention can effectively control the UAV battery energy.

[0198] Consider a drone providing computing services to K ground users, where the user's location coordinates are z. k =(x k ,y k Let k ∈ {1, 2, ..., K}. The drone flies above the users at a fixed altitude of H, receiving unloading tasks from multiple users. The drone, equipped with an edge computing server, calculates the unloading tasks from the users and communicates with each user, sending the calculation results to them. Assume there are N time slots within a drone's task cycle, each with a duration of δ. Considering that each time slot is sufficiently small, the drone's position within a single time slot can be considered constant. Therefore, the horizontal position of the drone in the t-th time slot is w(t) = (x(t), y(t)). Let α... k (t) is a binary variable representing the user's association, indicating whether the user is being served by a drone. α k If α(t) = 1, it means that user k uploads the computing task to the drone in the t-th time slot; otherwise, α(t) = 1. k When (t) = 0, the user is not served. Due to the use of time division multiple access communication, the UAV can establish a connection with at most one user in a single time slot.

[0199] Assuming the channel between the drone and the user is a line-of-sight channel, the upload rate (bits / s / Hz) between user k and the drone in time slot t is: Where p0 is the user transmit power, ρ0 represents the channel gain per unit distance, and σ 2The noise power is [value]. The upload amount of user k's task in a single time slot t is [value].

[0200] B represents the channel bandwidth.

[0201] On the user side, this invention creates a task backlog queue for each user. This represents the backlog of tasks for each user. For user k, the length of the task queue for the next time slot on the user's end is...

[0202] in This represents the amount of task data that the user calculates locally in the t-th time slot. This represents the CPU frequency of each user device in each time slot, satisfying... ζ k This indicates the complexity of the task, specifically the number of CPU revolutions required for user k to compute a 1-bit task. and Let a represent the amount of task calculated locally by the user in the t-th time slot and the amount of task uploaded to the drone, respectively. k (t) represents the number of tasks arriving for the user in each time slot, which follows [a k,min ,a k,max The expected value within ] is The random distribution.

[0203] Similarly, definition The length of the task backlog queue for each user on the drone. User k uploads their computational tasks. Simultaneously with the delivery of the drone, each user will be allocated a separate CPU core for computation, and the CPU frequency used by the drone to provide the service will be a random value. And obey the expectation The random distribution. For user k, the task queue length for the next time slot on the drone is... in This represents the amount of tasks processed by the server for user k in time slot t.

[0204] For drones, energy consumption consists of two parts: the computing energy consumed by the onboard server and the flight energy consumed by the drone itself. The computing energy consumed by the server in time slot t for user k is... The total energy consumption for providing computing services to all users is Regarding the flight energy of UAVs, this paper introduces the aerodynamic-based calculation model for flight energy from the paper "Energy Minimization for Wireless Communication With Rotary-Wing UAV[J]" by ZENG, YONG, XU, JIE, ZHANG, RUI. The flight energy of the UAV in each time slot is defined as e. fly (t)=p fly (t)δ, where Flight power for each time slot. For p fly (t), where the first and third parts are the blade profile power and parasitic power of the UAV, respectively. The second part is the induced power of the UAV, which is used to expel air downwards to generate thrust (the power source for hovering and forward movement of the UAV). As the speed of the UAV decreases, the value of the energy in the second part increases accordingly.

[0205] In this application, the drone can absorb solar energy for charging via photovoltaic panels installed on its wings, and the charging power is affected by flight altitude and weather conditions. Since the drone's flight altitude is defined as constant in this invention, the energy absorbed by the drone in each time slot can be set to a random value that fluctuates within a certain range. Therefore, the battery storage queue for the next time slot of the drone is

[0206] For ground users, energy consumption consists of local computing energy consumption and data transmission energy consumption. Since data transmission energy consumption is much smaller than local computing energy consumption, this invention only considers the user's local computing energy consumption. Definitions The computational energy consumed by the user in time slot t, where γ is the effective switching capacitor coefficient. The total computational energy consumption for all users in each time slot is... To minimize the total energy consumption of user computation, considering the stability of user and drone task queues and the constraint of stable battery energy during flight, we optimize the user computation frequency, user association, and drone path in each time slot. Within a single time slot, we decompose the convex optimization problem into two sub-problems: optimizing user association given the drone's position and optimizing the drone trajectory given the user association. Furthermore, in the drone trajectory optimization, we consider M... k (t)-Q k Whether (t) is greater than zero determines whether to maximize or minimize the upload rate R. k (t), consider whether θ-E(t) is greater than zero to determine whether to maximize or minimize the UAV flight energy consumption e. fly (t) enables dynamic task unloading optimization and path optimization.

Claims

1. A drone path optimization method based on edge computing and controllable battery energy, characterized in that, The method includes: Step 1: Establish a system model for drones equipped with edge computing servers to serve ground users; Step 2: Establish task backlog queues on the user end and the drone edge server end; Step 3: Establish the drone's battery energy queue and initialize it with the value of the battery energy carried by the drone; Step 4: Establish Lyapunov optimization functions for all queues in Step 2 and Step 3. Under the constraints of task queue stability and UAV energy queue stability, establish an optimization problem that minimizes the total average energy consumption of users over time. Utilize the properties of Lyapunov functions to decompose the optimization problem into Lyapunov optimization problems determined in each time slot. Step 5: Set the threshold for ending the iteration as needed for the required iteration precision; Step 6: Optimize the user computation frequency, user association, and UAV path in each time slot using the block coordinate descent method; when optimizing the UAV path, set energy consumption adjustment parameters. And based on the current battery energy With energy consumption adjustment parameters The dynamic adjustment and optimization objectives are as follows: when the energy consumption adjustment parameter is greater than the current battery energy, the optimization objective is to minimize the drone's flight energy consumption; when the energy consumption adjustment parameter is less than the current battery energy, the drone has sufficient energy, and the optimization objective is to maximize the drone's flight energy consumption. Step 7: Repeat step 6, using the result as the initial value for the next optimization, until the iteration variable is less than the iteration threshold; Step 8: Repeat steps 6 and 7, updating the values ​​of all queues simultaneously, until all time slots are optimized.

2. The method according to claim 1, characterized in that, Establish a system model for drones equipped with edge computing servers to serve ground users, including: Step 1-1, Define ground user parameters. Defining ground user parameters includes: Define the number of ground users as K, and the users' locations as randomly distributed on a two-dimensional coordinate plane. ; Step 1-2, Define UAV parameters: UAV parameters include: Define a drone mission cycle as ,in This represents the total number of time slots within a task cycle, with each time slot having a duration of [duration value missing]. ;definition The count value of the time slot, the first The horizontal position of the drone in each time slot is , This represents the flight path of the drone across all time slots; The flight altitude of the drone is constant. The maximum speed in any time slot is The flight speed of a drone is defined as In the time slot satisfy ; Steps 1-3: Establish a data transmission model between the drone and the user: set up To represent the binary variables associated with the user, Indicates user In the Offload computing tasks to the drone in a time slot, and vice versa. At that time, the user is not served; In each time slot, the drone communicates with the user using time-division multiple access; within a single time slot, the drone establishes a connection with at most one user, subject to the following constraints: ; In the time slot ,user The upload speed with the drone is: ; in For user transmission power, This represents the channel gain per unit distance. Noise power; User In a single time slot The number of tasks uploaded is , This refers to the channel bandwidth.

3. The method according to claim 1, characterized in that, Establish task backlog queues on the user end and the drone edge server end, including: Step 2-1, establish a task backlog queue on the user side: Step 2-1-1, defined in the first... At the start of each time slot, the size is The computational task arrives randomly at the user's end and will occur in the next time slot. Time slots are processed; where the number of tasks arriving in each time slot is... It is a random value, defined for The minimum value in the entire time slot, for The maximum value in the entire time slot; Obey The expected value within is Independent and identically distributed, where It is a constant; Step 2-1-2: At the beginning of each time slot, the user chooses to offload the task to the drone or have it computed locally by the user's own processor. For tasks computed locally, define This indicates the CPU frequency of the user equipment in each time slot. The maximum value in the entire time slot is ,satisfy Define user In the The amount of tasks processed locally within each time slot is: ; in Indicates the complexity of the task, by the user. The number of CPU revolutions required to perform a 1-bit task; Step 2-1-3: Establish a task backlog queue for each user. This represents the backlog of tasks for each user; for each user The task queue for the next time slot on the user's end is: ; in and These represent the user's position in the [number]th month. The workload of local computation in each time slot and the workload of uploading to the drone, assuming the total processing workload is... ,satisfy ; Step 2-2: Establish a task backlog queue on the drone edge server: Step 2-2-1, define the edge computing server for the drone in the first... The CPU frequency at which services are provided to each user in each time slot is a random value. Within the entire time slot, a minimum CPU frequency for providing services is defined as... The maximum CPU frequency for providing services is ;but satisfy And obey the expectation. The independent and identically distributed , where It is a constant; The server is at the For users within the time slot The workload to be processed is: ; Step 2-2-2, in each time slot, the user Upload its computing task Simultaneously with the drone, the drone allocates a separate CPU core for each user to perform calculations, defining... For each user, a task backlog queue is generated on the edge computing server of the drone. For users The next time slot task queue for the drone is: ; The workload processed in each time slot at the drone end meets the following requirements. .

4. The method according to claim 1, characterized in that, Establish the drone's battery energy queue and initialize it with the value of the battery energy carried by the drone, including: Step 3-1, establish the energy consumption calculation for the server mounted on the drone: The server is in the time slot For users The computational energy consumed is The total energy consumption for providing computing services to all users is ; Step 3-2, establish the drone's flight energy consumption: Define the flight energy of the UAV in each time slot as The flight power for each time slot is: ; The drone is charged by absorbing solar energy through photovoltaic panels installed on its wings. The energy absorbed by the drone in each time slot is set to a random value that fluctuates within a certain range. The minimum energy absorbed by the drone in all time slots is defined as... The maximum energy absorbed is ,but The range of values ​​is ; The battery storage queue for the next time slot of the drone is established as follows: ; Step 3-3: Initialize the battery energy storage of the drone in the first time slot to the energy value of the battery carried by the drone.

5. The method according to claim 1, characterized in that, For all queues in steps 2 and 3, establish Lyapunov optimization functions. Under the constraints of task queue stability and UAV energy queue stability, establish an optimization problem that minimizes the total average time-based energy consumption of the user. Furthermore, utilizing the properties of Lyapunov functions, decompose the optimization problem into Lyapunov optimization problems determined within each time slot, including: Step 4-1, define the Lyapunov function as: ; in ; Step 4-2, define the Lyapunov drift penalty function as: ; in, , It is the sum of the user's energy consumption in each time slot. ; It is a control parameter that represents the weight of the user-locally calculated energy in the drift penalty function; Step 4-3, Construct a problem Under the constraints of stable tasks and energy queues, minimize the total time-averaged energy consumption of the user end; Step 4-4, based on the derivation, The upper bound is: ; The problem Decompose into definite Minimize within each time slot The problem is to minimize the total average energy consumption of users within each time slot, while also addressing the upper bound of the problem.

6. The method according to claim 1, characterized in that, The block coordinate descent method is used to optimize the user computation frequency, user association, and UAV path in each time slot, including: Step 6-1, address the problem It is further broken down into two sub-problems: the first sub-problem is to optimize the computation frequency for each user, and the second sub-problem is to optimize user association and drone paths. Step 6-2, Initialize the number of iterations =0, initialize the drone's initial path. ; Optimize each user's time slot Optimize the user's local computing frequency and determine the optimal solution. : ; Step 6-3, optimize each user's time slot User association and drone path: Step 6-3-1: Using the block coordinate descent method, the optimization of user association and UAV path is decomposed into the optimization of user association problem and the optimization of UAV path problem. Step 6-3-2, change the integer variable Relaxation as a continuous variable The problem of optimizing user associations is transformed into a linear programming problem: ; Step 6-3-3, Optimize the drone's path: Set an energy consumption adjustment parameter. As the control value for the drone's battery energy; in the optimization objective, weight parameters are defined. To adjust the proportion of the drone's energy in the objective function, the optimization problem is rewritten as: ; Step 6-3-4, based on the given optimized trajectory By optimizing user-related variables, determine ; Step 6-3-5, based on the given user-related variables By solving a convex optimization problem, the path of the UAV is optimized and determined. : Step 6-3-5-1, Determine Compared to the size of 0: when At that time, the upload speed will be... Set to zero; drones in time slots The flight strategy is to remain in place and hover. The location of the drone is the same as in the previous time slot; when When, use exist The first-order Taylor expansion at the point, using The lower bound is replaced by itself, transforming the problem into a standard convex optimization problem; Step 6-3-5-2, Determine Compared to the size of 0: throughout the cycle, when the drone battery energy buildup is low, it satisfies , The objective function is to minimize the drone's flight energy consumption; conversely, when the drone's battery has sufficient energy, it satisfies... , The objective function is transformed into maximizing the flight energy consumption of the UAV; when When introducing slack variables ,in The energy consumption of drone flight The upper bound of the second part satisfies ,get The constraints that must be met are: ; Because the right side of the above inequality is about and It is jointly convex, therefore the first-order Taylor expansion is taken as its lower bound, and its lower bound function is denoted as . Then we get information about The restrictions are: ; when When optimizing drone paths, constraints will be applied. Change to this restriction; when At that time, another slack variable is introduced. ,in The energy consumption of drone flight The lower bound of the second part satisfies ,get The constraints that must be met are: ; Taking the first-order Taylor expansion on the right-hand side of the inequality as the lower bound, let its lower bound function be... Then we get information about The restrictions are: ; when When optimizing drone paths, constraints will be applied. Change to this restriction.