Unmanned aerial vehicle cluster adaptive communication method, system and program product

By adopting an angle detection mechanism and weight compression mechanism in the drone cluster, the problems of single point failure risk and network topology changes in the communication of the drone cluster are solved, and efficient and reliable communication is achieved.

CN120239121AInactive Publication Date: 2025-07-01成都流体动力创新中心

Patent Information

Application Number
CN202510694811.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-28
Publication Date
2025-07-01
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The efficient collaborative communication of drone clusters in complex dynamic environments faces the risk of single point of failure and the difficulty in adapting to changes in large-scale cluster network topology.

Method used

An angle detection mechanism and weight compression mechanism are adopted to create a target drone to communicate with a limited number of multi-node drones, double screening of communication range and number of paths, and compress and optimize multi-node information.

Benefits of technology

Reduce communication pressure, improve communication reliability, and ensure efficient collaborative communication of drone clusters in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120239121A_ABST
    Figure CN120239121A_ABST
Patent Text Reader

Abstract

The invention relates to the field of unmanned aerial vehicle communication, in particular to an unmanned aerial vehicle cluster adaptive communication method, system and program product. The method comprises the following steps: S101, judging whether a target unmanned aerial vehicle # imgabs0 # triggers communication or not; the unmanned aerial vehicle is provided with a data buffer area for storing information of adjacent unmanned aerial vehicles; if yes, executing the following steps: S102, selecting a first adjacent unmanned aerial vehicle # imgabs1 # from the adjacent unmanned aerial vehicles; s103, judging whether communication connection needs to be established between the target unmanned aerial vehicle and the first adjacent unmanned aerial vehicle # imgabS2 # or not by adopting an angle detection mechanism; and S102 to S103 are repeated, the adjacent unmanned aerial vehicles are traversed, and communication mapping matrixes # imgabs3 # and # imgabs4 # are formed according to corresponding traversal results and are used for representing communication connection states between the target unmanned aerial vehicle and the corresponding adjacent unmanned aerial vehicles. According to the method, the validity can be verified on a semi-physical simulation system, and the optimal interaction opportunity decision can be accurately determined, so that the data interaction content and the communication time delay are reduced, and the network stability is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of unmanned aerial vehicle (UAV) communication, and particularly to an adaptive communication method, system and program product for UAV clusters. Background Art

[0002] In recent years, with the rapid development of UAV technology, the application of UAV clusters has become increasingly widespread in fields such as disaster relief, logistics distribution, and environmental detection.

[0003] For example, patent application CN118450403A discloses a four-network fusion architecture for an unmanned cluster system. In this patent, the computing power network, perception network, decision-making network, and communication network are fused to enhance the ability of the UAV cluster platform to operate the cluster system, and a distributed heterogeneous framework is established. Another example is that patent application CN119002289A discloses an adaptive cooperative control method for a heterogeneous unmanned cluster system under weak information interaction. The method includes: pre-establishing a heterogeneous unmanned cluster system model including the dynamic models of the leader and several followers respectively, and designing a cooperative control method based on the follower state and local error; for each follower, during the non-trigger period, estimating the follower state through an open-loop estimator to obtain the state estimation error and local estimation error, and triggering data transmission when the state estimation error and local estimation error meet the event trigger condition; designing an adaptive law based on the follower state, local tracking error, and local estimation error, and dynamically adjusting the feedback gain and coupling gain of the controller according to the adaptive law. Still another example is that CN117873170A discloses an event-triggered distributed UAV coordinated formation control method and system. The method includes: measuring and recording the state information of the initialized UAVs, and determining the communication topology of the UAV system according to the communication range; using a fast community detection algorithm and a graph data structure, hierarchically clustering and segmenting the community structure, dividing the UAVs into different levels according to certain criteria, building a cascaded multi-leader structure of the system, and giving the control law; deriving the event trigger condition based on the cascaded multi-leader structure of the system; each UAV samples its own state information at each moment, updates the target state and communicates with each other according to the cascaded multi-leader structure and the corresponding control law, and controls the update and communication frequency through the event trigger mechanism.

[0004] However, the efficient cooperation of UAV clusters in complex dynamic environments still faces many technical challenges. In particular, the applicant notices that traditional communication methods are difficult to break away from the centralized communication mode, that is, relying on a central node, which is very prone to the risk of single-point failure and difficult to adapt to the network topology changes of large-scale clusters.

[0005] Therefore, there is an urgent need for a UAV communication method that can reduce communication pressure and improve communication reliability. Summary of the Invention

[0006] The purpose of the present invention is to provide an adaptive communication method for an unmanned aerial vehicle (UAV) cluster, which can partially solve or alleviate the above deficiencies in the prior art, reduce communication pressure, and ensure communication quality.

[0007] To solve the above-mentioned technical problems, the present invention specifically adopts the following technical solutions: In a first aspect of the present invention, there is an adaptive communication method for an unmanned aerial vehicle (UAV) cluster, where a target UAV (or simply referred to as: the target UAV) stores information of adjacent UAVs. When the target UAV triggers communication, the following steps are executed: S102, select adjacent UAVs from the adjacent UAVs ; S103, use an angle detection mechanism to determine whether a communication connection needs to be established between the target UAV and the adjacent UAV ; where S103 includes: S1031, select adjacent UAVs from the adjacent UAVs ; S1032, obtain the position matrices of the adjacent UAV and the adjacent UAV ; S1033, obtain the detection angle formed by sequentially connecting the target UAV , the adjacent UAV and the adjacent UAV ; S1034, determine whether the detection angle is greater than a set angle; When the result of S1034 is yes, then execute the following steps: S1035, increment the communication index by 1; S1036, continue to select a new adjacent UAV , and return to step S1032. After traversing all the adjacent UAVs, output the value of the current communication index; When the result of S1034 is no, then execute the following steps: S1037, determine whether the product of the vector and the vector is a zero vector; if so, enter step S1035. If not, the communication index is not incremented, and the value of the current communication index is output; S1038, determine whether the communication index meets the communication rule, and the communication rule includes: ; where is the communication index; S1039, when the result of S1038 is yes, it is considered that a communication connection can be established between the target UAV and the adjacent UAV ; S10310. Repeat S102 - S103 to traverse all adjacent drones, and form a communication mapping matrix according to the corresponding traversal results. , where , where is used to represent the communication connection status between the target drone and the adjacent drone.

[0008] In some embodiments, the calculation process of the detection angle is as follows: ; ; ; ; where is the abscissa of the drone ; is the ordinate of the drone ; is the flight altitude of the target drone .

[0009] In some embodiments, when a communication connection can be established between the target drone and an adjacent drone , record ; otherwise record .

[0010] In some embodiments, the drone is configured with a transmitter and a receiver. The transmitter is used to encode the feature information of the drone, and the receiver is used to decode the received information. Correspondingly, the method further includes: S104. Compress the feature information using a weight compression mechanism. Wherein, S104 includes: S1041. Convert the feature information into multiple strings; S1042. Count the occurrence frequency of each string and form a frequency mapping table. At the same time, create a node for each string, and insert the nodes into the queue in a set order. Wherein, each node is associated with node information, and the node information includes: the value of the string, weight, and height. The weight is used to reflect the size of the occurrence frequency; S1043. Select two nodes with the smallest weights from the nodes. Wherein, when there are at least two nodes with the same weight, select the node with a smaller height as the target node; S1044. Create a new node for the two target nodes; S1045, calculate the node information of the new node using an update rule; wherein, the update rule includes: W = W1 + W2; where W is the weight of the new node, and W1 and W2 are the weights of the two target nodes respectively; H = H max + 1; where H is the height of the new node, and H max is the maximum value of the heights of the two target nodes; S1046, insert the new node into the queue according to the set order; S1047, repeat steps S1043 - S1046 until all nodes in the queue are connected to form a node connection path; S1048, record the paths of the nodes in sequence in the direction of gradually decreasing height to form a binary path coding sequence; S1049, traverse the node connection path in the form of recursive call to serialize the string to obtain a byte sequence, and generate a data packet according to the path coding sequence and the byte sequence, wherein an identifier is set as a demarcation line between adjacent byte sequences in the data packet.

[0011] In some embodiments, it further includes the step: S105, the receiving end receives the data packet and performs a decoding operation on the data included; wherein, S105 includes: S1051, find the identifier; S1052, when the identifier is found, separate the sequence of the data packet through the identifier to form the path coding sequence and the byte sequence; when the identifier is not found, request the retransmission of the data packet according to the IP bound to the receiving end; S1053, perform node segmentation on the path coding sequence and store it in the queue to restore and form the node connection path by using recursive processing; S1054, interpret the byte sequence as a binary code, and traverse it in sequence in the direction of gradually decreasing height according to the path of the binary code to obtain the received original data; S1056, update the received original data according to the timestamp size and store it in the data buffer.

[0012] In some embodiments, the identifier is |; In some embodiments, the feature information includes one or more of the following: its own position, flight speed, attitude, timestamp, information of adjacent drones.

[0013] In some embodiments, it further includes: S1011. Calculate the time difference between the current time and the previous communication time; S1012. Determine whether to trigger communication using a first trigger condition, where the first trigger condition requires that when the time difference is greater than a set communication interval, communication is triggered.

[0014] In some embodiments, the drone swarm also determines whether to trigger communication using a second trigger condition, which correspondingly includes: S1013. Obtain the system state estimate value of the target drone at the previous moment that satisfies the second trigger condition and the system state estimate value at the moment Calculate the change rate of the event trigger threshold ; wherein, , is a given constant value; S1014. Calculate the adaptive rule dynamic change parameter value according to the fixed value threshold increment and the change rate of the event trigger threshold ; wherein, , is a given constant value; S1015. Establish the event trigger parameter , at the previous moment with the upper and lower bounds of the trigger parameter as the constraint conditions; wherein, ; is the event trigger parameter at the moment; S1016. Obtain the maneuver system state estimate value of the target drone at the current moment and subtract it from the system state estimate value that satisfies the second trigger condition at the previous moment to obtain the state estimation error and construct an adaptive second trigger condition based on the event trigger parameter ; wherein, ; ; wherein, , are both positive definite weight matrices, is the transpose of the matrix; S1017, determine whether the second trigger condition is satisfied; where, when then, trigger communication; If so, trigger communication, otherwise repeat S1016 - S1017.

[0015] The present invention also provides a drone swarm adaptive communication system, where the target drone stores information of adjacent drones, and the system includes: A selection module, configured to select adjacent drones from the adjacent drones ; A communication judgment module, configured to use an angle detection mechanism to judge whether a communication connection needs to be created between the target drone and the adjacent drone ; where, the communication judgment module includes: A selection unit, configured to select adjacent drones from the adjacent drones ; A position acquisition unit, configured to acquire the position matrix of the adjacent drone and the adjacent drone ; A detection angle acquisition unit, configured to acquire the detection angle formed by sequentially connecting the target drone , the adjacent drone and the adjacent drone ; An angle determination unit, configured to judge whether the detection angle is greater than a set angle; When the output of the angle determination unit is yes, then enter: an index increment unit, configured to increment the communication index by 1; a selection update unit, configured to continue to select a new adjacent drone , and return to the position acquisition unit. After traversing all the adjacent drones, output the value of the current communication index; When the output of the angle determination unit is no, then enter: a product unit, configured to judge whether the product of the vector and the vector is a zero vector; if so, enter the index increment unit, if not, the communication index does not increment, and output the value of the current communication index; an index judgment unit, configured to judge whether the communication index satisfies the communication rule, and the communication rule includes: ; where, is the communication index; a communication judgment unit, configured to, when the output of the index judgment unit is yes, consider that a communication connection can be established between the target drone and the adjacent drone ; The system is also used to traverse all adjacent drones and form a communication mapping matrix according to the corresponding traversal results , where , wherein, is used to represent the communication connection status between the target UAV and the adjacent UAVs.

[0016] The present invention also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the method described in any one of the embodiments is implemented.

[0017] Beneficial technical effects: It should be noted that in the process of large-scale UAV cluster communication, a centralized communication technology that relies on a central node is often adopted (for example, each UAV needs to be connected to a central server). However, with the expansion of the UAV cluster scale and the broadening of the flight environment, it is very easy to generate communication interference due to problems such as obstacles or signal quality. Therefore, it may face the risk of single-point failure and it is difficult to adapt to the network topology changes of large-scale clusters.

[0018] In response to this, in order to reduce the communication pressure of large-scale UAV clusters, the present invention provides a special communication mechanism for double screening of the communication range and communication nodes.

[0019] Specifically, the present invention communicates the target UAV with a limited number of multi-node UAVs, that is, based on the double restrictions on the communication range and the number of communication paths (for example, creating a connection between the target UAV and an adjacent UAV can be regarded as generating a communication path), it is possible to accurately collect the necessary UAV information around under the premise of limited communication paths.

[0020] Furthermore, for the multi-node information transmission between limited-node UAVs, the present invention also provides a multi-node information compression mechanism. Specifically, the present invention compresses and converts a large amount of feature information into the form of tree nodes, and optimizes the tree structure through double restrictions such as low weight and small height. For example, select the two nodes with the smallest weights to create a new node, and when there are at least two nodes with the same weight, select the node with a smaller height as the target node. Thus, it is equivalent to introducing the concept of minimum variance to construct a highly optimized Huffman tree. This double optimization of weight and height can control the height difference of subtrees, make the encoding lengths of each leaf node balanced, and improve the encoding stability. Brief Description of the Drawings

[0021] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the accompanying drawings required for the description of the embodiments or the prior art. In all the drawings, similar elements or parts are generally identified by similar reference numerals. In the drawings, the elements or parts are not necessarily drawn to scale. Obviously, the following-described drawings are some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0022] Figure 1 It is a schematic flowchart of a method in an exemplary embodiment of the present invention; Figure 2 It is a schematic flowchart of a method in a specific embodiment of the present invention. Detailed implementation manners

[0023] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present invention.

[0024] In this article, suffixes such as "module", "component", or "unit" used to represent elements are only for the convenience of explaining the present invention, and they have no specific meaning in themselves. Therefore, "module", "component", or "unit" can be used interchangeably. The terms "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance.

[0025] In this article, unless otherwise clearly defined and limited, terms such as "installed", "provided with", "connected", etc. should be understood in a broad sense. For example, "connected" can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection, a direct connection, or an indirect connection through an intermediate medium, and it can be the communication inside two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0026] In this article, "and / or" includes any and all combinations of one or more of the listed related items.

[0027] In this article, "a plurality of" means two or more, that is, it includes two, three, four, five, etc.

[0028] As used in this specification, the term "about" typically means + / - 5% of the stated value, more typically + / - 4% of the stated value, more typically + / - 3% of the stated value, more typically + / - 2% of the stated value, even more typically + / - 1% of the stated value, and even more typically + / - 0.5% of the stated value.

[0029] In this specification, certain embodiments may be disclosed in a format that is within a certain range. It should be understood that this description of "within a certain range" is merely for convenience and brevity and should not be construed as a rigid limitation on the disclosed range. Therefore, the description of the range should be considered to have specifically disclosed all possible sub-ranges and individual numerical values within that range. For example, the description of the range 1-6 should be considered to have specifically disclosed sub-ranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6, etc., as well as the individual numbers within that range, such as 1, 2, 3, 4, 5, and 6. The above rules apply regardless of the breadth of the range.

[0030] Example 1 See Figure 1 - Figure 2 As shown, the present invention provides a method for adaptive communication of an unmanned aerial vehicle (UAV) cluster. The UAV cluster includes a plurality of UAVs, and each UAV has a data buffer (or a maneuver data buffer), and the data buffer is used to store information of adjacent UAVs. Correspondingly, the method is as follows: The target UAV has a data cache area to store information of adjacent UAVs. When the target UAV triggers communication, steps S102 - S103 are executed.

[0031] Specifically, the method includes: S101, determining whether the target UAV triggers communication; wherein, the data buffer of the target UAV stores information of adjacent UAVs; Preferably, when the target UAV starts to update its own information or flight route, it is necessary to update the information of all adjacent UAVs stored therein.

[0032] When the determination result of S101 is yes, the following steps are executed: S102, selecting a first adjacent UAV (or simply referred to as: adjacent UAV ) from the adjacent UAVs; S103, using an angle detection mechanism to determine whether a communication connection needs to be created between the target UAV and the first adjacent UAV ; Among them, S103 includes: S1031, select the second adjacent drone from the adjacent drones (or simply referred to as: adjacent drone ), and the second adjacent drone is different from the first adjacent drone ; For example, in some embodiments, the first adjacent drone can be the drone that maintains communication with the target drone and is the closest, and the second adjacent drone can be the drone that maintains communication with the target drone and is relatively close.

[0033] S1032, obtain the position matrices of the first adjacent drone and the second adjacent drone ; For example, in some embodiments, extract the position matrix of the first adjacent drone and the position matrix of the second adjacent drone from the maneuver data buffer, that is . .

[0034] S1033, calculate the detection angle according to the target drone , the first adjacent drone and the second adjacent drone , where the detection angle is the included angle formed by connecting the target drone , the second adjacent drone and the first adjacent drone in sequence; In other words, the step of S1033 is: obtain the detection angle formed by connecting the target drone , the adjacent drone and the adjacent drone in sequence.

[0035] Among them, the target drone , the first adjacent drone and the second adjacent drone can be regarded as three nodes , and calculate the detection angle according to the position matrices of the three nodes , or it is called the Beta angle .

[0036] S1034, determine whether the detection angle is greater than the set angle; When the result of S1034 is yes, then execute the steps: S1035, increment the communication index by 1; S1036, continue to select a new second adjacent drone , and return to step S1032. After traversing all the adjacent drones, output the value of the current communication index; When the result of S1034 is no, then execute the steps: S1037, determine whether the first vector and the second vector are zero vectors; If so, enter step S1035. If not, the communication index does not increase, and output the value of the current communication index; S1038, determine whether the communication index satisfies the communication rule, and the communication rule includes: ; where is the communication index; S1039, when the result of S1038 is yes, it is considered that the target drone and the first adjacent drone can establish a communication connection; S10310, repeat S102 - S103 to traverse the adjacent drones in the data buffer, and form a communication mapping matrix according to the corresponding traversal results , where , where, is used to represent the communication connection status between the target drone and the first adjacent drone.

[0037] It should be noted that in this embodiment, the drone is regarded as a node in space, so it can also be called a drone node.

[0038] For example, in some embodiments, first calculate the detection angles of three drone nodes . The user can preset the size of (i.e., the set angle). If , then the communication index increases by 1; if , then introduce the cross product method to determine whether the drone node is located on the straight line between the node and the node . For example, if is a zero vector, then the communication mapping index increases by 1, otherwise it does not increase. Taking the drone node as the base node, sequentially extract the next drone node in the maneuver data buffer , and repeat steps S202 - S203 until the drone node Beta angle calculation based on the basic node. Compare the communication index with the maneuver data buffer and if , the UAV node and initially establish a communication link, that is ; otherwise . Among them is the number of nodes in the maneuver data buffer. Repeat the above steps until the communication mapping matrix is formed for all UAV nodes in the UAV node and the position data buffer , where .

[0039] For example, in some embodiments, the maneuver data buffer of the target UAV stores 4 UAVs (such as UAV j , UAV l1 , UAV l2 , UAV l3 ). When using the UAV node as the basic node, calculate the included angles (i.e., detection angles) between it and 3 UAVs such as UAV l1 , UAV l2 , UAV l3 in turn, and all the detection angles are greater than the set angle. At this time, the communication index = 4 (i.e., the number of UAV information stored by the target UAV) - 1 = 3. Therefore, at this time, the target UAV is allowed to establish a connection with the adjacent UAV j . Further, the target UAV , UAV l1 can continue to be used as the basic node to calculate the detection angles of other UAV nodes, and then judge whether a communication connection needs to be created between the target UAV , UAV l1 . Repeat the above steps to traverse UAV j , UAV l1 , UAV l2 , UAV l3 , and screen out the UAV nodes that need to create communication with the target UAV.

[0040] In this embodiment, on the one hand, through the limitation of the preferred communication angle range ( ), multiple preferred UAV nodes (such as UAV l1 , UAV l2 , UAV l3 ) located in the preferred communication range are screened out. Among them, the preferred UAV nodes can communicate with the UAV node jAll maintain a better communication state, that is, adjacent UAV nodes j can reliably obtain and store the position information of multiple preferred UAV nodes (for example, the position information may include: position matrix, flight speed, attitude, and corresponding time stamp). Correspondingly, the adjacent UAV node storing the position information of multiple nodes j can also be referred to as a multi-node UAV.

