An Improved Heuristic Drift Elimination Method for Indoor Pedestrian Positioning

Indoor positioning is currently a research hotspot. In recent years, Pedestrian Dead Reckoning (PDR) has been widely used in indoor positioning. However, the positioning error caused by heading drifts will accumulate as the walking distance increases, so some methods need to be used to correct the heading angle. Heuristic Drift Elimination (HDE) is an effective heading correction algorithm, which only uses the information of a building’s dominant directions to reduce the heading error, but it does not apply to the non-dominant direction condition. In this paper, we propose a heading drift suppressing method for the limitation of HDE. Firstly, the method constructs membership functions to judge the pedestrian’s motion according to the result of comprehensive evaluation. Then, it further determines by a threshold condition whether the pedestrian walks along the dominant directions, and a heading error measurement is introduced for heading correction. Finally, we verify by experiments that the proposed method can correct heading angles properly for different conditions, which indicates an adaptability to the environment.


Introduction
As technology advances, people's lives are becoming more and more intelligent, and the demand for location services is gradually increasing. Therefore, the development of indoor positioning technology has drawn wide attention from people. It has broad application prospects in target monitoring, emergency rescue, shopping guides, and so on.
Currently, indoor positioning relies mainly on WiFi, Bluetooth, UWB (Ultra Wide Band), and other wireless location technologies, as well as optical communications, machine vision, and so forth. Using the above positioning technologies can achieve good results. For instance, when we use UWB, the positioning accuracy can even reach centimeter level. However, due to the layout of reference beacons in advance and a high cost, its application is limited. Thus, some researchers apply inertial navigation technology to indoor positioning. With the data collected by MEMS (Micro-Electro-Mechanical Systems)-integrated IMUs (Inertial Measurement Units), the pedestrian's position can be calculated. This method can effectively resist environmental disturbance and has strong autonomy, but cumulative errors caused by MEMS devices cannot be ignored. Foxlin [1] first proposed the IEZ framework, that is, Inertial Navigation System (INS), Extended Kalman Filter (EKF), and Zero Velocity Update (ZUPT) to estimate the motion track. Some researchers carried out their work based on this method [2,3]. The framework restrains the horizontal attitude errors well, but it cannot make the heading correction. Hence, many scholars at home and abroad have conducted in-depth studies. Yang Hong et al. [4,5] adopted a geomagnetic correction algorithm to correct the heading angle by taking the difference of courses calculated by the magnetometer and attitude matrix as a measurement. Afzal [6] estimated the heading error by capturing changes in the magnetic field Sensors 2018, 18, 1874 2 of 12 measured by magnetometers in the pedestrian's stationary state. Since the magnetometer suffers more perturbations in indoor environments, the reliability of its calculated heading angle cannot be guaranteed. Therefore, some people believe that the magnetometer is not suitable for indoor use [7]. To improve the accuracy of heading calculation, Widyawan et al. [8] fused INS and visual image information, but this method was greatly affected by the light intensity. Similarly, some researchers used the particle filter method to estimate the heading angle by getting the interior plan of the building in advance [9], but most of the time it was hard to do that. Borenstein [10] proposed the Heuristic Drift Elimination (HDE) algorithm in 2010. The algorithm is based on the fact that most walls and corridors inside buildings are made up of straight lines and right angles and use only four or eight dominant directions as a reference without prior information about the environment, which can effectively reduce the heading drift.
However, as Jiménez mentioned in Reference [11], the HDE algorithm is suitable for pedestrians walking along the dominant directions, but sometimes the building does not all consist of paths along the dominant directions. Special structures, such as circular arcs, may exist, and the heading angle will be wrongly corrected if the HDE algorithm is used in this case. Thus, the algorithm needs to be improved in some ways.
In this paper, we conducted a study of the heading correction method based on the IEZ framework for the problems above. We first describe the basic IEZ framework for getting the pedestrian's motion information, propose the improved HDE (IHDE) method, and then verify the validity of proposed method by experiments.

Pedestrian Dead Reckoning (PDR) Implementation with Kalman Filter
PDR is implemented based on a Kalman filter. The method is to obtain the motion information by calculating the inertial sensor data. When the footfall of the pedestrian is detected, the EKF measurements will be updated by ZUPT and the estimated errors are used to correct the motion information. The 15-dimensional error state vector of EKF is δx k = δr k δv k δϕ k δa b k δω b k T . The vector contains the errors in position, velocity, and attitude, as well as the estimated biases for accelerometers and gyroscopes, each of which consists of its 3-axis components. k indicates the moment of data sampling. Figure 1 shows the PDR implementation process.
Sensors 2018, 18, x FOR PEER REVIEW 2 of 12 measurement. Afzal [6] estimated the heading error by capturing changes in the magnetic field measured by magnetometers in the pedestrian's stationary state. Since the magnetometer suffers more perturbations in indoor environments, the reliability of its calculated heading angle cannot be guaranteed. Therefore, some people believe that the magnetometer is not suitable for indoor use [7].
To improve the accuracy of heading calculation, Widyawan et al. [8] fused INS and visual image information, but this method was greatly affected by the light intensity. Similarly, some researchers used the particle filter method to estimate the heading angle by getting the interior plan of the building in advance [9], but most of the time it was hard to do that. Borenstein [10] proposed the Heuristic Drift Elimination (HDE) algorithm in 2010. The algorithm is based on the fact that most walls and corridors inside buildings are made up of straight lines and right angles and use only four or eight dominant directions as a reference without prior information about the environment, which can effectively reduce the heading drift. However, as Jiménez mentioned in Reference [11], the HDE algorithm is suitable for pedestrians walking along the dominant directions, but sometimes the building does not all consist of paths along the dominant directions. Special structures, such as circular arcs, may exist, and the heading angle will be wrongly corrected if the HDE algorithm is used in this case. Thus, the algorithm needs to be improved in some ways.
In this paper, we conducted a study of the heading correction method based on the IEZ framework for the problems above. We first describe the basic IEZ framework for getting the pedestrian's motion information, propose the improved HDE (IHDE) method, and then verify the validity of proposed method by experiments.

Pedestrian Dead Reckoning (PDR) Implementation with Kalman Filter
PDR is implemented based on a Kalman filter. The method is to obtain the motion information by calculating the inertial sensor data. When the footfall of the pedestrian is detected, the EKF measurements will be updated by ZUPT and the estimated errors are used to correct the motion information. The 15-dimensional error state vector of EKF is The vector contains the errors in position, velocity, and attitude, as well as the estimated biases for accelerometers and gyroscopes, each of which consists of its 3-axis components. k indicates the moment of data sampling. Figure 1 shows the PDR implementation process. An accelerometer and gyroscope are mounted on the human body to collect data related to the motion information. The Micro-Inertial-Navigation System (MINS) block then calculates the data. The Zero Velocity Detector (ZVD) block is used to detect zero speed moments to trigger ZUPT and IHDE blocks, and these two blocks provide the EKF block with measurements to estimate errors. An accelerometer and gyroscope are mounted on the human body to collect data related to the motion information. The Micro-Inertial-Navigation System (MINS) block then calculates the data. The Zero Velocity Detector (ZVD) block is used to detect zero speed moments to trigger ZUPT and IHDE blocks, and these two blocks provide the EKF block with measurements to estimate errors.

Micro-Inertial-Navigation System
The MINS block calculates the data collected by the IMU to get the position, velocity, and attitude information. The process is divided into 4 steps:

•
Data Preprocessing: Due to the drift characteristics of inertial sensors, we compensate the raw data a k and ω k by the estimated errors δa b k and δω b k before calculating them. • Attitude Update: We update the quaternion to get the pedestrian's attitude information.
The quaternion updating method is as follows: represents the quaternion, and I 4×4 is a 4 by 4 unit matrix. Since the sampling period ∆t is very short, ∆θ i (i = x, y, z) indicates the angle increment of gyroscope, and ∆ = (∆θ x ) 2 + ∆θ y 2 + (∆θ z ) 2 is the modulus of angle increments. The attitude angles can then be calculated by the quaternion as: γ, θ and ψ are the roll, pitch, and yaw angle, respectively. • Position and Velocity Update: We first transform the acceleration in the sensor body frame to the navigation frame with the attitude matrix, and then remove the gravitational acceleration: a k represents the free acceleration, and [ 0 0 g ] T the gravitational acceleration with g's value chosen as 9.80665 m/s 2 . C t b is the attitude matrix, where t refers to the navigation frame (defined to be North-East-Down on the ground) and b is the body frame. The pedestrian's position and velocity are updated by the integral of a k . • Motion Information Correction: If a zero speed moment is detected, because theoretically the pedestrian's velocity should be zero, we take the difference between zero and v k , that is, as the measurements, and estimate the error state by EKF to correct the motion information.
The position and velocity can be directly corrected by δr k and δv k . The attitude correction is equivalent to the correction of attitude matrix: where ∆ t is the skew symmetric matrix for δϕ k . According to the conversion relationship between the attitude matrix and quaternion, the quaternion can then be corrected.

Extended Kalman Filter
• State Equation δx k/k−1 is the predicted error state, and δx k−1 is the last filtered error state. w k−1 is the process noise with covariance matrix Q k−1 = E w k−1 w k−1 T . The state transition matrix F k/k−1 and noise driven matrix G k/k−1 corresponding to the error state are derived from the error model of INS as follows [12]: Ω is the skew symmetric matrix for the acceleration transformed to the navigation frame. O 3×3 refers to a 3 by 3 zero matrix.
• Measurement Equation where z k represents the measurements, and η k is the measurement noise with covariance matrix R k equal to E η k η k T . Since the measurements are velocity errors of three axes, the measurement matrix is We divide the role of EKF into two cases: if the zero speed moment is not detected, then EKF will only be updated in time, that is, only the last filtered error covariance matrix P k−1 is updated when z k is obtained [13].
P k/k−1 is the predicted error covariance matrix, and P k is equal to P k/k−1 at this moment. In the other case, EKF is updated in state with z k as below: K k is the filter gain.

Zero Velocity Detector
The accuracy of zero speed moment detection is closely related to the calculation result. The pedestrian's movement can be divided into two cases: station and motion, denoted as C 1 and C 2 , respectively. Specifically, the foot swings forward when moving and clings to the ground in station case [14]. We determine whether n is zero speed moment based on the generalized likelihood ratio (GLRT) method [15]: Sensors 2018, 18, 1874 5 of 12 L G (m n ) indicates GLRT, and m n refers to the sampling sequence. m n = a k ω k k = n, n + 1, . . . , n + N − 1 (15) where N is the length of selected sliding window, and p(m n ; C 1 ) and p(m n ; C 2 ) are the probability density functions for C 1 and C 2 . According to the multiplication principle in probability statistics and considering the independence of two-dimensional random variables, From Equations (14) and (16) we know, to obtain L G (m n ), it is necessary to get the probability distributions of a k and ω k in advance, but in practice this information is unavailable. So, we represent the sample at each moment as: The ideal sampling acceleration a r k and angular velocity ω r k meet the following conditions: in motion case, a r k is not equal to the gravitational acceleration g, and ω r k is not equal to 0; comparatively, they are both equal to the ideal values in the other case. n k is the sampling noise. If we assume it to be zero-mean white noise with the noise variances of the accelerometer and gyroscope σ a 2 and σ ω 2 , respectively, then a k and ω k follow the Gaussian distribution. Hence, based on the above equations we obtain the probability density functions as below: According to the basic principle, the GLRT corresponding to moment n can be calculated by maximizing Equation (18) with a proper selection of a r k and ω r k . We substitute the maximum values for Equation (14) and reorganize the result: a n represents the average value of acceleration samples in the sliding window. Through the above equation we can determine the pedestrian's movement at moment n. If L G (m n ) is less than the threshold th G , then C 1 is true, as shown in red in Figure 2, or C 2 is true otherwise.

The Improved HDE Method


Limitations of original methods
Although using the IEZ framework has a significant effect upon correcting the horizontal attitude angles, it influences little on heading correction. The reason is that, according to the observability analysis of INS error equations, the error state k δ is unobservable [16]. Thus, the Although using the IEZ framework has a significant effect upon correcting the horizontal attitude angles, it influences little on heading correction. The reason is that, according to the observability analysis of INS error equations, the error state δψ k is unobservable [16]. Thus, the estimated trajectory will gradually deviate from the expected as the moving distance increases.
In indoor environments, the HDE algorithm can effectively correct the heading angle by taking the dominant directions of the building as a reference. However, not all motion paths in indoor environments are along the dominant directions. If the HDE algorithm is still used in a non-dominant direction condition, as can be seen in Figure 3, the heading angle will be overcorrected, and a new heading error is then generated, which will lead to the wrong estimation of the motion track. Therefore, this problem needs to be considered in practice.

Limitations of original methods
Although using the IEZ framework has a significant effect upon correcting the horizontal attitude angles, it influences little on heading correction. The reason is that, according to the observability analysis of INS error equations, the error state k δ is unobservable [16]. Thus, the estimated trajectory will gradually deviate from the expected as the moving distance increases.
In indoor environments, the HDE algorithm can effectively correct the heading angle by taking the dominant directions of the building as a reference. However, not all motion paths in indoor environments are along the dominant directions. If the HDE algorithm is still used in a non-dominant direction condition, as can be seen in Figure 3, the heading angle will be overcorrected, and a new heading error is then generated, which will lead to the wrong estimation of the motion track. Therefore, this problem needs to be considered in practice.

Details of the proposed method
Based on the above reasons, we first determined whether the pedestrian walked in a straight line. A fixed number of successive steps are taken as the unit of calculation, and all the calculated heading angles of steps are put into a dataset. The standard deviation of the dataset is then used to determine whether the current motion path is a straight line. Considering the complexity of calculation and accuracy of results, we take W (W = 5) steps as the unit of calculation [17], and the • Details of the proposed method Based on the above reasons, we first determined whether the pedestrian walked in a straight line. A fixed number of successive steps are taken as the unit of calculation, and all the calculated heading angles of steps are put into a dataset. The standard deviation of the dataset is then used to determine whether the current motion path is a straight line. Considering the complexity of calculation and accuracy of results, we take W (W = 5) steps as the unit of calculation [17], and the heading angle of step s is calculated by MINS. The dataset of heading angles is represented as Ψ = {ψ l |l = s, s − 1, . . . , s − W + 1}, whose standard deviation is obtained by the following equations: . (20) ψ is the average of heading angles. As the pedestrian cannot walk strictly along the actual path, by learning from fuzzy mathematics theory, we take std as variable and use the Z-type membership function to describe the motion path.
µ 1 (std) ranges from 0 to 1. The membership degree of motion path to the straight line decreases as std becomes larger. Figure 4 reflects the trend of the function. as std becomes larger. Figure 4 reflects the trend of the function.
Second, as the normal walking process of the pedestrian is periodic, the time interval between two adjacent steps, denoted as s ST , is relatively uniform. If s ST is out of the normal range, the pedestrian may be in abnormal activities, and to prevent the heading angle from being wrongly corrected in this condition, the proposed method should be avoided.
where T γ is associated with the motion period, usually set to 1.0~1.2 s. Combined with the motion path and motion state, we can make a comprehensive evaluation of the pedestrian's motion condition and the evaluation vector M is      Second, as the normal walking process of the pedestrian is periodic, the time interval between two adjacent steps, denoted as ST s , is relatively uniform. If ST s is out of the normal range, the pedestrian may be in abnormal activities, and to prevent the heading angle from being wrongly corrected in this condition, the proposed method should be avoided.
Hence, we take ST s as variable and adopt the commonly used bell-shaped membership function to characterize the pedestrian's motion state.
where γ T is associated with the motion period, usually set to 1.0~1.2 s. Combined with the motion path and motion state, we can make a comprehensive evaluation of the pedestrian's motion condition and the evaluation vector M is [ µ 1 (std) µ 2 (ST s ) ] T . Though the conditions of triggering the proposed method mainly depend on whether the motion path is a straight line, the role of the method needs to be limited in abnormal motion state. Therefore, we adopt M(., +) model, and with the weight vector w = [ w 1 w 2 ], the comprehensive evaluation is Then we give a binary controller as below: If E is greater than the threshold γ 2 , then En is set to 1 and the proposed method will be triggered, or the method has no effect otherwise. Figure 5 shows the analysis process above.
Finally, we get the error measurement δψ. If En is 0, δψ will be set to 0 as well, or δψ is obtained by determining whether the pedestrian walks along the dominant directions. We define 4 dominant directions denoted as ψ d (d = 1, 2, 3, 4) to be 0 • , 90 • , 180 • , and 270 • respectively, and select 5 • and 355 • as the thresholds.
Sensors 2018, 18, 1874 8 of 12 If E is greater than the threshold 2 γ , then En is set to 1 and the proposed method will be triggered, or the method has no effect otherwise. Figure 5 shows the analysis process above. Finally, we get the error measurement δψ . If En is 0, δψ will be set to 0 as well, or δψ is  [18]. After that, this error, together with the velocity errors of three axes, is taken as the filter measurements to estimate and correct the heading error, as well as other inertial sensor errors. The measurement matrix in this condition is

