CN112788743B - Positioning method and device based on ultra-wideband technology - Google Patents
Positioning method and device based on ultra-wideband technology Download PDFInfo
- Publication number
- CN112788743B CN112788743B CN201911096362.4A CN201911096362A CN112788743B CN 112788743 B CN112788743 B CN 112788743B CN 201911096362 A CN201911096362 A CN 201911096362A CN 112788743 B CN112788743 B CN 112788743B
- Authority
- CN
- China
- Prior art keywords
- information
- angle
- distance
- positioning
- velocity information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000005516 engineering process Methods 0.000 title claims abstract description 35
- 230000004927 fusion Effects 0.000 claims abstract description 60
- 230000008859 change Effects 0.000 claims description 33
- 238000001914 filtration Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005259 measurement Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 13
- 238000007499 fusion processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
- H04W64/006—Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
The invention discloses a positioning method and device based on an ultra-wideband technology, and relates to the technical field of computers. One embodiment of the method comprises the following steps: after receiving the transmitting signals from the positioning tag, the multiple antennas of the reference node determine distance information and angle information between the positioning tag and the reference node according to the time difference between the transmitting signals and the antennas; measuring linear velocity information and angular velocity information of the positioning tag, performing distance fusion on the distance information and the linear velocity information to obtain a distance estimated value, and performing angle fusion on the angle information and the angular velocity information to obtain an angle estimated value; and calculating the position information of the positioning label under the reference node coordinate system according to the distance estimation value and the angle estimation value. According to the method, the distance estimated value and the angle estimated value are obtained by respectively fusing the distance information and the angle information, so that the position information of the positioning label can be calculated, reference nodes do not need to be laid in advance, and high-precision positioning can be realized.
Description
Technical Field
The present invention relates to the field of computers, and in particular, to a positioning method and apparatus based on ultra wideband technology.
Background
Ultra Wideband (UWB) technology is a new type of wireless communication technology that exhibits great advantages in many application areas, such as wireless positioning. In the prior art, two implementation modes for positioning based on UWB technology exist, namely, a base station is required to be globally arranged, a positioning tag transmits signals to the periphery, and the position information of the positioning tag is calculated according to the time difference of receiving the transmitted signals by a plurality of base stations; and secondly, arranging a plurality of antennas in a base station, transmitting signals to the periphery by the positioning tag, and calculating the position information of the positioning tag according to the time difference of the transmitted signals received by the plurality of antennas.
In the process of implementing the present invention, the inventor finds that at least the following problems exist in the prior art:
(1) The base stations are required to be laid in advance in the first mode, so that the engineering cost is high; the position information of each base station needs to be accurately measured, and accurate time synchronization among the base stations needs to be ensured, so that the stability is poor;
(2) In the second mode, complicated base station arrangement work is not needed, but because a plurality of antennas are arranged in one base station, the time difference of receiving the transmission signals by the plurality of antennas is not obvious, the positioning precision is poor, and the stability is poor.
Disclosure of Invention
In view of the above, the embodiment of the invention provides a positioning method and a positioning device based on ultra wideband technology, which are used for respectively performing distance fusion and angle fusion processing on distance information and angle information between a positioning tag and a reference node to obtain a smooth distance estimation value and an angle estimation value, so that the position information of the positioning tag can be calculated. The method can realize high-precision positioning without arranging reference nodes in advance, and has good stability.
To achieve the above object, according to an aspect of the embodiments of the present invention, there is provided a positioning method based on ultra wideband technology.
The positioning method based on the ultra-wideband technology provided by the embodiment of the invention comprises the following steps: after receiving transmitting signals from a positioning tag, a plurality of antennas of a reference node determine distance information and angle information between the positioning tag and the reference node according to time difference between the transmitting signals reaching the antennas; measuring linear velocity information and angular velocity information of the positioning tag, performing distance fusion on the distance information and the linear velocity information to obtain a distance estimated value, and performing angle fusion on the angle information and the angular velocity information to obtain an angle estimated value; and calculating the position information of the positioning label under a reference node coordinate system according to the distance estimation value and the angle estimation value.
Optionally, the measuring the linear velocity information and the angular velocity information of the positioning tag includes: and measuring the linear speed information of the positioning tag by adopting an odometer, and measuring the angular speed information of the positioning tag by adopting an inertial measurement unit or a gyroscope.
Optionally, the performing distance fusion on the distance information and the linear velocity information to obtain a distance estimated value, and performing angle fusion on the angle information and the angular velocity information to obtain an angle estimated value includes: and carrying out distance fusion on the distance information and the linear velocity information by adopting Kalman filtering to obtain a distance estimated value, and carrying out angle fusion on the angle information and the angular velocity information to obtain an angle estimated value.
Optionally, the calculating the position information of the positioning tag in the reference node coordinate system includes: multiplying the distance estimation value by the cosine value of the angle estimation value to obtain the abscissa of the positioning label under a reference node coordinate system; multiplying the distance estimation value by the sine value of the angle estimation value to obtain the ordinate of the positioning label under the reference node coordinate system.
Optionally, before the step of performing distance fusion on the distance information and the linear velocity information to obtain a distance estimated value and performing angle fusion on the angle information and the angular velocity information to obtain an angle estimated value, the method further includes: performing time synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information through a clock synchronization filter; and carrying out frequency synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information after time synchronization.
Optionally, the method further comprises: calculating position change information between the position information of the positioning labels at two adjacent moments; and comparing the position change information with a preset threshold interval to filter out the position information corresponding to the position change information falling outside the threshold interval.
To achieve the above object, according to another aspect of the embodiments of the present invention, there is provided a positioning device based on ultra wideband technology.
The positioning device based on the ultra-wideband technology in the embodiment of the invention comprises: the determining module is used for determining distance information and angle information between the positioning tag and the reference node according to the time difference between the transmitting signals and the antennas after the transmitting signals from the positioning tag are received by the plurality of antennas of the reference node; the fusion module is used for measuring the linear velocity information and the angular velocity information of the positioning tag, carrying out distance fusion on the distance information and the linear velocity information to obtain a distance estimated value, and carrying out angle fusion on the angle information and the angular velocity information to obtain an angle estimated value; and the calculating module is used for calculating the position information of the positioning label under a reference node coordinate system according to the distance estimated value and the angle estimated value.
Optionally, the fusion module is further configured to: and measuring the linear speed information of the positioning tag by adopting an odometer, and measuring the angular speed information of the positioning tag by adopting an inertial measurement unit or a gyroscope.
Optionally, the fusion module is further configured to: and carrying out distance fusion on the distance information and the linear velocity information by adopting Kalman filtering to obtain a distance estimated value, and carrying out angle fusion on the angle information and the angular velocity information to obtain an angle estimated value.
Optionally, the computing module is further configured to: multiplying the distance estimation value by the cosine value of the angle estimation value to obtain the abscissa of the positioning label under a reference node coordinate system; and multiplying the distance estimation value by the sine value of the angle estimation value to obtain the ordinate of the positioning label under the reference node coordinate system.
Optionally, the apparatus further comprises: the synchronization module is used for carrying out time synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information through a clock synchronization filter; and performing frequency synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information after time synchronization.
Optionally, the apparatus further comprises: the filtering module is used for calculating position change information between the position information of the positioning labels at two adjacent moments; and comparing the position change information with a preset threshold interval to filter out the position information corresponding to the position change information falling outside the threshold interval.
To achieve the above object, according to still another aspect of the embodiments of the present invention, there is provided an electronic device.
An electronic device according to an embodiment of the present invention includes: one or more processors; and the storage device is used for storing one or more programs, and when the one or more programs are executed by the one or more processors, the one or more processors realize the positioning method based on the ultra-wideband technology.
To achieve the above object, according to still another aspect of the embodiments of the present invention, there is provided a computer-readable medium.
A computer readable medium of an embodiment of the present invention has stored thereon a computer program which, when executed by a processor, implements a positioning method of an embodiment of the present invention based on ultra wideband technology.
One embodiment of the above invention has the following advantages or benefits: the distance information and the angle information between the positioning label and the reference node are respectively subjected to distance fusion and angle fusion treatment to obtain a smooth distance estimated value and a smooth angle estimated value, so that the position information of the positioning label can be calculated, the reference node does not need to be laid in advance, high-precision positioning can be realized, and the stability is good; according to the data which are fused as required, adopting a proper sensor to measure corresponding information; the distance information and the linear velocity information are fused in a Kalman filtering mode, and the angle information and the angular velocity information are fused to obtain a smooth and stable distance estimated value and an angle estimated value; multiplying the smooth and stable distance estimation value with the sine and cosine values of the angle estimation value to obtain the position coordinates of the positioning label relative to the reference node; performing time synchronization and frequency synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information to ensure that the data in fusion are under the same time and increase the stability of the data; and filtering the position information to ensure that the change of the position information calculated at the front moment and the rear moment accords with a threshold interval, so that the increment of the position information is continuous and stable.
Further effects of the above-described non-conventional alternatives are described below in connection with the embodiments.
Drawings
The drawings are included to provide a better understanding of the invention and are not to be construed as unduly limiting the invention. Wherein:
FIG. 1 is a schematic diagram of the main steps of an ultra wideband technology based positioning method according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a positioning principle of an ultra wideband technology based positioning method according to an embodiment of the present invention;
FIG. 3 is a schematic flow diagram of a positioning method based on ultra wideband technology according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of calculating location information of a location tag according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of the main modules of an ultra wideband technology based positioning device according to an embodiment of the present invention;
FIG. 6 is an exemplary system architecture diagram in which embodiments of the present invention may be applied;
Fig. 7 is a schematic structural diagram of a computer device suitable for use in an electronic apparatus to implement an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present invention will now be described with reference to the accompanying drawings, in which various details of the embodiments of the present invention are included to facilitate understanding, and are to be considered merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1 is a schematic diagram of main steps of a positioning method based on ultra wideband technology according to an embodiment of the present invention. As shown in fig. 1, the positioning method based on the ultra-wideband technology in the embodiment of the invention mainly comprises the following steps:
Step S101: and after receiving the transmitting signals from the positioning tag, the multiple antennas of the reference node determine the distance information and the angle information between the positioning tag and the reference node according to the time difference between the transmitting signals reaching the antennas. The equipment required for realizing the positioning method comprises the following steps: a reference node provided with a plurality of antennas, and a positioning tag provided with a plurality of sensors. After receiving the transmission signals, the multiple antennas of the reference node determine the time difference of the transmission signals reaching each antenna according to the time stamp sent by the transmission signals from the positioning tag and the time stamp reaching each antenna; and determining the distance information and the angle information between the positioning label and the reference node by using the time difference.
Step S102: measuring linear velocity information and angular velocity information of the positioning tag, performing distance fusion on the distance information and the linear velocity information to obtain a distance estimated value, and performing angle fusion on the angle information and the angular velocity information to obtain an angle estimated value. Measuring linear velocity information and angular velocity information in the moving process of the positioning label through a sensor on the positioning label; inputting the distance information determined in the step S101 and the measured linear velocity information into a Kalman filter, and obtaining a smooth and stable distance estimation value after distance fusion; and (3) inputting the angle information determined in the step (S101) and the measured angular velocity information into a Kalman filter, and obtaining a smooth and stable angle estimated value after angle fusion.
Step S103: and calculating the position information of the positioning label under a reference node coordinate system according to the distance estimation value and the angle estimation value. The position information is represented by its abscissa and ordinate in the reference node coordinate system. Multiplying the distance estimation value by the cosine value of the angle estimation value to obtain the abscissa of the positioning label under a reference node coordinate system; multiplying the distance estimation value by the sine value of the angle estimation value to obtain the ordinate of the positioning label under the reference node coordinate system. The information obtained by UWB point-to-point positioning is fused with the information acquired by the sensor through the steps S101 to S103, so that reference nodes are not required to be laid in advance, high-precision positioning can be realized, and the stability is good.
Fig. 2 is a schematic diagram of a positioning principle of a positioning method based on an ultra wideband technology according to an embodiment of the present invention. As shown in fig. 2, distance information and angle information between a UWB reference node and a positioning tag are determined through a UWB point-to-point positioning technology, linear velocity information of the positioning tag in a motion process is measured by adopting an odometer, and angular velocity information of the positioning tag in the motion process is measured by adopting an inertial measurement unit (Inertial Measurement Unit, IMU); then, carrying out distance fusion processing on the distance information and the linear velocity information, and carrying out angle fusion processing on the angle information and the angular velocity information; and finally, calculating the position information of the positioning tag based on the distance fusion processing result and the angle fusion processing result.
Fig. 3 is a schematic flow chart of a positioning method based on an ultra wideband technology according to an embodiment of the present invention. As shown in fig. 3, the positioning method based on the ultra-wideband technology in the embodiment of the invention mainly comprises the following steps:
Step S301: and after receiving the transmitting signals from the positioning tag, the multiple antennas of the reference node determine the distance information and the angle information between the positioning tag and the reference node according to the time difference between the transmitting signals reaching the multiple antennas. The equipment required for realizing the positioning method comprises the following steps: a base station (i.e., reference node) comprising a plurality of antennas, and a positioning tag provided with a plurality of sensors. In an embodiment, at least three antennas are disposed in the base station, and the transmitting signal is a UWB pulse signal. After receiving UWB pulse signals, a plurality of antennas of a base station determine the time difference of the UWB pulse signals reaching each antenna according to the time stamp sent by the UWB pulse signals from the positioning tag and the time stamp reaching each antenna; and determining the distance information and the angle information between the positioning tag and the base station by using the time difference.
The calculation formula for determining the distance information between the positioning tag and the base station by using the time difference is as follows:
Wherein x is the abscissa of the positioning label and y is the ordinate of the positioning label; i=1, 2, …, M, j=1, 2, …, M is the number of antennas in the base station, and i+.j; x i is the abscissa of the ith antenna of the base station, and y i is the ordinate of the ith antenna of the base station; x i is the abscissa of the jth antenna of the base station, and y i is the ordinate of the jth antenna of the base station; c is the speed of light, t i is the time stamp of the transmitted signal reaching the ith antenna of the base station, and t j is the time stamp of the transmitted signal reaching the jth antenna of the base station. The horizontal and vertical coordinates in the formula are the coordinates in the base station coordinate system.
The calculation formula for determining the angle information between the positioning tag and the base station by using the time difference is as follows:
l×sin α=c (t i-tj) equation 2
Where l is the distance between the ith antenna and the jth antenna of the base station, and α is the angle between the positioning tag and the base station. It should be noted that the angle here is a yaw angle, i.e. an angle rotated about a vertical upward axis.
Step S302: and measuring linear velocity information and angular velocity information of the positioning label in the motion process through a plurality of sensors on the positioning label. The sensor is used for measuring linear velocity information and angular velocity information of the positioning tag in the moving process. The sensor options include, but are not limited to, odometers and IMUs. The odometer may be one or more of a wheel speed meter, a positioning feedback odometer, a visual odometer, a laser odometer, etc. for measuring linear velocity information of the positioning tag. In an embodiment, an IMU or a gyroscope may be used to measure angular velocity information of the positioning tag.
Step S303: and sequentially performing time synchronization processing and frequency synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information. And synchronizing the time of the distance information, the angle information, the linear velocity information and the angular velocity information through a clock synchronization filter so as to ensure that the data in fusion are under the same time. The implementation principle of time synchronization is as follows: when the sensor is triggered by the electrification of the bottom layer, the acquired linear speed information and angular speed information are reported to the upper computer together by taking the clock of the control board as time information; when the control board is electrified, the control board is matched with the upper computer in time, the electrified time of the control board is compared with the clock of the upper computer, and a fixed time difference is calibrated; the time information of the sensor and the time information corresponding to the distance information and the angle information obtained by calculation of the upper computer are also provided with the time difference, and then the synchronization is carried out.
Because the frequency of information release of each sensor is different, for example, the frequency of information release of an odometer is 50 hertz (Hz), the frequency of information release of an IMU can reach 200Hz, and the frequency of data which are fused later only needs 10-20 Hz to meet the requirement. Therefore, the high frequency data after time synchronization needs to be filtered to increase the stability of the data while frequency synchronization is performed. In the embodiment, assuming that the frequency of the angular velocity information measured by the IMU is 200Hz, a predetermined amount of angular velocity information, such as 10 angular velocity information, is taken each time, and analyzed to obtain a stable angular velocity value, and the frequency is adjusted to 20Hz.
Step S304: and carrying out distance fusion on the distance information and the linear velocity information after frequency synchronization to obtain a distance estimated value. The obtained distance information and linear velocity information have noise, and in the embodiment, a Kalman filtering mode is adopted to realize distance fusion, and the influence of the noise is removed, so that a smooth and stable distance estimated value is obtained. In the Kalman filtering process, calculating a predicted value of the current state through a control quantity and a filtering model, and collecting a measured value of the current state; and then combining the predicted value and the observed value to calculate the optimal estimated value in the state, wherein the estimated value is more stable and more accurate than the predicted value and the measured value. Kalman filtering involves two important equations:
The state equation is:
x t=Axt-1+But+εt equation 3
Where x t is the state quantity at time t, u t is the control quantity at time t, a is the transmission parameter, B is the control parameter, and ε t is the state noise.
The observation equation is:
z t=Cxt+δt equation 4
Where z t is the measurement at time t, C is the state transition matrix, and delta t is the measurement noise.
The Kalman filtering mode can only make optimal estimation on the state of the target in a linear system with Gaussian distribution, and a good tracking effect is obtained. However, in this embodiment, the motion of the positioning tag is accompanied by a change in posture, so that the system is nonlinear, and the change relationship between x t and u t is nonlinear. Therefore, the state equation and the observation equation need to be reconstructed, specifically:
x t=g(ut,xt-1)+εt equation 5
Z t=h(xt)+δt equation 6
In both of the above formulas, g (u t,xt-1) and h (x t) may be nonlinear functions.
According to the reconstructed state equation and observation equation, expanding through a Taylor series to linearize the equation; the state estimation is then done using kalman filtering. This step is to complete the distance estimation.
Step S305: and carrying out angle fusion on the angle information and the angular velocity information after frequency synchronization to obtain an angle estimation value. The angle information determined in step S301 is easy to mutate, which greatly affects positioning accuracy, and when the transmitted signal is interfered, the error of the angle information is higher, so that the calculated position information cannot be used at all. However, the angle information does not frequently and continuously generate larger errors, so that errors caused by most abrupt changes can be filtered out by limiting the difference of the median between the angle information and the plurality of groups of data after frequency reduction. The increment of the angular velocity information of two adjacent moments measured by the IMU is relatively stable, and in order to more reasonably judge whether the increment of the angular velocity information of two adjacent moments is an error or the normal movement of the positioning label, in the embodiment, the angular fusion processing is performed by adopting a Kalman filtering mode. The specific fusion principle is as follows: and setting an increment threshold value of angular velocity information of two adjacent moments of the IMU, measuring the increment of the angle information in real time by using the increment threshold value, and ensuring that the error is within the increment threshold value, thereby obtaining a smooth and accurate angle estimation value.
Step S306: and calculating the position information of the positioning label under a reference node coordinate system according to the distance estimation value and the angle estimation value. The specific implementation of the steps is as follows: multiplying the distance estimation value by the cosine value of the angle estimation value to obtain the abscissa of the positioning label under a reference node coordinate system; multiplying the distance estimation value by the sine value of the angle estimation value to obtain the ordinate of the positioning label under the reference node coordinate system.
Fig. 4 is a schematic diagram of calculating position information of a positioning tag according to an embodiment of the present invention. As shown in fig. 4, the center of the circle is the position information of the reference node, and in the embodiment, the position coordinates of the reference node are (0, 0); d is a distance estimation value, namely the radius of a great circle; θ is an angle estimation value; the position information of the tag positioned in the reference node coordinate system (i.e. the actual position of the positioning tag) can be represented by the position coordinates (x Base,yBase), then
X Base=d×cosθ;yBase = d x sin θ equation 7
It should be noted that the calculated position information of the positioning node is the relative position, i.e. the position information of the reference node.
Step S307: and calculating the position change information between the position information of the positioning labels at two adjacent moments. The position information of the positioning label at the current moment can be calculated through the steps 301 to 306, and then the position information corresponding to each moment in the movement process of the positioning label can be calculated according to the implementation process of the steps 301 to 306. After the position information of each moment in the movement process of the positioning label is obtained, the distance between the position information of the front moment and the rear moment is calculated, and the distance is the position change information between the two position information.
Step S308: judging whether the position change information falls into a preset threshold interval or not, and if the position change information falls into the threshold interval, reserving position information corresponding to the position change information; and if the position change information does not fall into the threshold value interval, filtering the position information corresponding to the position change information. The step is used for filtering the position information with excessive change, and ensuring that the distance between the position information calculated at two adjacent moments accords with a preset threshold interval, so that the change of the position information at two adjacent moments is continuous and stable. The method is concretely realized as follows: and comparing the position change information with a preset threshold interval, reserving the position information corresponding to the position change information falling in the threshold interval, and filtering the position information corresponding to the position change information falling outside the threshold interval. In an embodiment, the threshold interval is adjusted by manual setting.
According to the positioning method based on the ultra-wideband technology, disclosed by the embodiment of the invention, the distance information and the angle information between the positioning label and the reference node are subjected to distance fusion and angle fusion respectively to obtain a smooth distance estimated value and a smooth angle estimated value, so that the position information of the positioning label can be calculated, the reference node is not required to be laid in advance, high-precision positioning can be realized, and the stability is good; according to the data which are fused as required, adopting a proper sensor to measure corresponding information; the distance information and the linear velocity information are fused in a Kalman filtering mode, and the angle information and the angular velocity information are fused to obtain a smooth and stable distance estimated value and an angle estimated value; multiplying the smooth and stable distance estimation value with the sine and cosine values of the angle estimation value to obtain the position coordinates of the positioning label relative to the reference node; performing time synchronization and frequency synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information to ensure that the data in fusion are under the same time and increase the stability of the data; and filtering the position information to ensure that the change of the position information calculated at the front moment and the rear moment accords with a threshold interval, so that the increment of the position information is continuous and stable.
Fig. 5 is a schematic diagram of main modules of a positioning device based on ultra wideband technology according to an embodiment of the present invention. As shown in fig. 5, an ultra-wideband technology-based positioning device 500 according to an embodiment of the present invention mainly includes:
The determining module 501 is configured to determine distance information and angle information between a positioning tag and a reference node according to a time difference between arrival of a transmission signal from the positioning tag after the plurality of antennas of the reference node receive the transmission signal. The equipment required for realizing the positioning method comprises the following steps: a reference node provided with a plurality of antennas, and a positioning tag provided with a plurality of sensors. After receiving the transmission signals, the multiple antennas of the reference node determine the time difference of the transmission signals reaching each antenna according to the time stamp sent by the transmission signals from the positioning tag and the time stamp reaching each antenna; and determining the distance information and the angle information between the positioning label and the reference node by using the time difference.
And the fusion module 502 is configured to measure linear velocity information and angular velocity information of the positioning tag, perform distance fusion on the distance information and the linear velocity information to obtain a distance estimated value, and perform angle fusion on the angle information and the angular velocity information to obtain an angle estimated value. Measuring linear velocity information and angular velocity information in the moving process of the positioning label through a sensor on the positioning label; inputting the distance information determined in the determining module 501 and the measured linear velocity information into a Kalman filter, and obtaining a smooth and stable distance estimated value after distance fusion; the angle information determined in the determining module 501 and the measured angular velocity information are input into a kalman filter, and a smooth and stable angle estimated value is obtained after angle fusion.
A calculating module 503, configured to calculate, according to the distance estimation value and the angle estimation value, position information of the positioning tag under a reference node coordinate system. The position information is represented by its abscissa and ordinate in the reference node coordinate system. Multiplying the distance estimation value by the cosine value of the angle estimation value to obtain the abscissa of the positioning label under a reference node coordinate system; multiplying the distance estimation value by the sine value of the angle estimation value to obtain the ordinate of the positioning label under the reference node coordinate system. The information obtained by UWB point-to-point positioning and the information acquired by the sensor are fused through the three modules, so that reference nodes do not need to be laid in advance, high-precision positioning can be realized, and the stability is good.
In addition, the positioning device 500 based on the ultra wideband technology according to the embodiment of the present invention may further include: a synchronization module and a filtering module (not shown in fig. 5). The synchronous module is used for carrying out time synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information through a clock synchronous filter; and performing frequency synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information after time synchronization. The filtering module is used for calculating position change information between the position information of the positioning labels at two adjacent moments; and comparing the position change information with a preset threshold interval to filter out the position information corresponding to the position change information falling outside the threshold interval.
From the above description, it can be seen that by respectively performing distance fusion and angle fusion processing on the distance information and the angle information between the positioning tag and the reference node, a smooth distance estimation value and an angle estimation value are obtained, so that the position information of the positioning tag can be calculated, the reference node does not need to be laid in advance, high-precision positioning can be realized, and the stability is good; according to the data which are fused as required, adopting a proper sensor to measure corresponding information; the distance information and the linear velocity information are fused in a Kalman filtering mode, and the angle information and the angular velocity information are fused to obtain a smooth and stable distance estimated value and an angle estimated value; multiplying the smooth and stable distance estimation value with the sine and cosine values of the angle estimation value to obtain the position coordinates of the positioning label relative to the reference node; performing time synchronization and frequency synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information to ensure that the data in fusion are under the same time and increase the stability of the data; and filtering the position information to ensure that the change of the position information calculated at the front moment and the rear moment accords with a threshold interval, so that the increment of the position information is continuous and stable.
Fig. 6 illustrates an exemplary system architecture 600 of an ultra-wideband technology-based positioning method or an ultra-wideband technology-based positioning device to which embodiments of the present invention may be applied.
As shown in fig. 6, the system architecture 600 may include terminal devices 601, 602, 603, a network 604, and a server 605. The network 604 is used as a medium to provide communication links between the terminal devices 601, 602, 603 and the server 605. The network 604 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
A user may interact with the server 605 via the network 604 using the terminal devices 601, 602, 603 to receive or send messages, etc. Various communication client applications, such as shopping class applications, web browser applications, search class applications, instant messaging tools, mailbox clients, social platform software, etc., may be installed on the terminal devices 601, 602, 603.
The terminal devices 601, 602, 603 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop and desktop computers, and the like.
The server 605 may be a server providing various services, such as a background management server providing support for time differences between arrival of transmission signals acquired by the user using the terminal devices 601, 602, 603 at a plurality of antennas, linear velocity information and angular velocity information of the positioning tag. The background management server may perform processes such as resolving and fusing the time difference, the linear velocity information and the angular velocity information, and calculate the position information of the positioning tag according to the fusion processing result (for example, the distance estimation value and the angle estimation value).
It should be noted that, the positioning method based on the ultra-wideband technology provided by the embodiment of the present application is generally executed by the server 605, and accordingly, the positioning device based on the ultra-wideband technology is generally disposed in the server 605.
It should be understood that the number of terminal devices, networks and servers in fig. 6 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
According to an embodiment of the invention, the invention further provides an electronic device and a computer readable medium.
The electronic device of the present invention includes: one or more processors; and the storage device is used for storing one or more programs, and when the one or more programs are executed by the one or more processors, the one or more processors realize the positioning method based on the ultra-wideband technology.
The computer readable medium of the present invention has a computer program stored thereon, which when executed by a processor implements a positioning method based on ultra wideband technology of an embodiment of the present invention.
Referring now to FIG. 7, there is illustrated a schematic diagram of a computer system 700 suitable for use in implementing an embodiment of the present invention. The electronic device shown in fig. 7 is only an example and should not be construed as limiting the functionality and scope of use of the embodiments of the invention.
As shown in fig. 7, the computer system 700 includes a Central Processing Unit (CPU) 701, which can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 702 or a program loaded from a storage section 708 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the computer system 700 are also stored. The CPU 701, ROM 702, and RAM 703 are connected to each other through a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
The following components are connected to the I/O interface 705: an input section 706 including a keyboard, a mouse, and the like; an output portion 707 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like; a storage section 708 including a hard disk or the like; and a communication section 709 including a network interface card such as a LAN card, a modem, or the like. The communication section 709 performs communication processing via a network such as the internet. The drive 710 is also connected to the I/O interface 705 as needed. A removable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 710 as necessary, so that a computer program read therefrom is mounted into the storage section 708 as necessary.
In particular, the processes described above in the main step diagrams may be implemented as computer software programs according to the disclosed embodiments of the invention. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method shown in the main step diagrams. In such an embodiment, the computer program may be downloaded and installed from a network via the communication portion 709, and/or installed from the removable medium 711. The above-described functions defined in the system of the present invention are performed when the computer program is executed by a Central Processing Unit (CPU) 701.
The computer readable medium shown in the present invention may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules involved in the embodiments of the present invention may be implemented in software or in hardware. The described modules may also be provided in a processor, for example, as: a processor includes a determination module, a fusion module, and a calculation module. The names of these modules do not limit the module itself in some cases, for example, the determining module may also be described as "a module for determining distance information and angle information between a positioning tag and a reference node according to a time difference between arrival of a transmission signal from the positioning tag after the plurality of antennas of the reference node receive the transmission signal.
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be present alone without being fitted into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to include: after receiving transmitting signals from a positioning tag, a plurality of antennas of a reference node determine distance information and angle information between the positioning tag and the reference node according to time difference between the transmitting signals reaching the antennas; measuring linear velocity information and angular velocity information of the positioning tag, performing distance fusion on the distance information and the linear velocity information to obtain a distance estimated value, and performing angle fusion on the angle information and the angular velocity information to obtain an angle estimated value; and calculating the position information of the positioning label under a reference node coordinate system according to the distance estimation value and the angle estimation value.
From the above description, it can be seen that by respectively performing distance fusion and angle fusion processing on the distance information and the angle information between the positioning tag and the reference node, a smooth distance estimation value and an angle estimation value are obtained, so that the position information of the positioning tag can be calculated, the reference node does not need to be laid in advance, high-precision positioning can be realized, and the stability is good; according to the data which are fused as required, adopting a proper sensor to measure corresponding information; the distance information and the linear velocity information are fused in a Kalman filtering mode, and the angle information and the angular velocity information are fused to obtain a smooth and stable distance estimated value and an angle estimated value; multiplying the smooth and stable distance estimation value with the sine and cosine values of the angle estimation value to obtain the position coordinates of the positioning label relative to the reference node; performing time synchronization and frequency synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information to ensure that the data in fusion are under the same time and increase the stability of the data; and filtering the position information to ensure that the change of the position information calculated at the front moment and the rear moment accords with a threshold interval, so that the increment of the position information is continuous and stable.
The product can execute the method provided by the embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method. Technical details not described in detail in this embodiment may be found in the methods provided in the embodiments of the present invention.
The above embodiments do not limit the scope of the present invention. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives can occur depending upon design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of the present invention.
Claims (12)
1. The positioning method based on the ultra-wideband technology is characterized by comprising the following steps:
after receiving transmitting signals from a positioning tag, a plurality of antennas of a reference node determine distance information and angle information between the positioning tag and the reference node according to time difference between the transmitting signals reaching the antennas;
Measuring linear velocity information and angular velocity information of the positioning tag, performing distance fusion on the distance information and the linear velocity information to obtain a distance estimated value, and performing angle fusion on the angle information and the angular velocity information to obtain an angle estimated value;
according to the distance estimation value and the angle estimation value, calculating the position information of the positioning tag under a reference node coordinate system comprises the following steps: multiplying the distance estimation value by the cosine value of the angle estimation value to obtain the abscissa of the positioning label under a reference node coordinate system; multiplying the distance estimation value by the sine value of the angle estimation value to obtain the ordinate of the positioning label under the reference node coordinate system.
2. The method of claim 1, wherein said measuring linear velocity information and angular velocity information of said positioning tag comprises:
and measuring the linear speed information of the positioning tag by adopting an odometer, and measuring the angular speed information of the positioning tag by adopting an inertial measurement unit or a gyroscope.
3. The method according to claim 1, wherein performing distance fusion on the distance information and the linear velocity information to obtain a distance estimated value, performing angle fusion on the angle information and the angular velocity information to obtain an angle estimated value, includes:
And carrying out distance fusion on the distance information and the linear velocity information by adopting Kalman filtering to obtain a distance estimated value, and carrying out angle fusion on the angle information and the angular velocity information to obtain an angle estimated value.
4. The method according to claim 1, wherein before the step of performing distance fusion on the distance information and the linear velocity information to obtain a distance estimated value and performing angle fusion on the angle information and the angular velocity information to obtain an angle estimated value, the method further comprises:
Performing time synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information through a clock synchronization filter;
And carrying out frequency synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information after time synchronization.
5. The method according to any one of claims 1 to 4, further comprising:
calculating position change information between the position information of the positioning labels at two adjacent moments;
And comparing the position change information with a preset threshold interval to filter out the position information corresponding to the position change information falling outside the threshold interval.
6. Positioning device based on ultra wideband technique, characterized by comprising:
The determining module is used for determining distance information and angle information between the positioning tag and the reference node according to the time difference between the transmitting signals and the antennas after the transmitting signals from the positioning tag are received by the plurality of antennas of the reference node;
The fusion module is used for measuring the linear velocity information and the angular velocity information of the positioning tag, carrying out distance fusion on the distance information and the linear velocity information to obtain a distance estimated value, and carrying out angle fusion on the angle information and the angular velocity information to obtain an angle estimated value;
the calculating module is configured to calculate, according to the distance estimation value and the angle estimation value, position information of the positioning tag in a reference node coordinate system, and includes: multiplying the distance estimation value by the cosine value of the angle estimation value to obtain the abscissa of the positioning label under a reference node coordinate system; multiplying the distance estimation value by the sine value of the angle estimation value to obtain the ordinate of the positioning label under the reference node coordinate system.
7. The apparatus of claim 6, wherein the fusion module is further configured to:
and measuring the linear speed information of the positioning tag by adopting an odometer, and measuring the angular speed information of the positioning tag by adopting an inertial measurement unit or a gyroscope.
8. The apparatus of claim 6, wherein the fusion module is further configured to:
And carrying out distance fusion on the distance information and the linear velocity information by adopting Kalman filtering to obtain a distance estimated value, and carrying out angle fusion on the angle information and the angular velocity information to obtain an angle estimated value.
9. The apparatus of claim 6, wherein the apparatus further comprises: a synchronization module for
Performing time synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information through a clock synchronization filter; and
And carrying out frequency synchronization processing on the distance information, the angle information, the linear velocity information and the angular velocity information after time synchronization.
10. The apparatus according to any one of claims 6 to 9, further comprising: a filter module for
Calculating position change information between the position information of the positioning labels at two adjacent moments; and
And comparing the position change information with a preset threshold interval to filter out the position information corresponding to the position change information falling outside the threshold interval.
11. An electronic device, comprising:
One or more processors;
Storage means for storing one or more programs,
When executed by the one or more processors, causes the one or more processors to implement the method of any of claims 1-5.
12. A computer readable medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements the method according to any of claims 1-5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911096362.4A CN112788743B (en) | 2019-11-11 | 2019-11-11 | Positioning method and device based on ultra-wideband technology |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911096362.4A CN112788743B (en) | 2019-11-11 | 2019-11-11 | Positioning method and device based on ultra-wideband technology |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112788743A CN112788743A (en) | 2021-05-11 |
CN112788743B true CN112788743B (en) | 2024-06-18 |
Family
ID=75749276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911096362.4A Active CN112788743B (en) | 2019-11-11 | 2019-11-11 | Positioning method and device based on ultra-wideband technology |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112788743B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113137967B (en) * | 2021-05-19 | 2023-05-26 | 深圳市优必选科技股份有限公司 | Robot positioning method, device, robot and readable storage medium |
CN113390433A (en) * | 2021-07-20 | 2021-09-14 | 上海擎朗智能科技有限公司 | Robot positioning method and device, robot and storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597027A (en) * | 2018-12-06 | 2019-04-09 | 清华大学 | A kind of positioning system and method based on single base station |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10845453B2 (en) * | 2012-08-03 | 2020-11-24 | Polte Corporation | Network architecture and methods for location services |
RU2583157C2 (en) * | 2013-07-18 | 2016-05-10 | Алексей Сергеевич Богданов | Method of locating mobile objects |
CN104185277B (en) * | 2014-09-17 | 2018-01-12 | 武汉邮电科学研究院 | A kind of localization method and device based on TA and PMI |
CN104602340A (en) * | 2014-12-31 | 2015-05-06 | 深圳市科松电子有限公司 | Positioning system and method based on ultra-wide band technology |
CN106205136B (en) * | 2014-12-31 | 2019-01-15 | 深圳市金溢科技股份有限公司 | Vehicle positioning system and method based on UWB |
CN104780506B (en) * | 2015-04-22 | 2017-03-29 | 北京理工大学 | A kind of three side localization method of weighting based on confidence level |
CN204539483U (en) * | 2015-05-11 | 2015-08-05 | 国家电网公司 | A kind of dangerous public mobile communication base station fast finding device |
EP3121616B1 (en) * | 2015-07-22 | 2019-09-11 | Rohde & Schwarz GmbH & Co. KG | Positioning device and positioning method |
KR102350199B1 (en) * | 2016-01-05 | 2022-01-14 | 삼성전자주식회사 | Method and apparatus for estimating position in terminal |
CN106656889B (en) * | 2017-01-31 | 2019-08-13 | 东南大学 | A kind of UWB indoor localization method based on CW with frequency modulation |
CN107037469A (en) * | 2017-04-11 | 2017-08-11 | 北京七维航测科技股份有限公司 | Based on the self-alignment double antenna combined inertial nevigation apparatus of installation parameter |
CN107402375B (en) * | 2017-08-08 | 2020-05-05 | 济南大学 | Indoor pedestrian positioning EFIR data fusion system with observation time lag and method |
CN109387808A (en) * | 2017-08-08 | 2019-02-26 | 深圳市润安科技发展有限公司 | A kind of method and device positioning tested point |
CN108089149A (en) * | 2017-12-19 | 2018-05-29 | 成都鸿福润德科技有限公司 | A kind of ultra wide band location method based on signal two-way transmission time |
CN110274589B (en) * | 2018-03-15 | 2021-07-30 | 阿里巴巴(中国)有限公司 | Positioning method and device |
CN108646215B (en) * | 2018-05-15 | 2022-02-11 | 重庆邮电大学 | Automatic following rapid positioning method based on ultra wide band |
CN109141413B (en) * | 2018-08-06 | 2020-07-07 | 济南大学 | EFIR filtering algorithm and system with data missing UWB pedestrian positioning |
-
2019
- 2019-11-11 CN CN201911096362.4A patent/CN112788743B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597027A (en) * | 2018-12-06 | 2019-04-09 | 清华大学 | A kind of positioning system and method based on single base station |
Also Published As
Publication number | Publication date |
---|---|
CN112788743A (en) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110197615B (en) | Method and device for generating map | |
EP3693759B1 (en) | System and method for tracking motion of target in indoor environment | |
CN112643665B (en) | Calibration method and device for installation error of absolute pose sensor | |
CN112788743B (en) | Positioning method and device based on ultra-wideband technology | |
CN110849387A (en) | Sensor parameter calibration method and device | |
CN110379044B (en) | Method and device for compensating motion error | |
CN116182878B (en) | Road curved surface information generation method, device, equipment and computer readable medium | |
CN111474517A (en) | Positioning method and device and inspection robot | |
CN111343565B (en) | Positioning method and terminal equipment | |
CN111612851A (en) | Method, apparatus, device and storage medium for calibrating camera | |
CN115993137A (en) | Vehicle positioning evaluation method, device, electronic equipment and computer readable medium | |
CN114047897B (en) | Detection information display method, detection information display device, electronic equipment and computer readable medium | |
CN113407045B (en) | Cursor control method and device, electronic equipment and storage medium | |
CN115097379A (en) | Positioning tracking method, device, equipment and storage medium | |
CN110033088B (en) | Method and device for estimating GPS data | |
CN110136181B (en) | Method and apparatus for generating information | |
CN108595095A (en) | Method and apparatus based on gesture control simulated target body movement locus | |
CN115393428A (en) | Positioning parameter calibration method and device for mobile robot | |
CN110207699A (en) | A kind of localization method and device | |
CN112414391A (en) | Robot repositioning method and device | |
JP7334538B2 (en) | Position estimation device and position estimation method | |
CN110389349B (en) | Positioning method and device | |
CN114488237A (en) | Positioning method and device, electronic equipment and intelligent driving method | |
CN110377020B (en) | Driving method, device and system of unmanned equipment | |
CN111912528A (en) | Body temperature measuring system, method, device and equipment storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |