Multi-unmanned aerial vehicle formation flight system implementation method and device and medium
Real-time task distribution and feedback synchronization of multiple drones are carried out through the task management thread of the ground station, which solves the problems of take-off sequence and time synchronization in drone formation flight and realizes safe and smooth flight of drone formation.
Patent Information
- Application Number
- CN202511196352.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-26
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2045-08-26
AI Technical Summary
In existing drone formation flight technology, the takeoff order and time synchronization of multiple drones are difficult to ensure, which leads to problems such as drones easily colliding and being placed in the wrong position.
The task management thread of the ground station is used to distribute tasks to multiple drones in real time, and the feedback of drone execution results is used to ensure the synchronization of time and events, avoid drone collisions, and streamline the take-off and landing process.
It achieves the safety and smoothness of drone formation flight, avoids collisions and placement errors during drone takeoff, and ensures the real-time distribution and execution of tasks.
Smart Images

Figure CN120704404A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of unmanned aerial vehicle (UAV) formation flight, and in particular to a method, device and medium for realizing a multi-UAV formation flight system. Background Art
[0002] Drone formation flying is a system in which multiple drones coordinate and cooperate, using programming to complete specific flight trajectories and execute corresponding actions. The implementation of drone formation flying relies on a variety of advanced technologies that work together to ensure smooth and safe results. These technologies include high-precision positioning technology, wireless communication and data synchronization, and programming of drone flight trajectories and execution actions. Currently, most methods calculate the trajectory of the drones' formation flight at one time, then control all drones to fly independently along the route. This one-time trajectory calculation method encounters several problems, including: the order of drone placement must be correct during takeoff, and the drones must take off at the same time; when drones fly independently, if time and events are not synchronized between multiple drones, it can easily lead to inconsistent coordination and collisions. Summary of the Invention
[0003] The purpose of the present invention is to provide a method, device and medium for implementing a multi-UAV formation flight system, which distributes tasks to multiple UAVs in real time through the task management thread of a ground station, and ensures the synchronization of time and events by calculating the guidance position and feedback of the UAV execution results, thereby avoiding UAV collisions, streamlining the take-off and landing processes, and avoiding UAVs from being misplaced and colliding during the take-off process.
[0004] In order to solve the above technical problems, the present invention adopts the following solutions: A method for implementing a multi-UAV formation flight system, wherein a ground station and multiple UAVs are networked and managed through a task management thread of the ground station, comprises the following steps: S1. The task management thread reads the i-th UAV task group from a plurality of preset UAV task groups in order, and splits the i-th UAV task group into several UAV subtasks according to the UAV number, where i = 1, 2, 3, ...; S2. The task management thread synchronously sends the drone subtask to the corresponding drone task processing thread according to the drone number and starts timing. The drone task processing thread guides the drone to execute the drone subtask; S3, the task management thread receives the response information from the drone task processing thread guiding the drone to complete the drone subtask, and checks whether the response information of all drone subtasks in the i-th drone task group is received within the set time. If not, go to step S4; if so, update i=i+1 and go to step S1; S4. The task management thread filters the response information to obtain the number of the drone that has not completed the drone subtask in the current drone task group, generates a fault subtask 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 fault subtask.
[0005] A further preferred technical solution is: the drone subtask and fault subtask refer to a command consisting of a drone number, a reference positioned drone number, a target point direction, a target point distance, a target point height, an execution action, and an action execution time; wherein, the drone subtask and fault subtask corresponding to the same drone number have different target point directions, target point distances, target point heights, execution actions, and action execution times; the drone subtasks corresponding to the same drone task group have the same action execution time.
[0006] A further preferred technical solution is: the process in which the drone task processing thread guides the drone to execute the drone subtask is specifically 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 detects the location information of the drone corresponding to the drone number in real time. When it is detected that the drone has arrived at the corresponding drone guidance position, the execution action and action execution time in the drone subtask are sent to the drone corresponding to the drone number, and the timing starts from the action execution time. After waiting for the action execution time to be completed, the drone task processing thread uploads the response information of guiding the drone to complete the drone subtask to the task management thread.
[0007] A further preferred technical solution is: the process of generating a fault subtask according to the drone number is: the task management thread obtains the location information of the drone corresponding to the drone number, lowers the altitude in the location information, and generates a fault subtask according to the lowered location information.
[0008] A further preferred technical solution is: the process of calculating the target position is: 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: ofs_north = cosf(radians(bearing))*distance; ofs_east = sinf(radians(bearing))*distance; Among them, radians refers to the conversion of the angle value of the target point direction into radian value, bearing refers to the angle value of the target point direction, the angle value range is 0°-360°, and distance refers to the distance to the target point; SA2. Find the scale of longitude: scale = cosf(lat * 1.0e-7 * DEG_TO_RAD); Where DEG_TO_RAD = 3.14 / 180.0 = 0.01745; SA3. Find the distance in the longitude and latitude directions (dlat, dlng): dlat = ofs_north * LOCATION_SCALING_FACTOR_INV; dlng = ofs_east * LOCATION_SCALING_FACTOR_INV / scale; Where, LOCATION_SCALING_FACTOR_INV = 89.83204953368922; SA4. Calculate the drone's guidance position (lat_target, lng_target) based on the distance in the latitude and longitude directions (dlat, dlng): lat_target=lat+dlat; lng_target=lng+dlng.
[0009] A further preferred technical solution is: HUAHU-H100 is used to form a networking mode between the ground station and multiple drones, a STA is installed on each drone, and an AP is installed on the ground station to realize AP communication.
[0010] A further preferred technical solution is: multiple drones are each equipped with a millimeter-wave radar in the front, back, left, right, top and bottom, and the millimeter-wave radar is used to sense the distance of the surrounding 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 terminates the subtasks under all drone task processing threads according to the drone number. The drone task processing thread guides the drone to execute the termination subtask, which refers to guiding the drone to hover or return.
[0011] A device for implementing a multi-UAV formation flight system, comprising: a memory for non-transitory storage of computer-readable instructions; A processor is used to execute the computer-readable instructions, and when the computer-readable instructions are executed by the processor, the method for implementing a multi-UAV formation flight system is implemented.
[0012] A non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, a method for implementing a multi-UAV formation flight system is implemented.
[0013] Beneficial effects of the present invention: The present invention provides a method, device and medium for implementing a multi-UAV formation flight system, which adopts a ground station to manage multiple UAVs, and a networking mode is adopted between the multiple UAVs by the ground station. An STA is installed on each UAV, and an AP is installed on the ground station to realize AP communication. Based on the above connection mode, a task management thread is set at the ground station, and multiple UAVs are grouped by the task management thread. Tasks can be distributed to the UAVs in real time according to the grouping situation, and feedback on the execution results of the UAVs is obtained in real time. The task management thread is triggered according to the feedback information to distribute tasks to the UAVs corresponding to the next group in real time. While ensuring the real-time distribution of tasks, UAV collisions can be avoided, the take-off and landing processes are streamlined, and the misplacement of UAVs and collisions during the take-off process can be avoided. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 This is a schematic diagram of the structure of the networking mode in Example 1 of the present invention; Figure 2 This is a schematic diagram of the structure of the task management thread in Example 1 of the present invention; Figure 3 Schematic diagram of the process structure of the multi-UAV formation flight method in Example 1 of the present invention. DETAILED DESCRIPTION
[0015] The following will be combined with the accompanying drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, rather than all the embodiments. The following description of at least one exemplary embodiment is actually only illustrative and is in no way intended to limit the present invention and its application or use. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0016] Unless otherwise specifically stated, the relative arrangement of components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention.
[0017] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.
[0018] Additionally, descriptions of well-known structures, functions, and configurations may be omitted for clarity and conciseness. 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 the present disclosure.
[0019] Technologies, methods and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, such technologies, methods and equipment should be considered part of the authorization specification.
[0020] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not limiting. Therefore, other examples of the exemplary embodiments may have different values.
[0021] The present invention will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments: Example 1 In this embodiment, a method for implementing a multi-UAV formation flight system is proposed. First, a ground station is used to manage the formation flight of multiple UAVs. The ground station and multiple UAVs use HUAHU-H100 to form a networking mode. HUAHU-H100 is an integrated module that supports up to 32 nodes in a network. It supports serial port and network communication. HUAHU-H100 uses IEEE802.11ah communication protocol, with a frequency of 901MHz to 928MHz, a communication bandwidth of 8MHz, a maximum data rate of 16Mbps, low power consumption as low as 1W, star network, and supports point-to-point and point-to-multipoint modes. Figure 1 As shown, a STA is installed on each UAV and an AP is installed on the ground station to achieve AP communication.
[0022] Specifically, the flight control parameters SYSID_MYGCS and SYSID_ENFORECE can be used to number drones, 1, 2, 3, ...n (n is less than or equal to 31). The ground station can then connect to each drone using the SYSID_MYGCS number, obtain its real-time location information, and display it on a map. It can also send the next guidance point to each drone using the SYSID_MYGCS number and broadcast information to all drones.
[0023] When the ground station conducts formation flight of multiple drones, the drone formation flight uses the guidance mode. The attitude control and distance of the drone are guided by the ground station. The data is processed at the ground station. The drone only performs flight and status reporting. Specifically, when the ground station reads a task, it can calculate the target position that the drone needs to set based on the task reference and task requirements of the drone. Then, it sends the corresponding target position to the drone. The drone automatically flies to the specified target position in the guidance mode. At this time, the ground station can obtain the drone's position information in real time and determine whether the drone has reached the specified position. When the drone arrives at the specified position, the ground station sends the drone the action to be performed again. The drone performs the action. After the execution time is completed, it continues to perform the next task. If the drone does not receive the next command, it will continue to hover and perform the current drone's action.
[0024] However, most current methods calculate the flight path of the drones in formation at one time, and then control all drones to fly independently according to the route. This method sends all the waypoints of the formation flight to the drones in advance, which requires them to ensure that all drones are placed in a preset queue in advance and must take off at the same time to ensure consistency of time and events and avoid collisions.
[0025] Therefore, the multi-UAV formation flight method provided in this embodiment is improved to solve the above problems. It mainly groups multiple UAVs into tasks through a task management thread. According to the grouping situation, tasks can be distributed to the UAVs in real time. In addition, in this embodiment, a UAV task processing thread is set for each UAV. The task management thread communicates with the UAV task processing thread, such as Figure 2 As shown, the drone task processing threads are numbered according to the drone number, that is, the drone with drone number 1 corresponds to the drone 1 task processing thread. The task management thread is used to issue tasks to the drones in sequence according to the grouping situation. After the drone task processing thread receives the task issued by the task management thread, it calculates and processes the task data to guide the corresponding drone to take off.
[0026] It can be seen that the multi-UAV formation flight method forms task groups through the task management thread and the UAV task processing thread. Through task grouping, UAVs can take off one by one, avoiding the above-mentioned problems. In addition, feedback on the execution results of UAVs is obtained in real time. According to the feedback information, the task management thread is triggered to distribute tasks to the UAVs corresponding to the next group in real time. While ensuring real-time distribution of tasks, UAV collisions are avoided and the take-off and landing process is streamlined.
[0027] Specifically, such as Figure 3 As shown, the multi-UAV formation flight method includes the following steps: S1. The task management thread reads the i-th UAV task group from a plurality of preset UAV task groups in order, and splits the i-th UAV task group into several UAV subtasks according to the UAV number, where i = 1, 2, 3, ...; S2. The task management thread synchronously sends the drone subtask to the corresponding drone task processing thread according to the drone number and starts timing. The drone task processing thread guides the drone to execute the drone subtask; S3, the task management thread receives the response information of the drone task processing thread guiding the drone to execute the drone subtask, and checks whether the response information of all drone subtasks in the i-th drone task group is received within the set time. If not, go to step S4; if so, update i=i+1 and go to step S1; S4. The task management thread filters the response information to obtain the number of the drone that has not completed the drone subtask in the current drone task group, generates a fault subtask 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 fault subtask.
[0028] A further preferred technical solution is: the drone subtask and fault subtask refer to a command consisting of a drone number, a reference positioned drone number, a target point direction, a target point distance, a target point height, an execution action, and an action execution time; wherein, the drone subtask and fault subtask corresponding to the same drone number have different target point directions, target point distances, target point heights, execution actions, and action execution times; the drone subtasks corresponding to the same drone task group have the same action execution time.
[0029] For example, the command format of a drone subtask corresponding to a drone task group is as follows: { (1, 1, 90, 5, 20, 1, 5) (2, 2, 90, 5, 20, 1, 5) (3, 3, 90, 5, 20, 1, 5) (4, 4, 90, 5, 20, 1, 5) (5, 5, 90, 5, 20, 1, 5) .... (n, n, 90, 5, 20, 1, 5) } The command execution effect of this UAV task group is that all UAVs fly 5 meters to the east (90 degrees) at an altitude of 20 meters at the same time, perform action 1, and execute it for 5 seconds. After 5 seconds, the ground station reads the next set of tasks.
[0030] A further preferred technical solution is: the process in which the drone task processing thread guides the drone to execute the drone subtask is specifically 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 detects the location information of the drone corresponding to the drone number in real time. When it is detected that the drone has arrived at the corresponding drone guidance position, the execution action and action execution time in the drone subtask are sent to the drone corresponding to the drone number, and the timing starts from the action execution time. After waiting for the action execution time to be completed, the drone task processing thread uploads the response information of guiding the drone to complete the drone subtask to the task management thread.
[0031] Specifically, to achieve multi-UAV formation flight, multiple UAV task groups can be pre-set based on the desired flight path and ordered sequentially. A UAV task group can consist of one or more UAV subtasks, without limitation. The main purpose is to group multiple UAVs into tasks so that they can take off in sequence, thus avoiding collisions. Furthermore, each UAV subtask is assigned a UAV number. The subtask is then sent to the UAV task processing thread corresponding to that number for data processing and calculation. The results of this data processing and calculation guide the UAVs to take off.
[0032] The ground station needs to initiate a task management thread to read task groups from a specified file in real time. Specifically, it reads the i-th UAV task group from a pre-set, sequentially ordered list of multiple UAV task groups, where i = 1, 2, 3, ... . It then decomposes the UAV subtasks within the UAV task group and assigns them to the corresponding UAV task processing thread. The UAV processing thread calculates the guidance position of the UAV with the corresponding UAV number using the corresponding UAV subtask and sends the guidance position to the UAV with the corresponding number. The task management thread then waits for feedback from all UAVs that their tasks have completed. Once the task management thread receives feedback from all UAVs, it reads the next UAV task group and repeats the above process. If the task management thread times out (i.e., it does not receive feedback from all UAVs within the set timeout), indicating that a UAV has not completed its task and may be faulty, the task management thread generates a fault subtask and sends it to the corresponding UAV task processing thread. The UAV task processing thread then directs the UAV to execute the fault subtask. Specifically, the fault subtask directs the faulty UAV to descend to a certain altitude, then sends a return command and closes the UAV task processing thread. It then continues to direct other UAVs to complete subsequent actions.
[0033] The drone task processing thread needs to read the posture information of the corresponding drone in real time, and calculate the drone's guidance position, that is, the drone's next posture information, based on the drone subtasks distributed by the task management thread, and guide the drone to the designated position to perform the corresponding action. After the action is completed, the task completion feedback message is reported to the task management thread; at the same time, it is necessary to handle the drone's abnormal situation according to the drone's status.
[0034] Specifically, when multiple drones are flying in formation and taking off one by one through task grouping, first, the drone numbered 1 is taken off. After the drone numbered 1 completes its takeoff, the ground station reads the next set of commands based on the task completion feedback message of the drone numbered 1, obtains the task of the drone numbered 2, calculates the position that the drone numbered 2 needs to reach, and when the drone numbered 2 arrives at the position, the ground station reads the next set of commands based on the task completion feedback message of the drone numbered 2, and so on.
[0035] Among them, during the takeoff process, the height difference can be used to avoid collisions between drones during takeoff. For example, after all drones have completed takeoff, they are on a plane 20m above the ground. The drone numbered 1 can be directly taken off to a height of 20m and then fly to the designated location. The drones numbered 2 to n take off from a height of 10m, first fly to a height 10m below the designated location, and then rise to a height of 20m. This effectively avoids takeoff collisions and the problem of having to place drones according to formation positions. At the same time, when landing, the drones are also commanded one by one to first increase their altitude and then return to avoid collisions. Specifically, the takeoff command is as follows: { (1, 1, 0, 0, 20, 1, 5) } Drone No. 1 takes off from the spot, at an altitude of 20m, executes action 1, and hovers for 5 seconds; { (1, 1, 90, 5, 20, 1, 5) } Drone No. 1 flies 5 meters eastward (90°) at an altitude of 20 meters and performs action 1 for 5 seconds. { (2, 2, 0, 0, 10, 2, 5) } UAV No. 2 takes off from the spot under guidance, reaches an altitude of 10m, performs action 2, and hovers for 5 seconds; { (2, 1, 270, 10, 10, 2, 5) } Drone No. 2 leads to Drone No. 1 at a distance of 10 meters and a 270° angle, and performs action 2, hovering for 5 seconds. { (2, 2, 0, 0, 20, 2, 5) } Drone No. 2 ascends to 20 meters and executes Action 2, hovering for 5 seconds. Drone No. 2 completes its takeoff. Here, Drone No. 2 takes off 10 meters from its starting position, then flies parallel to the designated location before finally ascending to its final destination to avoid collision with other aircraft. This continues in this manner for Drones No. 3, No. 4, and so on.
[0036] When the drone task processing thread reads the drone subtask (1, 1, 90, 5, 20, 1, 5), first, it reads the parameters of the second column (the drone number of the reference positioning) to obtain the current position (lat, lng) of the drone numbered 1; then, it reads the parameters of the third column (target point direction) and the fourth column (target point distance), and calculates the guide position (lat_target, lng_target) of the drone numbered 1 through the target position; then, it reads the parameters of the fifth column (target point altitude), combines the guide position (lat_target, lng_target) with the target point altitude, and sends (lat_target, lng_target, alt_target) as the final target position to the drone numbered 1. Then, it is possible to detect whether the position of the drone numbered 1 has reached the designated target position. Specifically, the judgment standard is that the distance from the target position to the drone is less than 10 cm. When the drone reaches the designated target position, the sixth column (execution action) is read and sent to the drone numbered 1. The drone numbered 1 executes the corresponding action 1 (for example, the action numbered 0 is to turn off the light, and the action numbered 1 is to turn on the light). At the same time, the seventh column parameter (action execution time) is read, and the timing is started. After the execution time is completed, an instruction to stop executing the action (for example, sending action 0 to turn off the light) is sent. When the task of the drone numbered 1 is completed, the message of execution completion is fed back to the task management thread. And so on. A further preferred technical solution is: the process of calculating the target position is: 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: ofs_north = cosf(radians(bearing))*distance; ofs_east = sinf(radians(bearing))*distance; Among them, radians refers to the conversion of the angle value of the target point direction into radian value, bearing refers to the angle value of the target point direction, the angle value range is 0°-360°, and distance refers to the distance to the target point; SA2. Find the scale of longitude: scale = cosf(lat * 1.0e-7 * DEG_TO_RAD); Where DEG_TO_RAD = 3.14 / 180.0 = 0.01745; SA3. Find the distance in the longitude and latitude directions (dlat, dlng): dlat = ofs_north * LOCATION_SCALING_FACTOR_INV; dlng = ofs_east * LOCATION_SCALING_FACTOR_INV / scale; Where, LOCATION_SCALING_FACTOR_INV = 89.83204953368922; SA4. Calculate the drone's guidance position (lat_target, lng_target) based on the distance in the latitude and longitude directions (dlat, dlng): lat_target=lat+dlat; lng_target=lng+dlng.
[0037] A further preferred technical solution is: multiple drones are each equipped with a millimeter-wave radar in the front, back, left, right, top and bottom, and the millimeter-wave radar is used to sense the distance of the surrounding 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 terminates the subtask under the processing thread of all drones according to the drone number. The drone processing thread guides the drone to execute the termination subtask, which refers to guiding the drone to hover or return.
[0038] Specifically, millimeter-wave radar senses the distance to surrounding drones in real time, detecting drones or obstacles at unusual distances. The system then transmits the distance and direction of the obstacle to the ground station in real time. The ground station's task management system then receives this information and adjusts the group's status. For example, if an obstacle is detected, the ground station's task management system broadcasts a hover or return message to each drone. If drones in a formation are too close together, they automatically hover until they are farther apart before continuing their mission, preventing collisions.
[0039] Example 2 A device for implementing a multi-UAV formation flight system, comprising: a memory for non-transitory storage of computer-readable instructions; A processor is used to execute the computer-readable instructions, and when the computer-readable instructions are executed by the processor, the method for implementing a multi-UAV formation flight system is implemented.
[0040] A non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, a method for implementing a multi-UAV formation flight system is implemented.
[0041] The above description is merely a preferred embodiment of the present invention and does not constitute any form of limitation to the present invention. Based on the technical essence of the present invention and within the spirit and principles of the present invention, any simple modification, equivalent replacement and improvement of the above embodiment shall still fall within the scope of protection of the technical solution of the present invention.
Claims
1. A method for implementing a multi-UAV formation flight system, characterized in that: A networking mode is adopted between the ground station and the multiple UAVs, and the multiple UAVs are managed through the task management thread of the ground station. The multi-UAV formation flight method includes the following steps: S1. The task management thread reads the i-th UAV task group from a plurality of preset UAV task groups in order, and splits the i-th UAV task group into several UAV subtasks according to the UAV number, where i = 1, 2, 3, ...; S2. The task management thread synchronously sends the drone subtask to the corresponding drone task processing thread according to the drone number and starts timing. The drone task processing thread guides the drone to execute the drone subtask; S3, the task management thread receives the response information from the drone task processing thread guiding the drone to complete the drone subtask, and checks whether the response information of all drone subtasks in the i-th drone task group is received within the set time. If not, go to step S4; if so, update i=i+1 and go to step S1; S4. The task management thread filters the response information to obtain the number of the drone that has not completed the drone subtask in the current drone task group, generates a fault subtask 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 fault subtask.
2. The method for implementing a multi-UAV formation flying system according to claim 1, characterized in that: The drone subtask and fault subtask refer to commands consisting of a drone number, a reference positioned drone number, a target point direction, a target point distance, a target point height, an execution action, and an action execution time; wherein the drone subtask and fault subtask corresponding to the same drone number have different target point directions, target point distances, target point heights, execution actions, and action execution times; the drone subtasks corresponding to the same drone task group have the same action execution time.
3. The method for implementing a multi-UAV formation flying system according to claim 2, characterized in that: The specific process of the drone task processing thread guiding the drone to perform 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 detects the location information of the drone corresponding to the drone number in real time. When it is detected that the drone has arrived at the corresponding drone guidance position, the execution action and action execution time in the drone subtask are sent to the drone corresponding to the drone number, and the timing starts from the action execution time. After waiting for the action execution time to be completed, the drone task processing thread uploads the response information of guiding the drone to complete the drone subtask to the task management thread.
4. The method for implementing a multi-UAV formation flying system according to claim 2, wherein: The process of generating a fault subtask according to 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 according to the reduced location information.
5. The method for implementing a multi-UAV formation flying system according to claim 3, characterized in that: The process of target position calculation is: 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: ofs_north = cosf(radians(bearing))*distance; ofs_east = sinf(radians(bearing))*distance; Among them, radians refers to the conversion of the angle value of the target point direction into radian value, bearing refers to the angle value of the target point direction, the angle value range is 0°-360°, and distance refers to the distance to the target point; SA2. Find the scale of longitude: scale = cosf(lat * 1.0e-7 * DEG_TO_RAD); Where DEG_TO_RAD = 3.14 / 180.0 = 0.01745; SA3. Find the distance in the longitude and latitude directions (dlat, dlng): dlat = ofs_north * LOCATION_SCALING_FACTOR_INV; dlng = ofs_east * LOCATION_SCALING_FACTOR_INV / scale; Where, LOCATION_SCALING_FACTOR_INV = 89.83204953368922; SA4. Calculate the drone's guidance position (lat_target, lng_target) based on the distance in the latitude and longitude directions (dlat, dlng): lat_target=lat+dlat; lng_target=lng+dlng.
6. The method for implementing a multi-UAV formation flying system according to claim 1, characterized in that: The ground station and multiple drones use HUAHU-H100 to form a networking mode. A STA is installed on each drone and an AP is installed on the ground station to achieve AP communication.
7. The method for implementing a multi-UAV formation flying system according to claim 1, characterized in that: Multiple drones are equipped with a millimeter-wave radar on the front, back, left, right, top and bottom. The millimeter-wave radar senses the distance of the surrounding drones in real time. When the distance is less than the threshold, an early warning message is sent to the ground station. After receiving the early warning message, the ground station aborts the subtasks under all drone task processing threads according to the drone number. The drone task processing thread guides the drone to execute the abort subtask, which refers to guiding the drone to hover or return.
8. A device for realizing a multi-UAV formation flight system, characterized in that: include: a memory for non-transitory storage of computer-readable instructions; A processor is used to run the computer-readable instructions, and when the computer-readable instructions are run by the processor, a method for implementing a multi-UAV formation flight system according to any one of claims 1 to 7 is implemented.
9. A non-transitory computer-readable storage medium, characterized in that in, The non-transitory computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the method for implementing a multi-UAV formation flight system according to any one of claims 1 to 7 is implemented.
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
Unmanned plane formation method and system
CN108762299A
Vehicle-mounted unmanned aerial vehicle airport full-automatic high-precision flight landing system and method
CN112462791A
Unmanned aerial vehicle formation control method and system based on hybrid topological structure
CN113190035A
Cited By
Cooperative control method and system for realizing self-organizing protection of multi-unmanned aerial vehicle cluster
CN121613918A