Unmanned aerial vehicle swarm control method and device, electronic equipment and storage medium

By combining the extended Kalman filter algorithm and the virtual spring-damping model, the control problem of UAV swarms under conditions of limited or failed GNSS signals was solved, achieving formation stability and efficient mission execution.

CN121254897BActive Publication Date: 2026-03-27FOSHAN UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-12-08
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In environments where GNSS signals are limited or unavailable, UAV swarm control methods struggle to maintain formation stability and mission execution, leading to position drift and mission interruption. Existing technologies lack effective local wireless communication networks to enable UAVs to share position information.

Method used

An extended Kalman filter algorithm and a preset target positioning optimization function are used to calculate the positioning information of UAVs in dynamic grouping. Combined with a virtual spring-damping model, the dynamic grouping of UAVs is controlled in a coordinated manner to achieve stable control of UAV swarms in GNSS-limited or unavailable environments.

Benefits of technology

In environments where GNSS signals are unstable or completely lost, drone swarms can maintain formation stability and complete their missions, improving control efficiency and robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121254897B_ABST
    Figure CN121254897B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of unmanned aerial vehicle control, and discloses an unmanned aerial vehicle group control method and device, electronic equipment and storage medium, the method comprises the following steps: acquiring adjacent unmanned aerial vehicle information of each unmanned aerial vehicle in an unmanned aerial vehicle group in a GNSS limited or GNSS failure environment, dividing the unmanned aerial vehicle group into multiple unmanned aerial vehicle dynamic groups based on the adjacent unmanned aerial vehicle information through a division criterion and a greedy algorithm, calculating positioning information of each unmanned aerial vehicle in the corresponding unmanned aerial vehicle dynamic group by using an extended Kalman filtering algorithm, according to a target positioning optimization function, in combination with real-time data of a multi-source sensor of the unmanned aerial vehicle and the adjacent unmanned aerial vehicle information, cooperatively controlling the unmanned aerial vehicle dynamic groups based on target task information, in combination with the positioning information, and by using a virtual spring-damping model; the unmanned aerial vehicle dynamic groups are cooperatively controlled by the extended Kalman filtering algorithm, the target positioning optimization function and the preset virtual spring-damping model, and the control efficiency of the unmanned aerial vehicle group is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of unmanned aerial vehicle control, in particular to a method and device for controlling a group of unmanned aerial vehicles, an electronic device and a storage medium. BACKGROUND

[0002] In a low-altitude flight environment, urban dense building groups, tunnel structures, underground passages or strong electromagnetic interference areas are ubiquitous, resulting in frequent obstruction or interference of global navigation satellite system signals, and significant decline or even complete interruption of signal quality. Unmanned aerial vehicle clusters relying on satellite navigation therefore face serious challenges, including position information drift, formation synchronization failure and task interruption. Especially in large-scale unmanned aerial vehicle autonomous cooperative operation scenarios, positioning distortion or communication interruption of a single aircraft can trigger a system-level chain reaction, seriously threatening the stability and task safety of the overall operation. Traditional solutions mainly use passive strategies such as reducing flight altitude or suspending tasks, but such methods not only have low task efficiency, but also may increase the risk of collision between aircrafts or the probability of task failure.

[0003] In the current technical system, there is a lack of a control mechanism that can maintain the stable operation of a multi-unmanned aerial vehicle system under the condition of limited or completely failed global navigation satellite system signals, especially an effective way to share position information between unmanned aerial vehicles based on a local wireless communication network. The existing system relies too much on a centralized scheduling architecture, and in an edge computing environment or network interruption state, it is difficult to achieve autonomous recovery of control capability and real-time collaboration of information, thereby restricting the practical application range of unmanned aerial vehicles in complex urban airspace and emergency response tasks.

[0004] In view of the above problems, the existing technology needs to be improved. SUMMARY

[0005] The purpose of the present application is to provide a method and device for controlling a group of unmanned aerial vehicles, an electronic device and a storage medium, by using the positioning information of each unmanned aerial vehicle in the corresponding dynamic grouping of unmanned aerial vehicles calculated by the extended Kalman filtering algorithm and the preset target positioning optimization function, in combination with the preset virtual spring-damper model, to cooperatively control the dynamic grouping of unmanned aerial vehicles, so as to control the group of unmanned aerial vehicles in a GNSS-limited communication environment or a GNSS-failed communication environment, solve the technical problem of synchronization loss, position drift and task interruption of the existing method for controlling a group of unmanned aerial vehicles due to the dependence on satellite navigation in an environment where GNSS signal parameters are unstable or completely lost, and enable the group of unmanned aerial vehicles to maintain stable formation and task execution under network interruption, thereby improving the control efficiency of the group of unmanned aerial vehicles in a GNSS-limited and failed environment.

[0006] In a first aspect, the present application provides a method for controlling a group of unmanned aerial vehicles in a GNSS-limited and failed environment, comprising the steps of:

[0007] acquire the neighboring UAV information of each UAV in the UAV group in a preset scanning range in a GNSS-restricted communication environment or a GNSS-failed communication environment;

[0008] divide the UAV group into a plurality of UAV dynamic groups based on the neighboring UAV information through a preset division criterion and a greedy algorithm;

[0009] calculate the positioning information of each UAV in the corresponding UAV dynamic group according to a preset target positioning optimization function in combination with the multi-source sensor real-time data of each UAV and the neighboring UAV information by using an extended Kalman filtering algorithm;

[0010] based on the received target task information, in combination with the positioning information, control the UAV dynamic groups in cooperation by using a preset virtual spring-damping model to control the UAV group.

[0011] The UAV group control method provided in the application can control the UAV group in a GNSS-restricted or GNSS-failed environment. The positioning information of each UAV in the corresponding UAV dynamic group calculated by using the extended Kalman filtering algorithm and the preset target positioning optimization function, in combination with the preset virtual spring-damping model, controls the UAV dynamic groups in cooperation to control the UAV group in a GNSS-restricted or GNSS-failed communication environment, thereby solving the technical problem that the existing UAV group control method depends on satellite navigation, resulting in synchronization loss, position drift and task interruption in an environment where GNSS signal parameters are unstable or completely lost. The UAV group can still maintain stable formation and task execution under a network interruption condition, and the control efficiency of the UAV group in a GNSS-restricted or GNSS-failed environment is improved.

[0012] Optionally, the acquisition of the neighboring UAV information of each UAV in the UAV group in a preset scanning range in a GNSS-restricted communication environment or a GNSS-failed communication environment includes:

[0013] real-time acquisition of GNSS signal parameters of each UAV in the UAV group;

[0014] based on the GNSS signal parameters, determine whether the UAV group is in a GNSS-restricted communication environment or a GNSS-failed communication environment according to a preset communication environment judgment condition;

[0015] if yes, acquire the neighboring UAV information of each UAV in a preset scanning range;

[0016] If not, it is determined that the UAV group is in a GNSS good communication environment, and the UAV group is controlled based on the GNSS signal parameters until the UAV group is in a GNSS limited communication environment or a GNSS failure communication environment, and the neighboring UAV information of each UAV in a preset scanning range is acquired.

[0017] Optionally, an extended Kalman filtering algorithm is used to calculate the positioning information of each UAV in the corresponding UAV dynamic group according to a preset target positioning optimization function and in combination with the multi-source sensor real-time data of each UAV and the neighboring UAV information, including:

[0018] The multi-source sensor real-time data of each UAV is acquired.

[0019] An extended Kalman filtering algorithm is used to calculate the preliminary positioning information of each UAV in the corresponding UAV dynamic group according to the multi-source sensor real-time data.

[0020] Based on the neighboring UAV information, the preliminary positioning information is optimized by a Gauss-Newton method and a preset target positioning optimization function to obtain the positioning information of each UAV in the corresponding UAV dynamic group.

[0021] The UAV group control method provided in the application can control the UAV group in a GNSS limited and failed environment, calculate the preliminary positioning information of the UAV in the corresponding UAV dynamic group by an extended Kalman filtering algorithm, optimize the preliminary positioning information by a Gauss-Newton method and a preset target positioning optimization function, substantially improve the positioning accuracy without an external reference signal, and lay a reliable foundation for subsequent UAV group cooperative control.

[0022] Optionally, the preliminary positioning information is optimized by a Gauss-Newton method and a preset target positioning optimization function based on the neighboring UAV information to obtain the positioning information of each UAV in the corresponding UAV dynamic group, including:

[0023] A1, the preliminary positioning information is optimized by a Gauss-Newton method and a preset target positioning optimization function based on the neighboring UAV information to obtain the optimized preliminary positioning information;

[0024] A2, the difference between the optimized preliminary positioning information and the preliminary positioning information is calculated.

[0025] A3, determining whether the absolute value of the difference is less than a preset deviation threshold; if yes, determining the optimized preliminary positioning information as the positioning information of each of the UAVs in the corresponding UAV dynamic group; if no, setting the optimized preliminary positioning information as new preliminary positioning information and returning to step A1.

[0026] Optionally, after the positioning information of each of the UAVs in the corresponding UAV dynamic group is calculated according to the preset target positioning optimization function and in combination with the multi-source sensor real-time data of each of the UAVs and the adjacent UAV information, the method further comprises:

[0027] calculating a deviation value of the positioning residual of each of the UAVs and the positioning mean value of the corresponding UAV dynamic group, and adjusting the positions of the adjacent UAVs in the corresponding UAV dynamic group when the deviation value is greater than a preset positioning distortion threshold, so that the adjusted deviation value is less than a preset accurate positioning threshold.

[0028] Optionally, based on the received target task information and in combination with the positioning information, a preset virtual spring-damping model is used to cooperatively control the UAV dynamic groups to control the UAV swarm, comprising:

[0029] determining a target formation of each of the UAV dynamic groups and target position information of each of the UAVs in the corresponding UAV dynamic group based on the received target task information;

[0030] generating control instructions of each of the UAV dynamic groups when forming the target formation according to the target position information and the positioning information by using a preset virtual spring-damping model;

[0031] cooperatively controlling the UAV dynamic groups based on the control instructions to control the UAV swarm.

[0032] Optionally, cooperatively controlling the UAV dynamic groups based on the control instructions to control the UAV swarm comprises:

[0033] generating an initial flight path of each of the UAVs according to the target task information;

[0034] optimizing the initial flight path to obtain an optimized flight path based on environmental information of each of the UAVs within a preset identification range;

[0035] cooperatively controlling the UAV dynamic groups based on the control instructions and the optimized flight path to control the UAV swarm.

[0036] The unmanned aerial vehicle group control method provided in the application can control the unmanned aerial vehicle group in a GNSS limited and failed environment, combines the formation control instruction generated by the virtual spring-damping model with the optimized path, maintains the target formation stability of the dynamic grouping of the unmanned aerial vehicle, ensures the adaptability of the path execution to the complex environment, makes the cooperative control process effectively cope with the local sudden obstacles while maintaining the integrity of the system, and improves the autonomous operation robustness of the unmanned aerial vehicle group in the signal limited area.

[0037] In a second aspect, the application provides an unmanned aerial vehicle group control device for controlling the unmanned aerial vehicle group in a GNSS limited and failed environment, comprising:

[0038] An acquisition module is configured to acquire the adjacent unmanned aerial vehicle information of each unmanned aerial vehicle in the unmanned aerial vehicle group in a GNSS limited communication environment or a GNSS failed communication environment within a preset scanning range;

[0039] A division module is configured to divide the unmanned aerial vehicle group into a plurality of dynamic groupings of unmanned aerial vehicles based on the adjacent unmanned aerial vehicle information by using a preset division criterion and a greedy algorithm;

[0040] A calculation module is configured to calculate the positioning information of each unmanned aerial vehicle in the corresponding dynamic grouping of unmanned aerial vehicles by using an extended Kalman filtering algorithm, combining the multi-source sensor real-time data of each unmanned aerial vehicle and the adjacent unmanned aerial vehicle information according to a preset target positioning optimization function;

[0041] A control module is configured to cooperatively control the dynamic groupings of unmanned aerial vehicles by using a preset virtual spring-damping model based on the received target task information and the positioning information, so as to control the unmanned aerial vehicle group.

[0042] The unmanned aerial vehicle group control device calculates the positioning information of each unmanned aerial vehicle in the corresponding dynamic grouping of unmanned aerial vehicles by using the extended Kalman filtering algorithm and the preset target positioning optimization function, cooperatively controls the dynamic groupings of unmanned aerial vehicles by using the preset virtual spring-damping model, controls the unmanned aerial vehicle group in the GNSS limited communication environment or the GNSS failed communication environment, solves the technical problems of the existing unmanned aerial vehicle group control method, such as synchronization loss, position drift and task interruption caused by the dependence on satellite navigation in the environment where the GNSS signal parameter is unstable or completely lost, and makes the unmanned aerial vehicle group maintain the formation stability and task execution under the network interruption condition, thereby improving the control efficiency of the unmanned aerial vehicle group in the GNSS limited and failed environment.

[0043] In a third aspect, the application provides an electronic device comprising a processor and a memory, wherein the memory stores a computer program executable by the processor, and the processor executes the computer program to perform the steps in the unmanned aerial vehicle group control method as described above.

[0044] In a fourth aspect, the present application provides a computer readable storage medium, having stored thereon a computer program, which when executed by a processor, performs the steps of the method for controlling a group of unmanned aerial vehicles as described above.

[0045] Beneficial effects: The method, device, electronic equipment and storage medium for controlling a group of unmanned aerial vehicles provided by the present application calculate the positioning information of each unmanned aerial vehicle in the corresponding dynamic grouping of unmanned aerial vehicles by using the extended Kalman filtering algorithm and the preset target positioning optimization function, and combine the preset virtual spring-damping model to cooperatively control the dynamic grouping of unmanned aerial vehicles, so as to control the group of unmanned aerial vehicles in a GNSS-limited communication environment or a GNSS-failed communication environment, solve the technical problems of synchronization loss, position drift and task interruption of the existing method for controlling a group of unmanned aerial vehicles caused by the dependence on satellite navigation in an environment where GNSS signal parameters are unstable or completely lost, and enable the group of unmanned aerial vehicles to maintain stable formation and task execution under a network interruption condition, thereby improving the control efficiency of the group of unmanned aerial vehicles in a GNSS-limited and failed environment. BRIEF DESCRIPTION OF DRAWINGS

[0046] Figure 1 Flow chart of the method for controlling a group of unmanned aerial vehicles provided by the embodiments of the present application.

[0047] Figure 2 Structure schematic diagram of the device for controlling a group of unmanned aerial vehicles provided by the embodiments of the present application.

[0048] Figure 3 Structure schematic diagram of the electronic equipment provided by the embodiments of the present application.

[0049] Label explanation: 1, acquisition module; 2, division module; 3, calculation module; 4, control module; 301, processor; 302, memory; 303, communication bus. DETAILED DESCRIPTION

[0050] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. The components of the embodiments of the present application described and shown in the drawings herein can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the claimed present application, but only represents selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of the present application.

[0051] It should be noted that similar reference numerals and letters refer to like items throughout the accompanying drawings, and once an item is defined in one drawing, it is not necessary to further define and explain it in subsequent drawings. Meanwhile, in the description of the present application, the terms "first", "second", and the like are only used to distinguish the description, and cannot be understood as indicating or implying relative importance.

[0052] Please refer to Figure 1 , Figure 1 is a UAV group control method in some embodiments of the present application, which is used to control the UAV group in the GNSS limited and failed environment, comprising:

[0053] Step S101, acquiring the adjacent UAV information of each UAV in the UAV group in the GNSS (Global Navigation Satellite System) limited communication environment or GNSS failed communication environment within the preset scanning range;

[0054] Step S102, dividing the UAV group into multiple UAV dynamic groups based on the adjacent UAV information through the preset division criterion and the greedy algorithm;

[0055] Step S103, using the extended Kalman filtering algorithm, calculating the positioning information of each UAV in the corresponding UAV dynamic group according to the preset target positioning optimization function, combining the real-time data of the multi-source sensors of each UAV and the adjacent UAV information;

[0056] Step S104, based on the received target task information, combining the positioning information, using the preset virtual spring-damping model, and collaboratively controlling the UAV dynamic groups to control the UAV group.

[0057] The UAV group control method, by using the extended Kalman filtering algorithm and the preset target positioning optimization function to calculate the positioning information of each UAV in the corresponding UAV dynamic group, combining the preset virtual spring-damping model, collaboratively controlling the UAV dynamic groups, and controlling the UAV group in the GNSS limited communication environment or GNSS failed communication environment, solves the technical problems of synchronous loss, position drift and task interruption of the existing UAV group control method caused by relying on satellite navigation in the environment where the GNSS signal parameter is unstable or completely lost, so that the UAV group can still maintain stable formation and task execution under the condition of network interruption, and the control efficiency of the UAV group in the GNSS limited and failed environment is improved.

[0058] Specifically, in step S101, the adjacent UAV information of each UAV in the UAV group in the GNSS limited communication environment or GNSS failed communication environment within the preset scanning range is acquired, comprising:

[0059] acquire GNSS signal parameters of each unmanned aerial vehicle in the unmanned aerial vehicle group in real time;

[0060] Based on the GNSS signal parameters, determine whether the unmanned aerial vehicle group is in a GNSS-limited communication environment or a GNSS-failed communication environment according to a preset communication environment judgment condition;

[0061] If yes, acquire the adjacent unmanned aerial vehicle information of each unmanned aerial vehicle within a preset scanning range;

[0062] If no, determine that the unmanned aerial vehicle group is in a GNSS-good communication environment, control the unmanned aerial vehicle group based on the GNSS signal parameters, and acquire the adjacent unmanned aerial vehicle information of each unmanned aerial vehicle within a preset scanning range when the unmanned aerial vehicle group is in a GNSS-limited communication environment or a GNSS-failed communication environment.

[0063] In step S101, continuously collect satellite navigation signal raw data received by each unmanned aerial vehicle, i.e., GNSS signal parameters, which include GNSS signal strength, position dilution of precision (PDOP), and the number of visible satellites.

[0064] Determine whether the unmanned aerial vehicle group is in a GNSS-limited communication environment or a GNSS-failed communication environment according to a preset communication environment judgment condition; when PDOP < 3 and the number of visible satellites ≥ 6, determine that it is a "GNSS-good communication environment", maintain cooperative control of the unmanned aerial vehicle group based on the GNSS signal parameters through existing positioning technology, such as conventional GNSS + inertial navigation fusion positioning, central scheduling, until the unmanned aerial vehicle group is determined to be in a GNSS-limited communication environment or a GNSS-failed communication environment; if 3 ≤ PDOP < 6 or the number of visible satellites is 3-5, determine that it is a "GNSS-limited communication environment", start a "cellular cooperative preparation mode", and begin dynamic clustering and reduce the GNSS positioning weight; if PDOP ≥ 6 or the number of visible satellites < 3, determine that it is a "GNSS-failed environment", immediately switch to a "cellular self-healing mode", turn off GNSS data input, and completely rely on multi-source fusion positioning and intra-cluster cooperation. When more than half of the unmanned aerial vehicles acquire GNSS signal parameters that meet the judgment condition of a GNSS-limited communication environment or a GNSS-failed communication environment within 3 consecutive sampling periods, determine that the unmanned aerial vehicle group is in a GNSS-limited communication environment or a GNSS-failed communication environment, inform all unmanned aerial vehicles in the cluster through broadcasting to adjust the operating parameters (such as communication frequency and sensor working mode) synchronously, start local wireless communication scanning to acquire adjacent unmanned aerial vehicle information within a preset scanning range, and thus collect the ID, relative distance, and communication quality of surrounding unmanned aerial vehicles. The preset scanning range is set according to actual needs, such as the maximum scanning range of a radar.

[0065] Specifically, in step S102, according to the division criterion of “communication quality first, distance second”, dynamic grouping is completed by a greedy algorithm to divide the UAV group into multiple UAV dynamic groups (the number of UAV dynamic groups and the ID and number of UAVs in the UAV dynamic groups are dynamically adjusted according to actual conditions), specifically: each group (UAV dynamic group) initially contains 3-8 UAVs, wherein the group size is controlled at 3-5 in high-rise areas and underground passages and the like, and the group number is controlled at 5-8 in bridge hole environments (the specific number in each UAV dynamic group can be adjusted according to actual needs), while ensuring that the communication distance between any two UAVs in the group does not exceed a preset maximum communication distance threshold (30 meters) to ensure the UWB relative positioning accuracy; for a UAV that simultaneously communicates with two or more groups, it is automatically attributed to the group with the highest communication quality. When the group is established, each group generates a group leader and a deputy group leader through weighted voting, and the voting weight is composed of the remaining power (accounting for 0.4), the computing power (measured by CPU occupancy rate, accounting for 0.3) and the communication stability (measured by the packet loss rate in the last 10 seconds, accounting for 0.3), the group leader undertakes the responsibilities of information collection within the group and interaction between groups, and the deputy group leader backs up the data of the group leader in real time. To adapt to the dynamic changes of the UAV group, the state of the UAVs in the group is evaluated every 5 seconds, if any UAV moves out of the group (such as the communication distance exceeds 30 meters) or the communication quality is less than the threshold for 3 times in a row (such as the signal-to-noise ratio is less than 10 dB), it will automatically leave the original group and join a new group; when the number of UAVs in the group is less than 3 or more than 8, the group splitting or merging operation is triggered, for example, two adjacent small groups are merged into one, or one large group is split into two, to maintain the rationality and stability of the group structure.

[0066] In some optional embodiments, if the group leader fails, loses contact or fails, the deputy group leader immediately takes over the group leader's responsibilities and re-elects a new deputy group leader; if the number of UAVs in the group decreases to less than 3 due to failure, the group leader sends a “merge request” to the adjacent group and merges with the adjacent group with the highest communication quality to form a new group, and a new group leader and deputy group leader are selected.

[0067] In some other optional embodiments, when multiple groups lose communication between group leaders due to network interruption, the packet loss rate is greater than 50%, the regional anchor is started, each group identifies global anchor points such as high-rise top identifiers and bridge hole entrance coordinates in the environment through a visual sensor, the anchor point coordinates are pre-stored in the prior map, and the coordinate systems of each group are aligned based on the anchor point coordinates; a relay UAV is selected from the UAVs with more than 50% power and is dispatched to move between groups to establish a temporary communication link and gradually restore data interaction between group leaders; after the link is restored, the global task is re-divided to ensure that the total progress loss of the cluster task is less than 10%.

[0068] Specifically, in step S103, the extended Kalman filtering algorithm is used to calculate the positioning information of each UAV in the corresponding UAV dynamic group according to the preset target positioning optimization function in combination with the multi-source sensor real-time data of each UAV and the adjacent UAV information, including:

[0069] obtaining the multi-source sensor real-time data of each UAV;

[0070] using the extended Kalman filtering algorithm to calculate the preliminary positioning information of each UAV in the corresponding UAV dynamic group according to the multi-source sensor real-time data;

[0071] based on the adjacent UAV information, the preliminary positioning information is optimized by the Gauss-Newton method and the preset target positioning optimization function to obtain the positioning information of each UAV in the corresponding UAV dynamic group.

[0072] In step S103, the multi-source sensor real-time data of each UAV in the UAV group is obtained, specifically including kinematic data obtained by using an inertial measurement unit or a motion sensor array, such as three-dimensional position, three-dimensional velocity, and attitude angle state vector data, and point cloud data collected by a laser radar and visual image data photographed by a visual camera.

[0073] In some optional embodiments, the multi-source sensor real-time data is preprocessed to filter out invalid information, specifically including: removing high-frequency noise by sliding window mean filtering, and separating gravity by decomposing acceleration into gravity component and motion component based on the current attitude angle; performing distortion correction on the visual image data, identifying static feature points in the environment through feature point extraction, and generating preliminary position constraints by matching with the prior map; removing ground points and noise points, retaining obstacle contour point clouds, and outputting the position deviation relative to the obstacles by matching the obstacle contour point clouds after removing the ground points and noise points with the static obstacles in the prior map; removing abnormal values exceeding the normal range in the distance measurement value, and retaining the effective distance from the neighbor UAV.

[0074] In step S103, the prediction and update of the preliminary positioning are performed based on the extended Kalman filtering (EKF). Each UAV realizes the positioning estimation of the local state through the EKF based on the multi-sensor data of itself to offset the cumulative error of a single sensor, specifically including:

[0075] updating the attitude angle by using the angular velocity measurement value:

[0076] ;

[0077] wherein, , and are the roll angle, the pitch angle and the yaw angle of the UAV at the k-1 time; 、 and are the roll angle, the pitch angle and the yaw angle of the UAV at the k-1 time; are the angular velocity in the horizontal coordinate direction, the angular velocity in the vertical coordinate direction and the angular velocity in the vertical coordinate direction of the UAV at the k time, is the sampling time interval.

[0078] Based on the updated attitude angle, the accelerometer measurement value is converted to the global coordinate system, and the position and velocity are predicted through the kinematic model, specifically:

[0079] ;

[0080] ;

[0081] wherein, is the velocity of the UAV at the k time predicted based on the data at the k-1 time; is the velocity of the UAV at the k-1 time; is the rotation matrix corresponding to the attitude angle, is the acceleration, is the gravitational acceleration; is the covariance matrix at the k time predicted based on the data at the k-1 time; is the covariance matrix at the k-1 time; is the noise covariance matrix at the k time.

[0082] wherein, the prediction covariance matrix update formula is:

[0083] ;

[0084] wherein, is the state transition matrix, is the process noise covariance.

[0085] The observation equation is constructed wherein, is the observation matrix, is the observation noise, which can be obtained through experiments or from the specification; is the state vector matrix (i.e. the position of the UAV at the k time).

[0086] The adaptive Kalman filter (AKF) is used to estimate the sensor noise covariance matrix in real time, and the trace of the sensor noise covariance matrix is calculated to quantify the noise level, combined with the scene feature vector S, and the mapping function , to obtain the scene-adaptive weight adjustment coefficient (lightweight neural network is prior art, which is not described in detail here). The sensor dynamic weight is calculated as follows:

[0087] ;

[0088] wherein, is the sensor dynamic weight of the unmanned aerial vehicle i; is the balance coefficient; is the noise-dependent term; is the trace of the noise covariance matrix of each sensor of the unmanned aerial vehicle i; is the noise covariance matrix of each sensor of the unmanned aerial vehicle i; is the scene-dependent term.

[0089] The Kalman gain is calculated as follows:

[0090] ;

[0091] wherein, is the Kalman gain at time k ; is the observation noise covariance matrix incorporating the dynamic weight; is the diag function (diag function is prior art, which is not described in detail here);

[0092] The state estimation and covariance are updated as follows:

[0093] ;

[0094] ;

[0095] wherein, is the state vector matrix, i.e. the position of the unmanned aerial vehicle at time k; is the identity matrix; is the covariance matrix at time k.

[0096] In summary, by extending the Kalman filter algorithm, the preliminary positioning information of each unmanned aerial vehicle in the corresponding dynamic grouping of unmanned aerial vehicles is calculated according to the real-time data of the multi-source sensor, i.e. the state vector matrix .

[0097] Specifically, in step S103, based on the neighboring unmanned aerial vehicle information, the preliminary positioning information is optimized by the Gauss-Newton method and the preset target positioning optimization function, to obtain the positioning information of each unmanned aerial vehicle in the corresponding dynamic grouping of unmanned aerial vehicles, including:

[0098] A1, based on the neighboring unmanned aerial vehicle information, the preliminary positioning information is optimized by the Gauss-Newton method and the preset target positioning optimization function, to obtain the optimized preliminary positioning information;

[0099] A2, calculate the difference between the optimized preliminary positioning information and the preliminary positioning information;

[0100] A3, determine whether the absolute value of the difference is less than the preset deviation threshold; if yes, determine the optimized preliminary positioning information as the positioning information of each unmanned aerial vehicle in the corresponding dynamic grouping of unmanned aerial vehicles; if no, set the optimized preliminary positioning information as new preliminary positioning information and return to step A1.

[0101] In step S103, for any unmanned aerial vehicle i and another unmanned aerial vehicle j in the same grouping, the distance in the neighboring unmanned aerial vehicle information is Based on the distance constraint, an optimization equation is constructed to obtain:

[0102] ;

[0103] wherein, is the correction position of the unmanned aerial vehicle i to be optimized (currently unknown, which is the position to be adjusted in the target positioning optimization function); is the correction position of the unmanned aerial vehicle j to be optimized (currently unknown, which is the position to be adjusted in the target positioning optimization function); is the distance measurement error.

[0104] The preliminary positioning information is iteratively optimized in combination with the Gauss-Newton method and the preset target positioning optimization function to obtain the optimized preliminary positioning information, wherein the preset target positioning optimization function is specifically:

[0105] ;

[0106] ;

[0107] wherein, is the preliminary positioning information of the unmanned aerial vehicle i; is the correction position of the unmanned aerial vehicle i to be optimized, is the correction position of the unmanned aerial vehicle j to be optimized, P i is the positioning covariance of the unmanned aerial vehicle i; is the sensor dynamic weight of the unmanned aerial vehicle i and the unmanned aerial vehicle j; is the target function; is the optimized preliminary positioning information; is the preset target positioning optimization function, indicates that the target function takes the minimum value, is the value of the independent variable , i.e., when the entire group of coordinates is substituted into the target function J, When the function value is 1, the result is smaller than the result obtained by substituting any other combination of positions.

[0108] Step A1 solves the optimization problem using the Gauss-Newton method. When the target localization objective function is minimized, the optimized preliminary localization information of each UAV in the corresponding UAV dynamic group is calculated.

[0109] Step A2 calculates the difference between the positioning information before and after optimization, using this difference as a quantitative indicator of convergence to provide an objective basis for iteration termination. Step A3 is a dynamic decision-making optimization process based on the comparison between the difference and a deviation threshold. If the difference meets the threshold requirement (i.e., the absolute value of the difference is less than the preset deviation threshold), the final positioning information is output; otherwise, the information is updated (the optimized preliminary positioning information is set as the new preliminary positioning information), and optimization is re-executed, thus forming a closed-loop iterative mechanism. This ensures that the positioning optimization process achieves a balance between accuracy and efficiency, avoiding positioning distortion or damage to the system's real-time performance caused by premature termination or infinite loops. The preset deviation threshold can be set according to actual needs.

[0110] Specifically, in step S103, after calculating the positioning information of each UAV in the corresponding UAV dynamic group using the extended Kalman filter algorithm based on the preset target positioning optimization function and combining the real-time data from the multi-source sensors of each UAV and the information of neighboring UAVs, the following steps are also included:

[0111] Calculate the deviation between the positioning residual of each UAV and the positioning mean of the corresponding UAV dynamic group. When the deviation is greater than the preset positioning distortion threshold, adjust the position of the neighboring UAVs in the corresponding UAV dynamic group so that the adjusted deviation is less than the preset accurate positioning threshold.

[0112] In step S103, the difference between the actual position and the estimated position of the UAV is calculated to obtain the positioning residual. This can be calculated using an arithmetic mean or a weighted average based on confidence weights. The statistical center value of the positioning information of all UAVs within the corresponding UAV group is calculated to obtain the positioning mean of the dynamic UAV group, the purpose of which is to establish a stable reference benchmark for the group's position. The degree of distortion is assessed in real time based on the deviation between the positioning residual and the group's positioning mean. This deviation quantifies the impact of individual positioning errors on the overall consistency of the group. When the deviation exceeds the positioning distortion threshold, an adjustment mechanism is automatically triggered. UAVs with deviations exceeding the threshold are identified, and their positions are adjusted to move closer to the affected UAV to modify the estimated positions of neighboring UAVs for local optimization. This adjustment uses the relative positional relationships between neighboring UAVs as constraints to ensure that the correction process conforms to the group's spatial topology. After adjustment, the deviation is recalculated until the accurate positioning threshold is met, thus forming a closed-loop control process for positioning accuracy.

[0113] If the deviation value after three consecutive adjustments is less than the accurate positioning threshold, the corresponding drone is identified as an abnormal drone and its participation in collaborative operations within the group is restricted.

[0114] Specifically, in step S104, based on the received target task information and combined with the positioning information, a preset virtual spring-damping model is used to coordinate the dynamic grouping of UAVs to control the UAV swarm, including:

[0115] Based on the received target mission information, determine the target formation of each UAV dynamic group and the target position information of each UAV in the corresponding UAV dynamic group;

[0116] Based on the target location information and positioning information, and using a preset virtual spring-damping model, control commands are generated for each UAV dynamic group when forming the target formation.

[0117] Based on control commands, the drones are dynamically grouped in a coordinated manner to control the drone swarm.

[0118] In step S104, the target formation and position information are dynamically determined based on the target mission information, ensuring real-time matching between the control target and mission requirements, and avoiding the insufficient adaptability of fixed formations under unstable signal conditions. The target mission information refers to the command data such as flight target coordinates, target formation requirements, and mission priorities issued by the mission planning system; the target formation refers to the geometric configuration that the UAV group should maintain when performing the mission, which can be implemented using circular, V-shaped, or grid-like formations, aiming to dynamically adjust the formation according to real-time mission requirements to adapt to environmental changes in complex urban airspace. Subsequently, combined with the current positioning information, control commands are generated using a virtual spring-damping model. This model effectively suppresses high-frequency oscillations caused by positioning errors by simulating the restoring characteristics of springs and the dissipation characteristics of damping.

[0119] The preset virtual spring-damping model is specifically as follows:

[0120] ;

[0121] in, For the control commands of UAV i; Position control gain; Speed ​​control gain; The adjacent coupling coefficient; Let i be the desired position of drone i; Let i be the desired speed of the drone. Let be the expected distance between drone i and drone j; For drone i, the dynamic grouping of drones; The location of drone i; The speed of drone i; Let be the position of UAV j. Wherein, the position control gain... Speed ​​control gain and adjacent coupling coefficient It can be configured according to actual needs, such as according to the drone's controller.

[0122] Specifically, in step S104, based on control commands, the drones are dynamically grouped in a coordinated manner to control the drone swarm, including:

[0123] Based on the target mission information, generate the initial flight path for each UAV;

[0124] Based on the environmental information of each UAV within the preset recognition range, the initial flight path is optimized to obtain the optimized flight path;

[0125] Based on control commands and optimized flight paths, the drones are dynamically grouped in a coordinated manner to control the drone swarm.

[0126] In step S104, based on the target mission information, an initial flight path is generated using existing path planning algorithms (such as Dijkstra's algorithm or A* algorithm) to provide a baseline trajectory for each UAV to guide the mission objective. The initial path is then optimized in real time based on environmental information within a preset recognition range (set according to devices such as lidar and visual sensors). The RRT* algorithm is used to dynamically incorporate local environmental data to correct potential obstacle conflicts in the path. Obstacle avoidance paths are planned in a unified coordinate system within the group to optimize the initial flight path, ensuring a safe distance from obstacles and intersections of adjacent UAV paths, and smooth changes in path curvature. The optimized flight path is then executed in conjunction with control commands. The flight attitude of each UAV is adjusted through PID controllers and other methods. While maintaining the stability of the UAV group's target formation, the path adapts to complex environmental changes. This ensures that the collaborative control process maintains the overall system integrity while effectively dealing with sudden local obstacles, improving the robustness of the UAV swarm's autonomous operation in signal-restricted areas.

[0127] As can be seen from the above, this UAV swarm control method acquires information about neighboring UAVs within a preset scanning range for each UAV in a swarm operating under GNSS-limited or GNSS-failed communication environments. Using preset partitioning criteria and a greedy algorithm, the swarm is divided into multiple dynamic UAV groups based on this information. An extended Kalman filter algorithm is then applied, and based on a preset target localization optimization function, combined with real-time data from each UAV's multi-source sensors and neighboring UAV information, the localization information of each UAV within its corresponding dynamic UAV group is calculated. Finally, based on the received target task information and the localization information, a preset virtual spring-damping model is used to collaboratively control the dynamic UAV groups, thereby achieving [the desired control]. The system controls a swarm of drones. By using the extended Kalman filter algorithm and a preset target positioning optimization function to calculate the positioning information of each drone in its corresponding dynamic group, and combining this with a preset virtual spring-damped model, the system coordinates the dynamic grouping of drones to control swarms in GNSS-restricted or GNSS-failed communication environments. This solves the technical problems of existing drone swarm control methods that rely on satellite navigation, leading to synchronization loss, position drift, and mission interruption in environments where GNSS signal parameters are unstable or completely lost. The system enables drone swarms to maintain formation stability and mission execution even under network outage conditions, improving the control efficiency of drone swarms in GNSS-restricted and failed environments.

[0128] refer to Figure 2 This application provides a drone swarm control device for controlling drone swarms in GNSS-constrained and unavailable environments, including:

[0129] Acquisition module 1 is used to acquire information on neighboring drones within a preset scanning range for each drone in a drone swarm that is in a GNSS-limited or GNSS-failed communication environment.

[0130] The partitioning module 2 is used to divide the drone swarm into multiple dynamic drone groups based on neighboring drone information using preset partitioning criteria and a greedy algorithm.

[0131] Calculation module 3 is used to apply the extended Kalman filter algorithm, based on the preset target positioning optimization function, and combined with the real-time data of the multi-source sensors of each UAV and the information of neighboring UAVs, to calculate the positioning information of each UAV in the corresponding UAV dynamic group.

[0132] Control module 4 is used to control the dynamic grouping of UAVs based on the received target task information and the positioning information, using a preset virtual spring-damping model.

[0133] This UAV swarm control device uses the extended Kalman filter algorithm and a preset target positioning optimization function to calculate the positioning information of each UAV in the corresponding UAV dynamic group. Combined with a preset virtual spring-damping model, it coordinates the dynamic grouping of UAVs to control UAV swarms in GNSS-limited or GNSS-failed communication environments. This solves the technical problems of existing UAV swarm control methods that rely on satellite navigation, resulting in synchronization loss, position drift, and mission interruption in environments where GNSS signal parameters are unstable or completely lost. It enables UAV swarms to maintain formation stability and mission execution even under network outage conditions, improving the control efficiency of UAV swarms in GNSS-limited and failed environments.

[0134] Specifically, when acquiring information about neighboring drones within a preset scanning range for each drone in a drone swarm operating in a GNSS-limited or GNSS-ineffective communication environment, module 1 performs the following:

[0135] Real-time acquisition of GNSS signal parameters of each drone in the drone swarm;

[0136] Based on GNSS signal parameters and according to preset communication environment judgment conditions, determine whether the UAV swarm is in a GNSS-limited communication environment or a GNSS-failed communication environment.

[0137] If so, obtain information on neighboring drones within the preset scanning range for each drone;

[0138] If not, then the drone swarm is determined to be in a good GNSS communication environment. Based on the GNSS signal parameters, the drone swarm is controlled until the drone swarm is in a GNSS-limited communication environment or a GNSS-failed communication environment. Then, information on neighboring drones within the preset scanning range is obtained for each drone.

[0139] When module 1 is executed, it continuously collects the raw data of satellite navigation signals received by each UAV, namely GNSS signal parameters. GNSS signal parameters include GNSS signal strength, position geometric precision factor (PDOP), and number of visible satellites.

[0140] According to the preset communication environment judgment conditions, it is determined whether the UAV swarm is in a GNSS-limited communication environment or a GNSS-failed communication environment. When PDOP < 3 and the number of visible satellites ≥ 6, it is judged as a "good GNSS communication environment". Based on GNSS signal parameters, using existing positioning technologies, such as conventional GNSS + inertial navigation fusion positioning, the central dispatch maintains coordinated control of the UAV swarm until the UAV swarm is judged as a GNSS-limited communication environment or a GNSS-failed communication environment. If 3 ≤ PDOP < 6 or the number of visible satellites is 3-5, it is judged as a "GNSS-limited communication environment". The "cellular coordination preparation mode" is activated, dynamic clustering begins and the GNSS positioning weight is reduced. If PDOP ≥ 6 or the number of visible satellites < 3, it is judged as a "GNSS-failed environment". It immediately switches to "cellular self-healing mode", shuts down GNSS data input, and relies entirely on multi-source fusion positioning and intra-cluster coordination. When the GNSS signal parameters acquired by more than half of the drones meet the criteria for a GNSS-limited or GNSS-failed communication environment for three consecutive sampling periods, the drone swarm is determined to be in such an environment. The swarm then broadcasts this information to all drones in the swarm to synchronously adjust their operating parameters (such as communication frequency and sensor operating mode) and initiate local wireless communication scanning to acquire information about neighboring drones within a preset scanning range. This allows the swarm to collect data such as the IDs, relative distances, and communication quality of the surrounding drones. The preset scanning range is set according to actual needs, such as the maximum scanning range of a radar.

[0141] Specifically, when the partitioning module 2 is executed, it uses a greedy algorithm to dynamically group drones according to the partitioning principle of "communication quality first, distance second" to divide the drone swarm into multiple dynamic drone groups (the number of dynamic drone groups and the IDs and numbers of drones in each dynamic drone group are dynamically adjusted according to the actual situation). Specifically, each group (dynamic drone group) initially contains 3-8 drones, with the group size controlled at 3-5 drones in environments such as high-rise buildings and underground passages, and the number of drones in environments such as underpasses controlled at 5-8 drones (the specific number in each dynamic drone group can be adjusted according to actual needs). At the same time, it ensures that the communication distance between any two drones in a group does not exceed the preset maximum communication distance threshold (30 meters) to ensure the relative positioning accuracy of UWB. For drones that are communicating with two or more groups at the same time, they are automatically assigned to the group with the highest communication quality. When creating groups, each group elects a group leader and a deputy group leader through weighted voting. The voting weights are determined by remaining battery power (0.4%), computing power (measured by CPU utilization, 0.3%), and communication stability (measured by packet loss rate in the last 10 seconds, 0.3%). The group leader is responsible for summarizing information within the group and facilitating communication between groups, while the deputy group leader backs up the group leader's data in real time. To adapt to the dynamic changes in the drone swarm, the status of drones within a group is assessed every 5 seconds. If any drone moves outside the group (e.g., the communication distance exceeds 30 meters) or the communication quality falls below the threshold three times consecutively (e.g., signal-to-noise ratio less than 10dB), it will automatically leave the original group and join a new group. When the number of drones in a group is less than 3 or more than 8, a group splitting or merging operation is triggered, such as merging two adjacent small groups into one or splitting a large group into two, to maintain the rationality and stability of the group structure.

[0142] In some alternative embodiments, if the group leader fails, loses contact, or malfunctions, the deputy group leader immediately takes over the group leader's responsibilities and re-elects a new deputy group leader; if the number of drones in the group drops to less than 3 due to failure, the group leader sends a "merge request" to the adjacent group, merges with the adjacent group with the highest communication quality to form a new group, and re-selects a new group leader and deputy group leader.

[0143] In other alternative embodiments, when the packet loss rate between group leaders exceeds 50% due to network outages in multiple groups, regional anchoring is initiated. Each group identifies global anchor points in the environment, such as signs on the top of tall buildings or the coordinates of bridge entrances, using visual sensors. These anchor points are pre-stored in a priori map, and the coordinate systems of each group are aligned based on the anchor point coordinates. A relay drone is selected from drones with more than 50% battery power and dispatched to move between groups to establish temporary communication links and gradually restore data interaction between group leaders. After the links are restored, the global tasks are re-divided to ensure that the total progress loss of the cluster tasks is less than 10%.

[0144] Specifically, when the calculation module 3 uses the extended Kalman filter algorithm, based on the preset target localization optimization function, and combines real-time data from the multi-source sensors of each UAV and information from neighboring UAVs to calculate the localization information of each UAV in the corresponding UAV dynamic group, it executes:

[0145] Acquire real-time data from multiple sensor sources of each drone;

[0146] Using the extended Kalman filter algorithm, preliminary positioning information of each UAV in the corresponding UAV dynamic group is calculated based on real-time data from multiple sources.

[0147] Based on neighboring UAV information, the preliminary positioning information is optimized using the Gauss-Newton method and a preset target positioning optimization function to obtain the positioning information of each UAV in the corresponding UAV dynamic group.

[0148] When the calculation module 3 is executed, it acquires real-time multi-source sensor data from each UAV in the UAV swarm. Specifically, this includes kinematic data acquired by inertial measurement units or motion sensor arrays, such as state vectors for three-dimensional position, three-dimensional velocity, and attitude angles, as well as point cloud data acquired by lidar and visual image data captured by vision cameras.

[0149] In some optional embodiments, real-time data from multiple sensors is preprocessed to filter out invalid information. Specifically, this includes: removing high-frequency noise through sliding window mean filtering; decomposing acceleration data into gravity and motion components based on the current attitude angle for gravity separation; performing distortion correction on visual image data; identifying static feature points in the environment through feature point extraction and matching them with a prior map to generate preliminary position constraints; removing ground points and noise points while retaining obstacle contour point clouds; matching the obstacle contour point clouds (without ground points and noise points) with static obstacles in the prior map to output the positional deviation relative to the obstacles; and removing outliers from distance measurements that exceed the normal range while retaining the effective distance to neighboring drones.

[0150] During execution, computation module 3 performs preliminary positioning prediction and updates based on the Extended Kalman Filter (EKF). Each UAV, based on data from multiple sensors, uses EKF to estimate its local state, offsetting the cumulative error of a single sensor. Specifically, this includes:

[0151] Update attitude angles using angular velocity measurements:

[0152] ;

[0153] in, , and Let be the roll angle, pitch angle, and yaw angle of the UAV at time k; , and The roll, pitch, and yaw angles of the UAV at time k-1; Let be the angular velocities of the UAV in the horizontal, vertical, and triangular directions at time k. This represents the sampling time interval.

[0154] Based on the updated attitude angles, the accelerometer measurements are transformed to the global coordinate system, and the position and velocity are predicted using a kinematic model, specifically:

[0155] ;

[0156] ;

[0157] in, The velocity of the drone at time k is predicted based on the data at time k-1. Let $\frac{ ... Here is the rotation matrix corresponding to the attitude angle. For acceleration, It is the acceleration due to gravity; This is the covariance matrix at time k predicted based on the data at time k-1. Let be the covariance matrix at time k-1; Let be the noise covariance matrix at time k.

[0158] The formula for updating the predicted covariance matrix is ​​as follows:

[0159] ;

[0160] in, Here is the state transition matrix. Let be the process noise covariance.

[0161] Constructing observation equations ,in, For the observation matrix, To observe the noise, it can be obtained through experiments or from the instruction manual; Let be the state vector matrix (i.e., the position of the UAV at time k).

[0162] The noise covariance matrix of each sensor is estimated in real time using adaptive Kalman filtering (AKF). Calculate the trace of the noise covariance matrix of each sensor. The noise level is quantized, and a mapping function is calculated using a lightweight neural network in conjunction with the scene feature vector S. The scene-adaptive weight adjustment coefficients are obtained (lightweight neural networks are existing technology and will not be detailed here). The sensor dynamic weights are calculated using the following formula:

[0163] ;

[0164] in, For the sensor dynamic weights of UAV i; This is the balance coefficient; It is a noise-dependent term; Let be the trace of the noise covariance matrix of each sensor of UAV i; Let i be the noise covariance matrix of each sensor of UAV i; This is a scene-dependent item.

[0165] Calculate the Kalman gain:

[0166] ;

[0167] in, Kalman gain at time k ; To incorporate the observation noise covariance matrix with dynamic weights; The diag function (the diag function is existing technology and will not be described in detail here);

[0168] Update state estimates and covariance:

[0169] ;

[0170] ;

[0171] in, Let be the state vector matrix, which represents the position of the UAV at time k. It is the identity matrix; Let be the covariance matrix at time k.

[0172] In summary, by using the extended Kalman filter algorithm and based on the real-time data from the multi-source sensors, the preliminary positioning information of each UAV in the corresponding UAV dynamic group, i.e., the state vector matrix, is calculated. .

[0173] Specifically, when calculation module 3 optimizes the preliminary positioning information based on neighboring UAV information using the Gauss-Newton method and a preset target positioning optimization function to obtain the positioning information of each UAV in the corresponding UAV dynamic group, it executes:

[0174] A1. Based on information from nearby UAVs, the preliminary positioning information is optimized using the Gauss-Newton method and a preset target positioning optimization function to obtain the optimized preliminary positioning information.

[0175] A2, calculate the difference between the optimized preliminary positioning information and the preliminary positioning information;

[0176] A3. Determine whether the absolute value of the difference is less than the preset deviation threshold. If yes, determine the optimized preliminary positioning information as the positioning information of each UAV in the corresponding UAV dynamic group. If no, set the optimized preliminary positioning information as the new preliminary positioning information and return to step A1.

[0177] When the calculation module 3 is executed, for any UAV i and another UAV j within the same group, the distance in their neighboring UAV information is: Based on the distance constraint, an optimization equation is constructed, yielding:

[0178] ;

[0179] in, The corrected position of the UAV i to be optimized (currently an unknown position, which is the position that needs to be adjusted in the target localization optimization function); The corrected position of the UAV j to be optimized (currently an unknown position, which is the position that needs to be adjusted in the target localization optimization function); The distance measurement error can be adjusted according to the drone settings.

[0180] The preliminary positioning information is iteratively optimized by combining the Gauss-Newton method and a preset target positioning optimization function to obtain the optimized preliminary positioning information. The preset target positioning optimization function is as follows:

[0181] ;

[0182] ;

[0183] in, Provide preliminary location information for the drone; The correction position for the drone i to be optimized. For the correction position of the UAV j to be optimized, P i Let be the positioning covariance of UAV i (which can be obtained through existing positioning covariance calculation methods); Let be the dynamic sensor weights for UAV i and UAV j; The objective function is... This is the optimized preliminary positioning information; The preset target location optimization function, This indicates that the objective function When the minimum value is obtained, as independent variable The value of , that is, when the entire set of coordinates Substitute into the objective function J When the function value is 1, the result is smaller than the result obtained by substituting any other combination of positions.

[0184] Step A1 solves the optimization problem using the Gauss-Newton method. When the target localization objective function is minimized, the optimized preliminary localization information of each UAV in the corresponding UAV dynamic group is calculated.

[0185] Step A2 calculates the difference between the positioning information before and after optimization, using this difference as a quantitative indicator of convergence to provide an objective basis for iteration termination. Step A3 is a dynamic decision-making optimization process based on the comparison between the difference and a deviation threshold. If the difference meets the threshold requirement (i.e., the absolute value of the difference is less than the preset deviation threshold), the final positioning information is output; otherwise, the information is updated (the optimized preliminary positioning information is set as the new preliminary positioning information), and optimization is re-executed, thus forming a closed-loop iterative mechanism. This ensures that the positioning optimization process achieves a balance between accuracy and efficiency, avoiding positioning distortion or damage to the system's real-time performance caused by premature termination or infinite loops. The preset deviation threshold can be set according to actual needs.

[0186] Specifically, the drone swarm control device also includes:

[0187] The adjustment module is used to calculate the deviation between the positioning residual of each UAV and the positioning mean of the corresponding UAV dynamic group. When the deviation is greater than the preset positioning distortion threshold, the position of the neighboring UAVs in the corresponding UAV dynamic group is adjusted so that the adjusted deviation is less than the preset accurate positioning threshold.

[0188] During execution, the adjustment module calculates the difference between the actual and estimated positions of the UAVs to obtain the positioning residual. This residual can be calculated using an arithmetic mean or a weighted average based on confidence weights. The statistical center value of the positioning information of all UAVs within the corresponding UAV group is calculated, resulting in the positioning mean of the dynamic UAV group. The purpose is to establish a stable reference benchmark for the group's position. The degree of distortion is assessed in real time based on the deviation between the positioning residual and the group's positioning mean. This deviation quantifies the impact of individual positioning errors on the overall consistency of the group. When the deviation exceeds the positioning distortion threshold, an adjustment mechanism is automatically triggered. This identifies the UAVs whose deviation exceeds the threshold and adjusts the positions of their neighboring UAVs to move closer to the affected UAV, thus modifying the estimated positions of the neighboring UAVs for local optimization. This adjustment uses the relative positional relationships between neighboring UAVs as constraints to ensure that the correction process conforms to the group's spatial topology. After adjustment, the deviation is recalculated until the accurate positioning threshold is met, thus forming a closed-loop control process for positioning accuracy.

[0189] If the deviation value after three consecutive adjustments is less than the accurate positioning threshold, the corresponding drone is identified as an abnormal drone and its participation in collaborative operations within the group is restricted.

[0190] Specifically, when control module 4 controls the swarm of drones by coordinating dynamic grouping of drones based on the received target task information, combined with positioning information, and utilizing a preset virtual spring-damping model, it executes the following:

[0191] Based on the received target mission information, determine the target formation of each UAV dynamic group and the target position information of each UAV in the corresponding UAV dynamic group;

[0192] Based on the target location information and positioning information, and using a preset virtual spring-damping model, control commands are generated for each UAV dynamic group when forming the target formation.

[0193] Based on control commands, the drones are dynamically grouped in a coordinated manner to control the drone swarm.

[0194] During execution, control module 4 dynamically determines the target formation and position information based on the target mission information, ensuring real-time matching between the control target and mission requirements. This avoids the insufficient adaptability of fixed formations under unstable signal conditions. The target mission information refers to the command data issued by the mission planning system, including flight target coordinates, target formation requirements, and mission priorities. The target formation refers to the geometric configuration that the UAV group should maintain during mission execution, which can be achieved using circular, V-shaped, or grid-like formations. The purpose is to dynamically adjust the formation according to real-time mission requirements to adapt to environmental changes in complex urban airspace. Subsequently, combined with the current positioning information, control commands are generated using a virtual spring-damping model. This model effectively suppresses high-frequency oscillations caused by positioning errors by simulating the restoring characteristics of a spring and the dissipation characteristics of damping.

[0195] The preset virtual spring-damping model is specifically as follows:

[0196] ;

[0197] in, For the control commands of UAV i; Position control gain; Speed ​​control gain; The adjacent coupling coefficient; Let i be the desired position of drone i; Let i be the desired speed of the drone. Let be the expected distance between drone i and drone j; For drone i, the dynamic grouping of drones; The location of drone i; The speed of drone i; Let be the position of UAV j. Wherein, the position control gain... Speed ​​control gain and adjacent coupling coefficient It can be configured according to actual needs, such as according to the drone's controller.

[0198] Specifically, when control module 4 coordinates the dynamic grouping of drones based on control commands to control the drone swarm, it executes the following:

[0199] Based on the target mission information, generate the initial flight path for each UAV;

[0200] Based on the environmental information of each UAV within the preset recognition range, the initial flight path is optimized to obtain the optimized flight path;

[0201] Based on control commands and optimized flight paths, the drones are dynamically grouped in a coordinated manner to control the drone swarm.

[0202] During execution, control module 4 generates an initial flight path based on the target mission information and using existing path planning algorithms (such as Dijkstra's algorithm or A* algorithm), providing a baseline trajectory for each UAV to guide the mission objective. It then optimizes the initial path in real time based on environmental information within a preset recognition range (set according to devices such as LiDAR and visual sensors). Employing the RRT* algorithm, it dynamically incorporates local environmental data to correct potential obstacle conflicts in the path. It plans obstacle avoidance paths within a unified coordinate system to optimize the initial flight path, ensuring a safe distance from obstacles and intersections with adjacent UAV paths, and smooth changes in path curvature. The optimized flight path is then executed in conjunction with control commands, adjusting the flight attitude of each UAV through PID controllers and other methods. This maintains the stability of the UAV group's target formation while ensuring the path adapts to complex environmental changes. The collaborative control process maintains system integrity while effectively addressing sudden local obstacles, improving the robustness of the UAV swarm's autonomous operation in signal-constrained areas.

[0203] As described above, this UAV swarm control device acquires information about neighboring UAVs within a preset scanning range for each UAV in a swarm operating under GNSS-limited or GNSS-ineffective communication environments. Using preset partitioning criteria and a greedy algorithm, it divides the swarm into multiple dynamic UAV groups based on this information. Then, employing an extended Kalman filter algorithm, and based on a preset target localization optimization function, combined with real-time data from each UAV's multi-source sensors and neighboring UAV information, it calculates the localization information of each UAV within its corresponding dynamic UAV group. Based on the received target task information and the localization information, and utilizing a preset virtual spring-damping model, it collaboratively controls the dynamic UAV groups to achieve [the desired localization]. The system controls a swarm of drones. By using the extended Kalman filter algorithm and a preset target positioning optimization function to calculate the positioning information of each drone in its corresponding dynamic group, and combining this with a preset virtual spring-damped model, the system coordinates the dynamic grouping of drones to control swarms in GNSS-restricted or GNSS-failed communication environments. This solves the technical problems of existing drone swarm control methods that rely on satellite navigation, leading to synchronization loss, position drift, and mission interruption in environments where GNSS signal parameters are unstable or completely lost. The system enables drone swarms to maintain formation stability and mission execution even under network outage conditions, improving the control efficiency of drone swarms in GNSS-restricted and failed environments.

[0204] Please refer to Figure 3 , Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device includes a processor 301 and a memory 302. The processor 301 and memory 302 are interconnected and communicate with each other via a communication bus 303 and / or other connection mechanisms (not shown). The memory 302 stores a computer program executable by the processor 301. When the electronic device is running, the processor 301 executes the computer program to perform the UAV swarm control method in any optional implementation of the above embodiments, to achieve the following functions: acquiring information about neighboring UAVs within a preset scanning range for each UAV in a UAV swarm operating in a GNSS-limited or GNSS-failed communication environment; dividing the UAV swarm into multiple dynamic UAV groups based on the neighboring UAV information using a preset division criterion and greedy algorithm; calculating the positioning information of each UAV in its corresponding dynamic UAV group using an extended Kalman filter algorithm, based on a preset target positioning optimization function, combined with real-time data from multiple source sensors of each UAV and neighboring UAV information; and coordinating the control of the UAV dynamic groups based on the received target task information and the positioning information using a preset virtual spring-damping model to control the UAV swarm.

[0205] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it executes the UAV swarm control method in any optional implementation of the above embodiments to achieve the following functions: acquiring information about neighboring UAVs within a preset scanning range for each UAV in a UAV swarm operating in a GNSS-limited or GNSS-failed communication environment; dividing the UAV swarm into multiple dynamic UAV groups based on the neighboring UAV information using a preset division criterion and a greedy algorithm; calculating the positioning information of each UAV in its corresponding dynamic UAV group using an extended Kalman filter algorithm based on a preset target positioning optimization function, combined with real-time data from multiple UAV sensors and neighboring UAV information; and coordinating the control of the UAV dynamic groups based on the received target task information and the positioning information using a preset virtual spring-damping model to control the UAV swarm. The storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Red-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0206] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Additionally, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some communication interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0207] Furthermore, the units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.

[0208] Furthermore, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0209] In this document, relational terms such as first and second are used only to distinguish one entity or operation from another entity or operation, without necessarily requiring or implying any such actual relationship or order between these entities or operations.

