A method, apparatus and medium for implementing a multi-UAV formation flight system

By using the task management thread of the ground station to distribute and provide feedback on tasks to multiple UAVs in real time, the problem of takeoff timing and synchronization in UAV formation flight is solved, and safe and streamlined flight of UAV formation is realized.

CN120704404BActive Publication Date: 2025-12-02CHENGDU TIMES TECH

Patent Information

Application Number
CN202511196352.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-26
Publication Date
2025-12-02
Estimated Expiration
2045-08-26

AI Technical Summary

Technical Problem

In existing drone formation flight methods, the trajectory is calculated in one go, which leads to strict requirements on the timing and synchronization of drone takeoffs, and problems such as drone placement errors and takeoff collisions are prone to occur.

Method used

The task management thread of the ground station is used to distribute tasks to multiple UAVs in real time, and the feedback of UAV execution results is used to ensure the synchronization of time and events, avoid UAV collisions, and streamline the take-off and landing process.

Benefits of technology

It implements a real-time task distribution and feedback mechanism for drone formation flight, avoiding drone placement errors and takeoff collisions, and ensuring the safety and streamlined process of flight.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120704404B_ABST
    Figure CN120704404B_ABST
Patent Text Reader

Abstract

This invention provides a method, apparatus, and medium for implementing a multi-UAV formation flight system, relating to the field of UAV formation flight technology. The ground station and multiple UAVs are networked together. Multiple UAVs are grouped by a task management thread. Based on the grouping, tasks are distributed to the UAVs in real time, and feedback on the UAV execution results is obtained in real time. Based on the feedback information, the task management thread is triggered to distribute tasks to the next group of UAVs in real time. While ensuring real-time task distribution, UAV collisions can be avoided. The takeoff and landing process is streamlined, preventing UAVs from being misplaced and collisions during takeoff.
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) formation flight technology, specifically to a method, apparatus, and medium for implementing a multi-UAV formation flight system. Background Technology

[0002] Drone swarm flight is a collaborative process in which multiple drones work together to complete specific flight paths and perform corresponding maneuvers through programming. The realization of drone swarm flight relies on a variety of advanced technologies that work together to ensure smooth and safe performance. These technologies include high-precision positioning, wireless communication and data synchronization, and programming of drone flight paths and maneuvers. Currently, most methods calculate the drone flight path in one go, and then control all drones to fly independently along the path. This one-time path calculation method encounters several problems, including: the drones must be placed in the correct order at takeoff, and their takeoff times must be synchronized; when drones fly individually, if there is no synchronization of time and events between multiple drones, inconsistencies in coordination and collisions can easily occur. Summary of the Invention

[0003] The purpose of this invention is to provide a method, device, and medium for implementing a multi-UAV formation flight system. The system distributes tasks to multiple UAVs in real time through a task management thread on a ground station. Furthermore, it ensures the synchronization of time and events by calculating the guidance position and providing feedback on the UAV execution results, thereby avoiding UAV collisions. The system also streamlines the takeoff and landing process, preventing UAVs from being placed in the wrong position and colliding during takeoff.

[0004] To solve the above-mentioned technical problems, the present invention adopts the following solution:

[0005] A method for implementing a multi-UAV swarm flight system, wherein a ground station and multiple UAVs are networked together, and the multiple UAVs are managed through a task management thread on the ground station, the multi-UAV swarm flight method includes the following steps:

[0006] S1. The task management thread reads the i-th drone task group from a set of drone task groups ordered sequentially, and splits the i-th drone task group into several drone sub-tasks according to the drone number, i=1,2,3,…;

[0007] S2. The task management thread synchronously sends the drone sub-task to the corresponding drone task processing thread based on the drone number and starts timing. The drone task processing thread guides the drone to execute the drone sub-task.

[0008] S3. The task management thread receives the response information from the drone task processing thread that guides the drone to complete the drone sub-task. It checks whether the response information of all drone sub-tasks in the i-th drone task group has been received within the set time. If not, proceed to step S4; if yes, update i=i+1 and proceed to step S1.

[0009] S4. The task management thread filters out the drone numbers in the current drone task group that have not completed the drone sub-task based on the response information, generates a faulty sub-task based on the drone number, and sends it to the corresponding drone task processing thread. The drone task processing thread guides the drone to execute the faulty sub-task.

