A method to improve UWB positioning accuracy

Through data alignment and normalization processing of motion capture equipment and UWB sensors, combined with error model correction of convolutional neural networks and long and short-term memory networks, UWB positioning accuracy and stability problems are solved, and more accurate positioning effects are achieved.

CN119183075BActive Publication Date: 2025-08-26湖南芒果融创科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411279184.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2025-08-26
Estimated Expiration
2044-09-12

AI Technical Summary

Technical Problem

UWB positioning technology has lower positioning accuracy and unstable positioning data in the non-line-of-sight state. The existing multi-sensor fusion method is limited by the IMU sensor accuracy, resulting in the accumulation of positioning deviations.

Method used

By using motion capture devices to perform motion capture of UWB sensors, record positioning data and timestamps, perform data alignment and normalization processing, an error model based on convolutional neural network, long and short-term memory network and full connection layer is built, and iterative training is used to correct UWB positioning data.

Benefits of technology

It effectively reduces the deviation between UWB positioning systems and improves positioning accuracy. It performs well especially in non-line-of-sight environments, and the output position correction results are more accurate and reliable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119183075B_ABST
    Figure CN119183075B_ABST
Patent Text Reader

Abstract

The disclosed embodiments provide a method for improving UWB positioning accuracy, belonging to the field of data processing technology. Specifically, the method includes: using a motion capture device to capture the motion of a UWB sensor and recording the positioning data and timestamps of both; preprocessing the positioning data and timestamps of the motion capture device and the UWB sensor, calculating the corresponding data features and normalizing them; constructing an error model based on a sequentially connected convolutional neural network, a long short-term memory network, and a fully connected layer; training the error model using the normalized data features, constructing a loss function to evaluate the error model, iteratively training until the evaluation results meet the requirements, and obtaining a pre-trained error model; calculating the data features corresponding to the real-time data and normalizing them, inputting them into the pre-trained error model, and predicting and outputting the corrected coordinates. The disclosed solution improves positioning efficiency, accuracy, and adaptability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of data processing technology, and in particular to a method for improving UWB positioning accuracy. Background Art

[0002] Currently, UWB positioning technology boasts advantages such as strong penetration, low power consumption, excellent multipath mitigation, high security, low system complexity, and precise positioning accuracy. It is widely used for indoor positioning, tracking, and navigation of objects and people. However, UWB positioning can still suffer from reduced positioning accuracy and unstable positioning data in non-line-of-sight (NLOS) conditions (i.e., signal obstruction). To address this issue, the industry is currently primarily adopting multi-sensor fusion. This involves fusing UWB with IMU sensors for positioning. When the UWB sensor is in NLOS, IMU data is used to supplement the UWB sensor's data. However, this method is limited by the accuracy of the IMU sensor. Due to the principle of the IMU sensor (which includes an accelerometer and gyroscope), the IMU sensor does not directly obtain positioning data. Instead, it integrates acceleration and angular velocity. This calculation accumulates errors over time, leading to positioning deviations.

[0003] It can be seen that there is an urgent need for a method to improve UWB positioning accuracy with high positioning efficiency, accuracy and adaptability. Summary of the Invention

[0004] In view of this, the embodiments of the present disclosure provide a method for improving UWB positioning accuracy, which at least partially solves the problems of poor positioning efficiency, accuracy and adaptability in the prior art.

[0005] The present disclosure provides a method for improving UWB positioning accuracy, including:

[0006] Step 1: Use a motion capture device to capture the motion of the UWB sensor, and record the positioning data and timestamps of the two to form motion capture device motion data and UWB sensor motion data respectively;

[0007] Step 2: After preprocessing the positioning data and timestamps of the motion capture device and UWB sensor, the corresponding data features are calculated and normalized;

[0008] Step 3: Build an error model based on the sequentially connected convolutional neural network, long short-term memory network, and fully connected layer;

[0009] Step 4: Use the normalized data features to train the error model, and construct a loss function to evaluate the error model. Iterate the training until the evaluation results meet the requirements to obtain a pre-trained error model.

[0010] Step 5: After calculating and normalizing the data features corresponding to the real-time data of the UWB sensor, the pre-trained error model is input to predict and output the corrected coordinates.

[0011] According to a specific implementation of the embodiment of the present disclosure, step 2 specifically includes:

[0012] Step 2.1, unify the coordinate axes between the motion capture device positioning data and the UWB sensor positioning data;

[0013] Step 2.2: Using the nearest neighbor method, for each UWB data point in the UWB sensor motion data, find the data point corresponding to the nearest timestamp in the motion capture device motion data for alignment;

[0014] Step 2.3, by calculating the system deviation correction value of the first preset number of data points after the timestamp alignment, and correcting the coordinate deviation between the motion capture device and the UWB sensor based on the system deviation correction value, the corrected UWB sensor positioning data is obtained;

[0015] In step 2.4, the quadratic term, product term, cubic term, and velocity are calculated based on the corrected UWB sensor positioning data to form data features and perform normalization.

[0016] According to a specific implementation of the embodiment of the present disclosure, the expression of the system deviation correction amount is:

[0017]

[0018] Among them, X' v ,Y' v Represents the positioning data of the motion capture device after the coordinate axis is unified, X' u ,Y' u It represents the UWB sensor positioning data after the unified coordinate axis, and i represents the data sequence number;

[0019] The expression of the corrected UWB sensor positioning data is:

[0020] X″ u =X′ u +ΔX,Y″ u =Y′ u +ΔY.

[0021] According to a specific implementation of the embodiment of the present disclosure, the expression of the quadratic term is

[0022]

[0023] The expression of the product term is

[0024]

[0025] The expression of the cubic term is

[0026]

[0027] The expression of the speed is

[0028]

[0029] Where t represents the current time and Δ represents the time change.

[0030] According to a specific implementation of the embodiment of the present disclosure, step 4 specifically includes:

[0031] In step 4.1, the normalized data features are batched into a sequence of preset time steps, and a three-dimensional tensor is generated as input to the error model. The convolution layer extracts local spatial features from the three-dimensional tensor by sliding a convolution kernel over the three-dimensional tensor, multiplying the elements of the convolution kernel by a local region of the three-dimensional tensor point by point, and then summing all the elements to obtain the feature map for each time step.

[0032] Step 4.2, express the feature map as X = [x1, x2, ..., x T ], where T is the length of the batch sequence;

[0033] Step 4.3, input the feature map of each time step into the input gate and forget gate of the long short-term memory network, and calculate the candidate cell state based on the feature map of each time step;

[0034] Step 4.4, calculate the cell state update based on the output of the input gate and forget gate and the candidate cell state;

[0035] Step 4.5, calculate the output of the output gate based on the feature map of each time step;

[0036] Step 4.6: Calculate the hidden state update for each time step based on the cell state update and the output of the output gate until the hidden state for all time steps is obtained;

[0037] Step 4.7: The fully connected layer performs a linear transformation on the hidden state of the last time step to obtain the corrected coordinates of the UWB sensor.

[0038] In step 4.8, a loss function is constructed and the error loss is calculated based on the corrected coordinates of the UWB sensor and the positioning data of the motion capture device. The training is iterated until the error loss is lower than the threshold, the model parameters are saved, and the pre-trained error model is obtained.

[0039] According to a specific implementation of the embodiment of the present disclosure, the expression of the feature map of each time step is:

[0040]

[0041] in, is the output value of the kth feature map of the convolution layer at position (i, j), which is the convolution kernel K (k) The value calculated after sliding over a local area of ​​the three-dimensional tensor, is the weight of the (m,n)th element of the kth convolution kernel, is the value of the three-dimensional tensor at position (i+m,j+n), b (k) is the bias term of the kth convolution kernel.

[0042] According to a specific implementation of the embodiment of the present disclosure, the output of the input gate is

[0043] i t =σ(W i ·[h t-1 , x t ]+b i )

[0044] Among them, σ is the Sigmoid activation function, which compresses the input value to between 0 and 1, and W i is the weight matrix of the input gate, the dimension is the dimension of the hidden layer + the sample dimension, the dimension of the hidden layer, h t-1 is the hidden state of the previous time step, the dimension is the dimension of the hidden layer, x t is the feature map of the current time step, the dimension is the sample dimension, b i is the bias term of the input gate, and its dimension is the dimension of the hidden layer;

[0045] The output of the forget gate is

[0046] f t =σ(Wf·[h t-1 , x t ]+b f )

[0047] Among them, W f 、b f Represents the weight matrix and bias term of the forget gate, with the same dimension as the input gate;

[0048] The expression of the candidate cell state is

[0049]

[0050] Among them, tanh represents the hyperbolic tangent activation function, the output range is between -1 and 1, W C 、bC The weight matrix and bias term representing the candidate cell state.

[0051] According to a specific implementation of the embodiment of the present disclosure, the expression for updating the cell state is:

[0052]

[0053] Among them, C t Represents the cell state at the current time step, including memory information, ⊙ represents the element-by-element multiplication operation, C t-1 represents the cell state at the previous time step;

[0054] The output of the output gate is

[0055] o t =σ(W o ·[h t-1 , x t ]+b o )

[0056] Among them, W o 、b o is the weight matrix and bias term of the output gate;

[0057] The expression for updating the hidden state at each time step is

[0058] h t =o t ⊙tanh(C t ).

[0059] According to a specific implementation of the embodiment of the present disclosure, the coordinate expression after correction of the UWB sensor is:

[0060] y=W·h T +b

[0061] Among them, y represents the output of the fully connected layer, that is, the predicted corrected coordinate value, expressed as X pred and Y pred , W is the weight matrix of the fully connected layer, h T is the last hidden state of the long short-term memory network, and b is the bias term of the fully connected layer.

[0062] According to a specific implementation of the embodiment of the present disclosure, the expression of the loss function is:

[0063]

[0064] in, and are the coordinates predicted by the model, and It is the positioning data of the motion capture device.

[0065] The solution for improving UWB positioning accuracy in the embodiment of the present disclosure includes: step 1, using a motion capture device to capture the motion of the UWB sensor, and recording the positioning data and timestamps of the two to form motion data of the motion capture device and motion data of the UWB sensor respectively; step 2, after preprocessing the positioning data and timestamps of the motion capture device and the UWB sensor, calculating their corresponding data features and normalizing them; step 3, constructing an error model based on a convolutional neural network, a long short-term memory network and a fully connected layer connected in sequence; step 4, using the normalized data features to train the error model, and constructing a loss function to evaluate the error model, iterating the training until the evaluation result meets the requirements, and obtaining a pre-trained error model; step 5, calculating the data features corresponding to the real-time data of the UWB sensor and normalizing them, inputting them into the pre-trained error model, and predicting and outputting the corrected coordinates.

[0066] The beneficial effects of the embodiments of the present disclosure are as follows: through the scheme of the present disclosure, by aligning and normalizing the motion capture device VICON and UWB data, and using a large-scale data set to calculate the average deviation during the training process, the method effectively reduces the deviation between the two coordinate systems, making the positioning result more accurate; by using a convolutional neural network (CNN) to capture the spatial features of the data, and a long short-term memory network (LSTM) to process the temporal features, and utilizing the spatial features extracted by CNN and the time series features processed by LSTM, the method can fuse data features of multiple dimensions, making the final output position correction result more accurate and reliable. This method can more accurately correct errors in UWB positioning data, especially in non-line-of-sight (NLOS) environments. BRIEF DESCRIPTION OF THE DRAWINGS

[0067] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0068] Figure 1 A flowchart of a method for improving UWB positioning accuracy provided by an embodiment of the present disclosure;

[0069] Figure 2 A specific implementation framework diagram of a method for improving UWB positioning accuracy provided by an embodiment of the present disclosure;

[0070] Figure 3 A schematic diagram of the relative positions of a motion capture device and a UWB sensor provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0071] The embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.

[0072] The following describes the embodiments of the present disclosure through specific concrete examples, and those skilled in the art can easily understand other advantages and effects of the present disclosure from the contents disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all of the embodiments. The present disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present disclosure. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present disclosure.

[0073] It should be noted that various aspects of the embodiments within the scope of the appended claims are described below. It should be apparent that the aspects described herein can be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on this disclosure, it should be understood by those skilled in the art that an aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects described herein can be used to implement an apparatus and / or practice a method. In addition, other structures and / or functionalities other than one or more of the aspects described herein can be used to implement this apparatus and / or practice this method.

[0074] It should also be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present disclosure. The illustrations only show components related to the present disclosure and are not drawn according to the number, shape and size of components in actual implementation. In actual implementation, the form, quantity and proportion of each component may be changed at will, and the component layout may also be more complicated.

[0075] Additionally, in the following description, specific details are provided to provide a thorough understanding of the examples. However, one skilled in the art will appreciate that the aspects described can be practiced without these specific details.

[0076] The embodiments of the present disclosure provide a method for improving UWB positioning accuracy, which can be applied to indoor positioning processes in positioning and navigation scenarios.

[0077] See also Figure 1 , is a flow chart of a method for improving UWB positioning accuracy provided by an embodiment of the present disclosure. Figure 1 and Figure 2 As shown, the method mainly includes the following steps:

[0078] Step 1: Use a motion capture device to capture the motion of the UWB sensor, and record the positioning data and timestamps of the two to form motion capture device motion data and UWB sensor motion data respectively;

[0079] In specific implementation, you can use the precision motion capture device VICON to capture the motion of the UWB sensor, and record the motion data of both as a CSV file, which includes the timestamp and the corresponding X, Y values. It is necessary to ensure that the position center of the VICON positioning is consistent with the position center of the UWB positioning, and record enough data. The relative position of the VICON reflective point and the UWB sensor is as follows: Figure 3 shown.

[0080] Step 2: After preprocessing the positioning data and timestamps of the motion capture device and UWB sensor, the corresponding data features are calculated and normalized;

[0081] Based on the above embodiment, step 2 specifically includes:

[0082] Step 2.1, unify the coordinate axes between the motion capture device positioning data and the UWB sensor positioning data;

[0083] Step 2.2: Using the nearest neighbor method, for each UWB data point in the UWB sensor motion data, find the data point corresponding to the nearest timestamp in the motion capture device motion data for alignment;

[0084] Step 2.3, by calculating the system deviation correction value of the first preset number of data points after the timestamp alignment, and correcting the coordinate deviation between the motion capture device and the UWB sensor based on the system deviation correction value, the corrected UWB sensor positioning data is obtained;

[0085] In step 2.4, the quadratic term, product term, cubic term, and velocity are calculated based on the corrected UWB sensor positioning data to form data features and perform normalization.

[0086] Furthermore, the expression of the system deviation correction amount is:

[0087]

[0088] Among them, X' v ,Y' v Represents the positioning data of the motion capture device after the coordinate axis is unified, X' u ,Y' u It represents the UWB sensor positioning data after the unified coordinate axis, and i represents the data sequence number;

[0089] The expression of the corrected UWB sensor positioning data is:

[0090] X″ u =X′ u +ΔX,Y″ u =Y′ u +ΔY.

[0091] Furthermore, the expression of the quadratic term is

[0092]

[0093] The expression of the product term is

[0094] XY=X″ u ×Y″ u ;

[0095] The expression of the cubic term is

[0096]

[0097] The expression of the speed is

[0098]

[0099] Where t represents the current time and Δ represents the time change.

[0100] In specific implementation, the dataset preprocessing and normalization process can be as follows:

[0101] a. Coordinate axis transformation:

[0102] In the data recorded in step 1, the origin and axis of the VICON positioning coordinate system and the UWB positioning coordinate system are inconsistent, and there is also a deviation between the start time of data recording and the frequency of the two data. Therefore, the two data need to be processed. The coordinates of the VICON data are defined as (X v ,Y v ), the coordinates of UWB data are (X u ,Y u ).

[0103] Convert the VICON data in millimeters to meters, the same unit as the UWB data, and the VICON coordinates to:

[0104]

[0105] UWB data does not need to be converted, so there is X' u =X u ,Y' u =Yu .

[0106] b. Timestamp alignment:

[0107] Since the frequency of UWB data is unstable, it needs to be aligned with the VICON data in time. Here, the nearest neighbor method is used to align the VICON and UWB data. For each UWB data point (T u ,X' u ,Y' u ), find the data point corresponding to the most recent VICON timestamp (T v ,X' v ,Y' v ):

[0108]

[0109] Where T u and T v are the timestamps of UWB and VICON in the recorded data respectively.

[0110] c. Coordinate axis offset correction:

[0111] Due to the inconsistency of the coordinate origin, there is a deviation between the UWB data and the VICON data. It is necessary to calculate the axis deviation between the two and then perform data correction. The coordinate deviation between VICON and UWB is corrected by calculating the average difference of the first 1000 data points after the timestamp alignment:

[0112]

[0113] ΔX and ΔY are the coordinate system deviation correction amounts.

[0114] Corrected UWB data:

[0115] X″ u =X′ u +ΔX,Y″ u =Y′ u +ΔY

[0116] d. Data feature calculation:

[0117] Additional features are calculated from the raw UWB data to capture complex patterns in the data. These features help the model capture nonlinear relationships in the UWB data, allowing it to better fit the actual situation. The specific feature calculation is as follows:

[0118] Quadratic term:

[0119]

[0120] Product term:

[0121] XY=X″ u ×Y″ u

[0122] Cubic terms:

[0123]

[0124] speed:

[0125]

[0126] e. Data normalization

[0127] XY=X″ u ×Y″ u

[0128] Map feature data of different scales into a unified range to speed up the model training process and prevent certain features from having too much impact on training due to their large values.

[0129]

[0130] Among them, X is the original data, is X norm The normalized data and X min is the X in the dataset max Minimum and maximum values.

[0131] Step 3: Build an error model based on the sequentially connected convolutional neural network, long short-term memory network, and fully connected layer;

[0132] Step 4: Use the normalized data features to train the error model, and construct a loss function to evaluate the error model. Iterate the training until the evaluation results meet the requirements to obtain a pre-trained error model.

[0133] Based on the above embodiment, step 4 specifically includes:

[0134] In step 4.1, the normalized data features are batched into a sequence of preset time steps, and a three-dimensional tensor is generated as input to the error model. The convolution layer extracts local spatial features from the three-dimensional tensor by sliding a convolution kernel over the three-dimensional tensor, multiplying the elements of the convolution kernel by a local region of the three-dimensional tensor point by point, and then summing all the elements to obtain the feature map for each time step.

[0135] Step 4.2, express the feature map as X = [x1, x2, ..., x T ], where T is the length of the batch sequence;

[0136] Step 4.3, input the feature map of each time step into the input gate and forget gate of the long short-term memory network, and calculate the candidate cell state based on the feature map of each time step;

[0137] Step 4.4, calculate the cell state update based on the output of the input gate and forget gate and the candidate cell state;

[0138] Step 4.5, calculate the output of the output gate based on the feature map of each time step;

[0139] Step 4.6: Calculate the hidden state update for each time step based on the cell state update and the output of the output gate until the hidden state for all time steps is obtained;

[0140] Step 4.7: The fully connected layer performs a linear transformation on the hidden state of the last time step to obtain the corrected coordinates of the UWB sensor.

[0141] In step 4.8, a loss function is constructed and the error loss is calculated based on the corrected coordinates of the UWB sensor and the positioning data of the motion capture device. The training is iterated until the error loss is lower than the threshold, the model parameters are saved, and the pre-trained error model is obtained.

[0142] Furthermore, the expression of the feature map of each time step is

[0143]

[0144] in, is the output value of the kth feature map of the convolution layer at position (i, j), which is the convolution kernel K (k) The value calculated after sliding over a local area of ​​the three-dimensional tensor, is the weight of the (m,n)th element of the kth convolution kernel, is the value of the three-dimensional tensor at position (i+m,j+n), b (k) is the bias term of the kth convolution kernel.

[0145] Furthermore, the output of the input gate is

[0146] i t =σ(Wi·[h t-1 , x t ]+b i )

[0147] Among them, σ is the Sigmoid activation function, which compresses the input value to between 0 and 1, and W i is the weight matrix of the input gate, the dimension is the dimension of the hidden layer + the sample dimension, the dimension of the hidden layer, h t-1 is the hidden state of the previous time step, the dimension is the dimension of the hidden layer, x tis the feature map of the current time step, the dimension is the sample dimension, b i is the bias term of the input gate, and its dimension is the dimension of the hidden layer;

[0148] The output of the forget gate is

[0149] f t =σ(W f ·[h t-1 , x t ]+b f )

[0150] Among them, W f 、b f Represents the weight matrix and bias term of the forget gate, with the same dimension as the input gate;

[0151] The expression of the candidate cell state is

[0152]

[0153] Among them, tanh represents the hyperbolic tangent activation function, the output range is between -1 and 1, W C 、b C The weight matrix and bias term representing the candidate cell state.

[0154] Furthermore, the expression for updating the cell state is:

[0155]

[0156] Among them, C t Represents the cell state at the current time step, including memory information, ⊙ represents the element-by-element multiplication operation, C t-1 represents the cell state at the previous time step;

[0157] The output of the output gate is

[0158] o t =σ(W o ·[h t-1 , x t ]+b o )

[0159] Among them, W o 、b o is the weight matrix and bias term of the output gate;

[0160] The expression for updating the hidden state at each time step is

[0161] h t =o t ⊙tanh(C t ).

[0162] Furthermore, the coordinate expression of the UWB sensor after correction is:

[0163] y=W·h T +b

[0164] Among them, y represents the output of the fully connected layer, that is, the predicted corrected coordinate value, expressed as X pred and Y pred , W is the weight matrix of the fully connected layer, h T is the last hidden state of the long short-term memory network, and b is the bias term of the fully connected layer.

[0165] Furthermore, the loss function is expressed as

[0166]

[0167] in, and are the coordinates predicted by the model, and It is the positioning data of the motion capture device.

[0168] In specific implementation, the model training process is as follows:

[0169] a. Data input

[0170] The input data is a sequence of length 10, and the data at each moment is a vector containing the normalized values ​​of the above features:

[0171]

[0172] The data for each time step is displayed on one line, with a total of 10 lines (corresponding to the 10 time steps from time (t-9) to t).

[0173] In the actual model, the input data is not a sequence, but a batch sequence (batch size). Each sequence has a length of 10 and contains multiple features. It can be represented by a three-dimensional tensor:

[0174] Input tensor = (batch size, sequence length, feature dimension)

[0175] Among them, batch size represents the number of sequences processed in one forward propagation; sequence length is fixed to 10, indicating that each sequence contains 10 time steps of data; feature dimension is the number of features, which is 8 here (that is, each time step contains 8 feature values).

[0176] b. Convolutional layer:

[0177] The convolution layer extracts local spatial features from the input data and generates a feature map by sliding a convolution kernel (or filter) over the input data. Each element of each feature map is obtained by multiplying a local area of ​​the input data by the element of the convolution kernel point by point and then summing them. The formula is as follows:

[0178]

[0179] Is the output value of the kth feature map of the convolution layer at position (i, j). This is the convolution kernel K (k) The value calculated after sliding over a local area of ​​the input data.

[0180] is the weight of the (m,n)th element of the kth convolution kernel. This convolution kernel is used to extract specific features of the input data.

[0181] is the value of the input tensor at position (i+m,j+n). The input here is the output of the l-1 layer, that is, the output data of the previous layer.

[0182] b (k) is the bias term of the kth convolution kernel. This is a constant value used to adjust the output of the feature map.

[0183] c.LSTM layer:

[0184] The LSTM layer is used to capture the temporal dependency of the input sequence, and can memorize and forget certain patterns in the time series, making it suitable for processing the time series characteristics of UWB data. input After being processed by the convolutional layer, it is represented by X. Then the data input to the LSTM layer can be represented as X = [x1, x2, ..., x T ], where T is the length of the sequence, x t is the input feature vector at each time step, with a size of feature dimension. At each time step t, the LSTM layer processes the input data x through the following steps: t :

[0185] Input gate i t :

[0186] i t =σ(W i ·[h t-1 , x t ]+b i )

[0187] Input gate i tControls how much new information is transmitted to the cell state, with a value between 0 and 1; σ is the Sigmoid activation function, which compresses the input value to between 0 and 1; W i is the weight matrix of the input gate, with a dimension of (hidden size + feature dimension, hidden size). Hidden size represents the dimension of the hidden layer, which is set to 128 in this method. Feature dimension is the sample dimension, which is 8 in this method. t-1 is the hidden state of the previous time step, the dimension is hidden size; x t is the input feature vector of the current time step, with the dimension being feature dimension; b i It is the bias term of the input gate, and its dimension is hidden size.

[0188] Forget Gate f t :

[0189] f t =σ(W f ·[h t-1 , x t ]+b f )

[0190] The forget gate controls how much of the cell state in the previous time step is retained in the current state, and its value is between 0 and 1; f 、b f Represents the weight matrix and bias term of the forget gate, with the same dimension as the input gate.

[0191] Candidate cell states

[0192]

[0193] The candidate cell state represents the content that can be selected in the current time step; tanh hyperbolic tangent activation function, the output range is between -1 and 1; W C 、b C Weight matrices and bias terms for candidate cell states.