[0041] At this time, by creating communication between the target UAV and a limited number of multi-node UAVs, through the dual limitations of the communication range and the number of communication paths (for example, creating a connection between the target UAV and an adjacent UAV can be regarded as generating a communication path), it is possible to accurately collect the necessary UAV information in the surrounding area on the premise of limited communication paths.

[0042] In some embodiments, the calculation process of the detection angle is as follows: ; ; ; ; wherein, is the abscissa of the UAV ; is the ordinate of the UAV ; is the flight altitude of the UAV ;

[0043] In some embodiments, when a communication connection can be established between the target node and the first adjacent UAV , record ; otherwise record .

[0044] Furthermore, the adjacent UAV j can encode its own position, flight speed, attitude, time stamp, and the data of adjacent UAV nodes in the maneuver data buffer. In some embodiments, the UAV is configured with a sending end and a receiving end. The sending end is used to encode the characteristic information of the UAV, and the receiving end is used to decode the received information; correspondingly, the method further includes: S104, compressing the characteristic information by using a weight compression mechanism; wherein, S104 includes: S1041, converting the characteristic information into multiple strings; S1042. Statistically analyze the occurrence frequency of each of the said strings and form a frequency mapping table; meanwhile, create nodes (which can also be called leaf nodes) for each of the said strings, and insert the nodes into a queue in a set order (for example, insert them into the queue in ascending order of frequency); wherein, each of the said nodes is associated with node information, and the node information includes: the value of the string, weight, and height, and the weight is used to reflect the magnitude of the occurrence frequency; S1043. Select two nodes with the smallest weights from the said nodes as target nodes. Wherein, when there are at least two nodes with the same weight, select the node with a smaller height as the said target node; S1044. Create a new node for the two said target nodes; S1045. Calculate the node information of the new node using an update rule; wherein, the update rule includes: W = W1 + W2; where W is the weight of the new node, and W1 and W2 are the weights of the two said target nodes respectively; H = H max + 1; where H is the height of the new node, and H max is the maximum value of the heights of the two said target nodes; S1046. Insert the new node into the queue in the said set order; S1047. Repeat steps S1043 - S1046 until all nodes in the queue are connected to form a node connection path; S1048. Along the direction of gradually decreasing height, sequentially record the paths of the said nodes to form a binary path coding sequence; S1049. Serialize the string by traversing the node connection path in the form of recursive call to obtain a byte sequence, and generate a data packet according to the path coding sequence and the byte sequence, wherein an identifier is set as a demarcation line between adjacent byte sequences in the data packet.

[0045] In this embodiment, a large amount of feature information is compressed and converted into the form of tree nodes, and the tree structure is optimized by double restrictions such as low weight and small height. For example, select two nodes with the smallest weights to create a new node, and when there are at least two nodes with the same weight, select the node with a smaller height as the target node. Thus, it is equivalent to introducing the concept of minimum variance to construct a highly optimized Huffman tree. This double optimization of weight and height can control the height difference of subtrees, make the coding lengths of each leaf node balanced, and improve the coding stability.

[0046] Specifically, the data coding process implemented in this embodiment is as follows: Convert the feature information into strings and traverse to count the frequency of each string appearance, forming a frequency mapping table. At the same time, create leaf nodes for each unique string, and insert all the leaf nodes into a priority queue in ascending order of frequency. Each node contains a string value, the corresponding frequency, and a height, and the heights are all initially 0. Select two nodes with the smallest weights from the current priority queue, create a new parent node based on the two nodes, whose weight is the sum of the weights of the two nodes, and the height is the maximum height of the two nodes plus 1. Re-insert the created new parent node into the queue according to the sorting rule. Repeat the above steps (that is, continue to select two nodes with the smallest weights from the current priority queue and create a new parent node based on the two nodes) until there is only one root node left in the queue. After that, traverse the Huffman tree starting from the root node, record the path from the root node to the leaf node, that is, 0 for the left and 1 for the right to form a binary coding sequence. Serialize the Huffman tree by recursively calling to traverse the left subtree and the right subtree, and pack the binary coding sequence into a byte sequence and merge it with the serialized Huffman tree to form the final sent data packet, with the identifier "|" as the delimiter.

[0047] Among them, when selecting two nodes with the smallest weights, if there are two leaf nodes with the same weight, the node with the smaller height is preferentially selected.

[0048] In this embodiment, the priority queue is also referred to as: priority queue, which is a set of zero or more elements, and each element has a priority (that is, weight), and one of the elements corresponds to a node.

[0049] In this embodiment, each drone is configured with a sending end and a receiving end. For the sending end, it mainly encodes its own position, flight speed, attitude, timestamp, and the data of neighboring drone nodes in the maneuver data buffer. After that, read the communication mapping matrix The nodes with a value of 1 in it and obtain the index ID, splice the port number and IP address according to the ID, and transmit the data through the UDP protocol. For the receiving end, it decodes the received data and updates the data of neighboring drone nodes in the maneuver data buffer according to the size of the timestamp.

[0050] The applicant noticed that when encoding the data at the sending end, the frequencies of various strings often exist in the same situation under the traditional encoding format, and the traditional Huffman tree has an unbalanced tree structure and an extreme path length. By introducing the concept of minimum variance to construct a highly optimized Huffman tree, the height difference of the subtrees is controlled, so that the encoding lengths of each leaf node are balanced and the encoding stability is improved.

[0051] In some embodiments, it further includes the steps: S105, the receiving end receives the data packet and decodes the data included therein; wherein, S105 includes: S1051, find the identifier; S1052, when the identifier is found, separate the sequence of the data packet through the identifier to form the path coding sequence and the byte sequence; when the identifier is not found, request retransmission of the data packet according to the IP bound to the receiving end; S1053, perform node segmentation on the path coding sequence and store it in a queue to restore and form the node connection path by using recursive processing; S1054, interpret the byte sequence as a binary code, and traverse it in sequence along the direction of gradually decreasing height according to the path of the binary code to obtain the received original data; S1056, update the received original data according to the size of the time stamp and store it in the data buffer.

[0052] In some embodiments, the identifier is |.

[0053] In this embodiment, the decoding operation includes: finding the identifier "|" to separate the received data to form a serialized Huffman tree and a byte sequence. If the identifier "|" is not found, request retransmission according to the IP bound to the receiving end; perform node segmentation on the serialized Huffman tree and store it in a queue, and use recursive processing for the left and right subtrees to form a Huffman tree. S313: unpack the byte sequence to form a binary code, traverse from the root node of the Huffman tree according to the path of the binary code to obtain the received original data. After that, update the received data according to the size of the time stamp and store it in the mobile data buffer.

[0054] In some embodiments, the characteristic information includes one or more of the following: its own position, flight speed, attitude, time stamp, information of adjacent unmanned aerial vehicles in the data buffer.

[0055] In some embodiments, the steps of determining whether to trigger communication include (for example, S101 includes steps): S1011, calculate the time difference between the current time and the previous communication time; S1012, use the first trigger condition to determine whether to trigger communication, wherein the first trigger condition requires that when the time difference is greater than the set communication interval, communication is triggered.

[0056] In some embodiments, the unmanned aerial vehicle cluster also uses a second trigger condition to determine whether to trigger communication (for example, S101 includes steps): S1013, obtain the target unmanned aerial vehicle at the previous moment The system state estimation value that satisfies the second trigger condition and the system state estimation value at a moment Calculate the change rate of the event trigger threshold ; wherein, , is a given constant value; S1014. According to the fixed value threshold increment and the change rate of the event trigger threshold Calculate the adaptive rule dynamic change parameter value ; wherein, , is a given constant value; S1015. According to the upper and lower bounds of the trigger parameter , Establish the event trigger parameter at the previous moment as a constraint condition; wherein, ; is the event trigger parameter at the moment; S1016. Obtain the maneuver system state estimation value of the target UAV at the current moment and subtract it from the system state estimation value that satisfies the second trigger condition at the previous moment to obtain the state estimation error and construct an adaptive second trigger condition based on the event trigger parameter ; wherein, ; ; wherein, , are both positive definite weight matrices, is the transpose of the matrix; S1017. Determine whether the second trigger condition is satisfied; wherein, when , then trigger communication; If so, trigger communication, otherwise repeat S1016 - S1017.

[0057] The applicant has noticed that traditional periodic communication is prone to resource waste and network congestion, and centralized communication relies on a central node, which has the risk of single-point failure and is difficult to adapt to the network topology changes of large-scale clusters. Therefore, the present application further proposes an event-triggered mechanism to preset triggering conditions, dynamically control the communication timing, transmit key information only when necessary, dynamically construct an optimal communication link, and compress the transmitted data to reduce the data transmission volume, relieve the bandwidth pressure, and at the same time ensure the effective transmission of mission-critical information.

[0058] Furthermore, the communication method in the present invention can be simulated and tested using a hardware-in-the-loop simulation system. The hardware components of the hardware-in-the-loop simulation system mainly include a hardware-in-the-loop simulation management system, a real-time simulator, a flight control computer, an external task computer, a wireless communication module, etc. The hardware-in-the-loop simulation management system adopts a distributed architecture based on fiber-optic communication to realize the parallel management and collaborative scheduling of multiple real-time simulators. The real-time simulator is equipped with an RTX real-time operating system and runs a six-degree-of-freedom unmanned aerial vehicle (UAV) non-linear kinematic model through a high-precision numerical solver to be able to real-time simulate the dynamic response characteristics of the UAV in a complex aerodynamic environment. The flight control computer adopts an embedded computer platform based on the VxWorks real-time operating system, in which a multi-core processor realizes deterministic task scheduling through a time-triggered mechanism and can complete the collaborative operation of multi-rate control loops such as UAV attitude solution, mission control, and route planning. The external task computer adopts a heterogeneous computer architecture, and its Ubuntu Linux platform is installed with a UAV adaptive communication algorithm, which establishes a communication network through an event-triggered mechanism to realize dynamic topology maintenance and supports autonomous network reconstruction under node failure. The wireless communication module is connected to the external task computer through Ethernet, and it supports the implementation of a Mesh network protocol stack for simulating the long-distance communication between UAV clusters.

