A collaborative detection method and system for static targets based on multi-agent collaboration

Through the multi-agent collaborative detection method and the use of greedy decentralized auction algorithm for task allocation, the problem of low efficiency of traditional single-platform detection is solved, and efficient detection of static targets in complex sea areas is achieved.

CN117252272BActive Publication Date: 2025-10-03JIANGSU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311244777.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-25
Publication Date
2025-10-03
Estimated Expiration
2043-09-25

AI Technical Summary

Technical Problem

Traditional single-platform detection solutions cannot efficiently detect multiple static targets, especially in complex and irregular sea areas, and cannot achieve efficient and accurate static target detection.

Method used

A multi-agent collaborative detection method is adopted, task allocation is performed through a greedy decentralized auction algorithm, the number and angle of detection are dynamically adjusted, and the utility value and state vector sharing of the agents are utilized to achieve optimal task allocation.

Benefits of technology

It achieves efficient and accurate detection of static targets in complex and irregular sea areas, and is suitable for maritime search, maritime rescue and maritime early warning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117252272B_ABST
    Figure CN117252272B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and system for collaborative detection of static targets based on multi-agent collaboration, comprising the following steps: S1, setting the range constraints of the area to be detected, initializing each agent and the static target; S2, mathematically modeling the collaborative detection problem, and completing the problem setting; S3, setting the task utility of each agent; S4, setting the static target collaborative detection algorithm, and completing the dynamic task allocation; S5, dynamically updating the state quantities of the agent and the static target, and realizing the detection of the static target. The present invention selects the optimal task for a single agent by the utility value of the agent or maximizing the expected utility, and allows the agents within the communication range to share their own state vectors, and then realizes a bidding auction based on the state vectors and the utility of the individual agents, abstracting the optimal task allocation into the problem of solving the bidding vector in the auction, and adopting a greedy decentralized auction algorithm to solve it, realizing the optimal task allocation of multiple agents with dynamic adjustment of the number of detections and detection angles, and guiding the detection of agents.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the fields of maritime search, maritime rescue and maritime early warning, and is a method and system for collaborative detection of static targets based on multi-agent collaboration. Background Art

[0002] In order to ensure the safety and economy of marine engineering construction, it is necessary to conduct systematic detection and precise measurement of the target area or target where the marine engineering is located in order to obtain the necessary parameters required for the project. In the context of vast sea areas, the traditional single-platform detection solution cannot achieve efficient multiple static target detection tasks due to the limitations of quantity and communication coordination. The multi-agent system, relying on the number of individuals and planning algorithms, can simultaneously and accurately detect multiple static targets in a short time. The present invention selects the optimal task for a single agent by the utility value of the agent or by maximizing the expected utility, and allows the agents within the communication range to share their own state vectors, and then realizes bidding auctions based on the state vectors and the utility of the individual agents. The optimal task allocation is abstracted as the bidding vector solution problem in auction theory, and is solved by a greedy decentralized auction algorithm to achieve the optimal task allocation of multiple agents with dynamic adjustment of the number of detections and detection angles, and thereby guide the detection of the agents, so as to achieve efficient, accurate and comprehensive observation of static targets in complex and irregular sea areas. Summary of the Invention

[0003] This invention proposes a method and system for collaborative static target detection based on multi-agent collaboration. First, the range constraints of the detection area are set, and each agent and the static target are initialized. Next, a mathematical model is constructed for the collaborative detection problem, completing the problem setting. The task utility of each agent is then determined. Finally, a collaborative static target detection algorithm is established, achieving dynamic task allocation. Finally, the state variables of the agents and the static target are dynamically updated to achieve static target detection.

[0004] In order to achieve the above-mentioned purpose, the technical solutions provided by the present invention are as follows:

[0005] A method and system for collaborative detection of static targets based on multi-agent collaboration, the method comprising:

[0006] S1. Set the range constraints of the area to be detected and initialize each agent and static target;

[0007] S2. Mathematically model the collaborative detection problem and complete the problem setting;

[0008] S3, setting the task utility of each agent;

[0009] S4. Set up a static target collaborative detection algorithm to complete dynamic task allocation;

[0010] S5. Dynamically update the state of the agent and the static target to detect the static target.

[0011] To further illustrate, the step S1 is specifically as follows:

[0012] S11. Set an irregular sea area with a boundary L;

[0013] S12. Set the total number of static targets n t , and initialize the state of each static target, including the static target position (T x_i ,T y_i ), static target threat range T thr_i , the number of static targets to be detected T r_i , static target initial detection angle T a_i And the static target detection change threshold (T rc_i ,T ac_i ), where i represents the i-th static target, and its value range is [1,n t ];

[0014] S13. Set the total number of agents n a , and initialize the state of each agent, including the initial position of the agent (A x_j ,A y_j ), effective detection range of the intelligent agent A sea_j , Agent cruising speed A cru_j And the speed A during agent detection spe_j , where j represents the jth agent, and its value range is [1,n a ].

[0015] To further illustrate, the step S2 is specifically as follows:

[0016] S21. In order to better describe the problem of static object detection based on multi-agent collaboration, the agents and their task assignments are regarded as a set, and this is used to explain the problem setting of static object detection based on multi-agent collaboration;

[0017] S22. An agent that is moving away from the goal and can only be assigned one task is considered an active agent, which can recalculate the optimal task allocation when moving towards the goal;

[0018] S23. Agents that are too close to the goal to consider other tasks are considered passive agents and will always be assigned to perform the final task;

[0019] S24. When time t≥0, set Andu j ∈U j , which represents the state and input of the jth agent in the multi-agent system, where S jis the state space, U j is the input space,

[0020] S25. Define x∈S as the joint state of the multi-agent system, where and This represents the joint state space;

[0021] S26. Let u∈U be the joint input of the multi-agent system, where and This represents the joint input space;

[0022] S27. Describe the motion of the j-th agent as:

[0023]

[0024] in is the initial state and of the jth agent, and f j :S j ×U j →S j is the vector field associated with the agent, from which the joint initial state is obtained And form dynamic constraints on the movement of the intelligent agent;

[0025] S28. In task allocation, the purpose is to a Different agents reasonably allocate p tasks, and the task allocation set is T: = {T1, ..., T p},set up is the set of states associated with a given task, and A j is the set of tasks T that the jth agent may be assigned to, then each subtask is assigned Equivalent to the task allocation in T, that is:

[0026]

[0027] Where T l ∈T, or an empty assignment;

[0028] S29. Represent the set of active agents as The boundary constraint is Φ j (x j (t p ),xT j ), when the agent moves within a fixed boundary, that is, Φ j (x j (t p ),xT j )<0, at all t>tp The task assignment a of fixed agent j in state j , thereby changing the agent state from active to passive.

[0029] To further illustrate, the step S3 is specifically as follows:

[0030] S31. Task utility represents the reward obtained by completing the task and reflects the relevant cost status of completing the task;

[0031] S32. The static task utility is defined as:

[0032] a=(a1,……,a n ) (3)

[0033] Under a specific task allocation plan, use Indicates being assigned to task T q ∈T, and considering that the agent assigned to a specific task may not complete the task, we use p jq ∈[0,1] as the jth agent successfully completes task T q In this case, the probability that at least one agent successfully completes the task increases as the number of agents assigned to the task increases;

[0034] S33. Define the completed task T q The expected reward is:

[0035]

[0036] in It's T q The nominal reward is calculated such that the probability that at least one agent completes the task is equal to the complement of the probability that no agent completes the task, i.e.

[0037] S34. For the completion cost of state-dependent tasks, assume that the system is at t=t f Always and in state The cost of completing the task is defined as the minimum cost required for the jth agent to complete the optimal control problem; when calculating, let a j =T q , where T q ∈T and j∈[1,n a ] d , then the calculation goal is to obtain an optimal control input It requires a piecewise continuous function to find the minimum of the following function:

[0038]

[0039] Among them, u j is the optimal control input, is the initial state of the j-th agent and, is a continuous function, x j (t) is the state of the j-th agent at time t, u j (t) is the input of the j-th agent at the t-th moment.

[0040] The above calculation process includes dynamic constraint expressions and the following terminal constraint expressions:

[0041]

[0042] in, is a given C 1 function.

[0043] Finally, the minimum cost is calculated by the following formula:

[0044]

[0045] Among them, ρ j (·) indicates minimum cost;

[0046] S35, combined with the task allocation plan a=(a1,……,a n ), complete the task T q The total task completion cost required is:

[0047]

[0048] This formula leads to the task T q For a given x 0 Total task utility:

[0049]

[0050] in is a constant used to convert the cost into the same units as the reward;

[0051] S36. The global utility can be calculated by combining the total task utility of each task:

[0052]

[0053] Based on the task assignment a, the individual utility of agent j is set to the marginal contribution of the agent to the global utility As shown in the following formula:

[0054]

[0055] To maximize the utility of each individual separately, the total utility of the team is set to the sum of the utilities of each individual.

[0056] To further illustrate, the step S4 is specifically as follows:

[0057] S41. Since the utility of the agent will change along the path to the goal, a dynamic task allocation method should be adopted when allocating tasks. At this time, as the agent continuously updates its state information, it is necessary to allocate tasks at each time step t∈[0,t f ]Reselect a new allocation plan a * (t);

[0058] S42. In dynamic task allocation, for a given t f >0 and x0∈S, according to the permanent allocation plan of the passive agent Get the jth passive agent j p The calculation formula is:

[0059] j p ∈N p =[1,n] d \N a (12)

[0060] Among them, N p represents the passive agent set, N a Represents a collection of active agents.

[0061] And the terminal constraints at this time are:

[0062]

[0063] In order to obtain the best dynamic task allocation results, a decentralized task allocation auction protocol is adopted during allocation, and dynamic task allocation is achieved based on the greedy joint auction algorithm;

[0064] S43. In the auction protocol for decentralized task allocation, the main principle of the auction is to calculate the individual utility of the agents for certain tasks, that is, to bid, and then the agents communicate with each other to infer the best allocation for each agent. In addition, for a single agent, it does not need to obtain the utility information of other agents, that is, it adopts a decentralized implementation method;

[0065] S44. To better solve the dynamic allocation problem, a greedy joint auction algorithm is used. This algorithm achieves the highest utility by assigning the best combination of tasks to the multi-agent network. Its main idea is to continuously iterate between the auction phase and the consensus phase to converge to the winning bid list.

[0066] S45. In the greedy joint auction algorithm, each agent has three vectors, which are continuously updated in each iteration step t. The first vector is the list of selected tasks in T, z j is a vector of length n, in which the kth element is the assigned task of the kth agent recognized by the jth agent; the second vector is the winning bid list, i.e., the utility of the agent, y j The kth element of is the agent k in selecting task z j,k The individual utility obtained after is a list of final or completed assignments, and thus informs agent j of the assignment status of other agents. In particular, if agent k does not change its chosen goal, then c j The kth element of is set to 1, otherwise it is set to 0, so that the agents that have completed the assigned tasks will not be taken into account in the subsequent auction process; based on these three vectors, each agent will choose the allocation plan that best suits itself, that is, maximize its own utility;

[0067] S46. In the greedy joint auction algorithm, it is divided into three sub-algorithms. The first sub-algorithm is the first step of the main algorithm loop iteration, corresponding to the optimal task selection function in the main algorithm. The algorithm is essentially an auction process. Each agent selects the optimal task plan based on its own utility value. If agent j does not complete the selected task, it will select a task based on the principle of maximizing expected utility and use the selected task and its related utility to update its bid vector; the second sub-algorithm corresponds to the shared state vector function in the main algorithm, that is, the consensus process, which first shares the bid vector y with other agents within the communication range of the agent. j 、z j and c j For each agent j, if multiple agents k are within the communication range of agent j at time t, then g jk When (t) = 1, multiple agents k will send their bid vectors y to agent j. k,k (t), z k,k (t) and c k,k (t); The third sub-algorithm corresponds to the update state vector function in the main algorithm, in which agent j determines the set of agents that can currently be assigned tasks based on the winner's bid vector it calculates, and selects the winner of the auction from these sets based on the utility of each of their individuals. Agent j then adds the winner to the final allocation list c j , and in c j and z j Reset the loser's value in , then update the time t←t+1, and make the main algorithm loop to the first sub-algorithm.

[0068] To further illustrate, the step S5 is specifically as follows:

[0069] S51, each agent calculates the forward route based on the dynamic task allocation results. It needs to avoid the threat range of each static target and cut into the static target from a specified angle. During the approach process, the agent's speed is maintained at the cruising speed A. cru_j , and perform dynamic task allocation process in real time to continuously calculate the optimal target and optimal path;

[0070] S52, the static target enters the effective detection range A of the intelligent body sea_j After the angle requirement is met, the speed of the agent is reduced to the speed A during the agent detection. spe_j , and maintain the detection time t spe seconds to complete the scan of a static target;

[0071] S53. After completing the angle scan, the agent drives away from the static target at a cruising speed, so that the static target leaves the detection range. At this time, the number of pending detections of the static target decreases by 1. If the number of pending detections reaches the static target detection change threshold (T rc_i ,T ac_i ) in T rc_i , then the effective detection angle change of the static target is T ac_i , otherwise it remains unchanged; in addition, if the number of pending detections of a static target has dropped to 0, the static target has completed the detection task and is removed from the pending detection list;

[0072] S54. Each agent continuously performs dynamic task allocation and completes the static target detection task according to the above process. When the number of static targets to be detected is less than the number of agents, the agents assigned with tasks continue to perform the static target detection task, while the agents without tasks remain at a stationary speed.

[0073] S55. After completing the detection of all static targets, the collaborative detection process is officially ended and the detection task is completed.

[0074] The present invention also proposes a collaborative static target detection system based on multi-agent collaboration, such as a computer or similar device, which can execute the above method when detecting static targets.

[0075] Beneficial effects of the present invention:

[0076] 1. This paper abstracts the optimal task allocation into the bidding vector solution problem in auction theory and solves it using a greedy decentralized auction algorithm, achieving multi-agent optimal task allocation with dynamic adjustment of detection times and detection angles.

