A concurrent mobility control strategy for zoned connectivity restoration

By employing representative node selection based on convex hull, Steiner tree connectivity repair using tangent obstacle avoidance, and concurrent movement control strategies based on virtual potential field method, the problem of information interruption caused by UAV swarm partitioning was solved, and efficient full connectivity recovery of UAV swarm network was achieved.

CN116166042BActive Publication Date: 2026-05-29NANJING UNIV OF AERONAUTICS & ASTRONAUTICS
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NANJING UNIV OF AERONAUTICS & ASTRONAUTICS
Filing Date
2021-11-24
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

When drone swarms are performing missions, terrain obstacles and external interference can cause partitioning and interruption of information transmission, resulting in incomplete information received by base stations and affecting the accuracy of battlefield analysis. Therefore, an effective topology reconstruction method is needed to restore network connectivity.

Method used

By employing a representative node selection strategy based on convex hull, a Steiner tree connectivity repair algorithm with tangent obstacle avoidance, and a concurrent movement control strategy based on virtual potential field method, the network connectivity is restored through calculating partitioned representative nodes, optimizing relay node deployment, and scheduling UAVs.

Benefits of technology

Reducing the number of relay nodes shortens the travel distance of drones and improves the network's resilience to secondary damage and connectivity recovery efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116166042B_ABST
    Figure CN116166042B_ABST
Patent Text Reader

Abstract

The application discloses a kind of concurrent mobile control strategy of partition connectivity recovery.The main idea of the algorithm is to use a kind of convex hull-based steiner tree connectivity obstacle avoidance recovery algorithm and concurrent mobile control strategy based on virtual potential field method to solve the full connectivity recovery problem of unmanned aerial vehicle cluster network.First, according to the "convex hull" and minimum spanning tree, the representative nodes (a partition can have multiple representative nodes) of each unmanned aerial vehicle partition are calculated;Then, the relay unmanned aerial vehicle coordinates when there are obstacles are calculated using the steiner tree method based on "tangent obstacle avoidance";Finally, the unmanned aerial vehicle used for relay is selected through concurrent mobile control strategy, and the scheduling of unmanned aerial vehicle is completed under the action of virtual potential field method, so as to realize full network connectivity.Theoretical analysis and simulation results fully show that the algorithm proposed in this paper can not only effectively reduce the number of relay nodes and improve the secondary survivability of the network, but also effectively reduce the moving distance of unmanned aerial vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of unmanned aerial vehicle (UAV) swarms, and particularly relates to a topology reconstruction method suitable for UAV swarms. Background Technology

[0002] Unmanned aerial vehicle (UAV) swarms are remotely autonomous robotic systems that have found widespread application in border surveillance, public safety, and traffic management. Mission-oriented UAV swarm networks require coordinated action and information exchange among UAVs during mission execution. For example, in battlefield reconnaissance scenarios, due to terrain obstacles and external interference, UAV swarms can fragment, meaning some UAVs lose communication links with the aggregation UAV (used for data transmission to the ground base station). Information from some UAVs fails to reach the aggregation UAV, resulting in incomplete information received by the base station, leading to errors in battlefield analysis and potentially irreparable consequences. Therefore, restoring network connectivity is crucial. This necessitates a novel topology reconstruction method that restores full connectivity to the UAV swarm network while effectively reducing the number of relay nodes, improving network resilience, and minimizing UAV travel distance. Summary of the Invention

[0003] Objective: This invention proposes a concurrent mobility control strategy for partitioned connectivity restoration. The main idea of ​​the algorithm is to solve the full connectivity restoration problem in UAV swarm networks by utilizing a Steiner tree connectivity obstacle avoidance restoration algorithm based on convex hull and a concurrent mobility control strategy based on the virtual potential field method. First, representative nodes for each UAV partition (a partition can have multiple representative nodes) are calculated based on the convex hull and minimum spanning tree. Then, the coordinates of relay UAVs in the presence of obstacles are calculated using the Steiner tree method based on tangent obstacle avoidance. Finally, the concurrent mobility control strategy selects UAVs for relaying, and the scheduling of UAVs is completed under the action of the virtual potential field method, thereby achieving full network connectivity. Theoretical analysis and simulation results fully demonstrate that the proposed algorithm can not only effectively reduce the number of relay nodes and improve the network's secondary resilience, but also effectively reduce the movement distance of UAVs.

[0004] 1. Technical Solution: To achieve the objectives of this invention, the technical solution adopted is: a concurrent movement control strategy for partition connectivity restoration, specifically including the following steps:

[0005] Step 1: The shortcomings of traditional representative node selection strategies were analyzed, and a representative node selection strategy based on convex hull was proposed:

[0006] Each drone periodically broadcasts a heartbeat packet (containing the drone's ID, geographical location, and set of one-hop neighbors) to exchange information with its single-hop neighbors. All drones send their own heartbeat packets to the aggregation drone. The aggregation drone periodically checks whether it has received information from all drones. If, at any given moment, due to obstacles, electronic interference, or excessively long link distances, the aggregation drone misses information from some drones, it can be considered that a network partition has occurred. When a network partition occurs, each drone constructs its own connected dominance set based on the neighbor information collected through heartbeat packet exchanges. The connected dominance set contains all drones in the same partition. Therefore, drones with the same connected dominance set are considered to belong to the same partition. After calculating the drones contained in each partition, the drone with the most remaining energy in each partition uses its onboard computer to determine the "possible" partition representative node for each partition using the Graham scan method. The specific steps of the Graham scan are as follows:

[0007] 1) Based on the coordinate information of the heartbeat packets, the drone with the smallest ordinate in the partition is denoted as P0 as the starting point of the convex hull. At the same time, the coordinates of all drones are translated into a two-dimensional coordinate system with P0 as the origin.

[0008] 2) Calculate the angle of each drone's coordinates relative to the x-axis, and sort the drones in ascending order of their angles. When the angles are the same, the drone closer to the origin is placed first. Assume the sorting result is P1, P2, P6, P7, P5, P8, P3, P9, P4. Based on geometric principles such as convex hulls, the first drone P1 and the last drone P4 after sorting by angle must be points on the convex hull. Since the convex hull of the partition is known to contain drones P0 and P1, first define an empty stack and push drones P0 and P1 onto the stack. Then, retrieve the drone following P1 in the angle sorting, i.e., P2 (the target point). Then, begin searching for the third drone on the cluster's convex hull.

[0009] 3) Connect drone P0 to the top element of the stack, i.e., P1, to obtain line L. Determine whether the target point is on the left or right side of line L. If it is on the right side of the line, proceed to step 4; if it is on the line or on the left side of line L, proceed to step 5.

[0010] 4) If it is on the right side, then the top element P1 of the stack is definitely not a point on the convex hull. Pop the top element from the stack and continue to step 3.

[0011] 5) The target point is a point on the convex hull. Push it onto the stack and continue to step 6.

[0012] 6) Check if the target point P2 is the last element in the ascending angle sorting from step 2. If it is the last element, it means the target point is the last point of the convex hull, so the Graham scan process can end. If it is not the last element, it means there are still elements to be checked, so set the point after P2 as the target point and return to step 3.

[0013] Finally, the elements in the stack are the points on the convex hull of the drone partition, meaning that a partition "may" represent a node.

[0014] After obtaining the convex hull of each partition, the points on the convex hull are the representative nodes of the "possible" partitions. Next, the final representative node is selected from all the "possible" representative nodes. A minimum spanning tree is generated using any node from all the "possible" representative nodes on the convex hull as the starting node. The set of node numbers in the minimum spanning tree is denoted as T, representing the set of representative nodes for all partitions.

[0015] Step 2: Steiner Tree Connectivity Repair Algorithm Based on Tangent Obstacle Avoidance

[0016] 1) Tangent obstacle avoidance algorithm

[0017] In complex environments such as battlefields and mountainous areas, obstacles cannot be ignored. Therefore, achieving connectivity and obstacle avoidance restoration with minimal cost is crucial. This paper employs a tangent-based obstacle avoidance algorithm. In practice, the positional relationship between an obstacle (taking a cylinder as an example) and the UAV relay deployment link can be categorized into three types: disjoint, tangent, and intersecting. When the obstacle is disjoint or tangent, obstacle avoidance is not required for the UAV relay deployment link. However, when the obstacle intersects with the UAV relay deployment link, the tangent obstacle avoidance algorithm is necessary. The specific method is as follows: Assume there is an obstacle C in the relay deployment link between points A and B. Let the center of the obstacle be O. First, find the points of tangency between points A and B and circle O on the same side of the center of the circle containing line segment AB, denoted as P1 and P2. This represents the shortest relay node deployment link between UAVs A and B. Next, we only need to deploy relay UAVs along the relay node link according to the UAVs' communication radius r. First, deploy the UAVs on the AP1 and BP2 segments at a distance equal to the communication radius r. Then, deploy the UAVs along the arc of circle O. Deploy relay drones in the same manner;

[0018] 2) Steiner Tree Connectivity Obstacle Avoidance and Repair Algorithm

[0019] For the same topology and obstacle conditions, we first constructed quadrilateral and triangular Steiner trees using the tangent obstacle avoidance algorithm. Then, we performed performance analysis on the two Steiner trees, verifying that the quadrilateral Steiner tree connectivity obstacle avoidance and repair algorithm outperforms the traditional one.

[0020] Steiner points of quadrilaterals: Suppose there is a nondegenerate quadrilateral ABCD. Find the two sides AD and BC that correspond to opposite angles α less than 90°. Construct equilateral triangles ADE and BCF outward from AD and BC, and connect the other two vertices E and F of the two equilateral triangles. Finally, construct the circumcircles of equilateral triangles ADE and BCF respectively, which intersect line segment EF at points S1 and S2 respectively. Then S1 and S2 are the Steiner points of quadrilaterals.

[0021] Steiner's point in triangles: Suppose we have a nondegenerate triangle ACD. Construct equilateral triangles outward from sides AD and CD (any two sides are acceptable), obtaining triangles ADE and CDF. Then, construct the circumcircles of these two equilateral triangles. The intersection point S of the two circumcircles inside the triangles is the Steiner's point. The following explains how to calculate the Steiner's point, using S1 in a nondegenerate quadrilateral ABCD as an example: Let the coordinates of points A and B be (x, y, y). A y A ), (x B y B First, calculate the slope of the line containing line segment AB. Therefore, the angle between the lines containing AB is denoted as .

[0022] α = tan -1 k (3.1)

[0023] Let the distance between points A and B be .

[0024]

[0025] Given the coordinates of points A and B in an equilateral triangle, the formula for calculating the coordinates of the third point E is:

[0026]

[0027] Since finding the third point given two points of an equilateral triangle will result in two solutions, we need to choose the solution that is farther from line segment CD, denoted as (x...). E y E ),

[0028] The coordinates of the circumcenter of the equilateral triangle are

[0029]

[0030] The radius of the circumcircle is denoted as

[0031]

[0032] The standard equation of the circumcircle O is

[0033] (x-x0) 2 +(y-y0)2 =r o 2 (3.6)

[0034] Let the equation of the line containing line segment EF be:

[0035] y = k EF x+b EF (3.7)

[0036] Solving equations (3.6) and (3.7) simultaneously yields the intersection point of line EF and circle O (two solutions). One solution is point E, and the other is Steiner point S1. The calculation of the other Steiner point S2 in the quadrilateral Steiner tree and the Steiner point in the triangle can be done similarly. The formulas for calculating the number of relay nodes and the average node degree in the quadrilateral and triangle Steiner trees are as follows (let N be the number of relay nodes required in the quadrilateral and triangle Steiner trees respectively). Q and N T The average node degree is A Q and A T ):

[0037]

[0038] Calculations based on specific examples show that, under the same conditions, quadrilateral Steiner trees can restore connectivity with fewer relay nodes and a higher average node degree compared to triangular Steiner trees. Therefore, this paper prioritizes the quadrilateral Steiner tree algorithm and uses the triangular Steiner tree algorithm when no suitable quadrilateral is available.

[0039] Step 3: Concurrent Movement Control Strategy Based on Virtual Potential Field Method

[0040] For task-oriented UAV swarm networks, connectivity restoration time and overhead are two particularly important metrics. Therefore, based on the relay node coordinates calculated above, a concurrent mobility control strategy based on the virtual potential field method is proposed: According to node degree and movement distance, suitable UAVs are selected from non-representative node UAVs, and then the virtual potential field method is used to schedule the selected UAVs to reach the designated relay node position, thereby achieving full network connectivity restoration.

[0041] Set C: Coordinates of all relay nodes calculated using the Steiner tree-based tangent obstacle avoidance algorithm; Set I: Node degree, drone number, and coordinates collected from all drones via heartbeat packets, denoted as set D. As mentioned above, set T contains partitions representing drone number information. All drone number-related information from T in D is deleted. Let I = DT, where I stores the drone number, coordinates, and node degree information available for scheduling.

[0042] f(C i Ij )=λ1*E ij +λ2*I j (3.9)

[0043] Among them, E ij I represents the Eulerian distance between the coordinates of relay node i and the coordinates of the UAV numbered j that can be scheduled. j Let λj represent the node degree of the drone available for scheduling, and λ1 and λ2 be the distance weight and node degree weight coefficients, respectively. In different task scenarios, the optimal choice for drone scheduling can be made by changing λ1 and λ2, i.e.:

[0044]

[0045] Drone dispatching steps:

[0046] (1) Initialize all drones in I to be usable (can be scheduled), define an empty stack S, and push the coordinates of all relay nodes in set C onto the stack.

[0047] (2) Select the top element of the stack, denoted as S. top Next, select all (usable) drones j from set I, and calculate their f(C) sequentially. i I j )=λ1*E ij +λ2*I j Finally, find the minimum f(C) i I j Therefore, the drone numbered j is the relay node S. top The corresponding scheduling drones are then marked as unusable (unschedulable) in I, and the top element of stack S is popped from the stack.

[0048] (3) Check if stack S is empty: If it is, it means that all relay nodes have found the corresponding relay drone, so proceed to step 4; otherwise, it means that there are still relay nodes that have not matched the corresponding scheduled drone, so proceed to step 2.