[0059] Embodiment 2 The present invention also provides a UAV cluster adaptive communication system, where the target UAV stores information of adjacent UAVs, and the system includes: a selection module for selecting adjacent UAVs from the adjacent UAVs ; a communication judgment module for using an angle detection mechanism to judge whether a communication connection needs to be created between the target UAV and the adjacent UAVs ; where the communication judgment module includes: a selection unit for selecting adjacent UAVs from the adjacent UAVs ; a position acquisition unit for acquiring the position matrices of the adjacent UAVs and the adjacent UAVs ; A detection angle acquisition unit for acquiring a detection angle formed by sequentially connecting the target UAV , the adjacent UAV and the adjacent UAV ; An angle determination unit for determining whether the detection angle is greater than a set angle; When the output of the angle determination unit is yes, then enter: An index increment unit for incrementing the communication index by 1; A selection and update unit for continuing to select a new adjacent UAV , and return to the position acquisition unit. After traversing all the adjacent UAVs, output the value of the current communication index; When the output of the angle determination unit is no, then enter: A product unit for determining whether the product of vector and vector is a zero vector; if so, enter the index increment unit, if not, the communication index is not incremented, and the value of the current communication index is output; An index judgment unit for judging whether the communication index satisfies the communication rule, and the communication rule includes: ; where is the communication index; A communication judgment unit for, when the output of the index judgment unit is yes, considering that the target UAV and the adjacent UAV can establish a communication connection; The system is further configured to traverse all adjacent UAVs and form a communication mapping matrix according to the corresponding traversal results , where , where is used to represent the communication connection status between the target UAV and the adjacent UAV.

[0060] The present invention also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the method described in any one of the embodiments is implemented.

[0061] It should be noted that in this article, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of another identical element in the process, method, article or device including that element.

[0062] Through the description of the above embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions for causing a computer terminal (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in various embodiments of the present invention.

[0063] The embodiments of the present invention have been described above in conjunction with the accompanying drawings. However, the present invention is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not restrictive. Under the inspiration of the present invention, those of ordinary skill in the art can also make many forms without departing from the spirit and scope protected by the claims of the present invention. These all fall within the protection scope of the present invention.

Claims

1. An adaptive communication method for an unmanned aerial vehicle cluster, characterized in that Target UAV Store information of adjacent UAVs. When the target UAV triggers communication, execute the steps: S102, select adjacent UAVs from the adjacent UAVs ; S103, use an angle detection mechanism to determine whether the target UAV and the adjacent UAV need to create a communication connection; where S103 includes: S1031, select an adjacent drone from the adjacent drones ; S1032, obtain the adjacent drones and the adjacent drones to obtain their position matrices; S1033, obtain the detection angle formed by successively connecting the target UAV , the adjacent UAV and the adjacent UAV in sequence; S1034, determine whether the detected angle is greater than the set angle; When the result of S1034 is yes, the following steps are executed: S1035, increment the communication index by 1; S1036, continue to select a new one of the adjacent drones , and return to step S1032. After traversing all the adjacent drones, output the value of the current communication index; When the result of S1034 is NO, the following steps are executed: S1037, determine whether the product of vector and vector is a zero vector; if so, proceed to step S1035, if not, the communication index does not increase, and the value of the current communication index is output; S1038, determine whether the communication index satisfies the communication rules, the communication rules include: ; where is the communication index; S1039, when the result of S1038 is YES, it is considered that the target UAV and the adjacent UAV can establish a communication connection; S10310, repeat S102 - S103 to traverse all adjacent drones, and form a communication mapping matrix according to the corresponding traversal results , where , where is used to represent the target drone and the communication connection status between the adjacent drones.

2. The method according to claim 1, wherein The calculation process of the detected angle is as follows: ; ; ; ; Among them, is the abscissa of the UAV ; is the ordinate of the UAV ; is the flight altitude of the target UAV .

3. The method according to claim 1, characterized in that When the target UAV and the adjacent UAV can establish a communication connection, record ; otherwise record .

4. The method according to claim 1, wherein The drone is configured with a transmitter and a receiver. The transmitter is used to encode the characteristic information of the drone, and the receiver is used to decode the received information; Correspondingly, the method further includes: S104, perform compression processing on the characteristic information by using a weight compression mechanism; wherein, S104 includes: S1041, convert the characteristic information into multiple strings; S1042, count the occurrence frequency of each string and form a frequency mapping table; at the same time, create a node for each string, and insert the nodes into the queue in a set order; wherein, each node is associated with node information, and the node information includes: the value of the string, weight, height, and the weight is used to reflect the size of the occurrence frequency; S1043, select two nodes with the smallest weights from the nodes as target nodes. When there are at least two nodes with the same weight, select the node with a smaller height as the target node; S1044, create a new node for the two target nodes; S1045, calculate the node information of the new node by using an update rule; wherein, the update rule includes: W = W1 + W2; where W is the weight of the new node, and W1 and W2 are the weights of the two target nodes respectively; H = H max + 1; wherein, H is the height of the new node, and H max is the maximum value of the heights of the two target nodes; S1046, insert the new node into the queue in the set order; S1047, repeat steps S1043 - S1046 until all nodes in the queue are connected to form a node connection path; S1048, along the direction of gradually decreasing height, record the paths of the nodes in sequence to form a binary path coding sequence; S1049, traverse the node connection path in the form of recursive call to serialize the string to obtain a byte sequence, and generate a data packet according to the path coding sequence and the byte sequence. An identifier is set as a delimiter between adjacent byte sequences in the data packet.

5. The method according to claim 4, characterized in that It further includes the step: S105, the receiver receives the data packet and performs a decoding operation on the data packet; wherein, S105 includes: S1051, find the identifier; S1052, when the identifier is found, separate the sequence of the data packet through the identifier to form the path coding sequence and the byte sequence; when the identifier is not found, request the retransmission of the data packet according to the IP bound to the receiver; S1053, perform node segmentation on the path coding sequence and store it in the queue to restore and form the node connection path by using recursive processing; S1054, interpret the byte sequence as a binary code, and traverse it in sequence along the direction of gradually decreasing height according to the path of the binary code to obtain the received original data; S1056, update the received original data according to the timestamp size and store it in the data buffer.

6. The method according to claim 4, wherein The identifier is |; And / or, the feature information includes one or more of the following: its own position, flight speed, attitude, timestamp, information of adjacent drones.

7. The method according to claim 1, characterized in that It further includes: S1011, calculate the time difference between the current time and the previous communication time; S1012, use the first trigger condition to determine whether to trigger communication, where the first trigger condition requires that when the time difference is greater than the set communication interval, communication is triggered.

8. The method according to claim 7, characterized in that The drone cluster also uses a second trigger condition to determine whether to trigger communication, which correspondingly includes: S1013, obtain the target UAV At the previous moment The system state estimate that satisfies the second trigger condition And The system state estimate at the moment Calculate the change rate of the event trigger threshold ; Among them, , is a given constant value; S1014, according to the fixed value threshold increment and the change rate of the event trigger threshold calculate the adaptive rule dynamic change parameter value ; Among them, , is a given constant value; S1015, according to the upper and lower bounds of the trigger parameter and establish the event trigger parameter of the previous moment as the constraint condition ; Among them, ; is the event trigger parameter at the moment; S1016, obtain the current moment the target UAV estimated value of the maneuvering system state and the system state estimated value that satisfied the second trigger condition at the previous moment perform a difference operation to obtain the state estimation error and construct an adaptive second trigger condition according to the event trigger parameter ;​​ Among them, ; ; Among them, , are both positive definite weight matrices, is the transpose of the matrix; S1017, determine whether the second trigger condition is satisfied; wherein, when is satisfied, communication is triggered. If so, trigger communication, otherwise repeat S1016 - S1017.

9. An adaptive communication system for an unmanned aerial vehicle cluster, characterized in that Target UAV Store information of adjacent UAVs, and the system includes: Selection module, configured to select an adjacent UAV from the adjacent UAVs ; Communication determination module, configured to determine, by using an angle detection mechanism, the target UAV and the adjacent UAV whether a communication connection needs to be established therebetween; wherein, the communication determination module includes: Selection unit, configured to select an adjacent drone from the adjacent drones ; A position acquisition unit for acquiring the adjacent unmanned aerial vehicle and the adjacent unmanned aerial vehicle 's position matrix; Detection angle acquisition unit, configured to acquire a detection angle formed by successively connecting the target UAV , the adjacent UAV , and the adjacent UAV in sequence; An angle determination unit for determining whether the detected angle is greater than the set angle; When the output of the angle determination unit is yes, proceed to: an index increment unit for incrementing the communication index by 1; and a selection and update unit for continuing to select a new one of the adjacent drones , and return to the position acquisition unit. After traversing all the adjacent drones, output the value of the current communication index; When the output of the angle determination unit is NO, it proceeds to: a product unit for determining whether the product of vector and vector is a zero vector; if so, it proceeds to an index increment unit, and if not, the communication index does not increment, and the value of the current communication index is output; an index determination unit for determining whether the communication index satisfies a communication rule, the communication rule including: ; where is the communication index; a communication determination unit for, when the output of the index determination unit is YES, deeming that the target UAV and the adjacent UAV can establish a communication connection; The system is also used to traverse all adjacent drones and form a communication mapping matrix according to the corresponding traversal results , where , wherein is used to represent the target drone and the communication connection status between the adjacent drones 10. A computer program product, characterized in that, The computer program product includes a computer program, and when the computer program is executed by a processor, it implements the method according to any one of claims 1 - 8.

Citation Information

Patent Citations

  • Heterogeneous unmanned cluster system adaptive cooperative control method under weak information interaction

    CN119002289A

  • Unmanned aerial vehicle cluster obstacle avoidance method based on visual field and adaptive obstacle avoidance radius

    CN117420845A

  • Artificial starling unmanned aerial vehicle cluster collaborative airway obstacle avoidance method for area coverage

    CN117762154A

  • Method and device for synchronously realizing unmanned aerial vehicle cluster positioning and affine formation tracking control

    CN118625826A

  • Unmanned aerial vehicle cluster encirclement tracking control method simulating pigeon flock limited neighbor interaction

    CN119105543A

Cited By

  • Completely distributed unmanned aerial vehicle cluster communication method and system, medium and product

    CN120406566A