Method for improving UWB positioning precision

By constructing an error model based on convolutional neural network and long and short-term memory network, correcting the data of UWB sensors, solving the accuracy and stability problems of UWB positioning in non-horizontal state, achieving more efficient and accurate positioning results.

CN119183075AActive Publication Date: 2024-12-24湖南芒果融创科技有限公司

Patent Information

Application Number
CN202411279184.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2024-12-24
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 methods are limited by the accuracy of the IMU sensor, resulting in poor positioning efficiency, accuracy and adaptability.

Method used

The location data and timestamp of the UWB sensor are recorded through the motion capture device, preprocessed and normalized, and an error model based on convolutional neural network, long and short-term memory network and full connection layer is constructed, trained and iterated until the requirements are met, and the pre-production is obtained. Trained error model, used to correct real-time data of UWB sensors to improve positioning accuracy.

Benefits of technology

It effectively reduces the coordinate deviation between UWB and motion capture equipment, making the positioning results more accurate and reliable, especially in non-horizontal environments, and improves the accuracy and stability of UWB positioning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119183075A_ABST
    Figure CN119183075A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a method for improving UWB positioning precision, and belongs to the technical field of data processing, and the method specifically comprises the steps: carrying out the motion capture of a UWB sensor through motion capture equipment, and recording the positioning data and timestamps of the UWB sensor and the motion capture equipment; after the positioning data and the timestamps of the motion capture device and the UWB sensor are preprocessed, the corresponding data features are calculated and normalized; constructing an error model based on a convolutional neural network, a long-short-term memory network and a full connection layer which are connected in sequence; training an error model by using the normalized data features, constructing a loss function to evaluate the error model, and performing iterative training until an evaluation result meets a requirement to obtain a pre-trained error model; and calculating and normalizing data features corresponding to the real-time data, inputting the data features into a pre-trained error model, and predicting and outputting corrected coordinates. Through the scheme disclosed by the invention, the positioning efficiency, accuracy and adaptability are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] At present, UWB positioning technology has the advantages of strong penetration, low power consumption, good anti-multipath effect, high security, low system complexity and precise positioning accuracy, and is widely used in indoor positioning, tracking and navigation of objects or people. However, when UWB is in non-line-of-sight (i.e., the signal is blocked), there will still be problems such as low positioning accuracy and unstable positioning data. In order to solve the problem of unstable data in non-line-of-sight conditions of UWB, the industry currently mainly uses multi-sensor fusion to solve this problem. UWB and IMU sensors are fused for positioning. When the UWB sensor is in a non-line-of-sight state, the data of the IMU sensor is used to supplement the data of the UWB sensor for positioning. However, this method is affected by the accuracy of the IMU sensor and is limited by the principle of the IMU sensor (the IMU sensor contains an accelerometer and a gyroscope). The IMU sensor does not directly obtain the positioning data, but needs to perform integral operations through acceleration and angular velocity. This type of operation will accumulate errors over time, resulting in 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 the UWB sensor, the corresponding data features are calculated and normalized;

[0008] Step 3, construct 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 result meets 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 amount 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 accordingly, the corrected UWB sensor positioning data is obtained;

[0015] Step 2.4, calculate the quadratic term, product term, cubic term and speed based on the corrected UWB sensor positioning data, 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] Among them, 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] Step 4.1, the normalized data features are generated into batch sequences according to the preset length time step, and a three-dimensional tensor input error model is generated accordingly. The convolution layer extracts local spatial features from the three-dimensional tensor by sliding a convolution kernel on the three-dimensional tensor, multiplying the elements of the convolution kernel by a local area of ​​the three-dimensional tensor point by point, and then summing up all the elements to obtain the feature map of each time step;

[0032] Step 4.2, represent 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 according to 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 the 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 of each time step based on the cell state update and the output of the output gate until the hidden state of 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 graph of each time step is:

[0040]

[0041] in, is the output value of the kth feature map of the convolutional layer at position (i, j), which is the convolution kernel K (k) The value calculated after sliding over a local area of ​​the 3D 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, 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 expression of the coordinates 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 scheme for improving UWB positioning accuracy in the disclosed embodiment includes: step 1, using a motion capture device to capture the motion of a UWB sensor, and recording the positioning data and timestamps of the two, respectively forming motion capture device motion data and UWB sensor motion data; step 2, after pre-processing 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, training the error model using the normalized data features, 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 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, and the 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 drawings required for use in the embodiments will be briefly introduced below. 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 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 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 the following embodiments and features in the embodiments can be combined with each other without conflict. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in the 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 may be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on the present disclosure, it should be understood by those skilled in the art that an aspect described herein may be implemented independently of any other aspect, and two or more of these aspects may be combined in various ways. For example, any number of aspects described herein may be used to implement the device and / or practice the method. In addition, other structures and / or functionalities other than one or more of the aspects described herein may be used to implement this device 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 rather than being 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 arbitrarily, and the component layout may also be more complicated.

[0075] Additionally, in the following description, specific details are provided to facilitate a thorough understanding of the examples. However, it will be understood by those skilled in the art that the aspects described may 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 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 comprises 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 VICON positioning is consistent with the position center of 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 the 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 amount 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 accordingly, the corrected UWB sensor positioning data is obtained;

[0085] Step 2.4, calculate the quadratic term, product term, cubic term and speed based on the corrected UWB sensor positioning data, 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] Among them, t represents the current time, and Δ represents the time change.

[0100] In specific implementation, the data set 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, so the two data need to be processed. Define the coordinates of the VICON data as (X v ,Y v ), the coordinates of UWB data are (X u ,Y u ).

[0103] Convert the VICON data in millimeters to the same unit as the UWB data, meters, 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. 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 nearest VICON timestamp (T v ,X' v ,Y' v ):

[0108]

[0109] Where T u and T v They 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] Some additional features are calculated from the raw UWB data to capture the complex patterns in the data. These features help the model capture the nonlinear relationships in the UWB data and 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 data set max Minimum and maximum values.

[0131] Step 3, construct 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 result meets the requirements to obtain a pre-trained error model.

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

[0134] Step 4.1, the normalized data features are generated into batch sequences according to the preset length time step, and a three-dimensional tensor input error model is generated accordingly. The convolution layer extracts local spatial features from the three-dimensional tensor by sliding a convolution kernel on the three-dimensional tensor, multiplying the elements of the convolution kernel by a local area of ​​the three-dimensional tensor point by point, and then summing up all the elements to obtain the feature map of each time step;

[0135] Step 4.2, represent 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 according to 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 the 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 of each time step based on the cell state update and the output of the output gate until the hidden state of 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 convolutional layer at position (i, j), which is the convolution kernel K (k) The value calculated after sliding over a local area of ​​the 3D 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, 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 expression of the coordinates after correction of the UWB sensor 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 expression of the loss function is:

[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 with a length of 10. 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, which 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) on 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 up. The formula is as follows:

[0178]

[0179] is the output value of the kth feature map of the convolutional 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-1th 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 feature map output.

[0183] c.LSTM layer:

[0184] The LSTM layer is used to capture the time dependency of the input sequence, and can remember and forget certain patterns in the time series, which is 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, and its 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 the hidden size.

[0188] Forget Gate 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] Candidate cell states represent 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 status updateh t :

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

[0202] h t is the hidden state of the current time step, which is 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 the 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 motion capture device VICON and UWB data, and uses 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, the method uses 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. The 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 may be implemented in hardware, software, firmware, or a combination thereof.

[0217] The above is only a specific implementation of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present disclosure should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be based on the protection scope 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 the UWB sensor, the corresponding data features are calculated and normalized; Step 3, construct 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 result meets the requirements to obtain a 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 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 amount 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 accordingly, the corrected UWB sensor positioning data is obtained; Step 2.4, calculate the quadratic term, product term, cubic term and speed based on the corrected UWB sensor positioning data, form data features and perform normalization.

3. The method according to claim 2, characterized in that , the expression of the system deviation correction is: Among them, X′ v , Y′ v Represents the positioning data of the motion capture device after the unified coordinate axis, X′ u , Y′ u 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: X″ u =X′ u +ΔX,Y″ u =Y′ u +ΔY。 4. The method according to claim 3, characterized in that The expression of the quadratic term is The expression of the product term is XY=X″ u ×Y″ u ; The expression of the cubic term is The expression of the speed is Among them, t represents the current time, and Δ represents the time change.

5. The method according to claim 4, characterized in that The step 4 specifically includes: Step 4.1, the normalized data features are generated into batch sequences according to the preset length time step, and a three-dimensional tensor input error model is generated accordingly. The convolution layer extracts local spatial features from the three-dimensional tensor by sliding a convolution kernel on the three-dimensional tensor, multiplying the elements of the convolution kernel by a local area of ​​the three-dimensional tensor point by point, and then summing up all the elements to obtain the feature map of each time step; Step 4.2, represent the feature map as X = [x1, x2, ..., x T ], 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 according to the feature map of each time step; Step 4.4, calculate the cell state update based on the output of the input gate and the 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 of each time step based on the cell state update and the output of the output gate until the hidden state of 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; 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.

6. The method according to claim 5, 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 convolutional layer at position (i, j), which is the value calculated after the convolution kernel K(k) slides in 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.

7. The method according to claim 6, characterized in that The output of the input gate is i t =σ(W i ·[h t-1 ,x t ]+b i ) Among them, σ 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, 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; The output of the forget gate is f t =σ(W f ·[h t-1 ,x t ]+b f ) 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; The expression of the candidate cell state is 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.

8. The method according to claim 7, characterized in that The expression for updating the cell state is: 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; The output of the output gate is the t =σ(W o ·[h t-1 ,x t ]+b o ) Among them, W o , b o is the weight matrix and bias term of the output gate; The expression for updating the hidden state at each time step is: h t =o t ⊙tanh(C t )。 9. The method according to claim 8, characterized in that The expression of the corrected coordinates of the UWB sensor is: y=W·h T +b 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.

10. The method according to claim 9, 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

  • Indoor positioning method based on convolutional neural network

    CN110351658A

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

    CN113469110A

  • Park load space-time prediction method based on graph convolution and long-short term memory network

    CN116542390A

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

    CN116734829A

Cited By

  • Cell culture plate temperature measuring method, model training and deploying method and system

    CN119940154A

  • UWB / INS adaptive positioning method and system based on deep learning

    CN120368979A