A Novel Adaptive Zero-Velocity Detector for Inertial Pedestrian Navigation Based on Optimal Interval Estimation

In the foot-mounted inertial pedestrian navigation system, the zero-velocity update (ZUPT) algorithm is an efficient way to bound the inertial error propagation. Therefore, a reliable and accurate zero-velocity detector (ZVD) that adapts to all kinds of locomotion and scenarios plays a vital role in achieving high-precision and long-term pedestrian navigation. The classical threshold-based ZVDs are susceptible to failures during dynamic locomotion due to the fixed threshold. Recent machine-learning-based ZVDs need a huge amount of data to support the model training and their generalization is limited in new testing scenarios. In this paper, we propose a novel adaptive ZVD using the optimal interval estimation. Two filters are used to process the angular rate, aiming at determining a gait cycle. In a gait cycle, the acceleration is mapped to the search space by a special convex function. Based on the features of the data in the search space, a zero-velocity benchmark is calculated for the following interval estimation. The zero-velocity benchmark and the hierarchical iterative search are used to estimate the optimal zero-velocity interval (ZVI). The experiments demonstrate the effectiveness and adaptability of this novel ZVD.


I. INTRODUCTION
The widespread use of the Global Navigation Satellite System (GNSS) enables localization to be available to general public. However, the navigation information of GNSS is unavailable in the indoor scenarios due to the problem of signal absorption and spurious reflections [1]. Indoor navigation needs other technical supports. The infrastructuredependent localization systems, such as Wi-Fi, UWB, GSM and iBeacon, can provide accurate navigation information by the arrangement of the indoor environments in advance [2]- [4]. These systems are inflexible in real usages, and thus cannot realize autonomous navigation for users in new environments. In contrast, inertial sensor has the advantage of measuring self-motion in all environments, which means that inertial navigation owns the excellent ability to enable autonomous navigation in any given environments [5].
With the rapid development of Micro-Electro-Mechanical-System (MEMS) equipped with the inertial measurement unit (IMU), body-mounted inertial pedestrian navigation is possible [6], [7]. However, the sensor noise introduces navigation The associate editor coordinating the review of this manuscript and approving it for publication was Seung-Hyun Kong . errors which will accumulate approximately proportional to the time cubic. To solve this problem, ZUPT-aided algorithm is proposed as an efficient and common compensation mechanism for the inertial pedestrian navigation system [8]. This algorithm takes the advantage of the stationary state of the foot-mounted IMU during the human bipedal locomotion and feeds the zero-velocity pseudo-measurement into the Kalman Filter to correct the navigation errors. The ZVD, which determines whether an IMU is stationary, is the most critical part of this algorithm [9]- [11]. The threshold-based ZVD and the machine-learning-based ZVD are currently two major approaches used in zero-velocity detection.
The threshold-based ZVDs are classical approaches to detect the stationary instances of bipedal locomotion. They depend on the pre-calibrated fixed thresholds and thus cannot adapt to different kinds of locomotion. The stance hypothesis optimal detector (SHOE), the acceleration moving variance detector (MV), the acceleration magnitude detector (MAG) and the angular rate energy detector (ARE) are four typical threshold-based ZVDs [12]- [17]. These ZVDs all use some math functions to calculate target values from the inertial data and then compare these values with a fixed threshold to determine the ZVIs. They work well when pedestrians walk at a slow, periodic and stable speed. However, when facing high dynamic locomotion, e.g. running, their performance degrades and often produces a false or missed ZVI. To improve the usability of threshold-based ZVDs, researchers have tried to find adaptive threshold-based ZVDs. Johan et al. designed an adaptive ZVD by a Bayesian approach and used the posterior odds ratio to detect the ZVI [18]. Tian et al. proposed an adaptive ZVD by building a fitting mathematical model between the gait frequency and the threshold [19]. Wang et al. designed a ZVD making the threshold adaptive to gait patterns with different velocities [20]. It is hard to model the general relationship between thresholds and locomotion due to the complexity and diversity of human dynamics. Although these adaptive threshold-based ZVDs have acquired some good results in their papers, their effectiveness still needs more experiments to be verified.
Recently, machine learning can provide a new approach to design adaptive ZVDs. The core idea of machine-learningbased ZVDs is training a learning model between inertial data and the ZVIs. Wagstaff et al. trained a model by Support Vector Machine to classify six different motion types from the IMU data. The optimal threshold will be selected to detect the ZVIs based on the classified motion type. Meanwhile, a long short-term memory (LSTM) neural network is trained to directly detect the ZVIs [21], [22]. This ZVD has achieved real-time performance and pretty good results. Kone et al. used Histogram-based Gradient Boosting and Random Forest to classify two major motion types and reduce the computation cost. Then the ZVIs could be detected by two LSTM neural networks corresponding to the two major motion types [23]. The machine-learning-based ZVDs achieve much better effectiveness and adaptability in high dynamic locomotion. However, these ZVDs need abundant and representative datasets to train their models, which may cost considerable manpower and material resources. In addition, the existence of the over fitting in machine learning models can lead to poor generalization of these ZVDs in testing sets.
Both kinds of ZVDs have some inherent deficiencies which may lead to poor performance under certain circumstances. To improve the adaptability and robustness of ZUPT, we propose a novel optimal-interval-estimation-based ZVD (OIE-ZVD) in this work. Our work aims at achieving a general ZVD for different people and different locomotion including walking, running and stair climbing/descending. The remainder of the paper is organized as follows: Section II analyzes the statistical features of inertial data in a gait cycle; Section III describes our proposed OIE-ZVD; Section IV verifies OIE-ZVD through two kinds of representative experiments; the conclusions are given in Section V.

II. THE STATISTICAL FEATURES OF INERTIAL DATA IN A GAIT CYCLE
The velocity, position and yaw produced by the bipedal locomotion are the vital information in pedestrian navigation.  Because of the complexity of human body structure and the diversity of each person, it is difficult to build an accurate kinematic model of bipedal locomotion for all pedestrians. But the inertial data in bipedal locomotion has some distinct features making it easier to be analyzed.

A. ANAYLSIS OF BIPEDAL LOCOMOTION
Walking is a common form of bipedal locomotion. After a long course of research, the process of foot motion has been well summarized in a gait cycle. As shown in Figure 1, a gait cycle can be divided into the swing phase and the stance phase. During the stance phase, the foot is on the ground as a support and is commonly considered to be stationary [24], [25]. This phase is actually the ZVI in a gait cycle. The gait cycle of walking can also be divided into three continuous and sequential parts which are motion, rest and motion.
The whole process of foot motion during bipedal locomotion is composed of numerous, continuous and sequential 'motion-rest-motion'. In this paper, a cycle of 'motion-rest-motion' is defined as One-Gait-Cycle (OGC). From the definition, OGC is also the basic unit of pedestrian navigation.
As shown in Figure 2, OGC is a model whose shape is like a sandwich. The two outer intervals of OGC are the motion parts and the inner interval is the rest part. The time length of each interval is determined by the corresponding locomotion. For example, in running situations, the length of the rest interval will be much shorter than that of the motion parts. In OGC, there is only one continuous rest interval. The ZVI is equal to the rest interval and the NZVI is equal to the motion interval.

B. THE FEATURES OF ACCELERATION AND ANGULAR RATE IN ZVI
The foot-mounted IMU measures the acceleration and angular rate, which makes it possible to distinguish the ZVI and NZVI. But it is still a challenge to get the accurate ZVI. The motion in NZVI is complex and irregular, and its inertial data fluctuates violently and randomly. However, the inertial data in the ZVI is relatively stable. Theoretically the acceleration magnitude should be equal to the gravity magnitude and the angular rate magnitude should be equal to 0 in the ZVI.   The direct comparison between the inertial measurement values and the ideal values will lead to a great possibility of misjudgment due to the existence of various errors.
The inertial data of walking and running in OGC is shown in Figure 3. The variation of acceleration magnitude over time in the walking and running is shown in Figure 3-a and Figure 3-b. The color change of the lines represents the change of acceleration magnitude, and the black line represents the gravity magnitude. The red boxes correspond to the ZVIs. It can be seen that the acceleration magnitude fluctuates slightly around the gravity magnitude in the ZVI. In the NZVI, the acceleration magnitude has no fixed range and fluctuates greatly which is related to the actual foot motion. The variation of angular rate magnitude over time in walking and running is shown in Figure 3-c and Figure 3-d. The color change of the lines represents the variation of angular rate magnitude and the red boxes correspond to the ZVIs. Angular rate magnitude fluctuates slightly around 0. In the NZVI, the angular rate magnitude has no fixed range and fluctuates greatly. We can deduce the theoretical features of acceleration  and angular rate of the ZVI in OGC: where T 0 and T 1 are respectively the start time and the end time of the OGC; tz 0 and tz 1 are respectively the start time and the end time of the ZVI; The interval between T 0 and tz 0 is the NZVI. The interval between tz 1 and T 1 is the NZVI. E acc ZVI and E gyr ZVI are respectively the expectation of acceleration magnitude and angular rate magnitude in the ZVI.

III. THE ALGORITHM OF OIE-ZVD
As shown in Figure 4, the algorithm of OIE-ZVD includes four major parts: (1) The detection of OGC: The angular rate magnitude is used to decide the OGC. This is the basic unit to get the ZVI.
(2) The convex function: It is a nonlinear amplifier to amplify the difference between the ZVI and NZVI.
(3) The zero-velocity benchmark: It is used to give the following rough search a criterion that will decide the NZVI.
(4) The hierarchical iterative search: The rough search will eliminate NZVIs and get an inaccurate ZVI. The trim will process the inaccurate ZVI and finally get the accurate ZVI.

A. THE DETECTION OF OGC
The OIE-ZVD gets the ZVI after completing a step. So it is necessary to determine OGC at first. The angular rate is used to determine OGC. VOLUME 8, 2020 The measurement noise exists in the raw signals of IMU, which will bring considerable difficulties to data analysis. The raw inertial data should be processed to reduce the sensor noise in advance. A weighted-average filter is used to process the raw angular rate signal to reduce the measurement noise. The filter is defined as: where winsize is the size of window which is a small integer; f (|i − k|) is the weight function corresponding to time; Signal raw is the raw angular rate signal and Signal processed is the processed angular rate signal. After noise reduction, a sliding-window-averaging (SWA) filter is adopted to determine OGC. The window size for SWA is set to half of the IMU output frequency. The SWA is as follows: where the value of w is half of the IMU output frequency; Signal SWA processed is the final signal which is used to detect the OGC.
As shown in Figure 5, the blue curve is the raw angular rate signal and the green curve is the angular rate signal after SWA. It can be seen that the signal presents periodic fluctuation like sinusoidal signal, and the red dots represent the local peak points of the signal. The peak points are corresponded to the original signal, and the interval between two adjacent peak points is OGC. As shown in the figure, each OGC is separated by a red dotted line.

B. SEARCH SPACE MAPPING OF ACCELERATION
The first step in distinguishing the ZVI and the NZVI is to find a criterion. According to the analysis in the previous section, the gravity is a good criterion to distinguish the acceleration among the different intervals. Direct comparison of numerical values is not feasible due to the errors. Therefore, an approach is needed here to amplify the difference between the ZVI and NZVI so as to distinguish the two intervals accurately. In our work, a special convex function maps the acceleration magnitude to a search space, in which differences between two intervals are compared.
The local gravity magnitude is g which is known in advance. The acceleration magnitude obtained by IMU at the moment of k is acc(k) in OGC. The ratio between acc(k) and g is ratio(k) at sampling instance k. It is calculated as: The conclusion is obtained that acc(k) is closer to g in the ZVI in section II. This means ratio(k) should be closer to 1 in the ZVI. This gives a scale standard to compare. We need a method to greatly amplify ratio(k) if acc(k) is in the NZVI. Meanwhile, ratio(k) will be amplified little if acc(k) is in the ZVI. As shown in Figure 6-a, a special convex f (x) is proposed to amplify the difference: The derivative of f (x) is: As shown in Figure 6-b, f (x) is a monotonic increasing function. f (x) is only equal to 0 when x = 1.
From the analysis of f (x), f (x) has the minimum value when x = 1. f (x) changes slowly when x is near 1 and changes extremely fast when x is far away from 1. f (x) meets the requirements of amplifying ratio(k). ratio(k) is mapped to the search space by f (ratio(k)). In the search space, if acc(k) is in the NZVI, f (ratio(k)) will become very large.  As shown in Figure 7, the acceleration magnitude in Figure 3 is mapped to the search space. In Figure 7, the data is very stable in the ZVI. However, it fluctuates greatly in the NZVI. This is extremely obvious in running as shown in Figure 7-c and the difference reaches seven orders of magnitude.
The data of the ZVI in the search space is more stable. By this method, we can identify acc(k) which is much larger than g. It cannot be in the ZVI and should be eliminated.

C. ZERO-VELOCITY BENCHMARK
By mapping the acceleration magnitude to the search space, we can intuitively distinguish the approximate range of the ZVI and the NZVI. However, an accurate range of the ZVI is required for ZUPT. In order to determine the range of the ZVI accurately, it is necessary to find a zero-velocity benchmark, which can be used as a representative of other points in the ZVI. The zero-velocity benchmark will provide a criterion for the next rough search.
The zero-velocity benchmark must be in the ZVI, which should have the features of the ZVI. Its acceleration magnitude should be close to g. Actually there are also some points satisfying this feature in the NZVI, which are required to be excluded. It is assumed that the maximum measurement error percentage of the accelerometer is P MEP which should be calibrated in advance. The IMU is set stationary for a long time and the magnitude of acceleration is acc s (k) at sampling instance k. P MEP is calculated: A set containing several intervals is obtained by the following: Sitv = {itv 1 , itv 2 · · · itv n · · · } itv 1 ∩ itv 2 ∩ · · · itv n−1 ∩ itv n = ∅ where SESP is the search space and x i is the data at the moment of i in it; V ZVB is the value of (1 + P MEP ) in the search space; Sitv is the set of intervals meeting the condition and itv n is the nth interval. One of elements in Sitv contains the ZVI. In fact, there are few x i whose acceleration magnitude close to g in the NZVI. Therefore, if the itv contains the ZVI, it will be much denser than the others without the ZVI.
where p ave is the average position of the points in itv; p mid is the median position of the points in itv; p benchmark is the position of the zero-velocity benchmark.     (10) and formula (11). We can get four intervals (itv 1 , itv 2 , itv 3 and itv 4 ) in this OGC. It can be seen from the figure that the interval (itv 2 ) containing the ZVI is dense, and the intervals (itv 1 , itv 3 and itv 4 ) excluding the ZVI are sparse. The green dot in the figure is the zero-velocity benchmark obtained by formula (13). From Figure 3-a and Figure 8-a, it can be seen that the zero-velocity benchmark of walking is found correctly by this method. Figure 8-b is the OGC of running. The zero-velocity benchmark of running is found correctly by the same method from

D. HIERARCHICAL ITERATIVE SEARCH FOR ZERO-VELOCITY OPTIMAL INTERVAL
When the zero-velocity benchmark is determined, the ZVI can be accurately determined in OGC. The hierarchical iterative method is adopted to search ZVI in the search space. The first step determines an approximate range of the ZVI by the rough search. The second step adopts the method of trim to determine the ZVI with high precision. The ZVI can be detected accurately by the two steps.