[0049] (4) After obtaining the coordinates of each relay node and the UAV used for scheduling, the coordinates of the UAV used for scheduling are set as the starting point and the coordinates of the relay node are set as the ending point. Under the action of the virtual potential field method, the UAV can be driven to move towards the coordinates of the relay node and finally reach the relay node to realize the network connectivity restoration.

[0050] Beneficial effects: Compared with the prior art, the present invention has significant advantages:

[0051] (1) The representative node selection strategy based on convex hull proposed in this invention can make full use of the original network nodes to reduce the length of the relay link, thereby effectively avoiding the deployment of redundant relay nodes.

[0052] (2) The Steiner tree connectivity repair algorithm based on tangent obstacle avoidance proposed in this invention adds consideration of obstacles on the basis of the traditional Steiner tree algorithm, so that obstacle avoidance can be effectively performed.

[0053] (3) This invention proposes a concurrent mobility control strategy based on the virtual potential field method. This strategy uses the virtual potential field method to select UAVs for mobility control based on node degree and mobility distance to restore connectivity, thereby reducing the overhead and time of adding additional UAVs. Attached Figure Description

[0054] Figure 1 This is a schematic diagram of the relative coordinates of the drone partitions;

[0055] Figure 2 This is a flowchart of the process for selecting the representative node for the partition;

[0056] Figure 3 This is a schematic diagram of the tangent obstacle avoidance algorithm;

[0057] Figure 4 This is a schematic diagram of the quadrilateral Steiner tree connectivity obstacle avoidance and repair algorithm;

[0058] Figure 5 This is a schematic diagram of the triangle Steiner tree connectivity obstacle avoidance and repair algorithm;

[0059] Figure 6 This is a flowchart of the Steiner tree connectivity obstacle avoidance and repair algorithm; Detailed Implementation

[0060] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments.

[0061] The concurrent movement control strategy for partitioned connectivity restoration proposed in this invention has been implemented in MATLAB. Simulation results verify the superiority of this scheme. The specific implementation steps of this invention are given below:

[0062] Step 1: The shortcomings of traditional representative node selection strategies were analyzed, and a representative node selection strategy based on convex hull was proposed. The specific analysis is as follows:

[0063] Each drone periodically broadcasts a heartbeat packet (containing the drone's ID, geographical location, and set of one-hop neighbors) to exchange information with its single-hop neighbors. All drones send their own heartbeat packets to the aggregation drone. The aggregation drone periodically checks whether it has received information from all drones. If, at any given moment, due to obstacles, electronic interference, or excessively long link distances, the aggregation drone misses information from some drones, it can be considered that a network partition has occurred. When a network partition occurs, each drone constructs its own connected dominance set based on the neighbor information collected through heartbeat packet exchanges. The connected dominance set contains all drones in the same partition. Therefore, drones with the same connected dominance set are considered to belong to the same partition. After calculating the drones contained in each partition, the drone with the most remaining energy in each partition uses its onboard computer to determine the "possible" partition representative node for each partition using the Graham scan method. The specific steps of the Graham scan are as follows:

[0064] 1) Based on the coordinate information of the heartbeat packet, take the drone with the smallest ordinate in the partition as the starting point of the convex hull, such as... Figure 1 P0 in the equation. At the same time, the coordinates of all UAVs are translated into a two-dimensional coordinate system with P0 as the origin.

[0065] 2) Calculate the angle of each drone's coordinates relative to the x-axis, and sort the drones in ascending order of their angles. When the angles are the same, the drone closer to the origin is placed first. For example... Figure 1 The result of sorting by angle is P1, P2, P6, P7, P5, P8, P3, P9, P4. Based on geometric principles such as the convex hull, we know that the first drone P1 and the last drone P4 after sorting by angle must be points on the convex hull. Since the convex hull of the known partition contains drones P0 and P1, we first define an empty stack and push drones P0 and P1 onto the stack. Then, we retrieve the drone following P1 in the angle-sorted sequence, namely P2 (the target point). Finally, we begin searching for the third drone on the cluster's convex hull.

[0066] 3) Connect drone P0 to the top element of the stack, i.e., P1, to obtain line L. Determine whether the target point is on the left or right side of line L. If it is on the right side of the line, proceed to step 4; if it is on the line or on the left side of line L, proceed to step 5.

[0067] 4) If it is on the right side, then the top element P1 of the stack is definitely not a point on the convex hull. Pop the top element from the stack and continue to step 3.

[0068] 5) The target point is a point on the convex hull. Push it onto the stack and continue to step 6.

[0069] 6) Check if the target point P2 is the last element in the ascending angle sorting from step 2. If it is the last element, it means the target point is the last point of the convex hull, so the Graham scan process can end. If it is not the last element, it means there are still elements to be checked, so set the point after P2 as the target point and return to step 3.