[0077] 2. The present invention can realize the collaborative detection of static targets in complex and irregular sea areas based on multi-agent collaboration;

[0078] 3. The present invention can be applied to the fields of maritime search, maritime rescue and maritime early warning, such as using unmanned boats to search for static targets in irregular sea areas. BRIEF DESCRIPTION OF THE DRAWINGS

[0079] Figure 1 The overall process diagram of the present invention;

[0080] Figure 2 Flowchart of the static target collaborative detection algorithm of the present invention;

[0081] Figure 3 The simulation result diagram of the present invention in Matlab; DETAILED DESCRIPTION

[0082] This invention proposes a method and system for collaborative detection of static targets based on multi-agent collaboration, including the following steps: S1: setting range constraints for the area to be detected and initializing each agent and the static target; S2: mathematically modeling the collaborative detection problem to complete the problem setting; S3: setting the task utility of each agent; S4: setting a collaborative static target detection algorithm to complete dynamic task allocation; and S5: dynamically updating the state quantities of the agents and the static target to detect the static target. The invention selects the optimal task for each agent based on the agent's utility value or by maximizing expected utility. Agents within communication range share their state vectors, and then implement a bidding auction based on the state vectors and the individual agent utilities. This optimal task allocation is abstracted into the bid vector solution problem in auction theory and solved using a greedy decentralized auction algorithm. This achieves optimal multi-agent task allocation with dynamic adjustment of the number of detections and detection angles, guiding agent detection. The invention can be used in maritime search, rescue, and early warning applications, such as using unmanned vessels to search for static targets in irregular sea areas.

[0083] The present invention will be further described below with reference to the accompanying drawings.

[0084] like Figure 1 As shown, the present invention is a method and system for collaborative detection of static targets based on multi-agent collaboration, and the method includes the following steps:

[0085] S1. Set the range constraints of the area to be detected and initialize each agent and static target;

[0086] S2. Mathematically model the collaborative detection problem and complete the problem setting;

[0087] S3, setting the task utility of each agent;

[0088] S4. Set up a static target collaborative detection algorithm to complete dynamic task allocation;

[0089] S5. Dynamically update the state of the agent and the static target to detect the static target.

[0090] To further illustrate, the step S1 is specifically as follows:

[0091] Set the range constraints of the area to be detected and initialize each agent and static target;

[0092] S11. Set an irregular sea area with a boundary L;

[0093] S12. Set the total number of static targets n t , and initialize the state of each static target, including the static target position (T x_i ,T y_i ), static target threat range T thr_i , the number of static targets to be detected T r_i , static target initial detection angle T a_i And the static target detection change threshold (T rc_i ,T ac_i ), where i represents the i-th static target, and its value range is [1,n t ];

[0094] S13. Set the total number of agents n a , and initialize the state of each agent, including the initial position of the agent (A x_j ,A y_j ), effective detection range of the intelligent agent A sea_j , Agent cruising speed A cru_j And the speed A during agent detection spe_j , where j represents the jth agent, and its value range is [1,n a ]; The threat range is the safety range that prevents the intelligent agent (such as an unmanned ship) from colliding with a static target.

[0095] To further illustrate, the step S2 is specifically as follows:

[0096] Mathematically model the collaborative detection problem and complete the problem setting;

[0097] S21. In order to better describe the problem of static object detection based on multi-agent collaboration, the agents and their task assignments are regarded as a set, and this is used to explain the problem setting of static object detection based on multi-agent collaboration;

[0098] S22. An agent that is moving away from the goal and can only be assigned one task is considered an active agent, which can recalculate the optimal task allocation when moving towards the goal;

[0099] S23. Agents that are too close to the goal to consider other tasks are considered passive agents and will always be assigned to perform the final task;

[0100] S24. When time t≥0, set Andu j ∈U j , x j 、u j denote the state and input of the jth agent in the multi-agent system, respectively, where S j is the state space, U j is the input space,

[0101] S25. Define x∈S as the joint state of the multi-agent system, where and This represents the joint state space;

[0102] S26. Let u∈U be the joint input of the multi-agent system, where and This represents the joint input space;

[0103] S27. Describe the motion of the j-th agent as:

[0104]

[0105] in is the initial state and of the jth agent, and f j :S j ×U j →S j is the vector field associated with the agent, from which the joint initial state is obtained And form dynamic constraints on the movement of the intelligent agent;

[0106] S28. In task allocation, the purpose is to a Different agents reasonably allocate p tasks, and the task allocation set is T: = {T1, ..., T p},set up is the set of states associated with a given task, and A j is the set of tasks T that the jth agent may be assigned to, then each subtask is assigned Equivalent to the task allocation in T, that is:

[0107]

[0108] Where T l ∈T, or an empty assignment;

