CN109445946B - Unmanned aerial vehicle cloud task deployment method and device - Google Patents

Unmanned aerial vehicle cloud task deployment method and device Download PDF

Info

Publication number
CN109445946B
CN109445946B CN201811295781.6A CN201811295781A CN109445946B CN 109445946 B CN109445946 B CN 109445946B CN 201811295781 A CN201811295781 A CN 201811295781A CN 109445946 B CN109445946 B CN 109445946B
Authority
CN
China
Prior art keywords
task
function
unmanned aerial
aerial vehicle
subtask
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811295781.6A
Other languages
Chinese (zh)
Other versions
CN109445946A (en
Inventor
周兴社
王岚
杨刚
姚远
张东妮
闫小成
刘智聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201811295781.6A priority Critical patent/CN109445946B/en
Publication of CN109445946A publication Critical patent/CN109445946A/en
Application granted granted Critical
Publication of CN109445946B publication Critical patent/CN109445946B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Forklifts And Lifting Vehicles (AREA)

Abstract

The invention provides a method and a device for deploying a cloud task of an unmanned aerial vehicle, wherein the method comprises the following steps: dividing the whole task of the specific application into different subtasks according to the difference of functions, wherein each subtask corresponds to at least one executable program; constructing a task execution flow chart according to the data flow relation among the subtasks, and converting the task execution flow chart into a directed acyclic graph; after the objective function and the constraint function are determined according to the specific application, a division result of the directed acyclic graph is obtained by solving the objective function, and the division result is used for indicating the deployment position of each subtask when executed. The invention effectively solves the problem that the overall task of the specific application is reasonably deployed between the unmanned aerial vehicle end and the cloud platform end so that the system performance is optimal, and in the task execution process, the task execution position can be adaptively adjusted according to the state change of the unmanned aerial vehicle, so that the system performance is improved.

Description

Unmanned aerial vehicle cloud task deployment method and device
Technical Field
The invention relates to the technical field of cloud platform task deployment, in particular to a method and a device for deploying a cloud task of an unmanned aerial vehicle.
Background
The unmanned aerial vehicle has the characteristics of miniaturization, rapid take-off and landing, no airborne personnel and the like, and is rapidly developed and applied in large-area coverage and real-time data acquisition application. However, the unmanned aerial vehicle has limited computing and storage capacity, so that the resource expansion of the unmanned aerial vehicle needs to be performed by using a cloud platform. After the cloud platform is introduced, how to reasonably deploy tasks between the unmanned aerial vehicle end and the cloud platform makes the system performance optimal become a new research problem, especially in unmanned aerial vehicle cluster application.
At present, relatively few researches are made on deployment strategies of unmanned aerial vehicle tasks, and the tasks are completely deployed on a cloud platform or an unmanned aerial vehicle is obviously not an optimal strategy, so that the existing deployment method deploys according to human experience, some algorithms with complex computation and low real-time performance are deployed on the cloud platform, and algorithms with high real-time performance and related to hardware are deployed on the unmanned aerial vehicle. However, this method of deployment requires highly experienced personnel in the particular field, which are generally few and therefore relatively difficult to implement; and even if the deployment is performed by people with abundant experience, the deployment strategy is difficult to achieve the optimal strategy due to the limits of experience and subjective factors.
Disclosure of Invention
The embodiment of the invention provides a method and a device for deploying a cloud task of an unmanned aerial vehicle, and aims to solve the problem that in the prior art, the unmanned aerial vehicle task is reasonably deployed between an unmanned aerial vehicle end and a cloud platform, so that the system performance is optimal.
In a first aspect, an embodiment of the present invention provides an unmanned aerial vehicle cloud task deployment method, including:
dividing the whole task of the specific application into different subtasks according to different functions, wherein each subtask corresponds to at least one executable program; wherein the executable programs are deployed on the unmanned aerial vehicle and the cloud platform respectively;
constructing a task execution flow chart according to the data flow relation among the subtasks, and converting the task execution flow chart into a directed acyclic graph;
after an objective function and a constraint function are determined according to specific application, a partitioning result of the directed acyclic graph is obtained by solving the objective function, and the partitioning result is used for indicating the deployment position of each subtask when executed.
As a preferred aspect of the first aspect of the present invention, the present invention further comprises:
receiving an execution state parameter fed back by each subtask when the current deployment position is executed;
when the execution state parameters are different from the corresponding preset parameters, determining the execution state parameters as the updated preset parameters, and obtaining the division result of the directed acyclic graph by solving the objective function again, wherein the division result is used for indicating the redeployment position of each subtask when being executed.
As a preferred mode of the first aspect of the present invention, the determining the objective function and the constraint function according to a specific application specifically includes:
determining at least one cost function corresponding to a particular application;
and according to the requirement of a specific application, determining one of the cost functions as an objective function, and determining the rest of the cost functions as constraint functions.
As a preferable mode of the first aspect of the present invention, the cost function includes at least a task execution time function, a task execution energy consumption function, and a communication distance function.
As a preferable mode of the first aspect of the present invention, the unmanned aerial vehicle is provided with a virtual mirror image unit on the cloud platform.
In a second aspect, an embodiment of the present invention provides an unmanned aerial vehicle cloud task deployment device, including:
the task dividing unit is used for dividing the whole task of the specific application into different subtasks according to different functions, and each subtask corresponds to at least one executable program; wherein the executable programs are deployed on the drone and the cloud platform, respectively;
the construction conversion unit is used for constructing a task execution flow chart according to the data flow relation among the subtasks and converting the task execution flow chart into a directed acyclic graph;
and the task deployment unit is used for obtaining a division result of the directed acyclic graph by solving the objective function after the objective function and the constraint function are determined according to specific application, and the division result is used for indicating the deployment position of each subtask when executed.
As a preferred aspect of the second aspect of the present invention, the present invention further comprises:
the parameter feedback unit is used for receiving an execution state parameter fed back by each subtask when the current deployment position is executed;
and the redeploying unit is used for determining the execution state parameter as the updated preset parameter when the execution state parameter is different from the corresponding preset parameter, and obtaining a division result of the directed acyclic graph by solving the objective function again, wherein the division result is used for indicating the redeploying position of each subtask when executed.
As a preferred mode of the second aspect of the present invention, the task deployment unit is specifically configured to:
determining at least one cost function corresponding to a particular application;
according to the requirements of specific applications, one of the cost functions is determined as a target function, and the other cost functions are determined as constraint functions.
As a preferable mode of the second aspect of the present invention, the cost function includes at least a task execution time function, a task execution energy consumption function, and a communication distance function.
As a preferable mode of the second aspect of the present invention, the unmanned aerial vehicle is correspondingly provided with a virtual mirror image unit on the cloud platform.
According to the cloud task deployment method and device for the unmanned aerial vehicle, the whole task of the specific application is divided into different subtasks, then the task execution flow chart is constructed according to the data flow relation among the subtasks, then the task execution flow chart is converted into the directed acyclic graph, further, after the objective function and the constraint function are determined according to the specific application, the objective function is solved, the division result of the directed five-ring graph can be obtained, the deployment scheme of the subtasks can be obtained according to the division result, namely, which subtasks are deployed between the unmanned aerial vehicle end and which subtasks are deployed on the cloud platform for execution, and therefore the problem that the whole task of the specific application is reasonably deployed between the unmanned aerial vehicle end and the cloud platform end, and the system performance is optimal is achieved.
The method and the device provided by the embodiment of the invention can be applied to a heterogeneous unmanned aerial vehicle system, are suitable for unmanned aerial vehicles with different computing and storing capacities, and can adaptively adjust the task execution position according to the state change of the unmanned aerial vehicle in the task execution process, thereby improving the system performance.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the description below are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a flowchart of a method for deploying a cloud task of an unmanned aerial vehicle according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a task execution flowchart according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a directed acyclic graph according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of an unmanned aerial vehicle cloud task deployment device according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, an embodiment of the present invention discloses an unmanned aerial vehicle cloud task deployment method, which mainly includes the following steps:
101. dividing the whole task of the specific application into different subtasks according to the difference of functions, wherein each subtask corresponds to at least one executable program; wherein the executable programs are deployed on the unmanned aerial vehicle and the cloud platform respectively;
102. constructing a task execution flow chart according to the data flow relation among the subtasks, and converting the task execution flow chart into a directed acyclic graph;
103. after the objective function and the constraint function are determined according to the specific application, a division result of the directed acyclic graph is obtained by solving the objective function, and the division result is used for indicating the deployment position of each subtask when executed.
In the embodiment of the invention, the front end is a heterogeneous unmanned aerial vehicle node, and the background is a cloud platform formed by computer clusters. The unmanned aerial vehicle is correspondingly provided with the virtual mirror image units on the cloud platform, namely, the unmanned aerial vehicle node at each front end is provided with a corresponding virtual mirror image on the cloud platform, so that the unmanned aerial vehicle and the virtual mirror image units on the cloud platform are abstracted into the same logic unit in the task execution process, and the seamless migration of the tasks between the unmanned aerial vehicle and the cloud platform is facilitated.
In step 101, for a certain specific application of the drone, the overall task of the specific application is divided into different subtasks according to different functions to be implemented, each subtask corresponds to one or more executable programs, and the executable programs can be started through commands or scripts.
After the overall task of a specific application is divided into different subtasks, the executable programs corresponding to the subtasks need to be determined to be started on the unmanned aerial vehicle or the cloud platform, so that the system performance can be optimal.
The executable programs are respectively deployed on the unmanned aerial vehicle and the cloud platform, and after the deployment position of each subtask is determined to enable the system performance to reach the optimal performance, namely after each subtask is determined to be executed on the unmanned aerial vehicle or the cloud platform, the corresponding executable program can be started through commands or scripts.
When any subtask needs to be started, the executable program corresponding to the subtask can be started, and the executable program is not limited by other subtasks.
In step 102, after the overall task of the specific application is divided into different subtasks, a task execution flowchart is constructed according to the data flow relationship between the subtasks, which is specifically shown in fig. 2.
Then, the task execution flowchart constructed as described above is converted into a directed acyclic graph, which is specifically shown in fig. 3. The nodes in fig. 3 represent subtasks, edges between nodes represent data flows between subtasks, and nodes in the same layer can be executed concurrently, and are executed serially by using an arrow in sequence.
In step 103, how to determine the deployment location of each subtask when executed may optimize the system performance, the above directed acyclic graph needs to be solved, so as to obtain a partitioning result indicating the deployment location of each subtask when executed.
Specifically, an objective function and a constraint function are determined according to the specific application of the unmanned aerial vehicle, so that a division result of the directed acyclic graph is obtained by solving the objective function.
In one possible implementation, determining the objective function and the constraint function according to a specific application may be performed as follows:
1031. determining at least one cost function corresponding to a particular application;
1032. according to the requirements of specific applications, one of the cost functions is determined as a target function, and the other cost functions are determined as constraint functions.
For the application of the unmanned aerial vehicle, as the endurance time of most unmanned aerial vehicles is relatively short, the electric quantity of the unmanned aerial vehicle cannot be consumed before the task execution is finished, and the time constraint condition is required to be met in the task execution process. Meanwhile, the unmanned aerial vehicle continuously moves in the process of executing the task and needs to perform real-time data transmission with the cloud platform, so that the communication distance of the unmanned aerial vehicle needs to be considered when the task is deployed. To sum up, the application for the drone generally includes three cost functions, namely: a task execution time function, a task execution energy consumption function, and a communication distance function. After the cost function is determined, the constraint function and the objective function are determined for different applications.
It should be noted that, for a specific application of the unmanned aerial vehicle, a person skilled in the art may also increase or decrease other cost functions according to actual needs, and use them as constraint functions for optimization.
Before determining each cost function, parameters are defined:
Figure BDA0001851151150000071
specifically, the process of determining each cost function is as follows:
(1) Task execution time function
The task execution time consists of two parts, namely unmanned aerial vehicle execution time and cloud platform execution time. When the subtask is executed by the unmanned aerial vehicle, the execution time is determined by the execution time of the executable program corresponding to the subtask; when the subtask is executed on the cloud platform, the execution time is the sum of the computing time, the communication time and the resource establishment time of the subtask on the cloud platform.
Specifically, the task execution time function is as follows:
Figure BDA0001851151150000081
wherein,
T C =T CC +T CS +T CR
T R =T RC
Figure BDA0001851151150000082
/>
Figure BDA0001851151150000083
Figure BDA0001851151150000084
(2) Task execution energy consumption function
The energy consumption of the unmanned aerial vehicle during task execution mainly comes from three aspects: energy consumption for sports, energy consumption for calculation and energy consumption for communication. When the subtask is executed on the unmanned aerial vehicle, the energy consumption of the unmanned aerial vehicle consists of motion energy consumption and calculation energy consumption; when the subtask is executed on the cloud platform, the energy consumption of the unmanned aerial vehicle is composed of motion energy consumption and communication energy consumption.
Specifically, the task execution energy consumption function is as follows:
Figure BDA0001851151150000085
wherein,
E R =P C ·T RC
E C =P CM ·T CR
after determining the objective function according to the requirements of specific application, calculating N
Figure BDA0001851151150000093
To determine the deployment location of the N subtasks.
(3) Function of communication distance
In the process of executing the task, the current position of the unmanned aerial vehicle may change, so that whether the communication distance meets the distance constraint or not when the unmanned aerial vehicle executes the current subtask must be judged.
Only the communication distance function is satisfied: s. the tineed ≤S tiallow Then, communication can be performed.
After the cost function is obtained, a target function and a constraint function need to be determined according to the requirements of different applications. For the application of the unmanned aerial vehicle, two objective functions and corresponding constraint functions are mainly included.
(1) Minimizing task execution time
Find:
Figure BDA0001851151150000091
Wherein Min is T total
S.t.:E total <E allow
Figure BDA0001851151150000092
The deployment scheme of the subtasks is to minimize task execution time, and meanwhile, the execution energy consumption of the unmanned aerial vehicle is less than the total energy consumption which can be provided by the unmanned aerial vehicle, and the distance from the unmanned aerial vehicle to the cloud platform when the unmanned aerial vehicle executes the tasks is less than the maximum communication distance of the unmanned aerial vehicle.
(2) Minimizing unmanned aerial vehicle execution energy consumption
Find:
Figure BDA0001851151150000101
Wherein Min: E total
S.t.:T total <T deadline
Figure BDA0001851151150000102
According to the deployment scheme of the subtasks, the energy consumption of the unmanned aerial vehicle is minimized, the maximum execution time length required by the whole task is met, and the distance from the unmanned aerial vehicle to the cloud platform is smaller than the maximum communication distance of the unmanned aerial vehicle when the unmanned aerial vehicle executes the task.
Calculating N target functions by solving the target functions by adopting a genetic algorithm
Figure BDA0001851151150000104
The partitioning result of the directed acyclic graph is obtained, and therefore the deployment positions of the N subtasks are determined. />
Figure BDA0001851151150000103
The value of (1) can only take 0 or 1,0 represents the execution on the cloud platform, and 1 represents the execution on the unmanned aerial vehicle.
The genetic algorithm is used for solving the objective function, and the specific process can be carried out according to the following steps:
(1) Initializing a population
During initialization, a group of chromosome codes are randomly generated as an initial population, meanwhile, for certain tasks which need to be executed on the unmanned aerial vehicle, the tasks are forcibly distributed to the unmanned aerial vehicle to be executed, and the corresponding vector value is set to be 1.
(2) Cross and variation
And the diversity of the sample is improved through crossing and variation.
(3) Individual fitness evaluation with constraints
When the objective function is the minimum task execution time, the smaller the fitness function value is, the better the individual is. For individuals not meeting the constraint condition, the fitness score is set as the maximum value, and in the selection stage, the probability that the individuals with higher fitness scores are selected is lower, so that the probability of the individuals being inherited to the next generation is reduced.
(4) Selection with elite reservation
Before each generation of population evolves, the individual with the lowest fitness score is retained, thereby increasing the likelihood that a globally optimal solution can be converged. After crossover, mutation and selection are performed in sequence, if the next generation population has no previously saved optimal individuals, the individuals are added into the next generation population, and the individuals with the highest fitness score are eliminated.
(5) Stopping criteria
When the fitness value reaches a certain value and the fixed algebra is not changed any more, the genetic algorithm stops running, and the optimal solution is considered to be found and serves as a task deployment scheme. And if the condition can not be met all the time, stopping evolution iteration when the maximum iteration times are reached, and taking the individual with the lowest fitness score as a task deployment scheme.
After step 103, a step of adaptive task deployment is also included. Each subtask of specific application can self-adaptively adjust the execution position of the subtask according to the state change of the unmanned aerial vehicle in the execution process, thereby improving the overall operation performance.
Specifically, the step of deploying the adaptive task may be performed as follows:
receiving an execution state parameter fed back by each subtask when the current deployment position is executed;
and when the execution state parameters are different from the corresponding preset parameters, determining the execution state parameters as the updated preset parameters, and obtaining the division result of the directed acyclic graph by solving the objective function again, wherein the division result is used for indicating the redeployment position of each subtask when being executed.
Since the tasks can be seamlessly transferred between the unmanned aerial vehicle and the cloud platform, according to historical data, a first objective function is solved, a division result is used as an initial state of subtask deployment, and a corresponding execution program is started; during the execution process, the deployment position of the executed subtask can be adjusted adaptively according to the current state.
It should be noted that the deployment method is not only performed for a single drone, but also can be effectively applied to drone clusters.
In order to further explain the method of the embodiment of the invention, the search and rescue application of the unmanned aerial vehicle cluster is taken as a specific application. The overall task of the application is divided into the following subtasks according to different functions: the method comprises the steps of picture data acquisition, thermal imaging image acquisition, map construction in real time, unmanned aerial vehicle positioning, obstacle avoidance, navigation, target detection (for detecting human with vital signs), target positioning, pedestrian tracking, material throwing and safety path pushing to people.
Each subtask corresponds to one or more executable programs which can run independently, and the executable program corresponding to the subtask can be started when any subtask needs to be started, and is not limited by other subtasks.
A task execution flowchart is constructed according to the data flow relationship among the subtasks, which is specifically shown in fig. 2. The task execution flow chart is then further converted into a directed acyclic graph, as shown in fig. 3.
For the search and rescue application of the unmanned aerial vehicle cluster, the unmanned aerial vehicle cannot be powered by an external power supply in the motion process, and meanwhile, the shorter the execution time of the search and rescue application is, the more beneficial to the search and rescue is. Therefore, the objective function determined by the search and rescue application is to minimize the task execution time, and the other two cost functions are used as constraint functions.
And solving the objective function by using a genetic algorithm, wherein the solved result is the division result of the directed acyclic graph, namely a task deployment scheme.
In the process of executing the task, the feedback of the execution state parameters is continuously carried out. If the difference between the currently set preset parameter and the fed back execution state parameter is found, updating the preset parameter, and re-executing the genetic algorithm once to obtain a new task deployment scheme; and if the obtained new task deployment scheme is different from the currently executed task deployment scheme, updating the task deployment scheme and triggering the migration of each subtask. In addition, when abnormal conditions are monitored, such as the conditions that the nodes of the unmanned system are down, the communication distance cannot meet the constraint and the like, the execution of the genetic algorithm program is immediately triggered, so that a new task deployment scheme is obtained, and the subtasks are re-deployed to adapt to the change.
Through the steps, the self-adaptive deployment process of the subtasks can be completed, so that the execution time of the whole task is minimum, and meanwhile, the energy consumption and communication distance constraint is also met in the execution process.
It should be noted that the embodiment of the present invention is mainly described with respect to a task execution scenario of an unmanned aerial vehicle cluster, and the method is also applicable to other unmanned aerial vehicle task deployment schemes with limited computing or storage capabilities, for example, a service robot may deploy some subtasks on a cloud platform by using the method, thereby improving the intelligence degree thereof.
It should be noted that the above-mentioned embodiments of the method are described as a series of actions for simplicity of description, but those skilled in the art should understand that the present invention is not limited by the described sequence of actions. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
Based on the same technical concept, the embodiment of the invention also discloses an unmanned aerial vehicle cloud task deployment device, which is shown in fig. 4 and mainly comprises:
a task dividing unit 401, configured to divide an overall task of a specific application into different subtasks according to different functions, where each subtask corresponds to at least one executable program; wherein the executable programs are deployed on the unmanned aerial vehicle and the cloud platform respectively;
a construction conversion unit 402, configured to construct a task execution flowchart according to a data flow relationship between subtasks, and convert the task execution flowchart into a directed acyclic graph;
the task deployment unit 403 is configured to determine an objective function and a constraint function according to a specific application, and then obtain a partitioning result of the directed acyclic graph by solving the objective function, where the partitioning result is used to indicate a deployment position of each subtask when executed.
Preferably, the method further comprises the following steps:
a parameter feedback unit 404, configured to receive an execution state parameter fed back by each subtask when the current deployment position is executed;
the redeployment unit 405 is configured to, when the execution state parameter is different from the corresponding preset parameter, determine the execution state parameter as the updated preset parameter, and obtain a division result of the directed acyclic graph by solving the objective function again, where the division result is used to indicate a redeployment position where each subtask is executed.
Preferably, the task deploying unit 403 is specifically configured to:
determining at least one cost function corresponding to a particular application;
according to the requirements of specific applications, one of the cost functions is determined as an objective function, and the other cost functions are determined as constraint functions.
Preferably, the cost function includes at least a task execution time function, a task execution energy consumption function, and a communication distance function.
Preferably, the unmanned aerial vehicle is correspondingly provided with a virtual mirror image unit on the cloud platform.
It should be understood that the unit that above unmanned aerial vehicle cloud task deployment device includes is only the logical division that carries out according to the function that this equipment device realized, and in practical application, can carry out the stack or the split of above-mentioned unit. Moreover, the functions implemented by the unmanned aerial vehicle cloud task deployment device provided by this embodiment correspond to the unmanned aerial vehicle cloud task deployment method provided by the above embodiment one to one, and for the more detailed processing flow implemented by the device, detailed description is already given in the above method embodiment, and detailed description is not given here.
According to the cloud task deployment method and device for the unmanned aerial vehicle, the whole task of the specific application is divided into different subtasks, then the task execution flow chart is constructed according to the data flow relation among the subtasks, then the task execution flow chart is converted into the directed acyclic graph, further, after the objective function and the constraint function are determined according to the specific application, the objective function is solved, the division result of the directed five-ring graph can be obtained, the deployment scheme of the subtasks can be obtained according to the division result, namely, which subtasks are deployed between the unmanned aerial vehicle end and which subtasks are deployed on the cloud platform for execution, and therefore the problem that the whole task of the specific application is reasonably deployed between the unmanned aerial vehicle end and the cloud platform end, and the system performance is optimal is achieved.
The method and the device provided by the embodiment of the invention can be applied to a heterogeneous unmanned aerial vehicle system, are suitable for unmanned aerial vehicles with different computing and storing capacities, and can adaptively adjust the task execution position according to the state change of the unmanned aerial vehicle in the task execution process, thereby improving the system performance. In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (6)

1. An unmanned aerial vehicle cloud task deployment method is characterized by comprising the following steps:
dividing the whole task of the specific application into different subtasks according to different functions, wherein each subtask corresponds to at least one executable program; wherein the executable programs are deployed on the unmanned aerial vehicle and the cloud platform respectively;
constructing a task execution flow chart according to the data flow relation among the subtasks, and converting the task execution flow chart into a directed acyclic graph;
after an objective function and a constraint function are determined according to specific application, a partitioning result of the directed acyclic graph is obtained by solving the objective function, and the partitioning result is used for indicating the deployment position of each subtask when executed;
the determining the objective function and the constraint function according to the specific application specifically includes:
determining at least one cost function corresponding to a particular application;
according to the requirements of specific applications, determining one of the cost functions as a target function, and determining the rest of the cost functions as constraint functions;
the cost function at least comprises a task execution time function, a task execution energy consumption function and a communication distance function.
2. The method of claim 1, further comprising:
receiving an execution state parameter fed back by each subtask when the current deployment position is executed;
when the execution state parameters are different from the corresponding preset parameters, determining the execution state parameters as the updated preset parameters, and obtaining the division result of the directed acyclic graph by solving the objective function again, wherein the division result is used for indicating the redeployment position of each subtask when being executed.
3. The method according to claim 1 or 2, wherein the unmanned aerial vehicle is correspondingly provided with a virtual mirror image unit on the cloud platform.
4. The utility model provides an unmanned aerial vehicle high in clouds task deployment device which characterized in that includes:
the task dividing unit is used for dividing the whole task of the specific application into different subtasks according to different functions, and each subtask corresponds to at least one executable program; wherein the executable programs are deployed on the drone and the cloud platform, respectively;
the construction conversion unit is used for constructing a task execution flow chart according to the data flow relation among the subtasks and converting the task execution flow chart into a directed acyclic graph;
the task deployment unit is used for obtaining a division result of the directed acyclic graph by solving an objective function after the objective function and the constraint function are determined according to specific application, and the division result is used for indicating the deployment position of each subtask when executed;
the task deployment unit is specifically configured to:
determining at least one cost function corresponding to a particular application;
according to the requirements of specific applications, determining one of the cost functions as a target function, and determining the rest of the cost functions as constraint functions;
the cost function at least comprises a task execution time function, a task execution energy consumption function and a communication distance function.
5. The apparatus of claim 4, further comprising:
the parameter feedback unit is used for receiving an execution state parameter fed back by each subtask when the current deployment position is executed;
and the redeploying unit is used for determining the execution state parameter as the updated preset parameter when the execution state parameter is different from the corresponding preset parameter, and obtaining a division result of the directed acyclic graph by solving the objective function again, wherein the division result is used for indicating the redeploying position of each subtask when being executed.
6. The device of claim 4 or 5, wherein the unmanned aerial vehicle is provided with a virtual mirror image unit on the cloud platform.
CN201811295781.6A 2018-11-01 2018-11-01 Unmanned aerial vehicle cloud task deployment method and device Active CN109445946B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811295781.6A CN109445946B (en) 2018-11-01 2018-11-01 Unmanned aerial vehicle cloud task deployment method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811295781.6A CN109445946B (en) 2018-11-01 2018-11-01 Unmanned aerial vehicle cloud task deployment method and device

Publications (2)

Publication Number Publication Date
CN109445946A CN109445946A (en) 2019-03-08
CN109445946B true CN109445946B (en) 2023-03-31

Family

ID=65550585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811295781.6A Active CN109445946B (en) 2018-11-01 2018-11-01 Unmanned aerial vehicle cloud task deployment method and device

Country Status (1)

Country Link
CN (1) CN109445946B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111132014A (en) * 2019-12-31 2020-05-08 南京烽火星空通信发展有限公司 Wireless sensor network node positioning method based on unmanned aerial vehicle mobile beacon

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302153A (en) * 2015-10-19 2016-02-03 南京航空航天大学 Heterogeneous multi-UAV (Unmanned Aerial Vehicle) cooperative scouting and striking task planning method
CN105468452A (en) * 2014-09-04 2016-04-06 中国联合网络通信集团有限公司 Resource pool allocation method and resource scheduler
US9486921B1 (en) * 2015-03-26 2016-11-08 Google Inc. Methods and systems for distributing remote assistance to facilitate robotic object manipulation
CN106600147A (en) * 2016-12-15 2017-04-26 合肥工业大学 Resolvable task oriented task assigning method and apparatus for multiple unmanned aerial vehicles
WO2017079623A1 (en) * 2015-11-06 2017-05-11 Massachusetts Institute Of Technology Dynamic task allocation in an autonomous multi-uav mission
CN106969778A (en) * 2017-02-28 2017-07-21 南京航空航天大学 A kind of multiple no-manned plane cooperates with the paths planning method of dispenser
WO2017178899A2 (en) * 2017-07-27 2017-10-19 Wasfi Alshdaifat Multiple task aerocarrier
CN107632614A (en) * 2017-08-14 2018-01-26 广东技术师范学院 A kind of multiple no-manned plane formation self-organizing cooperative control method theoretical based on rigidity figure
GB201806410D0 (en) * 2018-04-19 2018-06-06 Thales Holdings Uk Plc Apparatus and method for selecting a task to be performed by a sensor
CN108616302A (en) * 2018-04-28 2018-10-02 中国人民解放军陆军工程大学 Unmanned aerial vehicle multiple coverage model under power control and deployment method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10013886B2 (en) * 2016-03-08 2018-07-03 International Business Machines Corporation Drone carrier

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468452A (en) * 2014-09-04 2016-04-06 中国联合网络通信集团有限公司 Resource pool allocation method and resource scheduler
US9486921B1 (en) * 2015-03-26 2016-11-08 Google Inc. Methods and systems for distributing remote assistance to facilitate robotic object manipulation
CN105302153A (en) * 2015-10-19 2016-02-03 南京航空航天大学 Heterogeneous multi-UAV (Unmanned Aerial Vehicle) cooperative scouting and striking task planning method
WO2017079623A1 (en) * 2015-11-06 2017-05-11 Massachusetts Institute Of Technology Dynamic task allocation in an autonomous multi-uav mission
CN106600147A (en) * 2016-12-15 2017-04-26 合肥工业大学 Resolvable task oriented task assigning method and apparatus for multiple unmanned aerial vehicles
CN106969778A (en) * 2017-02-28 2017-07-21 南京航空航天大学 A kind of multiple no-manned plane cooperates with the paths planning method of dispenser
WO2017178899A2 (en) * 2017-07-27 2017-10-19 Wasfi Alshdaifat Multiple task aerocarrier
CN107632614A (en) * 2017-08-14 2018-01-26 广东技术师范学院 A kind of multiple no-manned plane formation self-organizing cooperative control method theoretical based on rigidity figure
GB201806410D0 (en) * 2018-04-19 2018-06-06 Thales Holdings Uk Plc Apparatus and method for selecting a task to be performed by a sensor
CN108616302A (en) * 2018-04-28 2018-10-02 中国人民解放军陆军工程大学 Unmanned aerial vehicle multiple coverage model under power control and deployment method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种面向航空集群的集中控制式网络部署方法;吕娜等;《航空学报》;20180423(第07期);全文 *
基于SAGWO算法的UCAVs动态协同任务分配;魏政磊等;《北京航空航天大学学报》;20180131(第08期);全文 *

Also Published As

Publication number Publication date
CN109445946A (en) 2019-03-08

Similar Documents

Publication Publication Date Title
CN113346944B (en) Time delay minimization calculation task unloading method and system in air-space-ground integrated network
CN113032904B (en) Model construction method, task allocation method, device, equipment and medium
Yao et al. Scheduling real-time deep learning services as imprecise computations
Rahman et al. A cloud robotics framework of optimal task offloading for smart city applications
CN113064671A (en) Multi-agent-based edge cloud extensible task unloading method
CN114745317A (en) Computing task scheduling method facing computing power network and related equipment
CN116451934B (en) Multi-unmanned aerial vehicle edge calculation path optimization and dependent task scheduling optimization method and system
Wei et al. Joint UAV trajectory planning, DAG task scheduling, and service function deployment based on DRL in UAV-empowered edge computing
CN108415760B (en) Crowd sourcing calculation online task allocation method based on mobile opportunity network
CN116893861A (en) Multi-agent cooperative dependency task unloading method based on space-ground cooperative edge calculation
CN109445946B (en) Unmanned aerial vehicle cloud task deployment method and device
CN110716580A (en) Unmanned aerial vehicle formation load balancing mechanism in edge computing environment
Chen et al. An intelligent task offloading algorithm (iTOA) for UAV network
Henna et al. Distributed and collaborative high-speed inference deep learning for mobile edge with topological dependencies
Cejudo et al. An optimization framework for edge-to-cloud offloading of kubernetes pods in V2X scenarios
CN112911618A (en) Unmanned aerial vehicle server task unloading scheduling method based on resource exit scene
CN115514769B (en) Satellite elastic Internet resource scheduling method, system, computer equipment and medium
CN113157344B (en) DRL-based energy consumption perception task unloading method in mobile edge computing environment
CN111813525B (en) Heterogeneous system workflow scheduling method
CN116017472B (en) Unmanned aerial vehicle track planning and resource allocation method for emergency network
Tam et al. Adaptive Partial Task Offloading and Virtual Resource Placement in SDN/NFV-Based Network Softwarization.
Cumino et al. Flying Mobile Edge Computing towards 5G and beyond: An Overview on current use cases and challenges
Sarker et al. FOLD: Fog-dew infrastructure-aided optimal workload distribution for cloud robotic operations
Alam et al. Joint Optimization of Trajectory Control, Task Offloading, and Resource Allocation in Air–Ground Integrated Networks
Ebrahim et al. A Dual-Critic Deep Deterministic Policy Gradient Approach for Task Offloading in Edge-Fog-Cloud Environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant