Dense network positioning method based on ultra wide band and program product
By dividing drones into anchor equipment and equipment to be tested in dense networks, and using ultra-wideband technology to calculate flight time difference, the problem of excessive interaction time of drones in dense networks is solved, and positioning efficiency is improved.
Patent Information
- Application Number
- CN202411362337.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2025-02-18
AI Technical Summary
In dense networks, drone positioning messages interact for too long, resulting in inefficient positioning.
Using a dense network positioning method based on ultra-wideband, the communication equipment is divided into anchor equipment and the equipment to be tested. Through wireless communication between the anchor equipment and the equipment to be tested, the time stamp is recorded to determine the flight time difference, thereby calculating the equipment to be tested. coordinates of .
Passive monitoring reduces the time of message interaction between drones, and improves the efficiency of drone positioning in dense networks.
Smart Images

Figure CN119485145A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of device positioning, and in particular to a dense network positioning method and program product based on ultra-wideband. Background Art
[0002] With the development of science and technology, the application of drone swarms has become more and more extensive, involving many technical aspects such as flight performances, military exercises, terrain scanning, agricultural irrigation, etc.
[0003] In the existing drone swarm control technology, the positioning of drones usually requires using drones as anchor points and exchanging ranging messages between different anchor points to achieve ranging and positioning of each drone in the drone swarm. However, in practical applications, as the number of drones in a drone swarm increases, the time required for positioning message interaction between drones increases. For dense networks, due to the huge number of drones, the traditional drone positioning method has the problem of too long a time for positioning message interaction between drones. Summary of the invention
[0004] In view of this, the purpose of the embodiments of the present application is to provide a dense network positioning method and program product based on ultra-wideband, which can improve the problem that when the traditional drone positioning method is applied to a dense network, the time for positioning message interaction between drones is too long.
[0005] In order to achieve the above technical objectives, the technical solutions adopted in this application are as follows:
[0006] In a first aspect, an embodiment of the present application provides a dense network positioning method based on ultra-wideband, the method comprising:
[0007] Classifying each communication device in a dense network as an anchor device or a device under test based on a preset rule, wherein the dense network includes a UWB anchor point and a plurality of communication devices;
[0008] Determine the flight time difference between the anchor device and the device under test according to the timestamps of the anchor device broadcasting and receiving messages and the device under test receiving messages when the anchor device and the device under test perform wireless communication, wherein the flight time difference represents the difference in flight time from different anchor devices to the same device under test;
[0009] The coordinates of the device under test are determined according to the flight time difference.
[0010] In combination with the first aspect, in some optional implementations, each communication device in a dense network is divided into an anchor device and a device to be tested based on a preset rule, including:
[0011] According to the communication distance of the UWB anchor point, each of the multiple communication devices is divided into the anchor point device or the device under test, wherein, among the multiple communication devices, the communication device whose distance to the UWB anchor point is less than the communication distance is used as the anchor point device, and among the multiple communication devices, other communication devices except the anchor point device are used as the device under test.
[0012] In combination with the first aspect, in some optional implementations, determining the flight time difference between the anchor device and the device under test according to a timestamp of a message broadcast and received by the anchor device and a timestamp of a message received by the device under test during wireless communication between the anchor device and the device under test includes:
[0013] A1: Divide at least three anchor point devices and one device to be tested into a ranging group, and divide the combination of the device to be tested in the ranging group and every two different anchor point devices into a time difference measurement group, wherein the time difference measurement group includes a first anchor point device, a second anchor point device and the device to be tested;
[0014] A2: broadcasting twice in sequence through the first anchor device and the second anchor device in a loop, and recording the timestamp of each time the first anchor device and the second anchor device broadcast and receive a message and the time when the device under test receives a message;
[0015] A3: determining, according to the timestamp, the flight time difference between the first anchor point device and the device to be tested and the flight time difference between the second anchor point device and the device to be tested;
[0016] A4: for different time difference measurement groups in the distance measurement group, loop the above steps A2 to A3 to determine the flight time difference corresponding to each time difference measurement group;
[0017] A5: loop the above steps A1 to A4 until all the devices under test are traversed.
[0018] In combination with the first aspect, in some optional implementations, determining, according to the timestamp, the flight time difference between the first anchor device and the device to be tested and between the second anchor device and the device to be tested includes:
[0019] Determine the flight time between the first anchor device and the device under test as T f01 , the flight time between the second anchor device and the device under test is T f02 , the flight time between the first anchor device and the second anchor device is T f12 ,but:
[0020]
[0021] In the formula, Indicates the timestamp when the device under test receives the first broadcast message from the first anchor device. Indicates the timestamp when the second anchor device receives the first broadcast message from the first anchor device. Indicates the timestamp when the device under test receives the first broadcast message from the second anchor device. Indicates the timestamp when the second anchor device broadcasts the message for the first time. Indicates the timestamp when the second anchor device receives the second broadcast message from the first anchor device. Indicates the timestamp when the device under test receives the second broadcast message from the first anchor device;
[0022] Sure Then we have:
[0023]
[0024] Sure According to (1) and (2), we can get:
[0025]
[0026] Determine the intermediate parameter D 12 =T f12 -T f01 +T f02 , then equation (4) and equation (5) can be transformed into:
[0027]
[0028] Multiplying equation (6) and equation (7) yields:
[0029]
[0030] Expanding and rearranging formula (8) yields:
[0031]
[0032] By replacing the corresponding terms in equation (9) with equation (6) or equation (7), we obtain:
[0033]
[0034] Then the intermediate parameter D 12 It manifests as:
[0035]
[0036] From equation (10) and equation (11), we can get equal Then formula (12) can be converted to:
[0037]
[0038] Since the intermediate parameter D 12 The flight time T between the first anchor device and the second anchor device is included f12 , then the flight time difference T between the first anchor device and the device under test and between the second anchor device and the device under test f02 -T f01 =D 12 -T f12 ,in:
[0039]
[0040] In the formula, Indicates the timestamp when the first anchor device receives the first broadcast message from the second anchor device. Indicates the timestamp when the first anchor device broadcasts the message for the first time. Indicates the timestamp when the first anchor device broadcasts the message for the second time.
[0041] In combination with the first aspect, in some optional implementations, between step A4 and step A5, determining the flight time difference between the anchor device and the device under test according to the timestamp of the anchor device broadcasting and receiving the message and the device under test receiving the message when the anchor device and the device under test perform wireless communication, further comprising:
[0042] B1: performing error removal processing on the flight time difference by a preset strategy to obtain the flight time difference after error removal;
[0043] Then, according to the flight time difference, the coordinates of the device under test are determined, including:
[0044] The coordinates of the device under test are determined according to the error-removed flight time difference.
[0045] In combination with the first aspect, in some optional implementations, performing error removal processing on the flight time difference by a preset strategy to obtain the error-removed flight time difference includes:
[0046] For a first error caused by clock deviation damage between the anchor device and the device under test, the first error is expressed as follows:
[0047]
[0048] In the formula, represents white noise about timestamps, and different Independent of each other;
[0049] Substituting equation (15) into the first equation in equation (12), the first estimation error of the intermediate parameter can be expressed as:
[0050]
[0051] In the formula, according to the conditions Transform formula (16) into:
[0052]
[0053] Then the first error expectation of the intermediate parameter is expressed as:
[0054]
[0055] In the formula, represents the first error expectation;
[0056] Substituting equation (15) into equation (14), the second estimated error corresponding to the flight time from the first anchor device to the second anchor device can be expressed as:
[0057]
[0058] Then the second error corresponding to the flight time between the first anchor device and the second anchor device is expected to be expressed as:
[0059]
[0060] In the formula, represents the second error expectation;
[0061] Then the flight time difference after removing the error is expressed as:
[0062]
[0063] In the formula, Represents the flight time after removing the error.
[0064] In combination with the first aspect, in some optional implementations, determining the coordinates of the device under test according to the flight time difference includes:
[0065] Determine the coordinates of the device to be tested according to the flight time differences corresponding to the multiple time difference measurement groups:
[0066]
[0067] Where (x, y) represents the coordinates of the device under test, where:
[0068]
[0069] In the formula, i=3,4,…,I,τ i =T f0i -T f01 , (x1, y1) represents the coordinates of the first anchor device, (x2, y2) represents the coordinates of the second anchor device, τ2 = T f02 -T f01 =D 12 -T f12 , c represents the speed of light.
[0070] In combination with the first aspect, in some optional implementations, the method further includes:
[0071] The coordinates of the device under test are broadcasted to other devices in the dense network through the device under test.
[0072] In combination with the first aspect, in some optional implementations, the communication device is a drone.
[0073] In a second aspect, an embodiment of the present application further provides a computer program product, including a computer program, which implements the above method when executed by a processor.
[0074] The invention adopting the above technical solution has the following advantages:
[0075] In the technical solution provided by the present application, the communication devices in the dense network are first divided into anchor devices and devices to be tested based on preset rules, and then the flight time difference between the anchor device and the device to be tested is determined according to the timestamps of wireless communication between the communication devices, and finally the coordinates of the device to be tested are determined according to the flight time difference. In this way, by exchanging messages between the anchor devices, and monitoring the interaction process of the anchor devices through the device to be tested, the timestamps monitored by the device to be tested during the interaction process of the anchor devices are collected, and the flight time difference between different anchor devices and the device to be tested is determined based on each timestamp, so as to realize the positioning of the anchor devices, and reduce the time required for message interaction between communication devices by passive monitoring of the device to be tested, so as to improve the problem that the time for positioning message interaction between drones is too long when the traditional drone positioning method is applied to dense networks. BRIEF DESCRIPTION OF THE DRAWINGS
[0076] The present application may be further described by the non-limiting embodiments given in the accompanying drawings. It should be understood that the following drawings only illustrate certain embodiments of the present application and therefore should not be regarded as limiting the scope. For those of ordinary skill in the art, other relevant drawings may be obtained based on these drawings without creative effort.
[0077] Figure 1 A flowchart of a dense network positioning method based on ultra-wideband is provided in an embodiment of the present application.
[0078] Figure 2 A schematic diagram of the division results of the ranging groups provided in an embodiment of the present application.
[0079] Figure 3 A schematic diagram of the timestamp recording process provided for an embodiment of the present application. DETAILED DESCRIPTION
[0080] The present application will be described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that in the drawings or descriptions, similar or identical parts use the same figure numbers, and the implementation methods not shown or described in the drawings are forms known to ordinary technicians in the relevant technical field. In the description of this application, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0081] Please refer to Figure 1 The embodiment of the present application provides a dense network positioning method based on ultra-wideband. The dense network positioning method based on ultra-wideband may include the following steps:
[0082] Step 110, classifying each communication device in a dense network as an anchor device or a device under test based on a preset rule, wherein the dense network includes a UWB anchor point and a plurality of communication devices;
[0083] Step 120, determining a flight time difference between the anchor device and the device under test according to a timestamp of a message broadcast and received by the anchor device and a timestamp of a message received by the device under test during wireless communication between the anchor device and the device under test, wherein the flight time difference represents a difference in flight time from different anchor devices to the same device under test;
[0084] Step 130: determining the coordinates of the device under test according to the flight time difference.
[0085] In the above implementation, each communication device in the dense network is first divided into an anchor device and a device to be tested, and then the flight time difference between the anchor device and the device to be tested is determined according to the timestamp generated when the anchor device and the device to be tested communicate wirelessly, and finally the coordinates of the device to be tested are determined according to the flight time difference. In this way, by exchanging messages between anchor devices, and by monitoring the interaction process of the anchor device through the device to be tested, the timestamps monitored by the device to be tested during the interaction process of the anchor device are collected, and the flight time difference between different anchor devices and the device to be tested is determined based on each timestamp, so as to realize the positioning of the device to be tested, and reduce the time required for message interaction between communication devices by passive monitoring of the device to be tested, so as to improve the problem that the time for positioning message interaction between drones is too long when the traditional drone positioning method is applied to a dense network.
[0086] The following is a detailed description of the various steps of the dense network positioning method based on ultra-wideband, as follows:
[0087] In step 110, the dense network may be composed of UWB (Ultra Wide Band) anchor points and a large number of communication devices communicating with each other. In this embodiment, the communication device is a drone. That is, the dense network can be understood as a swarm of drones. In a dense network, the more drones there are, the longer the process of message interaction between the drones to achieve positioning. Therefore, in order to shorten the time required for drones to interact with each other during the positioning process, this embodiment divides the drones in the dense network into anchor devices and devices to be tested (or active drones and passive drones) based on preset rules.
[0088] In this embodiment, dividing each communication device in a dense network into an anchor device and a device to be tested based on a preset rule may include:
[0089] According to the communication distance of the UWB anchor point, each of the multiple communication devices is divided into the anchor point device or the device under test, wherein, among the multiple communication devices, the communication device whose distance to the UWB anchor point is less than the communication distance is used as the anchor point device, and among the multiple communication devices, other communication devices except the anchor point device are used as the device under test.
[0090] In this embodiment, there is at least one UWB anchor point in a dense network, and one of the UWB anchor points is used as the origin for positioning each drone in the dense network. Among them, the active drone interacts with the UWB anchor point through messages, and the positioning of the active drone can be directly realized. Then the active drone with a determined position is used as a virtual anchor point (i.e., anchor point device), and the passive drone is used as the device to be tested to monitor the interaction process between the active drones, and in the subsequent positioning process of the passive drone, the flight time difference between different active drones to the same passive drone is determined based on the timestamp generated during the message interaction process of the active drone, and the positioning of the passive drone is realized based on this.
[0091] In this embodiment, the method of realizing drone positioning by exchanging messages between the drone and the UWB anchor point is a conventional technical means in the art and will not be described in detail here.
[0092] In this embodiment, the communication distance of the UWB anchor point can be the rated communication range of the device used as the UWB anchor point when it is produced, or it can be a range that is manually customized by the user based on actual usage experience. It is understandable that the distance between each communication device and the UWB anchor point does not need to be actually calculated. As long as the communication device and the UWB anchor point can establish a stable communication connection, it can be determined that the distance between the communication device and the UWB anchor point is less than the communication distance of the UWB anchor point.
[0093] In step 120, determining the flight time difference between the anchor device and the device under test according to the timestamp of the anchor device broadcasting and receiving the message and the device under test receiving the message when the anchor device and the device under test perform wireless communication, may include:
[0094] A1: Divide at least three anchor point devices and one device to be tested into a ranging group, and divide the combination of the device to be tested in the ranging group and every two different anchor point devices into a time difference measurement group, wherein the time difference measurement group includes a first anchor point device, a second anchor point device and the device to be tested;
[0095] A2: broadcasting twice in sequence through the first anchor device and the second anchor device in a loop, and recording the timestamp of each time the first anchor device and the second anchor device broadcast and receive a message and the time when the device under test receives a message;
[0096] A3: determining, according to the timestamp, the flight time difference between the first anchor point device and the device to be tested and the flight time difference between the second anchor point device and the device to be tested;
[0097] A4: for different time difference measurement groups in the distance measurement group, loop the above steps A2 to A3 to determine the flight time difference corresponding to each time difference measurement group;
[0098] A5: loop the above steps A1 to A4 until all the devices under test are traversed.
[0099] In this embodiment, refer to Figure 2 , at least three active drones (three in this embodiment are taken as an example, namely drones U1, U2 and U3) and one passive drone (drone U0) are used as a ranging group, and the arrows in the figure indicate the time measured by the device. And these clocks are independent and asynchronous.
[0100] In this embodiment, refer to Figure 3 , two active drones (i.e. anchor devices, the two anchor devices are the first anchor device and the second anchor device) and one passive drone (i.e. the device to be tested) are used as a time difference measurement group. Then the two active drones exchange messages. Specifically, the active drone U1 sends a time stamp Broadcast positioning message (in the broadcast process of wireless communication, every message sent by a communication device can be received by other communication devices). This positioning message does not respond to any specific incoming message. The active drone U2 sends a timestamp. Received message. U2 at timestamp Broadcast positioning message, U1 in timestamp Received the message. U1 waiting time has expired Then broadcast and Similarly, U2 waits until the time is up Then broadcast and The passive drone U0 receives all timestamps.
[0101] In short, the two active drones take turns to broadcast messages twice respectively, and the passive drone receives the timestamps of the two active drones when broadcasting the messages.
[0102] In this embodiment, determining the flight time difference between the first anchor device and the device to be tested and between the second anchor device and the device to be tested according to the timestamp includes:
[0103] Determine the flight time between the first anchor device and the device under test as T f01 , the flight time between the second anchor device and the device under test is T f02 , the flight time between the first anchor device and the second anchor device is T f12 ,but:
[0104]
[0105] In the formula, Indicates the timestamp when the device under test receives the first broadcast message from the first anchor device. Indicates the timestamp when the second anchor device receives the first broadcast message from the first anchor device. Indicates the timestamp when the device under test receives the first broadcast message from the second anchor device. Indicates the timestamp when the second anchor device broadcasts the message for the first time. Indicates the timestamp when the second anchor device receives the second broadcast message from the first anchor device. Indicates the timestamp when the device under test receives the second broadcast message from the first anchor device;
[0106] Sure Then we have:
[0107]
[0108] Sure According to (1) and (2), we can get:
[0109]
[0110] Determine the intermediate parameter D 12 =T f12 -T f01 +T f02 , then equation (4) and equation (5) can be transformed into:
[0111]
[0112] Multiplying equation (6) and equation (7) yields:
[0113]
[0114] Expanding and rearranging formula (8) yields:
[0115]
[0116] By replacing the corresponding terms in the brackets of formula (9) with formula (6) or formula (7), we get:
[0117]
[0118] Then the intermediate parameter D 12 It manifests as:
[0119]
[0120] From equation (10) and equation (11), we can get equal Then formula (12) can be converted to:
[0121]
[0122] Since the intermediate parameter D 12 The flight time T between the first anchor device and the second anchor device is included f12 , then the flight time difference T between the first anchor device and the device under test and between the second anchor device and the device under test f02 -T f01 =D 12 -T f12 ,in:
[0123]
[0124] In the formula, Indicates the timestamp when the first anchor device receives the first broadcast message from the second anchor device. Indicates the timestamp when the first anchor device broadcasts the message for the first time. Indicates the timestamp when the first anchor device broadcasts the message for the second time.
[0125] In this embodiment, after the flight time difference between the first anchor device and the device to be tested and the flight time difference between the second anchor device and the device to be tested is calculated through the above step A3, since multiple time difference measurement groups can be defined in one ranging group, for each time difference measurement group, steps A2 to A3 are repeated to calculate the flight time difference corresponding to each time difference measurement group. That is, within the range of the ranging group division, two active drones and the same passive drone located in the ranging group are selected as new time difference measurement groups without complete duplication, and the corresponding flight time differences are calculated to obtain multiple flight time differences. Then, a new device to be tested and at least three anchor devices are reselected as the ranging group, and the above steps A1 to A4 are repeated until the flight time differences corresponding to all devices to be tested are determined.
[0126] In this embodiment, considering the influence of the clock error on the accuracy of the positioning result, between step A4 and step A5, the flight time difference between the anchor device and the device under test is determined according to the timestamps of the anchor device broadcasting and receiving messages and the device under test receiving the messages when the anchor device and the device under test perform wireless communication, and further includes:
[0127] B1: performing error removal processing on the flight time difference by a preset strategy to obtain the flight time difference after error removal;
[0128] Then, according to the flight time difference, the coordinates of the device under test are determined, including:
[0129] The coordinates of the device under test are determined according to the error-removed flight time difference.
[0130] In this embodiment, the error removal process is performed on the flight time difference by a preset strategy to obtain the error-removed flight time difference, including:
[0131] For a first error caused by clock deviation damage between the anchor device and the device under test, the first error is expressed as follows:
[0132]
[0133] In the formula, represents white noise about timestamps, and different Independent of each other;
[0134] Substituting equation (15) into the first equation in equation (12), the first estimation error of the intermediate parameter can be expressed as:
[0135]
[0136] In the formula, according to the conditions Transform formula (16) into:
[0137]
[0138] Then the first error expectation of the intermediate parameter is expressed as:
[0139]
[0140] In the formula, represents the first error expectation;
[0141] Substituting equation (15) into equation (14), the second estimated error corresponding to the flight time from the first anchor device to the second anchor device can be expressed as:
[0142]
[0143] Then the second error corresponding to the flight time between the first anchor device and the second anchor device is expected to be expressed as:
[0144]
[0145] In the formula, represents the second error expectation;
[0146] Then the flight time difference after removing the error is expressed as:
[0147]
[0148] In the formula, Represents the flight time after removing the error.
[0149] In step 130, determining the coordinates of the device under test according to the flight time difference may include:
[0150] Determine the coordinates of the device to be tested according to the flight time differences corresponding to the multiple time difference measurement groups:
[0151]
[0152] Where (x, y) represents the coordinates of the device under test, where:
[0153]
[0154] In the formula, i=3,4,…,I,τ i =T f0i -T f01 , (x1, y1) represents the coordinates of the first anchor device, (x2, y2) represents the coordinates of the second anchor device, τ2 = T f02 -T f01 =D 12 -T f12 , c represents the speed of light.
[0155] In this embodiment, let the flight time difference τ i =T f0i -T f01 , τ i Multiplying by the speed of light c, converting the flight time difference into distance difference, we get:
[0156] cτ i =cT f0i -cT f01 =R i -R1 (24)
[0157] In the formula, R i Indicates the passive drone (i.e. the device under test) U0 to the active drone (i.e. the anchor device) U i R1 represents the distance from the passive UAV U0 to the active UAV U1. Among them, (x i ,y i ) represents the U of the active UAV i Coordinates, (x, y) represents the coordinates of the passive drone. Square and convert equation (24) to get:
[0158]
[0159] For i=2,3...I, subtract the term i=2 from equation (25) to obtain:
[0160]
[0161] Then expand the third and fourth terms of formula (26) to obtain:
[0162]
[0163] For i=3, 4...I, although this embodiment only takes three active drones as an example, in actual applications, the number of active drones can be greater. Therefore, for the case of i active drones, formula (27) can be simplified as:
[0164] A i x+B i y+C i =0 (28)
[0165] in:
[0166]
[0167] In the formula, i=3,4,…,I,τ i =T f0i -T f01 , (x1, y1) represents the coordinates of the first anchor device, (x2, y2) represents the coordinates of the second anchor device, τ2 = T f02 -T f01 =D 12 -T f12 , c represents the speed of light.
[0168] For i = 3, 4, ..., I, convert the equation listed in formula (23) into matrix form and obtain:
[0169]
[0170] Solve for the passive drone's coordinates (x,y) by applying the pseudo-inverse of the matrix to both sides.
[0171] As an optional implementation, the method may further include:
[0172] The coordinates of the device under test are broadcasted to other devices in the dense network through the device under test.
[0173] In this way, through the above-mentioned dense network positioning method based on ultra-wideband, the device under test can be located by the flight time difference between different anchor devices to the same device under test. By using the passive drone to monitor the active drone broadcast message, the time required for positioning message interaction between multiple drones is reduced when the drone is positioned.
[0174] An embodiment of the present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.
[0175] In this embodiment, the processor may be an integrated circuit chip having signal processing capabilities. The above-mentioned processor may be a general-purpose processor. For example, the processor may be a central processing unit (CPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, and may implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present application.
[0176] Through the description of the above implementation methods, technical personnel in this field can clearly understand that the present application can be implemented by hardware, and can also be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.), including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each implementation scenario of the present application.
[0177] In summary, the embodiment of the present application provides a method and program product for dense network positioning based on ultra-wideband. In the present technical solution, the communication devices in the dense network are first divided into anchor devices and devices to be tested based on preset rules, and then the flight time difference between the anchor device and the device to be tested is determined according to the timestamps of wireless communication between the communication devices, and finally the coordinates of the device to be tested are determined according to the flight time difference. In this way, by exchanging messages between the anchor devices, and monitoring the interaction process of the anchor devices through the device to be tested, the timestamps monitored by the device to be tested during the interaction process of the anchor devices are collected, and the flight time difference between different anchor devices and the device to be tested is determined based on each timestamp, so as to realize the positioning of the device to be tested, and reduce the time required for message interaction between communication devices by passive monitoring of the device to be tested, so as to improve the problem that the time for positioning message interaction between drones is too long when the traditional drone positioning method is applied to dense networks.
[0178] In the embodiments provided by the present application, it should be understood that the disclosed method can also be implemented in other ways. The method embodiments described above are merely schematic, for example, the flowchart in the accompanying drawings shows the possible architecture, function and operation of the method and computer program product according to the embodiments of the present application. In this regard, each box in the flow chart can represent a part of a module, a program segment or a code, and a part of the module, a program segment or a code includes one or more executable instructions for implementing the specified logical function. It should also be noted that each box in the flow chart, and the combination of the boxes in the flow chart, can be implemented by a dedicated hardware-based system that performs the specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions. In addition, each functional module in each embodiment of the present application can be integrated together to form an independent part, or each module can exist separately, or two or more modules can be integrated to form an independent part.
[0179] The above description is only an embodiment of the present application and is not intended to limit the protection scope of the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A dense network positioning method based on ultra-wideband, characterized in that: The method comprises: Classifying each communication device in a dense network as an anchor device or a device under test based on a preset rule, wherein the dense network includes a UWB anchor point and a plurality of communication devices; Determine the flight time difference between the anchor device and the device under test according to the timestamps of the anchor device broadcasting and receiving messages and the device under test receiving messages when the anchor device and the device under test perform wireless communication, wherein the flight time difference represents the difference in flight time from different anchor devices to the same device under test; The coordinates of the device under test are determined according to the flight time difference.
2. The method according to claim 1, characterized in that Based on preset rules, each communication device in a dense network is divided into anchor devices and devices to be tested, including: According to the communication distance of the UWB anchor point, each of the multiple communication devices is divided into the anchor point device or the device under test, wherein, among the multiple communication devices, the communication device whose distance to the UWB anchor point is less than the communication distance is used as the anchor point device, and among the multiple communication devices, other communication devices except the anchor point device are used as the device under test.
3. The method according to claim 1, characterized in that Determining the flight time difference between the anchor device and the device under test according to the timestamps of the anchor device broadcasting and receiving messages and the device under test receiving the messages when the anchor device and the device under test perform wireless communication, including: A1: Divide at least three anchor point devices and one device to be tested into a ranging group, and divide the combination of the device to be tested in the ranging group and every two different anchor point devices into a time difference measurement group, wherein the time difference measurement group includes a first anchor point device, a second anchor point device and the device to be tested; A2: broadcasting twice in sequence through the first anchor device and the second anchor device in a loop, and recording the timestamp of each time the first anchor device and the second anchor device broadcast and receive a message and the time when the device under test receives a message; A3: determining, according to the timestamp, the flight time difference between the first anchor point device and the device to be tested and the flight time difference between the second anchor point device and the device to be tested; A4: for different time difference measurement groups in the distance measurement group, loop the above steps A2 to A3 to determine the flight time difference corresponding to each time difference measurement group; A5: loop the above steps A1 to A4 until all the devices under test are traversed.
4. The method according to claim 3, characterized in that Determining, according to the timestamp, the flight time difference between the first anchor point device and the device to be tested and the flight time difference between the second anchor point device and the device to be tested, comprising: Determine the flight time between the first anchor device and the device under test as T f01 , the flight time between the second anchor device and the device under test is T f02 , the flight time between the first anchor device and the second anchor device is T f12 ,but: In the formula, Indicates the timestamp when the device under test receives the first broadcast message from the first anchor device. Indicates the timestamp when the second anchor device receives the first broadcast message from the first anchor device. Indicates the timestamp when the device under test receives the first broadcast message from the second anchor device. Indicates the timestamp when the second anchor device broadcasts the message for the first time. Indicates the timestamp when the second anchor device receives the second broadcast message from the first anchor device. Indicates the timestamp when the device under test receives the second broadcast message from the first anchor device; Sure Then we have: Sure According to (1) and (2), we can get: Determine the intermediate parameter D 12 =T f12 -T f01 +T f02 , then equation (4) and equation (5) can be transformed into: Multiplying equation (6) and equation (7) yields: Expanding and rearranging formula (8) yields: By replacing the corresponding terms in equation (9) with equation (6) or equation (7), we obtain: Then the intermediate parameter D 12 It manifests as: From equation (10) and equation (11), we can get equal Then formula (12) can be converted to: Since the intermediate parameter D 12 The flight time T between the first anchor device and the second anchor device is included f12 , then the flight time difference T between the first anchor device and the device under test and between the second anchor device and the device under test f02 -T f01 =D 12 -T f12 ,in: In the formula, Indicates the timestamp when the first anchor device receives the first broadcast message from the second anchor device. Indicates the timestamp when the first anchor device broadcasts the message for the first time. Indicates the timestamp when the first anchor device broadcasts the message for the second time.
5. The method according to claim 4, characterized in that Between step A4 and step A5, the flight time difference between the anchor device and the device under test is determined according to the timestamp of the anchor device broadcasting and receiving the message and the device under test receiving the message when the anchor device and the device under test perform wireless communication, and further includes: B1: performing error removal processing on the flight time difference by a preset strategy to obtain the flight time difference after error removal; Then, according to the flight time difference, the coordinates of the device under test are determined, including: The coordinates of the device under test are determined according to the error-removed flight time difference.
6. The method according to claim 5, characterized in that Performing error removal processing on the flight time difference by a preset strategy to obtain the error-removed flight time difference includes: For a first error caused by clock deviation damage between the anchor device and the device under test, the first error is expressed as follows: In the formula, represents white noise about timestamps, and different Independent of each other; Substituting equation (15) into the first equation in equation (12), the first estimation error of the intermediate parameter can be expressed as: In the formula, according to the conditions Transform formula (16) into: Then the first error expectation of the intermediate parameter is expressed as: In the formula, represents the first error expectation; Substituting equation (15) into equation (14), the second estimated error corresponding to the flight time from the first anchor device to the second anchor device can be expressed as: Then the second error corresponding to the flight time between the first anchor device and the second anchor device is expected to be expressed as: In the formula, represents the second error expectation; Then the flight time difference after removing the error is expressed as: In the formula, Represents the flight time after removing the error.
7. The method according to claim 6, characterized in that Determining the coordinates of the device under test according to the flight time difference includes: Determine the coordinates of the device to be tested according to the flight time differences corresponding to the multiple time difference measurement groups: Where (x, y) represents the coordinates of the device under test, where: In the formula, i=3, 4,...,I,τ i =T f0i -T f01 , (x1, y1) represents the coordinates of the first anchor device, (x2, y2) represents the coordinates of the second anchor device, τ2 = T f02 -T f01 =D 12 -T f12 , c represents the speed of light.
8. The method according to claim 1, characterized in that The method further comprises: The coordinates of the device under test are broadcasted to other devices in the dense network through the device under test.
9. The method according to claim 1, characterized in that: The communication device is a drone.
10. A computer program product, characterized in that The invention comprises a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
UWB-based positioning method and system
CN113038597A