Multi-unmanned aerial vehicle dynamic task allocation method based on three-party limitation and CNP

通过引入三方限定合同网协议算法,优化任务分配过程,解决了多无人机系统中任务分配的实时性和资源利用问题,实现了高效、快速的任务分配和资源均衡。

CN120355129AActive Publication Date: 2025-07-22NORTHWESTERN POLYTECHNICAL UNIV
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510303709.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-14
Publication Date
2025-07-22
Estimated Expiration
2045-03-14

AI Technical Summary

Technical Problem

In the prior art, multi-UAV systems have problems such as low real-time, high consumption of communication resources, and long redistribution time in dynamic and uncertain environments, especially in terms of efficient task allocation and resource balance.

Method used

The three-party limited contract network agreement (3L-CNP) algorithm was introduced to optimize the task allocation process by setting task priorities, limiting bidding time and bidding quantity, combining task buffers and multiple contract types, ensuring the rapid processing of important tasks and effective utilization of resources.

Benefits of technology

It significantly improves the real-time task allocation efficiency and system robustness of multi-UAV systems, reduces communication burden, and ensures fast response and task completion rate of high-priority tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120355129A_ABST
    Figure CN120355129A_ABST
Patent Text Reader

Abstract

The invention provides a multi-unmanned aerial vehicle dynamic task allocation method based on three-party limitation and CNP, aims to solve the problems of long task reallocation time, high communication resource consumption, low real-time allocation efficiency and the like in the prior art, and belongs to the technical field of multi-unmanned aerial vehicle control. Firstly, on the basis of a CNP algorithm, task priority limitation is introduced, priorities are set for tasks with different importance degrees, and it is ensured that important tasks are processed preferentially; secondly, a task buffer area is used for limiting the bidding number of the bidder, and communication resource consumption is reduced; the maximum bid invitation time of the bid invitation person is limited, the waiting time is shortened, and the response speed is increased; and finally, real-time task allocation of multiple unmanned aerial vehicles is efficiently completed. According to the invention, real-time task allocation of multiple unmanned aerial vehicles can be efficiently completed, and the real-time performance and task execution efficiency of the system are significantly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of multi-UAV control, and particularly to a multi-UAV dynamic task allocation method based on three-party constraints and CNP. Background Art

[0002] With the vigorous development of modern science and technology, multi-UAV systems can efficiently complete complex tasks in a larger intelligent scenario. In this system, UAVs usually have the ability of autonomous decision-making and mutual communication, and can dynamically allocate and execute tasks. Task allocation is a key issue in multi-UAV systems. Efficient task allocation can enable UAV groups to work together in complex and uncertain environments to complete tasks that are inconvenient for humans to execute, such as monitoring, search and rescue, reconnaissance and strike. These tasks are of great significance in both the military field and daily life.

[0003] Traditional centralized task allocation methods usually rely on a ground control center. Before the UAV cluster executes tasks, the UAV cluster collects various information such as the combat environment and task requirements, formulates a suitable task allocation plan through calculation, and then transmits the allocation result to each UAV. The UAVs are only responsible for acting according to the instructions and do not take any autonomous decisions. Although this method can ensure better global optimality, it has high computational complexity, high communication requirements, poor performance in dynamic and uncertain environments, and low real-time performance and robustness.

[0004] The distributed task allocation method is different from the centralized solution idea. It avoids problems such as excessive computational load and communication overhead of a single central control node, and is suitable for the allocation of dynamic tasks. A typical distributed method such as the ContractNet Protocol (CNP) algorithm is based on an auction mechanism. The tenderer and bidders negotiate a suitable price to achieve task allocation. In CNP, the tenderer centrally publishes tender information to all unmanned aerial vehicles (UAVs) through a central management system. After all UAVs receive the information, they formulate bids for the tender. However, the CNP algorithm conducts a tender for only one task at a time and does not set the order of task allocation. This easily causes UAVs to abandon the tasks they have obtained due to the disorder of task allocation, thereby increasing computational redundancy and decision-making difficulty. Moreover, the algorithm selects the winning bidder based on the tender price without considering the existing task quantity of the UAVs, which will lead to unbalanced resource allocation. Some UAVs need to release their original tasks and conduct a new round of tendering, increasing the time and complexity of task allocation. Therefore, when the number of UAVs increases, there is still a problem of a rapid increase in the amount of information in the communication network, resulting in an increase in computational and communication costs, an increase in the time-consuming of reallocation calculation, and thus a reduction in the efficiency of real-time task allocation. Therefore, how to effectively perform task allocation and control in a multi-UAV system, reduce reallocation time and communication volume, and improve the real-time performance and efficiency of task allocation has become an urgent technical problem to be solved currently.

[0005] To solve the above problems, this patent designs a Tripartite Limited ContractNet Protocol (3L-CNP) algorithm, which can solve the problem of multi-UAV task allocation. Based on the CNP algorithm, it sets a limit on the tender time according to the priority of the tasks, limits the number of tenders and bids, and optimizes the task reallocation process, effectively improving the task allocation efficiency in a multi-UAV system, especially in application scenarios with high dynamic and real-time requirements. Summary of the Invention

[0006] The present invention provides a multi-UAV dynamic task allocation method based on tripartite limitation and CNP to solve problems such as long task reallocation time, large consumption of communication resources, and low real-time allocation efficiency existing in the prior art, belonging to the field of multi-UAV control technology. First, based on the CNP algorithm, task priority limitation is introduced. Priorities are set for tasks of different importance levels to ensure that important tasks are processed first. Secondly, a task buffer is used to limit the number of bids of bidders, reducing communication resource consumption. And the maximum tender time of the tenderer is limited to reduce waiting time and improve the response speed. Finally, real-time task allocation of multi-UAVs is efficiently completed. The present invention can efficiently complete real-time task allocation of multi-UAVs, significantly improving the real-time performance and task execution efficiency of the system.

[0007] The present invention provides a multi-UAV dynamic task allocation method based on three-party qualification and CNP. The multi-UAV dynamic task allocation method includes the following steps:

[0008] Step 1, construct a UAV collaborative multi-task allocation model;

[0009] Step 2, in the initial task allocation stage, the tenderer directly allocates tasks;

[0010] Step 3, an external unknown environment triggers the UAVs to enter the real-time allocation stage;

[0011] Step 4, in the tendering stage, use the 3L-CNP algorithm for real-time task allocation;

[0012] Step 5, in the bidding stage, judge the resources of the bidding UAVs themselves;

[0013] Step 6: In the bidding stage, judge whether the UAV bidding feedback times out;

[0014] Step 7, in the signing stage, the tendering UAV accepts the bid and signs a contract;

[0015] Step 8, supervise the task execution of the winning bid UAV.

[0016] Further, in step 1, the method for constructing the UAV collaborative multi-task allocation model is as follows:

[0017] Step 1.1, define the task area:

[0018] The task area is a two-dimensional finite space in the shape of a rectangle. The task area includes all task targets and threat areas that affect the real-time task allocation result. The threat area includes obstacles that hinder the normal flight route of the UAVs. The obstacles include buildings, mountains, and forests; the task targets are known static targets in the task area; under different tasks, the UAV swarm needs to efficiently reach the task target positions;

[0019] Step 1.2, construct the task allocation model:

[0020] The constraint conditions for multi-UAV task allocation tasks include allocation quantity constraints, execution time constraints, and single-UAV capacity constraints; the task allocation model is expressed as the set {E, V, T, M, C}; where E is the task area, V is a group of UAVs that can execute tasks, V = {V1, V2,..., V n}, T is a group of tasks that need to be executed, T = {T1, T2,..., T m}, M is a group of threats generated by the UAVs executing tasks, M = {M1, M2,..., M t}, C is the constraint condition; n is the number of UAVs, m is the number of tasks; t represents the moment when the task is completed;

[0021] Step 1.3, determine the task assignment objective function:

[0022] The purpose of the multi-UAV task assignment model is to assign tasks to each UAV to maximize the overall benefit under the premise of meeting various constraints; the core of multi-UAV task assignment is to determine whether each UAV obtains a specific task;

[0023] The task assignment objective function is as follows:

[0024]

[0025] In the formula, R ij represents the benefit when UAV i obtains task j; r ij is the reward obtained when the UAV completes the task; the reward is calculated based on the value r j of the task itself and the attenuation factor, where r j is the task value; ε is the attenuation coefficient; c ij is the cost that the UAV needs to pay to complete the task; d ij is the track cost for UAV i to complete task j; p ij is the risk cost related to the task; α is the cost coefficient, and the cost coefficient is adjusted according to the nature of different tasks, and is used to adjust the proportion of the track cost and the risk cost in the total cost;