[0010] A further preferred technical solution is as follows: the UAV subtask and fault subtask refer to a command composed of UAV number, reference positioning UAV number, target point direction, target point distance, target point altitude, execution action, and action execution time; wherein, UAV subtasks and fault subtasks corresponding to the same UAV number have different target point directions, target point distances, target point altitudes, execution actions, and action execution times; UAV subtasks corresponding to the same UAV task group have the same action execution time.

[0011] A further preferred technical solution is as follows: The process by which the UAV task processing thread guides the UAV to execute UAV sub-tasks is specifically as follows:

[0012] The drone task processing thread calculates the target position based on the drone number, target point direction, target point distance and target point height of the reference positioning in the drone subtask, obtains the drone guidance position corresponding to the drone number in the drone subtask, and sends the drone guidance position to the drone corresponding to the drone number.

[0013] The drone task processing thread monitors the location information of the drone corresponding to the drone number in real time. When it detects that the drone has reached the corresponding drone guidance position, it sends the action to be executed and the action execution time to the drone corresponding to the drone number. The timing starts from the action execution time. After the action execution time is completed, the drone task processing thread uploads the response information of guiding the drone to complete the drone sub-task to the task management thread.

[0014] A further preferred technical solution is as follows: The process of generating a fault subtask based on the UAV number is as follows: The task management thread obtains the location information of the UAV corresponding to the UAV number, reduces the altitude in the location information, and generates a fault subtask based on the reduced location information.

[0015] A further preferred technical solution is as follows: the process of calculating the target position is as follows:

[0016] SA1. Calculate the offset ratio of the target point distance in the latitude and longitude directions (ofs_north, ofs_east) based on the target point direction and distance:

[0017] ofs_north = cosf(radians(bearing))*distance;

[0018] ofs_east = sinf(radians(bearing))*distance;

[0019] Among them, radians refers to converting the angle value of the target point's direction into radians, bearing refers to the angle value of the target point's direction, with the angle value ranging from 0° to 360°, and distance refers to the distance from the target point;

[0020] SA2. Calculate the scaling factor (scale) for longitude:

[0021] scale = cosf(lat * 1.0e-7 * DEG_TO_RAD);

[0022] Where DEG_TO_RAD = 3.14 / 180.0 = 0.01745;

[0023] SA3. Calculate the distance (dlat, dlng) in the latitude and longitude directions:

[0024] dlat = ofs_north * LOCATION_SCALING_FACTOR_INV;

[0025] dlng = ofs_east * LOCATION_SCALING_FACTOR_INV / scale;

[0026] Among them, LOCATION_SCALING_FACTOR_INV = 89.83204953368922;

[0027] SA4. Calculate the UAV guidance position (lat_target, lng_target) based on the distance (dlat, dlng) in the latitude and longitude directions:

[0028] lat_target = lat + dlat;

[0029] lng_target=lng+dlng.

[0030] A further preferred technical solution is as follows: the ground station and multiple drones form a network mode using HUAHU-H100, with one STA installed on each drone and one AP installed on the ground station to achieve AP communication.

[0031] A further preferred technical solution is as follows: each of the multiple drones is equipped with a millimeter-wave radar at the front, rear, left, right, top, and bottom. The millimeter-wave radar can sense the distance to the drones around it in real time. When the distance is less than a threshold, an early warning message is sent to the ground station. After receiving the early warning message, the ground station suspends the sub-tasks under all drone task processing threads according to the drone number. The drone task processing threads guide the drones to execute the suspended sub-tasks. The suspended sub-tasks refer to guiding the drones to hover or return to home.

[0032] A device for implementing a multi-UAV formation flight system includes:

[0033] Memory is used to store computer-readable instructions non-transiently;

[0034] A processor for executing the computer-readable instructions, which, when executed by the processor, implement the method for implementing a multi-UAV formation flight system.

[0035] A non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the aforementioned method for implementing a multi-UAV formation flight system.

[0036] The beneficial effects of this invention are:

