A method and system for task execution of a drone cluster

By receiving task instructions and building UAV sub-swarms, and utilizing the Hungarian algorithm and consensus control algorithm, the reliability and scalability issues of multi-task execution in complex scenarios of UAV swarms were solved, and the safe and stable operation of UAV swarms was achieved.

CN120669717BActive Publication Date: 2026-04-17SUN YAT SEN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SUN YAT SEN UNIV
Filing Date
2025-06-04
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing drone swarms struggle to achieve safe, stable, and reliable multi-task execution in complex and ever-changing scenarios. Furthermore, the fixed size of drone swarms makes them difficult to change, lacking scalability and security guarantees.

Method used

By receiving mission instructions, determining the target mapping relationship based on mission information and UAV information, constructing a UAV subswarm, and using the Hungarian algorithm and consensus control algorithm for path planning to avoid collisions, the UAV subswarm achieves reliable communication and path planning.

Benefits of technology

It enables drone swarms to safely and stably process multiple tasks synchronously in complex scenarios, has scalability, avoids collisions between drones, and improves the reliability and safety of multi-tasking.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120669717B_ABST
    Figure CN120669717B_ABST
Patent Text Reader

Abstract

This invention provides a method and system for executing unmanned aerial vehicle (UAV) swarm tasks. The method, applied to a system controller, includes: receiving task instructions and obtaining a set of tasks to be assigned based on the instructions; determining a target mapping relationship between the set of tasks to be assigned and the UAV information of the UAV swarm based on the task information of the set of tasks to be assigned and the UAV information of the UAV swarm; determining the UAVs to be assigned tasks based on the target mapping relationship, enabling communication connections between each UAV to be assigned tasks to obtain a UAV sub-swarm; and then enabling the UAV sub-swarm to perform path planning based on a preset consistency control algorithm and UAV information to obtain a target path, thereby allowing the UAV sub-swarm to execute the corresponding assigned tasks based on the target path. This enables the UAV swarm to simultaneously process multiple assigned tasks, improves scalability, avoids collisions between UAVs within the swarm, and enhances the reliability of UAVs executing multiple tasks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of unmanned aerial vehicle (UAV) technology, and in particular to a method and system for executing UAV swarm missions. Background Technology

[0002] In recent years, with the rapid development of unmanned systems technology, drone swarms have made significant progress in various fields, especially demonstrating great potential in reconnaissance, exploration, rescue, and transportation missions. However, ensuring the safe, stable, and continuous operation of drone swarms remains a major challenge in their overall planning and control. Currently, most drone swarm control relies on manual control via software such as ground stations. While this method allows for unified management of all drones through a ground station, it still requires manual intervention to set parameters for each drone. This approach is suitable for static, fixed scenarios, but in complex and ever-changing real-world environments, swarm management may fail due to drone status, complex environments, and different mission objectives.

[0003] In existing drone swarm management systems, the tasks of the drone swarm are relatively simple. The next task can only be executed after the current task is completed, and multiple task objectives cannot be processed simultaneously. The size of the drone swarm is set at the beginning and is difficult to change in actual application, so it lacks scalability. In addition, the drone swarm management system lacks security protection functions, making it difficult to avoid collisions between drones within the swarm. Summary of the Invention

[0004] The present invention aims to provide a method and system for executing unmanned aerial vehicle (UAV) swarm tasks, in order to solve the above-mentioned technical problems and improve the reliability of UAVs in the process of performing multiple tasks.

[0005] To address the aforementioned technical problems, this invention provides a method for executing unmanned aerial vehicle (UAV) swarm tasks, comprising the following steps:

[0006] Receive task instructions and obtain a set of tasks to be assigned based on the task instructions;

[0007] Based on the task information of the set of tasks to be assigned and the drone information of the drone cluster, determine the target mapping relationship between the set of tasks to be assigned and the drone cluster.

[0008] Based on the target mapping relationship, the drones to be assigned tasks are determined, and communication connections are established between the drones to be assigned tasks to obtain a drone subgroup. Then, the drone subgroup performs path planning based on a preset consistency control algorithm and the drone information to obtain a target path, so that the drone subgroup executes the corresponding task to be assigned based on the target path.

[0009] In the above scheme, a task instruction is received, and a set of tasks to be assigned is obtained based on the task instruction. Based on the task information of the set of tasks to be assigned and the drone information of the drone cluster, a target mapping relationship between the set of tasks to be assigned and the drone cluster is determined, thereby enabling the drone cluster to simultaneously process multiple tasks to be assigned. Based on the target mapping relationship, the drones for the tasks to be assigned are determined, so that the drones for each task to be assigned can communicate with each other to obtain a drone sub-group. This allows for the construction of a corresponding drone sub-group based on the number of drones required for each task to be assigned. Compared to existing drone clusters where the size is predetermined and difficult to change in practical applications, this application is more scalable. Furthermore, the drone sub-group performs path planning based on a preset consistency control algorithm and the drone information to obtain a target path, enabling the drone sub-group to execute the corresponding task to be assigned based on the target path. This achieves path planning for each drone, avoiding collisions between drones within the drone cluster and improving the reliability of drones performing multiple tasks.

[0010] Furthermore, the drone information includes drone location, the task information includes the required number of drones and the location of the task target point, and the determination of the target mapping relationship between the task set to be assigned and the drone cluster based on the task information of the task set to be assigned and the drone information of the drone cluster includes:

[0011] Based on the number of drones required, the tasks to be assigned in the set of tasks to be assigned are divided into sub-tasks to be assigned.

[0012] Based on the location of the UAV and the location of the mission target point, determine the target distance;

[0013] Based on the target distance, the UAV, and the subtasks to be assigned, an initial matrix is ​​constructed;

[0014] Based on the initial matrix and the preset Hungarian algorithm, the point-to-point mapping relationship between each of the sub-tasks to be assigned and each of the UAVs is determined;

