An optimization method for reducing UWB positioning drift based on historical trajectory

By combining base station location records, database tables, and tag historical trajectories in the UWB system with inertial fusion calculations, the drift problem of UWB positioning in obstructed environments was solved, achieving higher-precision indoor positioning.

CN115767724BActive Publication Date: 2025-12-19HENAN SHUIMAI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211519031.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-30
Publication Date
2025-12-19
Estimated Expiration
2042-11-30

AI Technical Summary

Technical Problem

UWB indoor positioning systems are prone to positioning drift when there are obstructions, resulting in inaccurate positioning, especially when people and objects are stationary, the position display is inaccurate, and when they are moving, the display is ahead.

Method used

By installing UWB base stations, recording their locations, configuring server addresses, establishing database tables, collecting UWB tag signals, using TOF and triangulation for initial positioning, and combining historical tag trajectories for inertial fusion calculations, the tag position is corrected and drift is reduced.

Benefits of technology

It improves the accuracy of UWB positioning in obstructed environments, reduces label position drift, and ensures more accurate location information is displayed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115767724B_ABST
    Figure CN115767724B_ABST
Patent Text Reader

Abstract

The application provides an optimization method for reducing UWB positioning drift based on historical trajectories, which firstly performs initial positioning on a tag by a UWB base station and the UWB tag through a TOF (time of flight) and a triangulation principle, and performs inertial fusion calculation in combination with historical positioning information of the UWB tag to reduce the amplitude of UWB tag positioning drift in the presence of shielding, thereby improving the positioning accuracy. Compared with other UWB positioning technologies, the application improves the drift amplitude of the UWB positioning tag in the presence of shielding, thereby improving the positioning accuracy and reducing the density of the UWB station.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of indoor positioning, and in particular to a method for reducing UWB positioning drift based on historical trajectory. BACKGROUND

[0002] Indoor positioning technology is produced to make up for the poor application of global navigation positioning system in indoor. With the attention and research of people on indoor positioning technology, there are many indoor positioning methods. According to the different signals, it can be generally divided into infrared, ultrasonic, Bluetooth, radio frequency identification, ultra-wideband, etc. Each positioning scheme has advantages and disadvantages, but the positioning accuracy of ultra-wideband (UWB) technology is much higher than that of other positioning technologies, and the reliability and safety are relatively better, and the cost is in the middle, so the UWB indoor positioning technology is concerned by industry people.

[0003] Ultra-wideband (UWB) technology is a wireless carrier communication technology, which transmits data by sending nanosecond non-sinusoidal narrow pulse, calculates the time of radio wave returning to the device based on ToF technology, and then calculates the distance between devices, which has high ranging accuracy and can reach centimeter level. Compared with traditional indoor positioning technologies such as Bluetooth, infrared, ultrasonic, etc., UWB has the characteristics of short specific transmission and reception time, good anti-multipath effect, high system safety and low overall function, so it can be used for high-precision positioning and tracking of indoor stationary or moving people or objects.

[0004] At present, when UWB is applied to indoor positioning system, due to the factors of indoor wall shielding and information interference, the following problems occur: drift occurs when people and objects are stationary, resulting in inaccurate positioning, which is reflected on the indoor map, and people and objects will swing.

[0005] When people and objects move, positioning is ahead, which is reflected on the indoor map, and people or objects have not arrived at the position, but the map shows that they have arrived at the position. SUMMARY

[0006] In view of the above problems, the present application is proposed to provide a method for reducing UWB positioning drift based on historical trajectory to overcome the above problems or at least partially solve the above problems.

[0007] According to one aspect of the present application, a method for reducing UWB positioning drift based on historical trajectory is provided, which comprises:

[0008] Step S1: installing a UWB base station, recording the installation position of the positioning base station, and configuring the server address of the UWB positioning system on the UWB base station;

[0009] Step S2: install the PostgreSQL database and establish a table in the database;

[0010] Step S3: install the UWB positioning system;

[0011] Step S4: collect personnel carrying UWB tags walking in the room, generate pulse signals, and the UWB base station receives the pulse signals;

[0012] Step S5: according to the UWB system configured in step S3, the signal transmitted by the UWB base station is received, and the position data u(x0, y0) of the UWB tag and the number of the tag are calculated;

[0013] Step S6: according to the position data u(x0, y0) of the UWB tag and the number of the tag, the nearest five position data hs(xi, yi), i=(1, 2, 3, 4, 5) are obtained;

[0014] Step S7: the UWB tag position data u(x0, y0) obtained in step S5 and the first position data hs(x1, y1) obtained in step S6 are used for vector addition operation to obtain l', and then l' is divided by 2 to obtain L;

[0015] l'=us(x0, y0)+hs1(x1, y1);

[0016] L(x0, y0)=l' / 2;

[0017] Step S8: using the position data hs(xi, yi), i=(1, 2, 3, 4, 5) obtained in step S6 and L(x0, y0) obtained in step S7, a total of 6 position data, the slopes of two points are calculated in turn, denoted as kn, n=(5, 4, 3, 2, 1);

[0018] k5=hs(y5)-hs(y4) / hs(x5)-hs(x4);

[0019] k4=hs(y4)-hs(y3) / hs(x4)-hs(x3);

[0020] k3=hs(y3)-hs(y2) / hs(x3)-hs(x2);

[0021] k2=hs(y2)-hs(y1) / hs(x2)-hs(x1);

[0022] k1=hs(y1)-L(y0) / hs(x1)-L(x0);

[0023] Step S9: Calculate the included angle of the straight line formed by the two slopes in turn, and record Jn,n=(4,3,2,1) using the slope kn,n=(5,4,3,2,1) obtained in step S5.

[0024] J4=(k5-k4) / (1+k5*k4);

[0025] J3=(k4-k3) / (1+k4*k3);

[0026] J2=(k3-k2) / (1+k3*k2);

[0027] J1=(k2-k1) / (1+k2*k1);

[0028] Step S10: Calculate the distance dis between hs(x5,y5) when i is equal to 5 and L(x0,y0) according to the position data L(x0,y0) obtained in step S7 and hs(xi,yi),i=(1,2,3,4,5) obtained in step S6.

[0029]

[0030] Step S11: Obtain the final UWB tag position lc, and display the position information of the UWB tag on the indoor map according to the final UWB tag position lc.

[0031] Optionally, the establishing of the table in the database specifically includes: establishing a table named in the form of "label_info_+UWB tag number" in the database.

[0032] Optionally, the installation of the UWB positioning system specifically includes: requiring the UWB positioning system to be installed on the server IP address configured by the UWB base station.

[0033] Record the installation position information of each UWB base station in the UWB positioning system, and calibrate the timestamp information of each UWB.

[0034] Optionally, the calculation of the position data u(x0,y0) of the UWB tag specifically includes: preliminarily calculating the position data u(x0,y0) of the UWB tag by using the time of flight TOF and the principle of triangular positioning.

[0035] Optionally, the step S6: obtaining the five nearest position data according to the position data u(x0,y0) of the UWB tag specifically includes:

[0036] According to the position data u(x0, y0) of the UWB tag, the number of the tag is arranged in the table in step 2 according to the reverse order of the positioning time, and the five position data closest to the current time are obtained, which are respectively denoted as hs(xi, yi), i = (1, 2, 3, 4, 5). If not found, the position data obtained in step S5 is directly stored in the database table with the UWB tag number as the end, and meanwhile, the step S5 is jumped to obtain the next UWB positioning tag position data.

[0037] Optionally, the logical judgment according to the included angle J1 obtained in step S9 and the distance dis obtained in step S10 includes:

[0038] If dis<30cm and 0 degrees <=|J1|<=45 degrees, then lc=L(x0, y0);

[0039] If dis<30cm and 45 degrees<J1<135 degrees, then lc=hs(x5, y5);

[0040] If dis<30cm and 135 degrees<|J1|<=180 degrees, then lc=L(x0, y0);

[0041] If dis>30cm and 0 degrees <=|J1|<=45 degrees, then lc=L(x0, y0);

[0042] If dis>30cm and 0 degrees <=|J1|<=45 degrees, then lc=L(x0, y0);

[0043] If dis>30cm and 0 degrees <=|J1|<=45 degrees, then lc=L(x0, y0);

[0044] lc represents the final UWB tag position after correction, L(x0, y0) represents the original UWB tag position obtained in step S7, and hs(x5, y5) represents the first point position data of the historical position obtained in step S6.

[0045] Optionally, the position information of the UWB tag is displayed on the indoor map according to the final UWB tag position lc: the final UWB tag position lc is saved in the database table created in step S2 according to the UWB tag number, and meanwhile, the position data is pushed to the indoor map of the UWB positioning system through websocket, so that the position information of the UWB tag is displayed on the indoor map.

[0046] The application provides a kind of optimization method for reducing UWB positioning drift based on historical trajectory, first, UWB base station and UWB tag are positioned to tag by TOF (time of flight) and triangulation principle, combine the historical positioning information of UWB tag, carry out inertial fusion calculation, reduce the amplitude of UWB tag positioning drift when there is shelter, to improve the accuracy of positioning.Compared with other UWB positioning technologies, the application improves the drift amplitude of UWB positioning tag in the case of shelter, thereby improving the accuracy of positioning, and reducing the density of UWB station.

[0047] The above description is only a summary of the technical solutions of the application, in order to more clearly understand the technical means of the application, and can be implemented according to the content of the specification, and in order to make the above and other purposes, characteristics and advantages of the application more obvious and easy to understand, the following specific embodiments of the application are described. BRIEF DESCRIPTION OF DRAWINGS

[0048] In order to more clearly illustrate the technical solutions of the embodiments of the application, the following will briefly introduce the drawings needed in the embodiment description. Obviously, the drawings in the following description are only some embodiments of the application, and those skilled in the art can obtain other drawings according to these drawings without creative labor.

[0049] Figure 1 A flow chart of the optimization method for reducing UWB positioning drift based on historical trajectory provided by the embodiment of the application is provided.

[0050] Figure 2 An effect diagram deployed in actual environment provided by the embodiment of the application. DETAILED DESCRIPTION

[0051] The exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided so that the present disclosure can be more thoroughly understood and the scope of the present disclosure can be fully conveyed to those skilled in the art.

[0052] The terms "include" and "have" and any variations thereof in the specification embodiments of the application and claims and drawings are intended to cover non-exclusive inclusion, for example, including a series of steps or units.

[0053] The technical solutions of the application will be further described in detail below in combination with the drawings and embodiments.

[0054] ATTACHMENT Figure 1An optimization algorithm for reducing UWB positioning drift based on historical trajectory, comprising the following steps

[0055] Step S1: Install UWB base station hardware, record the installation position of the positioning base station, and then configure the server address of the UWB positioning system on the UWB base station, which is usually between 192.168.1.2 and 192.168.1.254 in the local area network.

[0056] Step S2: Install PostgreSQL database and create a table named "label_info_+UWB tag number" in the database. For example, if the UWB tag number is 160480, the table name is tag_info_160480.

[0057] The table structure is as follows:

[0058]

[0059]

[0060] Step S3: Install UWB positioning system on the server, and require the UWB positioning system to be installed on the server IP address configured by the UWB base station. Then record the installation position information of each UWB base station in the UWB positioning system, and calibrate the timestamp information of each UWB.

[0061] Step S4: The collector carries the UWB tag and walks in the room, generating a pulse signal, which is received by the UWB base station.

[0062] Step S5: The UWB system configured in step S3 receives the signal transmitted by the UWB base station, and uses the TOF (Time of Flight) and triangular positioning principle to preliminarily calculate the position data u(x0, y0) of the UWB tag and the number of the tag.

[0063] The distance between the UWB tag and the i-th base station is measured by the two-way time of flight method:

[0064] R i =c*[(T ia -T ia ′)-(T ib -T ib ′)]

[0065] Where c is the speed of light, T ia is the time when the USB tag sends a data packet to the base station i, T ib ' is the time when the base station i receives the data packet, T ib is the time when the base station i returns the data packet to the tag, and T ia ' is the time when the tag receives the returned data packet from the base station i.

[0066] Assuming that the UWB tag U0(x0, y0) communicates with the UWB base stations B1(x1, y1), B2(x1, y1), B3(x1, y1), the following equations can be obtained

[0067]

[0068] Since The x1, x2, x3, y1, y2, y3 are installation position information of the base stations B1, B2, B3, which are known quantities, so they are substituted into the above equation set to calculate the u(x0, y0) of the UWB tag.

[0069] Step S6: According to the number information of the UWB tag, go to the table in step S2 according to the reverse order of the positioning time, get the five pieces of position data closest to the current time, respectively denoted as hs(x i ,y i ), i = (1, 2, 3, 4, 5), if not found, the position data u(x0, y0) obtained in step S5 is directly stored in the table ending with the UWB tag number in the database, and jump to step S5 to obtain the next UWB positioning tag position data.

[0070] The five pieces of position data are obtained by using the statement: select card_x, card_y from tag_info_160480 order by arrive_time limit 5

[0071] Step S7: Perform vector addition operation on the UWB tag position data u(x0, y0) obtained in step S5 and the first position data hs(x1, y1) obtained in step S6 to obtain l', and then divide l' by 2 to obtain L.

[0072] l' = u(x0, y0) + hs(x1, y1)

[0073] L(x0, y0) = l' / 2

[0074] Step S8: Use the hs(x i ,y i ), i = (1, 2, 3, 4, 5) obtained in step S6 and the L(x0, y0) obtained in step S7, a total of six position data, to calculate the slope of the two points in turn, denoted as k n , n = (5, 4, 3, 2, 1).

[0075] k 5 = hs(y5) - hs(y4) / hs(x5) - hs(x4);

[0076] k 4 = hs(y4) - hs(y3) / hs(x4) - hs(x3);

[0077] k 3 = hs(y3) - hs(y2) / hs(x3) - hs(x2);

[0078] k 2 = hs(y2) - hs(y1) / hs(x2) - hs(x1);

[0079] k 1 = hs(y1) - L(y0) / hs(x1) - L(x0).

[0080] Step S9: Calculate the angle between the straight lines formed by the two slopes k n , n = (5, 4, 3, 2, 1) in turn, and record J n , n = (4, 3, 2, 1).

[0081] J 4 = (k 5 - k 4 ) / (1 + k 5 * k 4 );

[0082] J 3 = (k 4 - k 3 ) / (1 + k 4 * k 3 );

[0083] J 2 = (k 3 - k 2 ) / (1 + k 3 * k 2 );

[0084] J 1 = (k 2 - k 1 ) / (1 + k 2 * k 1 ).

[0085] Step S10: According to the hs(x i , y i ) obtained in step 6, i = (1, 2, 3, 4, 5) and the position data L(x0, y0) obtained in step 7, calculate the distance between hs(x5, y5) when i is equal to 5 and L(x0, y0) and record it as dis.

[0086]

[0087] According to step S9, the included angle J is obtained 1 And the distance dis obtained in step 10, the following logical judgment is carried out:

[0088] If dis < 30cm and 0 degrees <= |J 1 <= 45 degrees, then lc = L(x0, y0);

[0089] If dis < 30cm and 45 degrees < |J 1 < 135 degrees, then lc = hs(x5, y5);

[0090] If dis < 30cm and 135 degrees < |J 1 <= 180 degrees, then lc = L(x0, y0);

[0091] If dis > 30cm and 0 degrees <= |J 1 <= 45 degrees, then lc = L(x0, y0);

[0092] If dis > 30cm and 0 degrees <= |J 1 <= 45 degrees, then lc = L(x0, y0);

[0093] If dis > 30cm and 0 degrees <= |J 1 <= 45 degrees, then lc = L(x0, y0);

[0094] Wherein lc represents the final UWB tag position after correction, L(x0, y0) represents the original UWB tag position obtained in step S5, and hs(x5, y5) represents the first point position data of the historical position obtained in step S6.

[0095] Step S11: After the calculation of the above steps, the final lc(x, y) is obtained, and then lc is saved in the database table created in step S2 according to the UWB tag number, and the position data is pushed to the indoor map of the UWB positioning system through the web socket, so that the position information of the UWB tag can be more accurately displayed on the indoor map.

[0096] The present example proposes an indoor positioning correction algorithm combining the historical trajectory of the UWB tag and the triangular positioning for the positioning scene with indoor shielding. By combining the historical trajectory of the tag, the drift amplitude of the UWB tag when stationary and moving in the presence of shielding is reduced, and the positioning accuracy is improved. Compared with the existing UWB positioning algorithm, the positioning accuracy is moderately improved in the presence of shielding under the same number of UWB base stations.

[0097] After enabling the invention correction algorithm, the effect diagram deployed to the actual environment is as follows:Figure 2 as shown.

[0098] Beneficial effects: the application provides a kind of optimization method based on historical trajectory for reducing UWB positioning drift, reduces the optimization algorithm of UWB positioning drift, reduces the drift of the position of UWB positioning, significantly improves when UWB positioning label is at rest, the drift of the positioning label displayed in two-dimensional map on web server, reduce the occurrence of the situation that the person or object has arrived at the position displayed on the map when the person or object has not arrived at the position, realize the improvement of UWB positioning label accuracy.

[0099] The above detailed description of the present application, the purpose, technical solutions and beneficial effects are further described in detail, it should be understood that the above is only a specific embodiment of the present application, and is not used to limit the protection scope of the present application, any modification, equivalent replacement, improvement, etc. within the spirit and principles of the present application should be included in the protection scope of the present application.

Claims

1. An optimization method for reducing UWB positioning drift based on historical trajectories, characterized in that, The optimization method comprises: Step S1: installing a UWB base station, recording the installation position of the positioning base station, and configuring the server address of the UWB positioning system on the UWB base station; Step S2: installing a PostgreSQL database and establishing a table in the database; Step S3: installing the UWB positioning system; Step S4: collecting personnel carrying a UWB tag to walk in the room to generate a pulse signal, and the UWB base station receives the pulse signal; Step S5: according to the signal transmitted by the UWB base station received by the UWB system configured in step S3, the position data u(x0, y0) of the UWB tag and the number of the tag are calculated; Step S6: according to the position data u(x0, y0) of the UWB tag and the number of the tag, the nearest five position data hs(xi, yi), i=(1, 2, 3, 4, 5) are obtained; Step S7: performing vector addition operation on the UWB tag position data u(x0, y0) obtained in step S5 and the first position data hs(x1, y1) obtained in step S6 to obtain l', and then dividing l' by 2 to obtain L; l'=us(x0, y0)+hs1(x1, y1); L(x0, y0)=l' / 2; Step S8: using the six position data hs(xi, yi), i=(1, 2, 3, 4, 5) obtained in step S6 and L(x0, y0) obtained in step S7, the slopes of two points are calculated in turn and are denoted as kn, n=(5, 4, 3, 2, 1); k5=hs(y5)-hs(y4) / hs(x5)-hs(x4); k4=hs(y4)-hs(y3) / hs(x4)-hs(x3); k3=hs(y3)-hs(y2) / hs(x3)-hs(x2); k2=hs(y2)-hs(y1) / hs(x2)-hs(x1); k1=hs(y1)-L(y0) / hs(x1)-L(x0); Step S9: using the slopes kn, n=(5, 4, 3, 2, 1) obtained in step S5, the included angles of the straight lines formed by two slopes are calculated in turn and are denoted as Jn, n=(4, 3, 2, 1); J4=(k5-k4) / (1+k5*k4); J3=(k4-k3) / (1+k4*k3); J2=(k3-k2) / (1+k3*k2); J1=(k2-k1) / (1+k2*k1); Step S10: according to the hs(xi, yi), i=(1, 2, 3, 4, 5) obtained in step S6 and the position data L(x0, y0) obtained in step S7, the distance dis between hs(x5, y5) when i is equal to 5 and L(x0, y0) is calculated; Step S11: obtaining the final UWB tag position lc, and displaying the position information of the UWB tag on the indoor map according to the final UWB tag position lc.

2. The optimization method for reducing UWB positioning drift based on historical trajectories according to claim 1, characterized in that, The table established in the database specifically comprises a table named "label_info_+UWB tag number" in the database.

3. The optimization method for reducing UWB positioning drift based on historical trajectories according to claim 1, characterized in that, The installation of the UWB positioning system specifically includes: requiring the UWB positioning system to be installed on the server IP address configured by the UWB base station; The installation position information of each UWB base station is recorded in the UWB positioning system, and the timestamp information of each UWB is calibrated.

4. The optimization method for reducing UWB positioning drift based on historical trajectories according to claim 1, characterized in that, The calculation of the position data u(x0, y0) of the UWB tag specifically includes: using the time of flight TOF and the principle of triangular positioning, the position data u(x0, y0) of the UWB tag is preliminarily calculated.

5. The optimization method for reducing UWB positioning drift based on historical trajectory according to claim 1, characterized in that, The step S6: according to the position data u(x0, y0) of the UWB tag, five pieces of position data are obtained specifically include: According to the position data u(x0, y0) of the UWB tag, five pieces of position data are obtained according to the positioning time in reverse order in the table in step 2, and the five pieces of position data are recorded as hs(xi, yi), i=(1, 2, 3, 4, 5), respectively. If not found, the position data obtained in step S5 is directly stored in the table with the UWB tag number in the end, and at the same time, the next UWB positioning tag position data is obtained by jumping to step S5.

6. The optimization method for reducing UWB positioning drift based on historical trajectory according to claim 1, characterized in that, The logical judgment according to the included angle J1 obtained in step S9 and the distance dis obtained in step S10 includes: If dis<30cm and 0 degrees<=|J1|<=45 degrees, then lc=L(x0, y0); If dis<30cm and 45 degrees<J1<135 degrees, then lc=hs(x5, y5); If dis<30cm and 135 degrees<|J1|<=180 degrees, then lc=L(x0, y0); If dis>30cm and 0 degrees<=|J1|<=45 degrees, then lc=L(x0, y0); If dis>30cm and 0 degrees<=|J1|<=45 degrees, then lc=L(x0, y0); If dis>30cm and 0 degrees<=|J1|<=45 degrees, then lc=L(x0, y0); If dis>30cm and 0 degrees<=|J1|<=45 degrees, then lc=L(x0, y0); 7. The optimization method for reducing UWB positioning drift based on historical trajectories according to claim 1, characterized in that, The final UWB tag position lc after correction, L(x0, y0) represents the original UWB tag position obtained in step S7, and hs(x5, y5) represents the first point position data of the historical position obtained in step S6. According to the final UWB tag position lc, the position information of the UWB tag is displayed on the indoor map: the final UWB tag position lc is saved in the database table created in step S2 according to the UWB tag number, and the position data is pushed to the indoor map of the UWB positioning system through websocket, and the position information of the UWB tag is displayed on the indoor map.

Citation Information

Patent Citations

  • A wifi sequence-assisted GPS indoor positioning method based on recommendation algorithm

    CN109089314A

  • Re-crossing-point-based micro inertial navigation trajectory correction method used for indoor positioning

    CN109631909A