Unmanned aerial vehicle cluster grouping method based on cluster head fitness and adaptive competition radius
By calculating the swarm leader fit degree and adaptive competition radius of the UAV swarm, and combining it with a distributed election mechanism, the problem of unreasonable swarm leader selection in UAV swarm grouping was solved, achieving a stable and balanced grouping structure and optimizing the swarm leader distribution.
Patent Information
- Application Number
- CN202610774299.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-01
- Publication Date
- 2026-08-25
AI Technical Summary
Existing drone swarming methods do not fully consider the specific distribution of neighboring nodes within the communication coverage area when selecting the swarm leader node, resulting in insufficient swarm structure stability, easy link failure, uneven swarm size, uneven load on the swarm leader, and failure to reasonably control the spatial distribution among swarm leaders.
A clustering method based on the group head fitness degree and adaptive competition radius is adopted. The group head fitness degree is evaluated by calculating the average corrected neighbor distance, average link survival time and the degree difference between the two-hop optimal nodes. Combined with the FloodMax and FloodMin distributed election mechanisms, the competition radius is adaptively adjusted to optimize the selection and distribution of the group head.
This improved the rationality and stability of swarm leader selection, resulting in a stable and balanced drone swarm structure, optimizing the spatial distribution of swarm leaders, and reducing redundancy and load imbalance issues.
Smart Images

Figure CN122640340A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of UAV swarm technology, specifically relating to a UAV swarm grouping method based on swarm head adaptability and adaptive competition radius. Background Technology
[0002] Unmanned aerial vehicle (UAV) swarms, characterized by flexible deployment, wide coverage, and strong collaborative capabilities, have been widely applied in scenarios such as emergency communication, disaster monitoring, target search, and environmental perception. In these applications, multiple UAVs typically need to establish a communication network through self-organization to achieve status information exchange, task coordination, and data forwarding. However, due to the high movement speed of UAV nodes, frequent changes in network topology, and poor communication link stability, existing planar network architectures are prone to problems such as complex network management, high control overhead, and decreased communication stability.
[0003] Swarming is a common network organization method in UAV ad hoc networks. It divides nodes into several swarms and selects a swarm leader node in each swarm to be responsible for swarm management, information aggregation, and inter-swarm coordination, thereby reducing network management complexity and improving communication resource utilization efficiency. The selection of the swarm leader node directly affects the stability of the swarm structure, the balance of swarm size, and network communication performance. Therefore, how to select a suitable swarm leader node is a key issue in UAV swarming.
[0004] Existing drone swarming methods typically select the swarm leader based on factors such as node energy, node movement speed, and neighbor distance, aiming to choose the node with the best overall performance. However, these methods still have the following shortcomings: First, when using average neighbor distance to measure node neighbor stability, existing methods usually only calculate the general average neighbor distance, without considering the specific distribution of neighbor nodes within the communication coverage area. Neighbor nodes located at the communication coverage boundary have poor link quality and can easily leave the node's communication range due to movement, affecting the stability of the swarm structure. When two candidate nodes have the same average neighbor distance, if one candidate node has a higher proportion of boundary neighbors, its swarm structure stability may still be significantly lower than that of the other candidate node with fewer boundary neighbors. Therefore, the average neighbor distance is insufficient to distinguish the impact of different neighbor spatial distributions on the stability of the group structure, resulting in insufficient accuracy in group leader selection. Secondly, existing methods mainly select group leaders based on the current topology information, without fully considering the impact of relative movement between nodes on link duration, which can easily lead to rapid link failure between the selected group leader and neighboring nodes. Thirdly, existing methods do not adequately consider the potential size of members that the group leader may access, which can easily result in an oversized or undersized group, leading to unbalanced group leader load or reduced grouping efficiency. Fourthly, existing methods usually focus more on the local adaptability of individual nodes, while not adequately considering the rationality of the spatial distribution among multiple group leaders. It is difficult to reasonably control the distribution relationship between group leaders based on local node density changes. In areas with low node density, multiple redundant group leaders with overlapping coverage areas may be generated, while in areas with high node density, there may be insufficient number of group leaders, resulting in some group leaders being overloaded.
[0005] Furthermore, in existing technologies, the literature "AD Amis, R. Prakash, THP Vuong and DT Huynh, "Max-min d-cluster formation in wireless ad hoc networks," Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No. 00CH37064), Tel Aviv, Israel, 2000, pp. 32-41" proposes the FloodMax and FloodMin distributed flooding election mechanism. To address the shortcomings of existing clustering methods, such as insufficient rationality in selecting cluster leaders, poor cluster structure stability, and uneven spatial distribution of cluster leaders, this paper studies a new clustering method based on this election mechanism to solve existing technical problems. Summary of the Invention
[0006] To address the aforementioned issues, this invention provides a drone swarming method based on leader fit and adaptive competition radius, which can improve the rationality of leader selection, optimize leader spatial distribution, and form a stable and balanced drone swarming structure.
[0007] The technical solution adopted in this invention is: a method for UAV swarming based on swarm head adaptability and adaptive competition radius, the specific steps of which are as follows:
[0008] S1. Each drone node in the network periodically exchanges node information, constructs a neighbor information table, and calculates the head-of-group fit value of the drone node based on the obtained node information.
[0009] The group head fit value is determined based on the stability of neighbor distribution, link maintenance capability, and the degree of matching of potential group size.
[0010] S2. Based on step S1, each drone node executes a distributed flood election process, updates the locally recorded group leader fitness value and its corresponding node ID during the propagation process, and determines the candidate group leader node based on the propagation results.
[0011] The distributed flood election process includes FloodMax and FloodMin phases. Each drone node executes two rounds of the FloodMax phase and two rounds of the FloodMin phase sequentially based on its local leader fitness value. Through four rounds of flood iteration, the leader fitness value propagation results within a two-hop range are obtained, and the candidate leader node is determined according to a preset candidate leader determination rule.
[0012] S3. Based on step S2, the candidate group head node determines the competition radius according to the node density, sets a competition timer according to the group head fitness value, and then determines the final group head node based on the competition timer.
[0013] The node density refers to the number of local effective neighbors. When a candidate group leader node receives a group leader declaration message from another candidate group leader node before the competition timer expires, and the distance between the two candidate group leader nodes is less than the competition radius of the other candidate group leader nodes, the group leader fit values of the two are compared, and the one with the smaller value withdraws from the group leader election, thus determining the final group leader node.
[0014] S4. Based on step S3, drone nodes that have not become the final group leader node send a group entry request in the corresponding group entry window after hearing the group leader's declaration message, and join the corresponding drone group after receiving the group leader's confirmation message, thus forming a subgroup structure.
[0015] Furthermore, step S1 is specifically as follows:
[0016] S11. The drone nodes periodically broadcast Hello packets to exchange node information. The nodes exchange HELLO packets multiple times to ensure that each node obtains sufficient neighbor information and builds a neighbor information table based on the obtained information.
[0017] The node information obtained from the Hello packet includes: node ID, current location, and speed information. After receiving a Hello packet from a neighboring node, for node information directly received by this node, it identifies the other drone nodes that sent that node information as one-hop neighbors, establishes a one-hop neighbor information table, and saves the corresponding node information. Then, it sets... One-jump neighbor set The expression is as follows:
[0018] ;
[0019] in, Represents a set of network nodes. Represents a node With nodes The distance between them Indicates the node's communication radius.
[0020] Then, each drone node establishes a two-hop neighbor information table based on the one-hop neighbor information of its neighboring nodes, and saves the corresponding node information. Then, the node is set. Two-hop neighbor set The expression is as follows:
[0021] ;
[0022] in, Represents a node With nodes The number of communication hops between them.
[0023] S12. After establishing neighbor information, the node calculates the group head fit value based on the average corrected neighbor distance, average link survival time, and the degree difference between the two hops optimal nodes.
[0024] S121. Calculate the average corrected neighbor distance;
[0025] Set Node Average neighbor distance of all its one-hop neighbors The expression is as follows:
[0026] ;
[0027] Then, the node communication range is divided into different regions, and nodes are defined. His neighbor jumped Reliability distance function The expression is as follows:
[0028] ;
[0029] in, and Represents the distance between the layer boundaries, and satisfies , and This indicates an adjustable parameter.
[0030] Reset , and Representing distances from nodes lie in , and The number of one-hop neighbors within the range, then the node Reliability distance coefficient The expression is as follows:
[0031] ;
[0032] Finally, we obtain the node. Average corrected neighbor distance The expression is as follows:
[0033] ;
[0034] S122. Calculate the average link lifetime;
[0035] Regarding link lifetime, let the node With nodes relative position vector and relative velocity vector The expressions are as follows:
[0036] ;
[0037] ;
[0038] in, Represents a node With nodes position vector, Represents a node With nodes The velocity vector.
[0039] When node With nodes The distance reaches the communication radius When the link is interrupted, the link lifespan is... The conditional expression is as follows:
[0040] ;
[0041] when At that time, link lifespan The expression is as follows:
[0042] ;
[0043] Then node Average link lifetime The expression is as follows:
[0044] ;
[0045] S123. Calculate the optimal node degree difference between two hops;
[0046] Set Node The degree of a hop node is denoted as The degree of a two-hop node is denoted as ,in:
[0047] ;
[0048] Then define the effective two-hop node degree. The expression is as follows:
[0049] ;
[0050] in, This indicates the contribution weight of the two-hop neighbor, and .
[0051] Then set the total number of network nodes to Then the target group size The expression is set as follows:
[0052] ;
[0053] Finally, we obtain the node. Two-hop optimal node degree difference The expression is as follows:
[0054] ;
[0055] S124. Calculate the group head fit value;
[0056] node Group head fit value The expression is as follows:
[0057] ;
[0058] in, , and This indicates the weights corresponding to different indicators. This represents a very small positive number that prevents the denominator from being zero.
[0059] Furthermore, step S2 is specifically as follows:
[0060] S21, Execute the FloodMax phase;
[0061] Each node broadcasts its own node ID and local head-fitness value to its one-hop neighbors. If a neighbor's head-fitness value is greater than the locally recorded value, the node updates its local head-fitness value to the larger value and records the corresponding node ID. After receiving all neighbor data pairs or after a timer expires, the node initiates a new round of FloodMax based on the updated head-fitness value. After two rounds of FloodMax operations, each node obtains the propagation result of the maximum head-fitness value within a two-hop range and the corresponding node ID.
[0062] S22, Execute the FloodMin phase;
[0063] After completing two rounds of FloodMax, each node performs two more rounds of FloodMin based on the updated head-of-the-world fitness value. In FloodMin, each node broadcasts its latest head-of-the-world fitness value. If a neighbor's head-of-the-world fitness value is smaller than its local value, the node updates its local head-of-the-world fitness value to the smaller value and records the corresponding node ID. After completing two rounds of FloodMin, each node compares its initial head-of-the-world fitness value with the value after four updates, thus obtaining the results of four rounds of flooding iterations.
[0064] S23. Determine the candidate group head node according to the preset candidate group head determination rules;
[0065] The determination rules include:
[0066] (1) If the fitness value of the head of the group after four rounds of flooding is consistent with its initial fitness value, then the node becomes a candidate head of the group.
[0067] (2) If the fitness value of the head of the group after four rounds of flooding iterations is inconsistent with its initial fitness value, then it is determined whether the corresponding fitness value of the head of the group appears in both the FloodMax and FloodMin stages. If it appears in both stages, then the node corresponding to the fitness value of the head of the group is determined as a candidate head of the group. If there are multiple nodes that meet the conditions, then the node corresponding to the smaller fitness value of the head of the group is selected as the candidate head of the group.
[0068] (3) If neither condition (1) nor (2) is satisfied, then the node corresponding to the maximum group head fitness value in the FloodMax phase is selected as the candidate group head.
[0069] Furthermore, step S3 is specifically as follows:
[0070] S31. The competition radius of the first node of the candidate group is determined based on the node density.
[0071] Set candidate group leader Competition radius The expression is as follows:
[0072] ;
[0073] S32. Set a contention timer based on the group head fit value;
[0074] Candidate group leader Based on its group leader fit value Set a race timer The expression is as follows:
[0075] ;
[0076] in, Indicates the maximum duration of the contention timer. This represents the theoretically highest group head fit value.
[0077] S33. Determine the final group head node based on a contention timer;
[0078] If the candidate group leader Received the group head before the contention timer expired. The distance between the group leader's statement message and the message is calculated. If satisfied And nodes The group head fit value is lower than the node The group leader fit value is then used to select candidate group leaders. If a candidate withdraws from the election and becomes a regular node, it will continue to wait for the competition timer to expire. If the competition timer for a candidate group leader expires normally and the candidate has not withdrawn from the election, then the candidate group leader will issue a group leader declaration message and become the final group leader.
[0079] Furthermore, step S4 is specifically as follows:
[0080] S41. For ordinary nodes that have not become candidate group leaders, if they hear the group leader declaration of the target candidate group leader within a preset time, they will wait for the target candidate group leader determined in the candidate group leader election stage in the first half of the preset time window, that is, they will send the group entry request to the network entry window corresponding to the target candidate group leader selected in step S2 within the preset time.
[0081] S42. For ordinary nodes that have not become candidate group leaders, if they do not hear the group leader declaration of the target candidate group leader within a preset time, the target candidate group leader is suppressed by the competition radius constraint. In the second half, the node selects the group leader with the highest group leader fit value based on the group leader information maintained locally and sends a group entry request.
[0082] S43. After a node sends a request to join a group, it enters a waiting confirmation state. If it receives a confirmation message from the group leader before the confirmation timer expires, the node has successfully joined the corresponding group. If it does not receive a confirmation message before the confirmation timer expires, it will either reselect a group leader or wait for the next round of joining opportunities.
[0083] The beneficial effects of this invention are as follows: The method of this invention constructs a group leader suitability evaluation mechanism, introducing average corrected neighbor distance, average link lifetime, and optimal two-hop node degree difference to comprehensively measure the suitability of a node to serve as a group leader. The average corrected neighbor distance accurately characterizes the stability of the neighbor distribution, the average link lifetime reflects the continuity of the connection relationship between nodes, and the optimal two-hop node degree difference measures the rationality of the potential group size around the candidate group leader. By weighted and fused with the above factors, a group leader suitability value is obtained, and nodes with higher suitability values are preferentially elected as candidate group leaders, effectively improving the rationality of group leader selection. After the candidate group leader is generated, the method of this invention adaptively determines the competition radius based on the number of effective neighbors within the local range of the candidate group leader, and determines the final group leader by combining the competition radius constraint. This reduces redundant group leaders with overlapping coverage in low-density areas, allows multiple group leaders to exist in high-density areas to share the access load, optimizes the spatial distribution of group leaders, improves the rationality of group leader selection, and enhances the access balance and group structure stability of UAV swarms, forming a stable and balanced swarm structure. Attached Figure Description
[0084] Figure 1 This is a flowchart of a drone swarming method based on swarm head adaptability and adaptive competition radius according to the present invention.
[0085] Figure 2 This is a schematic diagram illustrating two distribution scenarios where the average neighbor distance is the same in an embodiment of the present invention.
[0086] Figure 3 This is a schematic diagram of candidate group leader election under different node densities in an embodiment of the present invention. Detailed Implementation
[0087] To facilitate understanding of the present invention by those skilled in the art, the technical terms involved in the method of the present invention are first defined as follows:
[0088] 1. Group leader fit value: This value is used to characterize the overall suitability of a drone node to serve as the group leader. It is obtained by weighted fusion of the average corrected neighbor distance, average link survival time, and the degree difference between the two-hop optimal nodes. These correspond to three dimensions: the stability of the node's neighbor distribution, the link maintenance capability, and the degree of matching with the potential group size. The higher the group leader fit value, the more suitable the node is to serve as the group leader.
[0089] 2. Average Corrected Neighbor Distance: This parameter characterizes the stability of a node's neighbor distribution. Based on the standard average neighbor distance, the communication coverage area of a UAV node is divided into multiple regions according to link stability. The impact of one-hop neighbor nodes in different regions on the stability of the group structure varies. The distance between each one-hop neighbor node and the current node is then corrected accordingly. This index is calculated based on the corrected distance. A smaller average corrected neighbor distance indicates that neighbor nodes are more concentrated in communication-stable areas, making the node more suitable to serve as the group leader.
[0090] 3. Average Link Survival Time: This metric characterizes the duration of the link connection between a node and its one-hop neighbor nodes. It is calculated by predicting the survival time of each link based on the relative position and relative speed between nodes and averaging the survival times of all one-hop neighbor links. The longer the average link survival time, the more stable the link between the node and its neighbors, and the more suitable the node is to be the group leader.
[0091] 4. Two-hop optimal node degree difference: This is used to characterize the degree of deviation between the potential group size around a node and the target group size. This index combines the number of one-hop neighbors of a node with the weighted number of two-hop neighbors to obtain the effective number of neighbors of the node, and measures the index by the deviation between the effective number of neighbors and the target group size. The smaller the two-hop optimal node degree difference, the closer the potential group size around the node is to the target group size, the more reasonable the grouping, and the more suitable the node is as the group head.
[0092] 5. FloodMax phase: Each node broadcasts its own node ID and local group head fitness value to its one-hop neighbors. If the group head fitness value from a neighbor is greater than the locally recorded value, the local group head fitness value is updated to the larger value, and the corresponding node ID is recorded.
[0093] 6. FloodMin Phase: Each node broadcasts its own node ID and local group head fitness value to its one-hop neighbors. If the group head fitness value from a neighbor is less than the locally recorded value, the local group head fitness value is updated to the smaller value, and the corresponding node ID is recorded.
[0094] 7. Competition Radius: This refers to the spatial constraint range of a candidate group leader node when participating in group leader competition. It is adaptively determined based on the number of effective neighbors around the candidate group leader node. When the number of effective neighbors is small, the competition radius increases to reduce redundant group leaders with overlapping coverage areas in low-density areas; when the number of effective neighbors is large, the competition radius decreases to allow multiple candidate group leaders to coexist in high-density areas to share the access load. If other candidate group leader nodes are located within this range and have a low group leader fit value, they withdraw from the group leader competition, thereby optimizing the spatial distribution of group leaders.
[0095] The method of the present invention will be further described below with reference to the accompanying drawings and embodiments.
[0096] like Figure 1 The flowchart of a UAV swarming method based on swarm head adaptability and adaptive competition radius of the present invention is shown below. The specific steps are as follows:
[0097] S1. Each drone node periodically exchanges node information, constructs a neighbor information table, and calculates the head-of-group fit value of the drone nodes based on the obtained node information.
[0098] The group head fit value is determined based on the stability of neighbor distribution, link maintenance capability, and the degree of matching of potential group size.
[0099] S2. Based on step S1, each drone node executes a distributed flood election process, updates the locally recorded group leader fitness value and its corresponding node ID during the propagation process, and determines the candidate group leader node based on the propagation results.
[0100] The distributed flood election process includes two phases: FloodMax and FloodMin. Candidate leader nodes are determined through two rounds of FloodMax and two rounds of FloodMin phases.
[0101] Each drone node executes the FloodMax and FloodMin phases sequentially based on its local leader fitness value. Through multiple rounds of flooding iterations, it obtains the leader fitness value propagation results within a two-hop range and determines the candidate leader node according to the preset candidate leader determination rules.
[0102] S3. Based on step S2, the candidate group head node determines the competition radius according to the node density, sets a competition timer according to the group head fitness value, and then determines the final group head node based on the competition timer.
[0103] The node density refers to the number of local effective neighbors. When the number of effective neighbors around a candidate group leader node is small, the competition radius increases to reduce redundant group leader nodes with overlapping coverage in low-density areas. When the number of effective neighbors around a candidate group leader node is large, the competition radius decreases to allow multiple group leader nodes in high-density areas to share the access burden of member nodes. Candidate group leader nodes set a competition timer based on their own group leader fit value; the higher the group leader fit value, the shorter the competition timer. When a candidate group leader node receives a group leader declaration message from another candidate group leader node before the competition timer expires, and the distance between the two candidate group leader nodes is less than the competition radius of the other candidate group leader nodes, their group leader fit values are compared. The one with the smaller value withdraws from the group leader election, thus determining the final group leader node.
[0104] S4. Based on step S3, drone nodes that have not become the final group leader node send a group entry request in the corresponding group entry window after hearing the group leader's declaration message, and join the corresponding drone group after receiving the group leader's confirmation message, thus forming a subgroup structure.
[0105] In this embodiment, step S1 is specifically as follows:
[0106] S11. Each UAV node in the network periodically broadcasts Hello packets to exchange node information. Nodes exchange HELLO packets multiple times to ensure that each node obtains sufficient neighbor information and constructs a neighbor information table based on the obtained information.
[0107] The node information obtained from the Hello packet includes: node ID, current location, and speed information. After receiving a Hello packet from a neighboring node, for node information directly received by this node, it identifies the other drone nodes that sent that node information as one-hop neighbors, establishes a one-hop neighbor information table, and saves the corresponding node information to provide basic data for subsequent clustering decisions. Then, it sets... One-jump neighbor set The expression is as follows:
[0108] ;
[0109] in, Represents a set of network nodes. Represents a node With nodes The distance between them Indicates the node's communication radius.
[0110] Then, each drone node establishes a two-hop neighbor information table based on the one-hop neighbor information of its neighboring nodes, and saves the corresponding node information. Then, the node is set. Two-hop neighbor set The expression is as follows:
[0111] ;
[0112] in, Represents a node With nodes The number of communication hops between them.
[0113] S12. After establishing neighbor information, the node calculates the group head fit value based on the average corrected neighbor distance, average link survival time, and the degree difference between the two hops optimal nodes.
[0114] S121. Calculate the average corrected neighbor distance;
[0115] The average corrected neighbor distance is used to characterize the stability of the node's neighbor distribution. It is based on the average neighbor distance and combines the distribution of one-hop neighbor nodes within the communication coverage area of the UAV node to more accurately characterize the neighbor distribution stability of the UAV node. The average corrected neighbor distance is obtained by dividing the communication coverage area of the UAV node into regions (one-hop neighbor nodes in different regions have different link stability) and correcting the neighbor distance (the distance between the region and the node) according to the region where the one-hop neighbor node is located. The average corrected neighbor distance is calculated based on the corrected distance, which can distinguish the impact of neighbor nodes in different regions on the stability of the group structure, thereby more accurately characterizing the stability of the neighbor distribution.
[0116] Set Node Average neighbor distance of all its one-hop neighbors The expression is as follows:
[0117] ;
[0118] Average neighbor distance reflects the overall distance level between a node and its neighbors, but it cannot fully characterize the stability of the neighbor distribution. Nodes at the communication coverage boundary have poor link quality and can be separated from the node at any time due to movement. The communication range affects the stability of the group structure. Two distribution scenarios with the same average neighbor distance are as follows: Figure 2 As shown, Figure 2 (a) and Figure 2 Although the average neighbor distances are the same in (b), Figure 2 (a) has a large number of nodes at the communication boundary, which may cause disconnection at any time due to node movement, resulting in a high packet loss rate. Figure 2 (b) has fewer nodes at the communication boundary, has a higher tolerance for node mobility, and the group structure is more stable.
[0119] To improve the ability to characterize local topological stability, this embodiment divides the node communication range into different regions and defines nodes. His neighbor jumped Reliability distance function The expression is as follows:
[0120] ;
[0121] in, and Represents the distance between the layer boundaries, and satisfies , and This indicates an adjustable parameter.
[0122] Reset , and Representing distances from nodes lie in , and The number of one-hop neighbors within the range, then the node Reliability distance coefficient The expression is as follows:
[0123] ;
[0124] Finally, we obtain the node. Average corrected neighbor distance The expression is as follows:
[0125] ;
[0126] The smaller the average corrected neighbor distance, the more concentrated the node's neighbors are in a stable communication area, and the more suitable the node is to be the group leader.
[0127] S122. Calculate the average link lifetime;
[0128] The average link lifetime is used to characterize the link maintenance capability between a node and its neighboring nodes. It is determined based on the relative position and relative speed between the node and its one-hop neighboring nodes. It can predict the communication maintenance time between the node and its one-hop neighboring nodes (the link maintenance time is predicted based on the relative motion state between the nodes) and can reflect the continuity of the connection relationship between the nodes.
[0129] Regarding link lifetime, let the node With nodes relative position vector and relative velocity vector The expressions are as follows:
[0130] ;
[0131] ;
[0132] in, Represents a node With nodes position vector, Represents a node With nodes The velocity vector.
[0133] When node With nodes The distance reaches the communication radius When the link is interrupted, the link lifespan is... The conditional expression is as follows:
[0134] ;
[0135] when At that time, link lifespan The expression is as follows:
[0136] ;
[0137] Then node Average link lifetime The expression is as follows:
[0138] ;
[0139] The longer the average link lifespan, the more stable the link between the node and its neighbors.
[0140] S123. Calculate the optimal node degree difference between two hops;
[0141] The two-hop optimal node degree difference is used to characterize the degree of deviation between the potential group size and the target group size around the node, and is determined based on the number of one-hop neighbors and the weighted number of two-hop neighbors of the node.
[0142] Among them, the contribution weight of two-hop neighbors is less than that of one-hop neighbors. The number of one-hop neighbors and the weighted number of two-hop neighbors together constitute the effective number of neighbors of the node. The optimal degree difference between two-hop neighbors is the degree of deviation between the effective number of neighbors and the target group size. By estimating the potential access size around the node through the effective number of neighbors and measuring the degree of deviation between it and the target group size, the potential group size around the candidate group head can be made more reasonable.
[0143] To control the group size, an optimal two-hop node degree difference is introduced, and nodes are set... The degree of a hop node is denoted as The degree of a two-hop node is denoted as ,in:
[0144] ;
[0145] Since the contribution of two-hop neighbors to group formation is weaker than that of one-hop neighbors, the effective two-hop node degree is defined. The expression is as follows:
[0146] ;
[0147] in, This indicates the contribution weight of the two-hop neighbor, and .
[0148] Then set the total number of network nodes to Then the target group size The expression is set as follows:
[0149] ;
[0150] Finally, we obtain the node. Two-hop optimal node degree difference The expression is as follows:
[0151] ;
[0152] The smaller this indicator is, the closer the size of the potential clusters around the node is to the size of the target cluster, and the more reasonable the clustering is.
[0153] S124. Calculate the group head fit value;
[0154] node Group head fit value The expression is as follows:
[0155] ;
[0156] in, , and This indicates the weights corresponding to different indicators. This represents a very small positive number that prevents the denominator from being zero.
[0157] In this embodiment, step S2 is specifically as follows:
[0158] S21, Execute the FloodMax phase;
[0159] Each node broadcasts its own node ID and local head-fitness value to its one-hop neighbors. If a neighbor's head-fitness value is greater than the locally recorded value, the node updates its local head-fitness value to the larger value and records the corresponding node ID. After receiving all neighbor data pairs or after a timer expires, the node initiates a new round of FloodMax based on the updated head-fitness value. After two rounds of FloodMax operations, each node obtains the propagation result of the maximum head-fitness value within a two-hop range and the corresponding node ID.
[0160] S22, Execute the FloodMin phase;
[0161] After completing two rounds of FloodMax, each node performs two more rounds of FloodMin based on the updated head-of-the-world fitness value. In FloodMin, each node broadcasts its latest head-of-the-world fitness value. If a neighbor's head-of-the-world fitness value is smaller than its local value, the node updates its local head-of-the-world fitness value to the smaller value and records the corresponding node ID. After completing two rounds of FloodMin, each node compares its initial head-of-the-world fitness value with the value after four updates, thus obtaining the results of four rounds of flooding iterations.
[0162] S23. Determine the candidate group head node according to the preset candidate group head determination rules;
[0163] The determination rules include:
[0164] (1) If the fitness value of the head of the group after four rounds of flooding is consistent with its initial fitness value, then the node becomes a candidate head of the group.
[0165] (2) If the fitness value of the head of the group after four rounds of flooding iterations is inconsistent with its initial fitness value, then it is determined whether the corresponding fitness value of the head of the group appears in both the FloodMax and FloodMin stages. If it appears in both stages, then the node corresponding to the fitness value of the head of the group is determined as a candidate head of the group. If there are multiple nodes that meet the conditions, then the node corresponding to the smaller fitness value of the head of the group is selected as the candidate head of the group.
[0166] (3) If neither condition (1) nor (2) is satisfied, then the node corresponding to the maximum group head fitness value in the FloodMax phase is selected as the candidate group head.
[0167] In this embodiment, step S3 is specifically as follows:
[0168] S31. The candidate group leader node determines the competition radius based on the node density (the candidate group leader calculates the competition radius based on the number of effective neighbors within its two-hop range).
[0169] After the FloodMax and FloodMin phases, candidate group leader nodes are generated in the network, achieving preliminary screening. However, this process ignores the spatial distribution of candidate group leaders, which may lead to the generation of redundant candidate group leaders. Since candidate group leader nodes are determined only based on local propagation results, their spatial distribution may still be uneven. For example, in low-density areas, there may be multiple candidate group leader nodes that are spatially close and have overlapping coverage areas. At the same time, if a fixed competition radius is used to screen candidate group leader nodes, in high-density areas, the competition radius may be too large, leading to excessive suppression of candidate group leader nodes and an insufficient number of final group leader nodes.
[0170] Illustrations of candidate group leader election under different node densities are shown below. Figure 3As shown, the dark-colored nodes are candidate group heads, and the remaining nodes are ordinary nodes. The inner circle represents the node ID, and the outer circle represents the group head fitness value. Figure 3 In (a), the node density is high, and two candidate group leaders are selected. Among them, candidate group leader 2 effectively shares the local high load, ensuring the load balance of the group leaders. However, Figure 3 In (b), the node density is relatively sparse, and candidate group leader 1 can fully handle the load of the area. In this case, the second-best candidate group leader 2 selected according to the logical rules becomes a redundant group leader. Its existence not only fails to optimize performance but also increases control overhead and wastes resources. Therefore, an adaptive competition radius based on node density is introduced, and distance constraints are added. The competition radius is adaptively determined according to the number of effective neighbors around the candidate group leader node to perform the final screening of candidate group leader nodes and ensure that the spatial distribution of group leaders is reasonable.
[0171] Candidate group leader nodes calculate their contention radius based on the number of valid neighbors within their preset hop count range (local area). When the number of valid neighbors around a candidate group leader node is small, it indicates a low node density in the area. In this case, a larger contention radius is set to prevent multiple candidate group leader nodes with close spatial proximity and overlapping service areas from simultaneously becoming the final group leader node. When the number of valid neighbors around a candidate group leader node is large, it indicates a high node density in the area. In this case, a smaller contention radius is set to reduce the mutual inhibition between candidate group leader nodes, allowing multiple candidate group leader nodes to jointly become the final group leader node within the local area, thereby sharing the access pressure on member nodes.
[0172] Set candidate group leader Competition radius The expression is as follows:
[0173] ;
[0174] When the node density is low, the competition radius is large to suppress redundant group heads; when the node density is high, the competition radius is small to allow multiple group heads to be distributed reasonably.
[0175] S32. Set a contention timer based on the group head fit value;
[0176] Candidate group leader nodes also set a competition timer based on their own group leader fit value. The higher the group leader fit value, the shorter the competition timer, allowing candidate group leader nodes with higher group leader fit values to publish the group leader declaration message earlier.
[0177] Candidate group leader Based on its group leader fit value Set a race timer The expression is as follows:
[0178] ;
[0179] in, Indicates the maximum duration of the contention timer. This represents the theoretically highest group head fit value.
[0180] S33. Determine the final group head node based on a contention timer;
[0181] If the candidate group leader Received the group head before the contention timer expired. The distance between the group leader's statement message and the message is calculated. If satisfied And nodes The group head fit value is lower than the node The group leader fit value is then used to select candidate group leaders. If a candidate withdraws from the election and becomes a regular node, it will continue to wait for the competition timer to expire. If the competition timer for a candidate group leader expires normally and the candidate has not withdrawn from the election, then the candidate group leader will issue a group leader declaration message and become the final group leader.
[0182] After the final group leader node is determined, drone nodes that have not become the final group leader node enter a waiting state to join the group and listen for the group leader's declaration message and the group joining window information.
[0183] In this embodiment, step S4 is specifically as follows:
[0184] S41. For ordinary nodes that have not become candidate group leaders, if they hear the group leader declaration of the target candidate group leader within a preset time (the first half of the preset time window), they will wait for the target candidate group leader determined in the candidate group leader election stage in the first half of the preset time window, that is, they will send a group entry request to the network entry window corresponding to the target candidate group leader selected in step S2 in the preset time.
[0185] S42. For ordinary nodes that have not become candidate group leaders, if they do not hear the group leader declaration of the target candidate group leader within a preset time, the target candidate group leader is suppressed by the competition radius constraint. In the second half, the node selects the group leader with the highest group leader fit value based on the group leader information maintained locally and sends a group entry request.
[0186] S43. After a node sends a request to join a group, it enters a waiting confirmation state. If it receives a confirmation message from the group leader before the confirmation timer expires, the node has successfully joined the corresponding group. If it does not receive a confirmation message before the confirmation timer expires, it will either reselect a group leader or wait for the next round of joining opportunities.
[0187] In summary, this invention constructs one-hop and two-hop neighbor information through periodic interaction of node information, and calculates the swarm leader fit value based on the average corrected neighbor distance, average link survival time, and the optimal degree difference between the two hop nodes. This allows the swarm leader selection process to simultaneously consider node neighbor distribution, link stability, and the degree of matching of potential swarm size. Furthermore, it combines a distributed election mechanism in the FloodMax and FloodMin phases to determine candidate swarm leader nodes and adaptively adjusts the competition radius based on the number of local effective neighbors to suppress overly dense swarm leader distribution within a local area. Nodes that do not become the final swarm leader send a swarm entry request based on the candidate swarm leader declaration and local swarm leader information, and update their node identifier upon receiving a swarm entry confirmation message, thereby forming a UAV swarm structure. Therefore, this invention's method can improve the rationality of swarm leader selection, optimize swarm leader distribution, and form a stable and balanced UAV swarm structure.
[0188] Those skilled in the art will recognize that the embodiments described herein are intended to help the reader understand the principles of the invention, and should be understood that the scope of protection of the invention is not limited to such specific statements and embodiments. Those skilled in the art can make various specific modifications and combinations based on the technical teachings disclosed in this invention without departing from the essence of the invention, and these modifications and combinations are still within the scope of protection of this invention.
Claims
1. A method for swarming unmanned aerial vehicle (UAV) clusters based on swarm head adaptability and adaptive competition radius, the specific steps of which are as follows: S1. Each drone node in the network periodically exchanges node information, constructs a neighbor information table, and calculates the head-of-group fit value of the drone node based on the obtained node information. in, The group head fit value is determined based on the stability of neighbor distribution, link maintenance capability, and the degree of matching of potential group size. S2. Based on step S1, each drone node executes a distributed flood election process, updates the locally recorded group leader fitness value and its corresponding node ID during the propagation process, and determines the candidate group leader node based on the propagation results. The distributed flood election process includes FloodMax and FloodMin phases. Each drone node, based on its local leader fitness value, sequentially executes two rounds of the FloodMax phase and two rounds of the FloodMin phase. Through four rounds of flood iteration, the leader fitness value propagation result within a two-hop range is obtained, and the candidate leader node is determined according to a preset candidate leader determination rule. The determination rule includes: (1) If the fitness value of the head of the group after four rounds of flooding is consistent with its initial fitness value, then the node becomes a candidate head of the group; (2) If the fitness value of the head of the group after four rounds of flooding iterations is inconsistent with its initial fitness value, then it is determined whether the corresponding fitness value of the head of the group appears in both the FloodMax and FloodMin stages. If it appears in both stages, then the node corresponding to the fitness value of the head of the group is determined as a candidate head of the group. If there are multiple nodes that meet the conditions, then the node corresponding to the smaller fitness value of the head of the group is selected as the candidate head of the group. (3) If neither condition (1) nor (2) is satisfied, then the node corresponding to the maximum group head fitness value in the FloodMax phase is selected as the candidate group head; S3. Based on step S2, the candidate group head node determines the competition radius according to the node density, sets a competition timer according to the group head fitness value, and then determines the final group head node based on the competition timer. Wherein, the node density is the number of local effective neighbors; when a candidate group leader node receives a group leader declaration message from another candidate group leader node before the competition timer expires, and the distance between the two candidate group leader nodes is less than the competition radius of the other candidate group leader nodes, the group leader fit values of the two are compared, and the one with the smaller value withdraws from the group leader election, thus determining the final group leader node. S4. Based on step S3, drone nodes that have not become the final group leader node send a group entry request in the corresponding group entry window after hearing the group leader's declaration message, and join the corresponding drone group after receiving the group leader's confirmation message, thus forming a subgroup structure.
2. The UAV swarming method based on swarm head adaptability and adaptive competition radius according to claim 1, characterized in that, The specific steps of S1 are as follows: S11. The drone nodes periodically broadcast Hello packets to exchange node information. The nodes exchange HELLO packets multiple times to ensure that each node obtains sufficient neighbor information and builds a neighbor information table based on the obtained information. The node information obtained from the Hello packet includes: node ID, current location, and speed information. After receiving a Hello packet from a neighboring node, for node information directly received by this node, this node identifies the other drone nodes that sent that node information as one-hop neighbors, establishes a one-hop neighbor information table, and saves the corresponding node information. Then, it sets... One-jump neighbor set The expression is as follows: ; in, Represents a set of network nodes. Represents a node With nodes The distance between them Indicates the node's communication radius; Then, each drone node establishes a two-hop neighbor information table based on the one-hop neighbor information of its neighboring nodes, and saves the corresponding node information; then the node is set. Two-hop neighbor set The expression is as follows: ; in, Represents a node With nodes Communication hop count between; S12. After establishing neighbor information, the node calculates the group head fit value based on the average corrected neighbor distance, average link survival time, and the degree difference between the two hops optimal nodes. S121. Calculate the average corrected neighbor distance; Set Node Average neighbor distance of all its one-hop neighbors The expression is as follows: ; Then, the node communication range is divided into different regions, and nodes are defined. His neighbor jumped Reliability distance function The expression is as follows: ; in, and Represents the distance between the layer boundaries, and satisfies , and Indicates an adjustable parameter; Reset , and Representing distances from nodes lie in , and The number of one-hop neighbors within the range, then the node Reliability distance coefficient The expression is as follows: ; Finally, we obtain the node. Average corrected neighbor distance The expression is as follows: ; S122. Calculate the average link lifetime; Regarding link lifetime, let the node With nodes relative position vector and relative velocity vector The expressions are as follows: ; ; in, Represents a node With nodes position vector, Represents a node With nodes The velocity vector; When node With nodes The distance reaches the communication radius When the link is interrupted, the link lifespan is... The condition expression is as follows: ; when At that time, link lifespan The expression is as follows: ; Then node Average link lifetime The expression is as follows: ; S123. Calculate the optimal node degree difference between two hops; Set Node The degree of a hop node is denoted as The degree of a two-hop node is denoted as ,in: ; Then define the effective two-hop node degree. The expression is as follows: ; in, This indicates the contribution weight of the two-hop neighbor, and ; Then set the total number of network nodes to Then the target group size The expression is set as follows: ; Finally, we obtain the node. Two-hop optimal node degree difference The expression is as follows: ; S124. Calculate the group head fit value; node Group head fit value The expression is as follows: ; in, , and This indicates the weights corresponding to different indicators. This represents a very small positive number that prevents the denominator from being zero.
3. The UAV swarming method based on swarm head adaptability and adaptive competition radius according to claim 2, characterized in that, Step S3 is as follows: S31. The competition radius of the first node of the candidate group is determined based on the node density. Set candidate group leader Competition radius The expression is as follows: ; S32. Set a contention timer based on the group head fit value; Candidate group leader Based on its group leader fit value Set a race timer The expression is as follows: ; in, Indicates the maximum duration of the contention timer. This represents the preset theoretical maximum group head fit value; S33. Determine the final group head node based on a contention timer; If the candidate group leader Received the group head before the contention timer expired. The distance between the group leader's statement message and the message is calculated. If satisfied And nodes The group head fit value is lower than the node The group leader fit value is then the candidate group leader. If a candidate withdraws from the election and becomes a regular node, it will continue to wait for the competition timer to expire. If the competition timer for the candidate group leader expires normally and the candidate has not withdrawn from the election, then the candidate group leader will issue a group leader declaration message and become the final group leader.
4. The UAV swarming method based on swarm head adaptability and adaptive competition radius according to claim 3, characterized in that, Step S4 is as follows: S41. For ordinary nodes that have not become candidate group leaders, if they hear the group leader declaration of the target candidate group leader within a preset time, they will wait for the target candidate group leader determined in the candidate group leader election stage in the first half of the preset time window, that is, they will send the group entry request to the network entry window corresponding to the target candidate group leader selected in step S2 within the preset time. S42. For ordinary nodes that have not become candidate group leaders, if they do not hear the group leader declaration of the target candidate group leader within a preset time, the target candidate group leader is suppressed by the competition radius constraint. In the second half, the node selects the group leader with the highest group leader fit value based on the group leader information maintained locally and sends a group entry request. S43. After a node sends a request to join a group, it enters a waiting confirmation state. If it receives a confirmation message from the group leader before the confirmation timer expires, the node has successfully joined the corresponding group. If it does not receive a confirmation message before the confirmation timer expires, it will either reselect a group leader or wait for the next round of joining opportunities.