1) ROUGH SEARCH OF THE ZVI
The core idea of the rough search is to find acc(k) which cannot be in the ZVI. acc(k) in the NZVI should have significant difference from g, which is extreme obvious in the search space. We can set a rough value V MEP corresponding to P MEP (the maximum measurement error percentage of the accelerometer) in the search space.
In the search space (SESP = {x 1 , x 2 · · · x end }), x benchmark is the zero-velocity benchmark. The maximum value in this SESP is max SESP corresponding to x d . If max SESP is greater than V MEP , x d is the non-zero-velocity point. Then we will determine the NZVI and eliminate it. If x d is in front  of x benchmark , the interval in front of x d should be considered as the NZVI according to the time order. If x d is behind x benchmark , the interval behind x d should be considered as the NZVI according to the time order. As the NZVI is determined, we can eliminate it from the SESP and get a new SESP. Then we should repeat these steps in the new SESP until max SESP is less than V MEP . The rough search is a greedy and fast method to determine the approximate range of the ZVI. After the rough search, we will carry out the trim on the remaining interval to get the accurate ZVI.

2) TRIM OF THE ZVI
The core idea of the trim is to find an optimal interval that most accords with the statistical feature of acceleration in the ZVI. In the search space, the theoretical expectation of the data in the ZVI is 2e. If there is an interval in the search space, its expectation is approximate to 2e, and the elimination of any point in this interval has little influence on the expectation. This interval can be considered as the ZVI.
In the model of OGC, acc(k) in the NZVI should be at both ends of the remaining interval after the rough search. We compare the values of the two endpoints in the search space. The point with the larger value should be eliminated as the possible acc(k) in the NZVI. Based on this method, the expectation of the interval before elimination is E pre and the expectation of the interval after elimination is E cur . The ratio of E pre and E cur can be mapped to another search space by the same convex function, as shown in the formula: The optimal ZVI can be determined by the convergence in the search space. After several iterations in the trim, there will be a termination when convergence condition is reached in both cases, as show in the formula: where ε is the convergence criteria. The flow chart of hierarchical iterative search is shown in Figure 9. The left part is the rough search and the right part is the trim.
As shown in Figure 10, the red lines represent 2e which is the theoretical convergence value. After several iterations, the data in the search space converges to the vicinity of 2e.
Examples of the hierarchical iterative search are shown in Figure 11. The red lines represent the NZVI eliminated by rough search and the green lines represent the NZVI eliminated by the trim. The blue lines represent the estimated optimal ZVI. After the rough search and the trim, the accurate ZVI is acquired.

IV. EXPERIMENTS AND ANALYSIS
In order to evaluate the effectiveness of OIE-ZVD, two kinds of experiments in different scenarios and locomotion  were conducted. We use SHOE and Adaptive-SHOE [18] to compare with OIE-ZVD. SHOE is a fixed threshold-based ZVD. Adaptive-SHOE is an adaptive threshold-based ZVD. The online code of Adaptive-SHOE is located at http://www.openshoe.org/?page_id=54.
The gyroscope bias repeatability of the IMU is 1.5 • /s, and the in-run bias stability is 10 • /h. The accelerometer bias repeatability of IMU is 5mg, and the in-run bias stability is 0.05mg. The sampling rate of the IMU is 400Hz. The winsize is 5 and the w is 200 which is the half of IMU sampling rate. The P MEP calibrated in advance is about 13% and the ε is 0.01. These parameters are used in all experiments. The IMU is mounted on to the front of a shoe as shown in Figure 12.

A. EXPERIMENT I: ADAPTABILITY TO DIFFERENT PEOPLE
As shown in Figure 13, this experiment is conducted by three experimenters on the outdoor playground. This experiment aims at verifying the availability of OIE-ZVD for different people. The weight and height of the three experimenters are different. They walked around the playground four times. The real trajectory on the Google Maps is shown in Figure 14. The green dots are four benchmarks which are set to compare the navigation error. The total walking time is about 1490.74s (24min50.74s) and the total walking distance is about 1871.58m. The start point and the end point of the experiment is the same point for each person.

1) ZVI DETECTION RESULTS
Different people have different thresholds to detect the ZVI. The thresholds tuning is required to get the correct ZVI by SHOE. This is time-consuming and inconvenient. After tuning, we obtain the optimal thresholds for each experimenter. 1e 5 , 3.3e 4 and 5e 4 are respectively the optimal thresholds to the No.1 experimenter (N1er), the No.2 experimenter (N2er) and the No.3 experimenter (N3er).
The accuracy of the ZVI detection is very important for the following Kalman Filter. If the detected number of ZVIs is much more than the true number, it will bring extra errors by Kalman Filter. If the detected number of ZVIs is much less than the true number, Kalman Filter cannot correct errors well.
As shown in TABLE 1, the total number of IMU samples for N1er is 596297. The total number of IMU samples in ZVIs is 285516 by SHOE with the optimal threshold 1e 5 and accounts about 48.38%. The total number of IMU samples in ZVIs is 260256 by Adaptive-SHOE and accounts about 43.64%. The total number of IMU samples in ZVIs is 270627 by OIE-ZVD and accounts about 45.38%. The statistics of N2er and N3er is also shown in TABLE 1.
The number of ZVIs calculated by different method is similar for the same person. This is very obvious in Figure 15. In Figure-15a, SHOE detects some short ZVIs which Adaptive-SHOE and OIE-ZVD cannot detect. The acceleration magnitude in the short ZVIs is not as stable as in the long ZVIs. These short ZVIs are suspicious. The reason is that the threshold is tuned manually and the existence of the threshold errors is inevitable. However, these errors have little influence on the system. From the results of TABLE 1 and Figure 15, OIE-ZVD can perform as well as Adaptive-SHOE and SHOE with the optimal threshold in walking. OIE-ZVD does not need thresholds tuning like SHOE.

2) NAVIGATION RESULTS
The navigation results are shown in Figure 16 and Figure 17. The horizontal errors between the start point and the end point (ESEP) are shown in TABLE 2.
As shown in Figure 16-a, the red line represents the horizontal trajectory by SHOE with the optimal threshold 1e 5 for N1er. The horizontal error between the start point and the end point of the red line is about 2.28m. The calculated trajectory VOLUME 8, 2020  As shown in Figure 17, the horizontal trajectories of experimenters are calculated and shown by OIE-ZVD, Adaptive-SHOE and SHOE with the optimal threshold for each person. OIE-ZVD and Adaptive-SHOE can directly get the appropriate results without tuning thresholds. Their horizontal errors between the start point and the end point are shown in TABLE 2.
As shown in Figure 14, four benchmarks are set to estimate the errors. In TABLE 2, the mean (MEAN) and the root mean square (RMS) of the horizontal errors are calculated compared to the four benchmarks. The accuracy of navigation results have a direct connection with the thresholds for SHOE. Although the maximum horizontal RMS error (16.87m) accounts for about 0.91% after tuning the thresholds, the fixed threshold-based ZVD is not convenient in application. The maximum horizontal RMS error (14.61m) of OIE-ZVD accounts for about 0.80%. The maximum horizontal RMS error (15.42m) of Adaptive-SHOE accounts for about 0.82%. OIE-ZVD can detect the ZVI accurately and adaptively like Adaptive-SHOE in walking.

B. EXPERIMENT II: ADAPTABILITY TO DIFFERENT LOCOMOTION
As shown in Figure 18, the experiment was conducted by the same experimenter with three different kinds of locomotion. This aims at verifying the adaptability and robustness of OIE-ZVD under the condition of different locomotion. Adaptive-SHOE can work well in walking and will still need to be used with motion classifiers that enable adaptive parameter tuning in the future [18]. Adaptive-SHOE may have poor performance in this experiment.
The first locomotion (LM1) is walking. The total locomotion time is about 1120.56s (18min40.56s) and the total distance is about 1154.07m. The second locomotion (LM2) is stair climbing/descending. The total locomotion time is about 960.48s (16min0.48s) and the total distance is about 517.28m. The third locomotion (LM3) is combination of walking, jogging and running. The total locomotion time is about 1020.51s (17min0.51s) and the total distance is about 1247.21m. The experimenter started and finished the locomotion at the same position in all experiments.