[0015] Based on the point-to-point mapping relationship and the task mapping relationship between the subtasks to be assigned and the tasks to be assigned, a mapping relationship between the set of tasks to be assigned and the UAV cluster is constructed.

[0016] Further, determining the point-to-point mapping relationship between each of the subtasks to be assigned and each of the UAVs based on the initial matrix and the preset Hungarian algorithm includes:

[0017] The target matrix is ​​obtained by subtracting the minimum value of each row from each row of the initial matrix and subtracting the minimum value of each column from each column.

[0018] Draw lines on the rows and columns of the target matrix such that the row and column lines cover the 0s in the target matrix;

[0019] Based on the values ​​of the target matrix, the subtasks to be assigned are assigned the value 0. When each subtask to be assigned successfully matches the value 0, a point-to-point mapping relationship between each subtask to be assigned and each UAV is obtained. When at least one subtask to be assigned fails to match, the minimum value that is not covered in the target matrix is ​​repeatedly obtained, so that the minimum value that is not covered is subtracted from all the values ​​of the uncovered matrix, and the minimum value that is not covered is added to all the values ​​of the matrix that are simultaneously drawn by the row lines and the column lines. Based on the values ​​of the target matrix, the subtasks to be assigned are assigned the value 0 until each subtask to be assigned successfully matches the value 0.

[0020] In the above scheme, the Hungarian algorithm is used to transform the one-to-many matching problem into a one-to-one matching problem, simplifying the complex combinatorial optimization problem. It can solve the matching problem between the task to be assigned and the drone without introducing complex algorithms and optimizers.

[0021] Furthermore, the drone information also includes preset communication object information, and the process of receiving task instructions and obtaining a set of tasks to be assigned based on the task instructions includes:

[0022] Receive an initialization command and obtain the preset communication object information of the UAV based on the initialization command, so that the UAV can obtain the status packets of other UAVs in the UAV cluster based on the preset communication object information and obtain the status packet acquisition status;

[0023] Based on the status packet acquisition status of all the drones, the initialization completion status of the drone is determined;

[0024] When the initialization completion status is "initialization complete", the task instruction is received, and a set of tasks to be assigned is obtained based on the task instruction.

[0025] In the above scheme, each UAV obtains the status packets of other UAVs in the UAV cluster based on preset communication object information, and obtains the status packet acquisition status. The status packet acquisition status is used to determine whether the communication of all UAVs is successful, thereby realizing the initialization of UAVs. Each UAV acquires the status packets of other UAVs, that is, it performs a number of checks equal to the number of UAVs, which improves the reliability of UAV communication.

[0026] Further, based on the target mapping relationship, the drones to be assigned tasks are determined, enabling communication connections between each drone to be assigned a task, thus obtaining a drone subgroup. The drone subgroup then performs path planning based on a preset consistency control algorithm and the drone information to obtain a target path, thereby enabling the drone subgroup to execute the corresponding assigned task based on the target path. This includes:

[0027] Based on each UAV to be assigned a task, the preset communication object information of each UAV in the UAV cluster is updated to obtain the current communication object information of all UAVs, so that all UAVs can establish communication connections based on the current communication object information to obtain a UAV sub-swarm.

[0028] In the above scheme, the communication target of the drone is updated from the entire drone cluster to the drone sub-swarm, thereby avoiding the failure of task execution due to incorrect communication target and improving the reliability and security of multi-tasking.

[0029] Further, based on the target mapping relationship, the drones to be assigned tasks are determined, enabling communication connections between each drone to be assigned a task, thus obtaining a drone subgroup. The drone subgroup then performs path planning based on a preset consistency control algorithm and the drone information to obtain a target path, thereby enabling the drone subgroup to execute the corresponding assigned task based on the target path. This includes:

[0030] Obtain the monitoring status information of the drone sub-swarm;

[0031] Based on the monitoring status information and the drone positions of each drone in the drone sub-swarm, the control quantity of the drone sub-swarm is obtained;

[0032] The path of the UAV sub-swarm is planned based on the control variables to obtain the target path.

[0033] In the above scheme, the control quantity of the drone sub-swarm is obtained based on the monitoring status information and the drone position of each drone in the drone sub-swarm, thereby ensuring the formation and target path of the entire drone sub-swarm to perform the task and avoiding the situation of drones flying randomly.

[0034] Further, based on the target mapping relationship, the drones to be assigned tasks are determined, enabling communication connections between each drone to be assigned a task, thus obtaining a drone subgroup. The drone subgroup then performs path planning based on a preset consistency control algorithm and the drone information to obtain a target path, thereby enabling the drone subgroup to execute the corresponding assigned task based on the target path. This includes:

[0035] For any of the aforementioned drones, perform the following steps:

[0036] Obtain the obstacle position of the UAV, the obstacle position is used to characterize the position of the collision-prone object, the collision-prone object includes obstacles or other UAVs in the UAV subgroup;

[0037] Based on the location of the obstacle and the location of the drone, the initial avoidance distance between the drone and the object prone to collision is obtained;

[0038] Based on the initial avoidance distance, the preset first-level avoidance threshold, and the preset second-level avoidance threshold, a flight strategy is determined so that the UAV can execute the corresponding assigned task based on the flight strategy and the target path.

[0039] In the above scheme, the safety of the drone is confirmed by comparing the initial avoidance distance with the first-level avoidance threshold and the second-level avoidance threshold, thereby improving the safety of the drone during mission execution.

[0040] Furthermore, the secondary avoidance threshold is less than the primary avoidance threshold, and the determination of the flight strategy based on the initial avoidance distance, the preset primary avoidance threshold, and the preset secondary avoidance threshold includes:

[0041] When the initial avoidance distance is less than the preset first-level avoidance threshold, the drone is driven away from the collision-prone object by the conservative force generated by the preset artificial potential field.