[0070] Finally, the elements in the stack are the points on the convex hull of the drone partition, meaning that a partition "may" represent a node.

[0071] After obtaining the convex hull of each partition, the points on the convex hull are the representative nodes of the "possible" partitions. Next, the final representative node is selected from all the "possible" representative nodes. A minimum spanning tree is generated using any node from the "possible" representative nodes on the convex hull as the starting node. The set of node numbers in the minimum spanning tree is denoted as T, representing the set of representative nodes for all partitions. In summary, the flowchart for selecting the partition representative node is as follows: Figure 2 As shown.

[0072] Step 2: Steiner Tree Connectivity Repair Algorithm Based on Tangent Obstacle Avoidance

[0073] 1) Tangent obstacle avoidance algorithm

[0074] In complex environments such as battlefields and mountainous areas, obstacles cannot be ignored. Therefore, achieving connectivity obstacle avoidance and restoration with minimal cost is crucial. This paper employs a tangent-based obstacle avoidance algorithm. In practice, the positional relationship between obstacles (taking cylinders as an example) and the UAV relay deployment link mainly falls into three categories, such as... Figure 3 As shown.

[0075] (a) The obstacle is not connected to the relay node deployment link of the UAV, so obstacle avoidance does not need to be considered.

[0076] (b) The obstacle is tangent to the relay node deployment link of the UAV, therefore obstacle avoidance does not need to be considered.

[0077] (c) The obstacle intersects with the relay node deployment link of the UAV. Therefore, it is necessary to consider the shortest line segment between the two obstacle avoidance points. However, since there is a circular obstacle between the two points, the relay node deployment link needs to be divided into two tangent segments and a circular arc. The total link length is the shortest at this time, so the number of relay UAVs that need to be deployed is also the fewest.

[0078] The specific method is as follows: Assume there is an obstacle C in the relay deployment link between points A and B. Let the center of the obstacle be O. First, find the points of tangency between points A and B and circle O on the same side of the center of the circle containing line segment AB, and denote them as P1 and P2. This refers to the shortest relay node deployment link between drones A and B. Next, we only need to deploy relay drones along the relay node link according to the drones' communication radius *r*. First, deploy drones along the AP1 and BP2 segments at a distance equal to the communication radius *r*, such as... Figure 3 As shown by the red dot, the relay drone is then deployed along the arc P1P2 on the circumference of circle O in the same manner.

[0079] 2) Steiner Tree Connectivity Obstacle Avoidance and Repair Algorithm

[0080] For the same topology and obstacle conditions, we first constructed quadrilateral and triangular Steiner trees using the tangent obstacle avoidance algorithm. Then, we performed performance analysis on the two Steiner trees, verifying that the quadrilateral Steiner tree connectivity obstacle avoidance and repair algorithm outperforms the traditional one.

[0081] Quadrilateral Steiner point: Figure 4 Quadrilateral ABCD is a non-degenerate convex quadrilateral. Find the two sides AD and BC corresponding to opposite angles α less than 90°. Construct equilateral triangles ADE and BCF outward from AD and BC, and connect the other two vertices E and F of the two equilateral triangles. Finally, construct the circumcircles of equilateral triangles ADE and BCF respectively, intersecting line segment EF at points S1 and S2. Then S1 and S2 are the Steiner points of quadrilateral ABCD. Figure 4 As shown in (a). Figure 4 (b) in Figure 4 Two obstacles (green circles) have been added to (a) as a basis, and the relay node is as follows: Figure 4 As shown by the red dot.

[0082] Steiner point of triangle: such as Figure 5 Triangle ACD is a non-degenerate triangle. Construct equilateral triangles outwards along sides AD and CD (any two sides are acceptable), resulting in triangles ADE and CDF. Then, construct the circumcircles of these two equilateral triangles. The intersection point S of these two circumcircles inside the triangles is the Steiner point. Figure 5 As shown in (a). Figure 5 (b) in Figure 5 Two obstacles (green circles) have been added to (a) as a basis, and the relay node is as follows: Figure 5 As shown by the red dot.

[0083] Next, we will introduce how to calculate the Steiner point, taking S1 in a nondegenerate quadrilateral ABCD as an example: Let the coordinates of points A and B be (x, y, y). A y A ), (x B y B First, calculate the slope of the line containing line segment AB. Therefore, the angle between the lines containing AB is denoted as .

[0084] α = tan -1 k (3.1)

[0085] Let the distance between points A and B be .

[0086]

[0087] Given the coordinates of points A and B in an equilateral triangle, the formula for calculating the coordinates of the third point E is:

[0088]

[0089] Since finding the third point given two points of an equilateral triangle will result in two solutions, we need to choose the solution that is farther from line segment CD, denoted as (x...). E y E ),

[0090] The coordinates of the circumcenter of the equilateral triangle are

[0091]

[0092] The radius of the circumcircle is denoted as

