A heterogeneous multi-unmanned system distributed dynamic task allocation method
Patent Information
- Application Number
- CN202211634542.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-19
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2042-12-19
AI Technical Summary
[0004]本发明的目的在于提供一种异构多无人系统分布式动态任务分配方法,消除了任务陷入添加和移除的循环导致任务分配无法收敛的死锁现象,无需面向重分配问题设计新的分配方法,具备较强的应对动态任务分配问题的能力
[0066]本发明在基于一致性包算法(CBBA)和性能影响算法(PI)的基础上,在任务移除阶段出现死锁现象时,提出新增一种任务移除方式,在少量增加无人系统通信的情况下消除了任务陷入添加和移除的循环导致任务分配无法收敛的死锁现象;同时,针对任务分配执行过程中任务和无人系统的状态变化问题,提出在动态信息更新时刻更新无人系统当前位置和可用时间,使动态任务重分配可采用与初始分配相同的方法进行,无需面向重分配设计新的分配方法,保证本发明提出的分布式方法具备较强的应对动态任务分配问题的能力。
Smart Images

Figure CN115827203B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of task allocation for multi-unmanned systems, and more particularly to a distributed dynamic task allocation method for heterogeneous multi-unmanned systems. Background Technology
[0002] With the increasing automation levels in fields such as aerospace in recent years, the demand for unmanned systems to complete complex and large-scale tasks has been growing. Currently, the systematic nature and complexity of large-scale tasks are constantly increasing. To complete a system task, there exists a problem of decomposing the system task into a series of sub-tasks and allocating these tasks for execution based on their timing requirements, completion time requirements, complexity requirements, and completion methods. Different allocation methods have a significant impact on the overall benefit of the system task. Due to the complexity and dynamism of these tasks, the allocation problem for manned tasks and tasks executed by a single unmanned system reveals problems such as low allocation efficiency, insufficient overall benefits, and high costs of completing the task. Therefore, the allocation problem of relying on multiple unmanned systems to autonomously and concurrently complete complex series tasks deserves attention and research.
[0003] However, traditional task allocation methods have several problems: First, some scenarios involve centralized allocation methods, or although they use distributed methods, they still require overall information and rely on a central node to complete task allocation. Centralized algorithms suffer from high computational resource consumption, limited communication task scope, and single point of failure. Second, some scenarios involve task allocation problems that do not address the resource constraints of unmanned systems. This requires multiple unmanned systems to have strong autonomy, select tasks based on their own resource capacity, and be able to continuously allocate a series of tasks over a long period of time under limited communication and computational resources. Third, some scenarios involve task allocation problems and the distributed task allocation methods used do not consider the dynamic nature of unmanned systems and tasks during task allocation. This requires multiple unmanned systems to adjust the tasks to be executed by each unmanned system in a timely manner according to changes in task status, unmanned system status, and communication status, thus achieving dynamic task reallocation. Summary of the Invention
[0004] The purpose of this invention is to provide a distributed dynamic task allocation method for heterogeneous multi-unmanned systems, which eliminates the deadlock phenomenon caused by tasks getting stuck in a loop of adding and removing tasks, thus preventing the task allocation from converging. It does not require designing a new allocation method for the reallocation problem and has a strong ability to deal with dynamic task allocation problems.
[0005] To achieve the above objectives, this invention provides a distributed dynamic task allocation method for heterogeneous multi-unmanned systems, comprising the following steps:
[0006] Step S1: Define the task allocation scenario and set the spatial and time limits for the task allocation problem;
[0007] Step S2: Define a set U = [u1, u2, ..., u] consisting of n heterogeneous unmanned systems. i ,…,u n A set T = [t1, t2, ..., tm] consisting of m tasks to be completed. k ,…t m ];
[0008] Each unmanned system has a different initial position Ω. i ; Possessing different average speeds v i They have different energy consumption limits, which can be simplified to different upper limits L for the number of tasks that can be executed. i They possess different types of unmanned systems, which can be simplified to one type of unmanned system capable of completing one or several types of tasks, while other types of tasks cannot be completed; they also possess different available time ζ i This indicates the time when the unmanned system can begin executing a task when there are no ongoing tasks or other unavailability issues.
[0009] Each task has a different location. k They have different task start times t k,start Duration t k,duration and deadline t k,end ; Different task completion costs c k In simple terms, it refers to the time cost required for an unmanned system to start from its initial position, reach the task location, and begin executing the task; it also refers to different task types, which can be simplified to one type of task requiring one or more types of unmanned systems to complete, while other types of unmanned systems cannot complete it.
[0010] Meanwhile, a Boolean matrix H is defined to reflect the compatibility between the unmanned system type and the task type. When the unmanned system type and the task type are compatible, h = 1, h ∈ H; otherwise, h = 0.
[0011] Step S3: Each unmanned system maintains a task list a during task allocation. i Its cardinality |a i |Indicates unmanned system u i The number of tasks to be executed is allocated, and the corresponding cost list c is maintained. i The cost of each assigned task can be expressed as c. i,k (a i ), its meaning is task t k Assigned to unmanned system u i Task list a i In the middle, it consists of unmanned systems ui The time cost required to reach the mission location;
[0012] The overall objective of the task allocation problem is defined as: a list of tasks for each unmanned system i Together, they form a task allocation scheme that satisfies various constraints, enabling each unmanned system to reach a conflict-free consensus on the tasks to be performed and minimizing the average cost of task execution.
[0013]
[0014] The main constraints include: the number of tasks in the unmanned system's task list cannot exceed its task limit. Each task assigned to an unmanned system should begin execution before its deadline. There are no ownership conflicts for unmanned systems in any of the missions.
[0015] In addition, there are weak constraints. Its weak constraint characteristic is that the constraint cannot always be guaranteed to hold. In some scenarios, even if as many tasks as possible are assigned to the unmanned system, there will still be some tasks that cannot be assigned due to time conflicts or resource limitations.
[0016] Besides task list a i and the corresponding cost list c i In addition, each unmanned system also maintains a record table of completed tasks. i List of actual costs for performing the task ω i and allocation process record table A i Each unmanned system also maintains a record table of RPI (Removal Performance Impact) for tasks. i =[w1,w2,…,w k ,…,w m Add a record table to show how task performance impacts IPI. Task Pending Execution Record Form B i =[β1,β2,…,β k ,…,β m [and the latest negotiation time record sheet with other unmanned systems S] i =[s1,s2,…,s j ,…,s n ];
[0017] Among them, the performance impact record table γ for removing tasks was removed. i In the middle, w k Represents task t k From its assigned list a i Perform the removal operation The performance impact on reducing the total cost of task allocation is then expressed as: The calculation method is as follows:
[0018]
[0019] Where b represents t k In list a i The position it occupies;
[0020] Add a task performance impact record table middle, Represents task t k Assign tasks to unmanned system j and its task list a j Perform the add operation The performance impact of the subsequent increase in the total cost of task allocation is expressed as follows: The calculation method is as follows:
[0021]
[0022] Among them, the add operation This indicates that task t k Add to list a j The l-th position;
[0023] Task Pending Execution Record Form B i =[β1,β2,…,β k ,…,β m ] indicates unmanned system u i Record of assigned tasks t k The set of entities to be executed;
[0024] Latest Negotiation Time Record Sheet S i =[s1,s2,…,s j ,…,s n ] indicates unmanned system u i The latest record of its interaction with the unmanned system u j The timeframe for negotiation;
[0025] Step S4: Consensus Negotiation;
[0026] Each unmanned system sends its removal mission performance impact record table γ to other unmanned systems within the communication topology. i Task Pending Execution Record Table B i And update the latest negotiation time record sheet S immediately after communication. i ;
[0027] Each unmanned system records the performance impact of the local removal task based on information received from other unmanned systems (Table γ). i Task Pending Execution Record Table Bi Perform updates and maintenance;
[0028] Step S5: Remove the task;
[0029] Based on the negotiation results, each unmanned system will compile a temporary task removal record table D containing tasks from the list that are not to be executed by the current unmanned system after negotiation. i =[d1,d2,…], remove records from table D one by one. i The task in;
[0030] Step S6: Add task;
[0031] Each unmanned system iterates through all executable tasks and task lists based on task status and task adaptability conditions. i In all the addable locations, calculate the performance impact record table γ of the added task according to equation (6). i * And determine the feasible position l for adding each feasible task to the task list;
[0032] Step S7: Determine whether the task allocation problem meets the convergence condition and whether all unmanned systems have reached a consensus. The task list a... i Together they form a conflict-free task allocation scheme. If the condition is not met, repeat steps S4-S7 until the task allocation problem meets the convergence condition, thus forming the final task allocation scheme.
[0033] Step S8: Dynamic task allocation;
[0034] If there is dynamically updated information in the scenario, define the time ψ of the information update in the scenario, define several types of update information, including task deletion, task modification, task addition, unmanned system exit, and unmanned system addition, and update the unmanned system set U and the task set T, clarify the type, status and location of each task, and update the allocation process record table A of each unmanned system. i Determine the upper limit of the number of remaining executable tasks, and determine the position Ω of the unmanned system at the information update time ψ. i and available time
[0035] Step S5 includes:
[0036] Step S5.1: Record table D i The tasks in the list are removed one by one, and the following calculations are performed:
[0037]
[0038] in, This indicates the performance impact record table of removed tasks recalculated according to equation (5) after the task removal operation is performed in this step. When z > 0, the task t that is removed first is determined.k ∈D i And perform the removal operation. Select the task from task list a i and the task record table D to be removed i Remove from;
[0039] Step S5.2: Update the record table and cost list c i Repeat step S5.1 until the task record table D to be removed is reached. i Empty, or updated After calculation by equation (7), the removal criterion of z > 0 is no longer satisfied;
[0040] Step S5.3: Update the task pending record table B. i D i The executor of the remaining tasks is reset to the current unmanned system, and the updated log table is updated. Set as a performance impact record table for task removal after the task removal phase ends. i ,Right now
[0041] When a task is removed from the list of unmanned systems multiple times, and negotiations with other unmanned systems related to that task still fail to reach a consensus, it is considered to be in a deadlock state.
[0042] When a deadlock occurs, skip steps S5.1 to S5.3 and proceed directly to steps S5.4 to S5.5.
[0043] Step S5.4: The unmanned system no longer removes tasks one by one from the temporary task record table D. i Instead of removing tasks one by one according to formula (7) and removal criteria, all tasks not currently executed by the unmanned system after negotiation are removed from the task list. The operation involves updating the performance impact record table γ of the removed task according to equation (5). i ;
[0044] Step S5.5: At this time, each unmanned system conducts an instant information update negotiation, and each unmanned system sends its removal task performance impact record table γ to other unmanned systems within the communication topology range. i Task Pending Execution Record Table B i ;
[0045] Each unmanned system records the performance impact of the local removal task based on information received from other unmanned systems (Table γ). i Task Pending Execution Record Table B i The information in the document is updated and maintained.
[0046] Update, maintain, remove task performance impact record table γ i Task Pending Execution Record Form B i The methods include:
[0047] Based on the latest negotiation time and the differences in the performance impact of removing each task across different unmanned system lists, the consensus negotiation rule of the CBBA algorithm is adopted. According to different judgment conditions, the performance impact record table γ of the removed tasks is then updated. i Task Pending Execution Record Table B i Perform update, retain, or reset operations on the information in the file;
[0048] Update: w i,k =w j,k ,β i,k =β j,k That is, unmanned system u i The task will be completed locally. k Removal performance impact settings and unmanned systems u j Send the corresponding value and set the executor to the unmanned system u. j ;
[0049] Reserved: w i,k =w i,k ,β i,k =β i,k That is, unmanned system u i Local task t k The performance impact and executor information remain unchanged.
[0050] Reset: Unmanned System u i Locally, the task t k Performance impact w i,k and executor β i,k Set to the initial default value.
[0051] Step S6 includes:
[0052] Step S6.1: Add the task performance impact record table. Performance impact record table γ for removing tasks i In comparison, calculate:
[0053]
[0054] Based on the criterion of minimizing cost increase, the addition operation is performed when q > 0. Add the selected task to the task list a i middle;
[0055] Step S6.2: Update and add the task performance impact record table according to formula (6). and cost list ci Repeat step S6.1 until no more tasks can be added to the task list (|a i |=L i ) or updated After calculation by equation (8), the addition judgment condition of q>0 is no longer satisfied;
[0056] Step S6.3: After the task addition phase is completed, update the task removal performance impact record table γ. i .
[0057] Step S8 includes:
[0058] Each unmanned system updates the time ψ and its task list a according to the scene information. i The task information is used to identify completed tasks, tasks yet to be completed, and tasks that have reached their designated locations but have not yet been executed, and the actual cost list is updated accordingly. i Calculate the actual cost ω of each completed and pending task. i,k ;
[0059] When task t k When a value is at the top of the list, its actual cost equals its estimated cost, i.e., ω. i,k =c i,k (a i ),otherwise, Where, p i,r For the completed task record table p i A boolean variable is used to determine whether a task is complete, and this is used to update the actual cost list ω. i If the task information changes, p i,r =0, and when the actual cost of all tasks has been calculated, if ω i,k >ψ, meaning when the task has not actually started executing, p i,r =0;
[0060] An estimation method using the Euclidean distance between two points and the average travel speed is used to calculate the current position Ω of the unmanned system in different cases. i and available time
[0061] If the scene information update time ψ occurs in the last task t in the list k After the actual cost time, i.e., ω i,k <ψ, the current position of the unmanned system is task t k The position of Ω i =Θ k The last task t k The corresponding p i,k =1, meaning the available time when the task is completed. Otherwise when pi,k When = 0, available time
[0062] If the scene information update time ψ occurs in the first task t of the list k The actual cost and time before that indicates the unmanned system is heading to the mission location. k During the journey or while waiting at the mission location to begin the mission, the travel time τ of the unmanned system is denoted as τ = ψ. From the initial position Ω of the unmanned system... i,pre Total time τ to reach the mission location * Represented as τ * =Eυ(Θ) k ,Ω i,pre ) / v i Where Eυ(·) represents the Euclidean distance between two points, then the current position Ω of the unmanned system is... i =Ω i,pre +min(1,τ / τ * )·(Θ k -Ω i,pre Unmanned systems are available immediately, with an availability time of [missing information].
[0063] If the scene information update time ψ occurs in other situations, where the unmanned system reaches the previous task t at that time... k-1 Location task t k-1 The corresponding p i,k-1 =0 indicates a change in its mission status; the unmanned system is heading to the mission location. k While en route or waiting at the mission location to begin the mission, the travel time of the unmanned system is τ = ψ - ω. i,k-1 And from the unmanned system from the previous task t k-1 Position Θ k-1 Arrive at mission t k Position Θ k Total time τ * Represented as τ * =Eυ(Θ) k ,Θ k-1 ) / v i The current location of the unmanned system is Ω. i =Θ k-1 +min(1,τ / τ * )·(Θ k -Θ k-1 Unmanned systems are available immediately, with an availability time of [missing information].
[0064] If the previous task t k-1 The corresponding p i,k-1=1, then if the unmanned system ψ is executing the task at the time of scene information update, then its unmanned system position is the same as the current task execution position, i.e., Ω i =Θ k Unmanned systems are not immediately available; they become available after the task is completed, and their availability time is limited. If the unmanned system has already completed its task t at the time the scene information is updated. k-1 This indicates that the unmanned system is en route to the mission location. k While en route or waiting at the mission location to begin the mission, the travel time of the unmanned system is τ = ψ - (ω i,k-1 +t k-1,duration ), and from the unmanned system from the previous task t k-1 Position Θ k-1 Arrive at mission t k Position Θ k Total time τ * Represented as τ * =Eυ(Θ) k ,Θ k-1 ) / v i The current location of the unmanned system is Ω. i =Θ k-1 +min(1,τ / τ * )·(Θ k -Θ k-1 Unmanned systems are available immediately, with an availability time of [missing information].
[0065] Each unmanned system has determined its current position Ω i and available time And update the allocation process record table A. i Then, steps S4-S7 can be repeated to redistribute tasks. When there are multiple information updates during task allocation and execution, i.e., the scene information update time is represented as ψ = [ψ1, ψ2, ...], for each information update time in ψ, steps S4-S8 can be repeated multiple times to redistribute tasks and achieve dynamic task allocation.
[0066] This invention, based on the Consistent Packet Algorithm (CBBA) and Performance Impact Algorithm (PI), proposes an additional task removal method to address deadlock issues during the task removal phase. This eliminates the deadlock caused by tasks getting stuck in a loop of adding and removing tasks, preventing task allocation from converging, with only a slight increase in communication between the unmanned systems. Furthermore, addressing the issue of state changes in tasks and the unmanned system during task allocation, this invention proposes updating the current position and available time of the unmanned system at dynamic information update times. This allows dynamic task reallocation to be performed using the same method as the initial allocation, eliminating the need to design a new allocation method for reallocation. This ensures that the distributed method proposed in this invention has a strong ability to handle dynamic task allocation problems. Attached Figure Description
[0067] Figure 1 The present invention provides a flowchart of a distributed dynamic task allocation method for heterogeneous multi-unmanned systems.
[0068] Figure 2 This is a diagram showing the current location and available time of the unmanned system when the dynamic task allocation scenario information is updated. Detailed Implementation
[0069] The following is based on Figure 1 and Figure 2 The preferred embodiments of the present invention will be described in detail below.
[0070] This invention provides a distributed dynamic task allocation method for heterogeneous multi-unmanned systems. Based on the current mainstream distributed task allocation methods, the Consistent Packet Algorithm (CBBA) and Performance Impact Algorithm (PI), a series of tasks are dynamically allocated to each unmanned system in an efficient and reasonable manner.
[0071] Its essence lies in: based on the different types and capabilities of unmanned systems, adopting a distributed approach with multiple heterogeneous unmanned systems to allocate pre-set tasks, and to promptly reallocate tasks under dynamic conditions such as changes in unmanned system and task information, so as to minimize the average task cost of the system while meeting the requirements of dynamic task allocation and ensuring a high degree of completion of a series of tasks.
[0072] The terminology involved in this invention and its related explanations:
[0073] Heterogeneous: The types and capabilities of unmanned systems vary. Different types of unmanned systems are required to complete different types of tasks, meaning there is a compatibility relationship between tasks and unmanned systems.
[0074] Distributed: Apart from the initial and update information of task release, the task allocation process does not rely on the task center node (limited to the fact that the task status information involved in the task allocation is known to each unmanned system).
[0075] Dynamic: After task allocation, the execution phase begins. However, dynamic situations may occur during this process, such as changes in task status and unmanned system status. It is necessary to respond promptly and dynamically reallocate tasks after the unmanned system receives updated information. This invention limits task updates to represent the inaccuracy of the initial task information and does not consider changes in task information during unmanned system execution. Furthermore, to illustrate the dynamic nature of task allocation, this invention ignores the impact of dynamic planning issues and other uncertainties during task execution on task allocation.
[0076] Optimization Objective: This invention focuses on the cost of task allocation, defining the optimization objective as minimizing the average cost of task allocation. The number of tasks to be allocated is not considered in the optimization objective. However, it should be noted that, except for conflicts where tasks cannot be executed simultaneously or tasks cannot be executed due to resource limitations, the number of tasks allocated should generally be as close as possible to the total number of tasks to be allocated, while satisfying all constraints.
[0077] This invention focuses on the problem of task allocation methods, and therefore makes the following assumptions about the allocation problem model:
[0078] (1) Assume that a task should be completed once it begins, ignoring other unexpected situations during the execution of the task;
[0079] (2) Assume that a task is executed by only one unmanned system at a time, and an unmanned system can only execute one task at a time.
[0080] (3) It is assumed that the communication of unmanned systems should always be in a stable connected state, that is, there are no two unmanned systems that cannot exchange information before the communication topology changes through relay, but the exchange of information is allowed not to occur in a single iteration of the allocation calculation process.
[0081] like Figure 1 As shown, this invention provides a distributed dynamic task allocation method for heterogeneous multi-unmanned systems, comprising the following steps:
[0082] Step S1: Define the task allocation scenario and set the spatial and time limits for the task allocation problem.
[0083] Step S2: Define a set U = [u1, u2, ..., u] consisting of n heterogeneous unmanned systems. i ,…,u n A set T = [t1, t2, ..., tm] consisting of m tasks to be completed. k ,…t m ].
[0084] Each unmanned system has a different initial position Ω. i ; Possessing different average speeds v i They have different energy consumption limits, which can be simplified to different upper limits L for the number of tasks that can be executed. i They possess different types of unmanned systems, which can be simplified to one type of unmanned system capable of completing one or several types of tasks, while other types of tasks cannot be completed; they also possess different available time. This indicates the time when the unmanned system can begin executing a task when there are no ongoing tasks or other unavailability issues.
[0085] Each task has a different location. k They have different task start times t k,start Duration t k,duration and deadline t k,end ; Different task completion costs c k In simple terms, it refers to the time cost required for an unmanned system to start from its initial position, reach the task location, and begin executing the task; it also refers to different task types, which can be simplified to a task of one or more types that can be completed by unmanned systems, while other types of unmanned systems cannot complete it.
[0086] Meanwhile, a Boolean matrix H is defined to reflect the compatibility between the unmanned system type and the task type. When the unmanned system type and the task type are compatible, h = 1, h ∈ H; otherwise, h = 0.
[0087] Step S3: Each unmanned system maintains a task list a during task allocation. i Its cardinality |a i |Indicates unmanned system u i The number of tasks to be executed is allocated, and the corresponding cost list c is maintained. i The cost of each assigned task can be expressed as c. i,k (a i ), its meaning is task t k Assigned to unmanned system u i Task list a i In the middle, it consists of unmanned systems u i The time cost required to reach the mission location.
[0088] The overall objective of the task allocation problem addressed in this invention is defined as: a task list for each unmanned system i Together, they form a task allocation scheme that satisfies various constraints, enabling each unmanned system to reach a conflict-free consensus on the tasks to be performed and minimizing the average cost of performing the tasks (Equation (1)).
[0089]
[0090]
[0091]
[0092]
[0093] The constraints mainly include: the number of tasks in the unmanned system task list cannot exceed its task limit (Equation (2)), each task assigned to the unmanned system should start execution before its deadline (Equation (3)), and there is no unmanned system ownership conflict for each task (Equation (4)).
[0094] In addition, there are weak constraints. Its weak constraint characteristic is that the constraint cannot always be guaranteed to hold. In some scenarios, even if as many tasks as possible are assigned to the unmanned system, there will still be some tasks that cannot be assigned due to time conflicts or resource limitations.
[0095] Besides task list a i and the corresponding cost list c i In addition, each unmanned system also maintains a record table of completed tasks. i List of actual costs for performing the task ω i and allocation process record table A i .
[0096] To implement the method of this invention, referring to the Consistency-Based Packet Algorithm (CBBA) and the Performance Impact Algorithm (PI), each unmanned system also maintains a Removal Task Performance Impact (RPI) record table γ. i =[w1,w2,…,w k ,…,w m Add a Task Performance Impact (IPI) record table. Task Pending Execution Record Form B i =[β1,β2,…,β k ,…,β m [and the latest negotiation time record sheet with other unmanned systems S] i =[s1,s2,…,s j ,…,s n ].
[0097] Among them, the performance impact record table γ for removing tasks was removed. i In the middle, w k Represents task t k From its assigned list a i Perform the removal operation The performance impact on reducing the total cost of task allocation is then expressed as: The calculation method is as follows:
[0098]
[0099] Where b represents t k In list a i The location of the middle.
[0100] Add a task performance impact record table middle, Represents task t k Assign tasks to unmanned system j and its task list a j Perform the add operation The performance impact of the subsequent increase in the total cost of task allocation is expressed as follows: The calculation method is as follows:
[0101]
[0102] Among them, the add operation This indicates that task t k Add to list a j The l-th position.
[0103] Task Pending Execution Record Form B i =[β1,β2,…,β k ,…,β m ] indicates unmanned system u i Record of assigned tasks t k The set of unmanned systems to be executed.
[0104] Latest Negotiation Time Record Sheet S i =[s1,s2,…,s j ,…,s n ] indicates unmanned system u i The latest record of its interaction with the unmanned system u j The timeframe for negotiation.
[0105] Step S4, Consensus Negotiation. Each unmanned system sends its removal task performance impact record table γ to other unmanned systems within the communication topology. i Task Pending Execution Record Table B i And update the latest negotiation time record sheet S immediately after communication. i Each unmanned system records the performance impact of the local removal task based on information received from other unmanned systems, as shown in Table γ. i Task Pending Execution Record Table B i The update and maintenance are performed by using the CBBA algorithm's consensus negotiation rules, based on the latest negotiation time and the differences in the performance impact of removing each task from different unmanned system lists. Depending on different judgment conditions, the performance impact record table γ for removing tasks is updated. i Task Pending Execution Record Table B i The information in the middle is updated, retained, or reset. The specific operation is adjusted appropriately according to the task allocation optimization goal, and is represented as follows: (1) Update: w i,k =w j,k ,β i,k =β j,k That is, unmanned system u i Locally, the task t k Removal performance impact settings and unmanned systems u j Send the corresponding value and set the executor to the unmanned system u.j (2) Retain: w i,k =w i,k ,β i,k =β i,k That is, unmanned system u i Local task t k (3) Reset: Unmanned system u i Locally, the task t k Performance impact w i,k and executor β i,k Set to the initial default value.
[0106] Step S5: Task Removal. Based on the negotiation results, each unmanned system creates a temporary task removal record table D containing tasks from the list that, after negotiation, are no longer to be executed by the current unmanned system. i = [d1,d2,…].
[0107] Step S5.1: Record table D i The tasks in the list are removed one by one, and the following calculations are performed:
[0108]
[0109] in, This indicates the performance impact record table of removed tasks recalculated according to equation (5) after the task removal operation is performed in this step. When z > 0, the task t that is removed first is determined. k ∈D i And perform the removal operation. Select the task from task list a i and the task record table D to be removed i Remove from;
[0110] Step S5.2: Update the record table and cost list c i Repeat step S5.1 until the task record table D to be removed is reached. i Empty, or updated After calculation by equation (7), the removal criterion of z > 0 is no longer satisfied;
[0111] Step S5.3: Update the task pending record table B. i D i The executor of the remaining tasks is reset to the current unmanned system, and the updated log table is updated. Set as a performance impact record table for task removal after the task removal phase ends. i ,Right now
[0112] The above task removal process may lead to deadlock, meaning that a removed task may be re-added to the task list later due to the non-real-time nature of information updates caused by task removal performance, resulting in a loop and preventing task allocation from converging. To prevent deadlock, this invention adds a process to the task removal phase: when a task is removed from the unmanned system's list multiple times, and consensus cannot be reached with other unmanned systems related to that task, a deadlock state is considered to have occurred. At this point, the unmanned system broadcasts this state and negotiates with other unmanned systems to resolve the deadlock problem. The specific process is described as follows:
[0113] When a deadlock occurs, skip steps S5.1-S5.3 and proceed directly:
[0114] Step S5.4: The unmanned system no longer removes tasks one by one from the temporary task record table D. i Instead of removing tasks one by one according to formula (7) and removal criteria, all tasks not currently executed by the unmanned system after negotiation (i.e., record table D) are removed. i Remove all from the task list and execute. The operation involves updating the performance impact record table γ of the removed task according to equation (5). i ;
[0115] Step S5.5: At this time, each unmanned system conducts an instant information update negotiation, and each unmanned system sends its removal task performance impact record table γ to other unmanned systems within the communication topology range. i Task Pending Execution Record Table B i ; A record table γ showing the impact of information received from other unmanned systems on the local removal task performance. i Task Pending Execution Record Table B i The information in the system is updated and maintained, and update, retain, or reset operations are performed; the update, retain, or reset operations are the same as those described in step S4.
[0116] This consultation ensures that the performance impact information obtained by each unmanned system from other unmanned systems is timely after the removal phase, i.e., unmanned system u i From unmanned systems u j The performance impact information obtained is u j implement The latest information after the operation, rather than the information after consensus negotiation (step S4), ensures that the task allocation process breaks out of the deadlock loop.
[0117] Step S6: Task Addition. Each unmanned system iterates through all executable tasks and the task list a based on task status and task suitability conditions. i All available locations are used to calculate the performance impact record table for added tasks according to equation (6). And determine the feasible position l for adding each feasible task to the task list.
[0118] Step S6.1: Add the task performance impact record table. Performance impact record table γ for removing tasks i In comparison, calculate:
[0119]
[0120] Based on the criterion of minimizing cost increase, the addition operation is performed when q > 0. Add the selected task to the task list a i middle;
[0121] Step S6.2: Update and add the task performance impact record table according to formula (6). and cost list c i Repeat step S6.1 until no more tasks can be added to the task list (|a i |=L i ) or updated After calculation by equation (8), the addition judgment condition of q>0 is no longer satisfied;
[0122] Step S6.3: After the task addition phase is completed, update the task removal performance impact record table γ. i .
[0123] Step S7: Determine whether the task allocation problem meets the convergence condition and whether all unmanned systems have reached a consensus. The task list a... i Together they form a conflict-free task allocation scheme. If the condition is not met, repeat steps S4-S7 until the task allocation problem meets the convergence condition, thus forming the final task allocation scheme.
[0124] Step S8: Dynamic Task Allocation. If there is dynamically updated information in the scenario, define the time ψ for information updates in the scenario, define several types of update information, including task deletion, task modification, task addition, unmanned system exit, and unmanned system addition, and update the unmanned system set U and task set T, clarifying the type, status, and location of each task, and each unmanned system updates its allocation process record table A. i Determine the upper limit of the number of remaining executable tasks, and determine the position Ω of the unmanned system at the information update time ψ. i and available time
[0125] In order to adapt to the dynamic task allocation problem, the current position Ω of the unmanned system i and available time This is the most crucial prerequisite, and in this invention, its calculation method is expressed as follows:
[0126] First, each unmanned system updates the time ψ and its task list a based on the scene information. i The task information is used to identify completed tasks, tasks awaiting completion (with no changes to task information), and tasks that have reached their designated locations but have not yet been executed (including tasks that have been removed or whose locations have changed), and the actual cost list is updated accordingly. i Calculate the actual cost ω of each completed and pending task. i,k (The estimated cost is for tasks to be completed.)
[0127] When task t k When a value is at the top of the list, its actual cost equals its estimated cost, i.e., ω. i,k =c i,k (a i ),otherwise, Where, p i,r For the completed task record table p i A boolean variable is used to determine whether a task is complete, and this is used to update the actual cost list ω. i If the task information changes, p i,r =0, and when the actual cost of all tasks has been calculated, if ω i,k >ψ, meaning when the task has not actually started executing, p i,r =0.
[0128] Then, calculate the current position Ω of the unmanned system in different cases. i and available time Diagrams of various situations are shown below. Figure 2 As shown. As mentioned above, this invention does not consider the planning problem of the actual movement process of the unmanned system or the uncertainty interference problem during the mission execution process. Therefore, when calculating the current position and available time of the unmanned system, this invention adopts an estimation method that uses the Euclidean distance between two points and the average travel speed.
[0129] If the scene information update time ψ occurs in the last task t in the list k After the actual cost time, i.e., ω i,k <ψ, the current position of the unmanned system is task t k The position of Ω i =Θ k The last task t k The corresponding p i,k =1, meaning the available time when the task is completed. Otherwise when p i,k When = 0, available time
[0130] If the scene information update time ψ occurs in the first task t of the listk The actual cost and time before that indicates the unmanned system is heading to the mission location. k During the journey or while waiting at the mission location to begin the mission, the travel time τ of the unmanned system is denoted as τ = ψ. From the initial position Ω of the unmanned system... i,pre Total time τ to reach the mission location * Represented as τ * =Eυ(Θ) k ,Ω i,pre ) / v i Where Eυ(·) represents the Euclidean distance between two points, then the current position Ω of the unmanned system is... i =Ω i,pre +min(1,τ / τ*)·(Θ) k -Ω i,pre Unmanned systems are available immediately, with an availability time of [missing information].
[0131] If the scene information update time ψ occurs in other situations, where the unmanned system reaches the previous task t at that time... k-1 Location task t k-1 The corresponding p i,k-1 =0 indicates a change in its mission status; the unmanned system is heading to the mission location. k While en route or waiting at the mission location to begin the mission, the travel time of the unmanned system is τ = ψ - ω. i,k-1 And from the unmanned system from the previous task t k-1 Position Θ k-1 Arrive at mission t k Position Θ k Total time τ * Represented as τ * =Eυ(Θ) k ,Θ k-1 ) / v i The current location of the unmanned system is Ω. i =Θ k-1 +min(1,τ / τ * )·(Θ k -Θ k-1 Unmanned systems are available immediately, with an availability time of [missing information].
[0132] If the previous task t k-1 The corresponding p i,k-1 =1, then if the unmanned system is executing the task at the time of scene information update, its position is the same as the current position of the task being executed, i.e., Ω i =Θ k Unmanned systems are not immediately available; they become available after the task is completed, and their availability time is limited. If the unmanned system has already completed its task t at the time the scene information is updated. k-1 This indicates that the unmanned system is en route to the mission location. k While en route or waiting at the mission location to begin the mission, the travel time of the unmanned system is τ = ψ - (ω i,k-1 +t k-1,duration ), and from the unmanned system from the previous task t k-1 Position Θ k-1 Arrive at mission t k Position Θ k Total time τ * Represented as τ * =Eυ(Θ) k ,Θ k-1 ) / v i The current location of the unmanned system is Ω. i =Θ k-1 +min(1,τ / τ * )·(Θ k -Θ k-1 Unmanned systems are available immediately, with an availability time of [missing information].
[0133] Each unmanned system has determined its current position Ω i and available time And update the allocation process record table A. i Afterwards, task reassignment can be performed. At this point, the initial information for task reassignment is essentially updated based on the initial information of the scenario. Therefore, steps S4-S7 can be repeated using the same method as before to achieve task reassignment without needing to design a new allocation method for reassignment. When there are multiple information updates during task allocation and execution, i.e., the scenario information update time is represented as ψ = [ψ1, ψ2, ...], according to the method described in this invention, for each information update time in ψ, steps S4-S8 can be repeated multiple times to perform task reassignment, thereby achieving dynamic task allocation.
[0134] This invention, based on a distributed task allocation algorithm, adds a task removal method under specific conditions during the task removal phase to address allocation deadlock. This eliminates the problem of non-real-time information impact on task performance caused by traditional methods, and avoids the cyclical phenomenon of tasks being continuously added to and removed from the task list of certain unmanned systems, while only slightly increasing unmanned system communication. Furthermore, the method involved in this invention can solve a class of dynamic task allocation problems caused by changes in task state and unmanned system state. It updates the current position and available time of the unmanned system at the moment of dynamic information update. Its advantage lies in the ability to use the same method as the initial allocation for dynamic reallocation, eliminating the need to design new allocation methods for the reallocation problem. Ultimately, it can form a distributed dynamic task allocation capability that can adapt to changing environmental information.
[0135] It should be noted that, in the embodiments of the present invention, the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the embodiments and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the present invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0136] Although the present invention has been described in detail through the preferred embodiments above, it should be understood that the above description should not be considered as a limitation of the present invention. Various modifications and substitutions to the present invention will be apparent to those skilled in the art after reading the above description. Therefore, the scope of protection of the present invention should be defined by the appended claims.
Claims
1. A distributed dynamic task allocation method for heterogeneous multi-unmanned systems, characterized in that, Includes the following steps: Step S1: Define the task allocation scenario and set the spatial and time limits for the task allocation problem; Step S2, Define a... A collection of heterogeneous unmanned systems A by A collection of tasks to be completed ; Each unmanned system has a different initial position. They have different average speeds of travel. Different energy consumption limits can be simplified to different upper limits on the number of tasks that can be executed. They possess different types of unmanned systems, which can be simplified to one type of unmanned system capable of completing one or several types of tasks, while other types of tasks cannot be completed; they also possess different available time. This indicates the time when the unmanned system can begin executing a task when there are no ongoing tasks or other unavailability issues. Each task has a different location. Different task start times Duration and deadline Different task completion costs In simple terms, it refers to the time cost required for an unmanned system to start from its initial position, reach the task location, and begin executing the task; it also refers to different task types, which can be simplified to one type of task requiring one or more types of unmanned systems to complete, while other types of unmanned systems cannot complete it. Simultaneously define a Boolean matrix This reflects the compatibility between the unmanned system type and the mission type. When the unmanned system type and the mission type are compatible... ,otherwise ; Step S3: Each unmanned system maintains a task list during task allocation. Its base Indicates unmanned system The number of tasks to be executed is allocated, and a cost list corresponding to the task list is maintained. The cost of each assigned task is expressed as Its significance is the task. Assigned to unmanned systems Task List In the middle, it consists of unmanned systems The time cost required to reach the mission location; The overall objective of the task allocation problem is defined as: a task list for each unmanned system. Together, they form a task allocation scheme that satisfies various constraints, enabling each unmanned system to reach a conflict-free consensus on the tasks to be performed and minimizing the average cost of task execution. : (1) The constraints include: the number of tasks in the unmanned system's task list cannot exceed its task limit. Each task assigned to an unmanned system should begin execution before its deadline. There are no ownership conflicts for unmanned systems in the various tasks. ; In addition, there are weak constraints. Its weak constraint characteristic is that the constraint cannot always be guaranteed to hold. In some scenarios, even if as many tasks as possible are assigned to the unmanned system, there will still be some tasks that cannot be assigned due to time conflicts or resource limitations. In addition to the task list and the corresponding cost list In addition, each unmanned system also maintains a record of completed tasks. List of actual costs for performing the task and allocation process record table Each unmanned system also maintains a record table documenting the performance impact of removal missions on RPI. Add a task performance impact IPI record table Task pending execution record form Latest Negotiation Time Record with Other Unmanned Systems ; Among them, the task performance impact record table was removed. middle, Indicates task From its assigned list Perform the removal operation The performance impact on reducing the total cost of task allocation is then expressed as: The calculation method is as follows: (5) in, express In the list The position it occupies; Add a task performance impact record table middle, Indicates task Assigned to unmanned systems and its task list Perform the add operation The performance impact of the subsequent increase in the total cost of task allocation is expressed as follows: The calculation method is as follows: (6) Among them, the add operation Indicates the task Add to list The One location; Task Pending Execution Record Form Indicates unmanned system Recorded assigned tasks The set of entities to be executed; Latest Negotiation Time Record Sheet Indicates unmanned system The latest record of its interaction with unmanned systems The timeframe for negotiation; Step S4: Consensus Negotiation; Each unmanned system sends a record of the performance impact of its removal mission to other unmanned systems within the scope of the communication topology. Task pending execution record form And update the latest negotiation time record sheet immediately after communication. ; Each unmanned system records the performance impact of the removal task on its local system based on information received from other unmanned systems. Task pending execution record form Perform updates and maintenance; Step S5: Remove the task; Based on the negotiation results, each unmanned system will compile a temporary list of tasks to be removed from the list that are not to be executed by the current unmanned system after negotiation. Remove records one by one from the table. The task in; Step S6: Add task; Each unmanned system iterates through all executable tasks and task lists based on task status and task adaptability conditions. For all available locations, calculate the performance impact record table for the added task according to equation (6). And determine the feasible positions for adding each feasible task to the task list. ; Step S7: Determine whether the task allocation problem meets the convergence condition and whether all unmanned systems have reached a consensus on the task list. Together they form a conflict-free task allocation scheme. If the condition is not met, repeat steps S4-S7 until the task allocation problem meets the convergence condition, thus forming the final task allocation scheme. Step S8: Dynamic task allocation; If the scene contains dynamically updated information, define the time when the information is updated in the scene. Define several types of update information, including task deletion, task modification, task addition, unmanned system exit, unmanned system addition, and update the unmanned system set. and task set Clearly define the type, status, and location of each task, and update the allocation process record table for each unmanned system. Determine the upper limit of the number of remaining executable tasks and the information update time. Location of unmanned systems and available time ; Step S5 includes: Step S5.1: Record the table The tasks in the list are removed one by one, and the following calculations are performed: (7) in, This indicates the performance impact record table of the removed task, recalculated according to equation (5) after the task removal operation is performed in this step. At that time, determine the task to be removed first. And perform the removal operation. , Select the task from the task list and the list of tasks to be removed Remove from; Step S5.2: Update the record table and cost list Repeat step S5.1 until the task record table to be removed is reached. Empty, or updated After calculation using equation (7), the condition is no longer satisfied. The removal criteria; Step S5.3: Update the task pending record table. ,Will The executor of the remaining tasks is reset to the current unmanned system, and the updated log table is updated. Set as a performance impact record table for task removal after the task removal phase ends. ,Right now ; When a task is removed from the list of unmanned systems multiple times, and negotiations with other unmanned systems related to that task still fail to reach a consensus, it is considered to be in a deadlock state. When a deadlock occurs, skip steps S5.1 to S5.3 and proceed directly to steps S5.4 to S5.
5. Step S5.4: The unmanned system no longer removes tasks from the temporary task removal log table one by one. Instead of removing tasks one by one according to formula (7) and removal criteria, all tasks not currently executed by the unmanned system after negotiation are removed from the task list. The operation involves updating the performance impact record table for removing tasks according to equation (5). ; Step S5.5: At this time, each unmanned system conducts an instant information update negotiation, and each unmanned system sends its removal task performance impact record table to other unmanned systems within the communication topology range. Task pending execution record form ; Record table of the impact of information received from other unmanned systems on the local removal task performance. Task pending execution record form Update and maintain the information in the database; Update, maintain, remove task performance impact record table Task Pending Execution Record Form The methods include: Based on the latest negotiation time and the differences in performance impact of removing each task across different unmanned system lists, the consensus negotiation rule of the CBBA algorithm is adopted. According to different judgment conditions, the performance impact record table for removing tasks is updated. Task Pending Execution Record Form Perform update, retain, or reset operations on the information in the file; renew: , Unmanned systems Locally, the task Removal performance impact settings and unmanned systems Send the corresponding value and set the executor to an unmanned system. ; reserve: , Unmanned systems Local task The performance impact and executor information remain unchanged. Reset: Unmanned System Locally, the task Performance impact and executor Set to the initial default value; Step S6 includes: Step S6.1: Add the task performance impact record table. Performance impact record table for task removal In comparison, calculate: (8) Based on the criterion of minimizing cost increase, when At that time, perform the add operation. Add the selected task to the task list. middle; Step S6.2: Update and add the task performance impact record table according to formula (6). and cost list Repeat step S6.1 until no more tasks can be added to the task list. ) or updated After calculation using equation (8), it no longer satisfies the condition. Add judgment conditions; Step S6.3: After the task addition phase is completed, update the task removal performance impact record table. .
2. The distributed dynamic task allocation method for heterogeneous multi-unmanned systems as described in claim 1, characterized in that, Step S8 includes: Each unmanned system updates its time based on scene information. and its task list The task information is used to identify completed tasks, tasks yet to be completed, and tasks that have reached their designated locations but have not yet been executed, and the actual cost list is updated accordingly. Calculate the actual cost of each completed and pending task. ; When the task When a value is at the top of the list, its actual cost equals its estimated cost. ,otherwise, ,in, Completed task record sheet A boolean variable is used to determine whether a task is complete, and this is used to update the actual cost list. If the task information changes, However, once the actual costs of all tasks have been calculated, if That is, when the task has not actually started executing. ; An estimation method using the Euclidean distance between two points and the average travel speed is used to calculate the current position of the unmanned system in different cases. and available time : If the scene information is updated at the time The last task in the list After the actual cost and time, that is The unmanned system's current location is the mission. The position, that is The last task corresponding That is, the available time when the task has been completed. Otherwise when Available time ; If the scene information is updated at the time The first task in the list Before the actual cost and time required, it indicates that the unmanned system is heading to the mission location. During the journey or while waiting at the mission location to begin the mission, the travel time of the unmanned system is... Represented as And from the initial position of the unmanned system Total time to reach the mission location Represented as ,in, The Euclidean distance between two points represents the current position of the unmanned system. Unmanned systems are available immediately, with an available time. ; If the scene information is updated at the time In other scenarios, where the unmanned system arrives at the previous task... Location task corresponding This indicates a change in its mission status; the unmanned system is en route to the mission location. During the journey or while waiting at the mission location to begin the mission, the travel time of the unmanned system is... And from the unmanned system from the previous task Location Arrive at the mission Location Total time Represented as Current location of the unmanned system Unmanned systems are available immediately, with an available time. ; If the previous task corresponding If the scene information is updated at the time If an unmanned system is performing this task, then its location is the same as the location where the task is currently being performed. Unmanned systems are not immediately available; they become available after the task is completed, and their availability time is limited. If the scene information is updated at the time... The unmanned system has completed its mission. This indicates that the unmanned system is en route to the mission location. During the journey or while waiting at the mission location to begin the mission, the travel time of the unmanned system is... And from the unmanned system from the previous task Location Arrive at the mission Location Total time Represented as Current location of the unmanned system Unmanned systems are available immediately, with an available time. .
3. The distributed dynamic task allocation method for heterogeneous multi-unmanned systems as described in claim 2, characterized in that, Each unmanned system determined its current location. and available time And update the allocation process record table. Then, steps S4-S7 can be repeated for task reassignment; when there are multiple information updates during task assignment and execution, i.e., the moment of scene information update is represented as ,for At each information update moment, steps S4-S8 are repeated multiple times to redistribute tasks, thereby achieving dynamic task allocation.
Citation Information
Patent Citations
Multi-unmanned aerial vehicle task redistribution method based on performance influence algorithm
CN112926827A
Robot group task allocation deadlock abnormal data detection and optimization method and device
CN114721839A