[0109] S29. Represent the set of active agents as The boundary constraint is Φ j (x j (t p ),xT j ), when the agent moves within a fixed boundary, that is, Φ j (x j (t p ),xT j )<0, at all t>t p The task assignment a of fixed agent j in state j , thereby changing the agent state from active to passive;

[0110] To further illustrate, the step S3 is specifically as follows:

[0111] Set the task utility of each agent;

[0112] S31. Task utility represents the reward obtained by completing the task and reflects the relevant cost status of completing the task;

[0113] S32. The static task utility is defined as:

[0114] a=(a1,……,a n ) (3)

[0115] Under a specific task allocation plan, use Indicates being assigned to task T q ∈T, and considering that the agent assigned to a specific task may not complete the task, we use p jq ∈[0,1] as the jth agent successfully completes task T q In this case, the probability that at least one agent successfully completes the task increases as the number of agents assigned to the task increases;

[0116] S33. Define the completed task T q The expected reward is:

[0117]

[0118] in It's T q The nominal reward is calculated such that the probability that at least one agent completes the task is equal to the complement of the probability that no agent completes the task, i.e.

[0119] S34. For the completion cost of state-dependent tasks, assume that the system is at t=t f Always and in state The cost of completing the task is defined as the minimum cost required for the jth agent to complete the optimal control problem; when calculating, let a j =T q , where T q ∈T and j∈[1,n a ] d , then the calculation goal is to obtain an optimal control input It requires a piecewise continuous function to find the minimum of the following function:

[0120]

[0121] Among them, u j is the optimal control input, is the initial state of the j-th agent and, is a continuous function, x j (t) is the state of the j-th agent at time t, u j (t) is the input of the j-th agent at the t-th moment.

[0122] The above calculation process includes dynamic constraint expressions and the following terminal constraint expressions:

[0123]

[0124] in, is a given C 1 function.

[0125] Finally, the minimum cost is calculated by the following formula:

[0126]

[0127] Among them, ρ j (·) indicates minimum cost;

[0128] S35, combined with the task allocation plan a=(a1,……,a n ), complete the task T q The total task completion cost required is:

[0129]

[0130] This formula leads to the task T q For a given x 0 Total task utility:

[0131]

[0132] in is a constant used to convert the cost into the same units as the reward;

[0133] S36. The global utility can be calculated by combining the total task utility of each task:

[0134]

[0135] Based on the task assignment a, the individual utility of agent j is set to the marginal contribution of the agent to the global utility As shown in the following formula:

[0136]

[0137] Indicates the situation where there is no task assigned. This is an empty set, indicating that no task is assigned to any agent, or no task is executed in the system. -j Represents the task allocation of other agents except agent j. This is a task allocation vector that contains the task allocation of all agents except agent j. represents the utility when no task is assigned to any agent and when tasks are assigned to other agents in the system except agent j.

[0138] To maximize the utility of each individual separately, the total utility of the team is set to the sum of the utilities of each individual.

[0139] To further illustrate, the step S4 is specifically as follows:

[0140] Set up a static target collaborative detection algorithm to complete dynamic task allocation. The algorithm flow is as follows: Figure 2 As shown;

[0141] S41. Since the utility of the agent will change along the path to the goal, a dynamic task allocation method should be adopted when allocating tasks. At this time, as the agent continuously updates its state information, it is necessary to allocate tasks at each time step t∈[0,t f ]Reselect a new allocation plan a * (t); t f Indicates the upper limit of the value range of t.

[0142] S42. In dynamic task allocation, for a given t f >0 and x0∈S, according to the permanent allocation plan of the passive agent Get the jth passive agent j p The calculation formula is:

[0143] j p ∈N p =[1,n] d \N a (12)

[0144] Among them, N p represents the passive agent set, N a Represents a collection of active agents.

[0145] And the terminal constraints at this time are:

[0146]

[0147] In order to obtain the best dynamic task allocation results, a decentralized task allocation auction protocol is adopted during allocation, and dynamic task allocation is achieved based on the greedy joint auction algorithm;

[0148] S43. In the auction protocol for decentralized task allocation, the main principle of the auction is to calculate the individual utility of the agents for certain tasks, that is, to bid, and then the agents communicate with each other to infer the best allocation for each agent. In addition, for a single agent, it does not need to obtain the utility information of other agents, that is, it adopts a decentralized implementation method;

[0149] S44. To better solve the dynamic allocation problem, a greedy joint auction algorithm is used. This algorithm achieves the highest utility by assigning the best combination of tasks to the multi-agent network. Its main idea is to continuously iterate between the auction phase and the consensus phase to converge to the winning bid list.

[0150] S45. In the greedy joint auction algorithm, each agent has three vectors, which are continuously updated in each iteration step t. The first vector is the list of selected tasks in T, z j is a vector of length n, in which the kth element is the assigned task of the kth agent recognized by the jth agent; the second vector is the winning bid list, i.e., the utility of the agent, Represents a mathematical set containing n-dimensional real vectors, and each component of these vectors is a positive real number greater than zero, y j The kth element of is the agent k in selecting task z j,k The individual utility obtained after is a list of final or completed assignments, and thus informs agent j of the assignment status of other agents. In particular, if agent k does not change its chosen goal, then c j The kth element of is set to 1, otherwise it is set to 0, so that the agents that have completed the assigned tasks will not be taken into account in the subsequent auction process; based on these three vectors, each agent will choose the allocation plan that best suits itself, that is, maximize its own utility;

[0151] S46. In the greedy joint auction algorithm, it is divided into three sub-algorithms. The first sub-algorithm is the first step of the main algorithm loop iteration, corresponding to the optimal task selection function in the main algorithm. The algorithm is essentially an auction process. Each agent selects the optimal task plan based on its own utility value. If agent j does not complete the selected task, it will select a task based on the principle of maximizing expected utility and use the selected task and its related utility to update its bid vector; the second sub-algorithm corresponds to the shared state vector function in the main algorithm, that is, the consensus process, which first shares the bid vector y with other agents within the communication range of the agent. j 、z j and c j For each agent j, if multiple agents k are within the communication range of agent j at time t, then g jk When (t) = 1, multiple agents k will send their bid vectors y to agent j. k,k (t), z k,k (t) and c k,k (t), g jk (t) is a state variable used to determine whether multiple agents k are within the communication range of agent j at time t, g jk (t) = 1 means it is within the communication range. The third sub-algorithm corresponds to the update state vector function in the main algorithm, in which agent j determines the set of agents that can currently be assigned tasks based on the winner's bid vector it calculates, and selects the winner of the auction from these sets based on the utility of each of their individuals. Agent j then adds the winner to the final assignment list c. j , and in c j and z j Reset the loser's value in , then update the time t←t+1, and make the main algorithm loop to the first sub-algorithm;

[0152] To further illustrate, the step S5 is specifically as follows:

[0153] Dynamically update the state of the agent and the static target to detect the static target;

[0154] S51, each agent calculates the forward route based on the dynamic task allocation results. It needs to avoid the threat range of each static target and cut into the static target from a specified angle. During the approach process, the agent's speed is maintained at the cruising speed A. cru_j , and perform dynamic task allocation process in real time to continuously calculate the optimal target and optimal path;

[0155] S52, the static target enters the effective detection range A of the intelligent body sea_j After the angle requirement is met, the speed of the agent is reduced to the speed A during the agent detection. spc_j , and maintain the detection time tspe seconds to complete the scan of a static target;

[0156] S53. After completing the angle scan, the agent drives away from the static target at a cruising speed, so that the static target leaves the detection range. At this time, the number of pending detections of the static target decreases by 1. If the number of pending detections reaches the static target detection change threshold (T rc_i ,T ac_i ) in T rc_i , then the effective detection angle change of the static target is T ac_i , otherwise it remains unchanged; in addition, if the number of pending detections of a static target has dropped to 0, the static target has completed the detection task and is removed from the pending detection list;

[0157] S54, each agent continuously performs dynamic task allocation and completes the static target detection task according to the above process. When the number of static targets to be detected is less than the number of agents, the agents assigned to the task continue to perform the static target detection task, while the agents not assigned to the task remain in place at a static speed. The simulation results of this process are as follows: Figure 3 As shown;

[0158] S55. After completing the detection of all static targets, the collaborative detection process is officially ended and the detection task is completed.

[0159] The intelligent agent in the embodiment of the present invention can be a drone, an unmanned boat, etc., and the static target can be a ship, an island or a reef, or an unpowered floating object, etc.

[0160] It should be noted that this specification is explained in terms of implementation methods, but not every specific implementation step represents an independent technical solution. This explanation model is used to help readers better understand the design steps and various methods of the present invention. Those skilled in the relevant art should consider this specification as a whole. Various technical solutions can be appropriately combined to form other implementation methods that are understandable to those skilled in the relevant art.

[0161] The series of detailed descriptions listed above are only specific descriptions of feasible implementation methods of the present invention. They are not intended to limit the scope of protection of the present invention. Any equivalent methods or changes that do not deviate from the technology of the present invention should be included in the scope of protection of the present invention.

Claims