[0093] The standard equation of the circumcircle O is

[0094] (x-x0) 2 +(y-y0) 2 =r o 2 (3.6) Let the equation of the line containing line segment EF be:

[0095] y = k EF x+b EF (3.7) Combining equations (3.6) and (3.7), we can find the intersection point of line EF and circle O (two solutions). One solution is point E, and the other is Steiner point S1. The calculation of the other Steiner point S2 of the quadrilateral Steiner tree and the Steiner point of the triangle can be obtained similarly. The formulas for calculating the number of relay nodes and the average node degree of the quadrilateral and triangle Steiner trees are as follows (let N be the number of relay nodes required in the quadrilateral and triangle Steiner trees respectively). Q and N T The average node degree is A Q and A T ):

[0096]

[0097] Calculations based on specific examples show that, under the same conditions, quadrilateral Steiner trees can restore connectivity with fewer relay nodes and a higher average node degree compared to triangular Steiner trees. Therefore, this paper prioritizes the quadrilateral Steiner tree algorithm and uses the triangular Steiner tree algorithm when no suitable quadrilateral is available.

[0098] The algorithm proposed in this paper is as follows: Figure 6 As shown. First, the quadrilateral Steiner tree algorithm is used to achieve connectivity. If there are still unconnected nodes in set U, the triangular Steiner tree algorithm is used to achieve connectivity. If full connectivity has been achieved at this point, the algorithm ends; otherwise, there must be one node that is not connected. Therefore, it is only necessary to select the nearest node from the connected nodes and connect the two to achieve full connectivity. It should be noted that when implementing the quadrilateral and triangular Steiner tree algorithms, it is necessary to additionally determine whether there are obstacles between Steiner points. If there are no obstacles, relay nodes can be deployed directly; otherwise, the tangent obstacle avoidance algorithm is needed to implement obstacle avoidance deployment of relay nodes.

[0099] Step 3: Concurrent Movement Control Strategy Based on Virtual Potential Field Method

[0100] For task-oriented UAV swarm networks, connectivity restoration time and overhead are two particularly important metrics. Therefore, based on the relay node coordinates calculated above, a concurrent mobility control strategy based on the virtual potential field method is proposed: According to node degree and movement distance, suitable UAVs are selected from non-representative node UAVs, and then the virtual potential field method is used to schedule the selected UAVs to reach the designated relay node position, thereby achieving full network connectivity restoration.

[0101] Set C: Coordinates of all relay nodes calculated using the Steiner tree-based tangent obstacle avoidance algorithm; Set I: Node degree, drone number, and coordinates collected from all drones via heartbeat packets, denoted as set D. As mentioned above, set T contains partitions representing drone number information. All drone number-related information from T in D is deleted. Let I = DT, where I stores the drone number, coordinates, and node degree information available for scheduling.

[0102] f(C i I j )=λ1*E ij +λ2*I j (3.9)

[0103] Among them, E ij I represents the Eulerian distance between the coordinates of relay node i and the coordinates of the UAV numbered j that can be scheduled. jLet λj represent the node degree of the drone available for scheduling, and λ1 and λ2 be the distance weight and node degree weight coefficients, respectively. In different task scenarios, the optimal choice for drone scheduling can be made by changing λ1 and λ2, i.e.:

[0104]

[0105] Drone dispatching steps:

[0106] (1) Initialize all drones in I to be usable (can be scheduled), define an empty stack S, and push the coordinates of all relay nodes in set C onto the stack.

[0107] (2) Select the top element of the stack, denoted as S. top Next, select all (usable) drones j from set I, and calculate their f(C) sequentially. i I j )=λ1*E ij +λ2*I j Finally, find the minimum f(C) i I j Therefore, the drone numbered j is the relay node S. top The corresponding scheduling drones are then marked as unusable (unschedulable) in I, and the top element of stack S is popped from the stack.

[0108] (3) Check if stack S is empty: If it is, it means that all relay nodes have found the corresponding relay drone, so proceed to step 4; otherwise, it means that there are still relay nodes that have not matched the corresponding scheduled drone, so proceed to step 2.

[0109] (4) After obtaining the coordinates of each relay node and the UAV used for scheduling, the coordinates of the UAV used for scheduling are set as the starting point and the coordinates of the relay node are set as the ending point. Under the action of the virtual potential field method, the UAV can be driven to move towards the coordinates of the relay node and finally reach the relay node to realize the network connectivity restoration.

Claims