[0037] This invention provides a method, apparatus, and medium for implementing a multi-UAV swarm flight system. It employs a single ground station to manage multiple UAVs, using a network configuration between the UAVs. Each UAV is equipped with a STA (Stationary Access Point), and an AP (Access Point) is installed on the ground station to enable AP communication. Based on this connection mode, a task management thread is set up on the ground station. This thread groups the UAVs and distributes tasks to them sequentially in real time. Furthermore, it receives real-time feedback on the UAV execution results. Based on this feedback, the task management thread is triggered to distribute tasks to the next group of UAVs in real time. While ensuring real-time task distribution, UAV collisions can be avoided. The takeoff and landing process is streamlined, preventing misplacement and collisions during takeoff. Attached Figure Description

[0038] Figure 1 This is a schematic diagram of the networking mode in Embodiment 1 of the present invention;

[0039] Figure 2This is a schematic diagram of the task management thread in Embodiment 1 of the present invention;

[0040] Figure 3 This is a schematic diagram of the process flow of the multi-UAV formation flight method in Embodiment 1 of the present invention. Detailed Implementation

[0041] 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. The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit the present invention or its application or use. 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.

[0042] Unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps described in these embodiments do not limit the scope of the invention.

[0043] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.

[0044] Furthermore, for clarity and brevity, descriptions of well-known structures, functions, and configurations may have been omitted. Those skilled in the art will recognize that various changes and modifications can be made to the examples described herein without departing from the spirit and scope of this disclosure.

[0045] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.

[0046] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.

[0047] The present invention will now be described in detail with reference to the accompanying drawings and embodiments:

[0048] Example 1

[0049] This embodiment proposes a method for implementing a multi-UAV swarm flight system. Firstly, a ground station manages the swarm flight of multiple UAVs. The ground station and the multiple UAVs are networked using HUAHU-H100, a map and data integrated module supporting up to 32 nodes. It supports serial port and network communication, uses the IEEE 802.11ah communication protocol, operates at frequencies between 901MHz and 928MHz, has a communication bandwidth of 8MHz, a maximum data rate of 16Mbps, and low power consumption as low as 1W. It supports star network topology and point-to-point and point-to-multipoint modes. Figure 1 As shown, a STA is installed on each drone, and an AP is installed on the ground station to enable AP communication.

[0050] Specifically, the UAVs can be numbered using the flight control parameters SYSID_MYGCS and SYSID_ENFORECE, with numbers 1, 2, 3, ..., n (n less than or equal to 31). The ground station can then connect to each UAV using its SYSID_MYGCS number, obtain its real-time location information, display it on a map, send the next guidance point to each UAV using its SYSID_MYGCS number, and broadcast information to all UAVs.

[0051] During formation flying of multiple drones by a ground station, the drone formation flight uses a guidance mode. The attitude control and distance of the drones are guided by the ground station, and data processing is performed there. The drones only perform flight and status reporting. Specifically, when the ground station receives a task, it calculates the target position that the drone needs to set based on the task reference drone's current location and task requirements, and then sends the corresponding target position to the drone. In guidance mode, the drone automatically flies to the designated target position. At this time, the ground station can obtain the drone's position information in real time to determine whether the drone has reached the designated position. Once the drone reaches the designated position, the ground station sends the drone the actions it needs to perform. The drone executes the actions, and after the execution time is completed, it continues to the next task. If the drone does not receive the next command, it hovers and performs the current drone's actions.

[0052] Currently, most methods calculate the flight path of the drones in a single go and then control all drones to fly independently along the flight path. This method sends all waypoints of the formation flight to the drones in advance, which means that all drones need to be arranged in a pre-set queue and must take off at the same time to ensure consistency of time and events and avoid collisions.

[0053] Therefore, the multi-UAV formation flight method provided in this embodiment improves upon the above-mentioned problems. It mainly involves grouping multiple UAVs into task management threads, and then sequentially distributing tasks to the UAVs in real time according to the grouping. Furthermore, in this embodiment, a dedicated UAV task processing thread is provided for each UAV, and the task management thread communicates with the UAV task processing thread. Figure 2 As shown, the drone task processing threads are numbered according to the drone number, that is, drone number 1 corresponds to drone 1 task processing thread. The task management thread is used to issue tasks to drones sequentially according to the grouping situation. After receiving the task issued by the task management thread, the drone task processing thread calculates and processes the task data to guide the corresponding drone to take off.