1. A method for collaborative detection of static targets based on multi-agent collaboration, characterized in that: include: S1. Set the range constraints of the area to be detected and initialize each agent and static target; S2. Mathematically model the collaborative detection problem and complete the problem setting; S3, setting the task utility of each agent; S4. Setting a static target collaborative detection algorithm to complete dynamic task allocation; the specific implementation of S4 includes: S41, using dynamic task allocation, at this time, as the agent continuously updates the state information, it is necessary to f ]Reselect a new allocation plan a * (t); S42. In dynamic task allocation, for a given t f >0 and x0∈S, according to the permanent allocation plan of the passive agent Get the jth passive agent j p The calculation formula is: I p ∈N p =[1,n] d \N a (12) Among them, N p represents the passive agent set, N a represents a collection of active agents; And the terminal constraints at this time are: In order to obtain the best dynamic task allocation results, a decentralized task allocation auction protocol is adopted during allocation, and dynamic task allocation is achieved based on the greedy joint auction algorithm; S43. In the auction protocol for decentralized task allocation, the principle of the auction is to calculate the individual utility of the agents for certain tasks, that is, to bid, and then the agents communicate with each other to infer the best allocation for each agent. In addition, for a single agent, it does not need to obtain the utility information of other agents, that is, it adopts a decentralized implementation method; S44. To better solve the dynamic allocation problem, a greedy joint auction algorithm is used. This algorithm obtains the highest utility by allocating the best task combination to the multi-agent network. It continuously iterates between the auction phase and the consensus phase to converge to the winning bid list. S45. In the greedy joint auction algorithm, each agent has three vectors, which are continuously updated in each iteration step t. The first vector is the list of selected tasks in T, z j is a vector of length n, in which the kth element is the assigned task of the kth agent recognized by the jth agent; the second vector is the winning bid list, i.e., the utility of the agent, y j The kth element of is the agent k in selecting task z k,l The individual utility obtained after is a list of final or completed assignments, and thus informs agent j of the assignment status of other agents. In particular, if agent k does not change its chosen goal, then c j The kth element of is set to 1, otherwise it is set to 0, so that the agents that have completed the assigned tasks will not be taken into account in the subsequent auction process; based on these three vectors, each agent will choose the allocation plan that best suits itself, that is, maximize its own utility; S46. In the greedy joint auction algorithm, it is divided into three sub-algorithms. The first sub-algorithm is the first step of the main algorithm loop iteration, corresponding to the optimal task selection function in the main algorithm. The algorithm is essentially an auction process. Each agent selects the optimal task plan based on its own utility value. If agent j does not complete the selected task, it will select a task based on the principle of maximizing expected utility and use the selected task and its related utility to update its bid vector; the second sub-algorithm corresponds to the shared state vector function in the main algorithm, that is, the consensus process, which first shares the bid vector y with other agents within the communication range of the agent. j 、z j and c j For each agent j, if multiple agents k are within the communication range of agent j at time t, then g jk When (t) = 1, multiple agents k will send their bid vectors y to agent j. k,k (t), z k,k (t) and c k,k (t); The third sub-algorithm corresponds to the update state vector function in the main algorithm, in which agent j determines the set of agents that can currently be assigned tasks based on the winner's bid vector it calculates, and selects the winner of the auction from these sets based on the utility of each of their individuals. Agent j then adds the winner to the final allocation list c j , and in c j and z j Reset the loser's value in , then update the time t←t+1, and make the main algorithm loop to the first sub-algorithm; S5. Dynamically update the state of the agent and the static target to detect the static target.

2. The method for collaborative detection of static targets based on multi-agent collaboration according to claim 1, characterized in that: The specific implementation of S1 includes: S11. Set an irregular region with a boundary L; S12. Set the total number of static targets n t , and initialize the state of each static target, including the static target position (T x_i ,T y_i ), static target threat range T thr_i , the number of static targets to be detected T r_i , static target initial detection angle T a_i And the static target detection change threshold (T rc_i ,T ac_i ), where i represents the i-th static target, and its value range is [1,n t ]; S13. Set the total number of agents n a , and initialize the state of each agent, including the initial position of the agent (A x_j ,A y_j ), effective detection range of the intelligent agent A sea_j , Agent cruising speed A cru_j And the speed A during agent detection spe_j , where j represents the jth agent, and its value range is [1,n a ].

3. The method for collaborative detection of static targets based on multi-agent collaboration according to claim 1, characterized in that: The specific implementation of S2 includes: S21. Treating agents and their task assignments as a set, and using this to illustrate the problem setting of static object detection based on multi-agent collaboration; S22. An agent that is moving away from the goal and can only be assigned one task is considered an active agent, which can recalculate the optimal task allocation when moving towards the goal; S23. Agents that are too close to the goal to consider other tasks are considered passive agents and will always be assigned to perform the final task; S24. When time t≥0, set and It represents the state and input of the jth agent in the multi-agent system, where S j is the state space, U j is the input space, S25. Define x∈S as the joint state of the multi-agent system, where and This represents the joint state space; S26. Let u∈U be the joint input of the multi-agent system, where and This represents the joint input space; S27. Describe the motion of the j-th agent as: in is the initial state and of the jth agent, and f j :S j ×U j →S j is the vector field associated with the agent, from which the joint initial state is obtained And form dynamic constraints on the movement of the intelligent agent; S28. In task allocation, the purpose is to a Different agents reasonably allocate p tasks, and the task allocation set is T:={T1,……,T p },set up is the set of states associated with a given task, and A j is the set of tasks T that the jth agent may be assigned to, then each subtask is assigned Equivalent to the task allocation in T, that is: Where T l ∈T, or an empty assignment; S29. Represent the set of active agents as The boundary constraint is Φ j (x j (t p ),xT j ), when the agent moves within a fixed boundary, that is, Φ j (x j (t p ),xT j )<0, at all t>t p The task assignment a of fixed agent j in state j , thereby changing the agent state from active to passive.

4. The method for collaborative detection of static targets based on multi-agent collaboration according to claim 1, characterized in that: The specific implementation of S3 includes: S31. Define task utility, which represents the reward obtained by completing the task and reflects the relevant cost status of completing the task; S32. Define static task utility: a=(a1,……,a n ) (3) Under a specific task allocation plan, use Indicates being assigned to task T q ∈T, and considering that the agent assigned to a specific task may not complete the task, we use p jq ∈[0,1] as the jth agent successfully completes task T q In this case, the probability that at least one agent successfully completes the task increases as the number of agents assigned to the task increases; S33. Define the completed task T q The expected reward is: in It's T q The nominal reward is calculated such that the probability that at least one agent completes the task is equal to the complement of the probability that no agent completes the task, i.e. S34. For the completion cost of state-dependent tasks, assume that the system is at t=t f Always and in state The cost of completing the task is defined as the minimum cost required for the jth agent to complete the optimal control problem; when calculating, let a j =T q , where T q ∈T and j∈[1,n a ] d , then the calculation goal is to obtain an optimal control input It requires a piecewise continuous function to find the minimum of the following function: Among them, u j is the optimal control input, is the initial state of the j-th agent and, is a continuous function, x j (t) is the state of the j-th agent at time t, u j (t) is the input of the j-th agent at time t; The above calculation process includes dynamic constraint expressions and the following terminal constraint expressions: in, is a given C 1 function; Finally, the minimum cost is calculated by the following formula: Among them, ρ j (·) indicates minimum cost; S35, combined with the task allocation plan a=(a1,……,a n ), complete the task T q The total task completion cost required is: This formula leads to the task T q For a given x 0 Total task utility: in is a constant used to convert the cost into the same units as the reward; S36. The global utility can be calculated by combining the total task utility of each task: Based on the task assignment a, the individual utility of agent j is set to the marginal contribution of the agent to the global utility As shown in the following formula: To maximize the utility of each individual separately, the total utility of the team is set to the sum of the utilities of each individual.

5. The method for collaborative detection of static targets based on multi-agent collaboration according to claim 1, characterized in that: The specific implementation of S5 includes: S51, each agent calculates the forward route based on the dynamic task allocation results. It needs to avoid the threat range of each static target and cut into the static target from a specified angle. During the approach process, the agent's speed is maintained at the cruising speed A. cru_j , and perform dynamic task allocation process in real time to continuously calculate the optimal target and optimal path; S52, the static target enters the effective detection range A of the intelligent body sea_j After the angle requirement is met, the speed of the agent is reduced to the speed A during the agent detection. spe_j , and maintain the detection time t spe seconds to complete the scan of a static target; S53. After completing the angle scan, the agent drives away from the static target at a cruising speed, so that the static target leaves the detection range. At this time, the number of pending detections of the static target decreases by 1. If the number of pending detections reaches the static target detection change threshold (T rc_i ,T ac_i ) in T rc_i , then the effective detection angle change of the static target is T ac_i , otherwise it remains unchanged; in addition, if the number of pending detections of a static target has dropped to 0, the static target has completed the detection task and is removed from the pending detection list; S54. Each agent continuously performs dynamic task allocation and completes the static target detection task according to the above process. When the number of static targets to be detected is less than the number of agents, the agents assigned with tasks continue to perform the static target detection task, while the agents without tasks remain at a stationary speed. S55. After completing the detection of all static targets, the collaborative detection process is officially ended and the detection task is completed.

6. A method for collaborative static target detection based on multi-agent collaboration according to any one of claims 1 to 5, characterized in that: The intelligent agent can be a drone or an unmanned boat, and the static target can be a ship or an island reef.

7. A multi-agent collaborative static target detection system, characterized in that: The system can execute the method described in any one of claims 1 to 5 when detecting static targets.

Citation Information

Patent Citations

  • Airborne multi-platform distributed task allocation method

    CN110456633A

  • Heterogeneous multi-agent and multi-stage distributed auction algorithm based on local information

    CN112184400A