[0026] Calculate the corresponding benefit R ij ;

[0027] In reconnaissance or search tasks, the track cost is more important, while in strike tasks, the risk cost is more critical; the multi-UAV task assignment model can adapt to various different task requirements and assign the most suitable task to each UAV to maximize the overall benefit; to design the task assignment function of multi-UAVs, under the condition of meeting the constraint conditions of the task assignment model, obtain the optimal assignment scheme of the maximum total benefit R; the optimal assignment scheme π * of the maximum total benefit R is as follows:

[0028]

[0029] In the formula, π is all the schemes of task assignment; T a is the total time spent when assigning tasks; the variable λ ij represents the assignment result of whether UAV i obtains task j;

[0030] Step 1.4, determine the task assignment constraint conditions:

[0031] To enable multiple UAVs to obtain the optimal task assignment plan that maximizes benefits, the benefit of assigning task j to UAV i needs to be obtained under constrained conditions. The constraints include assignment quantity constraints, execution time constraints, and single-UAV capacity constraints.

[0032] Constraint 1 represents the assignment quantity constraint, which means that regardless of whether the number of UAVs is more than, equal to, or less than the number of tasks, it is necessary to ensure that each UAV receives at least one task, and at the same time each task is assigned to at least one UAV. The assignment quantity constraint formula is expressed as follows:

[0033]

[0034] where k i represents the number of tasks obtained by UAV i; k j represents the number of times task j is assigned to a UAV. The number of UAVs is n, and the number of tasks is m.

[0035] Constraint 2 represents the execution time constraint, which means that all assigned tasks must be completed within the specified time to ensure the timeliness of the tasks. The execution time constraint is expressed as the following formula:

[0036] maxt j ≤T max , j = 1, …, m Equation (5)

[0037] where t j is the time when task j is completed; T max is the latest time to complete the task as specified;

[0038] Constraint 3 represents the single-UAV capacity constraint, which means that when the UAV is performing a task, the flight range of the UAV cannot exceed the maximum flight range limit to adapt to the endurance and performance constraints of the UAV. The single-UAV capacity constraint is expressed as the following formula:

[0039] d ij ≤D max , i = 1, …, n, j = 1, …, m Equation (6)

[0040] where D max is the maximum flight range of the UAV. Through the constraint conditions of the assignment quantity constraint, execution time constraint, and single-UAV capacity constraint, it is ensured that the task assignment plan meets the actual operation requirements and takes into account the capabilities and time limitations of the UAVs, thus achieving an efficient and feasible task assignment strategy.

[0041] Furthermore, in step 2, the process of the tenderer directly assigning tasks is as follows:

[0042] Step 2.1: Arbitrarily select one of the multiple drones as the host. The host is the tenderer and is responsible for collecting task information and the information of non-host drones. The task information includes geographical coordinates, type identification, priority level, expected revenue, and potential risks. The drone information includes the number of drones, current positions, performance parameters, and resource status. The host, as the tenderer, directly assigns tasks to non-host drones according to the combination method of the number of drones and tasks.

[0043] The combination method of the number of drones and tasks is as follows:

[0044] Combination method 1: When the number of drones is equal to the number of tasks, i.e., when n = m:

[0045] Each drone is assigned one task. The order of the drones is fixed using the enumeration greedy method, and the m tasks are numbered and permuted. The permutation with the maximum total revenue is selected as the final allocation plan. The combination method of the number of drones and tasks is as shown in formula (7). Among them, the left matrix in formula (7) is the order of the drones, the right matrix is all the permutation ways of the tasks, and each column in the right vector represents a permutation way of the tasks. The number of permutation ways of the tasks is types. When calculating the different permutation ways of the tasks, the total revenue of the drones performing the corresponding numbered tasks is calculated. The revenue of all drones for all tasks is represented by the matrix in formula (8). According to the calculated revenue, the permutation way with the maximum task revenue is greedily selected as the final task allocation result.

[0046]

[0047] Combination method 2: When the number of drones is more than the number of tasks, i.e., when n > m:

[0048] Each task is obtained by one or more drones. Similarly, the enumeration greedy method is used to select the optimal drone combination for task allocation, that is, all permutations of selecting m drones from n drones are selected, and the remaining n - m drones do not participate in task execution. The revenue of the m drones for all tasks is represented by the matrix in formula (9). The allocation permutation way with the maximum task revenue is greedily selected as the final task allocation result:

[0049]

[0050] In formula (9), the left vector is the numbered vector of the tasks, the right matrix is the permutation matrix of the drone numbers, and each column in the right matrix represents a permutation way of the drones. The number of permutation ways of the drones is Case: After assigning each task to the corresponding m drones, there are n - m drones left unassigned; for the remaining unassigned drones, simply greedily select the task that can maximize the benefit;

[0051] Combination method 3: When the number of drones is less than the number of tasks, that is, when n < m:

[0052] Each drone undertakes one or more tasks. First, use the greedy method to assign one task to each drone, and assign the n tasks to n drones respectively. The sorting of the corresponding numbers of drones and tasks is as shown in the following formula (10); then use the contract net protocol to assign the remaining m - n tasks to ensure that each task can be executed;

[0053]

[0054] For the remaining m - n tasks, the host publishes tender information for each task. All drones calculate the task benefit and bid when their task buffers are not full. The host notifies the drone with the maximum benefit to obtain the remaining tasks; since the drone already has tasks, it is necessary to calculate the benefit based on the route cost between the last task in the task queue and the bid task. When the end of the task queue of drone i is task j and the benefit of the bid task k where is the route cost from task j to the bid task k, and r k is the task value of the bid task k; the route cost matrix D T is shown as the following formula (11);

[0055]

[0056] When all the m - n remaining tasks are won, the initial assignment ends.

[0057] Furthermore, in step 3, the external unknown environment includes discovering new tasks, environmental changes, drone failures, missing execution of tendered drone tasks, and remaining resources of the drones themselves;

[0058] In the initial assignment stage, once the task assignment plan of the drones is determined, the drones participating in the tender will receive the detailed task assignment results and start their respective task execution processes accordingly; however, during the actual task execution process, due to the uncertainty and dynamics of the external environment, the drones may encounter a series of unforeseen situations;

[0059] To cope with the foreseen challenges and ensure the smooth completion of the tasks, after the end of the initial task assignment stage, the external unknown environment triggers the drones to enter the real-time task assignment stage. The real-time task assignment situations include:

[0060] 3.1 Discovering new tasks:

[0061] When the UAV detects new and urgent task requirements during the execution of the current task, and the new and urgent task requirements exceed the current resources or capabilities of the UAV, the host needs to re-tender for the new and urgent tasks;

[0062] 3.2 Environmental changes:

[0063] When the UAV encounters environmental changes during the execution of the task, the environmental changes include the emergence of new obstacles or threats in the environment, resulting in the original task path of the UAV being no longer safe or less efficient, then the host needs to re-tender for the current task;

[0064] 3.3 UAV failure:

[0065] When a UAV monitors that an adjacent UAV has failed, the UAV without failure will take over the task of the failed UAV, and re-evaluate and allocate the task of the failed UAV according to the current conditions to ensure that the task can continue;

[0066] 3.4 Lack of execution of the tendered UAV task:

[0067] During the task execution process, when the tendering UAV fails to receive feedback on the task progress from the bidding UAV within the scheduled time, in order to avoid task delays, the tendering UAV will regain task control and initiate a new round of tendering process;

[0068] 3.5 When the UAV has remaining resources itself:

[0069] After the UAV completes all the tasks in the task list, if it detects that there are still remaining resources, the UAV will have the opportunity to initiate a task takeover request to other UAVs that are still undertaking additional tasks; after benefit evaluation, if it is determined that taking over the additional tasks can bring higher returns, the UAV will actively propose a tender to achieve the maximum utilization of resources.

[0070] Furthermore, in step 4, the allocation process of the 3L-CNP algorithm is as follows:

[0071] After entering the real-time task allocation stage, the three-sided limited contract net protocol (3L-CNP) algorithm is used for real-time task allocation, including four stages: tendering, bidding, competing, and signing. Limiting measures are added in different stages, which not only ensures the maximum benefit of task allocation but also significantly improves the real-time performance and allocation efficiency of the algorithm;

[0072] In the tendering stage, the tendering UAV broadcasts a task announcement to other UAVs through a distributed communication network; the task announcement is expressed as {t d ,L,p j ,γj , T b , R}, where t d represents the task detection time, L represents the task geographical coordinates, and p j represents the task risk cost, and γ j represents the priority of task j, and T b represents the tender validity period;

[0073] Step 4.1: Introduce a tender time limit based on the CNP algorithm to determine whether the tender is overdue:

[0074] To ensure that high-priority tasks can be processed quickly, each task is set with a specific tender time range Δt. Only the drones that receive tender information within Δt are eligible to participate in the tender, thus effectively controlling the number of drones participating in the tender and improving the efficiency of task allocation. At the same time, the priority γ j of the task directly affects the length of the tender time. The higher the priority, the shorter the tender time , so as to ensure that urgent tasks can be quickly allocated;

[0075] In addition, the drone system also limits the number of communications of the tendering drone during the tender period to t c which is the duration of one communication. The number of communications limits the spread range of tender information and reduces the communication burden. If the number of communications is less than one, the drone system will ensure that the task information is at least transmitted to the directly adjacent drones of the tendering drone to ensure that other drones can participate in the tender, thus avoiding the situation where the task is not taken over. The tender time limit mechanism not only accelerates the allocation of high-priority tasks but also significantly improves the communication efficiency of the drone system by reducing unnecessary communication round trips. Overall, this method takes into account both the speed of task allocation and the effective utilization of communication resources, ensuring the efficient operation of the multi-drone system when dealing with high-priority tasks.

[0076] Step 4.2: Introduce a task priority limit based on Step 4.1:

[0077] After a task is contracted by a tendering drone, the next task can be released. Therefore, in the real-time allocation stage, when the tendering drone finds that multiple tasks need to be allocated, the tasks need to be successively released according to the priority. The task priority γ j ∈(0, 1], and the higher the value of γ j , the more urgent the task;

[0078] In the real-time task allocation phase, tasks with higher priorities are auctioned first; when a task is being auctioned and the bidding UAV discovers a new task, it will evaluate the value of the new task through Equation (12). If the value of the new task exceeds that of the current task, the allocation of the current task will be interrupted, the auction order will be changed, and the new task will be auctioned first;

[0079]

[0080] where R ij represents the profit of UAV i when obtaining task j when task j has no priority, and R ij is calculated according to Equation (1); γ k represents the priority of task k; when the bidding UAV receives the bidding information of multiple tasks, the bidding UAV will decide which tasks to participate in the bidding according to Equation (12) to bid for tasks with high priorities and large profits; when encountering tasks with the same priority and profit, the UAV randomly selects tasks to bid; once the bidding UAV successfully bids for a task, the bidding UAV will rearrange the order of task execution according to the priority and profit of the task to ensure that the most important tasks are completed first.

[0081] Furthermore, in step 5, in the bidding stage, a limit on the number of bids is set to judge the resources of the bidding UAV itself:

[0082] After the task information is received by the bidding UAV, the bidding UAV first judges whether the task buffer pool of the UAV is full. If it is full, it will exit the bidding. Otherwise, it will continue to judge whether it has received the information of multiple bidding tasks at the same time. If so, it will sort according to the task priority and profit and select tasks with high value to bid. Otherwise, it will directly formulate a bid according to the profit of the task and participate in the bidding; when bidding, the UAV selects one of buying and selling, swapping, and exchanging the contracts of the bidding UAV according to its own resource situation to obtain the optimal profit;

[0083] Step 5.1, set a limit on the number of bids and judge whether the buffer pool of the bidding UAV is full:

[0084] Limit the number of bids of the UAV and manage the bidding status of the bidding UAV; each UAV has a task buffer pool capacity q i to control the number of tasks that the UAV can participate in bidding; the buffer pool capacity q i is calculated according to the following formula (13):

[0085]

[0086] where represents the number of existing tasks in the system before the current bidding, represents the number of new tasks discovered during the current bidding process, m0 is the number of tasks completed by UAV i, and the buffer pool capacity qi The calculation result is an integer rounded up; when the number of tasks in the buffer pool is less than q i the UAV continues to participate in new task bidding; once the buffer pool reaches its capacity limit, the UAV will suspend participating in new task bidding and focus on completing the tasks it has won the bid for, thus avoiding task backlog and ensuring the continuity and efficiency of task execution;

[0087] Step 5.2, determine whether the resources of the bidding UAV itself are sufficient:

[0088] The UAV system also introduces an evaluation mechanism for the remaining flight range of the UAV to ensure that the UAV has sufficient endurance to complete new tasks; the formula D max -d i <d ij indicates that the remaining flight range of the UAV is not sufficient to complete the new task, and the UAV at this time will not participate in task bidding; in the formula, D max represents the maximum flight range supported by UAV i, and d i is the distance the UAV has already flown; the evaluation mechanism for the remaining flight range of the UAV improves the rationality of task allocation and ensures that tasks are assigned to UAVs that can execute them smoothly.

[0089] Furthermore, in step 6, during the bidding stage, the judgment of whether the UAV bidding feedback times out is as follows:

[0090] For the bidding UAVs that exceed the specified bidding time, the tendering UAV sends a timeout message to make the timed-out bidding UAVs withdraw from the tender;

[0091] For the tendering UAVs within the specified bidding time range, the tendering UAV keeps the bid documents, sorts them according to the bid price, selects the UAV with the highest bid price as the winner, and sends the winning information to all the UAVs participating in the bidding.

[0092] Furthermore, in step 7, during the signing stage, the types of contracts signed include sales contracts, barter contracts, and exchange contracts.

[0093] Furthermore, the sales contract is the most basic form, which involves the transfer of the right to execute a single task. The sales contract gives the winning UAV the right to execute the task; the data in the sales contract is stored in a six-tuple, which is represented as [T k ,γ k ,U i ,P ik ,Q i ,U j , where T k represents the number of the assigned task, U i represents the winning UAV number, P ik represents the UAV U i for the task Tk The quotation of Q i represents the drone U i 's task queue, U j represents the tender drone number;

[0094] The replacement contract allows bidders to abandon the current low-yield tasks and instead bid for higher-yield tasks; the abandoned tasks will be reallocated by the tender drone as a new tenderer; compared with the sales contract, a new set of data T is added to the replacement contract i , T i is used to record the task numbers abandoned by the drone; the seven-tuple data of the replacement contract is expressed as [T k , γ k , U i , P ik , Q i , U j , T i ;

[0095] The exchange contract is a special case of the replacement contract; in the exchange contract, the tasks abandoned by the tender drones are directly taken over by the tender drones, forming a direct exchange of tasks; the exchange contract adds γ on the basis of the replacement contract i , P ji , Q j , where γ i represents the priority of task T i , P ji represents the drone U j 's quotation for task T i , Q j represents the drone U j 's task queue, and the ten-tuple data of the replacement contract is expressed as [T k , γ k , U i , P ik , Q i , U j , T i , γ i , P ji , Q j ;

[0096] Furthermore, in step 8, the supervision process of the winning drone's task execution is as follows:

[0097] For the winning drone, in order to ensure the smooth completion of the task and prevent the situation where the task cannot be completed due to the failure of the winning drone, the tender drone needs to supervise the task execution of the winning drone:

[0098] The moment when the tender drone and the winning drone sign the task is t a ; tl The maximum time limit for task j to be completed; t c The maximum communication duration in a multi-UAV system at one time; The tendering UAV needs to obtain the feedback of the winning UAV on the task before time t l + t a + t c At this moment, the tendering UAV needs to obtain the feedback of the winning UAV on the task. If the tendering UAV does not receive the feedback, it will send a reminder to the winning UAV first. If no feedback is received within time t c If no feedback is still received within this time, the tendering UAV believes that the winning UAV has a major sudden failure and cannot complete the task. Then the tendering UAV will take back the task, continue to have the right to allocate the task, and re-conduct the tendering; Through the feedback and supervision process, the stability of the UAV system task allocation and the task completion rate are significantly improved.

[0099] In specific applications, the UAV flexibly selects the contract type according to its own resource status: when resources are sufficient, it preferentially uses the sales contract; when resources are limited but there are high-yield tasks, it selects the barter contract; and when the tendering UAV can execute the tasks abandoned by the bidding UAVs, it adopts the exchange contract. The flexible application of this contract type enables the task allocation mechanism to dynamically adapt to the changes in the complex environment, optimize the resource utilization efficiency, and improve the task completion rate and the overall performance of the system.

[0100] The beneficial effects of the present invention are as follows:

[0101] (1) Improvement in efficiency and real-time performance: The tripartite-limited CNP algorithm significantly improves the efficiency of task allocation and real-time response ability by setting task priorities, restricting the tendering time, and adopting a task capacity buffer pool. This enables the CNP algorithm to quickly adapt to environmental changes, timely adjust the task allocation strategy, and ensure that high-priority tasks can be processed promptly;

[0102] (2) Optimization of resource allocation and enhancement of system robustness: By restricting the number of bids and introducing multiple contract types, the tripartite-limited CNP algorithm achieves balanced resource allocation, avoids resource waste, and improves the task completion rate. At the same time, the task supervision and reallocation mechanism in the CNP algorithm enhances the system robustness, ensuring that tasks can be effectively processed in the face of UAV failures or other emergencies. BRIEF DESCRIPTION OF THE DRAWINGS

[0103] Figure 1 It is a multi-UAV task allocation step diagram;

[0104] Figure 2 It is a multi-UAV task area schematic diagram;

[0105] Figure 3 It is a flowchart of the initial allocation stage;

[0106] Figure 4 For the trigger implementation allocation condition diagram;

[0107] Figure 5 For the real-time allocation phase flow chart;

[0108] Figure 6 For the allocation performance comparison of two algorithms;

[0109] Figure 6 Among them, Figure (a) is the communication times comparison diagram; Figure (b) is the task reallocation time comparison diagram; Figure (c) is the total cost comparison diagram of the task; Figure (d) is the normalized total cost comparison diagram. Detailed implementation manners

[0110] The multi-UAV dynamic task allocation method based on three-party limitation and CNP proposed by the present invention has the overall training process divided into an initial allocation phase and an implementation allocation phase. The following combines the attached drawings and specific embodiments of the two phases to further clearly and completely describe the technical solution.

[0111] The present invention provides a multi-UAV dynamic task allocation method based on three-party limitation and CNP. The multi-UAV dynamic task allocation method includes the following steps:

[0112] As Figure 1 shown:

[0113] Step 1, construct a UAV collaborative multi-task allocation model;

[0114] Step 2, in the task initial allocation phase, the tenderer directly allocates tasks;

[0115] Step 3, the external unknown environment triggers the UAV to enter the real-time allocation phase;

[0116] Step 4, in the tendering phase, use the 3L-CNP algorithm for real-time task allocation;

[0117] Step 5, in the bidding phase, judge the resources of the bidding UAV itself;

[0118] Step 6: In the bidding competition phase, judge whether the UAV bidding competition feedback times out;

[0119] Step 7, in the signing phase, the tendering UAV accepts the bid and signs a contract;

[0120] Step 8, supervise the task execution of the winning bid UAV.

[0121] As Figure 2 shown:

[0122] In Step 1, the method for constructing the UAV collaborative multi-task allocation model is as follows:

[0123] Step 1.1, Define the task area:

[0124] The task area is a two-dimensional finite rectangular space, which includes all task objectives and threat areas that affect the real-time task allocation results. The threat area includes obstacles that hinder the normal flight route of the UAV, and the obstacles include buildings, mountains, and woods; the task objectives are known static targets in the task area; in different tasks, the UAV swarm needs to efficiently reach the task objective positions.

[0125] Step 1.2, Construct the task allocation model:

[0126] The constraint conditions for the multi-UAV task allocation task include allocation quantity constraint, execution time constraint, and single-UAV capacity constraint; the task allocation model is expressed as the set {E, V, T, M, C}; where, E is the task area, V is a group of UAVs that can execute tasks, V = {V1, V2, …, V n}, T is a group of tasks that need to be executed, T = {T1, T2, …, T m}, M is a group of threats generated by the UAVs executing tasks, M = {M1, M2, …, M t}, C is the constraint condition; n is the number of UAVs, m is the number of tasks; t represents the moment when the task is completed.

[0127] Step 1.3, Determine the task allocation objective function:

[0128] The purpose of the multi-UAV task allocation model is to allocate tasks to each UAV to maximize the overall benefit under the premise of satisfying various constraints; the core of the multi-UAV task allocation is to determine whether each UAV obtains a specific task.

[0129] The task allocation objective function is as follows:

[0130]

[0131] In the formula, R ij represents the benefit when UAV i obtains task j; r ij is the reward obtained when the UAV completes the task; the reward is calculated based on the value r j of the task itself and the attenuation factor, where r j is the task value; ε is the attenuation coefficient; c ij is the cost that the UAV needs to pay to complete the task; d ij is the track cost for UAV i to complete task j; p ij is the risk cost related to the task; α is the cost coefficient, and the cost coefficient is adjusted according to the nature of different tasks, and is used to adjust the proportion of the track cost and the risk cost in the total cost.

[0132] Calculate the corresponding revenue R according to the task assignment objective function ij ;

[0133] In reconnaissance or search missions, the track cost is more important, while in strike missions, the risk cost is more critical; the multi-UAV task assignment model can adapt to various different task requirements and assign the most suitable tasks to each UAV to maximize the overall revenue; to design the task assignment function of multi-UAVs, under the condition of meeting the constraints of the task assignment model, obtain the optimal assignment plan for the maximum total revenue R; the optimal assignment plan π of the maximum total revenue R * is as follows:

[0134]

[0135] In the formula, π is all the plans of task assignment; is the total duration spent when assigning tasks; the variable λ ij represents whether UAV i obtains the assignment result of task j;

[0136] Step 1.4, determine the task assignment constraints:

[0137] To enable multi-UAVs to obtain the task assignment plan with the maximum revenue, the revenue of task j assigned to UAV i needs to be obtained under constrained conditions; the constraints include assignment quantity constraints, execution time constraints, and single-UAV capacity constraints;

[0138] Constraint 1 represents the assignment quantity constraint, indicating that regardless of whether the number of UAVs is more than, equal to, or less than the number of tasks, it is necessary to ensure that each UAV gets at least one task, and at the same time each task is assigned to at least one UAV; the assignment quantity constraint formula is expressed as follows:

[0139]

[0140] Among them, k i represents the number of tasks obtained by UAV i; k j represents the number of UAVs to which task j is assigned; the number of UAVs is n, and the number of tasks is m;

[0141] Constraint 2 represents the execution time constraint, indicating that all assigned tasks must be completed within the specified time to ensure the timeliness of the tasks. The execution time constraint is expressed as the following formula:

[0142] maxt j ≤T max , j = 1, …, m Equation (5)

[0143] Among them, t j is the moment when task j is completed; T max is the latest moment for the specified task completion;

[0144] Constraint 3 represents the single - aircraft capacity constraint, which means that when the UAV is performing a mission, the flight range of the UAV cannot exceed the maximum flight range limit to adapt to the endurance and performance constraints of the UAV. The single - aircraft capacity constraint is expressed as the following formula:

[0145] d ij ≤D max , i = 1, …, n, j = 1, …, m Formula (6)

[0146] where D max is the maximum flight range of the UAV; By allocating the constraint conditions of quantity constraint, execution time constraint and single - aircraft capacity constraint, it is ensured that the task allocation plan not only meets the requirements of actual operation, but also takes into account the capabilities and time limitations of the UAVs, thus realizing an efficient and feasible task allocation strategy.

[0147] As Figure 3 shown:

[0148] In step 2, the process of the tenderer directly allocating tasks is as follows:

[0149] Step 2.1, arbitrarily select one of the multiple UAVs as the host. The host is the tenderer and is responsible for collecting task information and UAV information of non - host UAVs; The task information includes geographical coordinates, type identification, priority level, expected revenue and potential risks; The UAV information includes the number of UAVs, current position, performance parameters and resource status; The host, as the tenderer, directly allocates tasks to non - host UAVs according to the combination method of UAVs and tasks in terms of quantity;

[0150] The combination method of the UAVs and tasks in terms of quantity is as follows:

[0151] Combination method 1: When the number of UAVs is equal to the number of tasks, that is, when n = m:

[0152] Each UAV is assigned one task. The order of the UAVs is fixed using the enumeration greedy method, and the m tasks are numbered and permuted. The permutation with the maximum total revenue is selected as the final allocation plan. The combination method of UAVs and tasks in terms of quantity is as shown in formula (7); Among them, the left - hand matrix of formula (7) is the order of the UAVs, the right - hand matrix is all the permutation ways of the tasks, and each column in the right - hand vector represents a permutation way of the tasks. The number of permutation ways of the tasks is ; When calculating the permutation ways of different tasks, the total revenue of the UAVs performing the corresponding numbered tasks is calculated. The revenues of all UAVs for all tasks are represented by the matrix of formula (8); According to the calculated revenues, the permutation way with the maximum task revenue is greedily selected as the final task allocation result;

[0153]

[0154] Combination method 2: When the number of drones is more than the number of tasks, that is, when n>m:

[0155] Each task is obtained by one or more drones. Similarly, using the enumeration greedy method, the optimal drone combination is selected for task allocation, that is, all permutations and combinations of m drones are selected from n drones, and the remaining n - m drones do not participate in task execution; the benefits of m drones for all tasks are represented by the matrix in formula (9), and the allocation permutation method with the largest task benefit is greedily selected as the final task allocation result:

[0156]

[0157] In formula (9), the left vector is the task number vector, and the right matrix is the permutation matrix of drone numbers. Each column in the right matrix represents a permutation method of drones. The total number of permutation methods of drones is types; after each task is assigned to the corresponding m drones, the remaining n - m drones are not assigned tasks; for the remaining drones that are not assigned tasks, greedily select the task that can maximize the benefit;

[0158] Combination method 3: When the number of drones is less than the number of tasks, that is, when n<m:

[0159] Each drone undertakes one or more tasks. First, use the enumeration greedy method to assign a task to each drone, and assign n tasks to n drones respectively. The sorting of the corresponding numbers of drones and tasks is as follows in formula (10); then use the contract net protocol to allocate the remaining m - n tasks to ensure that each task can be executed;

[0160]

[0161] For the remaining m - n tasks, the host issues tender information for each task. All drones calculate the task benefits and bid when the task buffer is not full. The host notifies the drone with the largest benefit to obtain the remaining tasks; since the drone already has tasks, it is necessary to calculate the benefit according to the route cost between the last task in the task queue and the bid task. When the end of the task queue of drone i is task j and the benefit of bid task k Among them, is the route cost from task j to bid task k, and r k is the task value of bid task k; the route cost matrix D T is represented as follows in formula (11);

[0162]

[0163] When all the remaining m - n tasks are won, the initial allocation ends.

[0164] As Figure 4 shown below:

[0165] In step 3, the external unknown environment includes discovering new tasks, environmental changes, UAV failures, missing execution of tendered UAV tasks, and remaining resources of the UAV itself;

[0166] In the initial allocation stage, once the task allocation plan for the UAVs is determined, the UAVs participating in the tender will receive detailed task allocation results and initiate their respective task execution processes accordingly. However, during the actual task execution process, due to the uncertainty and dynamics of the external environment, the UAVs may encounter a series of unforeseen situations;

[0167] To address the foreseeable challenges and ensure the smooth completion of the tasks, after the end of the initial task allocation stage, the external unknown environment triggers the UAVs to enter the real-time task allocation stage. The real-time task allocation situations include:

[0168] 3.1 Discovering new tasks:

[0169] When a UAV detects new and urgent task requirements during the execution of the current task, and the new and urgent task requirements exceed the current resources or capabilities of the UAV, the host needs to re-tender for the new and urgent tasks;

[0170] 3.2 Environmental changes:

[0171] When a UAV encounters environmental changes during the task execution, the environmental changes include the emergence of new obstacles or threats in the environment, resulting in the original task path of the UAV being no longer safe or having reduced efficiency, then the host needs to re-tender for the current task;

[0172] 3.3 UAV failures:

[0173] When a UAV monitors that an adjacent UAV has failed, the non-failed UAVs will take over the tasks of the failed UAV and re-evaluate and allocate the tasks of the failed UAV based on the current conditions to ensure the continuous progress of the tasks;

[0174] 3.4 Missing execution of tendered UAV tasks:

[0175] During the task execution process, when the tendering UAV fails to receive feedback on the task progress from the competing UAVs within the scheduled time, to avoid task delays, the tendering UAV will regain task control and initiate a new round of tendering process;

[0176] 3.5 When the UAV itself has remaining resources:

[0177] After the UAV has completed all the tasks in the task list, if it detects that there are still remaining resources, the UAV will have the opportunity to send a task takeover request to other UAVs that are still undertaking additional tasks; after benefit evaluation, if it is determined that taking over additional tasks can bring higher returns, the UAV will actively initiate a tender to maximize the utilization of resources.

[0178] As Figure 5 shown:

[0179] In step 4, the allocation process of the 3L-CNP algorithm is as follows:

[0180] After entering the real-time task allocation stage, the three-party limited contract net protocol (3L-CNP) algorithm is used for real-time task allocation, including four stages: tendering, bidding, competing, and signing. Limiting measures are added in different stages, which not only ensures the maximization of task allocation benefits but also significantly improves the real-time performance and allocation efficiency of the algorithm;

[0181] In the tendering stage, the tendering UAV broadcasts a task announcement to other UAVs through a distributed communication network; the task announcement is represented as {t d , L, p j , γ j , T b , R}, where t d represents the task detection time, L represents the task geographical coordinates, p j represents the task risk cost, γ j represents the priority of task j, T b represents the tender validity period;

[0182] Step 4.1, introduce a tender time limit based on the CNP algorithm to determine whether the tender is overdue:

[0183] To ensure that high-priority tasks can be processed quickly, each task is set with a specific tender time range Δt. Only the UAVs that receive the tender information within Δt are eligible to participate in the bidding, thus effectively controlling the number of UAVs participating in the bidding and improving the efficiency of task allocation; at the same time, the priority γ j of the task directly affects the length of the tender time. The higher the priority, the shorter the tender time , so as to ensure that urgent tasks can be quickly allocated;

[0184] In addition, the UAV system also limits the number of communication times of the tendering UAV during the tender period to t cThe duration of one communication. The number of communications limits the dissemination range of the tender information and reduces the communication burden. If the number of communications is less than one, the UAV system will ensure that the mission information is at least transmitted to the directly adjacent UAVs of the tendering UAV to ensure that other UAVs can participate in the tender, thus avoiding the situation where the mission is not taken over. The tender time limit mechanism not only accelerates the allocation of high-priority missions, but also significantly improves the communication efficiency of the UAV system by reducing unnecessary communication round-trips. Overall, this method takes into account both the speed of mission allocation and the effective utilization of communication resources, ensuring the efficient operation of the multi-UAV system when dealing with high-priority missions.

[0185] Step 4.2, introducing mission priority limitation on the basis of Step 4.1:

[0186] A mission can be released only after being contracted by a tendering UAV. Therefore, in the real-time allocation stage, when the tendering UAV finds that multiple missions need to be allocated, the missions need to be successively released outward according to the priority. Mission priority, γ j The higher the value, the more urgent the mission;

[0187] In the real-time mission allocation stage, missions with higher priorities are auctioned first. When a mission is being auctioned and the tendering UAV finds that a new mission appears, it will evaluate the value of the new mission through Equation (12). If the value of the new mission exceeds the current mission, the allocation of the current mission will be interrupted, the auction order will be changed, and the new mission will be auctioned first;

[0188]

[0189] Among them, R ij represents the profit when UAV i obtains mission j when mission j has no priority, and R ij is calculated according to Equation (1); γ k represents the priority of mission k. When the tendering UAV receives the tender information of multiple missions, the tendering UAV will decide which mission to participate in the tender according to Equation (12) to bid for missions with high priorities and large profits. When encountering missions with the same priority and profit, the UAV randomly selects missions to bid. Once the tendering UAV successfully bids for a mission, the tendering UAV will rearrange the order of mission execution according to the priority and profit of the mission to ensure that the most important mission is completed first.

[0190] In Step 5, in the tendering stage, set the limit on the number of tenders and judge the resources of the tendering UAV itself:

[0191] After the task information is received by the bidding UAV, the bidding UAV first determines whether the task buffer pool of the UAV is full. If it is full, the UAV exits the bidding. Otherwise, it continues to determine whether it has received information on multiple tendering tasks at the same time. If so, it selects the task with a high value to bid according to the task priority and revenue ranking. Otherwise, it directly formulates a tender document based on the revenue of the task and participates in the bidding. When bidding, the UAV selects one of buying, selling, swapping, and exchanging the bidding UAV contracts according to its own resource situation to obtain the optimal revenue.

[0192] Step 5.1: Set the limit on the number of bids and determine whether the buffer pool of the bidding UAV is full:

[0193] Limit the number of bids of the UAV and manage the bidding status of the bidding UAV. Each UAV is equipped with a task buffer pool capacity q i , which is used to control the number of tasks that the UAV can participate in bidding. The buffer pool capacity q i is calculated according to the following formula (13):

[0194]

[0195] where represents the number of existing tasks in the system before the current tendering, represents the number of new tasks discovered during the current tendering process, m0 is the number of tasks completed by UAV i, and the buffer pool capacity q i is the ceiling integer of the calculation result; when the number of tasks in the buffer pool is less than q i , the UAV continues to participate in the bidding for new tasks. Once the buffer pool reaches the capacity limit, the UAV will suspend participating in the bidding for new tasks and focus on completing the tasks that have been won, thus avoiding task backlog and ensuring the continuity and efficiency of task execution.

[0196] Step 5.2: Determine whether the resources of the bidding UAV are sufficient:

[0197] The UAV system also introduces an evaluation mechanism for the remaining flight range of the UAV to ensure that the UAV has sufficient endurance to complete new tasks; the formula D max -d i <d ij indicates that the remaining flight range of the UAV is not sufficient to complete the new task, and the UAV at this time will not participate in the task bidding; in the formula, D max represents the maximum flight range supported by UAV i, and d i is the distance that the UAV has flown; the evaluation mechanism for the remaining flight range of the UAV improves the rationality of task allocation and ensures that tasks are assigned to UAVs that can execute smoothly.

[0198] In step 6, during the bidding stage, the judgment of whether the UAV bidding feedback times out is as follows:

[0199] For the bidding UAVs that exceed the specified bidding time, the tendering UAV sends a timeout message to make the timed-out bidding UAVs withdraw from the tender;

[0200] For the tendering UAVs within the specified bidding time range, the tendering UAVs keep the bids and, according to the bid price ranking, select the UAV with the highest bid price as the winner and send the winning information to all the UAVs participating in the bidding.

[0201] In step 7, in the signing stage, the types of contracts signed include sales contracts, replacement contracts, and exchange contracts.

[0202] The said sales contract is the most basic form, involving the transfer of the right to execute a single task. The sales contract gives the winning UAV the execution permission for the task. The data in the sales contract is stored in a six-tuple, which is expressed as [T k ,γ k ,U i ,P ik ,Q i ,U j , where T k represents the number of the assigned task, U i represents the winning UAV number, P ik represents the bid price of UAV U i for task T k , Q i represents the task queue of UAV U i , and U j represents the tendering UAV number;

[0203] The said replacement contract allows the bidder to abandon the current low-yield task and instead bid for a higher-yield task; the abandoned task will be reallocated by the bidding UAV as the new tenderer; compared with the sales contract, the replacement contract adds a set of data T i , T i to record the number of the task abandoned by the UAV; the seven-tuple data of the replacement contract is expressed as [T k ,γ k ,U i ,P ik ,Q i ,U j ,T i ;

[0204] The said exchange contract is a special case of the replacement contract; in the exchange contract, the task abandoned by the bidding UAV is directly taken over by the tendering UAV, forming a direct exchange of tasks; the exchange contract adds γ i ,P ji ,Q j on the basis of the replacement contract, where γ iDenote the task as T i The priority of ji Denote the drone as U j For the task T i The quotation is Q j Denote the drone as U j The task queue of the drone, the ten - tuple data of the replacement contract is represented as [T k , γ k , U i , P ik , Q i , U j , T i , γ i , P ji , Q j .

[0205] In step 8, the supervision process of the winning - bid drone's task execution is as follows:

[0206] For the winning - bid drone, to ensure the smooth completion of the task and prevent the situation that the task cannot be completed due to the failure of the winning - bid drone, the bidding drone needs to supervise the task execution of the winning - bid drone:

[0207] The moment when the bidding drone and the winning - bid drone sign the task is t a ; t l Is the maximum time limit for task j to be completed; t c Is the maximum communication duration at one time in the multi - drone system; the bidding drone needs to obtain the feedback of the winning - bid drone on the task before the moment of t l +t a +t c . If the bidding drone does not receive the feedback, it will send a reminder to the winning - bid drone. If no feedback is received within the time of t c , the bidding drone believes that the winning - bid drone has a major unexpected failure and cannot complete the task. Then the bidding drone takes back the task and continues to have the right to allocate the task, and re - conducts the bidding; through the feedback and supervision process, the stability of the task allocation and the task completion rate of the drone system are significantly improved.

[0208] The multi-UAV dynamic task allocation method based on three-party constraints and CNP proposed by the present invention. In the real-time task allocation stage, a distributed communication method is adopted to reduce communication costs, priorities are set for tasks to accelerate the allocation speed of high-priority tasks, the bidding time is limited and the number of bids is set to achieve a more balanced task allocation, and a task capacity buffer pool is introduced to control the bidding behavior of UAVs and avoid resource waste. In addition, the algorithm provides multiple contract types, including buy-sell, exchange, and swap contracts, to adapt to the changing task allocation requirements, increasing the flexibility of the system and the efficiency of task completion. These improvements enable the CNP algorithm with three-party constraints to exhibit better real-time performance and robustness when dealing with complex and dynamic task allocation problems.

[0209] Finally, through simulation experiments, the task allocation efficiency of the traditional CNP algorithm and the improved CNP algorithm was compared in terms of the total revenue of task allocation, allocation duration, number of communications, total flight distance, etc. In actual training, three cases of allocation were set, and the numbers of UAVs and tasks (N, M) were (9, 9), (9, 5), and (5, 9) respectively. The numbers of task buffers were calculated according to Equation (12) and were 1, 1, and 2 respectively. When M = 5, the task numbers were (4, 5, 6, 8, 9), and when N = 5, the UAV numbers were (1, 4, 5, 8, 9). The simulation results showed that during the allocation using the CNP algorithm, the reallocation results at a simulation step of 4 s were the same as those of the improved CNP, but the bidders were all UAVs, increasing unnecessary communications. At a simulation step of 7 s, the released tasks were not sorted, and the auction was directly conducted in the original order. The bidding scope was still all UAVs, and the number of tasks of the bidders was not restricted, further increasing the communication volume.

[0210] As Figure 6 shown:

[0211] To evaluate the allocation performance of the two algorithms, tests were conducted in environments with the number of UAVs N being 6, 8, 10, 12, and 14 respectively, and five groups of simulation experiments were carried out. Each group of simulation experiments was repeated 50 times. In the environment of each group of experiments, the number of tasks M = N + 3, and the number of obstacles was 4. At the beginning of each experiment, the initial positions, task priorities, and obstacle radii of UAVs, tasks, and obstacles were randomly generated. The comparison of the allocation performance of the two algorithms is shown in Table 1; Figure 6 The evaluation index values in

[0212] Table 1 Allocation index values of the two algorithms with different numbers of UAVs

[0213]

[0214] Among them, the total task cost is the sum of the total flight distance after task completion and the risk cost of each simulation step, which is the weighted sum of the linear normalized values of the three indicators, that is, Cn = β1n n + β2t n + β3c n ,, n n , t n , c n They are the linear normalization values of three indicators respectively, and the weight values β1, β2, and β3 are 0.3, 0.4, and 0.3 respectively. Among them, the smaller the reallocation time and the number of communications, the higher the allocation efficiency, and the smaller the normalized cost, the better the comprehensive allocation performance of the algorithm.

[0215] From Figure 5 it can be seen that in the environment of different numbers of drones, the average number of communications and the average reallocation time of the CNP algorithm based on the tripartite agreement are 36 times and 69.58 ms less than those of the CNP algorithm respectively, and the average normalized cost is reduced by 20.72% compared with the CNP algorithm, indicating that the CNP real-time allocation based on the tripartite agreement is highly efficient. When the number of drones increases, the number of communications and the allocation time of the two algorithms also increase, but the growth rate of the CNP is significantly higher than that of the CNP based on the tripartite agreement. When the number of drones is 12 and 14, the number of communications of the CNP reaches 1.5 times that of the CNP based on the tripartite agreement, indicating that the real-time performance of the CNP based on the tripartite agreement is significantly better than that of the CNP. In terms of the total cost, due to the limitation of the bidding scope, the total cost of the CNP based on the tripartite agreement is higher than that of the CNP, but the gap is very small, and they are basically the same when N = 8, indicating that the CNP based on the tripartite agreement can improve the allocation speed while maintaining a good allocation cost. For the normalized total cost, the CNP based on the tripartite agreement is significantly lower than that of the CNP, and has a slow growth rate. The comprehensive evaluation index value is better than that of the CNP, indicating that the allocation efficiency is higher than that of the CNP, further demonstrating the excellent allocation performance of the CNP based on the tripartite agreement.

[0216] The above is only the preferred implementation mode of the present invention. It should be noted that: the implementation mode of the present invention is not limited to the above implementation methods; for those of ordinary skill in the technical field to which the present invention belongs, without departing from the principle of the present invention, several replacement and modification schemes can be made, and all should be regarded as belonging to the protection scope of the present invention.

Claims

1. A multi-UAV dynamic task allocation method based on three-party qualification and CNP, characterized in that The multi-UAV dynamic task allocation method includes the following steps: Step 1, construct a UAV collaborative multi-task allocation model; Step 2, in the initial task allocation stage, the tenderer directly allocates tasks; Step 3, the external unknown environment triggers the UAV to enter the real-time allocation stage; Step 4, in the tendering stage, use the 3L-CNP algorithm for real-time task allocation; Step 5, in the bidding stage, judge the resources of the bidding UAV itself; Step 6: In the competition stage, judge whether the UAV competition feedback times out; Step 7, in the signing stage, the tendering UAV accepts the bid and signs a contract; Step 8, supervise the task execution of the winning UAV.

2. The multi-UAV dynamic task allocation method according to claim 1, characterized in that In Step 1, the method for constructing the UAV collaborative multi-task allocation model is as follows: Step 1.1, define the task area: The task area is a two-dimensional finite space in the shape of a rectangle. The task area includes all task targets and threat areas that affect the real-time task allocation results. The threat area includes obstacles that hinder the normal flight route of the UAV. The obstacles include buildings, mountains, and forests; the task targets are known static targets in the task area; in different tasks, the UAV swarm needs to efficiently reach the task target positions; Step 1.2, construct the task allocation model: The constraints of the multi-UAV mission assignment task include the assignment quantity constraint, the execution time constraint, and the single-UAV capacity constraint; the mission assignment model is expressed as the set {E, V, T, M, C}; among them, E is the mission area, V is a set of UAVs that can execute missions, V = {V1, V2, …, V n}, T is a set of missions that need to be executed, T = {T1, T2, …, T m}, M is a set of threats generated by UAVs executing missions, M = {M1, M2, …, M t}, C is the constraint condition; n is the number of UAVs, m is the number of missions; t represents the moment when the mission is completed; Step 1.3, determine the task allocation objective function: The task allocation objective function is as follows: Wherein, R ij represents the revenue obtained by the UAV i when obtaining task j; r ij is the reward obtained when the UAV completes the task; the reward is calculated based on the value r j of the task itself and the attenuation factor, where r j is the task value; ε is the attenuation coefficient; c ij is the cost that the UAV needs to pay to complete the task; d ij is the trajectory cost for the UAV i to complete task j; p ij is the risk cost related to the task; α is the cost coefficient, and the cost coefficient is adjusted according to the nature of different tasks. To design the task allocation function for multiple UAVs, an optimal allocation plan that maximizes the total revenue R is obtained under the condition of satisfying the constraints of the task allocation model; the optimal allocation plan π for the maximum total revenue R * is as follows: Where, π represents all the task assignment scenarios; T a is the total time spent when assigning tasks; the variable λ ij indicates whether UAV i gets the assignment result of task j; Step 1.4, determine the task allocation constraint conditions: The constraint conditions include allocation quantity constraint, execution time constraint, and single UAV capacity constraint; Constraint 1 represents the allocation quantity constraint, indicating that regardless of whether the number of UAVs is more than, equal to, or less than the number of tasks, it must be ensured that each UAV gets at least one task, and at the same time each task is assigned to at least one UAV; the allocation quantity constraint formula is expressed as follows: where k i represents the number of tasks obtained by UAV i; k j represents the number of UAVs to which task j is assigned; the number of UAVs is n, and the number of tasks is m; Constraint 2 represents the execution time constraint, indicating that all allocated tasks must be completed within the specified time to ensure the timeliness of the tasks. The execution time constraint is expressed as the following formula: max t j ≤T max , for j = 1, …, m, Equation (5) where t j is the time when task j is completed; T max is the latest time to complete the task as specified; Constraint 3 represents the single UAV capacity constraint, indicating that when the UAV is performing a task, the UAV flight range cannot exceed the maximum flight range limit to adapt to the endurance ability and performance constraints of the UAV. The single UAV capacity constraint is expressed as the following formula: d ij ≤D max , where i = 1, …, n, j = 1, …, m, Equation (6) Among them, D max is the maximum flight range of the drone.

3. The multi-UAV dynamic task allocation method according to claim 1, wherein In Step 2, the process of the tenderer directly allocating tasks is as follows: Step 2.1, arbitrarily select one of the multiple UAVs as the host. The host is the tenderer and is responsible for collecting task information and UAV information of non-host UAVs; the task information includes geographical coordinates, type identifiers, priority levels, expected benefits, and potential risks; the UAV information includes the number of UAVs, current positions, performance parameters, and resource status; the host, as the tenderer, directly allocates tasks to non-host UAVs according to the combination method of UAVs and tasks in terms of quantity; The combination methods of UAVs and tasks in terms of quantity are as follows: Combination method 1: When the number of UAVs is equal to the number of tasks, that is, when n = m: Each drone is assigned a task. The order of the drones is fixed using the enumeration greedy method, and the m tasks are numbered and permuted. The permutation with the maximum total benefit is selected as the final allocation plan. The combination method between the number of drones and tasks is as shown in formula (7); where the left matrix in formula (7) is the order of the drones, the right matrix is all the permutation ways of the tasks, and each column in the right vector represents a permutation way of the tasks. The number of permutation ways of the tasks is types; When calculating the different permutation ways of the tasks, the total benefit of the drones performing the tasks with the corresponding numbers is calculated. The benefits of all drones for all tasks are represented by the matrix in formula (8); According to the calculated benefits, the permutation way with the maximum task benefit is greedily selected, which is the final task allocation result; Combination method 2: When the number of UAVs is more than the number of tasks, that is, when n > m: Each task is obtained by one or more drones. The enumeration greedy method is also used to select the optimal drone combination for task allocation, that is, all permutations and combinations of m drones are selected from n drones, and the remaining nm drones do not participate in task execution; the benefits of m drones for all tasks are expressed by the matrix of formula (9), and the benefit greedy method selects the allocation arrangement with the maximum task benefit, which is the final task allocation result: In formula (9), the left vector is the task number vector, and the right matrix is the permutation matrix of the UAV numbers. Each column in the right matrix represents a permutation method of the UAVs, and there are kinds; after each task is assigned to the corresponding m UAVs, the remaining n - m UAVs are not assigned tasks; for the remaining UAVs that are not assigned tasks, simply select the task that can maximize the revenue by revenue greedy selection; Combination method 3: When the number of drones is less than the number of tasks, that is, when n <m时: Each drone undertakes one or more tasks. First, a task is assigned to each drone through the greedy method. n tasks are assigned to n drones respectively. The order of the corresponding numbers of drones and tasks is as follows (10). Then, the remaining mn tasks are assigned using the contract network protocol to ensure that each task can be executed. For the remaining m - n tasks, the host issues tender information for each task. All drones calculate the task revenue and bid when the task buffer is not full. The host notifies the drone with the maximum revenue to obtain the remaining tasks. Since the drone already has tasks, it needs to calculate the revenue based on the route cost between the last task in the task queue and the bid task. When the end of the task queue of drone i is task j and the revenue of the bid task k where is the route cost from task j to the bid task k, and r k is the task value of the bid task k; the route cost matrix D between the bid tasks T is expressed as the following formula (11); When all the mn remaining tasks have won bids, the initial allocation ends.

4. The multi-UAV dynamic task allocation method according to claim 1, characterized in that In step 3, the external unknown environment includes the discovery of new tasks, environmental changes, drone failures, lack of execution of bidding drone tasks, and surplus resources of the drone itself; In order to cope with the foresight challenges and ensure the smooth completion of the mission, after the initial mission allocation phase, the external unknown environment triggers the drone to perform the real-time mission allocation phase. The real-time mission allocation includes: 3.1 Discover new tasks: When the UAV detects a new, urgent mission requirement during the execution of the current mission, and the new, urgent mission requirement exceeds the current resources or capabilities of the UAV, the host needs to re-tender the new, urgent mission; 3.2 Environmental changes: When a drone encounters environmental changes during a mission, including the appearance of new obstacles or threats in the environment, which causes the drone's original mission path to be no longer safe or less efficient, the host needs to re-tender the current mission; 3.3 Drone failure: When a drone detects that an adjacent drone has a fault, the remaining drone will take over the faulty drone’s mission and re-evaluate and reassign the faulty drone’s mission based on current conditions to ensure that the mission can continue; 3.4 Bidding drone mission execution missing: During the mission execution, if the bidding drone fails to receive feedback from the bidding drone on the mission progress within the scheduled time, in order to avoid mission delays, the bidding drone will regain control of the mission and initiate a new round of bidding process; 3.5 When the drone has remaining resources: After the drone completes all the tasks in the task list, if it detects that it still has surplus resources, the drone will have the opportunity to initiate a task takeover request to other drones that are still responsible for additional tasks; after a benefit evaluation, if it is determined that taking over additional tasks can bring higher returns, the drone will take the initiative to bid to maximize the use of resources.

5. The multi-UAV dynamic task allocation method according to claim 1, characterized in that In step 4, the allocation process of the 3L-CNP algorithm is as follows: After entering the real-time task allocation phase, the three-party limited contract net protocol (3L-CNP) algorithm is adopted for real-time task allocation, including four stages: tendering, bidding, competing, and signing. Limiting measures are added in different stages, which not only ensures the maximization of task allocation benefits but also significantly improves the real-time performance and allocation efficiency of the algorithm. In the tendering stage, the tendering drone broadcasts a task announcement to other drones through a distributed communication network. The task announcement is expressed as {t d , L, p j , γ j , T b , R}, where t d represents the task detection time, L represents the task geographical coordinates, p j represents the task risk cost, γ j represents the priority of task j, T b represents the tender validity period; Step 4.1, introduce a tendering time limit based on the CNP algorithm to determine whether the tendering is overdue. To ensure that high-priority tasks can be processed quickly, each task is set with a specific bidding time range Δt. Only the drones that receive the bidding information within Δt are eligible to participate in the bidding, thus effectively controlling the number of drones participating in the bidding and improving the efficiency of task allocation. At the same time, the priority γ of the task j directly affects the length of the bidding time. The higher the priority, the shorter the bidding time, so as to ensure that urgent tasks can be allocated quickly; In addition, the drone system also limits the number of communications of the tendering drone during the tendering period to t c the duration of one communication. The number of communications limits the dissemination range of the tender information and reduces the communication burden; if the number of communications is less than one, the drone system will ensure that the mission information is transmitted to at least the directly adjacent drones of the tendering drone; Step 4.2, introduce a task priority limit based on Step 4.

1. Only after a task is contracted by a bidding drone can the next task be released. Therefore, in the real-time allocation phase, when the tendering drone finds that multiple tasks need to be allocated, the tasks need to be successively released outward according to their priorities; the task priority is γ j ∈(0,1], and the higher the value of γ j is, the more urgent the task is; In the real-time task allocation phase, tasks with higher priorities are auctioned first. When a task is being auctioned and the tendering drone discovers a new task, it will evaluate the value of the new task through Equation (12). If the value of the new task exceeds the current task, the allocation of the current task will be interrupted, the auction order will be changed, and the new task will be auctioned first. Among them, R ij represents the revenue obtained by UAV i when obtaining task j when task j has no priority. R ij is calculated according to Equation (1); γ k represents the priority of task k. When the bidding UAV receives the bidding information of multiple tasks, the bidding UAV will decide the tasks to participate in the bidding according to Equation (12) to bid for tasks with high priority and large revenue. When encountering tasks with the same priority and revenue, the UAV randomly selects tasks for bidding. Once the bidding UAV successfully bids for a task, the bidding UAV will rearrange the order of task execution according to the priority and revenue of the task to ensure that the most important task is completed first.

6. The multi-UAV dynamic task allocation method according to claim 1, characterized in that In Step 5, in the bidding stage, set a limit on the number of bids and judge the resources of the bidding drones. After receiving the task information, the bidding drone first judges whether the task buffer pool of the drone is full. If it is full, it will withdraw from the bidding. Otherwise, it will continue to judge whether it has received information about multiple tendering tasks at the same time. If so, it will rank according to task priority and benefits and choose a task with a high value to bid. Otherwise, it will directly prepare a bid based on the benefits of the task and participate in the bidding. When bidding, the drone selects one of buying and selling, replacement, and exchange of the bidding drone contract according to its own resource situation to obtain the optimal benefit. Step 5.1, set a limit on the number of bids and judge whether the buffer pool of the bidding drone is full. Limit the number of drones bidding and manage the bidding status of the bidding drones; each drone is equipped with a task buffer pool capacity q i , which is used to control the number of tasks that the drone can participate in bidding; the buffer pool capacity q i is calculated according to the following formula (13): Among them, represents the number of existing tasks in the system before the current tender, represents the number of new tasks discovered during the current tender. m0 is the number of tasks completed by UAV i, and the buffer pool capacity is q i The calculation result is an integer rounded up; when the number of tasks in the buffer pool is less than q i the UAV continues to participate in new task bidding; once the buffer pool reaches its capacity limit, the UAV will suspend participating in new task bidding and focus on completing the tasks that have been won, thus avoiding task backlog and ensuring the continuity and efficiency of task execution; Step 5.2, judge whether the resources of the bidding drone are sufficient. The drone system also introduces an evaluation mechanism for the remaining flight range of the drone to ensure that the drone has sufficient endurance to complete new tasks; formula D max -d i <d ij indicates that the remaining flight range of the drone is insufficient to complete the new task, and the drone will not participate in the task bidding at this time; in the formula, D max represents the maximum flight range supported by drone i, and d i is the distance the drone has flown; the evaluation mechanism for the remaining flight range of the drone improves the rationality of task allocation and ensures that tasks are assigned to drones that can execute smoothly.

7. The multi-UAV dynamic task allocation method according to claim 1, characterized in that In Step 6, in the competing stage, the judgment of whether the drone's competition feedback times out is as follows: For the bidding drones that exceed the specified bidding time, the tendering drone will send a timeout message to make the timed-out bidding drones withdraw from the tendering. For the tendering drones within the specified bidding time range, the tendering drone will keep the bids and select the drone with the highest bid as the winner according to the bid price ranking, and send the winning information to all the drones participating in the bidding.

8. The multi-UAV dynamic task allocation method according to claim 1, characterized in that In Step 7, in the signing stage, the types of contracts signed include sales contracts, replacement contracts, and exchange contracts.

9. The multi-UAV dynamic task allocation method according to claim 8, wherein, The said sales contract is the most basic form, involving the transfer of the right to execute a single task. The sales contract grants the winning bid drone the right to execute the task. The data in the sales contract is stored in a sextuple, which is expressed as [T k ,γ k ,U i ,P ik ,Q i ,U j . Among them, T k represents the number of the assigned task, U i represents the number of the winning bid drone, P ik represents the bid of drone U i for task T k , Q i represents the task queue of drone U i , and U j represents the number of the tendering drone; The replacement contract allows bidders to abandon the current low-yield tasks and instead bid for higher-yield tasks; the abandoned tasks will be reallocated by the bidding drones as new bidders; compared with the sales contract, a new set of data T is added to the replacement contract i , T i used to record the task numbers abandoned by the drones; the seven-tuple data of the replacement contract is expressed as [T k , γ k , U i , P ik , Q i , U j , T i ; The swap contract is a special case of the replacement contract; in the swap contract, the tasks abandoned by the bidding drones are directly taken over by the tendering drones, forming a direct exchange of tasks; the swap contract adds γ to the replacement contract i ,P ji ,Q j , where γ i represents the priority of task T i , P ji represents the bid of drone U j for task T i , Q j represents the task queue of drone U j . The ten-tuple data of the replacement contract is represented as [T k , γ k , U i , P ik , Q i , U j , T i , γ i , P ji , Q j .

10. The multi-UAV dynamic task allocation method according to claim 1, characterized in that, In Step 8, the supervision process of the task execution of the winning drone is as follows: For the winning drone, in order to ensure the smooth completion of the task and prevent the situation where the task cannot be completed due to the failure of the winning drone, the tendering drone is responsible for supervising the task execution of the winning drone. The moment when the tendering UAV and the winning UAV sign the task is t a ; t l is the maximum time limit for task j to be completed; t c is the maximum communication duration in a multi-UAV system at one time; the tendering UAV needs to obtain the feedback of the winning UAV on the task before the moment of t l +t a +t c . If the tendering UAV does not receive the feedback, it will send a reminder to the winning UAV first. If no feedback is received within the time of t c , the tendering UAV considers that the winning UAV has a major sudden failure and cannot complete the task. The tendering UAV then takes back the task and continues to have the right to allocate the task, and re-conducts the tendering; through the feedback and supervision process, the stability of the UAV system task allocation and the task completion rate are significantly improved.

Citation Information

Patent Citations

  • Multi-machine distributed time sequence task allocation method based on non-deadlock contract net algorithm

    CN113671987A

  • Multi-robot dynamic task allocation method and equipment based on contract net algorithm

    CN115857491A

  • Unmanned aerial vehicle cluster task distribution system based on contract network protocol

    CN117669946A

  • Task allocation method and system based on time window constraint

    CN119026873A

  • Task distribution system, agent and method for distributing task

    JP2007052683A