[0054] As can be seen, the multi-drone formation flight method forms task groups through a task management thread and a drone task processing thread. Task grouping enables drones to take off one by one, avoiding the above-mentioned problems. Furthermore, it obtains feedback on the drone execution results in real time. Based on the feedback information, the task management thread is triggered to distribute tasks to the drones corresponding to the next group in real time. While ensuring real-time task distribution, drone collisions are avoided, and the take-off and landing process is streamlined.

[0055] Specifically, such as Figure 3 As shown, the multi-UAV formation flight method includes the following steps:

[0056] S1. The task management thread reads the i-th drone task group from a set of drone task groups ordered sequentially, and splits the i-th drone task group into several drone sub-tasks according to the drone number, i=1,2,3,…;

[0057] S2. The task management thread synchronously sends the drone sub-task to the corresponding drone task processing thread based on the drone number and starts timing. The drone task processing thread guides the drone to execute the drone sub-task.

[0058] S3. The task management thread receives the response information from the drone task processing thread that guides the drone to complete the drone sub-task. It checks whether the response information of all drone sub-tasks in the i-th drone task group has been received within the set time. If not, proceed to step S4; if yes, update i=i+1 and proceed to step S1.

[0059] S4. The task management thread filters out the drone numbers in the current drone task group that have not completed the drone sub-task based on the response information, generates a faulty sub-task based on the drone number, and sends it to the corresponding drone task processing thread. The drone task processing thread guides the drone to execute the faulty sub-task.

[0060] A further preferred technical solution is as follows: the UAV subtask and fault subtask refer to a command composed of UAV number, reference positioning UAV number, target point direction, target point distance, target point altitude, execution action, and action execution time; wherein, UAV subtasks and fault subtasks corresponding to the same UAV number have different target point directions, target point distances, target point altitudes, execution actions, and action execution times; UAV subtasks corresponding to the same UAV task group have the same action execution time.

[0061] For example, the command format for the drone subtasks corresponding to a group of drone missions is as follows:

[0062] {

[0063] (1, 1, 90, 5, 20, 1, 5)

[0064] (2, 2, 90, 5, 20, 1, 5)

[0065] (3, 3, 90, 5, 20, 1, 5)

[0066] (4, 4, 90, 5, 20, 1, 5)

[0067] (5, 5, 90, 5, 20, 1, 5) ...

[0069] (n, n, 90, 5, 20, 1, 5)

[0070] }

[0071] The command execution effect of this drone task group is that all drones simultaneously fly 5m due east (90°) at an altitude of 20m, execute action 1, and the execution time is 5 seconds. After 5 seconds, the ground station reads the next task group.

[0072] A further preferred technical solution is as follows: The process by which the UAV task processing thread guides the UAV to execute UAV sub-tasks is specifically as follows:

[0073] The drone task processing thread calculates the target position based on the drone number, target point direction, target point distance and target point height of the reference positioning in the drone subtask, obtains the drone guidance position corresponding to the drone number in the drone subtask, and sends the drone guidance position to the drone corresponding to the drone number.

[0074] The drone task processing thread monitors the location information of the drone corresponding to the drone number in real time. When it detects that the drone has reached the corresponding drone guidance position, it sends the action to be executed and the action execution time to the drone corresponding to the drone number. The timing starts from the action execution time. After the action execution time is completed, the drone task processing thread uploads the response information of guiding the drone to complete the drone sub-task to the task management thread.

[0075] Specifically, to achieve multi-drone formation flight, multiple drone task groups can be pre-set according to the required flight process. These groups are then ordered sequentially, and each task group consists of one or more drone sub-tasks (the specific order is not limited). The main purpose is to group multiple drones into task groups so that they can take off in sequence, thus avoiding drone collisions. Furthermore, each drone sub-task corresponds to a drone number. The sub-task is then sent to the drone task processing thread corresponding to the drone number for data processing and calculation. The results of the data processing and calculation guide the drone to take off.

[0076] The ground station needs to activate a task management thread to read task groups from a specified file in real time. Specifically, it reads the i-th drone task group (i=1,2,3,…) from a pre-defined list of drone task groups ordered sequentially. Then, it decomposes the drone task group into drone subtasks and assigns them to the corresponding drone task processing threads. The drone processing threads calculate the guidance position for the corresponding drone number based on the drone subtasks and send this guidance position to the corresponding drone. The task management thread then waits for feedback messages from all drones indicating task completion. Once it receives all such feedback messages, it reads the next drone task group and repeats the process. If the task management thread times out (i.e., does not receive feedback messages from all drones within a set time), it indicates that some drones have not completed their tasks and may be malfunctioning. In this case, the task management thread generates a fault subtask and sends it to the corresponding drone task processing thread. The drone task processing thread guides the drone to execute the fault subtask. Specifically, the fault subtask guides the malfunctioning drone to descend to a certain altitude, sends a return-to-home command, and shuts down its task processing thread. It then continues to direct other drones to complete subsequent actions.

[0077] The drone task processing thread needs to read the pose information of the corresponding drone in real time, and calculate the drone's guidance position, i.e. the drone's next pose information, based on the drone sub-tasks distributed by the task management thread. It then guides the drone to the designated position to perform the corresponding actions. After the actions are completed, it reports the task completion feedback message to the task management thread. At the same time, it needs to handle abnormal situations of the drone based on its status.

[0078] Specifically, when multiple drones fly in formation and take off one by one through task grouping, the drone numbered 1 takes off first. After drone number 1 completes its takeoff, the ground station reads the next set of commands based on the task completion feedback message of drone number 1, obtains the task of drone number 2, calculates the location that drone number 2 needs to reach, and after drone number 2 reaches the location, it reads the next set of commands based on the task completion feedback message of drone number 2, and so on.

[0079] During takeoff, collisions can be avoided by utilizing altitude differences. For example, if all drones are at a height of 20 meters above the ground after takeoff, drone number 1 can take off directly to 20 meters and then fly to its designated position. Drones numbered 2 through n can take off from a height of 10 meters, fly to a height 10 meters below their designated position, and then ascend to 20 meters. This effectively avoids takeoff collisions and the need for drones to be positioned in formation. Similarly, during landing, drones are commanded to ascend one by one before returning to base, thus preventing collisions. A specific example of a takeoff command is provided below.

[0080] {

[0081] (1, 1, 0, 0, 20, 1, 5)

[0082] }

[0083] Drone No. 1 took off from its original position, at an altitude of 20m, performed action 1, and hovered for 5 seconds;

[0084] {

[0085] (1, 1, 90, 5, 20, 1, 5)

[0086] }

[0087] Drone No. 1 flies 5m to the due east (90°) at an altitude of 20m, performs action 1, and the execution time is 5 seconds;

[0088] {

[0089] (2, 2, 0, 0, 10, 2, 5)

[0090] }

[0091] Drone No. 2 took off from its original position, at an altitude of 10m, performed action 2, and hovered for 5 seconds;

[0092] {

[0093] (2, 1, 270, 10, 10, 2, 5)

[0094] }

[0095] Drone No. 2 is guided to a position 10m away from Drone No. 1 at an azimuth of 270° and an altitude of 10m, and performs action 2, hovering for 5 seconds;

[0096] {

[0097] (2, 2, 0, 0, 20, 2, 5)

[0098] }

[0099] Drone #2 ascends to 20m, performs action 2, and hovers for 5 seconds; Drone #2's takeoff is complete. Here, Drone #2 takes off from its original position, rises 10m, then flies horizontally to the designated location, and finally ascends to the final target point to prevent collisions with other aircraft; and so on, Drones #3, #4...n take off.

[0100] When the drone task processing thread reads the drone subtask (1, 1, 90, 5, 20, 1, 5), it first reads the parameters in the second column (the drone number for reference positioning) to obtain the current position (lat, lng) of drone number 1. Then, it reads the parameters in the third column (target point direction) and the fourth column (target point distance) to calculate the guide position (lat_target, lng_target) of drone number 1. Then, it reads the parameters in the fifth column (target point height), combines the guide position (lat_target, lng_target) and the target point height, and sends (lat_target, lng_target, alt_target) as the final target position to drone number 1. Then, it can detect whether drone number 1 has reached the designated target location. Specifically, the criterion is that drone 1 is less than 10cm away from the target location. When drone 1 reaches the target location, the sixth column (execute action) is read and sent to drone number 1. Drone number 1 then executes the corresponding action 1 (for example, action 0 is to turn off the lights, and action 1 is to turn on the lights). Simultaneously, the seventh column (action execution time) is read, a timer is started, and after the execution time is completed, a command to stop executing the action (e.g., send action 0 to turn off the lights) is sent. When drone number 1 completes its task, it sends a completion message back to the task management thread. This process continues.

