Multi-UAV task allocation and scheduling method, device, system and storage medium
By disassembling the tasks to be executed into subtasks and using auction algorithms to allocate, combining the task network model and preset task scheduling algorithm, the task allocation and scheduling problems of dynamic and complex tasks in the drone system are solved, and efficient resource utilization is achieved.
Patent Information
- Application Number
- CN202111186576.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-12
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2041-10-12
AI Technical Summary
The existing technology is difficult to effectively solve the task allocation and scheduling problems of dynamic and complex tasks in UAV systems, resulting in high resource consumption.
By disassembling the tasks to be executed into multiple subtasks and using the auction algorithm to assign the subtasks to the most suitable drone, a task network model is built, and the task network model is traversed according to the preset task scheduling algorithm to determine the target subtask.
Effective task allocation and efficient task scheduling are realized, reducing the resource consumption of UAV system.
Smart Images

Figure CN114091807B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of drones, and in particular to a method for allocating and scheduling multiple drone tasks, a device for allocating and scheduling multiple drone tasks, a drone system, and a computer-readable storage medium. Background Art
[0002] With the development of science and technology, UAV technology has been widely used in various fields such as military, industry and civil (such as disaster relief). In related technologies, UAV systems composed of multiple UAVs can achieve highly complex and large-scale tasks. However, the current research on solving the collaborative task planning and decision-making of UAV systems still needs to be deepened. Therefore, solving the needs of dynamic and complex tasks, performing effective task allocation and efficient task scheduling have become challenging problems. Summary of the invention
[0003] In view of this, the present application provides a multi-UAV task allocation and scheduling method, a multi-UAV task allocation and scheduling device, a UAV system and a non-volatile computer-readable storage medium.
[0004] The multi-UAV task allocation and scheduling method of the present application includes:
[0005] The UAV system includes multiple UAVs, and the multi-UAV task allocation and scheduling method includes:
[0006] Get at least one task to be executed;
[0007] Decomposing each of the tasks to be executed into a plurality of corresponding subtasks according to the type of the tasks to be executed;
[0008] Allocating each of the subtasks to a corresponding drone according to an auction algorithm;
[0009] constructing a task network model according to the information of the subtasks and the allocation results of the subtasks; and
[0010] Execute the target subtask obtained by traversing the task network model according to the preset task scheduling algorithm.
[0011] In some embodiments, allocating each of the subtasks to a corresponding drone according to an auction algorithm includes:
[0012] Determine a corresponding candidate drone according to the type of each of the subtasks;
[0013] Calculate the bidding result of each candidate UAV according to the bidding function;
[0014] Determine a target drone from the candidate drones according to the bidding result;
[0015] Send the subtask to the target drone.
[0016] In some embodiments, calculating the bidding result of each candidate drone according to the bidding function includes:
[0017] Determine the load factor of each candidate UAV and the distance between each candidate UAV and the corresponding subtask;
[0018] The bidding result corresponding to the candidate UAV is calculated according to the load factor and the distance through the preset bidding function.
[0019] In some implementations, constructing a task network model according to the subtask information and the subtask allocation results includes:
[0020] Each of the subtasks is a node;
[0021] Determining the execution order of each of the subtasks and the subtasks to be executed by the same drone;
[0022] Connecting the nodes in sequence according to the execution order of each of the subtasks to form directed edges;
[0023] Connecting the nodes corresponding to the subtasks performed by the same drone to form undirected edges;
[0024] The task network model is constructed according to the directed edges, the undirected edges and the nodes.
[0025] In some embodiments, executing the target subtask obtained by traversing the task network model according to a preset task scheduling algorithm includes:
[0026] Calculating the degree value and the closeness value of each of the nodes in the task network model;
[0027] Determine the target node according to the degree value and / or the closeness value of the node;
[0028] The subtask corresponding to the target node is used as the target subtask.
[0029] In some embodiments, the node with the degree value of zero is used as the target node; or
[0030] Determine the number of the nodes with the largest compactness value;
[0031] When the number is one, the node with the largest closeness value is taken as the target node;
[0032] When the number is greater than one, the node with the smallest distance to the previous target node is used as the target node.
[0033] In some embodiments, the multi-UAV task allocation and scheduling method further includes:
[0034] The nodes and the edges corresponding to the executed subtasks are exited from the task network model.
[0035] The multi-UAV task allocation and scheduling device of the present application includes:
[0036] An acquisition module, used to acquire at least one task to be executed;
[0037] A decomposition module, used for decomposing each of the tasks to be executed into a corresponding plurality of subtasks according to the type of the tasks to be executed;
[0038] An allocation module, used for allocating each of the subtasks to a corresponding drone according to an auction algorithm;
[0039] A construction module, used for constructing a task network model according to the information of the subtasks and the allocation results of the subtasks; and
[0040] The execution module is used to execute the target subtask obtained by traversing the task network model according to a preset task scheduling algorithm.
[0041] The drone system of the present application includes a processor and a memory; a program is stored in the memory, and the program is executed by the processor, and the program includes instructions for executing the above-mentioned multi-drone task allocation and scheduling method.
[0042] The volatile computer-readable storage medium of the present application includes a computer program. When the computer program is executed by a processor, the processor executes the above-mentioned multi-UAV task allocation and scheduling method.
[0043] In the multi-UAV task allocation and scheduling method, multi-UAV task allocation and scheduling device, UAV system and readable storage medium of the implementation mode of the present application, the task to be executed is disassembled into multiple subtasks, and the subtasks are allocated to the corresponding UAVs through an auction algorithm. A task network model is constructed according to the execution order of the subtasks and the allocation results, and then the execution order of the subtasks in the task network model is traversed through a preset task scheduling algorithm. In this way, effective task allocation and efficient task scheduling are achieved, thereby reducing the resource consumption of the UAV system.
[0044] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0046] Figure 1 It is a flowchart of a method for allocating and scheduling multiple UAV tasks in certain implementation modes of the present application;
[0047] Figure 2 It is a module schematic diagram of a multi-UAV task allocation and scheduling device in certain embodiments of the present application;
[0048] Figure 3 is a schematic diagram of a module of a drone system according to certain embodiments of the present application;
[0049] Figure 4 It is the scenario intention of the drone bidding process of certain embodiments of the present application;
[0050] Figure 5-9 It is a flowchart of a method for allocating and scheduling multiple UAV tasks in certain implementation modes of the present application. DETAILED DESCRIPTION
[0051] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.
[0052] See also Figure 1 The present application provides a multi-UAV task allocation and scheduling method for an UAV system, wherein the UAV system includes multiple UAVs. The multi-UAV task allocation and scheduling method includes the following steps:
[0053] 01, obtain at least one task to be executed;
[0054] 02. Decompose each task to be executed into multiple corresponding subtasks according to the type of the task to be executed;
[0055] 03. Assign each subtask to the corresponding drone according to the auction algorithm;
[0056] 04. Construct a task network model based on the subtask information and the subtask allocation results; and
[0057] 05. Execute the target subtask obtained by traversing the task network model according to the preset task scheduling algorithm.
[0058] See also Figure 2The embodiment of the present application provides a multi-UAV task allocation and scheduling device 100. The multi-UAV task allocation and scheduling device 100 includes an acquisition module 110, a decomposition module 12, an allocation module 13, a construction module 14 and an execution module 15.
[0059] Among them, step 01 can be implemented by the acquisition module 110, step 02 can be implemented by the decomposition module 12, step 03 can be implemented by the allocation module 13, step 04 can be implemented by the construction module 14, and step 05 can be implemented by the execution module 15. In other words, the acquisition module 110 can be used to acquire at least one task to be executed, the decomposition module 12 can be used to decompose each task to be executed into a corresponding plurality of subtasks according to the type of the task to be executed, the allocation module 13 can be used to allocate each subtask to the corresponding drone according to the auction algorithm, the construction module 14 can be used to construct a task network model according to the information of the subtask and the allocation results of the subtask, and the execution module 15 can be used to execute the target subtask obtained by traversing the task network model according to the preset task scheduling algorithm.
[0060] Please combine Figure 3 The present application also provides a drone system, including a processor and multiple drones. The processor is used to obtain at least one task to be executed, and is used to decompose each task to be executed to generate corresponding multiple subtasks according to the type of the task to be executed. The processor is also used to assign each subtask to the corresponding drone according to the auction algorithm, build a task network model according to the information of the subtask and the assignment result of the subtask, and execute the target subtask obtained by traversing the task network model according to the preset task scheduling algorithm.
[0061] In the multi-UAV task allocation and scheduling method, multi-UAV task allocation and scheduling device and UAV system of the present application, the task to be executed is decomposed into multiple subtasks, and the subtasks are allocated to the corresponding UAVs through an auction algorithm. A task network model is constructed according to the execution order of the subtasks and the allocation results, and then the execution order of the subtasks in the task network model is traversed through a preset task scheduling algorithm. In this way, effective task allocation and efficient task scheduling are achieved, and the resource consumption of the UAV system is reduced.
[0062] In some embodiments, the multi-drone task allocation and scheduling device 100 may be hardware or software pre-installed in the drone system, and the multi-drone task allocation and scheduling method may be executed when the drone system is started and run. For example, the multi-drone task allocation and scheduling device 100 may be a low-level software code segment in the drone or a part of the operating system.
[0063] In some embodiments, the multi-UAV task allocation and scheduling device 100 can be discrete components assembled in a certain manner to have the aforementioned functions, or a chip with the aforementioned functions in the form of an integrated circuit, or a computer software code segment that enables the computer to have the aforementioned functions when running on the computer.
[0064] In some embodiments, as hardware, the multi-drone task allocation and scheduling device 100 can be independently installed on a computer or computer system or as an additional peripheral component. The multi-drone task allocation and scheduling device 100 can also be integrated into a computer or computer system. For example, when the multi-drone task allocation and scheduling device 100 is part of a drone system, the multi-drone task allocation and scheduling device 100 can be integrated into a processor.
[0065] In some embodiments, the processor of the drone system may be distributed on each drone, for example, the processor may be a central processing unit (CPU) in each drone. In some embodiments, the processor of the drone system may be distributed in only one of the drones in the drone system, for example, a CPU of a drone with richer computing resources is selected as the processor of the drone system. In some embodiments, the processor may also be distributed in a control center that controls the operation of the drone, for example, the processor may be a remote controller that controls the operation of the drone.
[0066] The tasks to be executed may be generated by the processor according to the received user request, wherein the user request may include but is not limited to a voice request, a text input request, etc. Of course, in some embodiments, the tasks to be executed may also be generated according to the received control instructions. The tasks to be executed may be one or more, that is, the specific number of the tasks to be executed is not limited, for example, it may be 1, 2, 3, 5, 10 or even more.
[0067] It should be noted that the UAV system can be a heterogeneous UAV system, which can complement each other in terms of function or performance to efficiently complete the task. The heterogeneous UAV system may include multiple types of UAVs or airships, and different types of UAVs may have different types of execution, mission load numbers, and mission load factors.
[0068] The information of the subtask includes but is not limited to the subtask location, the type of drone required to execute the subtask, the time required to execute the subtask, etc. In addition, there is a sequential execution order between the subtasks decomposed from the same task to be executed.
[0069] Those skilled in the art can understand that the auction algorithm is a distributed algorithm for solving allocation problems. In this embodiment, the algorithm process is like the auction process, and the relevant information of each subtask is sent to each drone. After receiving the relevant information of the subtask, each drone bids for each subtask, and then selects the execution drone corresponding to each subtask according to the bidding results. That is, in this application, the auction algorithm can be used to select the drone that is most suitable for executing the subtask, thereby improving the task allocation speed, satisfying the resource balance condition, and improving the robustness of the drone system.
[0070] The preset task scheduling algorithm is a scheduling algorithm used to select priority subtasks in the task network model according to predetermined rules. That is, the present application selects priority tasks in the load tasks of each drone through the preset task scheduling algorithm, so that the drone can reduce the task completion time and reduce the distance to perform the task.
[0071] See also Figure 3 In some embodiments, step 03 includes the sub-steps of:
[0072] 031, determine the corresponding candidate UAV according to the type of each subtask;
[0073] 032, calculating the bidding result of each candidate UAV according to the preset bidding function;
[0074] 033, determining a target UAV from candidate UAVs according to the bidding results;
[0075] 034, send subtask to target drone.
[0076] Please further combine Figure 2 In some embodiments, sub-steps 031 - 034 may be implemented by the allocation module 130 .
[0077] In other words, the allocation module 130 can be used to determine the corresponding candidate drone according to the type of each subtask, and calculate the bidding result of each candidate drone according to a preset bidding function. The allocation module 130 can also be used to determine the target drone from the candidate drones according to the bidding result, and send the subtask to the target drone.
[0078] In some embodiments, the processor may be used to determine a corresponding candidate drone according to the type of each subtask, and calculate the bidding result of each candidate drone according to a preset bidding function. The processor may also be used to determine a target drone from the candidate drones according to the bidding result, and send the subtask to the target drone.
[0079] It should be noted that the preset bidding function is a bidding function preset in the drone system, and the preset bidding function can be stored in each drone, so that when the drone receives the sub-task to be executed, the drone can calculate the bidding result of the corresponding sub-task according to the preset bidding function. Of course, the preset bidding function can also be stored in the memory of the drone system and called by the processor. The processor can obtain relevant information of each drone, such as the drone type, load factor, or distance from the sub-task, and then calculate the bidding result of each drone on the sub-task according to the preset bidding function, and then select the drone to execute the sub-task according to the bidding result.
[0080] Please combine Figure 4 Specifically, when the task to be executed is decomposed into subtasks, corresponding auction information can be generated according to each subtask and sent to each drone waiting for auction information. When the drone receives the auction information, it can determine whether the subtask can be executed according to the type of the subtask. If it is determined that it can be executed, the bid price (bid result) is calculated according to the budget bidding function, and then the bid information is sent to the processor. The processor confirms the target drone that executes the subtask according to the bidding result, and after confirming the target drone, sends a bid success message to the target drone. When the target drone receives the bid success message, the target drone confirms the execution of the subtask, and then sends a confirmation message to the processor, so that the processor confirms and ends the auction process of the subtask. If the drone does not receive the bid success message, it continues to wait for the auction information of the next subtask. If the drone determines that the subtask cannot be executed according to the type of the subtask when receiving the auction message, the drone directly ends the auction process, sends the information that it cannot be executed to the processor, and waits for the auction information generated by the next subtask.
[0081] In this way, each subtask can be assigned to the most suitable drone for execution through the auction algorithm process, which improves the speed of dynamic allocation of subtasks, meets resource balancing conditions, and improves the robustness of the drone system.
[0082] See also Figure 5 In some embodiments, step 032 includes the sub-steps of:
[0083] 0321, determine the load factor of each candidate UAV and the distance between it and the corresponding subtask;
[0084] 0322, the bidding result of the corresponding candidate UAV is calculated according to the load factor and distance through the preset bidding function.
[0085] In some embodiments, sub-steps 0321 and 0322 may be implemented by the allocation module 130. In other words, the allocation module 130 may be used to determine the load factor of each candidate drone and the distance between the candidate drone and the corresponding subtask, and calculate the bidding result of the corresponding candidate drone according to the load factor and the distance through a preset bidding function.
[0086] In some embodiments, the processor can be used to determine the load factor of each candidate drone and the distance between the drone and the corresponding subtask, and calculate the bidding result of the corresponding candidate drone based on the load factor and the distance using a preset bidding function.
[0087] It should be noted that the preset bidding function E i n The calculation formula is:
[0088]
[0089] Among them, ω1 and ω2 are coefficients, f i is the task load factor, is the distance between the subtask and the UAV.
[0090] The mission load factor f of UAV i i The calculation formula is:
[0091]
[0092] is the average task load, the average task load The calculation formula is:
[0093]
[0094] Among them, c i is the number of mission loads of the i-th UAV. n u is the total number of drones in the drone system, and the distance between the i-th drone and the n-th subtask is:
[0095]
[0096] x i and i is the position coordinate of the drone, x n and n is the location coordinate of the subtask.
[0097] In this way, by determining the load factor of each candidate UAV and the distance between it and the corresponding subtask, and substituting the load quantity and distance into the bidding function, the bidding results of the candidate UAVs for each subtask can be calculated, and then the UAV most suitable for performing the subtask can be selected based on the bidding results.
[0098] See also Figure 6 In some embodiments, step 04 includes the sub-steps of:
[0099] 041, set each subtask as a node;
[0100] 042, determine the execution order of each subtask and the subtasks performed by the same UAV;
[0101] 043, connect the nodes in sequence according to the execution order of each subtask to form directed edges;
[0102] 044, the nodes corresponding to the subtasks performed by the same UAV are connected to each other to form undirected edges;
[0103] 045, construct a task network model based on directed edges, undirected edges and nodes.
[0104] Please further combine Figure 2 In some embodiments, sub-steps 041 - 045 may be implemented by building module 140 .
[0105] In other words, the construction module 140 can be used to set each subtask as a node and determine the execution order of each subtask and the subtasks performed by the same drone. The construction module 140 can also be used to connect the nodes in sequence according to the execution order of each subtask to form directed edges, and connect the nodes corresponding to the subtasks performed by the same drone to form undirected edges, and construct a task network model based on directed edges, undirected edges and nodes.
[0106] In some embodiments, the processor can be used to set each subtask as a node and determine the execution order of each subtask and the subtasks performed by the same drone. The processor can also be used to connect the nodes in sequence according to the execution order of each subtask to form directed edges, and connect the nodes corresponding to the subtasks performed by the same drone to each other to form undirected edges, and construct a task network model based on directed edges, undirected edges and nodes.
[0107] It should be noted that the edge weights of directed and undirected edges are assigned the distance between the corresponding two end nodes. For example, if node A and node B are connected to form a directed edge, the value of the directed edge is the distance between node A and node B.
[0108] In this way, by constructing a task network model based on directed edges, undirected edges and nodes, the association relationship between subtasks can be reflected, and then it is convenient to determine the subtasks to be executed first according to the task network model through a preset task scheduling algorithm. In this way, the resource consumption of the drone system can be reduced.
[0109] See also Figure 7In some embodiments, step 05 includes the sub-steps of:
[0110] 051, calculate the degree and closeness value of each node in the task network model;
[0111] 052, determining the target node according to the degree value and / or the closeness value of the node;
[0112] 053, the subtask corresponding to the target node is used as the target subtask.
[0113] In some embodiments, sub-steps 051-53 may be implemented by the execution module 150. In other words, the execution module 150 may be used to calculate the degree value and the closeness value of each node in the task network model, and determine the target node according to the degree value and / or closeness value of the node, and use the subtask corresponding to the target node as the target subtask.
[0114] In some embodiments, the processor is used to calculate the degree value and closeness value of each node in the task network model, and determine the target node according to the size of the degree value and / or closeness value of the node, and use the subtask corresponding to the target node as the target subtask.
[0115] It should be noted that when traversing the nodes in the task network model according to the degree value and / or closeness value of the node to obtain the target node, the following three constraints need to be met: nodes connected by edges (including directed edges and undirected edges) cannot be traversed at the same time, nodes connected by directed edges need to be traversed in the direction of the directed edges, and when there are two types of edges connecting two nodes, traverse according to the directed edges.
[0116] It can be understood that when there are two nodes connected by an edge, when the edge between the nodes is a directed edge, it means that the two nodes have a sequential execution order, so they cannot be executed at the same time, and when the edge between the nodes is an undirected edge, it means that two task nodes are executed by one drone, and one drone cannot execute two tasks at the same time. Therefore, nodes connected by edges (including directed edges and undirected edges) cannot be traversed at the same time. Moreover, among the directed edges, the direction of the directed edge represents the task order, and the scheduling is selected according to the task order, so it is necessary to traverse in the direction of the directed edge. There are two types of edges between two nodes (that is, one node is connected to both directed and undirected edges), which means that one drone executes two tasks in a sequential order, so it is necessary to execute them according to the task order, that is, the directed edge.
[0117] It should also be noted that the closeness is used to characterize the difficulty of a node in the network to reach other nodes in the network through the network, reflecting the ability of a node to exert influence on other nodes through the network. The purpose of selecting these nodes for execution is to destroy the connectivity of the task network model. When the connectivity of the task network model becomes lower, the speed of traversing all nodes will become faster, and the efficiency of task scheduling will be improved.
[0118] Compactness value C i The calculation formula is:
[0119]
[0120] Γ is the set of nodes that node i can reach; L i is the average distance from a node to all other reachable nodes; d ij is the number of edges in the shortest path between two nodes.
[0121] Degree describes the number of directed edges (including directed edges and undirected edges) connected to the current node. It can be understood that in the task network model, some nodes may be connected to other nodes to form directed edges or undirected edges. The higher the degree value of the node, the more connections it has with other nodes.
[0122] In this way, by calculating the degree and closeness value of each node, and then determining the priority subtasks in the task network model according to the degree and / or closeness value of the node, the task scheduling problem under multiple constraints is effectively solved and the task scheduling efficiency is improved.
[0123] Please combine Figure 8 In some embodiments, step 052 includes the sub-steps of:
[0124] 0521, take the node with degree zero as the target node; or
[0125] 0522, determine the number of nodes with the largest compactness value;
[0126] 0523, when the number is one, the node with the largest closeness value is the target node;
[0127] 0524, when the number is greater than one, the node connected to the previous target node with the smallest distance is used as the target node.
[0128] In some embodiments, sub-steps 0521-0524 may be implemented by the execution module 150. In other words, the execution module 150 may be used to take a node with a degree value of zero as a target node; the execution module 150 may also be used to determine the number of nodes with the largest compactness value, and when the number is one, take the node with the largest compactness value as the target node, or when the number is greater than one, take the node connected to the previous target node with the smallest distance as the target node.
[0129] In some embodiments, the processor is used to take a node with a degree value of zero as a target node; the processor is used to determine the number of nodes with the largest compactness value, and when the number is one, take the node with the largest compactness value as the target node, or when the number is greater than one, take the node connected to the previous target node and with the smallest distance as the target node.
[0130] It can be understood that when the degree value of a node is 0, the subtask corresponding to the current node is a separate task, and has no association with the subtasks corresponding to other nodes. Therefore, when the drone is loaded with a separate task, it can be executed directly. The larger the density value of the node, the greater the influence of the node on other nodes through the task network model. Therefore, selecting the node with the largest density value can maximize the destruction of the connectivity of the task network model, making the connectivity of the task network model lower, and then the speed of traversing all nodes will become faster, and the efficiency of task scheduling will be improved.
[0131] When determining the target node based on the closeness value, since there may be more than one node with the largest closeness value, it is necessary to determine the number of nodes with the largest closeness value. If the number is one, directly use this node as the target node. If the number is multiple, it is necessary to determine the node to be executed first, so as to select the node that is connected to the previous target node and has the smallest distance as the target node.
[0132] Please combine Fig. 9 In some embodiments, the multi-UAV task allocation and scheduling method further includes:
[0133] 06. The nodes corresponding to the executed target subtasks and the directed and undirected edges connected to the nodes are removed from the task network model.
[0134] In some implementations, step 06 may be implemented by the execution module 150. In other words, the execution module 150 may be used to remove the node corresponding to the executed target subtask and the directed edges and undirected edges connected to the node from the task network model.
[0135] In some implementations, the processor may be configured to remove the node corresponding to the executed target subtask and the directed edges and undirected edges connected to the node from the task network model.
[0136] In this way, after the corresponding subtask is executed, its node and the edge connected to it can exit the task network model, so that whether the subtask is executed can be determined according to the task network model.
[0137] The drone system of the present application also includes a memory, which stores one or more programs and is executed by a processor, and the program is executed by the processor to execute the instructions of the above-mentioned multi-drone task allocation and scheduling method.
[0138] The embodiment of the present application also provides a non-volatile computer-readable storage medium, which stores a computer program. When the computer program is executed by one or more processors, the processor executes the above-mentioned multi-UAV task allocation and scheduling method.
[0139] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital video disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).
[0140] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0141] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the 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.
[0142] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0143] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A multi-UAV task allocation and scheduling method for an UAV system, characterized in that: The UAV system includes multiple UAVs, and the multi-UAV task allocation and scheduling method includes: Get at least one task to be executed; Decomposing each of the tasks to be executed into a plurality of corresponding subtasks according to the type of the tasks to be executed; Allocating each of the subtasks to a corresponding drone according to an auction algorithm; constructing a task network model according to the information of the subtasks and the allocation results of the subtasks; and Execute the target subtask obtained by traversing the task network model according to a preset task scheduling algorithm; The allocating each of the subtasks to the corresponding drone according to the auction algorithm comprises: Determine a corresponding candidate drone according to the type of each of the subtasks; Calculate the bidding result of each candidate drone according to a preset bidding function; Determine a target drone from the candidate drones according to the bidding result; Sending the subtask to the target drone; The step of calculating the bidding result of each candidate drone according to the preset bidding function includes: Determine the load factor of each candidate UAV and the distance between each candidate UAV and the corresponding subtask; Calculating the bidding result corresponding to the candidate drone according to the load factor and the distance by using the preset bidding function; The step of constructing a task network model according to the information of the subtasks and the allocation results of the subtasks includes: Setting each of the subtasks as a node; Determining the execution order of each of the subtasks and the subtasks to be executed by the same drone; Connecting the nodes in sequence according to the execution order of each of the subtasks to form directed edges; Connecting the nodes corresponding to the subtasks performed by the same drone to form undirected edges; Constructing the task network model according to the directed edges, the undirected edges and the nodes; The target subtasks obtained by traversing the task network model according to the preset task scheduling algorithm include: Calculating the degree value and the closeness value of each of the nodes in the task network model; Determine a target node according to the degree value and / or the closeness value of the node; Taking the subtask corresponding to the target node as the target subtask; The determining the target node according to the degree value and / or the closeness value of the node comprises: Taking the node with the degree value of zero as the target node; or Determine the number of the nodes with the largest compactness value; When the number is one, the node with the largest closeness value is taken as the target node; When the number is greater than one, the node with the smallest distance to the previous target node is used as the target node; Preset Bidding Function The calculation formula is: in, , is the coefficient, is the task load factor, is the distance between the subtask and the UAV; Mission load factor of UAV i The calculation formula is: ; is the average task load, the average task load The calculation formula is: ; in, is the number of mission loads of the i-th UAV; is the total number of drones in the drone system, The distance between the i-th UAV and the n-th subtask is: ; and is the position coordinate of the drone, and is the location coordinate of the subtask.
2. The multi-UAV task allocation and scheduling method according to claim 1, characterized in that: The multi-UAV task allocation and scheduling method also includes: The node corresponding to the executed target subtask and the directed edge and the undirected edge connected to the node are exited from the task network model.
3. A multi-UAV task allocation and scheduling device, used to schedule the UAV system according to the multi-UAV task allocation and scheduling method according to claim 1, characterized in that: include: An acquisition module, used to acquire at least one task to be executed; A decomposition module, used for decomposing each of the tasks to be executed into a corresponding plurality of subtasks according to the type of the tasks to be executed; An allocation module, used for allocating each of the subtasks to a corresponding drone according to an auction algorithm; A construction module, used for constructing a task network model according to the information of the subtasks and the allocation results of the subtasks; and The execution module is used to execute the target subtask obtained by traversing the task network model according to a preset task scheduling algorithm.
4. A drone system, characterized in that: It includes a drone, a processor and a memory, wherein the memory stores at least one program, and the program is executed by the processor, and the program includes instructions for executing the multi-drone task allocation and scheduling method according to claim 1 or 2.
5. A non-volatile computer-readable storage medium for a computer program, characterized in that: When the computer program is executed by a processor, the processor executes the multi-UAV task allocation and scheduling method according to claim 1 or 2.
Citation Information
Patent Citations
Unmanned aerial vehicle cooperation method, system and device, electronic equipment and storage medium
CN112561395A
Unmanned aerial vehicle scheduling method and system
CN113064449A
Cited By
Unmanned aerial vehicle-based automatic inspection system and method
CN122738048A