[0042] Based on the current location of the obstacle and the current location of the drone, the current avoidance distance between the drone and the object prone to collision is obtained;

[0043] When the current avoidance distance is less than the preset secondary avoidance threshold, a stop strategy is executed.

[0044] In the above scheme, two sets of avoidance thresholds are set, thereby executing two sets of avoidance strategies. When the threshold is below the first-level avoidance threshold, the most dangerous moment has not yet arrived, so the drone can simply be moved away from the object that is likely to collide. When the threshold is below the second-level avoidance threshold, the most dangerous moment has arrived, and the drone must be stopped. Different strategies are dynamically selected to adapt to different levels of danger.

[0045] Furthermore, when the initial avoidance distance is less than a preset first-level avoidance threshold, the drone is driven away from the collision-prone object by a conservative force generated by a preset artificial potential field, including:

[0046] Based on the current obstacle location, the drone's location, the preset repulsion coefficient, and the first-level avoidance threshold, a preset artificial potential field is constructed.

[0047] The conservative force generated by the artificial potential field drives the drone away from the collision-prone object.

[0048] In the above scheme, the pre-set artificial potential field ensures that the drone will not collide with objects that are prone to collision, thereby improving the safety of the drone during mission execution.

[0049] The present invention also provides a UAV swarm mission execution system, including a ground control console and a system controller, wherein:

[0050] The ground control console is used to send mission instructions;

[0051] The system controller is used to receive the task instructions and obtain a set of tasks to be assigned based on the task instructions; determine the target mapping relationship between the set of tasks to be assigned and the drone information of the drone cluster based on the task information of the set of tasks to be assigned and the drone information of the drone cluster; determine the drones to be assigned based on the target mapping relationship, so that the drones of each task to be assigned can establish communication connections to obtain a drone subgroup, and then enable the drone subgroup to perform path planning based on a preset consistency control algorithm and the drone information to obtain a target path, so that the drone subgroup can execute the corresponding task to be assigned based on the target path.

[0052] The system provided by the above solution is simple to construct. It cleverly receives task instructions and obtains a set of tasks to be assigned based on these instructions. Based on the task information of the task set and the drone information of the drone cluster, it determines the target mapping relationship between the task set and the drone cluster, enabling the drone cluster to simultaneously process multiple tasks. Based on the target mapping relationship, it identifies the drones for each task, allowing them to communicate and connect, thus forming a drone sub-group. This allows for the construction of corresponding drone sub-groups based on the number of drones required for each task. Compared to existing drone clusters where the size is predetermined and difficult to change in practice, this application offers greater scalability. Furthermore, the drone sub-groups perform path planning based on a preset consistency control algorithm and the drone information to obtain a target path. The drone sub-groups then execute the corresponding tasks based on this target path, thus achieving path planning for each drone, avoiding collisions between drones within the cluster, and improving the reliability of drones performing multiple tasks. Attached Figure Description

[0053] Figure 1 This is a schematic flowchart of a method for executing unmanned aerial vehicle (UAV) swarm tasks according to an embodiment of the present invention;

[0054] Figure 2 This is a schematic diagram of a drone swarm task execution system architecture provided in an embodiment of the present invention;

[0055] Figure 3 This is a schematic diagram of a drone swarm task execution system provided in an embodiment of the present invention, applied to a drone swarm. Detailed Implementation

[0056] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0057] Please see Figure 1 This embodiment provides a method for executing unmanned aerial vehicle (UAV) swarm tasks, applied to a system controller, and includes the following steps:

[0058] Step S1: Receive task instructions and obtain a set of tasks to be assigned based on the task instructions;

[0059] Step S2: Based on the task information of the task set to be assigned and the drone information of the drone cluster, determine the target mapping relationship between the task set to be assigned and the drone cluster;

[0060] Step S3: Based on the target mapping relationship, determine the drones to be assigned tasks, so that each drone to be assigned task can communicate with each other to obtain a drone subgroup. Then, the drone subgroup performs path planning based on the preset consistency control algorithm and drone information to obtain the target path, so that the drone subgroup executes the corresponding assigned task based on the target path.

[0061] In the above scheme, task instructions are received, and a set of tasks to be assigned is obtained based on the task instructions. Based on the task information of the task set and the drone information of the drone cluster, a target mapping relationship between the task set and the drone cluster is determined, enabling the drone cluster to simultaneously process multiple tasks to be assigned. Based on the target mapping relationship, the drones to be assigned are determined, allowing communication connections between the drones of each task to be assigned, resulting in a drone sub-swarm. This allows for the construction of corresponding drone sub-swarms based on the number of drones required for each task to be assigned. Compared to existing drone clusters where the size is predetermined and difficult to change in practical applications, this application offers greater scalability. Furthermore, the drone sub-swarms perform path planning based on a preset consistency control algorithm and drone information to obtain target paths, enabling the drone sub-swarms to execute the corresponding tasks to be assigned based on the target paths. This achieves path planning for each drone, avoiding collisions between drones within the drone cluster and improving the reliability of drones performing multiple tasks.

[0062] Further, refer to Figure 3 The UAV swarm mission execution method is applied to the system controller, which communicates with the ground control console.