[0210] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A method for controlling a swarm of unmanned aerial vehicles (UAVs) in GNSS-constrained and unavailable environments, characterized in that, Including the following steps: To acquire information on neighboring drones within a preset scanning range for each drone in a drone swarm operating in a GNSS-limited or GNSS-ineffective communication environment; Based on the neighboring drone information, the drone swarm is divided into multiple dynamic drone groups using a preset division criterion and a greedy algorithm. Using the extended Kalman filter algorithm, based on a preset target localization optimization function, and combining real-time data from the multi-source sensors of each UAV and information from neighboring UAVs, the localization information of each UAV in the corresponding UAV dynamic group is calculated. Based on the received target task information and combined with the positioning information, the drones are dynamically grouped using a preset virtual spring-damping model to control the drone swarm. Using the extended Kalman filter algorithm, based on a preset target localization optimization function, and combining real-time data from the multi-source sensors of each UAV and information from neighboring UAVs, the localization information of each UAV in its corresponding UAV dynamic group is calculated, including: Acquire real-time data from the multi-source sensors of each of the aforementioned UAVs; Using the extended Kalman filter algorithm, the preliminary positioning information of each UAV in the corresponding UAV dynamic group is calculated based on the real-time data of the multi-source sensors; Based on the neighboring UAV information, the preliminary positioning information is optimized using the Gauss-Newton method and a preset target positioning optimization function to obtain the positioning information of each UAV in the corresponding UAV dynamic group; Using the extended Kalman filter algorithm, preliminary positioning information of each UAV in its corresponding UAV dynamic group is calculated based on real-time data from the multi-source sensors, including: The noise covariance matrix of each sensor is estimated in real time using adaptive Kalman filtering. The trace quantization noise level of each sensor's noise covariance matrix is ​​calculated. Combined with the scene feature vector, a mapping function is calculated using a lightweight neural network to obtain the scene adaptation weight adjustment coefficients. The dynamic weights of the sensors are calculated according to the following formula: ; in, For the sensor dynamic weights of UAV i; This is the balance coefficient; It is a noise-dependent term; Let be the trace of the noise covariance matrix of each sensor of UAV i; Let i be the noise covariance matrix of each sensor of UAV i; S represents the scene dependency; S is the scene feature vector. Calculate the Kalman gain: ; in, Kalman gain at time k ; To incorporate the observation noise covariance matrix with dynamic weights; For the diag function; This is the covariance matrix at time k predicted based on the data at time k-1. This is the observation matrix; the superscript T is the transpose symbol. Let be the noise covariance matrix at time k; Update state estimates and covariance: ; ; in, Let be the state vector matrix, which represents the position of the UAV at time k. It is the identity matrix; Let be the covariance matrix at time k; The observed equation values; This is the state vector matrix at time k predicted based on time k-1. Based on the neighboring UAV information, the preliminary positioning information is optimized using the Gauss-Newton method and a preset target localization optimization function to obtain the positioning information of each UAV in the corresponding UAV dynamic group, including: A1. Based on the information of the neighboring UAVs, the preliminary positioning information is optimized using the Gauss-Newton method and a preset target positioning optimization function to obtain the optimized preliminary positioning information; A2, calculate the difference between the optimized preliminary positioning information and the preliminary positioning information; A3, determine whether the absolute value of the difference is less than the preset deviation threshold; if yes, determine that the optimized preliminary positioning information is the positioning information of each UAV in the corresponding UAV dynamic group; if no, set the optimized preliminary positioning information as the new preliminary positioning information and return to step A1. The preset target localization optimization function is specifically as follows: ; ; in, Provide preliminary location information for the drone; The correction position for the drone i to be optimized. For the correction position of the UAV j to be optimized, P i Let be the localization covariance of drone i; Let be the dynamic sensor weights for UAV i and UAV j; The distance between any drone i and another drone j within the same group in the neighboring drone information; The objective function is... This is the optimized preliminary positioning information; The preset target location optimization function, This indicates that the objective function When the minimum value is obtained, as independent variable The value of .

2. The unmanned aerial vehicle (UAV) swarm control method according to claim 1, characterized in that, To acquire information on neighboring drones within a preset scanning range for each drone in a drone swarm operating in a GNSS-limited or GNSS-disabled communication environment, including: Real-time acquisition of GNSS signal parameters of each drone in the drone swarm; Based on the GNSS signal parameters, and according to preset communication environment judgment conditions, it is determined whether the UAV swarm is in a GNSS-restricted communication environment or a GNSS-failed communication environment. If so, obtain information on neighboring drones within the preset scanning range for each of the aforementioned drones; If not, then it is determined that the UAV swarm is in a good GNSS communication environment. Based on the GNSS signal parameters, the UAV swarm is controlled until the UAV swarm is in a GNSS-limited communication environment or a GNSS-failed communication environment. Then, information on neighboring UAVs within a preset scanning range is obtained for each UAV.

3. The unmanned aerial vehicle swarm control method according to claim 1, characterized in that, After calculating the positioning information of each UAV in the corresponding UAV dynamic group using the extended Kalman filter algorithm, based on a preset target positioning optimization function and combining real-time data from the multi-source sensors of each UAV and information from neighboring UAVs, the algorithm further includes: Calculate the deviation between the positioning residual of each UAV and the positioning mean of the corresponding UAV dynamic group. When the deviation is greater than a preset positioning distortion threshold, adjust the position of the neighboring UAVs in the corresponding UAV dynamic group so that the adjusted deviation is less than a preset accurate positioning threshold.

4. The unmanned aerial vehicle swarm control method according to claim 1, characterized in that, Based on the received target task information and combined with the positioning information, a preset virtual spring-damping model is used to coordinate the dynamic grouping of the UAVs to control the UAV swarm, including: Based on the received target mission information, determine the target formation of each UAV dynamic group and the target position information of each UAV in the corresponding UAV dynamic group; Based on the target location information and the positioning information, a preset virtual spring-damping model is used to generate control commands for each of the UAV dynamic groups when forming the target formation; Based on the control commands, the drones are dynamically grouped in a coordinated manner to control the drone swarm.

5. The unmanned aerial vehicle swarm control method according to claim 4, characterized in that, Based on the control commands, the drones are dynamically grouped in a coordinated manner to control the drone swarm, including: Based on the target mission information, generate the initial flight path for each of the UAVs; Based on the environmental information of each UAV within a preset recognition range, the initial flight path is optimized to obtain an optimized flight path; Based on the control commands and the optimized flight path, the drones are dynamically grouped in a coordinated manner to control the drone swarm.

6. A drone swarm control device for controlling drone swarms in GNSS-limited and unavailable environments, characterized in that, include: The acquisition module is used to acquire information about neighboring drones within a preset scanning range for each drone in a drone swarm that is in a GNSS-limited or GNSS-failed communication environment. The partitioning module is used to divide the drone swarm into multiple dynamic drone groups based on the neighboring drone information using preset partitioning criteria and a greedy algorithm. The calculation module is used to calculate the positioning information of each UAV in the corresponding UAV dynamic group by using the extended Kalman filter algorithm, according to the preset target positioning optimization function, combined with the real-time data of the multi-source sensors of each UAV and the information of the neighboring UAVs. The control module is used to control the UAV swarm by coordinating the dynamic grouping of the UAVs based on the received target task information and the positioning information, using a preset virtual spring-damping model. The calculation module is used to apply the extended Kalman filter algorithm, based on a preset target localization optimization function, and combining real-time data from the multi-source sensors of each UAV and information from neighboring UAVs, to calculate the localization information of each UAV in its corresponding UAV dynamic group, including: Acquire real-time data from the multi-source sensors of each of the aforementioned UAVs; Using the extended Kalman filter algorithm, the preliminary positioning information of each UAV in the corresponding UAV dynamic group is calculated based on the real-time data of the multi-source sensors; Based on the neighboring UAV information, the preliminary positioning information is optimized using the Gauss-Newton method and a preset target positioning optimization function to obtain the positioning information of each UAV in the corresponding UAV dynamic group; Using the extended Kalman filter algorithm, preliminary positioning information of each UAV in its corresponding UAV dynamic group is calculated based on real-time data from the multi-source sensors, including: The noise covariance matrix of each sensor is estimated in real time using adaptive Kalman filtering. The trace quantization noise level of each sensor's noise covariance matrix is ​​calculated. Combined with the scene feature vector, a mapping function is calculated using a lightweight neural network to obtain the scene adaptation weight adjustment coefficients. The dynamic weights of the sensors are calculated according to the following formula: ; in, For the sensor dynamic weights of UAV i; This is the balance coefficient; It is a noise-dependent term; Let be the trace of the noise covariance matrix of each sensor of UAV i; Let i be the noise covariance matrix of each sensor of UAV i; S represents the scene dependency; S is the scene feature vector. Calculate the Kalman gain: ; in, Kalman gain at time k ; To incorporate the observation noise covariance matrix with dynamic weights; For the diag function; This is the covariance matrix at time k predicted based on the data at time k-1. This is the observation matrix; the superscript T is the transpose symbol. Let be the noise covariance matrix at time k; Update state estimates and covariance: ; ; in, Let be the state vector matrix, which represents the position of the UAV at time k. It is the identity matrix; Let be the covariance matrix at time k; The observed equation values; This is the state vector matrix at time k predicted based on time k-1. Based on the neighboring UAV information, the preliminary positioning information is optimized using the Gauss-Newton method and a preset target localization optimization function to obtain the positioning information of each UAV in the corresponding UAV dynamic group, including: A1. Based on the information of the neighboring UAVs, the preliminary positioning information is optimized using the Gauss-Newton method and a preset target positioning optimization function to obtain the optimized preliminary positioning information; A2, calculate the difference between the optimized preliminary positioning information and the preliminary positioning information; A3, determine whether the absolute value of the difference is less than the preset deviation threshold; if yes, determine that the optimized preliminary positioning information is the positioning information of each UAV in the corresponding UAV dynamic group; if no, set the optimized preliminary positioning information as the new preliminary positioning information and return to step A1. The preset target localization optimization function is specifically as follows: ; ; in, Provide preliminary location information for the drone; The correction position for the drone i to be optimized. For the correction position of the UAV j to be optimized, P i Let be the localization covariance of drone i; Let be the dynamic sensor weights for UAV i and UAV j; The distance between any drone i and another drone j within the same group in the neighboring drone information; The objective function is... This is the optimized preliminary positioning information; The preset target location optimization function, This indicates that the objective function When the minimum value is obtained, as independent variable The value of .

7. An electronic device, characterized in that, It includes a processor and a memory, the memory storing a computer program executable by the processor, which, when executing the computer program, performs the steps of the unmanned aerial vehicle swarm control method as described in any one of claims 1-5.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it performs the steps in the unmanned aerial vehicle swarm control method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Unmanned aerial vehicle cluster positioning method and device based on Kalman filtering in satellite denial environment

    CN120178155A

  • Control system for combined flight of multiple unmanned aerial vehicles for coping with wind power change

    CN120447599A