IMU Description
We used the IMU MTi-G-710 produced by Xsens Technologies B.V in Enschede, The Netherlands, which integrates 3-axis MEMS sensors. The IMU was easily installed on the human body, and had a large measuring range and a small size, and we fixed it to the left foot of a person to collect data. Table 1 lists the relevant technical parameters. If the above equation holds for a certain ψ d , then it will be taken as the closest dominant direction ψ dominant corresponding to the current heading angle. By subtracting the current heading angle from ψ dominant we obtain If, instead, Equation (26) holds for no ψ d , then ψ dominant will be substituted for ψ as the reference direction to calculate δψ [18]. After that, this error, together with the velocity errors of three axes, is taken as the filter measurements to estimate and correct the heading error, as well as other inertial sensor errors. The measurement matrix in this condition is

IMU Description
We used the IMU MTi-G-710 produced by Xsens Technologies B.V in Enschede, The Netherlands, which integrates 3-axis MEMS sensors. The IMU was easily installed on the human body, and had a large measuring range and a small size, and we fixed it to the left foot of a person to collect data. Table 1 lists the relevant technical parameters.

Results and Analyses
Several tests have been performed in different environments to verify the adaptability of the proposed method. For each test, we used IEZ, HDE, and IHDE methods, respectively, to estimate a person's walking trajectories and compare results. The following index was adopted to compare the performance of different methods.
D err indicates the deviation distance from the expected ending point, TTD means the total travelled distance, and P err is the positioning error of estimated trajectory.
Test 1 was performed on the first floor of the IT laboratory building in the Beijing Institute of Technology. The person walked from the starting point and followed the directions indicated by the arrows in Figure 6a. The 202-m long path, divided into 8 segments (identified by numbers), is made up of straight lines and right angles. Segments 1 and 7 are 27 m long, while the length of Segments 3 and 5 is 36 m, and the rest of the segments are all 19 m. Before starting to walk, the person was still for 5 s. The reference path and estimated trajectories are shown in Figure 6. err travelled distance, and err P is the positioning error of estimated trajectory.
Test 1 was performed on the first floor of the IT laboratory building in the Beijing Institute of Technology. The person walked from the starting point and followed the directions indicated by the arrows in Figure 6a. The 202-m long path, divided into 8 segments (identified by numbers), is made up of straight lines and right angles. Segments 1 and 7 are 27 m long, while the length of Segments 3 and 5 is 36 m, and the rest of the segments are all 19 m. Before starting to walk, the person was still for 5 s. The reference path and estimated trajectories are shown in Figure 6.
The results in Figure 6b show that, due to the lack of heading correction, the drift of the IEZ trajectory gradually accumulated in the straight lines, which led to an increasing deviation between the estimated trajectory and reference path, with the positioning error reaching about 9.0%. As each segment of the path coincided with the dominant directions, both the HDE and IHDE methods could make full use of the information to correct the heading angle. The final positioning error of the HDE trajectory was less than 0.6%, and for the IHDE trajectory, the smallest error was only 0.2% during the test. In order to compare with the real environment, we chose the east playground for Test 2 and Test 3. Different from Test 1, the paths in Test 2 and Test 3 contained both the dominant and non-dominant directions.
In Test 2, the person first walked in straight lines along the dominant directions, then walked along the curved track for a distance, and finally walked in a straight line along a non-dominant The results in Figure 6b show that, due to the lack of heading correction, the drift of the IEZ trajectory gradually accumulated in the straight lines, which led to an increasing deviation between the estimated trajectory and reference path, with the positioning error reaching about 9.0%. As each segment of the path coincided with the dominant directions, both the HDE and IHDE methods could make full use of the information to correct the heading angle. The final positioning error of the HDE trajectory was less than 0.6%, and for the IHDE trajectory, the smallest error was only 0.2% during the test.
In order to compare with the real environment, we chose the east playground for Test 2 and Test 3. Different from Test 1, the paths in Test 2 and Test 3 contained both the dominant and non-dominant directions.
In Test 2, the person first walked in straight lines along the dominant directions, then walked along the curved track for a distance, and finally walked in a straight line along a non-dominant direction and returned to the starting point. The actual path was about 90 m long, shown in a black dotted line in Figure 7, through which we illustrate the heading correction based on the proposed method. Figure 7a shows the result of evaluation E during the walk. The proposed method was triggered when E exceeded a certain threshold, corresponding to the red part, which indicated straight lines. Then, as explained in Section 2.4, we could further determine if the path was in a dominant direction and introduce error measurement δψ. It is worth noticing that between sampling point 1600 and 2475, as the person walked along a circular path, E close to 0 indicated that the method can identify abnormal situations, and thus avoid overcorrection of heading. For other parts in black, due to the sudden change of heading (corresponding to the "edges" in the above subfigure), corrections were not made within a short time.
straight lines. Then, as explained in Section 2.4, we could further determine if the path was in a dominant direction and introduce error measurement δψ . It is worth noticing that between sampling point 1600 and 2475, as the person walked along a circular path, E close to 0 indicated that the method can identify abnormal situations, and thus avoid overcorrection of heading. For other parts in black, due to the sudden change of heading (corresponding to the "edges" in the above subfigure), corrections were not made within a short time. In contrast, dominant directions were always taken as a reference in the original HDE method, so the heading was still corrected to approach its nearest dominant direction for the last two segments of path, as can be seen in the above subfigure of Figure 7a, making the trajectory wrongly estimated. The positioning error of the HDE trajectory was about 1% larger than that of the IHDE, according to the test results. Figure 7b shows the estimated trajectories using different methods.
The actual path in Test 3 consisted of two straight lines along dominant directions and two arcs, as shown in Figure 8. The heading angle of the HDE trajectory was continuously wrongly corrected based on the dominant directions as a person stepped onto the curved track, which eventually led to the trajectory being useless for positioning. Instead, no heading correction was made on the curved track by using the proposed method, and the estimated trajectory maintained a small deviation from the actual path with err D only about 2 m. The values in Table 2   In contrast, dominant directions were always taken as a reference in the original HDE method, so the heading was still corrected to approach its nearest dominant direction for the last two segments of path, as can be seen in the above subfigure of Figure 7a, making the trajectory wrongly estimated. The positioning error of the HDE trajectory was about 1% larger than that of the IHDE, according to the test results. Figure 7b shows the estimated trajectories using different methods.
The actual path in Test 3 consisted of two straight lines along dominant directions and two arcs, as shown in Figure 8. The heading angle of the HDE trajectory was continuously wrongly corrected based on the dominant directions as a person stepped onto the curved track, which eventually led to the trajectory being useless for positioning. Instead, no heading correction was made on the curved track by using the proposed method, and the estimated trajectory maintained a small deviation from the actual path with D err only about 2 m. The values in Table 2 show the typical range of positioning errors for several tests in different environments like those presented in  the method can identify abnormal situations, and thus avoid overcorrection of heading. For other parts in black, due to the sudden change of heading (corresponding to the "edges" in the above subfigure), corrections were not made within a short time. In contrast, dominant directions were always taken as a reference in the original HDE method, so the heading was still corrected to approach its nearest dominant direction for the last two segments of path, as can be seen in the above subfigure of Figure 7a, making the trajectory wrongly estimated. The positioning error of the HDE trajectory was about 1% larger than that of the IHDE, according to the test results. Figure 7b shows the estimated trajectories using different methods.
The actual path in Test 3 consisted of two straight lines along dominant directions and two arcs, as shown in Figure 8. The heading angle of the HDE trajectory was continuously wrongly corrected based on the dominant directions as a person stepped onto the curved track, which eventually led to the trajectory being useless for positioning. Instead, no heading correction was made on the curved track by using the proposed method, and the estimated trajectory maintained a small deviation from the actual path with err D only about 2 m. The values in Table 2 show the typical range of positioning errors for several tests in different environments like those presented in Figures 6-8.

Conclusions
To solve the problem that the IEZ frame cannot suppress the heading drift, and the HDE method does not apply to the non-dominant direction's condition, we have proposed the IHDE method and have tested its performance in different environments. The results show that, if the person walks in the non-straight line, using the proposed method can judge this condition by comprehension evaluation compared to the HDE method, and then the heading angle will not be overcorrected, ensuring the correct estimation of trajectories. The positioning errors of estimated IHDE trajectories in tests indicate the adaptability of the proposed method to different environments.
Author Contributions: Z.D. and Y.C. contributed with the concept and design of the manuscript, simulations, drafting, and revising the manuscript. Y.C. and P.W. performed the experiments. B.W. contributed with drafting of the manuscript.