[0063] The terminal equipment for drones is called a drone swarm controller, hereinafter referred to as the swarm controller. From a hardware perspective, each drone is equipped with a swarm controller, which communicates with the drone flight controller (i.e., the drone's flight controller) via serial port signals. Figure 2 The flight controller establishes a two-way communication link, and the cluster controller integrates a processor and other basic computer architecture. An ad hoc network module is connected to the cluster controller; this module is used to build a UAV cluster communication network, such as... Figure 3 The Mesh self-organizing network in the example only requires a local area network capable of forming a drone swarm, such as... Figure 3In this system, UAV 1, UAV 2, and UAV 3 communicate via a Mesh ad hoc network and monitor each other's attitude and speed information in status packets. Each UAV is assigned a fixed IP address within the local area network, and a unique serial number is generated based on this IP address. Additionally, gimbal cameras and LiDAR can be connected to the cluster controller for video recording and environmental sensing, respectively, with the cluster controller handling unified data acquisition. From a software perspective, the UAVs can include modules such as a flight control communication module, a radar point cloud detection module, a mission command receiving module, a mission path planning module, and a network communication module. For example, these modules can be started based on the ROS2 architecture. The software implementation is based on the ROS2 architecture and UDP networking communication. Modules between individual UAVs communicate through ROS2's topic mechanism, while communication between UAVs, the UAV cluster, and the ground control console is via the UDP network protocol. Furthermore, the flight control communication module parses flight control data using a custom communication protocol to obtain real-time UAV latitude, longitude, altitude, three-axis velocity information, and yaw angle information. The radar point cloud detection module extracts obstacle coordinates through voxel filtering and converts them to the UAV's body coordinate system. The drone flight control system primarily transmits the current drone status data to the cluster controller. Therefore, it connects to the IMU (Inertial Measurement Unit), GPS navigation, and altitude hold module to acquire data such as drone attitude, drone position, and drone altitude, and transmits this data to the cluster controller for processing.

[0064] Furthermore, because a drone swarm may contain some faulty drones, or new drones may be added to the existing swarm as needed, the swarm size needs to be dynamically adjusted before dividing it into multiple sub-swarms. First, the swarm status packets are monitored in real time: based on a unified status packet communication protocol, each drone continuously sends its own status packets within the communication network while simultaneously monitoring the status packet information of other drones. Each drone's swarm controller analyzes the received status packets to autonomously identify changes in the number of drones within the swarm. Second, for drone status packet loss: if no status packet is received from a drone within a heartbeat time threshold (the heartbeat time threshold should be 1-2 orders of magnitude larger than the status packet sending period), the drone is considered lost. Finally, new drone status packets are received: if a new status packet is received from a drone not previously in the swarm, it is considered a newly added drone. Because each drone is equipped with a swarm controller, each drone checks whether any drones in the swarm are lost or new drones have joined, thus improving the accuracy and reliability of the judgment.

[0065] In another example, drone information includes drone location, and task information includes the required number of drones and the location of the task target point. Based on the task information of the set of tasks to be assigned and the drone information of the drone swarm, the target mapping relationship between the set of tasks to be assigned and the drone swarm is determined, including:

[0066] Based on the number of drones required, the tasks to be assigned in the task set are divided into sub-tasks to be assigned.

[0067] Determine the target distance based on the drone's location and the mission objective's location;

[0068] Construct an initial matrix based on target distance, drone, and subtasks to be assigned;

[0069] Based on the initial matrix and the preset Hungarian algorithm, the point-to-point mapping relationship between each subtask to be assigned and each UAV is determined;

[0070] Based on the point-to-point mapping relationship and the task mapping relationship between the subtasks to be assigned and the tasks to be assigned, a mapping relationship between the set of tasks to be assigned and the UAV cluster is constructed.

[0071] It should be noted that the ground control console sends task commands to the system controller, containing data such as task type, number of tasks, coordinates of task target points, and task formation. Upon receiving the commands, the system controller groups the UAV swarm according to the number of task targets and a grouping algorithm. Specifically: the system controller receives the task commands and obtains a set of tasks to be assigned based on them. This set includes multiple tasks, each with task information including, but not limited to, task type and target point location. Then, the system controller groups the UAV swarm based on the task information in the set of tasks to be assigned, using a grouping algorithm. The grouping algorithm specifically employs the Hungarian algorithm: firstly, each UAV needs a corresponding task to be assigned. However, typically, a task to be assigned requires multiple UAVs to execute. Therefore, when the number of UAVs exceeds the number of tasks to be assigned, the tasks in the set are divided into sub-tasks based on the number of UAVs required for each task. In other words, since a task to be assigned requires multiple drones, the task to be matched is split into virtual subtasks equal to the number of drones. This transforms the one-to-many matching problem into a one-to-one matching problem, simplifying the complex combinatorial optimization problem. It solves the matching problem between tasks and drones without introducing complex algorithms and optimizers. Then, based on the drone positions and the target point positions, the target distance is determined. The subtasks to be assigned are used as rows of a matrix, the drone indices as columns, and the target distances as values, thus constructing an initial matrix. The initial matrix is ​​then calculated using a pre-defined Hungarian algorithm to determine the drones corresponding to each subtask, obtaining a point-to-point mapping relationship. Based on the original task mapping relationship, the subtasks are re-merged to form the assigned task. Based on this point-to-point mapping relationship, the target mapping relationship between the assigned task and each drone can be obtained. Finally, based on the target mapping relationship, the drones corresponding to the assigned task can be determined. When the drones of each assigned task establish communication connections, a drone subswarm is formed. The Hungarian algorithm is used to find the allocation method with the minimum total distance, so that each subtask to be assigned has exactly one drone to match.

[0072] For example, there are two tasks A and B to be assigned, and four drones u1, u2, u3, and u4. Assume that task A requires 2 drones and task B requires 2 drones; there are drones u1, u2, u3, and u4; split task A into A1 and A2, and task B into B1 and B2, resulting in four subtasks to be assigned, equal to the number of drones. Next, the target distances between the UAV's position and the mission target point are calculated, constructing a target matrix: each row of the target matrix is ​​A1, A2, B1, B2, and each column is UAV u1, u2, u3, u4; the values ​​in the matrix are: target distance from A1 to u1; target distance from A1 to u2; target distance from A1 to u3; target distance from A1 to u4; target distance from A2 to u1; target distance from A2 to u2; target distance from A2 to u3; target distance from A2 to u4; target distance from B1 to u1; target distance from B1 to u2; target distance from B1 to u3; target distance from B1 to u4; target distance from B2 to u1; target distance from B2 to u2 is 5; target distance from B2 to u3; target distance from B2 to u4. It can be understood that the target distances between the UAV's position and the mission target point are calculated using the Euclidean algorithm in three-dimensional space.

[0073]

[0074] Among them, (x u,i ,y u,i ,z u,i Let (x) be the position coordinates of the i-th UAV, and (x) be the position coordinates of the i-th UAV. t,j ,y t,j ,z t,j ) represents the coordinates of the j-th task target point.

[0075] In another embodiment, based on an initial matrix and a preset Hungarian algorithm, the point-to-point mapping relationship between each subtask to be assigned and each UAV is determined, including:

[0076] The target matrix is ​​obtained by subtracting the minimum value of each row from each row of the initial matrix, and subtracting the minimum value of each column from each column.

[0077] Draw lines on the rows and columns of the target matrix so that the row and column lines cover the 0s in the target matrix;

[0078] Based on the numerical values ​​of the target matrix, the subtasks to be assigned are assigned the value 0. When each subtask to be assigned successfully matches the value 0, a point-to-point mapping relationship between each subtask to be assigned and each drone is obtained. When at least one subtask to be assigned fails to match, the minimum value that is not covered in the target matrix is ​​repeatedly obtained so that the minimum value that is not covered is subtracted from all the values ​​of the uncovered matrix, and the minimum value that is not covered is added to all the values ​​of the matrix that have been drawn with both row and column lines. Based on the numerical values ​​of the target matrix, the subtasks to be assigned are assigned the value 0 until each subtask to be assigned successfully matches the value 0.

[0079] It should be noted that the specific method for calculating the initial matrix using the Hungarian algorithm is as follows: After virtually splitting the tasks to be assigned, we obtain N sub-tasks to be assigned and N drones. First, we perform subtraction on the rows: for each row, we obtain the minimum value, and then subtract this minimum value from all elements in that row, ensuring that each row has at least one "0"; for each column, we obtain the minimum value, and then subtract this minimum value from all elements in that column, ensuring that each column has at least one "0", thus obtaining the target matrix; then, we perform matching: each sub-task to be assigned attempts to match with an independent 0 in the corresponding row, where an independent 0 refers to a 0 in the same row or column that is not repeated by other selected 0s. When it is impossible to assign a drone to each sub-task, we draw lines with the fewest rows and columns possible to cover all 0s in the target matrix, and find the minimum value that is not covered by any lines, let's say it's 'a'. We subtract 'a' from all uncovered elements, add 'a' to all elements that are intersected by two lines, and leave the other elements in the target matrix unchanged, thus creating new 0s to prepare for the next round of matching. Then the matching is performed again: each subtask to be assigned attempts to match with the independent 0 in the corresponding row, until a drone is assigned to each subtask to be assigned, at which point the algorithm ends.

[0080] Furthermore, the required number of drones for each task to be assigned can be directly obtained by taking the total number of drones in the drone cluster, let's say M, and the number of tasks to be assigned, let's say N. Then the base number of drones in each subgroup is base = M / N, rounded down. The remaining drones are then sorted according to their average distance to each subgroup, and the nearest subgroup is selected for inclusion. It's understandable that the required number of drones for each task to be assigned can also be determined based on the actual task requirements. In this case, if the total number of drones required for the set of tasks to be assigned is less than the number of drones in the drone cluster, the remaining drones can also be sorted according to their average distance to each subgroup after obtaining the subgroups, and the nearest subgroup can be selected for inclusion. When a drone malfunctions, the excess drones can be added to replace the malfunctioning drone, improving the safety and reliability of multi-task execution.

[0081] In another embodiment, the drone information also includes preset communication object information, receiving task instructions, and obtaining a set of tasks to be assigned based on the task instructions, including:

[0082] Receive initialization instructions and obtain the preset communication object information of the UAV based on the initialization instructions, so that the UAV can obtain the status packets of other UAVs in the UAV cluster based on the preset communication object information and obtain the status packet acquisition status.

[0083] Based on the status packets of all drones, determine the initialization completion status of the drones;

[0084] When the initialization completion status is "initialization complete", the task instruction is received, and the set of tasks to be assigned is obtained based on the task instruction.

[0085] It should be noted that the ground control console issues initialization commands to the system controller. For example, the UAV uses the ROS2 topic mechanism to publish or subscribe to data from relevant modules. Task commands are transmitted between the ground control console and the system controller via UDP multicast. After receiving the initialization command, the cluster controller integrates its own UAV serial number and pose information into a UAV status packet and sends it to the network via UDP multicast, ultimately reaching the system controller. It's understood that UAV information includes the information within the status packet. For any given UAV, the initial preset communication target information is all other UAVs in the cluster; that is, any UAV can initially communicate with all other UAVs. Therefore, each UAV listens to the UAV status packets of other UAVs in the communication network and obtains the status packet acquisition status, which indicates whether the UAV is listening to the status packets of all other UAVs in the cluster. When the UAV's status packet acquisition status indicates that it can listen to the status packets of all other UAVs in the cluster, the initialization completion status is determined as complete. The system controller then reports the initialization completion to the ground control console. After the ground control console receives the initialization feedback from all UAVs in the cluster, the entire UAV cluster initialization is complete, and the system controller can receive task commands issued by the ground control console at any time.

[0086] In another embodiment, based on the target mapping relationship, drones to be assigned tasks are determined, and communication connections are established between each drone to be assigned a task, resulting in a drone subgroup. The drone subgroup then performs path planning based on a preset consistency control algorithm and drone information to obtain a target path, thereby enabling the drone subgroup to execute the corresponding assigned task based on the target path, including:

[0087] Based on each drone to be assigned a task, the preset communication object information of each drone in the drone swarm is updated to obtain the current communication object information of all drones, so that all drones can establish communication connections based on the current communication object information, thus obtaining a drone sub-swarm.

[0088] It's important to note that after dividing the drone swarm into multiple drone subgroups, the preset communication target information is updated, changing the communication targets from other drones in the swarm to other drones in the subgroups. That is, after the drone subgroups are divided, drones only receive status packets from other drones within the same subgroup until the subgroup's status changes. Understandably, after determining the target mapping relationship between each assigned task and the drone, the drone subgroup is not yet fully constructed. The construction of the drone subgroup is only complete after any two drones within a subgroup have successfully communicated with each other.

[0089] In another embodiment, based on the target mapping relationship, drones to be assigned tasks are determined, and communication connections are established between each drone to be assigned a task, resulting in a drone subgroup. The drone subgroup then performs path planning based on a preset consistency control algorithm and drone information to obtain a target path, thereby enabling the drone subgroup to execute the corresponding assigned task based on the target path, including:

[0090] Obtain the monitoring status information of the drone sub-swarm;

[0091] Based on the listening status information and the drone positions of each drone in the drone subswarm, the control variables of the drone subswarm are obtained.

[0092] The path of the UAV subswarm is planned based on the control variables to obtain the target path.

[0093] It should be noted that after receiving the current mission command, the system controller will send it to the cluster controllers of each UAV through the cluster controller network communication module. After receiving the current mission command, the cluster controller will hand it over to the mission command receiving module to determine the mission target point location. Then, the mission path planning module will begin path planning.

[0094] The task path planning module uses a consistency control algorithm for path planning. The controller function of the consistency algorithm is as follows:

[0095]

[0096] Among them, a ij To indicate whether drone i and drone j are listening to each other's state packets, i.e., listening to state information. i (t) and x j (t) represents the positions of drones i and j at time t, ui (t) represents the current control variable of the UAV. The state update function for each UAV in the formation is:

[0097] x i (t+1)=x i (t)+u i (t)*dt;

[0098] Where, x i (t+1) represents the position of UAV i at time t+1, and dt represents the communication time interval between the cluster controller and the UAV flight control system, typically controlled within 100ms. That is, the UAV determines its current flight attitude, speed, orientation, etc., in real time through control variables, thereby determining the target path and controlling the UAV to fly accordingly. Understandably, the UAV flight control system acquires the UAV's positioning, attitude, and speed information, while the cluster controller transmits data with the flight control UAVs through the flight control communication module, thereby controlling the flight of the corresponding individual UAVs. Furthermore, after the ground control console determines the task, it will issue task commands to the system controller for processing at specific time intervals (e.g., approximately 3-5 seconds) in the cluster communication network. The state update function only needs to iterate N = T / dt + α times, where T is the task command issuance period, and α is a control parameter used to avoid delays in task command reception caused by network fluctuations, which could lead to a lack of motion control for the UAV.

[0099] In another embodiment, based on the target mapping relationship, drones to be assigned tasks are determined, and communication connections are established between each drone to be assigned a task, resulting in a drone subgroup. The drone subgroup then performs path planning based on a preset consistency control algorithm and drone information to obtain a target path, thereby enabling the drone subgroup to execute the corresponding assigned task based on the target path, including:

[0100] For any drone, perform the following steps:

[0101] Obtain the obstacle location of the drone. The obstacle location is used to characterize the location of collision-prone objects, which include obstacles or other drones in the drone subgroup.

[0102] Based on the obstacle location and the drone's position, the initial avoidance distance between the drone and the object prone to collision is obtained;

[0103] Based on the initial avoidance distance, the preset first-level avoidance threshold, and the preset second-level avoidance threshold, a flight strategy is determined so that the UAV can execute the corresponding assigned task based on the flight strategy and the target path.

[0104] In another embodiment, the secondary avoidance threshold is less than the primary avoidance threshold. Based on the initial avoidance distance, the preset primary avoidance threshold, and the preset secondary avoidance threshold, a flight strategy is determined, including:

[0105] When the initial avoidance distance is less than the preset first-level avoidance threshold, the conservative force generated by the preset artificial potential field drives the drone away from the object that is prone to collision.

[0106] Based on the current obstacle location and the drone's current drone location, the current avoidance distance between the drone and the object that is likely to collide is obtained;

[0107] When the current avoidance distance is less than the preset secondary avoidance threshold, the stop strategy is executed.

[0108] In another embodiment, when the initial avoidance distance is less than a preset first-level avoidance threshold, the drone is driven away from the collision-prone object by a conservative force generated by a preset artificial potential field, including:

[0109] Based on the current obstacle location, the drone's drone location, the preset repulsion force coefficient, and the first-level avoidance threshold, a preset artificial potential field is constructed.

[0110] The drone is driven away from objects prone to collision by a conservative force generated by an artificial potential field.

[0111] It should be noted that the system receives drone information from each drone in the drone sub-cluster in real time, obtains obstacle point cloud data, and calculates the initial avoidance distance between the current drone and the other drones or obstacles.

[0112] Level 1 Avoidance Threshold Judgment: Based on the initial avoidance distance, determine if there are any drones or obstacles within a distance of less than the level 1 avoidance distance. If so, use an artificial potential field method to move the drone away. Artificial Potential Field Method Function U rep (p) is calculated as follows:

[0113]

[0114] Where p represents the current position coordinates of the drone, p o K represents the position coordinates of obstacles and other drones within the drone subset. rep r is the repulsive force coefficient. o This is the first-level avoidance threshold range. Only when the distance between the drone and a potentially colliding object is less than r... o Only then will the repulsive force take effect.

[0115] Level 2 avoidance threshold judgment: If the drone is still unable to increase the distance between itself and obstacles or other drones under Level 1 avoidance, Level 2 avoidance threshold judgment will be triggered. If the distance is less than Level 2 avoidance threshold, the drone will execute a stop policy, issue an error status packet, and leave the sub-cluster.

[0116] Furthermore, to further ensure the safety of drone flights, potentially colliding objects can also include other drones within the drone swarm.

[0117] refer to Figure 2 This embodiment also provides a drone swarm mission execution system, including a ground control console and a system controller, wherein:

[0118] The ground control console is used to send mission instructions;

[0119] The system controller receives task instructions and obtains a set of tasks to be assigned based on the task instructions; determines a target mapping relationship between the set of tasks to be assigned and the drone information of the drone cluster based on the task information of the set of tasks to be assigned and the drone information of the drone cluster; determines the drones to be assigned based on the target mapping relationship, so that the drones of each task to be assigned can establish communication connections to obtain a drone sub-group, and then the drone sub-group performs path planning based on a preset consistency control algorithm and the drone information to obtain a target path, so that the drone sub-group executes the corresponding task to be assigned based on the target path.

[0120] In summary, this solution dynamically controls the number of drones in the swarm: by integrating the drone swarm into a single communication network and acquiring status packet information from drones within the swarm, the current status of the drones is updated in real time. When the number of drones in the swarm changes, such as due to prolonged loss of connection or the receipt of new drone status packets, the task management system can dynamically adjust the number of drones in the swarm to ensure the stability of the entire system. It enables multi-task target processing: drone swarms often need to execute multiple tasks. This task management system can autonomously divide the drone swarm into subgroups based on task type and number, thereby achieving the simultaneous completion of multiple task objectives. It ensures safety: the task execution system can ensure that collisions do not occur within the swarm by constraining avoidance distances and limit distances based on the status packet information of drones within the swarm. When the distance between two drones is less than the avoidance distance, the drone will perform an avoidance maneuver; when the distance between two drones is less than the limit distance, the drone will hover and terminate the task. It provides high real-time performance and rapid response: the task management system periodically issues current task instructions to avoid the loss of task instructions due to network fluctuations, thus preventing task execution failure. In addition, when processing tasks, the task management system only calculates the motion control quantities within the task release cycle, so that the cluster task objectives are not affected by distance and can respond quickly to the task objectives.

[0121] The system provided by the above scheme is simple to construct. It cleverly receives task instructions and obtains a set of tasks to be assigned based on the task instructions. Based on the task information of the set of tasks to be assigned and the drone information of the drone cluster, it determines the target mapping relationship between the set of tasks to be assigned and the drone cluster, thereby enabling the drone cluster to process multiple tasks to be assigned simultaneously. Based on the target mapping relationship, it determines the drones to be assigned to each task, so that the drones to be assigned to each task can communicate with each other to obtain a drone sub-swarm. This allows the construction of a corresponding drone sub-swarm according to the number of drones required for each task to be assigned. Compared with the existing drone clusters whose size is set at the beginning and difficult to change in actual applications, this application is more scalable. Furthermore, the drone sub-swarms perform path planning based on a preset consistency control algorithm and drone information to obtain the target path, so that the drone sub-swarms execute the corresponding tasks to be assigned based on the target path. This achieves path planning for each drone, avoids collisions between drones within the drone cluster, and improves the reliability of drones in the process of executing multiple tasks.

[0122] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications are also considered to be within the scope of protection of the present invention.

Claims

1. A method for executing unmanned aerial vehicle (UAV) swarm tasks, characterized in that, Applied to a system controller, the method includes: Receive task instructions and obtain a set of tasks to be assigned based on the task instructions; Based on the task information of the set of tasks to be assigned and the drone information of the drone cluster, determine the target mapping relationship between the set of tasks to be assigned and the drone cluster; Based on the target mapping relationship, the drones to be assigned tasks are determined, and communication connections are established between the drones to be assigned tasks to obtain a drone subgroup. Then, the drone subgroup performs path planning based on a preset consistency control algorithm and the drone information to obtain a target path, so that the drone subgroup executes the corresponding task to be assigned based on the target path. The drone information includes drone location, the task information includes the required number of drones and the location of the task target point, and the determination of the target mapping relationship between the task set to be assigned and the drone cluster based on the task information of the task set to be assigned and the drone information of the drone cluster includes: Based on the number of drones required, the tasks to be assigned in the set of tasks to be assigned are divided into sub-tasks to be assigned. Based on the location of the UAV and the location of the mission target point, determine the target distance; Based on the target distance, the UAV, and the subtasks to be assigned, an initial matrix is ​​constructed; Based on the initial matrix and the preset Hungarian algorithm, the point-to-point mapping relationship between each of the sub-tasks to be assigned and each of the UAVs is determined; Based on the point-to-point mapping relationship and the task mapping relationship between the subtasks to be assigned and the tasks to be assigned, a mapping relationship between the set of tasks to be assigned and the UAV cluster is constructed.

2. The method for executing unmanned aerial vehicle (UAV) swarm tasks according to claim 1, characterized in that, The step of determining the point-to-point mapping relationship between each subtask to be assigned and each UAV based on the initial matrix and the preset Hungarian algorithm includes: The target matrix is ​​obtained by subtracting the minimum value of each row from each row of the initial matrix and subtracting the minimum value of each column from each column. Draw lines on the rows and columns of the target matrix such that the row and column lines cover the 0s in the target matrix; Based on the values ​​of the target matrix, the subtasks to be assigned are assigned the value 0. When each subtask to be assigned successfully matches the value 0, a point-to-point mapping relationship between each subtask to be assigned and each UAV is obtained. When at least one subtask to be assigned fails to match, the minimum value that is not covered in the target matrix is ​​repeatedly obtained, so that the minimum value that is not covered is subtracted from all the values ​​of the uncovered matrix, and the minimum value that is not covered is added to all the values ​​of the matrix that are simultaneously drawn by the row lines and the column lines. Based on the values ​​of the target matrix, the subtasks to be assigned are assigned the value 0 until each subtask to be assigned successfully matches the value 0.

3. The method for executing unmanned aerial vehicle (UAV) swarm tasks according to claim 1, characterized in that, The drone information also includes preset communication object information. The process of receiving task instructions and obtaining a set of tasks to be assigned based on the task instructions includes: Receive an initialization command and obtain the preset communication object information of the UAV based on the initialization command, so that the UAV can obtain the status packets of other UAVs in the UAV cluster based on the preset communication object information and obtain the status packet acquisition status; Based on the status packet acquisition status of all the drones, the initialization completion status of the drone is determined; When the initialization completion status is "initialization complete", the task instruction is received, and a set of tasks to be assigned is obtained based on the task instruction.

4. The method for executing unmanned aerial vehicle (UAV) swarm tasks according to claim 3, characterized in that, The process involves determining the drones to be assigned tasks based on the target mapping relationship, establishing communication connections between the drones assigned to each task to form a drone subgroup, and then having the drone subgroup perform path planning based on a preset consistency control algorithm and the drone information to obtain a target path. The drone subgroup then executes the corresponding assigned task based on the target path, including: Based on each drone to be assigned a task, the preset communication object information of each drone in the drone cluster is updated to obtain the current communication object information of all drones, so that all drones can establish communication connections based on the current communication object information to obtain a drone sub-group.

5. The method for executing unmanned aerial vehicle (UAV) swarm tasks according to claim 1, characterized in that, The process involves determining the drones to be assigned tasks based on the target mapping relationship, establishing communication connections between the drones assigned to each task to form a drone subgroup, and then having the drone subgroup perform path planning based on a preset consistency control algorithm and the drone information to obtain a target path. The drone subgroup then executes the corresponding assigned task based on the target path, including: Obtain the monitoring status information of the drone sub-swarm; Based on the monitoring status information and the drone positions of each drone in the drone sub-swarm, the control quantity of the drone sub-swarm is obtained; The path of the UAV sub-swarm is planned based on the control variables to obtain the target path.

6. The method for executing unmanned aerial vehicle (UAV) swarm tasks according to claim 1, characterized in that, The process involves determining the drones to be assigned tasks based on the target mapping relationship, establishing communication connections between the drones assigned to each task to form a drone subgroup, and then having the drone subgroup perform path planning based on a preset consistency control algorithm and the drone information to obtain a target path. The drone subgroup then executes the corresponding assigned task based on the target path, including: For any of the aforementioned drones, perform the following steps: Obtain the obstacle position of the UAV, the obstacle position is used to characterize the position of the collision-prone object, the collision-prone object includes obstacles or other UAVs in the UAV subgroup; Based on the location of the obstacle and the location of the drone, the initial avoidance distance between the drone and the object prone to collision is obtained; Based on the initial avoidance distance, the preset first-level avoidance threshold, and the preset second-level avoidance threshold, a flight strategy is determined so that the UAV can execute the corresponding assigned task based on the flight strategy and the target path.

7. The method for executing unmanned aerial vehicle (UAV) swarm tasks according to claim 6, characterized in that, The secondary avoidance threshold is less than the primary avoidance threshold. The process of determining the flight strategy based on the initial avoidance distance, the preset primary avoidance threshold, and the preset secondary avoidance threshold includes: When the initial avoidance distance is less than the preset first-level avoidance threshold, the drone is driven away from the collision-prone object by the conservative force generated by the preset artificial potential field. Based on the current location of the obstacle and the current location of the drone, the current avoidance distance between the drone and the object prone to collision is obtained; When the current avoidance distance is less than the preset secondary avoidance threshold, a stop strategy is executed.

8. The method for executing unmanned aerial vehicle (UAV) swarm tasks according to claim 7, characterized in that, When the initial avoidance distance is less than a preset first-level avoidance threshold, the drone is driven away from the collision-prone object by a conservative force generated by a preset artificial potential field, including: Based on the current obstacle location, the drone's location, the preset repulsion coefficient, and the first-level avoidance threshold, a preset artificial potential field is constructed. The conservative force generated by the artificial potential field drives the drone away from the collision-prone object.

9. A drone swarm mission execution system, characterized in that, This includes a ground control console and a system controller, among which: The ground control console is used to send mission instructions; The system controller is used to receive the task instructions and obtain a set of tasks to be assigned based on the task instructions; determine the target mapping relationship between the set of tasks to be assigned and the drone information of the drone cluster based on the task information of the set of tasks to be assigned and the drone information of the drone cluster; determine the drones to be assigned based on the target mapping relationship, so that the drones of each task to be assigned can establish communication connections to obtain a drone subgroup, and then enable the drone subgroup to perform path planning based on a preset consistency control algorithm and the drone information to obtain a target path, so that the drone subgroup can execute the corresponding task to be assigned based on the target path; The drone information includes drone location, the task information includes the required number of drones and the location of the task target point, and the determination of the target mapping relationship between the task set to be assigned and the drone cluster based on the task information of the task set to be assigned and the drone information of the drone cluster includes: Based on the number of drones required, the tasks to be assigned in the set of tasks to be assigned are divided into sub-tasks to be assigned. Based on the location of the UAV and the location of the mission target point, determine the target distance; Based on the target distance, the UAV, and the subtasks to be assigned, an initial matrix is ​​constructed; Based on the initial matrix and the preset Hungarian algorithm, the point-to-point mapping relationship between each of the sub-tasks to be assigned and each of the UAVs is determined; Based on the point-to-point mapping relationship and the task mapping relationship between the subtasks to be assigned and the tasks to be assigned, a mapping relationship between the set of tasks to be assigned and the UAV cluster is constructed.

Citation Information

Patent Citations

  • Unmanned aerial vehicle ethnic group task planning method and terminal equipment

    CN112230677A

  • Autonomous unmanned cluster reconnaissance system

    CN114115289A