Edge computing system unmanned aerial vehicle trajectory and user unloading decision optimization method and device
Through the multi-agent deep reinforcement learning algorithm, the drone trajectory and user unloading decision optimization problem is solved, and the overall performance problem caused by the optimization technology of drone trajectory and user unloading decision in the edge computing system is minimized, achieving the minimization of delay and energy consumption and the improvement of overall performance.
Patent Information
- Application Number
- CN202411790360.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-06
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2044-12-06
AI Technical Summary
In existing edge computing systems, drone trajectory and user offload decision optimization techniques lead to poor overall performance and fail to effectively optimize delay and energy consumption.
By obtaining the calculation frequency, task data, motion state and obstacle position data of the user drone, building a joint objective function, using multi-agent deep reinforcement learning algorithm to optimize the drone trajectory and user unloading decisions, and generating target flight strategies and unloading strategies.
The drone trajectory is optimized to serve users better at line-of-sight, and the user's offload decisions are optimized, minimizing the latency and energy consumption of the edge computing system, thereby improving overall performance.
Smart Images

Figure CN119580535A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless communication technologies, and in particular to a method and device for optimizing drone trajectories and user unloading decisions in an edge computing system. Background Art
[0002] With the surge in the number of terminal devices, such as cloud mobile sensors, tablets, mobile phones, and wearable devices in the Internet of Things, the large amount of data generated by these devices requires powerful computing power to support intelligent decision-making. Therefore, in the past decade or so, mobile edge computing has become the fastest growing direction in the telecommunications field; among them, edge computing is a computing model that deploys computing, storage, and network resources closer to the data source. Unlike traditional cloud computing that relies on remote data centers to process data, edge computing processes data at the "edge" of the network, which can significantly reduce latency and reduce the burden on the core network, especially for application scenarios with high real-time requirements.
[0003] At present, due to the rapid development of drone technology, there are many advantages to using drones as edge computing servers. First, drones can establish shorter line-of-sight (LoS) links, thereby improving link quality. Second, current research on multi-drone systems focuses more on motion control, but there is still a lot of room for development in communication optimization. The system in this paper focuses on improving the quality of user transmission. By reasonably planning the flight trajectory of the drone, it tries to ensure that the communication between the user and the drone is in a line-of-sight state, thereby effectively improving the communication rate.
[0004] Existing research on drone trajectory and user offloading decision optimization technology for edge computing systems mainly focuses on reducing the computing energy consumption and communication energy consumption of terminal devices. Among them, in order to save the energy consumption of terminal devices, some studies use drones to install energy transmitters to provide computing energy for terminal devices. However, the above method only considers the single factor of energy consumption and does not consider optimizing latency, resulting in poor overall performance of the edge computing system. Summary of the invention
[0005] The present invention provides a method and device for optimizing drone trajectories and user unloading decisions of an edge computing system, which are used to solve the technical problem that the overall performance of the edge computing system is poor due to the existing research on the optimization technology of drone trajectories and user unloading decisions of the edge computing system.
[0006] The first aspect of the present invention provides an edge computing system drone trajectory and user unloading decision optimization method, comprising:
[0007] Obtain the user's drone calculation frequency, user-generated task data, user coordinate data, drone motion state data, and obstacle position data corresponding to the drone;
[0008] Determine the user drone task delay according to the user drone calculation frequency, the user generated task data, the motion state data, and the user coordinate data, and determine the user drone task energy consumption based on the user drone task delay and the user drone calculation frequency;
[0009] Determining physical quantity data of the drone according to the motion state data and the obstacle position data;
[0010] Based on the preset offloading decision, the task offloading data is determined, and the UAV height in the UAV coordinate data, the user UAV calculation frequency, the task offloading data, the user UAV task delay, the user UAV task energy consumption and the UAV physical quantity data are used to construct a joint objective function;
[0011] Transforming the joint objective function to determine a UAV trajectory Markov decision process model and a user unloading decision Markov decision process model;
[0012] A multi-agent deep reinforcement learning algorithm is used to optimize and solve the UAV trajectory Markov decision process model and the user uninstall decision Markov decision process model respectively, and generate a target UAV trajectory flight strategy and a target user uninstall decision strategy.
[0013] Optionally, the user drone calculation frequency includes user calculation frequency and drone calculation frequency; the motion state data includes drone coordinate data and drone angle data; the user drone task delay includes user calculation task delay, drone transmission task delay and drone calculation task delay; determining the user drone task delay according to the user drone calculation frequency, the user generated task data, the motion state data and the user coordinate data includes:
[0014] Determine the user drone transmission rate according to the user coordinate data, drone coordinate data, and drone angle data;
[0015] Determining the UAV transmission task delay based on the user UAV transmission rate and the user generated task data;
[0016] Determining a user computing task delay according to the user generated task data and the user computing frequency;
[0017] The drone computing task delay is determined based on the drone transmission task delay, the drone computing frequency, and the user generated task data.
[0018] Optionally, determining the user-drone transmission rate according to the user coordinate data, the drone coordinate data, and the drone angle data includes:
[0019] Calculate the horizontal distance between the user and the drone using the user coordinate data, the drone coordinate data and the drone angle data;
[0020] Determine the distance between the user and the drone according to the horizontal position distance between the user and the drone and the height of the drone in the drone coordinate data;
[0021] Determine a relative position vector between the user and the drone according to the user coordinate data and the drone coordinate data;
[0022] Determining communication status type data between the drone and the user based on the relative position vector between the user and the drone;
[0023] Determine the communication path loss between the user and the drone based on the distance between the user and the drone;
[0024] The preset Shannon formula is used to determine the user drone transmission rate according to the communication path loss between the user and the drone.
[0025] Optionally, the motion state data further includes the flight speed of the drone and the acceleration of the drone; the obstacle position data includes the position data of traversable obstacles and the position data of intraversable obstacles; the drone physical quantity data includes the flight energy consumption of the drone, the repulsive acceleration of the drone, the flight vector of the drone, the comprehensive obstacle repulsive potential energy field and the repulsive potential energy field between drones; the determining of the drone physical quantity data according to the motion state data and the obstacle position data includes:
[0026] Determine a UAV flight vector according to the UAV coordinate data, the UAV angle data and the UAV acceleration;
[0027] Determine the UAV flight energy consumption based on the UAV flight speed;
[0028] Determine the distance between the drone and the insurmountable obstacle according to the drone coordinate data and the insurmountable obstacle position data;
[0029] Determine a distance gradient between the drone and the insurmountable obstacle based on the distance between the drone and the insurmountable obstacle, the drone coordinate data, and the insurmountable obstacle position data;
[0030] Determining a repulsive potential energy field between the drone and the insurmountable obstacle based on a distance between the drone and the insurmountable obstacle;
[0031] Determining that the drone is subjected to an insurmountable repulsive force according to a repulsive potential energy field between the drone and the insurmountable obstacle and a distance gradient between the drone and the insurmountable obstacle;
[0032] Determine the distance between the drone and the traversable obstacle based on the drone coordinate data and the traversable obstacle position data;
[0033] Determine a distance gradient between the drone and the traversable obstacle based on the distance between the drone and the traversable obstacle, the drone coordinate data, and the traversable obstacle position data;
[0034] Determining a repulsive potential energy field between the drone and the traversable obstacle according to the distance between the drone and the traversable obstacle;
[0035] Determining that the drone is subjected to a traversable repulsive force according to a repulsive potential energy field between the drone and the traversable obstacle and a distance gradient between the drone and the traversable obstacle;
[0036] Adding the repulsive potential energy field between the UAV and the non-crossable obstacle and the repulsive potential energy field between the UAV and the crossable obstacle to determine a comprehensive obstacle repulsive potential energy field;
[0037] Determining a repulsive potential energy field between the drones based on the drone coordinate data;
[0038] Determining the repulsive force between the drones according to the repulsive potential energy field between the drones and the drone coordinate data;
[0039] The repulsive acceleration of the drones is determined according to the repulsive force between the drones, the non-crossable repulsive force on the drones, and the crossable repulsive force on the drones.
[0040] Optionally, the using of the drone altitude in the drone coordinate data, the user drone calculation frequency, the task offloading data, the user drone task delay, the user drone task energy consumption and the drone physical quantity data to construct a joint objective function includes:
[0041] Determine the system delay and system energy consumption according to the task offloading data, the user computing task delay, the drone transmission task delay, the drone computing task delay and the user drone task energy consumption;
[0042] The joint objective function is constructed by using the drone height in the drone coordinate data, the user drone calculation frequency, the system delay, the system energy consumption and the drone physical quantity data.
[0043] Optionally, the joint objective function is specifically:
[0044] ;
[0045] in, is the flight vector of the UAV at time slot t; is the joint objective function in time slot t; T is time; is the weight of system delay; is the system delay in time slot t; is the weight of system energy consumption; is the system energy consumption in time slot t; Calculate the frequency for the nth user in time slot t; Calculate the frequency for the maximum user of the nth user in the tth time slot; Calculate the frequency of the drone for the mth drone in time slot t; Calculate the maximum UAV frequency for the mth UAV in time slot t; is the minimum UAV flight speed; is the flight speed of the mth UAV in time slot t; is the maximum UAV flight speed; is the repulsive acceleration of the mth UAV in time slot t; is the maximum UAV repulsive acceleration of the mth UAV in time slot t; is the comprehensive obstacle repulsion potential energy field of the mth UAV in time slot t; is the drone coordinate data of the mth drone in time slot t; is the maximum comprehensive obstacle repulsive potential energy field; is the repulsive potential energy field between the mth UAV and the kth UAV in time slot t, which represents the repulsive potential energy field between UAVs; is the coordinate data of the kth UAV in time slot t; is the repulsive potential energy field between the largest UAVs; is the minimum drone altitude; is the altitude of the mth UAV at time slot t; is the maximum drone altitude; is the indicator function; Offload data for the task of the mth UAV in time slot t; N is the total number of users; M is the total number of UAVs.
[0046] The second aspect of the present invention provides an edge computing system drone trajectory and user unloading decision optimization device, comprising:
[0047] An acquisition module is used to acquire the user's drone calculation frequency, the user's generated task data, the user's coordinate data, the drone's motion state data, and the obstacle position data corresponding to the drone;
[0048] A delay energy consumption module, used to determine the user drone task delay according to the user drone calculation frequency, the user generated task data, the motion state data, and the user coordinate data, and determine the user drone task energy consumption based on the user drone task delay and the user drone calculation frequency;
[0049] A physical quantity module, used to determine the physical quantity data of the drone according to the motion state data and the obstacle position data;
[0050] A construction module is used to determine the task offloading data based on the preset offloading decision, and use the drone height in the drone coordinate data, the user drone calculation frequency, the task offloading data, the user drone task delay, the user drone task energy consumption and the drone physical quantity data to construct a joint objective function;
[0051] A conversion module, used to convert the joint objective function to determine a UAV trajectory Markov decision process model and a user unloading decision Markov decision process model;
[0052] The solution module is used to optimize and solve the UAV trajectory Markov decision process model and the user uninstall decision Markov decision process model respectively by using a multi-agent deep reinforcement learning algorithm to generate a target UAV trajectory flight strategy and a target user uninstall decision strategy.
[0053] A third aspect of the present invention provides a computer device, including a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the steps of the edge computing system drone trajectory and user unloading decision optimization method as described in any one of the above items.
[0054] A fourth aspect of the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed, implements the steps of the edge computing system drone trajectory and user unloading decision optimization method as described in any one of the above items.
[0055] A fifth aspect of the present invention provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions, wherein when the program instructions are executed by a computer, the computer executes the steps of the edge computing system drone trajectory and user unloading decision optimization method as described in any one of the above items.
[0056] It can be seen from the above technical solutions that the present invention has the following advantages:
[0057] The above technical scheme of the present invention provides an edge computing system drone trajectory and user unloading decision optimization method, first, obtain the user drone calculation frequency, user generated task data, user coordinate data, drone motion state data, and drone corresponding obstacle position data; then, determine the user drone task delay according to the user drone calculation frequency, user generated task data, motion state data, and user coordinate data, and determine the user drone task energy consumption based on the user drone task delay and user drone calculation frequency; determine the drone physical quantity data according to the motion state data and obstacle position data; determine the task unloading data based on the preset unloading decision, and use the drone height in the drone coordinate data, the user drone calculation frequency, task unloading data, user drone task delay, user drone task energy consumption and drone physical quantity data to construct a joint objective function; transform the joint objective function to determine the drone trajectory Markov decision process model and the user unloading decision Markov decision process model; finally, use multiple The intelligent agent deep reinforcement learning algorithm optimizes and solves the drone trajectory Markov decision process model and the user unloading decision Markov decision process model respectively, and generates the target drone trajectory flight strategy and the target user unloading decision strategy; based on the above scheme, the acquired user drone calculation frequency, user generated task data, user coordinate data, drone motion state data, and drone corresponding obstacle position data are processed to obtain the user drone task delay and user drone task energy consumption, and then combined with the preset unloading decision and drone physical quantity data to obtain the drone trajectory Markov decision process model and the user unloading decision Markov decision process model, and the model is solved by the multi-agent deep reinforcement learning algorithm to generate the target drone trajectory flight strategy and the target user unloading decision strategy. The process can optimize the drone trajectory to serve the user with better line of sight, and optimize the user's unloading decision to minimize the target, thereby minimizing the delay and energy consumption of the edge computing system, thereby improving the overall performance of the edge computing system. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0059] Figure 1 A flowchart of a method for optimizing drone trajectory and user uninstallation decision in an edge computing system provided in Embodiment 1 of the present invention;
[0060] Figure 2A schematic diagram of the network architecture of a system model corresponding to the edge computing system drone trajectory and user offloading decision optimization method provided in the first embodiment of the present invention;
[0061] Figure 3 This is an algorithm network structure diagram of the multi-agent deep reinforcement learning algorithm provided in Example 1 of the present invention;
[0062] Figure 4 A structural block diagram of a device for optimizing drone trajectory and user unloading decision in an edge computing system provided in Embodiment 2 of the present invention. DETAILED DESCRIPTION
[0063] An embodiment of the present invention provides a method and device for optimizing drone trajectories and user unloading decisions of an edge computing system, which is used to solve the technical problem that the overall performance of the edge computing system is poor due to the existing research on the optimization technology of drone trajectories and user unloading decisions of the edge computing system.
[0064] In order to make the purpose, features and advantages of the present invention more obvious and easy to understand, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described below are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0065] See also Figure 1 , Figure 1 A flowchart of the steps of an edge computing system drone trajectory and user unloading decision optimization method provided in Example 1 of the present invention.
[0066] The present invention provides an edge computing system drone trajectory and user unloading decision optimization method, comprising:
[0067] Step 101: Obtain the user's drone calculation frequency, user-generated task data, user coordinate data, drone motion state data, and obstacle position data corresponding to the drone.
[0068] Please note that Figure 2The system model proposed in the present invention is composed of a user group including N users and a UAV (Unmanned Aerial Vehicle) cluster consisting of M drones. The user group generates computing tasks and can choose to process them locally or upload them to a UAV edge server with stronger computing power for processing. In complex environments, such as the obstruction of obstacles such as hills, woods and buildings, users may face the challenges of line of sight (LoS) and non line of sight (NLoS) transmission when performing transmission tasks. In the framework design of the present invention, the communication between UAV and users is divided into two types, namely line of sight communication and non line of sight communication.
[0069] Step 102: determine the user drone task delay according to the user drone calculation frequency, the user generated task data, the motion state data, and the user coordinate data, and determine the user drone task energy consumption based on the user drone task delay and the user drone calculation frequency.
[0070] The user drone computing frequency includes the user computing frequency and the drone computing frequency.
[0071] The motion status data includes drone coordinate data and drone angle data.
[0072] The user UAV task delay includes the user computing task delay, the UAV transmission task delay and the UAV computing task delay.
[0073] The task data generated by the user includes the data size of the task and the CPU cycles required to execute each bit of the task.
[0074] It should be noted that the present invention discretizes the time T into t time slots, and the length of each time slot is , , for user n, , the task it generates in time slot t can be represented by a two-tuple ,in, Indicates the data size of the task. It represents the CPU cycles required per bit to perform this task. During the T period, the UAV flies above the ground users to provide MEC services.
[0075] Specifically, the process of determining the user drone task delay according to the user drone calculation frequency, the user generated task data, the motion state data, and the user coordinate data can be implemented by executing the following steps S21 to S24:
[0076] Step S21, determining the user drone transmission rate according to the user coordinate data, the drone coordinate data, and the drone angle data;
[0077] The user coordinate data includes the user horizontal coordinate and the user vertical coordinate.
[0078] The drone coordinate data includes the drone horizontal coordinate, drone vertical coordinate, and drone altitude.
[0079] The drone angle data includes the angle between the drone flight vector and the gravity direction and the flight angle between the current drone plane and the x-axis direction.
[0080] Further, step S21 may include the following sub-steps S211 to S216:
[0081] Step S211, using the user coordinate data, the drone coordinate data and the drone angle data to calculate the horizontal position distance between the user and the drone;
[0082] It should be noted that the user's horizontal coordinates (i.e. user coordinate data) can be expressed as , is the user horizontal coordinate of the nth user, is the user ordinate of the nth user, then the distance between user n and the horizontal position of the UAV can be calculated, that is, the calculation process of the distance between the user and the horizontal position of the UAV can be expressed as:
[0083] ;
[0084] in, is the horizontal position distance between the m-th UAV and the n-th user at time slot t, indicating the horizontal position distance between the user and the UAV; is the drone coordinate data of the mth drone in time slot t; is the angle between the flight vector of the mth UAV at time slot t and the gravity direction; is the user coordinate data of the nth user in time slot t; is the UAV horizontal coordinate of the mth UAV in time slot t; is the user horizontal coordinate of the nth user in time slot t; is the ordinate coordinate of the mth UAV in time slot t; is the user ordinate of the nth user in time slot t.
[0085] Step S212, determining the distance between the user and the drone according to the horizontal position distance between the user and the drone and the height of the drone in the drone coordinate data;
[0086] It should be noted that the process of calculating the distance between UAV m and user n, that is, the distance between the user and the UAV, can be expressed as:
[0087] ;
[0088] in, is the distance between the mth UAV and the nth user at time slot t, indicating the distance between the user and the UAV; is the horizontal position distance between the m-th UAV and the n-th user at time slot t, indicating the horizontal position distance between the user and the UAV; is the altitude of the mth UAV at time slot t.
[0089] Step S213: Determine the relative position vector between the user and the drone based on the user coordinate data and the drone coordinate data;
[0090] It should be noted that the relative position vector between user n and UAV m in time slot t, that is, the relative position vector between the user and the UAV can be expressed as:
[0091] ;
[0092] in, is the relative position vector between the m-th UAV and the n-th user at time slot t, indicating the relative position vector between the user and the UAV; is the user coordinate data of the nth user in time slot t; is the UAV horizontal coordinate of the mth UAV in time slot t; is the user horizontal coordinate of the nth user in time slot t; is the ordinate coordinate of the mth UAV in time slot t; is the user ordinate of the nth user in time slot t.
[0093] Step S214: determining the communication status type data between the drone and the user based on the relative position vector between the user and the drone;
[0094] It should be noted that based on the relative position vector of UAV m and user n, the current communication state type between the UAV and the user, i.e., the communication state type data between the UAV and the user, can be calculated in the communication environment. To represent the current communication status between UAV m and user n. When , it indicates that the two are in line-of-sight communication state; when When , the two are in non-line-of-sight communication state. Among them, when the connection ray between the relative positions of UAV m and user n is blocked by obstacles, , otherwise ,Right now:
[0095] ;
[0096] in, is the communication state type between the mth UAV and the nth user in the tth time slot, indicating the communication state type data between the UAV and the user; is the position of the i-th intersection point, , is the horizontal coordinate of the ith intersection point, is the ordinate of the i-th intersection point, is the vertical coordinate of the i-th intersection point; It is the set of intersection points between the relative position vector between user n and drone m and the set of occluders in the environment.
[0097] Step S215: determining the communication path loss between the user and the drone based on the distance between the user and the drone;
[0098] The communication path loss between the user and the UAV includes the path loss between the UAV and the user in line-of-sight communication and the path loss between the UAV and the user in non-line-of-sight communication.
[0099] It should be noted that the path loss between the UAV and the user in line-of-sight communication, that is, the path loss between the UAV and the user in line-of-sight communication can be expressed as:
[0100] ;
[0101] in, is the path loss between the m-th UAV and the n-th user in line-of-sight communication at time slot t, and represents the path loss between the UAV and the user in line-of-sight communication; is the distance between the mth UAV and the nth user in time slot t, indicating the distance between the user and the UAV; c is the wavelength of the signal; In order to account for the additional loss of line-of-sight transmission, additional influencing factors such as atmosphere and humidity are taken into account.
[0102] Furthermore, the path loss between the UAV and the user in non-line-of-sight communication can be expressed as:
[0103] ;
[0104] in, is the path loss between the m-th UAV and the n-th user in non-line-of-sight communication at time slot t, and represents the path loss between the UAV and the user in non-line-of-sight communication; is the distance between the mth UAV and the nth user in time slot t, indicating the distance between the user and the UAV; c is the wavelength of the signal; The additional loss for non-line-of-sight transmission takes into account the impact of obstacles.
[0105] Step S216: Use the preset Shannon formula to determine the user drone transmission rate based on the communication path loss between the user and the drone.
[0106] It should be noted that, first, according to the probability of line-of-sight and non-line-of-sight and the weighted path loss in these two cases, that is, according to the path loss between the drone and the user in line-of-sight communication and the path loss between the drone and the user in non-line-of-sight communication, the weighted path loss is determined. This process can be expressed as:
[0107] ;
[0108] in, is the weighted path loss between the m-th UAV and the n-th user in time slot t; is the path loss between the m-th UAV and the n-th user in non-line-of-sight communication at time slot t; is the distance between the mth UAV and the nth user at time slot t; is the path loss between the m-th UAV and the n-th user in line-of-sight communication at time slot t; is the communication state type between the m-th UAV and the n-th user in the t-th time slot.
[0109] Next, the channel gain when user n is within the service range of UAVm is calculated, which can be expressed as:
[0110] ;
[0111] in, is the channel gain between the m-th UAV and the n-th user in time slot t; is the weighted path loss between the m-th UAV and the n-th user in time slot t.
[0112] Furthermore, the signal-to-noise ratio SNR under the above conditions can be expressed as:
[0113] ;
[0114] in, is the signal-to-noise ratio (SNR) between the m-th UAV and the n-th user in the t-th time slot; is the channel gain between the m-th UAV and the n-th user in time slot t; is the noise power spectrum density; B is the communication bandwidth; is the transmission power given by the nth user to the mth UAV in the tth time slot.
[0115] Finally, the communication between the user and the drone uses OFDMA to avoid interference between users. B is the bandwidth of each subchannel, and P is a fixed transmission power. Therefore, the transmission rate between the drone and the user can be obtained according to the Shannon formula, which is:
[0116] ;
[0117] in, is the transmission rate between the mth UAV and the nth user in the tth time slot, indicating the user UAV transmission rate; B is the communication bandwidth; is the signal-to-noise ratio (SNR) between the m-th UAV and the n-th user in time slot t.
[0118] Step S22: determining the transmission task delay of the drone based on the transmission rate of the user drone and the task data generated by the user;
[0119] It should be noted that the UAV transmission task delay can be expressed as:
[0120] ;
[0121] in, is the communication delay of the mth UAV in the tth time slot, which represents the UAV transmission task delay; is the data size of the task generated by the nth user in the tth time slot; is the length of the time slot; is the transmission rate between the m-th UAV and the n-th user in time slot t.
[0122] Step S23, determining the user computing task delay according to the user generated task data and the user computing frequency;
[0123] It should be noted that the present invention assumes that each user can perform local computing. For user n, the CPU computing frequency can be expressed as , when uninstalling task variables When , the task is calculated locally by user n, and the latency of the user's local calculation can be expressed as:
[0124] ;
[0125] in, The user computing task latency for the nth user, which indicates the time consumed by user n's local computing; is the data size of the task generated by the nth user in the tth time slot; The CPU cycles required per bit for the nth user to perform this task in time slot t; Calculate the frequency for the nth user in time slot t; Offload data for the mth UAV’s mission in time slot t.
[0126] Step S24: Determine the drone calculation task delay based on the drone transmission task delay, the drone calculation frequency, and the user-generated task data.
[0127] It should be noted that the definition is the calculation frequency of UAV m, and the delay of task calculation on UAV m, that is, the calculation delay of UAV task can be expressed as:
[0128] ;
[0129] in, is the delay calculated on the mth UAV in the t-time slot task, which represents the UAV calculation task delay; Calculate the frequency of the drone for the mth drone in time slot t; is the communication delay of the mth UAV in time slot t, which represents the transmission task delay of the UAV.
[0130] Furthermore, the energy consumption of the user UAV task includes the energy consumption of the user computing task, the energy consumption of the UAV computing task and the energy consumption of the UAV transmission task; wherein, the energy consumption of the UAV transmission task is determined according to the UAV transmission task delay, and the process can be expressed as:
[0131] ;
[0132] in, is the energy required for the communication of the mth UAV in the tth time slot, which represents the energy consumption of the UAV transmission task; is the communication delay of the mth UAV in the tth time slot, which represents the UAV transmission task delay; is the data size of the task generated by the nth user in the tth time slot; is the length of the time slot; is the transmission rate between the m-th UAV and the n-th user in time slot t.
[0133] Furthermore, the power consumption of user local computing can be expressed as:
[0134] ;
[0135] in, The power consumption calculated locally for the nth user in time slot t; The effective capacitance parameter for the user's processor coefficient is determined by the processor architecture; Calculate the frequency for the nth user in time slot t.
[0136] Furthermore, the energy consumption of user computing tasks (energy consumed by local computing) can be expressed as:
[0137] ;
[0138] in, is the energy consumed by the local computation of the nth user in time slot t, which represents the energy consumption of the user's computation task; The power consumption calculated locally for the nth user in time slot t; The user computing task latency of the nth user, which indicates the time consumed by user n's local computing.
[0139] Furthermore, the computational power consumption of UAV m is:
[0140] ;
[0141] in, is the computational power consumption of the mth UAV in time slot t; The effective capacitance parameter for the drone's processor coefficient is determined by the processor architecture; Calculate the frequency of the drone for the mth drone in time slot t.
[0142] Furthermore, the energy consumption of the UAV computing task can be expressed as:
[0143] ;
[0144] in, is the computing energy consumption of the mth UAV in time slot t, which represents the energy consumption of the UAV computing task; is the computational power consumption of the mth UAV in time slot t; is the delay calculated on the mth UAV in the t-time slot task.
[0145] Step 103: Determine the physical quantity data of the drone according to the motion state data and the obstacle position data.
[0146] The motion status data also includes the UAV flight speed and UAV acceleration.
[0147] The obstacle location data includes surmountable obstacle location data and non-surmountable obstacle location data.
[0148] The physical quantity data of UAV include UAV flight energy consumption, UAV repulsive acceleration, UAV flight vector, comprehensive obstacle repulsive potential energy field and repulsive potential energy field between UAVs.
[0149] The drone angle data includes the angle between the drone flight vector and the gravity direction and the flight angle between the current drone plane and the x-axis direction.
[0150] Specifically, step 103 may include the following sub-step S31:
[0151] Step S31, determining the UAV flight vector according to the UAV coordinate data, the UAV angle data and the UAV acceleration;
[0152] It should be noted that the position of UAV m in time slot t can be expressed as ,in, , They are respectively represented as the horizontal and vertical coordinates of UAV m, Indicates the altitude of UAV m. According to the flight angle between the current plane and the x-axis direction of UAV m , drone coordinate data, drone acceleration and the angle between the drone flight vector and the gravity direction, calculate the drone flight vector , the process can be expressed as:
[0153] in, is the flight vector of the UAV at time slot t; is the flight speed of the UAV at time slot t-1; is the angle between the flight vector of the mth UAV and the gravity direction at the t-1 time slot; is the flight angle between the plane where the mth UAV is located and the x-axis direction at the t-1 time slot; is the length of the time slot; is the acceleration of the UAV at time slot t; is the angle between the flight vector of the mth UAV at time slot t and the gravity direction; is the flight angle between the plane where the mth UAV is located and the x-axis direction at the t time slot.
[0154] It is worth mentioning that the position of UAV m in the t+1 time slot can be expressed based on the flight angle between the current plane and the x-axis direction, the flight vector, and the angle between the flight vector and the gravity direction:
[0155] ;
[0156] in, is the horizontal coordinate of the mth UAV at the t+1 time slot; is the UAV horizontal coordinate of the mth UAV in time slot t; is the flight vector of the UAV at time slot t; is the angle between the flight vector of the mth UAV at time slot t and the gravity direction; is the flight angle between the plane where the mth UAV is located and the x-axis direction at the t-th time slot; is the ordinate coordinate of the mth UAV at the t+1 time slot; is the ordinate coordinate of the mth UAV in time slot t; is the altitude of the mth UAV at the t+1 time slot; is the altitude of the mth UAV at time slot t.
[0157] Step S32: determining the flight energy consumption of the drone based on the flight speed of the drone;
[0158] It should be noted that, assuming that the flight speed of the UAV m in the present invention is Moreover, the flight speed of UAV m is not uniform. It will be affected by external forces during flight and have a certain acceleration. , , the flight speed of UAV m needs to be less than its maximum flight speed ,Right now:
[0159] ;
[0160] in, is the minimum UAV flight speed; is the flight speed of the UAV in time slot t; is the maximum flight speed of the drone.
[0161] Furthermore, the flight power of UAV m The calculation formula is:
[0162] ;
[0163] in, is the UAV flight power of the mth UAV in time slot t; is the rotor hover power constant; is the flight speed of the UAV in time slot t; is the terminal speed of the rotor; is the vertical descent speed; is the induced power constant, i.e., the power consumption due to air flow; is the drag coefficient of the UAV; is the air density; is the acceleration due to gravity; A is the windward area of the drone; is the hovering power; is the induced power; is the air resistance power.
[0164] Furthermore, the flight energy consumption of UAV m for:
[0165] ;
[0166] in, is the UAV flight energy consumption of the mth UAV in time slot t; is the UAV flight power of the mth UAV in time slot t; is the length of the time slot.
[0167] Step S33: determining the distance between the drone and the insurmountable obstacle according to the drone coordinate data and the insurmountable obstacle position data;
[0168] It should be noted that the artificial potential field is a common path planning algorithm that guides objects to avoid obstacles and move to the target by simulating the concept of electromagnetic field in physics. Due to the complex environment of the system model and the presence of dynamic obstacles, the UAV may not only collide with high-rise buildings, but also the UAV cluster may collide with each other when performing tasks. In order to avoid the occurrence of collision events, the present invention sets a repulsive field in the artificial potential field for obstacles to help the UAV avoid obstacles. The present invention creates a flight corridor for the UAV through the definition of the potential field to limit the trajectory of the UAV to a half-space defined by the potential field. The UAV is always flying in a safe area by constraining the UAV repulsive potential field. At the same time, the UAVs in the present invention are equipped with sensors. When the obstacle is within the sensor range of the UAV, the obstacle will be given an artificial potential field.
[0169] Furthermore, setting is the distance between UAV m and the obstacle, that is, the distance between the UAV and the insurmountable obstacle, which can be expressed as:
[0170] ;
[0171] in, is the distance between the UAV and the insurmountable obstacle, which represents the distance between the UAV m and the insurmountable obstacle at time slot t; is the drone coordinate data of the mth drone in time slot t; The position data of the obstacle that cannot be crossed.
[0172] Step S34, determining a distance gradient between the drone and the insurmountable obstacle based on the distance between the drone and the insurmountable obstacle, the drone coordinate data, and the insurmountable obstacle position data;
[0173] It should be noted that for the distance between UAV m and the obstacle Gradient We can get:
[0174] ;
[0175] in, is the distance gradient between the UAV and the insurmountable obstacle, which represents the gradient of the distance between the UAV m and the insurmountable obstacle at time slot t; is the drone coordinate data of the mth drone in time slot t; The location data of the insurmountable obstacle; The distance between the drone and the insurmountable obstacle.
[0176] Step S35: determining a repulsive potential energy field between the drone and the insurmountable obstacle based on the distance between the drone and the insurmountable obstacle;
[0177] It should be noted that for an insurmountable obstacle, the repulsive potential energy field function between UAV m and the obstacle, that is, the repulsive potential energy field between the UAV and the insurmountable obstacle can be expressed as:
[0178] ;
[0179] in, is the repulsive potential energy field between the mth UAV and the insurmountable obstacle in time slot t; The strength of the interaction between the drone and the insurmountable obstacle; The distance between the drone and the insurmountable obstacle; is the drone coordinate data of the mth drone in time slot t; The location data of the insurmountable obstacle; is the distance threshold of the drone to the insurmountable obstacle; I is the sequence number of the insurmountable obstacle at this time.
[0180] Step S36, determining that the drone is subjected to an insurmountable repulsive force according to the repulsive potential energy field between the drone and the insurmountable obstacle and the distance gradient between the drone and the insurmountable obstacle;
[0181] It should be noted that for an insurmountable obstacle, the insurmountable repulsion force on UAV m can be expressed as:
[0182] ;
[0183] in, is the uncrossable repulsive force on the mth UAV in the tth time slot, which indicates the uncrossable repulsive force on UAV m for the uncrossable obstacle; is the repulsive potential energy field between the mth UAV and the insurmountable obstacle in time slot t; is the distance gradient between the UAV and the insurmountable obstacle; The strength of the interaction between the drone and the insurmountable obstacle; The distance between the drone and the insurmountable obstacle; is the drone coordinate data of the mth drone in time slot t; The location data of the insurmountable obstacle; is the distance threshold of the drone to the insurmountable obstacle; I is the sequence number of the insurmountable obstacle at this time.
[0184] It is worth mentioning that when the distance between the UAV and the insurmountable obstacle is greater than this threshold When , the repulsive potential energy field between the UAV and the insurmountable obstacle is not calculated, otherwise it is calculated.
[0185] Step S37: determining the distance between the drone and the traversable obstacle based on the drone coordinate data and the traversable obstacle position data;
[0186] It should be noted that, based on the above-mentioned calculation principle of the distance between the drone and the insurmountable obstacle, the distance between the drone and the surmountable obstacle can be obtained, and the present invention will not be elaborated in detail.
[0187] Step S38, determining the distance gradient between the drone and the traversable obstacle based on the distance between the drone and the traversable obstacle, the drone coordinate data, and the traversable obstacle position data;
[0188] It should be noted that, based on the above-mentioned calculation principle of the distance gradient between the UAV and the non-crossable obstacle, the distance gradient between the UAV and the crossable obstacle can be obtained, and the present invention will not be elaborated in detail.
[0189] Step S39, determining the repulsive potential energy field between the drone and the traversable obstacle according to the distance between the drone and the traversable obstacle;
[0190] It should be noted that for the potential energy function of the traversable obstacle, the repulsive potential energy function between the UAV m and the obstacle, that is, the repulsive potential energy field between the UAV and the traversable obstacle can be expressed as:
[0191] ;
[0192] in, is the repulsive potential energy field between the mth UAV and the traversable obstacle in time slot t; The position data of the obstacle that can be crossed; The distance threshold for the drone to cross obstacles; is the distance between the UAV and the surmountable obstacle, which represents the distance between the UAV m and the surmountable obstacle at time slot t; is the interaction strength between the UAV and the surmountable obstacle; J is the sequence number of the surmountable obstacle.
[0193] Step S310, determining that the drone is subjected to a traversable repulsive force according to the repulsive potential energy field between the drone and the traversable obstacle and the distance gradient between the drone and the traversable obstacle;
[0194] It should be noted that for a surmountable obstacle, the repulsive force exerted on UAV m by the surmountable obstacle (the surmountable repulsive force exerted on the UAV m) can be expressed as:
[0195] ;
[0196] in, is the surmountable repulsion of the mth UAV in the tth time slot, which indicates the surmountable repulsion of UAV m for the surmountable obstacle; is the gradient of the distance between the UAV and the traversable obstacle, which represents the gradient of the distance between the UAV m and the traversable obstacle at time slot t; The position data of the obstacle that can be crossed; The distance threshold for the drone to cross obstacles; is the distance between the UAV and the surmountable obstacle, which represents the distance between the UAV m and the surmountable obstacle at time slot t; is the interaction strength between the UAV and the surmountable obstacle; J is the sequence number of the surmountable obstacle.
[0197] It is worth mentioning that when the distance between the UAV and the traversable obstacle is greater than this threshold When , the repulsive potential energy field between the UAV and the traversable obstacle is not calculated, otherwise it is calculated.
[0198] Step S311, adding the repulsive potential energy field between the drone and the non-crossable obstacle and the repulsive potential energy field between the drone and the crossable obstacle to determine the comprehensive obstacle repulsive potential energy field;
[0199] It should be noted that the comprehensive repulsive potential energy field of the obstacle (comprehensive obstacle repulsive potential energy field) can be expressed as:
[0200] ;
[0201] in, is the comprehensive obstacle repulsion potential energy field of the mth UAV in time slot t; is the repulsive potential energy field between the mth UAV and the traversable obstacle in time slot t; is the repulsive potential energy field between the mth UAV and the insurmountable obstacle in time slot t.
[0202] Step S312: determining the repulsive potential energy field between the drones based on the drone coordinate data;
[0203] It should be noted that the repulsive potential energy field function between UAVm and UAVk, that is, the repulsive potential energy field between UAVs, can be expressed as:
[0204] ;
[0205] in, is the repulsive potential energy field between the mth UAV and the kth UAV in time slot t, which represents the repulsive potential energy field between UAVs; is the interaction strength between UAV m and UAV k; is the threshold for calculating the repulsive potential energy field between drones; M is the total number of drones; is the drone coordinate data of the mth drone in time slot t; is the coordinate data of the kth UAV in time slot t; is the distance between the mth UAV and the kth UAV in time slot t, which represents the distance between UAVs.
[0206] It is worth mentioning that when the distance between UAVs is less than or equal to , it is necessary to calculate the repulsive potential energy between UAVs m and k, otherwise it is not necessary.
[0207] Step S313, determining the repulsive force between the drones according to the repulsive potential energy field between the drones and the drone coordinate data;
[0208] It should be noted that the repulsive force between UAV m and UAV k is expressed as:
[0209] ;
[0210] in, is the repulsive force between the mth UAV and the kth UAV in time slot t, which represents the repulsive force between UAVs; is the distance gradient between the mth UAV and the kth UAV, which represents the gradient of the distance between UAVs; is the repulsive potential energy field between the mth UAV and the kth UAV in time slot t, which represents the repulsive potential energy field between UAVs; is the interaction strength between UAV m and UAV k; is the threshold for calculating the repulsive potential energy field between drones; M is the total number of drones; is the drone coordinate data of the mth drone in time slot t; is the coordinate data of the kth UAV in time slot t; is the distance between the mth UAV and the kth UAV in time slot t, which represents the distance between UAVs.
[0211] Step S314: Determine the repulsive acceleration of the drones according to the repulsive force between the drones, the uncrossable repulsive force on the drones, and the crossable repulsive force on the drones.
[0212] It should be noted that the sum of the repulsive forces on obstacles can be expressed as:
[0213] ;
[0214] in, is the sum of the crossable repulsion and the non-crossable repulsion of the mth UAV in the t time slot; The mth UAV in the t time slot is subject to the crossable repulsion force; The mth UAV in the t time slot is subject to an insurmountable repulsive force.
[0215] Furthermore, the combined repulsive force (comprehensive repulsive force) of the repulsive field on UAV m is expressed as:
[0216] ;
[0217] in, is the comprehensive repulsive force on the mth UAV in time slot t; is the repulsive force between the mth UAV and the kth UAV in time slot t, which represents the repulsive force between UAVs; is the sum of the crossable repulsion and the non-crossable repulsion exerted on the mth UAV in the t time slot.
[0218] Furthermore, the repulsive acceleration of UAV m can be expressed as:
[0219] ;
[0220] in, is the repulsive acceleration of the mth UAV in time slot t; is the mass of the mth UAV; is the comprehensive repulsive force on the mth UAV in time slot t.
[0221] Step 104: Based on the preset offloading decision, determine the task offloading data, and use the drone altitude in the drone coordinate data, the user drone calculation frequency, the task offloading data, the user drone task delay, the user drone task energy consumption and the drone physical quantity data to construct a joint objective function.
[0222] It should be noted that, since the present invention considers that the user can offload the task to the UAV or perform local computing in this model, the user's preset offloading decision is used Indicates that The user chooses to perform local computation on the task in time slot t. The time consumed by local computation can be expressed as Indicates that when It means that the user offloads the task to the UAV. The UAV number unloaded in time slot t is represented by The value determines that when the task is offloaded to the UAV, The possible values of , when the user chooses to offload the task to the corresponding UAV for calculation in time slot t. It cannot well represent the user's offloading decision in the t time slot. Therefore, the present invention introduces an indicator function to distinguish whether the calculation is performed locally or offloaded to the UAV in the user's time slot, namely:
[0223] ;
[0224] in, Offload data for the mth UAV’s mission in time slot t; is the indicator function.
[0225] Furthermore, the process of constructing a joint objective function using the drone altitude in the drone coordinate data, the user drone calculation frequency, the task offloading data, the user drone task delay, the user drone task energy consumption and the drone physical quantity data can be achieved by executing the following steps S41 to S42:
[0226] Step S41, determining the system delay and system energy consumption according to the task offloading data, the user computing task delay, the drone transmission task delay, the drone computing task delay and the user drone task energy consumption;
[0227] It should be noted that the time required to execute the task generated by user n in time slot t can be expressed as:
[0228] ;
[0229] in, The time required for the task generated by the nth user in the tth time slot to be executed; The user computing task latency for the nth user, which indicates the time consumed by user n's local computing; is the task completion time of the mth UAV, including the UAV transmission task delay and the UAV calculation task delay; Offload data for the mth UAV’s mission in time slot t; is the indicator function.
[0230] Furthermore, the optimization objectives of the present invention are divided into two parts, namely, minimizing the delay of the entire system and minimizing the energy consumption of the system, and finding the optimal solutions to the two problems in a weighted manner; for the delay of the entire system , which can be expressed as:
[0231]
[0232] in, is the system delay in time slot t; is the delay calculated on the mth UAV in the t-time slot task; is the delay calculated on the mth UAV in the t-time slot task, which represents the UAV calculation task delay; The time required for the task generated by the nth user in the tth time slot to be executed; The user computing task latency for the nth user, which indicates the time consumed by user n's local computing; is the task completion time of the mth UAV, including the UAV transmission task delay and the UAV calculation task delay; Offload data for the mth UAV’s mission in time slot t; is the indicator function.
[0233] Furthermore, for the energy consumed by the entire system, that is, the system energy consumption It can be expressed as:
[0234] ;
[0235] in, is the system energy consumption in time slot t; Offload data for the mth UAV’s mission in time slot t; is the indicator function; is the UAV flight energy consumption of the mth UAV in time slot t; is the energy required for the communication of the mth UAV in the tth time slot; The energy consumed by the local calculation of the nth user in time slot t; is the computational energy consumption of the mth UAV in time slot t.
[0236] It is worth mentioning that the joint objective function in time slot t can be expressed as:
[0237] ;
[0238] in, is the joint objective function at time slot t; is the system delay in time slot t; is the system energy consumption in time slot t; is the weight coefficient of system delay; is the weight coefficient of system energy consumption.
[0239] Step S42: construct a joint objective function using the drone altitude, user drone calculation frequency, system delay, system energy consumption and drone physical quantity data in the drone coordinate data.
[0240] It should be noted that the joint objective function can be expressed as:
[0241] ;
[0242] in, is the flight vector of the UAV at time slot t; is the joint objective function in time slot t; T is time; is the weight of system delay; is the system delay in time slot t; is the weight of system energy consumption; is the system energy consumption in time slot t; Calculate the frequency for the nth user in time slot t; Calculate the frequency for the maximum user of the nth user in the tth time slot; Calculate the frequency of the drone for the mth drone in time slot t; Calculate the maximum UAV frequency for the mth UAV in time slot t; is the minimum UAV flight speed; is the flight speed of the mth UAV in time slot t; is the maximum UAV flight speed; is the repulsive acceleration of the mth UAV in time slot t; is the maximum UAV repulsive acceleration of the mth UAV in time slot t; is the comprehensive obstacle repulsion potential energy field of the mth UAV in time slot t; is the drone coordinate data of the mth drone in time slot t; is the maximum comprehensive obstacle repulsive potential energy field; is the repulsive potential energy field between the mth UAV and the kth UAV in time slot t, which represents the repulsive potential energy field between UAVs; is the coordinate data of the kth UAV in time slot t; is the repulsive potential energy field between the largest UAVs; is the minimum drone altitude; is the altitude of the mth UAV at time slot t; is the maximum drone altitude; is the indicator function; Offload data for the task of the mth UAV in time slot t; N is the total number of users; M is the total number of UAVs.
[0243] Step 105: transform the joint objective function to determine the UAV trajectory Markov decision process model and the user uninstall decision Markov decision process model.
[0244] It should be noted that since the optimization objectives and problems are relatively complex and difficult to solve, and the decision variables are coupled, the present invention first transforms the original problem into two sub-problems (the first sub-problem and the second sub-problem) to optimize and solve them separately, respectively optimizing the trajectory of the UAV and solving the optimal unloading decision of the user group.
[0245] The first sub-problem involves optimizing the trajectory of the UAV:
[0246] ;
[0247] in, is the UAV flight energy consumption of the UAV in time slot t; is the flight vector of the UAV at time slot t; is the flight speed of the mth UAV in time slot t; is the maximum UAV flight speed; is the repulsive acceleration of the mth UAV in time slot t; is the maximum UAV repulsive acceleration of the mth UAV in time slot t; is the comprehensive obstacle repulsion potential energy field of the mth UAV in time slot t; is the drone coordinate data of the mth drone in time slot t; is the maximum comprehensive obstacle repulsive potential energy field; is the repulsive potential energy field between the mth UAV and the kth UAV in time slot t, which represents the repulsive potential energy field between UAVs; is the coordinate data of the kth UAV in time slot t; is the repulsive potential energy field between the largest UAVs; is the minimum drone altitude; is the altitude of the mth UAV at time slot t; is the maximum drone altitude.
[0248] Furthermore, the second sub-problem is to optimize the user's uninstall decision:
[0249] ;
[0250] in, is the computational latency of the computational task; is the computational energy consumption of the computational task; is the total delay of the system; is the total energy consumption of the system; Calculate the frequency for the nth user in time slot t; Calculate the frequency for the maximum user of the nth user in the tth time slot; Calculate the frequency of the drone for the mth drone in time slot t; Calculate the maximum UAV frequency for the mth UAV in time slot t.
[0251] Furthermore, since the computational offloading and trajectory planning problems in the above problems are MINLP problems and the decision variables are coupled, it is difficult to solve them using conventional methods. Therefore, using DRL (Deep-Reinforcement-Learning) to optimize the long-term performance of the system is a better solution.
[0252] See also Figure 3 For these two optimization sub-problems, the optimization objects, i.e., users and UAVs, are heterogeneous. Therefore, the present invention designs two types of agents, namely, users and UAVs. The state space (State) and action space (Action) of each type of agent are designed according to their own optimization goals to optimize the user's unloading decision and the UAV's flight trajectory. This method not only helps the UAV to avoid obstacles in a three-dimensional complex environment, and through continuous interaction with the environment, enables the UAV to learn a better line-of-sight service path for users, but also helps users to make optimal unloading decisions for computing tasks of different data sizes. Considering that there is also a cooperative and competitive relationship between agents of the same type, the use of the MADDPG algorithm is more helpful in solving the problem. In addition, the present invention has made corresponding improvements to the MADDPG algorithm to help better solve the problem raised in this article; wherein, Figure 3 This is a structural diagram of the algorithm used in the present invention. The algorithm concept of the present invention follows the idea of multi-agent in MADDPG, and improves the algorithm based on the problems raised by the present invention.
[0253] Further, generally speaking, the MDP model contains four basic elements: state, behavior, state transition probability and reward. In the present invention, since the user and the UAV can only obtain knowledge about the state of the environment and there is no prior knowledge, the state transition probability is unknown. The following is the MDP process modeling for heterogeneous agents (User, UAV).
[0254] For the solution of the first sub-problem, it is converted into a UAV trajectory Markov decision process model, which can be specifically represented by a triple:
[0255] ;
[0256] in, is the state set of all user agents; is the action set of all user agents; is the reward value of user agent n; N is the total number of users.
[0257] Furthermore, based on the first sub-problem, the observation value of user n in time slot t contains the relevant parameters of its task and calculation frequency, that is, the state set of each user agent, which can be expressed as ,in, represents the data size of the task generated by user n in time slot t, It represents the size of the local calculation frequency of the user in the t time slot. For the UAV in the environment, represents the transmission rate between user n and UAVm, It represents the frequency calculated in time slot t for UAV m in the environment.
[0258] Furthermore, for each user agent’s action, based on the user’s current task , the unloading decision at time slot t is the user's current action, i.e. For users The value range is ,in, It represents the user's local computing. It represents that the user offloads the computation to UAVm in time slot t.
[0259] Furthermore, since the user's action is discrete, but the MADDPG algorithm is applicable to solving continuous variables, the present invention chooses to map the continuous action value output by the neural network to a discrete space, specifically:
[0260]
[0261] in, Offloading decisions made for the network.
[0262] Furthermore, for user n, the immediate reward after taking action on the computing task within time slot t can be expressed by the following formula:
[0263] ;
[0264] in, is the reward value of user agent n in time slot t; Offload data for the mth UAV’s mission in time slot t; is the indicator function; is the delay calculated on the mth UAV in the t-time slot task; is the delay calculated on the mth UAV in the t-time slot task, which represents the UAV calculation task delay; The user computing task latency for the nth user, which indicates the time consumed by user n's local computing; is the penalty corresponding to the first subproblem.
[0265] For user n, the penalty term is calculated by the amount of data remaining in time slot t:
[0266] ;
[0267] Among them, penalty n is the penalty corresponding to the first sub-problem; Offload data for the mth UAV’s mission in time slot t; Calculate the frequency for the nth user in time slot t; is the data size of the task generated by the nth user in the tth time slot; is the transmission rate between the mth UAV and the nth user in time slot t; Calculate the frequency of the drone for the mth drone in time slot t.
[0268] Furthermore, the solution to the second sub-problem is also transformed into a user uninstallation decision Markov decision process model, which can be specifically represented by a triple:
[0269] ;
[0270] in, is the state set of all UAV agents; is the action set of all drone agents; is the reward value of drone agent m; M is the total number of drones.
[0271] Furthermore, based on the second sub-problem, for the agent UAVm, its observations in time slot t include the UAV position, velocity, potential field value, the number of users with line-of-sight transmission, the location of the nearest obstacle, and the location of the nearest user group, that is, .
[0272] Furthermore, in the present invention, the motion of the UAV is determined by the acceleration of the UAV in the time slot t, the flight angle between the horizontal plane where the UAV is located and the x-axis direction Changes in flight vector Angle with gravity The change composition is .
[0273] Furthermore, in order to achieve the goal of finding a better line-of-sight service user position for the UAV in a complex environment and avoiding obstacles during flight, and to solve the reward sparseness problem that the UAV may encounter when a single reward signal (simple collision detection or whether it reaches a done state) interacts with a complex environment, the design of the UAV reward function in the present invention draws on the idea of the artificial potential field algorithm to design a reward function, and for the purpose of providing better line-of-sight service to users by the UAV, the number of users with line-of-sight transmission in the UAV time slot t is taken as part of the reward design.
[0274] For UAV m, the immediate reward after completing the computation task within time slot t can be expressed as follows:
[0275] ;
[0276] in, is the reward value of the mth drone in time slot t; is the UAV flight energy consumption of the UAV in time slot t; is the weighted coefficient of the reward for the drone’s line-of-sight service quality at this time; Rewards for users who provide drone line-of-sight services in time slot t; is the penalty corresponding to the second sub-problem.
[0277] Furthermore, since the purpose of this model is to enable the UAV to provide better line-of-sight services to users in the environment through the UAV's 3D path planning, when designing the reward function for the UAV, the reward for the UAV's line-of-sight service to users at this time is added, namely:
[0278] ;
[0279] in, Rewards for users who provide drone line-of-sight services in time slot t; is the reward constant of the drone in the xy plane direction; It is the positive constant of the drone's reward in the z-axis direction; is the angle between UAV m and the horizontal plane of the nearest user group; is the angle between drone m and the nearest user group horizontal plane and the yaw angle of drone m When the difference is greater than This means that drone m is moving away from the nearest user; is the angle between drone m and the nearest user group in the Z-axis direction, is the angle between drone m and the nearest user group in the Z-axis direction and the pitch angle of drone m The smaller the difference, the higher the reward obtained by the UAV, taking into account the impact of the action in the z-axis direction.
[0280] It is worth mentioning that the present invention uses As the denominator, the reward values in the two directions are normalized to ensure that they are compared on the same scale. Such a reward design can ensure that UAV m can obtain the reward for the quality of the user service at the current line of sight based on the position relationship no matter where it is in the environment, avoiding the problem of sparse rewards.
[0281] Furthermore, for The calculation formula is:
[0282] ;
[0283] in, is the penalty corresponding to the second sub-problem; is the comprehensive obstacle repulsion potential energy field of the mth UAV in time slot t; is the penalty weight for the obstacle potential field; is the penalty weight of the potential energy field between UAVs; is the penalty weight for UAV speed exceeding the limit; The penalty weight for UAV exceeding the altitude limit.
[0284] It is worth mentioning that as well as represents the potential energy field value between UAV m and obstacles in the environment and the potential energy field value between UAV m and UAV k (k≠m) at time slot t. That is, the smaller the distance between UAV m and obstacles and other UAVs, the greater the penalty given to UAV m. as well as It indicates whether the potential energy field value between obstacles and different UAVs exceeds the threshold. ,on the contrary , Same reason.
[0285] Furthermore, the potential field penalty item introduced in the present invention is different from the traditional penalty for whether a collision occurs. When there is an obstacle within the sensor range of the UAV, the potential field penalty item will continue to penalize the UAV. The present invention not only solves the problem of sparse rewards, but also can make the UAV's flight strategy for different types of obstacles not only determined by the distance to the obstacle, but also give different tolerance levels for different types of obstacles, so that the UAV can find the optimal flight strategy for passing different types of obstacles, and can avoid collisions between UAVs that may be encountered during flight.
[0286] In addition, the penalty A binary variable indicating whether the speed exceeds the limit, Indicates that the speed exceeds the speed constraint limit, otherwise ,for Similarly, if the UAV flight altitude limit is exceeded, a corresponding penalty will be imposed.
[0287] Step 106: Use a multi-agent deep reinforcement learning algorithm to optimize and solve the drone trajectory Markov decision process model and the user uninstall decision Markov decision process model respectively, and generate a target drone trajectory flight strategy and a target user uninstall decision strategy.
[0288] It should be noted that based on the two Markov decision process models established above, the multi-agent deep reinforcement learning algorithm can be used to solve the optimal solution, thereby obtaining the target drone trajectory flight strategy and the target user unloading decision strategy.
[0289] As a comparison of technical effects, we can refer to existing technologies. Using drones as edge computing servers has many advantages. First, drones can establish shorter line-of-sight (LoS) links, thereby improving link quality. Second, current research on multi-drone systems focuses more on motion control, but there is still a lot of room for development in communication optimization. The system in this paper focuses on improving user transmission quality. By reasonably planning the flight trajectory of the drone, we try to ensure that the communication between the user and the drone is in line-of-sight, thereby effectively improving the communication rate.
[0290] However, due to the complexity of the operating environment, the unpredictability of terminal device distribution, and the impact of energy consumption and service latency during UAV flight, the deployment of UAVs in mobile edge computing (MEC) faces huge challenges. Using UAVs as MEC servers requires reasonable and efficient path planning to address these challenges. During the path planning process, UAVs will inevitably encounter obstacles. In order to avoid collisions when seeking the optimal line-of-sight path, this paper introduces an artificial potential field (APF) to constrain the path planning of UAVs.
[0291] In recent years, artificial potential fields have become an important tool for solving UAV trajectory planning problems due to their simple principles and efficient computing performance. APF is based on the concept of potential fields in the physical world, treating the target position as a source of gravity and obstacles as a source of repulsive force. The UAV flies in this virtual potential field and moves along the direction of the resultant force, thereby planning a path that avoids obstacles and approaches the target. This paper uses artificial potential fields as UAV obstacle avoidance constraints, providing a new solution for the three-dimensional trajectory optimization system of UAV-assisted edge computing.
[0292] In addition, in edge computing scenarios, user terminal devices will generate a large number of computing tasks, some of which may need to be offloaded to drones or other edge devices to reduce latency while improving computing efficiency. When supporting these computing tasks, drones need to balance the needs of path planning and computing offloading to achieve the best quality of service. However, due to the heterogeneity and synergy in edge computing systems, the trajectory planning of drones and computing offloading decisions are highly coupled. The system not only needs to strike a balance between the two key performance indicators of latency and energy consumption, but also needs to consider the long-term performance of the system.
[0293] Based on the above foundation, the existing technology only considers energy consumption, but does not consider optimizing latency. Latency is also an important consideration for system performance in the field of mobile edge computing. At the same time, the existing technology does not take into account the need to avoid obstacles in complex environments encountered by UAVs in real situations. In addition, the existing technology uses traditional optimization algorithms and does not use the latest artificial intelligence algorithms for solutions.
[0294] In view of the above problems, the present invention proposes an edge computing system drone trajectory and user offloading decision optimization method to improve the overall performance by optimizing the system's latency and energy consumption. The user generates a computing task in each time slot, and makes a reasonable task offloading decision based on the current state. At the same time, the UAV optimizes the three-dimensional trajectory to maintain line-of-sight communication with the user as much as possible, and dynamically adjusts to avoid obstacles in the environment. Through the joint optimization of the UAV and the user, the system minimizes latency and energy consumption.
[0295] Specifically, the present invention comprehensively considers latency and energy consumption, introduces a parameter between latency and energy consumption to adjust two different dimensions, so that changes of the same order of magnitude are produced in the optimization process, and will not be ignored due to the order of magnitude being too small, and uses a multi-agent deep reinforcement learning algorithm to solve the user's unloading decision in the model and the UAV's trajectory optimization problem; at the same time, for the trajectory optimization problem, a potential field model is introduced, combined with deep reinforcement learning, to guide the UAV to learn obstacle avoidance in a complex environment, and improve the possibility of the UAV providing line-of-sight services to users.
[0296] In summary, the present invention takes into account the latency and energy consumption issues under the joint user offloading problem and UAV trajectory problem, and uses a deep reinforcement learning algorithm to optimize the trajectory of the UAV to provide better line-of-sight services to users, and optimizes the user's offloading decision to minimize the target; at the same time, for the UAV in the system, the state and reward value of the UAV are designed through the deep reinforcement learning algorithm, so that the trajectory planning of the UAV is more inclined to find a path with better line-of-sight services to users, and through the design of the reward value, it is ensured that the UAV can obtain the corresponding reward through the position relationship in real time, thereby avoiding the UAV from falling into the problem of sparse line-of-sight service rewards; secondly, for the UAV group, in the process of optimizing the trajectory of line-of-sight services for users, an artificial potential field combined with deep reinforcement learning is used for three-dimensional path planning, and the real-time artificial potential field value of the UAV is used as part of the UAV reward. The introduced potential field penalty term is different from the traditional penalty for whether a collision occurs. When there is an obstacle within the sensor range of the UAV, the potential field penalty item will continue to penalize the UAV, which not only solves the problem of sparse rewards, but also makes the flight strategy of the UAV for different types of obstacles not only determined by the distance to the obstacle through the differences in potential field calculation parameters such as surmountable and insurmountable, and between different UAVs. Different tolerance levels are given to different types of obstacles, so that the UAV can find the optimal flight strategy for passing different types of obstacles, and can also avoid possible collisions between UAVs during flight. In addition, for the joint optimization problem in the system, by designing the UAV group and the user group as heterogeneous multi-agents, the users and UAVs are set as heterogeneous agent categories in the same environment, and the original problem is split into two sub-problems. Through the interaction of the two types of heterogeneous agents in the same environment, the multi-agent-based deep reinforcement learning algorithm is used to solve the optimal weighted delay and energy consumption.
[0297] In an embodiment of the present invention, the present invention provides an edge computing system drone trajectory and user unloading decision optimization method, first, obtain the user drone calculation frequency, user generated task data, user coordinate data, drone motion state data, and drone corresponding obstacle position data; then, determine the user drone task delay according to the user drone calculation frequency, user generated task data, motion state data, and user coordinate data, and determine the user drone task energy consumption based on the user drone task delay and the user drone calculation frequency; determine the drone physical quantity data according to the motion state data and obstacle position data; determine the task unloading data based on the preset unloading decision, and use the drone height in the drone coordinate data, the user drone calculation frequency, the task unloading data, the user drone task delay, the user drone task energy consumption, and the drone physical quantity data to construct a joint objective function; transform the joint objective function to determine the drone trajectory Markov decision process model and the user unloading decision Markov decision process model; finally, use The multi-agent deep reinforcement learning algorithm optimizes and solves the drone trajectory Markov decision process model and the user unloading decision Markov decision process model respectively, and generates the target drone trajectory flight strategy and the target user unloading decision strategy; based on the above scheme, the acquired user drone calculation frequency, user generated task data, user coordinate data, drone motion state data, and drone corresponding obstacle position data are processed to obtain the user drone task delay and user drone task energy consumption, and then combined with the preset unloading decision and drone physical quantity data to obtain the drone trajectory Markov decision process model and the user unloading decision Markov decision process model, and the model is solved by the multi-agent deep reinforcement learning algorithm to generate the target drone trajectory flight strategy and the target user unloading decision strategy. The process can optimize the drone trajectory to serve the user with better line of sight, and optimize the user's unloading decision to minimize the target, thereby minimizing the delay and energy consumption of the edge computing system, thereby improving the overall performance of the edge computing system.
[0298] See also Figure 4 , Figure 4 A structural block diagram of a device for optimizing drone trajectory and user unloading decision in an edge computing system provided in Embodiment 2 of the present invention.
[0299] The present invention provides an edge computing system drone trajectory and user unloading decision optimization device, comprising:
[0300] Acquisition module 401, used to acquire the user's drone calculation frequency, user-generated task data, user coordinate data, drone motion state data, and obstacle position data corresponding to the drone;
[0301] The delay energy consumption module 402 is used to determine the user drone task delay according to the user drone calculation frequency, the user generated task data, the motion state data, and the user coordinate data, and determine the user drone task energy consumption based on the user drone task delay and the user drone calculation frequency;
[0302] The physical quantity module 403 is used to determine the physical quantity data of the drone according to the motion state data and the obstacle position data;
[0303] A construction module 404 is used to determine the task offloading data based on the preset offloading decision, and use the drone altitude in the drone coordinate data, the user drone calculation frequency, the task offloading data, the user drone task delay, the user drone task energy consumption and the drone physical quantity data to construct a joint objective function;
[0304] A conversion module 405 is used to convert the joint objective function to determine the UAV trajectory Markov decision process model and the user unloading decision Markov decision process model;
[0305] The solution module 406 is used to optimize and solve the drone trajectory Markov decision process model and the user uninstall decision Markov decision process model respectively using a multi-agent deep reinforcement learning algorithm to generate a target drone trajectory flight strategy and a target user uninstall decision strategy.
[0306] Further, the user drone calculation frequency includes the user calculation frequency and the drone calculation frequency; the motion state data includes the drone coordinate data and the drone angle data; the user drone task delay includes the user calculation task delay, the drone transmission task delay and the drone calculation task delay; the delay energy consumption module 402 includes:
[0307] The first submodule is used to determine the user drone transmission rate based on the user coordinate data, the drone coordinate data, and the drone angle data;
[0308] The second submodule is used to determine the UAV transmission task delay based on the user UAV transmission rate and the user generated task data;
[0309] The third submodule is used to determine the user computing task delay according to the user generated task data and the user computing frequency;
[0310] The fourth submodule is used to determine the drone computing task delay based on the drone transmission task delay, the drone computing frequency, and the user-generated task data.
[0311] The first submodule is specifically used for:
[0312] The user coordinate data, the drone coordinate data and the drone angle data are used to calculate the horizontal distance between the user and the drone;
[0313] Determine the distance between the user and the drone based on the horizontal distance between the user and the drone and the drone height in the drone coordinate data;
[0314] Determine the relative position vector between the user and the drone based on the user coordinate data and the drone coordinate data;
[0315] Based on the relative position vector between the user and the drone, determine the communication status type data between the drone and the user;
[0316] Determine the communication path loss between the user and the drone based on the distance between the user and the drone;
[0317] The preset Shannon formula is used to determine the user-UAV transmission rate based on the communication path loss between the user and the UAV.
[0318] The motion state data also includes the flight speed of the drone and the acceleration of the drone; the obstacle position data includes the position data of the surmountable obstacles and the position data of the insurmountable obstacles; the physical quantity data of the drone includes the flight energy consumption of the drone, the repulsive acceleration of the drone, the flight vector of the drone, the repulsive potential energy field of the comprehensive obstacle and the repulsive potential energy field between the drones; the physical quantity module 403 is specifically used for:
[0319] Determine the UAV flight vector based on the UAV coordinate data, the UAV angle data and the UAV acceleration;
[0320] Determine the UAV flight energy consumption based on the UAV flight speed;
[0321] Determine the distance between the drone and the insurmountable obstacle based on the drone coordinate data and the insurmountable obstacle location data;
[0322] Determine the distance gradient between the UAV and the insurmountable obstacle based on the distance between the UAV and the insurmountable obstacle, the coordinate data of the UAV and the position data of the insurmountable obstacle;
[0323] Based on the distance between the UAV and the insurmountable obstacle, the repulsive potential energy field between the UAV and the insurmountable obstacle is determined;
[0324] According to the repulsive potential energy field between the UAV and the insurmountable obstacle and the distance gradient between the UAV and the insurmountable obstacle, it is determined that the UAV is subjected to the insurmountable repulsive force;
[0325] Based on the coordinate data of the UAV and the position data of the surmountable obstacle, determine the distance between the UAV and the surmountable obstacle;
[0326] Determine the distance gradient between the UAV and the traversable obstacle based on the distance between the UAV and the traversable obstacle, the coordinate data of the UAV and the position data of the traversable obstacle;
[0327] According to the distance between the UAV and the traversable obstacle, the repulsive potential energy field between the UAV and the traversable obstacle is determined;
[0328] According to the repulsive potential energy field between the UAV and the traversable obstacle and the distance gradient between the UAV and the traversable obstacle, it is determined that the UAV is subjected to the traversable repulsive force;
[0329] The repulsive potential energy field between the UAV and the non-crossable obstacle and the repulsive potential energy field between the UAV and the crossable obstacle are added to determine the comprehensive obstacle repulsive potential energy field;
[0330] Based on the coordinate data of the drones, determine the repulsive potential energy field between the drones;
[0331] Determine the repulsive force between the UAVs according to the repulsive potential energy field between the UAVs and the coordinate data of the UAVs;
[0332] The repulsive acceleration of the drones is determined based on the repulsive force between the drones, the insurmountable repulsive force on the drones, and the surmountable repulsive force on the drones.
[0333] Further, the construction module 404 is specifically used for:
[0334] Determine the system latency and system energy consumption based on task offloading data, user computing task latency, drone transmission task latency, drone computing task latency, and user drone task energy consumption;
[0335] The joint objective function is constructed using the drone altitude, user drone calculation frequency, system delay, system energy consumption and drone physical quantity data in the drone coordinate data.
[0336] Furthermore, the joint objective function is specifically:
[0337] ;
[0338] in, is the flight vector of the UAV at time slot t; is the joint objective function in time slot t; T is time; is the weight of system delay; is the system delay in time slot t; is the weight of system energy consumption; is the system energy consumption in time slot t; Calculate the frequency for the nth user in time slot t; Calculate the frequency for the maximum user of the nth user in the tth time slot; Calculate the frequency of the drone for the mth drone in time slot t; Calculate the maximum UAV frequency for the mth UAV in time slot t; is the minimum UAV flight speed; is the flight speed of the mth UAV in time slot t; is the maximum UAV flight speed; is the repulsive acceleration of the mth UAV in time slot t; is the maximum UAV repulsive acceleration of the mth UAV in time slot t; is the comprehensive obstacle repulsion potential energy field of the mth UAV in time slot t; is the drone coordinate data of the mth drone in time slot t; is the maximum comprehensive obstacle repulsive potential energy field; is the repulsive potential energy field between the mth UAV and the kth UAV in time slot t, which represents the repulsive potential energy field between UAVs; is the coordinate data of the kth UAV in time slot t; is the repulsive potential energy field between the largest UAVs; is the minimum drone altitude; is the altitude of the mth UAV at time slot t; is the maximum drone altitude; is the indicator function; Offload data for the task of the mth UAV in time slot t; N is the total number of users; M is the total number of UAVs.
[0339] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, modules and sub-modules can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0340] An embodiment of the present invention also provides a computer device, including a memory and a processor, wherein a computer program is stored in the memory; when the computer program is executed by the processor, the processor executes the steps of the edge computing system drone trajectory and user unloading decision optimization method as in any of the above embodiments.
[0341] An embodiment of the present invention also provides a computer-readable storage medium having a computer program / instruction stored thereon. When the computer program / instruction is executed by a processor, the steps of the edge computing system drone trajectory and user unloading decision optimization method as in any of the above embodiments are implemented.
[0342] An embodiment of the present invention also provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the edge computing system drone trajectory and user unloading decision optimization method as in any of the above embodiments.
[0343] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0344] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0345] As described above, the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features thereof may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for optimizing drone trajectory and user unloading decision in an edge computing system, characterized in that: include: Obtain the user's drone calculation frequency, user-generated task data, user coordinate data, drone motion state data, and obstacle position data corresponding to the drone; Determine the user drone task delay according to the user drone calculation frequency, the user generated task data, the motion state data, and the user coordinate data, and determine the user drone task energy consumption based on the user drone task delay and the user drone calculation frequency; Determining physical quantity data of the drone according to the motion state data and the obstacle position data; Based on the preset offloading decision, the task offloading data is determined, and the UAV height in the UAV coordinate data, the user UAV calculation frequency, the task offloading data, the user UAV task delay, the user UAV task energy consumption and the UAV physical quantity data are used to construct a joint objective function; Transforming the joint objective function to determine a UAV trajectory Markov decision process model and a user uninstallation decision Markov decision process model; A multi-agent deep reinforcement learning algorithm is used to optimize and solve the UAV trajectory Markov decision process model and the user uninstall decision Markov decision process model respectively, and generate a target UAV trajectory flight strategy and a target user uninstall decision strategy.
2. The edge computing system drone trajectory and user unloading decision optimization method according to claim 1 is characterized in that: The user drone calculation frequency includes user calculation frequency and drone calculation frequency; the motion state data includes drone coordinate data and drone angle data; the user drone task delay includes user calculation task delay, drone transmission task delay and drone calculation task delay; The determining the user drone task delay according to the user drone calculation frequency, the user generated task data, the motion state data, and the user coordinate data includes: Determine the user drone transmission rate according to the user coordinate data, drone coordinate data, and drone angle data; Determining the UAV transmission task delay based on the user UAV transmission rate and the user generated task data; Determining a user computing task delay according to the user generated task data and the user computing frequency; The drone computing task delay is determined based on the drone transmission task delay, the drone computing frequency, and the user generated task data.
3. The edge computing system drone trajectory and user unloading decision optimization method according to claim 2 is characterized in that: The determining the user drone transmission rate according to the user coordinate data, the drone coordinate data, and the drone angle data includes: Calculate the horizontal distance between the user and the drone using the user coordinate data, the drone coordinate data and the drone angle data; Determine the distance between the user and the drone according to the horizontal position distance between the user and the drone and the height of the drone in the drone coordinate data; Determine a relative position vector between the user and the drone according to the user coordinate data and the drone coordinate data; Determining communication status type data between the drone and the user based on the relative position vector between the user and the drone; Determine the communication path loss between the user and the drone based on the distance between the user and the drone; The preset Shannon formula is used to determine the user drone transmission rate according to the communication path loss between the user and the drone.
4. The edge computing system drone trajectory and user unloading decision optimization method according to claim 2 is characterized in that: The motion state data also includes the flight speed of the drone and the acceleration of the drone; the obstacle position data includes the position data of obstacles that can be crossed and the position data of obstacles that cannot be crossed; the physical quantity data of the drone includes the flight energy consumption of the drone, the repulsive acceleration of the drone, the flight vector of the drone, the repulsive potential energy field of the comprehensive obstacle and the repulsive potential energy field between the drones; the physical quantity data of the drone is determined according to the motion state data and the obstacle position data, including: Determine a UAV flight vector according to the UAV coordinate data, the UAV angle data and the UAV acceleration; Determine the UAV flight energy consumption based on the UAV flight speed; Determine the distance between the drone and the insurmountable obstacle according to the drone coordinate data and the insurmountable obstacle position data; Determine a distance gradient between the drone and the insurmountable obstacle based on the distance between the drone and the insurmountable obstacle, the drone coordinate data, and the insurmountable obstacle position data; Determining a repulsive potential energy field between the drone and the insurmountable obstacle based on a distance between the drone and the insurmountable obstacle; Determining that the drone is subjected to an insurmountable repulsive force according to a repulsive potential energy field between the drone and the insurmountable obstacle and a distance gradient between the drone and the insurmountable obstacle; Determine the distance between the drone and the traversable obstacle based on the drone coordinate data and the traversable obstacle position data; Determine a distance gradient between the drone and the traversable obstacle based on the distance between the drone and the traversable obstacle, the drone coordinate data, and the traversable obstacle position data; Determining a repulsive potential energy field between the drone and the traversable obstacle according to the distance between the drone and the traversable obstacle; Determining that the drone is subjected to a traversable repulsive force according to a repulsive potential energy field between the drone and the traversable obstacle and a distance gradient between the drone and the traversable obstacle; Adding the repulsive potential energy field between the UAV and the non-crossable obstacle and the repulsive potential energy field between the UAV and the crossable obstacle to determine a comprehensive obstacle repulsive potential energy field; Determining a repulsive potential energy field between the drones based on the drone coordinate data; Determining the repulsive force between the drones according to the repulsive potential energy field between the drones and the drone coordinate data; The repulsive acceleration of the drones is determined according to the repulsive force between the drones, the non-crossable repulsive force on the drones, and the crossable repulsive force on the drones.
5. The edge computing system drone trajectory and user unloading decision optimization method according to claim 2 is characterized in that: The method of using the drone height in the drone coordinate data, the user drone calculation frequency, the task offloading data, the user drone task delay, the user drone task energy consumption and the drone physical quantity data to construct a joint objective function includes: Determine the system delay and system energy consumption according to the task offloading data, the user computing task delay, the drone transmission task delay, the drone computing task delay and the user drone task energy consumption; The joint objective function is constructed by using the drone altitude in the drone coordinate data, the user drone calculation frequency, the system delay, the system energy consumption and the drone physical quantity data.
6. The edge computing system drone trajectory and user unloading decision optimization method according to claim 4 is characterized in that: The joint objective function is specifically: ; in, is the flight vector of the UAV at time slot t; is the joint objective function in time slot t; T is time; is the weight of system delay; is the system delay in time slot t; is the weight of system energy consumption; is the system energy consumption in time slot t; Calculate the frequency for the nth user in time slot t; Calculate the frequency for the maximum user of the nth user in the tth time slot; Calculate the frequency of the drone for the mth drone in time slot t; Calculate the maximum UAV frequency for the mth UAV in time slot t; is the minimum UAV flight speed; is the flight speed of the mth UAV in time slot t; is the maximum UAV flight speed; is the repulsive acceleration of the mth UAV in time slot t; is the maximum UAV repulsive acceleration of the mth UAV in time slot t; is the comprehensive obstacle repulsion potential energy field of the mth UAV in time slot t; is the drone coordinate data of the mth drone in time slot t; is the maximum comprehensive obstacle repulsive potential energy field; is the repulsive potential energy field between the mth UAV and the kth UAV in time slot t, which represents the repulsive potential energy field between UAVs; is the coordinate data of the kth UAV in time slot t; is the repulsive potential energy field between the largest UAVs; is the minimum drone altitude; is the altitude of the mth UAV at time slot t; is the maximum drone altitude; is the indicator function; Offload data for the task of the mth UAV in time slot t; N is the total number of users; M is the total number of UAVs.
7. An edge computing system drone trajectory and user unloading decision optimization device, characterized in that: include: An acquisition module is used to acquire the user's drone calculation frequency, the user's generated task data, the user's coordinate data, the drone's motion state data, and the obstacle position data corresponding to the drone; A delay energy consumption module, used to determine the user drone task delay according to the user drone calculation frequency, the user generated task data, the motion state data, and the user coordinate data, and determine the user drone task energy consumption based on the user drone task delay and the user drone calculation frequency; A physical quantity module, used to determine the physical quantity data of the drone according to the motion state data and the obstacle position data; A construction module is used to determine the task offloading data based on the preset offloading decision, and use the drone height in the drone coordinate data, the user drone calculation frequency, the task offloading data, the user drone task delay, the user drone task energy consumption and the drone physical quantity data to construct a joint objective function; A conversion module, used to convert the joint objective function to determine a UAV trajectory Markov decision process model and a user unloading decision Markov decision process model; The solution module is used to optimize and solve the UAV trajectory Markov decision process model and the user uninstall decision Markov decision process model respectively by using a multi-agent deep reinforcement learning algorithm to generate a target UAV trajectory flight strategy and a target user uninstall decision strategy.
8. A computer device, characterized in that: It includes a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the steps of the edge computing system drone trajectory and user unloading decision optimization method as described in any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed, the edge computing system drone trajectory and user unloading decision optimization method as described in any one of claims 1-6 is implemented.
10. A computer program product, characterized in that The computer program product includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions, wherein, when the program instructions are executed by a computer, the computer executes the edge computing system drone trajectory and user unloading decision optimization method as described in any one of claims 1-6.
Citation Information
Patent Citations
Scheduling optimization method and system for unmanned aerial vehicle assisted mobile edge computing
CN114169234A
Edge computing task unloading method based on deep reinforcement learning in ultra-dense network
CN115499441A
Path planning and unloading decision-making method of unmanned aerial vehicle in air corridor in urban transportation scene
CN117891264A
Unmanned aerial vehicle task calculation flight strategy optimization method and system
CN119105532A
Air-ground joint trajectory planning and offloading scheduling method and system for distributed multiple objectives
US11961409B1