[0194] Cell state update C t :

[0195]

[0196] C t The cell state at the current time step, including memory information; ⊙ element-by-element multiplication operation; C t-1 The cell state at the previous time step.

[0197] Output gate o t :

[0198] o t =σ(W o ·[h t-1 , x t ]+b o )

[0199] o t is the output gate, which controls how much of the cell state is passed to the hidden state; W o 、b o is the weight matrix and bias term of the output gate.

[0200] Hide state update h t :

[0201] h t =o t ⊙tanh(C t )

[0202] h t It is the hidden state of the current time step, the output of LSTM, and one of the inputs of the next time step.

[0203] d. Fully connected layer:

[0204] The fully connected layer receives the high-dimensional feature vectors passed from the previous convolutional layer and LSTM layer, and integrates these features into a smaller output space through linear transformation, and finally outputs the corrected UWB data X and Y. The fully connected layer receives the hidden state vector h passed from the LSTM layer T , and map it to the output space through linear transformation. The specific formula is as follows:

[0205] y=W·h T +b

[0206] y represents the output of the fully connected layer, that is, the predicted corrected coordinate value, expressed as X pred and Y pred ; W is the weight matrix of the fully connected layer; h T is the last hidden state of LSTM; b is the bias term of the fully connected layer. The final output y is a two-dimensional vector [y x ,y y ], respectively representing the corrected X and Y coordinates.

[0207] e. Construct loss function:

[0208] By minimizing the mean square error on the training set and validation set, the model can gradually learn how to extract more accurate location information from UWB data.

[0209]

[0210] L is the mean square error loss; and are the coordinates predicted by the model (where i represents the sample index); and is the real coordinate recorded by VICON

[0211] f. Model saving and output:

[0212] The trained model is saved for easy reference in real-time UWB data processing.

[0213] Step 5: After calculating and normalizing the data features corresponding to the real-time data of the UWB sensor, the pre-trained error model is input to predict and output the corrected coordinates.

[0214] In specific implementation, the UWB data received in real time can be normalized and feature calculated, and then the pre-processed data can be input into the model to predict and output the corrected coordinates.

[0215] The method for improving UWB positioning accuracy provided in this embodiment aligns and normalizes the data of the motion capture device VICON and UWB, and uses a large-scale data set to calculate the average deviation during the training process. This method effectively reduces the deviation between the two coordinate systems, making the positioning results more accurate. By using a convolutional neural network (CNN) to capture the spatial features of the data and a long short-term memory network (LSTM) to process the temporal features, and utilizing the spatial features extracted by the CNN and the time series features processed by the LSTM, this method can fuse data features of multiple dimensions, making the final output position correction result more accurate and reliable. This method can more accurately correct errors in UWB positioning data, especially in non-line-of-sight (NLOS) environments.

[0216] It should be understood that various parts of the present disclosure can be implemented in hardware, software, firmware, or a combination thereof.

[0217] The above description is merely a specific embodiment of the present disclosure, but the scope of protection of the present disclosure is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this disclosure should be included in the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure should be based on the scope of protection of the claims.

Claims

1. A method for improving UWB positioning accuracy, characterized in that: include: Step 1: Use a motion capture device to capture the motion of the UWB sensor, and record the positioning data and timestamps of the two to form motion capture device motion data and UWB sensor motion data respectively; Step 2: After preprocessing the positioning data and timestamps of the motion capture device and UWB sensor, the corresponding data features are calculated and normalized; The step 2 specifically includes: Step 2.1, unify the coordinate axes between the motion capture device positioning data and the UWB sensor positioning data; Step 2.2: Using the nearest neighbor method, for each UWB data point in the UWB sensor motion data, find the data point corresponding to the nearest timestamp in the motion capture device motion data for alignment; Step 2.3, by calculating the system deviation correction value of the first preset number of data points after the timestamp alignment, and correcting the coordinate deviation between the motion capture device and the UWB sensor based on the system deviation correction value, the corrected UWB sensor positioning data is obtained; Step 2.4: Calculate the quadratic term, product term, cubic term, and velocity based on the corrected UWB sensor positioning data to form data features and perform normalization. Step 3: Build an error model based on the sequentially connected convolutional neural network, long short-term memory network, and fully connected layer; Step 4: Use the normalized data features to train the error model, and construct a loss function to evaluate the error model. Iterate the training until the evaluation results meet the requirements to obtain a pre-trained error model. The step 4 specifically includes: In step 4.1, the normalized data features are batched into a sequence of preset time steps, and a three-dimensional tensor is generated as input to the error model. The convolution layer extracts local spatial features from the three-dimensional tensor by sliding a convolution kernel over the three-dimensional tensor, multiplying the elements of the convolution kernel by a local region of the three-dimensional tensor point by point, and then summing all the elements to obtain the feature map for each time step. Step 4.2, the feature map is represented as , where T is the length of the batch sequence; Step 4.3, input the feature map of each time step into the input gate and forget gate of the long short-term memory network, and calculate the candidate cell state based on the feature map of each time step; Step 4.4, calculate the cell state update based on the output of the input gate and forget gate and the candidate cell state; Step 4.5, calculate the output of the output gate based on the feature map of each time step; Step 4.6: Calculate the hidden state update for each time step based on the cell state update and the output of the output gate until the hidden state for all time steps is obtained; Step 4.7: The fully connected layer performs a linear transformation on the hidden state of the last time step to obtain the corrected coordinates of the UWB sensor. Step 4.8: Construct a loss function and calculate the error loss based on the corrected coordinates of the UWB sensor and the positioning data of the motion capture device. Iterate the training until the error loss is lower than the threshold, save the model parameters, and obtain the pre-trained error model. Step 5: After calculating and normalizing the data features corresponding to the real-time data of the UWB sensor, the pre-trained error model is input to predict and output the corrected coordinates.

2. The method according to claim 1, characterized in that , the expression of the system deviation correction is: ; ; in, , Represents the positioning data of the motion capture device after the coordinate axis is unified. , It represents the UWB sensor positioning data after the unified coordinate axis, and i represents the data sequence number; The expression of the corrected UWB sensor positioning data is: 。 3. The method according to claim 2, characterized in that , the expression of the quadratic term is ; The expression of the product term is ; The expression of the cubic term is ; The expression of the speed is ; Among them, t represents the current time, is the time variation.

4. The method according to claim 3, characterized in that , the expression of the feature map of each time step is ; in, is the output value of the kth feature map of the convolution layer at position (i, j), which is the convolution kernel The value calculated after sliding over a local area of ​​the three-dimensional tensor, is the weight of the (m,n)th element of the kth convolution kernel, is the value of the three-dimensional tensor at position (i+m,j+n), is the bias term of the kth convolution kernel.

5. The method according to claim 4, characterized in that , the output of the input gate is ; in, Sigmoid activation function compresses the input value to between 0 and 1. is the weight matrix of the input gate, the dimension is the dimension of the hidden layer + the sample dimension, the dimension of the hidden layer, is the hidden state of the previous time step, and its dimension is the dimension of the hidden layer. is the feature map of the current time step, and its dimension is the sample dimension. is the bias term of the input gate, and its dimension is the dimension of the hidden layer; The output of the forget gate is ; in, 、 Represents the weight matrix and bias term of the forget gate, with the same dimension as the input gate; The expression of the candidate cell state is ; in, Represents the hyperbolic tangent activation function, with an output range between -1 and 1. 、 The weight matrix and bias term representing the candidate cell state.

6. The method according to claim 5, characterized in that , the expression of the cell state update is ; in, Represents the cell state at the current time step, including memory information, represents an element-wise multiplication operation, represents the cell state at the previous time step; The output of the output gate is ; in, 、 is the weight matrix and bias term of the output gate; The expression for updating the hidden state at each time step is 。 7. The method according to claim 6, characterized in that , the expression of the coordinates after correction of the UWB sensor is: ; in, Represents the output of the fully connected layer, that is, the predicted corrected coordinate value, expressed as and , is the weight matrix of the fully connected layer, is the last hidden state of the LSTM network, is the bias term of the fully connected layer.

8. The method according to claim 7, characterized in that , the expression of the loss function is ; in, and are the coordinates predicted by the model, , , and It is the positioning data of the motion capture device.

Citation Information

Patent Citations

  • UWB non-line-of-sight signal identification method based on deep learning

    CN113469110A

  • Edge-assisted mine monorail crane robot non-line-of-sight pose estimation method and system

    CN116734829A