Cluster unmanned aerial vehicle clock synchronization method based on IEEE1588 protocol
Through the clustered drone clock synchronization method based on IEEE1588 protocol, the problems of low accuracy and high power consumption of traditional algorithms are solved, and high-precision and low-power consumption are achieved, which improves the collaborative work and information sharing capabilities of the drone.
Patent Information
- Application Number
- CN202411646105.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-18
- Publication Date
- 2025-02-25
AI Technical Summary
The traditional drone clock synchronization algorithm has problems such as platform limitations, additional errors cannot be eliminated, and low accuracy, which seriously restricts the improvement of cluster drone network application scope, communication efficiency and accuracy.
The cluster drone clock synchronization method based on the IEEE1588 protocol is adopted. By establishing the drone sensor time node model, building a simulation network, initializing the node clock parameters, and performing clock synchronization through Sync and Follow_up signals, the average propagation delay and clock offset are calculated, and time node correction is performed.
It realizes high-precision, low power consumption, and less resource utilization, and improves the collaborative working ability and information sharing accuracy of cluster drones.
Smart Images

Figure CN119519874A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to UAV technology, and in particular relates to a cluster UAV clock synchronization method based on IEEE1588 protocol. Background Art
[0002] Sensor node clock synchronization is widely used in the military, industry and our daily life. For example, industrial robot collaboration, wireless sensor networks, drones, cruise missiles, etc. At present, traditional clock synchronization algorithms have many problems such as platform limitations, inability to eliminate additional errors, and low accuracy, which seriously restrict the application scope of cluster drone networking, communication efficiency and accuracy.
[0003] As the clock synchronization method of cluster drones becomes more mature, its application in the field of node collaborative work is becoming more and more abundant. The use of node clock synchronization algorithm is an important method to achieve accurate, stable, rapid and low-power consumption of each drone and cruise missile node. The clock synchronization method of cluster drones can synchronize the internal clocks of multi-level nodes and the clocks of nodes at all levels to achieve the purpose of accurate collaborative work and information sharing.
[0004] The bidirectional time synchronization mechanism based on senders and receivers is similar to the NTP protocol of traditional networks. It is based on a client-server architecture. The node to be synchronized sends a synchronization request packet to the reference node. The reference node replies with a synchronization packet containing the current time. The node to be synchronized estimates the delay and calibrates the clock. Its advantage is that the synchronization error is small, but its disadvantage is that it generally requires node grading, which is not easy to expand and may also have power consumption problems. Typical algorithms based on this mechanism include the TPSN algorithm and the LTS algorithm. Summary of the invention
[0005] The purpose of the present invention is to provide a clock synchronization method for cluster UAVs based on the IEEE1588 protocol, and to design a clock synchronization method with high precision, low power consumption and less resource occupation.
[0006] The technical solution to achieve the purpose of the present invention is: a cluster drone clock synchronization method based on the IEEE1588 protocol, the steps are as follows:
[0007] Step 1: According to the swarm UAV mission, establish the UAV sensor time node model, use the IEEE1588 protocol principle to initialize the node properties, logical relationships and timestamps of the sensor time node model, and then go to step 2.
[0008] Step 2: Build a cluster drone simulation network based on the established drone sensor time node model:
[0009] Assume that the above cluster drone simulation network consists of n drones, each drone is a node, the network uses k hops and n nodes, where k ≥ 3, n ≥ 10, and there is also a test node for testing; the number of nodes in the 0th hop is 1, recorded as node(0,0); the number of nodes in the 1st hop is r, recorded as node(1,r); the number of nodes in the kth hop is r·2 k-1 , denoted as node(k,r·2 k-1 ), where n = r + 2r + ... + r 2 k-1 ;
[0010] After completing the construction of the swarm drone simulation network, proceed to step 3.
[0011] Step 3: Initialize the clock parameters of each node in the cluster drone simulation network and set the synchronization period.
[0012] Step 4: The test node sends a node test signal to the other nodes. After receiving the signal, each node sends the current local clock to the test node.
[0013] Step 5: For the xth hop, x = 1, 2, ... k, the node (x, y) moves to the node (x+1, j), y = 0, 1, 2, ... r 2 k-2 , j = 1, 2, ... r 2 k-1 , the node sends a Sync clock synchronization request signal, and then sends a Follow_up signal to the node(x+1,j)th node, sending the time t1 to the node(x+1,j); y is the specific node number in the x-hop node, and j is the specific node number in the x+1-hop node;
[0014] Initialize x=0, y=0, j=1, and go to step 6.
[0015] Step 6: After receiving Sync, the node(x+1,j) records the received timestamp t2, simulates the subsequent delay to obtain the timestamp t3, and sends a Delay_req signal to the node(x,y) at time t3, and proceeds to step 7.
[0016] Step 7: After receiving the Delay_req signal from the node(x+1,j), the node(x,y) records the received timestamp t4 and sends it to node(x+1,j) via the Delay_resq signal timestamp t4. It calculates the average propagation delay and the clock offset of the slave relative to the host, performs time node correction, and completes the clock synchronization of node(x,y) and node(x+1,j); then proceeds to step 8.
[0017] Step 8: After the node (x, y) completes clock synchronization with the (x+1)-hop node, each node in the (x+1)-hop node repeats steps 4 to 7 with each node in the (x+2)-hop node, and so on, until the k-hop node synchronization is completed, and then proceeds to step 9.
[0018] Step 9: The test node performs clock error analysis on each local clock, and the cluster drone clock synchronization is completed.
[0019] Compared with the prior art, the present invention has the following notable features:
[0020] (1) The present invention provides a cluster UAV clock synchronization simulation method based on OMNeT++, which can be used for node modeling and performance testing and has high applicability.
[0021] (2) The present invention provides a two-node clock synchronization algorithm that can be used for node parameter initialization, node internal clock synchronization, etc., with high accuracy.
[0022] (3) The present invention adopts IEEE1588 algorithm to synchronize the clocks of cluster UAVs, with high accuracy within a short working time range. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 The present invention is a flow chart of a cluster UAV clock synchronization method based on the IEEE1588 protocol.
[0024] Figure 2 A model diagram is established for the clock synchronization simulation of the present invention.
[0025] Figure 3 Graph showing clock deviation of each node under three conditions of the present invention. DETAILED DESCRIPTION
[0026] The following will be combined with the accompanying drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention, and analyze the simulation results of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0027] The following will further introduce the specific implementation methods, technical difficulties, inventive points and simulation effects of the design method of this article in combination with this design example.
[0028] Combination Figure 1 and Figure 2 , a cluster UAV clock synchronization method based on IEEE1588, the specific implementation steps are as follows:
[0029] Step 1: According to the swarm UAV mission, establish the UAV sensor time node model, and use the IEEE1588 protocol principle and delayed response mechanism to initialize the node properties, logical relationships and timestamps of the sensor time node model, that is, the unified time zero point.
[0030] Step 2: Build a cluster drone simulation network based on the established drone sensor time node model:
[0031] Assume that the above-mentioned swarm drone simulation network is composed of n drones, and the network uses k hops and n nodes, where k ≥ 3, n ≥ 10, and there is also a test node for testing; the number of nodes in the 0th hop is 1, recorded as node(0,0); the number of nodes in the 1st hop is r, recorded as node(1,r); the number of nodes in the kth hop is r·2 k-1 , denoted as node(k,r·2 k-1 ), where n = r + 2r + ... + r 2 k-1 .
[0032] In the present invention, it is assumed that the above-mentioned cluster drone simulation network is networked by 10 drones, that is, n=10, and 2 hops and 10 nodes are used, that is, k=2, r=3, as shown in FIG. Figure 2 , as follows:
[0033] Assume that node(0,0) is a level 0 node, which contains only one node; node(1,1)~node(1,3) are 1-hop nodes, and node(2,1)~node(2,6) are 2-hop nodes; level 0 nodes only send information to 1-hop nodes; 1-hop nodes send information to 0-hop and 2-hop nodes; 2-hop nodes only send information to 1-hop nodes; test is a test node, which sends information to each node in one direction to obtain the local clock of each node to count the clock error.
[0034] Step 3: Initialize the clock parameters of each node in the cluster drone simulation network and set the synchronization period, as follows:
[0035] Assume that at time t the local clock C of node node(x,y) x (t) is expressed as:
[0036]
[0037] Where f0 is the nominal frequency of the sensor node node(x,y), t0 is the initial time, and f x is the actual frequency of the sensor, which has an error of 1 to 100 μs from f0. x (t0) is the clock value of the sensor node at the initial moment.
[0038] If we assume that in the duration dt, f x (t) is a constant, the simplified expression is:
[0039] C x (t) = α x (t-t0)+β x
[0040] In the formula, the relative frequency α of node node(x,y) x =f x / f0, initial frequency β of node node(x,y) x =x(t).
[0041] The relationship between the local clock descriptions of node node(x,y) and node node(x,y+1) is:
[0042] C y (t) = α xy C x (t)+β xy
[0043] Among them, C y (t) represents the local clock of node (x, y+1) at time t.
[0044] The relative frequency offset α between node node(x,y) and node node(x,y+1) xy for:
[0045] α xy =α y / α x
[0046] The initial phase difference β between node node(x,y) and node node(x,y+1) xy for:
[0047] β xy =β y -(α y / α x )β x
[0048] Among them, α y Represents the relative frequency of node(x,y+1), β y Indicates the initial frequency of node node(x,y+1).
[0049] Then, when obtaining the local clock of the node at two different times, α is obtained by solving the binary linear equation system: xy , β xy , and then correct the current local clock inside the nodes at all levels.
[0050] The synchronization cycle is how often a synchronization request is sent.
[0051] Step 4: The test node sends a node test signal to the other nodes. After receiving the signal, each node sends the current local clock to the test node.
[0052] The main functions and processes of the test node are:
[0053] Initialize test information and generate test signals periodically;
[0054] Send slave test information to each node;
[0055] Receive node clock information;
[0056] Clock error analysis.
[0057] Step 5: For the xth hop, x = 1, 2, ... k, the node (x, y) moves to the node (x+1, j), y = 0, 1, 2, ... r 2 k-2 , j = 1, 2, ... r 2 k-1 , the node sends a Sync clock synchronization request signal, and then sends a Follow_up signal to the node(x+1,j)th node, sending the time t1 to the node(x+1,j)th node; y is the specific node number in the x-hop node, and j is the specific node number in the x+1-hop node.
[0058] Since this example uses a 2-hop, 3-level, 10-node example, initially x=0, y=0, j=1, and k=2, r=3 in the algorithm.
[0059] In the example, after receiving the clock synchronization information from the test node, the node (0,0) sends a clock synchronization Sync signal to the node (1,1), and then sends a Follow_up signal to the node (1,1), sending the t1 timestamp to the node (1,1).
[0060] Step 6: After receiving Sync, the node(x+1,j) records the received timestamp t2, simulates the subsequent delay to obtain the timestamp t3, and sends a Delay_req signal to the node(x,y) at time t3.
[0061] In the example, when node(1,1) receives the clock synchronization request signal in step 5, it records the timestamp t2 of the moment, simulates the subsequent delay to obtain the timestamp t3, and sends the Delay_req signal to node(0,0) at time t3.
[0062] Step 7: After receiving the Delay_req signal from the node(x+1,j), the node(x,y) records the received timestamp t4 and sends it to node(x+1,j) via the Delay_resq signal timestamp t4. It calculates the average propagation delay and the clock offset of the slave relative to the host, performs time node correction, and completes the clock synchronization of node(x,y) and node(x+1,j).
[0063] In the example, after node(0,0) receives the Delay_req signal from node(1,1), it records the received timestamp t4 and sends it to node(1,1) via the Delay_resq signal. It calculates the average propagation delay and the clock offset of the slave relative to the master, and performs time node correction. At this time, node(0,0) and node(1,1) complete clock synchronization.
[0064] The specific methods for correcting the time nodes are as follows:
[0065] At this moment, node(1,1) has four time information: t1, t2, t3, t4;
[0066] Since the clocks of the receiving and sending ends are not synchronized, there is a time offset between the t1 of the receiving node and the t1 of the sending node:
[0067] offset=[(t2-t1)-(t4-t3)] / 2
[0068] When information is transmitted, it will also cause path delay:
[0069] delay=[(t2-t1)+(t4-t3)] / 2
[0070] The local node clock can be corrected by the above two formulas.
[0071] Step 8: After the node (x, y) completes clock synchronization with the (x+1)-hop node, each node in the (x+1)-hop node repeats steps 4 to 7 with each node in the (x+2)-hop node, and so on, until the k-hop node synchronization is completed.
[0072] In this example, since step 7 has completed the clock synchronization of node (0,0) and node (1,1), at this time, repeat the above steps to complete the clock synchronization of node (0,0) with node (1,2) and node (1,3), that is, 0 hops.
[0073] The node completes clock synchronization with the 1-hop node.
[0074] The x-hop node and the (x+1)-hop node repeat the above process to complete clock synchronization until x=k, and so on.
[0075] Step 9: The test node performs clock error analysis on each local clock, and the cluster drone clock synchronization is completed.
[0076] Combination Figure 3 , the simulation duration and synchronization period are changed to "50s, 10s", "100s, 10s", and "200s, 10s" respectively, and the final local clock of each node is obtained when the simulation is completed, and the clock synchronization error of each node relative to node0 is obtained. It can be seen that the clock synchronization accuracy when the total duration is 50s and the synchronization period is 1s is close to that when the total duration is 50s and the synchronization period is 10s, with a maximum difference of only 1.9987μs; while when the total duration is 100s and the synchronization period is 10s, the clock synchronization accuracy of all nodes has dropped significantly, with a maximum difference of 11.3286μs. This means that the increase in synchronization time will also cause the clock synchronization accuracy of some nodes to drop, and the change in synchronization period has a random effect on the clock synchronization accuracy.
Claims
1. A clock synchronization method for clustered drones based on the IEEE1588 protocol, characterized in that: Here are the steps: Step 1: According to the swarm UAV mission, establish the UAV sensor time node model, use the IEEE1588 protocol principle to initialize the node properties, logical relationships and timestamps of the sensor time node model, and then go to step 2; Step 2: Build a cluster drone simulation network based on the established drone sensor time node model: Assume that the above cluster drone simulation network consists of n drones, each drone is a node, the network uses k hops and n nodes, where k ≥ 3, n ≥ 10, and there is also a test node for testing; the number of nodes in the 0th hop is 1, recorded as node(0,0); the number of nodes in the 1st hop is r, recorded as node(1,r); the number of nodes in the kth hop is r·2 k-1 , denoted as node(k,r·2 k-1 ), where n = r + 2r + ... + r 2 k-1 ; After completing the construction of the swarm drone simulation network, proceed to step 3; Step 3: Initialize the clock parameters of each node in the cluster drone simulation network and set the synchronization period; Step 4: The test node sends a node test signal to the other nodes. After receiving the signal, each node sends the current local clock to the test node. Step 5: For the xth hop, x = 1, 2, ... k, the node (x, y) moves to the node (x+1, j), y = 0, 1, 2, ... r 2 k-2 , j = 1, 2, ... r 2 k-1 , the node sends a Sync clock synchronization request signal, and then sends a Follow_up signal to the node(x+1,j)th node, sending the time t1 to the node(x+1,j); y is the specific node number in the x-hop node, and j is the specific node number in the x+1-hop node; Initialize x=0, y=0, j=1, and go to step 6; Step 6: After receiving Sync, the node (x+1, j) records the received timestamp t2, simulates the delay and obtains the timestamp t3, and sends the Delay_req signal to the node (x, y) at time t3, and goes to step 7; Step 7: After receiving the Delay_req signal from the node(x+1,j), the node(x,y) records the received timestamp t4 and sends it to node(x+1,j) via the Delay_resq signal timestamp t4. It calculates the average propagation delay and the clock offset of the slave relative to the master, performs time node correction, and completes the clock synchronization of node(x,y) and node(x+1,j); Go to step 8; Step 8: After the node (x, y) completes clock synchronization with the (x+1)-hop node, each node in the (x+1)-hop node repeats steps 4 to 7 with each node in the (x+2)-hop node, and so on, until the k-hop node synchronization is completed, and then proceed to step 9; Step 9: The test node performs clock error analysis on each local clock, and the cluster drone clock synchronization is completed.
2. According to a method for synchronizing the clock of a clustered UAV based on the IEEE1588 protocol according to claim 1, it is characterized in that: In step 1, the synchronization principle of the IEEE1588 protocol utilizes the delayed response mechanism. The initialization node properties specify the tasks of each hop node, and the initialization timestamp is the unified time zero.
3. According to the IEEE1588 protocol-based cluster UAV clock synchronization method of claim 1, it is characterized in that: In step 2, a cluster drone simulation network is built according to the established time node model. Assume that the cluster drone simulation network consists of 10 drones, that is, n=10, and uses 2 hops and 10 nodes, that is, k=2, r=3, as follows: Let node(0,0) be a level 0 node, which has only one node; node(1,1) to node(1,3) are 1-hop nodes, and node(2,1) to node(2,6) are 2-hop nodes; Level 0 nodes only exchange information with 1-hop nodes; The 1-hop node sends information to the 0-hop and 2-hop nodes; 2-hop nodes only send information to 1-hop nodes; Test is a test node that sends information to each node in a unidirectional manner to obtain the local clock of each node to calculate the clock error.
4. According to a method for synchronizing the clock of a clustered UAV based on the IEEE1588 protocol as claimed in claim 1, it is characterized in that: In step 3, each hop node initializes its own clock parameters and sets the synchronization period according to the drone sensor's own parameters, as follows: Assume that at time t the local clock C of node node(x,y) x (t) is expressed as: Where f0 is the nominal frequency of the sensor node node(x,y), t0 is the initial time, and f x is the actual frequency of the sensor, which has an error of 1 to 100 μs from f0. x (t0) is the clock value of the sensor node at the initial moment; If we assume that in the duration dt, f x (t) is a constant, the simplified expression is: C x (t)=α x (t-t0)+β x In the formula, the relative frequency α of node node(x, y) x =f x / f0, initial frequency β of node node(x,y) x =C x (t); The relationship between the local clock descriptions of node node(x, y) and node node(x, y+1) is: C y (t)=a xy C x (t)+β xy Among them, C y (t) represents the local clock of node node(x,y+1) at time t; The relative frequency offset α between node node(x,y) and node node(x,y+1) xy for: α xy =α y / α x The initial phase difference β between node node(x,y) and node node(x,y+1) xy for: β xy =β y -(α y / α x )β x Among them, α y Represents the relative frequency of node(x,y+1), β y Indicates the initial frequency of node node(x,y+1); Then, when obtaining the local clock of the node at two different times, α is obtained by solving the binary linear equation system: xy , β xy , and then correct the current local clock inside nodes at all levels; The synchronization cycle is how often a synchronization request is sent.
5. According to a method for synchronizing the clock of a clustered UAV based on the IEEE1588 protocol as claimed in claim 1, it is characterized in that: In step 4, the test node sends a node test signal to the other nodes. After receiving the signal, each node sends the current local clock to the test node, as follows: Initialize test information and generate test signals periodically; The test node sends test information to each node; The test node receives the clock information of each node; Perform clock error analysis.
6. The clock synchronization method for clustered drones based on the IEEE1588 protocol according to claim 1 is characterized in that: In step 5, x, y, j satisfy: 0≤x≤k; 0≤y≤r·2 k-1 ; y≤j≤r·2 k-1 。 7. The clock synchronization method for clustered drones based on the IEEE1588 protocol according to claim 1 is characterized in that: In step 7, after the node(x,y) receives the Delay_req signal from the node(x+1,j), it records the received timestamp t4 and sends it to the node(x+1,j) through the Delay_resq signal timestamp t4, calculates the average propagation delay and the clock offset of the slave relative to the host, performs time node correction, and completes the clock synchronization of the node(x,y) and the node(x+1,j). That is, after the node(0,0) receives the Delay_req signal from the node(1,1), it records the received timestamp t4 and sends it to the node(1,1) through the Delay_resq signal, calculates the average propagation delay and the clock offset of the slave relative to the host, performs time node correction, and now the node(0,0) and the node(1,1) complete the clock synchronization; The specific methods for correcting the time nodes are as follows: At this moment, node(1,1) has four time information: t1, t2, t3, t4; Since the clocks of the receiving and sending ends are not synchronized, there is a time offset between the t1 of the receiving node and the t1 of the sending node: offset=[(t2-t1)-(t4-t3)] / 2 When information is transmitted, it will also cause path delay: delay=[(t2-t1)+(t4-t3)] / 2 The local node clock can be corrected by the above two formulas.
8. The clock synchronization method for clustered drones based on the IEEE1588 protocol according to claim 1, characterized in that: In step 8, after the node (x, y) completes clock synchronization with the (x+1)-hop node, each node in the (x+1)-hop node repeats steps 4 to 7 with each node in the (x+2)-hop node, and so on, until the k-hop node synchronization is completed, as follows: Since step 7 has completed the clock synchronization of node (0,0) and node (1,1), repeat the above steps to complete the clock synchronization of node (0,0) with node (1,2) and node (1,3), that is, the clock synchronization of the 0-level node and the 1-hop node is completed; The x-hop node and the (x+1)-hop node repeat the above process to complete clock synchronization until x=k, and so on.