Pedestrian complex motion navigation method based on depth adaptive Kalman filtering
By using deep adaptive Kalman filtering and neural network estimating pseudo-zero-speed noise covariance matrix in pedestrian inertial navigation system, the problem of insufficient navigation accuracy in complex motion mode is solved, and the navigation effect with high accuracy and high reliability is achieved.
Patent Information
- Application Number
- CN202510217207.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-26
- Publication Date
- 2025-06-13
AI Technical Summary
The existing pedestrian inertial navigation systems are difficult to accurately navigate in complex motion modes, especially in cases such as running, backward and sideways. Insufficient zero-speed assumption error and standing moment detection accuracy lead to limited navigation accuracy.
The navigation method based on deep adaptive Kalman filtering is adopted to estimate the noise covariance matrix of pseudo-zero speed measurement through neural networks, and the gain matrix of Kalman filtering is regulated to achieve the rational use of pseudo-zero speed information, avoiding the dependence on standing moment detection.
The accuracy and reliability of pedestrian inertial navigation in complex motion modes are improved, and the problems of zero-speed assumption error and insufficient detection accuracy are avoided, thus achieving real-time navigation effect of poor resistance.
Smart Images

Figure CN120141478A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of navigation, guidance and control, and particularly relates to a pedestrian complex motion navigation method based on depth adaptive Kalman filtering. Background Art
[0002] The autonomous characteristics of the Pedestrian Inertial Navigation System (PINS) determine its important value in scenarios such as fire fighting, first aid, and military. To overcome the inherent defect that the inertial navigation error accumulates rapidly over time, conventional PINS realizes pedestrian navigation in the walking mode based on the Zero-Velocity Update (ZUPT) algorithm. Specifically, as Figure 1 shown, a Miniature Inertial Measurement Unit (MINU) is bound to the foot, and the General Likelihood Ratio Test (GLRT) is used to detect the foot standing moment. Assuming that the foot is stationary at this time, pseudo zero-velocity measurement information is established, and the Kalman Filter (KF) measurement update is used to estimate the inertial navigation error and compensate it to the inertial navigation solution; if the foot standing moment is not detected, no measurement update and compensation are performed, and only time update is carried out.
[0003] When facing complex motion patterns including running, backward walking, side walking, etc., the adaptability and accuracy of the ZUPT algorithm are restricted due to the foot pseudo zero-velocity hypothesis error and the difficulty in detecting the foot standing moment. Therefore, how to design a general PINS method in the mixed motion mode is the key problem to be solved by the present invention. Summary of the Invention
[0004] In view of this, the present invention provides a pedestrian complex motion navigation method based on depth adaptive Kalman filtering, which does not require the detection of the foot standing moment and can reasonably regulate the utilization rate of pseudo zero-velocity information, thereby improving the accuracy of inertial navigation.
[0005] To solve the above technical problems, the present invention is implemented as follows.
[0006] A pedestrian complex motion navigation method based on depth adaptive Kalman filtering includes:
[0007] Step 1: Collect inertial data sensed by a Miniature Inertial Measurement Unit (MIMU) bound to the pedestrian's foot;
[0008] Step 2: Input the inertial data into a neural network, and the neural network maps the inertial data segment before the k-th moment to the noise covariance matrix R of the pseudo zero-velocity measurement at the k-th momentDA,k ; R DA,k Characterize the confidence of the pseudo-zero speed measurement;
[0009] Step 3: Use Kalman filter for inertial navigation error estimation; the Kalman filter uses the pseudo-zero speed information as the measurement quantity, and uses the noise covariance matrix R output by the neural network DA,k to update the gain matrix of the Kalman filter to control the utilization rate of the pseudo-zero speed information; the Kalman filter performs measurement update at each moment, and there is no need to turn on or off the measurement update based on the detection result of the foot standing moment;
[0010] Step 4: Use the inertial navigation error estimated by the Kalman filter to compensate the navigation information.
[0011] Preferably, the error state quantity of the Kalman filter is X = [δL T δV T φ T ; T ; δL is the position error, δV is the speed error, and φ is the attitude error;
[0012] The measurement equation Z k is constructed with the pseudo-zero speed information as the measurement quantity as: Z k = V 0,k - V INS,k , where V 0,k is the pseudo-zero speed information, and V INS,k is the inertial navigation solution speed based on the MIMU.
[0013] Preferably, the method further includes training the neural network, specifically including:
[0014] Step A1: Establish training samples, each training sample includes a segment of inertial data with a length of N, as well as the position L, speed V, attitude and covariance matrix P at each moment;
[0015] Step A2: For one iteration, randomly select multiple training samples as a batch; randomly intercept a sample segment with a length of n in each sample; the sample segment is input into the neural network, and the neural network outputs the noise covariance matrix R DA,k ; W < n < N;
[0016] Step A3: Use the same Kalman filter structure as in Step 3, and use the noise covariance matrix R obtained in Step A2 DA,k to update the gain matrix of the Kalman filter, and perform inertial navigation error estimation based on the inertial data segment; the initial values of the position L, speed V, attitude and covariance matrix P required for the operation of the Kalman filter are taken as the data corresponding to the starting moment of the inertial data sample;
[0017] Step A4: Use the inertial navigation error generated by the Kalman filter for position compensation to obtain a position estimate. Calculate the loss with the corresponding position L in the training sample; use the loss to optimize the neural network parameters during the backpropagation process.
[0018] Preferably, the training sample is established in step A1 as follows:
[0019] Collect inertial data and position reference information during the process of a person walking with a MIMU strapped to their foot and a navigation satellite system receiver carried, moving in a specific motion pattern. Repeat the collection process multiple times in different specific motion patterns to obtain a series of collection trajectories. Based on the collection trajectories, use a second Kalman filter for inertial navigation error estimation. This second Kalman filter uses the position reference data L obtained by the navigation satellite system receiver RTK,k and the inertial navigation solution position L calculated from the inertial information INS,k The difference between them is used as measurement information to construct a measurement equation.
[0020] Meanwhile, perform filtering interpolation during the Kalman filtering process to enhance the position reference data to the same frequency as the inertial data.
[0021] During the second Kalman filter iteration process, for the corresponding inertial data, record the position L, velocity V, attitude and covariance matrix P at each moment to obtain the processed trajectory.
[0022] Use a sliding window method with a repeated area to intercept a time series sample of length N from the processed trajectory to obtain the training sample.
[0023] Preferably, a person walking with a MIMU strapped to their foot and a navigation satellite system receiver carried is as follows:
[0024] Strap the MIMU to the instep of one foot of the collector, with the x-axis pointing to the right and the y-axis pointing to the toe, and connect it to the data processing module by wire to collect three-axis acceleration and angular velocity data in real time and store them in the inertial data storage unit in the data processing module.
[0025] Connect an external GNSS antenna to provide UTC reference for the data; fix the RTK GNSS receiver on the chest of the collector to collect position references in real time and store them in the RTK data storage unit in the data processing module; extend the RTK antenna above the shoulder through a support device.
[0026] Preferably, the moving in a specific motion pattern to collect inertial data and position reference information during the process is as follows:
[0027] After the collector turns on the MIMU and RTK GNSS receivers at the initial position and starts recording inertial data and position reference information, first stand still at the initial position for a set time t1, then move forward in a specific motion mode for a set time t2 and then stop moving. The movement trajectory is not specified. After that, turn off the MIMU and RTK GNSS receivers and save the data file to complete one collection.
[0028] Preferably, the different specific motion modes include: walking, running, backing, walking sideways with the left hand, walking sideways with the right hand.
[0029] Preferably, the neural network sequentially includes two 1D convolutional layers, one channel attention mechanism, one temporal attention mechanism, one long short-term memory layer, one fully connected layer, and an output layer.
[0030] Preferably, the last output layer of the neural network is used to control the range of the network learning target and map the output θ of the previous network layer to R DA,k , and the mapping relationship is:
[0031] R DA,k = R ref ·10 l·Sigmoid(θ)
[0032] where, R ref is the set reference covariance; l is the scaling factor, so that the diagonal element value of R DA,k is dynamically adjusted according to the learned motion characteristics between 1 times and 10 ref times of R l ; Sigmoid(·) represents the Sigmoid function.
[0033] Preferably, the reference covariance R ref takes the value of R ref = Diag([5 5 5])×10 -5 , and l = 10.
[0034] Beneficial effects:
[0035] (1) In the present invention, a neural network is used as a measurement noise covariance matrix estimator to construct a Kalman filter to realize real-time adjustment of measurement update: the neural network learns the pseudo-zero velocity measurement noise covariance matrices of each stage of different motion modes from the collected inertial data, and controls the action intensity of the pseudo-zero velocity measurement on the error estimation by adjusting the measurement update correction intensity, rather than using the detection result at the foot standing moment as the basis for whether to start the measurement update. It not only gets rid of the problem of the degradation of the detection accuracy at the standing moment under different motion modes, but also can control the utilization rate of the pseudo-zero velocity measurement according to the deep features of the inertial data under different motion modes, thus avoiding the zero velocity hypothesis error and the negative impacts of the failure of the foot standing moment detection method under complex motions and the pseudo-zero velocity error.
[0036] (2) In a preferred embodiment, a dual attention mechanism network DualAttNet is proposed, which is suitable for learning the features contained in the inertial data of complex pedestrian motion patterns.
[0037] (3) Break through the problem that the reference true value cannot be obtained during network training, and use the measurement noise covariance matrix R output by the neural network DA,k to perform filtered measurement update to obtain position estimation. At this time, the position estimation contains network weight information and gradient information. Using the position error at the last moment as the loss function, the network weights can be updated through the backpropagation of the network computational graph, and only considering the position error at the last moment can reduce the difficulty of network training.
[0038] (4) The present invention further provides a pedestrian inertial-based navigation data acquisition device. This device is modularly designed, easy to wear and convenient for a single person to implement data acquisition; it does not affect the natural movements of various specific motion modes. Description of the Drawings
[0039] Figure 1 Schematic diagram of a pedestrian complex motion navigation scheme in the prior art.
[0040] Figure 2 Schematic diagram of the principle of the pedestrian complex motion navigation scheme based on depth adaptive Kalman filter of the present invention.
[0041] Figure 3 Block diagram of the composition and installation method of the pedestrian inertial-based navigation data acquisition device of the present invention.
[0042] Figure 4 Basic structure of the DualAttNet network of the present invention.
[0043] Figure 5 Comparison result of the intermediate variable θ output by the DualAttNet network and the GLRT value reduced by 15,000 times.
[0044] Figure 6 Comparison chart of the positioning results based on DAKF and the positioning results of PINS implemented by combining GLRT fixed threshold with ZUPT conventionally. Detailed Embodiment
[0045] The following takes examples in conjunction with the drawings and describes the present invention in detail.
[0046] For high-precision and high-reliability pedestrian inertial navigation under complex motion patterns, the present invention proposes a Deep Adaptive Kalman Filter (DAKF) method. The key point of the method is to construct a neural network to learn and evaluate the strategy of the confidence of the pseudo-zero velocity measurements at each stage of different motion patterns from the original inertial data, and quantify the confidence as the measurement noise covariance matrix, so as to adaptively adjust the size of the Kalman filter gain matrix, control the weight of the pseudo-zero velocity information participating in the inertial navigation error estimation during the measurement update process, and achieve the effect of real-time error resistance. Thus, by using the DAKF, it is neither necessary to detect the foot standing moment nor to reasonably regulate the utilization rate of the pseudo-zero velocity information, thereby improving the accuracy of inertial navigation.
[0047] The design, use, and verification process of the pedestrian complex motion navigation solution based on the deep adaptive Kalman filter of the present invention are as Figure 2 shown, including the establishment of a pedestrian inertial-based navigation dataset, the design of the DualAttNet network structure, the design of the loss function and training scheme, and the application method and effect of the deep adaptive Kalman filter.
[0048] The specific implementation of this process is as follows:
[0049] Step S1: Establish training samples: Acquisition of pedestrian inertial-based navigation data and establishment of a dataset.
[0050] The training samples to be established in the present invention include inertial data of a length N, as well as the corresponding position L, velocity V, attitude and covariance matrix P. Among them, the inertial data is used as the input of the neural network, and the position L, velocity V, attitude and covariance matrix P are used for loss calculation and as the initial values for starting the Kalman filter.
[0051] The Pedestrian Inertial Dataset for Navigation (PID4N) is collected by a pedestrian inertial-based navigation data acquisition device, and includes the original inertial data of the three-axis acceleration a and three-axis angular velocity ω sensed by the foot-mounted MIMU of a pedestrian in five motion patterns of walking, running, retreating, side-walking, and standing still, as well as the pedestrian position reference information L at the corresponding moment. The establishment steps of PID4N are as follows:
[0052] S1.1: Set up a pedestrian inertial-based navigation data acquisition device. The pedestrian inertial-based navigation data acquisition device includes a MIMU, a navigation satellite system receiver, an RTK antenna, a GNSS antenna, and a data processing module; the data processing module includes an operation center and a data storage unit. In this embodiment, the navigation satellite system adopts a Real-Time Kinematic (RTK) Global Navigation Satellite System (GNSS).
[0053] As Figure 3 shown, bind the MIMU to the instep of the left foot of the collector, with the x-axis pointing to the right and the y-axis pointing to the toe tip, and connect it to the data processing module by wire to collect triaxial acceleration and angular velocity data in real time and store them in the inertial data storage unit. The data collection frequency is 100 Hz, and the external GNSS antenna provides a Universal Coordinated Time (UTC) time reference for the data; as Figure 3 shown, fix the RTK GNSS receiver on the chest of the collector to collect high-precision positioning references in real time and store them in the RTK data storage unit. The receiver operating frequency is 10 Hz, and its RTK antenna is extended above the shoulder through a support device to ensure signal stability and reliability. The power supply unit powers all modules, and the collected data is processed in the operation center to establish a data set. The specific method refers to S1.3.
[0054] S1.2: Implement data collection. The collector travels in a specific motion mode to collect inertial data and position reference information during the travel. Move in different specific motion modes, and repeat the collection process multiple times in each specific motion mode to obtain a series of collection trajectories.
[0055] Specifically, the collection work can be arranged in an outdoor open space with good satellite signals. After the collector turns on the MIMU and the RTK GNSS receiver at the initial position to start recording the original inertial data and position reference information, first stand still at the initial position for a set duration t1, preferably 1 min, then travel in a specific motion mode for a set duration t2, preferably 5 min, then stop moving, and the travel trajectory is not specified. After that, turn off the MIMU and the RTK GNSS receiver and save the data file to complete one collection.
[0056] The collector repeats the above collection process in motion modes of walking, running, backward walking, and side walking (including side walking to the left hand side and the right hand side) respectively, and collects multiple times in each mode. In one example, each mode is collected 4 times, and finally a total of 20 collection trajectories are collected, and the total data duration is about 120 min.
[0057] S1.3: Data Processing and Dataset Establishment.
[0058] Two Kalman filters are predefined in advance. In this step, the Kalman filter KF2 for dataset establishment and the Kalman filter KF1 for training and actual prediction in the following step S3 are carried out. Both adopt the general Kalman filter process (Equations (3)-(7)), but the measurement equation construction is different.
[0059] In this step, based on the collected trajectory, the Kalman filter KF2 is used to estimate the inertial navigation error; the Kalman filter KF2 uses the position reference information L obtained by the navigation satellite system receiver RTK,k and the inertial navigation solution position L calculated according to the inertial data INS,k The difference between them is used as the measurement information to construct the measurement equation. To distinguish the Kalman filter here from the Kalman filter shown in Equation (11) below, the Kalman filter here is denoted as KF2.
[0060] At the same time, filtering interpolation is carried out during the Kalman filter process to enhance the position reference data to the same frequency as the inertial data.
[0061] The specific implementation of this step is as follows:
[0062] First, the original inertial data and position reference information within the same time period are intercepted for each trajectory through UTC time; then, the data is processed to the same frequency by using the method of filtering interpolation. Here, the 10Hz RTK position reference data is enhanced to 100Hz to be the same frequency as the inertial data.
[0063] The Kalman filter KF2 is specifically as follows: Select the three-dimensional position error δL, velocity error δV, and attitude error φ to form a 9-dimensional error state quantity X = [δL T δV T φ T T , and establish the system state equation:
[0064] X k+1 = Φ k+1,k X k + w k (1)
[0065] where the subscript k is the sampling time. w k is the system noise that conforms to the zero-mean normal distribution, and the covariance matrix is denoted as Q k , Φ k+1,k is the inertial navigation system error state transition matrix.
[0066] Using the RTK position reference L collected by the receiver RTK,k and the inertial navigation solution position L obtained based on the inertial data INS,k Construct a measurement equation for the difference between them as measurement information, which is different from the Kalman filter KF1 below and is only used when constructing the sample set:
[0067]
[0068] Among them, the superscript L in the above formula is, on the one hand, to distinguish from formula (11) of the Kalman filter KF1 below, and on the other hand, to emphasize that this formula is a definitional formula, while Z in formula (6) k is substituted according to L INS,k and L RTK,k to calculate the position difference; is the position measurement noise conforming to the zero-mean normal distribution, and its covariance is R k L , R k L is a set value and does not change, which is also the difference from the Kalman filter KF1 below. is the position measurement matrix. According to the general Kalman filter process (formulas (3)-(7)), which is also the process of the Kalman filter KF1, estimate the error state quantity X = [δL T δV T φ T T , and compensate the error to the position L k , speed V k and attitude
[0069] One-step prediction process:
[0070]
[0071] Gain matrix calculation:
[0072]
[0073] State estimation:
[0074]
[0075] Covariance matrix calculation:
[0076] P k =[I - K k H k P k,k-1 (7)
[0077] Error compensation:
[0078]
[0079] In the above formula, is the one-step prediction of the state quantity, Pk,k-1 is the mean square error matrix for one-step state prediction, and K k is the filter gain matrix. "←" represents assignment, and S(·) represents constructing a skew-symmetric matrix from a three-dimensional vector. For the vector f = [f x f y f z T , there is
[0080]
[0081] In the Kalman filter iteration process, corresponding to the inertial data, record the position L, velocity V, attitude estimation and covariance matrix P obtained from Equation (8) at each moment, and obtain the processed trajectory. Each trajectory contains the corresponding inertial data, position L, velocity V, attitude and covariance matrix P, a total of 5 types of information.
[0082] Then, a sliding window method with a repeated area is used to intercept time series samples from the above processed trajectory: specifically, a sliding window with a size of N = 1 min and a step size of 30 s can be used to intercept each processed trajectory into time series samples with a length of 1 min, name each sample according to the increasing number rule and store it in a folder. Thus, the establishment of the PID4N dataset is completed.
[0083] Step S2: Neural network structure design.
[0084] The neural network in this embodiment adopts a dual-attention mechanism network (Dual-Attention Network, DualAttNet). The role of the DualAttNet network is to learn the deep features contained in the original inertial data from the k-W+1 moment to the k moment and map them to the noise covariance matrix R DA,k of the pseudo-zero velocity measurement at the k moment. W is the window length. The mapping relationship can be denoted as:
[0085] R DA,k = DualAttNet(x o ) (9)
[0086] To enable the DualAttNet network to learn well the features contained in the inertial data of the complex motion patterns of pedestrians, the present invention proposes as Figure 4 The basic structure of the DualAttNet network is shown. The DualAttNet network sequentially includes two 1D convolutional layers for feature enhancement, one channel attention mechanism (CAM) for capturing the potential interaction between any two-axis inertial data, one temporal attention mechanism (TAM) for assigning weights in the time dimension to highlight the feature information at critical moments, one long short-term memory layer (LSTM) for compressing long-term dependencies and short-term change features into a small-scale hidden state, one fully connected layer for fusing the features learned by the previous layers to obtain the required intermediate variable θ. Finally, the DualAttNet network has an output layer for controlling the range of the network learning target and mapping θ to R DA,k , as shown in Equation (10).
[0087]
[0088] Among them, R ref is the reference covariance, l is the scaling factor, and combined with the Sigmoid activation function Sigmoid(·), the diagonal elements of R DA,k are dynamically adjusted between 1 times and 10 ref times of R l according to the learned motion features, that is, a smaller value is taken when the zero-velocity information is reliable, and a larger value is taken otherwise. In the present invention, R ref = Diag([5 5 5])×10 -5 , which is the effective pseudo-zero-velocity noise covariance in the ideal standing posture; according to Equations (4)-(5), when R DAk is much larger than the system noise covariance Q k , the gain matrix K k tends to the zero matrix, and at this time the influence of the measurement information on the filtering becomes weak. In the present invention, l = 10, that is, when the network determines that the zero-velocity information is unreliable according to the learned features, the value of R DA,k tends to the upper limit R ref ·10 10 , reducing the influence of the measurement on the state quantity. Through the mapping operation of Equation (10), a reasonable value range of R DA,k is given a priori under different zero-velocity information reliabilities, reducing the cost of network training.
[0089] Step S3: Loss function design and network training
[0090] S3.1: Loss function design
[0091] Since R DA,kThe reference true value cannot be obtained, so taking the estimation error of R DA,k as the loss to directly train the DualAttNet network is not feasible. To break through this limitation, the present invention uses the R DA,k output by the DualAttNet network for the measurement update of the Kalman filter at the corresponding moment. The Kalman filter at this time is different from the above and is defined as KF1 here. The Kalman filter KF1 constructs the following measurement equation with the pseudo-zero velocity information as the measurement:
[0092]
[0093] where, is the pseudo-zero velocity measurement noise that conforms to the zero-mean normal distribution and has a covariance of R DA,k , is the pseudo-zero velocity measurement matrix. According to the general Kalman filter process (Equations (3)-(7)), the error state quantity X = [δL T δV T φ T is estimated T , and the error is compensated to the position velocity and attitude according to Equation (8). The filtering process of Equations (3)-(8) is naturally embedded in the network computational graph, so the position estimation information contains the weight and gradient information of the network.
[0094] According to S1.3, the PID4N dataset contains reference position information. Therefore, the present invention uses the mean squared error (MSE) of the position as the loss function, as shown in Equation (12), so as to drive the adjustment and optimization of the network parameters during the backpropagation process, enabling the model to implicitly learn the mapping relationship from the original inertial data to R DA,k .
[0095]
[0096] where, is the position estimation corresponding to the last moment of the segment with length n, is the sample position reference corresponding to the last moment of the segment with length n.
[0097] S3.2: Training of the DualAttNet Network
[0098] In this embodiment, both the construction of the DualAttNet network described in S2 and the loss function described in S3.1 are implemented based on the Python3 programming language and the PyTorch library that supports GPU acceleration.
[0099] During training, the PID4N dataset established by S1 is used as the data source, and a dual random strategy is adopted for sampling. That is, B time series samples with a length of 1 minute are randomly extracted from the dataset as a batch, and then n = 30s of data is randomly intercepted from each sample as the input instance of the DualAttNet network for forward calculation and loss accumulation. When inputting into the neural network, it is also necessary to intercept data segments with a length of W and a step size of 1 in the 30s data using a sliding window. After each segment is input into the DualAttNet network, the DualAttNet network outputs the R at the last moment of the corresponding W window. DA A series of segments are obtained from 30s of data through the sliding window, and after being mapped by the DualAttNet network, a series of Rs corresponding to each sampling moment within the 30s data are obtained. DA The purpose of inputting 30s of data is to allow the inertial navigation error to accumulate for a period of time to facilitate the calculation of the position loss function. At the same time, the position L, velocity V, attitude and covariance matrix P corresponding to the starting moment of the segment are obtained from the sample as the initial values of the Kalman filter KF1. The Kalman filter KF1 works to output error estimates and then compensate the navigation information. The position L in the sample corresponding to the end moment of the 30s data and the compensated position are used to calculate the loss, and after backpropagation, the network is iteratively optimized.
[0100] When all instances have been sampled, it is considered that one Epoch is completed. Among them, the Batch size is set to B = 16, and the number of Epochs is set to 150; the Adam optimizer is used during the training process, and the initial learning rate is set to 10 -4 , and the ReduceLROnPlateau adaptive learning rate adjustment mechanism is adopted. When the loss value does not decrease within 10 consecutive Epochs, the learning rate decays to 80% of the previous value.
[0101] Step S4: Application method and effect of DAKF
[0102] S4.1: Analysis of the detection effect of the foot standing moment based on the intermediate variables output by DualAttNet.
[0103] Figure 5The comparison results between the intermediate variable θ output by the DualAttNet network and the GLRT value reduced by 15,000 times are given. It can be seen that the trained DualAttNet can learn the mapping relationship from the original inertial data to the pseudo-zero velocity confidence by considering the attention features in the time dimension and channel dimension. During the foot standing stage, the pseudo-zero velocity hypothesis error is the smallest, and the corresponding output intermediate variable θ is smaller; otherwise, the intermediate variable θ is larger. In the running and side-walking motion modes, the intermediate variable θ output by DualAttNet can more significantly distinguish the foot standing stage compared to GLRT. This inspires a new method for detecting the foot standing moment, that is, using the output θ of DualAttNet as a reference, and when θ is less than a given threshold, it is determined that the foot is at the standing moment. Thus, the foot standing detection method based on DualAttNet can replace the Figure 1 GLRT detection step in to obtain more accurate detection results and improve the positioning accuracy.
[0104] It can be seen that the output intermediate variable θ of DualAttNet is used as a better basis for detecting the foot standing moment and is converted into R DA,k and then reflected in the Kalman filtering process. Therefore, DAKF no longer depends on the standing moment detection result to select the opening or closing of the measurement update, but always maintains the feedback of the pseudo-zero velocity measurement information. The trained DualAttNet dynamically estimates the pseudo-zero velocity measurement noise covariance from the original inertial data in different motion modes and adjusts the feedback intensity. Therefore, DAKF not only solves the problem of the degradation of the standing moment detection accuracy in different motion modes but also can control the utilization rate of the pseudo-zero velocity measurement according to the deep features of the inertial data in different motion modes to avoid the zero velocity hypothesis error.
[0105] S4.2: Pedestrian inertial navigation in multiple motion modes based on DAKF
[0106] According to Figure 1 the S4.2 flowchart part of, DAKF directly estimates the positioning result at the corresponding moment in an end-to-end manner based on the input original inertial data. The implicit process includes that the DualAttNet network infers the confidence of the foot pseudo-zero velocity measurement at each moment from the original inertial data by considering the attention features in the time dimension and channel dimension and quantifies it into the measurement noise covariance matrix R DA,k , adjusts the size of the filtering gain matrix according to Equation (5), and controls the intensity of the pseudo-zero velocity measurement information acting on the correction of the inertial navigation error state quantity according to Equation (6): when the foot is in the swing stage, R DA,k becomes larger, the filtering gain matrix becomes smaller, and the corresponding correction intensity becomes smaller or even disappears; when the foot is at the standing moment, the trained DualAttNet gives a smaller and reasonable R according to the motion state and the implicit features in the inertial data.DA,k , the filtering gain matrix becomes larger, and the corresponding corrected intensity becomes larger, compensating for the inertial error and achieving the effect of adaptive robust estimation. It can be seen that DAKF neither needs to detect the foot standing time nor reasonably regulate the utilization rate of the pseudo-zero velocity information. For example Figure 6 , for pedestrian navigation with complex motion patterns based on DAKF, the positioning results are better than those of S4.1 and PINS that are conventionally implemented by combining GLRT fixed thresholds with ZUPT.
[0107] The process of the trained DualAttNet in actual inference applications includes steps 1 to 4 as follows:
[0108] Step 1: Collect the inertial data sensed by the micro-inertial sensor MIMU bound to the pedestrian's foot, and slide and intercept the inertial data segments with window W.
[0109] Step 2: Input the intercepted inertial data segments into DualAttNet, and the neural network maps the inertial data segments with length W before time k to the noise covariance matrix R of the pseudo-zero velocity measurement at time k DA,k ;
[0110] Step 3: Use the Kalman filter KF1 with the pseudo-zero velocity information as the observation quantity to estimate the inertial error; update the gain matrix of the Kalman filter using the noise covariance matrix R output by DualAttNet DA,k ; the foot standing time detection is not required during the filtering process, and time update and measurement update are performed at each moment;
[0111] Step 4: Use the inertial error estimated by the Kalman filter to compensate the navigation information to obtain the compensated navigation information at the current moment.
[0112] The advantages of adopting the present invention are as follows:
[0113] As Figure 5 can be seen, the trained DualAttNet network can learn the motion law of the foot by considering the characteristics of the time dimension and channel dimension of the original inertial data, and outputs a higher value during the foot swing and a lower value at the standing moment; observing the enlarged area, it can be seen that DualAttNet can more clearly distinguish whether the foot is in the swing or standing stage compared with the GLRT statistic. Especially when the dynamic differences between the running and walking motion patterns are large, the trough values of the corresponding GLRT statistics are of different magnitudes, which is also the reason why the standing time detection based on GLRT is unreliable, further leading to the failure of ZUPT; while the outputs corresponding to the standing stage of DualAttNet in different motion patterns are maintained at the same level, thus better realizing the foot standing time detection based on the intermediate variable output by DualAttNet in S4.1.
[0114] The PINS based on GLRT standing moment detection and ZUPT determines whether to update the filtered measurement based on the standing moment detection result, which has two defects: GLRT does not consider the differences in foot dynamics between motion modes, and the standing moment detection accuracy is limited; ZUPT does not consider the reliability of the standing moment pseudo-zero velocity information under different motion modes, and the correction effect is affected by the zero velocity assumption error. For example, in the running mode, the speed of the foot is not completely zero even during the standing phase. Therefore, Figure 6 The low-threshold ZUPT has the most serious local divergence, and the high-threshold ZUPT has the most serious overall deviation.
[0115] The above specific embodiments only describe the design principle of the present invention. The shapes and names of the components in this description can be different and are not restricted. Therefore, those skilled in the art of the present invention can modify or equivalently replace the technical solutions recorded in the foregoing embodiments; and these modifications and replacements do not depart from the purpose and technical solutions of the present invention, and shall all fall within the protection scope of the present invention.
Claims
1. A pedestrian complex motion navigation method based on deep adaptive Kalman filtering, characterized in that: include: Step 1: Collect sensitive inertial data from the micro inertial sensor MIMU attached to the pedestrian’s foot; Step 2: Input the inertial data into the neural network, which maps the inertial data fragments before time k into the noise covariance matrix R of the pseudo zero-speed measurement at time k DA,k ; R DA,k Characterize the confidence of pseudo zero-speed measurements; Step 3: Use Kalman filtering to estimate the inertial navigation error; the Kalman filter uses pseudo zero-speed information as the observation quantity and uses the noise covariance matrix R output by the neural network DA,k Update the gain matrix of the Kalman filter to adjust the utilization rate of the pseudo-zero speed information; the Kalman filter performs measurement updates at every moment, and there is no need to turn measurement updates on or off based on the detection results of the foot standing moment; Step 4: Use the inertial navigation error estimated by Kalman filtering to compensate for the navigation information.
2. The method according to claim 1, characterized in that The error state quantity of the Kalman filter is X = [δL T δV T φ T ] T ; δL is the position error, δV is the velocity error, and φ is the attitude error; Measurement equation Z k The pseudo zero-speed information is used as the observation quantity to construct: Z k =V 0,k -V INS,k , where V 0,k is pseudo zero speed information, V INS,k is the inertial navigation solution speed based on MIMU.
3. The method according to claim 1, characterized in that The method further includes training the neural network, specifically including: Step A1: Create training samples. Each training sample includes a length N of inertial data, as well as the position L, velocity V, and attitude at each moment. and the covariance matrix P; Step A2: For one iteration, randomly select multiple training samples as a batch; randomly intercept a sample segment of length n from each sample; input the sample segment into the neural network, and the neural network outputs the noise covariance matrix R DA,k ; W <n<N; Step A3: Use the same Kalman filter structure as step 3 and use the noise covariance matrix R obtained in step A2 DA,k Update the gain matrix of the Kalman filter and estimate the inertial guidance error based on the inertial data fragment; the position L, velocity V, and attitude required for the Kalman filter to operate The initial value of the covariance matrix P is the data corresponding to the beginning moment of the inertial data sample; Step A4: Use the inertial guidance error generated by the Kalman filter to perform position compensation and obtain the position estimate The loss is calculated with the corresponding position L in the training sample; the loss is used to optimize the neural network parameters during the back-propagation process.
4. The method according to claim 3, characterized in that The step A1 of establishing the training samples is: The collectors bind MIMU to their feet and carry navigation satellite system receivers. They move in a specific motion mode to collect inertial data and position reference information during the movement. The collection process is repeated multiple times in different specific motion modes to obtain a series of collection trajectories. Based on the collected trajectory, the second Kalman filter is used to estimate the inertial navigation error; the second Kalman filter converts the position reference data L obtained by the navigation satellite system receiver into RTK,k The inertial navigation position L calculated based on the inertial information INS,k The difference between them is used as the measurement information to construct the measurement equation; At the same time, filtering interpolation is performed during the Kalman filtering process to enhance the position reference data to the same frequency as the inertial data; During the second Kalman filter iteration, corresponding to the inertial data, the position L, velocity V, and attitude at each moment are recorded. and covariance matrix P, to obtain the processed trajectory; A time series sample with a length of N is intercepted from the processed trajectory by adopting a sliding window method with repeated regions to obtain a training sample.
5. The method according to claim 4, characterized in that The collectors bind the MIMU on their feet and carry the navigation satellite system receiver: The MIMU is tied to the instep of the collector's foot, with the x-axis pointing to the right and the y-axis pointing to the toes. It is connected to the data processing module via a wired method to collect three-axis acceleration and angular velocity data in real time and store them in the inertial data storage unit in the data processing module. An external GNSS antenna provides a UTC reference for the data; The RTK GNSS receiver is fixed on the chest of the collector to collect the position reference in real time and store it in the RTK data storage unit in the data processing module; The RTK antenna is extended to above the shoulder through a support device.
6. The method according to claim 5, characterized in that The inertial data and position reference information collected during the movement in a specific motion mode are: After the data collector turns on the MIMU and RTK GNSS receivers at the initial position to start recording inertial data and position reference information, he / she first stands still at the initial position for a set time t1, then moves in a specific motion mode for a set time t2 and then stops moving. The movement trajectory is not specified. After that, the MIMU and RTK GNSS receivers are turned off and the data file is saved to complete a collection.
7. The method according to claim 4, characterized in that The different specific motion patterns include: walking, running, backward, walking sideways with the left hand, and walking sideways with the right hand.
8. The method according to claim 1, characterized in that The neural network sequentially includes two 1-dimensional convolutional layers, a channel attention mechanism, a temporal attention mechanism, a long short-term memory layer, a fully connected layer and an output layer.
9. The method according to claim 1 or 8, characterized in that The last output layer of the neural network is used to control the range of the network learning target and map the output θ of the previous network layer to R DA,k , the mapping relationship is: R DA,k =R ref ·10 l·Sigmoid(θ) Among them, R ref is the reference covariance set; is the scaling factor, making R DA,k The diagonal element values are based on the learned motion features in R ref is dynamically adjusted between 1 and 10 times of the original value; Sigmoid(·) represents the Sigmoid function.
10. The method according to claim 9, characterized in that The reference covariance R ref The value is R ref =Diag([555])×10 -5 ,=10.