[0101] A further preferred technical solution is as follows: the process of calculating the target position is as follows:

[0102] SA1. Calculate the offset ratio of the target point distance in the latitude and longitude directions (ofs_north, ofs_east) based on the target point direction and distance:

[0103] ofs_north = cosf(radians(bearing))*distance;

[0104] ofs_east = sinf(radians(bearing))*distance;

[0105] Among them, radians refers to converting the angle value of the target point's direction into radians, bearing refers to the angle value of the target point's direction, with the angle value ranging from 0° to 360°, and distance refers to the distance from the target point;

[0106] SA2. Calculate the scaling factor (scale) for longitude:

[0107] scale = cosf(lat * 1.0e-7 * DEG_TO_RAD);

[0108] Where DEG_TO_RAD = 3.14 / 180.0 = 0.01745;

[0109] SA3. Calculate the distance (dlat, dlng) in the latitude and longitude directions:

[0110] dlat = ofs_north * LOCATION_SCALING_FACTOR_INV;

[0111] dlng = ofs_east * LOCATION_SCALING_FACTOR_INV / scale;

[0112] Among them, LOCATION_SCALING_FACTOR_INV = 89.83204953368922;

[0113] SA4. Calculate the UAV guidance position (lat_target, lng_target) based on the distance (dlat, dlng) in the latitude and longitude directions:

[0114] lat_target = lat + dlat;

[0115] lng_target=lng+dlng.

[0116] A further preferred technical solution is as follows: each of the multiple drones is equipped with a millimeter-wave radar at the front, rear, left, right, top, and bottom. The millimeter-wave radar can sense the distance to the drones around it in real time. When the distance is less than a threshold, an early warning message is sent to the ground station. After receiving the early warning message, the ground station suspends the sub-tasks of all drone processing threads according to the drone number. The drone processing thread guides the drone to execute the suspended sub-task, which refers to guiding the drone to hover or return to home.

[0117] Specifically, millimeter-wave radar can sense the distance to surrounding drones in real time, detecting drones or obstacles at abnormal distances. The distance and location of these obstacles are transmitted back to the ground station in real time. The ground station's mission management system receives this obstacle location information and adjusts the drone group's status accordingly. For example, if an obstacle is detected, the ground station's mission management system broadcasts a hover or return message to each drone. If drones in the formation are too close together, they will automatically hover and wait to increase the distance before executing their mission, preventing collisions.

[0118] Example 2

[0119] A device for implementing a multi-UAV formation flight system includes:

[0120] Memory is used to store computer-readable instructions non-transiently;

[0121] A processor for executing the computer-readable instructions, which, when executed by the processor, implement the method for implementing a multi-UAV formation flight system.

[0122] A non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the aforementioned method for implementing a multi-UAV formation flight system.

[0123] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention in any way. Based on the technical essence of the present invention, any simple modifications, equivalent substitutions, and improvements made to the above embodiments within the spirit and principles of the present invention shall still fall within the protection scope of the present invention.

Claims

1. A method for implementing a multi-UAV formation flight system, characterized in that, The ground station and multiple drones are networked together, and the multiple drones are managed through the task management thread of the ground station. The multi-drone formation flight method includes the following steps: S1. The task management thread reads the i-th drone task group from a set of drone task groups ordered in sequence, and splits the i-th drone task group into several drone sub-tasks according to the drone number, i≤31. S2. The task management thread synchronously sends the drone sub-task to the corresponding drone task processing thread based on the drone number and starts timing. The drone task processing thread guides the drone to execute the drone sub-task. S3. The task management thread receives the response information from the drone task processing thread that guides the drone to complete the drone sub-task. It checks whether the response information of all drone sub-tasks in the i-th drone task group has been received within the set time. If not, proceed to step S4; if yes, update i=i+1 and proceed to step S1. S4. The task management thread filters out the drone numbers in the current drone task group that have not completed the drone sub-task based on the response information, generates a faulty sub-task based on the drone number, and sends it to the corresponding drone task processing thread. The drone task processing thread guides the drone to execute the faulty sub-task.

2. The method for implementing a multi-UAV formation flight system according to claim 1, characterized in that, The UAV subtasks and fault subtasks refer to commands consisting of UAV number, reference UAV number, target point direction, target point distance, target point altitude, execution action, and action execution time; wherein, UAV subtasks and fault subtasks corresponding to the same UAV number have different target point directions, target point distances, target point altitudes, execution actions, and action execution times; UAV subtasks corresponding to the same UAV task group have the same action execution time.

3. The method for implementing a multi-UAV formation flight system according to claim 2, characterized in that, The process by which the drone task processing thread guides the drone to execute drone subtasks is as follows: The drone task processing thread calculates the target position based on the drone number, target point direction, target point distance and target point height of the reference positioning in the drone subtask, obtains the drone guidance position corresponding to the drone number in the drone subtask, and sends the drone guidance position to the drone corresponding to the drone number. The drone task processing thread monitors the location information of the drone corresponding to the drone number in real time. When it detects that the drone has reached the corresponding drone guidance position, it sends the action to be executed and the action execution time to the drone corresponding to the drone number. The timing starts from the action execution time. After the action execution time is completed, the drone task processing thread uploads the response information of guiding the drone to complete the drone sub-task to the task management thread.

4. The method for implementing a multi-UAV formation flight system according to claim 2, characterized in that, The process of generating a fault subtask based on the drone number is as follows: the task management thread obtains the location information of the drone corresponding to the drone number, reduces the altitude in the location information, and generates a fault subtask based on the reduced location information.

5. The method for implementing a multi-UAV formation flight system according to claim 3, characterized in that, The process of calculating the target location is as follows: SA1. Calculate the offset ratios of the target point distance in the latitude and longitude directions, ofs_north and ofs_east, based on the target point direction and distance: ofs_north = cosf(radians(bearing))*distance; ofs_east= sinf(radians(bearing))*distance; Among them, radians refers to converting the angle value of the target point's direction into radians, bearing refers to the angle value of the target point's direction, with the angle value ranging from 0° to 360°, and distance refers to the distance from the target point; SA2. Calculate the scaling factor (scale) for longitude: scale = cosf(lat * 1.0e-7 * DEG_TO_RAD); Where DEG_TO_RAD = 3.14 / 180.0 = 0.01745; SA3. Calculate the distances dlat and dlng in the latitude and longitude directions: dlat = ofs_north * LOCATION_SCALING_FACTOR_INV; dlng = ofs_east * LOCATION_SCALING_FACTOR_INV / scale; Among them, LOCATION_SCALING_FACTOR_INV = 89.83204953368922; SA4. Calculate the UAV guidance position (lat_target, lng_target) based on the distances dlat and dlng in the latitude and longitude directions: lat_target = lat + dlat; lng_target=lng+dlng.

6. The method for implementing a multi-UAV formation flight system according to claim 1, characterized in that, The ground station and multiple drones are networked using HUAHU-H100. Each drone is equipped with a STA and the ground station is equipped with an AP to enable AP communication.

7. The method for implementing a multi-UAV formation flight system according to claim 1, characterized in that, Multiple drones are equipped with a millimeter-wave radar at the front, rear, left, right, top, and bottom. The millimeter-wave radar can sense the distance to other drones in real time. When the distance is less than a threshold, an early warning message is sent to the ground station. After receiving the early warning message, the ground station suspends the sub-tasks below all drone task processing threads according to the drone number. The drone task processing threads guide the drones to execute the suspended sub-tasks, which refers to guiding the drones to hover or return to home.

8. A device for implementing a multi-UAV formation flight system, characterized in that, include: Memory is used to store computer-readable instructions non-transiently; A processor for executing the computer-readable instructions, which, when executed by the processor, implement the method for implementing a multi-UAV formation flight system according to any one of claims 1 to 7.

9. A non-transitory computer-readable storage medium, wherein, The non-transitory computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the method for implementing a multi-UAV formation flight system as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Multi-unmanned-aerial-vehicle cluster to-the-ground observation system and formation control method

    CN104820431A

  • Indoor multi-unmanned aerial vehicle formation control system based on Qt

    CN106406345A

Cited By

  • Cooperative control method and system for realizing self-organizing protection of multi-unmanned aerial vehicle cluster

    CN121613918A