1) ZVI DETECTION RESULTS
Different locomotion needs different thresholds to detect the ZVI for SHOE. After tuning, we obtain the optimal thresholds for each locomotion. 7e 5 , 1.4e 5 and 8.6e 4 are the optimal thresholds for LM1, LM2 and LM3.
As shown in TABLE 3 and Figure 19, OIE-ZVD, Adaptive-SHOE and SHOE all can perform well in walking  as the results in the experiment I. However, Adaptive-SHOE performs badly in the other locomotion. In Figure 19-b and Figure 19-c, it cannot detect ZVIs correctly for LM2 and LM3. OIE-ZVD can still detect ZVIs correctly. The statistics in TABLE 3 shows obvious difference in the total number of IMU samples in ZVIs. In LM2, Adaptive-SHOE, SHOE and OIE-ZVD respectively account 56.39%, 62.37% and 61.23%. The total number of IMU samples in ZVIs by Adaptive-SHOE is much less than that by SHOE or OIE-ZVD. In LM3, Adaptive-SHOE, SHOE and OIE-ZVD respectively account 47.48%, 53.11% and 53.35%. Adaptive-SHOE misses more ZVIs in LM2 and LM3.
In LM3, the number of IMU samples in ZVIs by SHOE is close to that by OIE-ZVD. But their detection accuracy is different. In Figure 19-c, SHOE misses ZVIs compared to OIE-ZVD. These ZVIs are detected by OIE-ZVD. OIE-ZVD can still perform well in different locomotion.

2) NAVIGATION RESULTS
The navigation results are shown in Figure 20 and Figure 21. Figure 22 is the real trajectory of walking. The experimenter walked indoors and outdoors. The walking navigation results are shown in Figure 20-a and Figure 21-a. Like the former analysis, SHOE with the optimal threshold, Adaptive-SHOE and OIE-ZVD performs well. In TABLE 4, the horizontal position errors between the start point and the end point are all less than 5m for them in walking. Figure 20-b and Figure 21-b are the height results of LM2. Although the horizontal error between the start point and the end point is about 2.09m by Adaptive-SHOE, the vertical error diverges in Figure 21-b and the vertical error is about 18.18m in TABLE 5. This means that Adaptive-SHOE cannot work well in LM2. OIE-ZVD can still work well and get the accuracy similar to SHOE with the optimal threshold. However, the optimal threshold is required to be tuned in advance. OIE-ZVD is a more efficient method.    Figure 23, the different velocity values represent the different locomotion (walking, jogging and running). The navigation result by Adaptive-SHOE is much worse than that by others in Figure 21-c. OIE-ZVD can still work well and its horizontal error between the start point and the end point is about 2.23m.
Adaptive-SHOE is a good method in walking, but it needs more efforts to make it perform well in other locomotion. SHOE performs well with optimal thresholds, but it is time-consuming and inconvenient in tuning thresholds. OIE-ZVD has the advantage of adaptability and convenience.

V. CONCLUSION
A novel adaptive zero-velocity detector based on optimal interval estimation is proposed in this work. According to the features of the inertial data, OGC is taken as the basic unit of bipedal locomotion. In OGC, the features of the ZVI and the NZVI are different. To amplify the difference between the intervals, a convex function is used to map the acceleration to the search space. The optimal ZVI is estimated through the zero-velocity benchmark and the hierarchical iterative search in the search space. This algorithm can find the ZVI without setting thresholds.
We conducted extensive experiments to evaluate OIE-ZVD across different people, different scenarios and different locomotion. Compared with SHOE which has the optimal threshold, OIE-ZVD can achieve the same level of accuracy. In walking, OIE-ZVD can perform as well as Adaptive-SHOE. When Adaptive-SHOE is unusable in other locomotion, OIE-ZVD can still work well. OIE-ZVD has the advantage of higher convenience and efficiency. The horizontal error of the navigation results only accounts for less than 1% in the experiment I by OIE-ZVD. In the experiment II, OIE-ZVD has accurately detected the ZVI under different locomotion. The horizontal error is within 0.3% and the vertical error is corrected. Experimental results indicate the effectiveness and reliability of OIE-ZVD.
Some future work is required to be done. More kinds of locomotion in different scenarios should be tested to verify VOLUME 8, 2020 the robustness of OIE-ZVD in the future. The algorithm of OGC detection can be improved. Meanwhile, the application of OIE-ZVD in real time is the target for us.