1. A concurrent movement control strategy for partition connectivity restoration, specifically including the following steps: Step 1: The shortcomings of traditional representative node selection strategies were analyzed, and a representative node selection strategy based on convex hull was proposed: Each drone periodically broadcasts a heartbeat packet (containing the drone's ID, geographical location, and set of one-hop neighbors) to exchange information with its single-hop neighbors. All drones send their own heartbeat packets to the aggregation drone. The aggregation drone periodically checks whether it has received information from all drones. If, at any given moment, due to obstacles, electronic interference, or excessively long link distances, the aggregation drone misses information from some drones, it can be considered that a network partition has occurred. When a network partition occurs, each drone constructs its own connected dominance set based on the neighbor information collected through heartbeat packet exchanges. The connected dominance set contains all drones in the same partition. Therefore, drones with the same connected dominance set are considered to belong to the same partition. After calculating the drones contained in each partition, the drone with the most remaining energy in each partition uses its onboard computer to determine the "possible" partition representative node for each partition using the Graham scan method. The specific steps of the Graham scan are as follows: 1) Based on the coordinate information of the heartbeat packets, the drone with the smallest ordinate in the partition is denoted as P0 as the starting point of the convex hull. At the same time, the coordinates of all drones are translated into a two-dimensional coordinate system with P0 as the origin. 2) Calculate the angle of each drone's coordinates relative to the x-axis, and sort the drones in ascending order of their angles. When the angles are the same, the drone closer to the origin is placed first. Assume the sorting result is P1, P2, P6, P7, P5, P8, P3, P9, P4. Based on geometric principles such as convex hulls, the first drone P1 and the last drone P4 after sorting by angle must be points on the convex hull. Since the convex hull of the partition is known to contain drones P0 and P1, first define an empty stack and push drones P0 and P1 onto the stack. Then, retrieve the drone following P1 in the angle sorting, i.e., P2 (the target point). Then, begin searching for the third drone on the cluster's convex hull. 3) Connect drone P0 to the top element of the stack, i.e., P1, to obtain line L. Determine whether the target point is on the left or right side of line L. If it is on the right side of the line, proceed to step 4; if it is on the line or on the left side of line L, proceed to step 5. 4) If it is on the right side, then the top element P1 of the stack is definitely not a point on the convex hull. Pop the top element from the stack and continue to execute step 3. 5) The target point is a point on the convex hull. Push it onto the stack and continue to step 6. 6) Check if the target point P2 is the last element in the ascending angle sorting from step 2. If it is the last element, it means the target point is the last point of the convex hull, so the Graham scan process can end. If it is not the last element, it means there are still elements to be checked, so set the point after P2 as the target point and return to step 3. Finally, the elements in the stack are the points on the convex hull of the drone partition, meaning that a partition "may" represent a node. After obtaining the convex hull of each partition, the points on the convex hull are the representative nodes of the "possible" partitions. Next, the final representative node is selected from all the "possible" representative nodes. A minimum spanning tree is generated using any node from all the "possible" representative nodes on the convex hull as the starting node. The set of node numbers in the minimum spanning tree is denoted as T, representing the set of representative nodes for all partitions. Step 2: Steiner Tree Connectivity Repair Algorithm Based on Tangent Obstacle Avoidance 1) Tangent obstacle avoidance algorithm In complex environments such as battlefields and mountainous areas, obstacles cannot be ignored. Therefore, achieving connectivity restoration through obstacle avoidance with minimal cost is crucial. This paper employs a tangent-based obstacle avoidance algorithm. In practice, the positional relationship between an obstacle (taking a cylinder as an example) and the UAV relay deployment link can be categorized into three types: disjoint, tangent, and intersecting. When the obstacle is disjoint or tangent, obstacle avoidance is not required for the UAV relay deployment link. However, when the obstacle intersects with the UAV relay deployment link, the tangent obstacle avoidance algorithm is necessary. The specific method is as follows: Assume there is an obstacle C in the relay deployment link between points A and B. Let the center of the obstacle be O. First, find the tangent points between points A and B and circle O on the same side of the center of the circle containing line segment AB, denoted as P1 and P2. This represents the shortest relay node deployment link between UAVs A and B. Next, we only need to deploy relay UAVs along the relay node link according to the UAVs' communication radius r. First, deploy the UAVs on the AP1 and BP2 segments at a distance equal to the communication radius r. Then, deploy the UAVs along the arc of circle O. Deploy relay drones in the same manner; 2) Steiner Tree Connectivity Obstacle Avoidance and Repair Algorithm For the same topology and obstacle conditions, we first constructed quadrilateral and triangular Steiner trees using the tangent obstacle avoidance algorithm. Then, we performed performance analysis on the two Steiner trees, verifying that the quadrilateral Steiner tree connectivity obstacle avoidance and repair algorithm outperforms the traditional one. Steiner points of quadrilaterals: Suppose there is a nondegenerate quadrilateral ABCD. Find the two sides AD and BC that correspond to opposite angles α less than 90°. Construct equilateral triangles ADE and BCF outward from AD and BC, and connect the other two vertices E and F of the two equilateral triangles. Finally, construct the circumcircles of equilateral triangles ADE and BCF respectively, which intersect line segment EF at points S1 and S2 respectively. Then S1 and S2 are the Steiner points of quadrilaterals. Steiner's point in triangles: Suppose we have a nondegenerate triangle ACD. Construct equilateral triangles outward from sides AD and CD (any two sides are acceptable), obtaining triangles ADE and CDF. Then, construct the circumcircles of these two equilateral triangles. The intersection point S of the two circumcircles inside the triangles is the Steiner's point. The following explains how to calculate the Steiner's point, using S1 in a nondegenerate quadrilateral ABCD as an example: Let the coordinates of points A and B be (x, y, y). A y A ), (x B y B First, calculate the slope of the line containing line segment AB. Therefore, the angle between the lines containing AB is denoted as . α=tan -1 k (3.1) Let the distance between points A and B be . Given the coordinates of points A and B in an equilateral triangle, the formula for calculating the coordinates of the third point E is: Since finding the third point given two points of an equilateral triangle will result in two solutions, we need to choose the solution that is farther from line segment CD, denoted as (x...). E y E ), The coordinates of the circumcenter of the equilateral triangle are The radius of the circumcircle is denoted as The standard equation of the circumcircle O is (x-x0) 2 +(y-y0) 2 =r o 2 (3.6) Let the equation of the line containing line segment EF be y = k. EF x+b EF (3.7) Solving equations (3.6) and (3.7) simultaneously yields the intersection point of line EF and circle O (two solutions). One solution is point E, and the other is Steiner point S1. The calculation of the other Steiner point S2 in the quadrilateral Steiner tree and the Steiner point in the triangle can be obtained similarly. The formulas for calculating the number of relay nodes and the average node degree in quadrilateral and triangular Steiner trees are as follows (let N be the number of relay nodes required in the quadrilateral and triangular Steiner trees respectively). Q and N T The average node degree is A Q and A T ): Calculations based on specific examples show that, under the same conditions, quadrilateral Steiner trees can restore connectivity with fewer relay nodes and a higher average node degree compared to triangular Steiner trees. Therefore, this paper prioritizes the quadrilateral Steiner tree algorithm and uses the triangular Steiner tree algorithm when no suitable quadrilateral is available. Step 3: Concurrent Movement Control Strategy Based on Virtual Potential Field Method For task-oriented UAV swarm networks, connectivity restoration time and overhead are two particularly important metrics. Therefore, based on the relay node coordinates calculated in step 2, a concurrent mobility control strategy based on the virtual potential field method is proposed: According to node degree and movement distance, suitable UAVs are selected from non-representative node UAVs, and then the virtual potential field method is used to schedule the selected UAVs to reach the designated relay node position, thereby achieving full network connectivity restoration. Set C: Coordinates of all relay nodes calculated using the Steiner tree-based tangent obstacle avoidance algorithm; Set I: Node degree, drone number, and coordinates collected from all drones via heartbeat packets, denoted as set D. As mentioned above, set T contains partitions representing drone number information. All drone number-related information from T in D is deleted. Let I = DT, where I stores the drone number, coordinates, and node degree information available for scheduling. f(C i ,I j )=λ1*E ij +λ2*I j (3.9) Among them, E ij I represents the Eulerian distance between the coordinates of relay node i and the coordinates of the UAV numbered j that can be scheduled. j Let λj represent the node degree of the drone available for scheduling, and λ1 and λ2 be the distance weight and node degree weight coefficients, respectively. In different task scenarios, the optimal choice for drone scheduling can be made by changing λ1 and λ2, i.e.: Drone dispatching steps: (1) Initialize all drones in I to be usable (can be scheduled), define an empty stack S, and push the coordinates of all relay nodes in set C onto the stack. (2) Select the top element of the stack, denoted as S. top Next, select all (usable) drones j from set I, and calculate their f(C) sequentially. i I j )=λ1*E ij +λ2*I j Finally, calculate minf(C) i I j Therefore, the drone numbered j is the relay node S. top The corresponding scheduling drones are then marked as unusable (unschedulable) in I, and the top element of stack S is popped from the stack. (3) Check if stack S is empty: If it is, it means that all relay nodes have found the corresponding relay drone, so proceed to step 4; otherwise, it means that there are still relay nodes that have not matched the corresponding scheduled drone, so proceed to step 2. (4) After obtaining the coordinates of each relay node and the UAV used for scheduling, the coordinates of the UAV used for scheduling are set as the starting point and the coordinates of the relay node are set as the ending point. Under the action of the virtual potential field method, the UAV can be driven to move towards the coordinates of the relay node and finally reach the coordinates of the relay node to realize the restoration of network connectivity.

Citation Information

Patent Citations

  • Unmanned aerial vehicle route planning algorithm based on polygonal obstacle detection

    CN107478231A

  • Obstacle avoidance method and system of UAV formation under time-varying network topology

    CN107491086A