Keywords

1 Introduction

Recently, the use of UWB sensors for indoor localization has gained attention as an alternative to Global Navigation Satellite System (GNSS) in indoor complex environment. However, UWB-based positioning requires pre-installed UWB anchor points with known precise position information as reference stations. Additionally, UWB distance measurement can be challenging in NLOS environments where obstacles or walls obstruct the signal path, leading to large errors. Two broad categories of NLOS error handling methods including data signal feature identification methods and adaptive filtering methods are developed.

In the data signal feature identification method, a support vector data description learner with outliers is trained to recognize NLOS signals using the classical imbalance characteristic, resulting in better performance than traditional machine learning method [1]. Random forest models are used to discriminate NLOS signals, and TOA observations containing NLOS are equated to the average of TOA observations and computed values, resulting in a non-visual recognition rate of 98.6% and a 52–55% improvement in localization accuracy compared to the least square localization method [2]. A fuzzy clustering recognition method based on the principal component analysis model and fuzzy C-mean algorithm achieves a 92% recognition rate of NLOS signals [3]. Adaptive filtering methods combining un-differenced estimation theory with Kalman filter have improved navigation accuracy from 2.5 m to within 0.09 m [4]. A robust unscented Kalman filter with generalized likelihood estimation is proposed to attenuate the effects of measurement outliers and system perturbations on state estimation, resulting in reduced error peaks in coordinate estimation and faster convergence than conventional unscented Kalman filter [5].

Systematic time latency in UWB system is another factor affecting positioning accuracy. The symmetrical double-sided clock synchronization algorithm is proposed to address low time synchronization accuracy and inconsistent message processing delay of UWB sensors, resulting in a synchronization accuracy of 1.2 ns [6]. To address systematic errors in UWB positioning algorithms, phase center offset (PCO) calibration and multi-point time latency determination (MTLD) methods of UWB antenna are proposed, resulting in a 10 and 44% improvement, respectively [7].

However, the UWB sensor localization has limitations in that it cannot obtain attitude information of the target, and multi-sensor fusion is necessary to solve the UWB NLOS problem. For the first time, UWB was combined with an inertial navigation system (INS) to determine the attitude of the combined system [8]. The combination of UWB under the IEEE802.15.4a standard with 6-degree-of-freedom inertial measurement elements for indoor positioning, along with data transmission using the communication function of UWB, yielded higher positioning accuracy than that of the inertial navigation system alone [9]. Researches have focused on identifying NLOS errors, weakening the effect of NLOS errors on localization, and studying INS-assisted localization when UWB ranging information is not available [10, 11]. Based on the dynamical model of quaternion and position, and the UWB observation equations, the mathematical expressions of the dynamic errors-in-variables model of UWB/INS are derived. The computational complexity of the generalized overall Kalman filter method and strategies to improve the computational efficiency of the unscented overall Kalman filter method are also provided [12].

To overcome these problems, this paper proposes a UWB/INS tightly coupled localization method that takes into account the time latency and NLOS error. This method tightly integrates UWB sensors and inertial measurement unit (IMU) sensors, establishes a tightly coupled UWB/INS model that takes into account the time latency and NLOS error, compensates the UWB ranging information using time-synchronized station time differencing observations, uses the UWB tag equivalent time latency as the parameter to be solved, and combines Kalman filtering with the ranging new information vector to adjust the UWB range with NLOS error by multi-factor adaptive adjustment of the weight of UWB ranging information containing NLOS errors. This improves the position estimation performance and provides target attitude information.

2 UWB Observation Equations Taking into Account the Time Latency

The basic observation of the UWB sensor based on Time of Arrival (TOA) is the distance between the tag and the base station, which is calculated by recording the time of pulse signal propagation from the tag to the base station. However, when performing tag-side positioning, the distance observation is affected by various errors related to the base station and the tag, as well as those related to pulse signal propagation. In particular, the time latency between the base station and the tag can significantly affect positioning accuracy, and its error impact needs to be considered. The UWB TOA observation equation can be modeled as follows:

$$ \rho_{{\text{UWB}}}^i = r^i + c\delta t_r + c\delta t_b + \tilde{\varepsilon }_\rho^i $$
(1)

where \(\rho_{{\text{UWB}}}^i\) is the observed distance between base station i and the tag; \(r^i\) is the geometric distance between base station i and the tag; \(c\delta t_r\) is the time latency of the tag; \(c\delta t_b\) is the time latency of base station i; \(\tilde{\varepsilon }_\rho^i\) is other noise.

Similarly, using base station 0 as the reference master base station, the UWB time difference of arrival (TDOA) observation equation can be modeled as

$$ \rho_{{\text{UWB}}}^{0i} = r^{0i} + ct_b^{0i} + \tilde{\varepsilon }_\rho^{0i} $$
(2)

where \(\rho_{{\text{UWB}}}^{0i}\) is the time difference observation between base station i and primary base station 0; \(r^{0i}\) is the time difference geometric distance between base station i and primary base station 0; \(ct_b^{0i}\) is the time latency of base station i with respect to primary base station 0, \(ct_b^{0i} = c\delta t_b - c\delta t_b^0\), \(c\delta t_b^0\) is the time latency of primary base station 0; \(\tilde{\varepsilon }_\rho^{0i}\) is other noise.

Since the time latency \(ct_b^{0i}\) of base station i with respect to the primary base station 0 can be calibrated in advance or broadcasted in real time by establishing a time synchronization station, the time latency \(ct_b^{0i}\) is taken as a known value in the positioning process and substituted into the equation, the UWB TOA observation equation is

$$ \rho_{{\text{UWB}}}^i - ct_b^{0i} = r^i + c\delta \overline{t}_r + \tilde{\varepsilon }_\rho^i $$
(3)

where \(c\delta \overline{t}_r\) is the tag equivalent time latency, \(c\delta \overline{t}_r = c\delta t_r + c\delta t_b^0\).

Equation (3) proposes a method for utilizing GNSS navigation and positioning by broadcasting the clock difference. This method involves establishing a UWB time synchronization station and using a certain clock-stabilized base station of UWB as the main base station. The time difference observation between the base station and the main base station is then used to calibrate in advance or to broadcast the time latency of the base station relative to the main base station in real-time. The solution result obtained through this method contains tag position information and equivalent time latency. To model the time latency of the UWB system, the delay deviation on positioning accuracy of the UWB system can be fully weakened. This modeling approach is effective in reducing the impact of delay deviation on the accuracy of the UWB system's positioning.

3 Tightly Coupled UWB/INS Positioning Considering the Time Latency and NLOS Errors

NLOS refers to the situation where the direct signal propagation path between the signal transmitter and receiver is blocked, and the signal reaches the receiver through a reflected, diffracted path or by penetrating an obstacle. In challenging environments, NLOS propagation leads to longer signal flight times and more severe energy attenuation than direct signals, resulting in NLOS distance errors for both arrival signal strength and arrival time-based distance estimation methods. If observations with NLOS errors are directly used for UWB indoor positioning, the accuracy of the positioning will be greatly affected, and fusing IMU information is an ideal solution.

In a previous study [13], IMU acceleration information was used as the system input in a tightly coupled UWB/INS model. The constant acceleration model was used as the system state of motion equation for filtering. However, this method cannot provide the attitude information of the target, and the angular velocity and acceleration measurements of low-cost commercial IMUs are often noisy due to factors such as temperature, operation duration, and mechanical vibration. Integrating acceleration directly from the IMU may lead to worse results than the constant velocity or constant acceleration assumptions.

Therefore, this study proposes a tightly coupled UWB/INS method that takes into account time latency. The system state variables are defined as position error, velocity error, attitude error, gyroscope and accelerometer zero bias error, and tag equivalent time latency, with a dimension of 16 × 1. This approach improves the accuracy of positioning and overcomes the limitations of the previous method.

$$ \delta {{\varvec{x}}}(t) = \left[ {\begin{array}{*{20}c} {(\delta {{\varvec{p}}}^n )^{\text{T}} } & {(\delta {{\varvec{v}}}^n )^{\text{T}} } & {\begin{array}{*{20}c} {{{\varvec{\phi}}}^{\text{T}} } & {{{\varvec{b}}}_g^{\text{T}} } & {\begin{array}{*{20}c} {{{\varvec{b}}}_a^{\text{T}} } & {c\delta \overline{t}_r } \\ \end{array} } \\ \end{array} } \\ \end{array} } \right]^{\text{T}} $$
(4)

where \(\delta {{\varvec{p}}}^n\) is the position error in n-system, dimension 3 × 1; \(\delta {{\varvec{v}}}^n\) is the velocity error in n-system, dimension 3 × 1; \({{\varvec{\phi}}}\) is the attitude error, dimension 3 × 1; \({{\varvec{b}}}_g\) is the gyroscope zero bias error, dimension 3 × 1; \({{\varvec{b}}}_a\) is the accelerometer zero bias error, dimension 3 × 1; \(c\delta \overline{t}_r\) is the tag equivalent time latency.

Using the error vector as the system state variable is beneficial to estimate the INS solution error and the IMU sensor zero bias error, to correct the INS solution result, and to compensate the IMU zero bias.

The error differential equation of the system state variable taking into account the time latency is.

$$ \delta {\dot{\user2{x}}}(t) = {{\varvec{F}}}(t)\delta {{\varvec{x}}}(t) + {{\varvec{G}}}(t){{\varvec{w}}}(t) $$
(5)

where F is the system matrix of error differential equations, as shown in Eq. (6), the dimension is 16 × 16; w is the process noise of the corresponding state, as shown in Eq. (7), where \({{\varvec{w}}}_v\) denotes the white noise of accelerometer measurement, \({{\varvec{w}}}_\phi\) denotes the white noise of gyroscope measurement, \({{\varvec{w}}}_{gb}\) and \({{\varvec{w}}}_{ab}\) denotes the zero bias noise of accelerometer and gyroscope, respectively; G is the process noise transfer matrix, as shown in Eq. (8).

$$ {{\varvec{F}}} = \left[ {\begin{array}{*{20}c} {\bf{0}} & {{\bf{I}}_{3 \times 3} } & {\bf{0}} & {\bf{0}} & {\bf{0}} & 0 \\ {\bf{0}} & {\bf{0}} & {\left[ {\left( {{{\varvec{C}}}_b^n {{\varvec{f}}}^b } \right) \times } \right]} & {\bf{0}} & {{{\varvec{C}}}_b^n } & 0 \\ {\bf{0}} & {\bf{0}} & {\bf{0}} & { - {{\varvec{C}}}_b^n } & {\bf{0}} & 0 \\ {\bf{0}} & {\bf{0}} & {\bf{0}} & {\frac{ - 1}{{T_{gb} }}{\bf{I}}_{3 \times 3} } & {\bf{0}} & 0 \\ {\bf{0}} & {\bf{0}} & {\bf{0}} & {\bf{0}} & {\frac{ - 1}{{T_{ab} }}{\mathbf{I}}_{3 \times 3} } & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ \end{array} } \right] $$
(6)
$$ {{\varvec{w}}} = \left[ {\begin{array}{*{20}c} {{\bf{0}}_{1 \times 3} } & {{{\varvec{w}}}_v^{\text{T}} } & {\begin{array}{*{20}c} {{{\varvec{w}}}_\phi^{\text{T}} } & {{{\varvec{w}}}_{gb}^{\text{T}} } & {\begin{array}{*{20}c} {{{\varvec{w}}}_{ab}^{\text{T}} } & 0 \\ \end{array} } \\ \end{array} } \\ \end{array} } \right]^{\text{T}} $$
(7)
$$ {{\varvec{G}}} = \left[ {\begin{array}{*{20}c} {\bf{0}} & {\bf{0}} & {\bf{0}} & {\bf{0}} & {\bf{0}} & 0 \\ {\bf{0}} & {{{\varvec{C}}}_b^n } & {\bf{0}} & {\bf{0}} & {\bf{0}} & 0 \\ {\bf{0}} & {\bf{0}} & {{{\varvec{C}}}_b^n } & {\bf{0}} & {\bf{0}} & 0 \\ {\bf{0}} & {\bf{0}} & {\bf{0}} & {{\bf{I}}_{3 \times 3} } & {\bf{0}} & 0 \\ {\bf{0}} & {\bf{0}} & {\bf{0}} & {\bf{0}} & {{\bf{I}}_{3 \times 3} } & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ \end{array} } \right] $$
(8)

To facilitate the use of the discrete-time Kalman filter, the error differential equation for the system state variables is discretized and the discrete-time system state equation is constructed as follows.

$$ \delta {{\varvec{x}}}_k = {{\varvec{\varPhi}}}_k \delta {{\varvec{x}}}_{k - 1} {\bf{ + }}{{\varvec{w}}}_{k - 1} $$
(9)

where \({{\varvec{\varPhi}}}_k\) is the discrete-time system state transfer matrix, which can be simplified to \({{\varvec{\varPhi}}}_{\text{k}} \approx {\bf{I + }}{{\varvec{F}}}(t_{k - 1} )\rm{\Delta }t\), when F does not vary drastically in \(\rm{\Delta }t\), \(\rm{\Delta }t\) is the discrete time interval; \({{\varvec{w}}}_{k - 1}\) is the discretized time process noise.

\({{\varvec{Q}}}_k\) is the discrete-time state noise covariance array, which can be simplified to a trapezoidal integral as

$$ {{\varvec{Q}}}_k \approx \frac{1}{2}\left[ {{{\varvec{\varPhi}}}_k {{\varvec{G}}}\left( {t_{k - 1} } \right){{\varvec{q}}}\left( {t_{k - 1} } \right){{\varvec{G}}}^{\text{T}} \left( {t_{k - 1} } \right){{\varvec{\varPhi}}}_k^{\text{T}} + {{\varvec{G}}}\left( {t_k } \right){{\varvec{q}}}\left( {t_k } \right){{\varvec{G}}}^{\text{T}} \left( {t_k } \right)} \right]\Delta t $$
(10)

where q is the IMU sensor power spectral density.

From the INS navigation results and the pole arm measurements, the UWB tag antenna center position is deduced as

$$ \overline{{{\varvec{p}}}} = {{\varvec{p}}}_I^n + {{\varvec{C}}}_{\text{b}}^n {{\varvec{l}}}^{\text{b}} - {{\varvec{v}}}_I^n \delta t $$
(11)

where \({{\varvec{p}}}_I^n\) is the INS position; \({{\varvec{l}}}^{\text{b}}\) is the pole arm measurement; \({{\varvec{v}}}_I^n \delta t\) is the position error caused by the UWB and IMU time asynchrony.

The approximate distance between the center position of the UWB tag antenna and the UWB base station position deduced from the INS navigation result and the pole arm measurement can be expressed as

$$ \overline{r^i } = \sqrt {(\overline{p}_e - p_e^i )^2 + (\overline{p}_n - p_n^i )^2 + (\overline{p}_u - p_u^i )^2 } $$
(12)

where \(\overline{p}_e\), \(\overline{p}_n\) and \(\overline{p}_u\) are the E, N, and U directions of the UWB tag antenna center positions derived from the INS navigation results; \(p_e^i\), \(p_n^i\) and \(p_u^i\) are the E, N, and U directions of base station i, respectively.

The UWB/INS tightly coupled measurement equation that takes into account the time latency is

$$ {{\varvec{z}}}_k = {{\varvec{H}}}_k \delta {{\varvec{x}}}_k + {{\varvec{V}}}_k $$
(13)

where \({{\varvec{z}}}_k\) is the measurement information, \({{\varvec{z}}}_k = \overline{r^i } - (\rho_{{\text{UWB}}}^i - ct_b^{0i} )\); \({{\varvec{H}}}_k\) is the measurement matrix, as shown in Eq. (14); \({{\varvec{V}}}_k\) is the measurement noise, which conforms to the Gaussian distribution; \({{\varvec{R}}}_k\) is the measurement noise covariance, \({{\varvec{R}}}_k = \sigma_r^2 {\bf{I}}\), represents the measurement noise between the UWB sensor tag and the base station.

$$ \begin{gathered} {{\varvec{H}}}_k = \left[ {\begin{array}{*{20}c} {{{\varvec{J}}}_k } & {\bf{0}} & {\begin{array}{*{20}c} {\bf{0}} & {\bf{0}} & {\begin{array}{*{20}c} {\bf{0}} & 1 \\ \end{array} } \\ \end{array} } \\ \end{array} } \right], \hfill \\ {{\varvec{J}}}_k = \left[ {\begin{array}{*{20}c} {\frac{{\overline{p}_e - p_e^i }}{{\overline{r^i }}}} & {\frac{{\overline{p}_n - p_n^i }}{{\overline{r^i }}}} & {\frac{{\overline{p}_u - p_u^i }}{{\overline{r^i }}}} \\ \end{array} } \right] \hfill \\ \end{gathered} $$
(14)

In challenging environments, NLOS propagation can result in longer signal flight times and more severe energy attenuation than direct signals, leading to NLOS distance errors for both arrival signal strength and arrival time-based distance estimation methods. While fusing IMU information can help weaken the effect of NLOS errors on localization results, there is a lack of effective methods to accurately estimate the magnitude of NLOS distance error. Moreover, simply adding IMU information with a constant covariance may become less useful as the NLOS error duration increases, eventually pulling the INS solution out of alignment. To address these challenges, this paper proposes a multi-factor adaptive filtering approach for UWB/INS positioning based on a tightly coupled UWB/INS model that accounts for time latency. This approach adaptively adjusts the weight of each observation based on its reliability to avoid the impact of reliable observations losing their usefulness due to larger errors.

Constructed inspection information \(\Delta \varepsilon_i\)

$$ \Delta \varepsilon_i = \varepsilon_i \left( {Q_{vv}^{ - 1} } \right)_{i,i} \varepsilon_i $$
(15)

where \(\varepsilon_i\) is the new interest vector of the tightly coupled system; \(Q_{vv}\) is the covariance matrix of the new interest vector of the system, \(Q_{vv} = {{\varvec{H}}}_k \overline{{{\varvec{P}}}}_k {{\varvec{H}}}_k^{\text{T}} + {{\varvec{R}}}_k\).

Construct the equivalence weight factor \(\alpha_i\)

$$ \alpha_i = \left\{ {\begin{array}{*{20}l} {1,\left| {\Delta \varepsilon_i } \right|\rm{}c_1 } \hfill \\ \frac{{\left| {\Delta \varepsilon_i } \right|}}{c_1 },c_1 \rm{}\left| {\Delta \varepsilon_i } \right|\rm{}c_2 \hfill \\ \infty ,\left| {\Delta \varepsilon_i } \right| > c_2 \hfill \\ \hfill \\ \end{array} } \right. $$
(16)

where c1, c2 are the multi-factor array test thresholds, which are obtained from the law of taking the test information in the line-of-sight environment.

\({{\varvec{\alpha}}}_k = {\text{diag}}[\alpha_1 \, \alpha_2 \, \cdots \, \alpha_i ]\), \({{\varvec{\alpha}}}_k\) is the equivalent multi-factor array of observations at time k. Then the system measurement noise equivalent covariance matrix is

$$ \overline{{{\varvec{R}}}}_k = {{\varvec{\alpha}}}_k {{\varvec{R}}}_k $$
(17)

where \(\overline{{{\varvec{R}}}}_k\) is the system measurement noise equivalent covariance matrix at time k.

The UWB/INS tightly coupled positioning algorithm, which considers the time latency and NLOS error, combines the advantages of INS and UWB. INS can provide high accuracy position information in a short period of time and overcome the limitation of the single UWB sensor not being able to obtain the target attitude information. On the other hand, UWB can suppress INS divergence and consider the influence of time latency and NLOS error on the position estimation, making it more robust. The overall flow of the UWB/INS tightly coupled positioning system that considers the time latency and NLOS error is shown in Fig. 1.

Fig. 1.
figure 1

UWB/INS tightly coupled positioning process

4 Experiments and Results Analysis

4.1 Experimental Description

In this study, static and dynamic experiments were designed to evaluate the positioning accuracy of an UWB. The experimental scene and platform are shown in the Fig. 2. The static test site was located in the connecting corridor of the Wen-tian Building in Shandong University in Weihai, with a test site of approximately 100 m2. Three UWB base stations and one time-synchronous station were deployed for the experiment. The dynamic test site was situated on the soccer field of Shandong University, covering an area of approximately 1600 m2. Four UWB base stations and one time synchronization station was deployed for the dynamic experiment. The power spectral density of UWB sensors was in the range of −26 to −13 dB/MHz, and the tag sampling frequency was set to 50 Hz. In the static experiment, the reference true value of the test point was measured by the ZTS-420 total station, which provided a reference of 2 mm accuracy. In the dynamic experiment, the reference true value was measured by the GNSS RTK solution, which provided a reference of centimeter-level accuracy.

Fig. 2.
figure 2

Experimental scene and platform

4.2 Static Experiment

Static test were conducted to evaluate the static positioning accuracy of UWB, taking into account time latency. In Fig. 2(a), eight static test points were set up at the test site. The conventional UWB EKF algorithm was compared with the UWB EKF algorithm that considers time latency from the perspective of positioning accuracy.

Table 1 shows the root mean square error (RMSE) of E and N direction coordinates of the eight static test points. The RMSE of the conventional UWB EKF algorithm for planar localization is 0.187 m, while the RMSE of the UWB EKF algorithm that accounts for time-delay bias is 0.073 m. The experimental results demonstrate that the average error of the UWB EKF algorithm with delay bias is 60.1% lower than that of the conventional UWB EKF algorithm.

Furthermore, Fig. 3 shows the cumulative distribution function curves of the plane position of the static test points. The 50, 90%, and maximum error of the plane positioning results of the conventional UWB EKF algorithm are 0.184 m, 0.209 m, and 0.346 m, respectively. The results indicate that the UWB EKF algorithm that considers time latency of the UWB sensor system can largely solve the loss of positioning accuracy caused by the system’s time latency. The planar positioning accuracy of the UWB EKF algorithm can reach the centimeter level under good observation conditions.

Table 1. RMSE of static test point
Fig. 3.
figure 3

Static test plane error CDF curve

4.3 Dynamic Experiments

The experimental setup was installed on a test cart and included four UWB base stations, one UWB time synchronization station, and one UWB tag equipped with a UWB sensor from Nooploop company, providing range accuracy up to 10 cm. The system also utilized a PwrPak7-E2 receiver, consisting of a NovAtel OEM7700 receiver and an Epson G370N Micro Electro Mechanical Systems (MEMS) IMU. The experimental platform is illustrated in Fig. 2(c), with the UWB tag positioned on the same vertical axis as GNSS antenna. The performance parameters of the inertial sensors are listed in Table 2.

Table 2. Epson G370N MEMS IMU sensor performance parameters

The dynamic test was conducted to evaluate the dynamic positioning accuracy of the UWB/INS tightly coupled algorithm and compare it with the conventional UWB/INS combination, considering the time latency and NLOS error. The trajectory of the dynamic test, as shown in Fig. 2(b), was defined based on the GNSS RTK solution results, which served as the reference true value. During the test, the experimental device mounted on the test cart was pushed along the predefined trajectory at a constant speed, and the GNSS receiver observation data, UWB sensor TOA data, and IMU sensor data were recorded.

The number of visible satellites in the GNSS was reflected in Fig. 4(a). The GNSS receivers provided high-quality results due to their wide field of view, allowing each ephemeris element to track signals from more than four satellites. This feature helped to provide accurate reference positioning results during the test. The GNSS RTK positioning results, which were used as the true reference, had standard deviations of 0.025 m, 0.019 m, and 0.019 m for the E, N and U directions, respectively, as shown in Fig. 4(b). These values reflected the observation accuracy of the coordinate 3D components. To analyze the quality of GNSS data as a whole, the GNSS accuracy factor plot was presented in Fig. 4(c). The root mean square (RMS) of GDOP, PDOP, HDOP, and VDOP were 1.635, 1.413, 0.761, and 1.184, respectively, which were suitable for most applications except for the most sensitive ones.

Fig. 4.
figure 4

The analysis of GNSS data quality

The dynamic test trajectory is divided into two parts. Track I is the positioning test trajectory in the pure LOS environment, and track II is the positioning test trajectory in the NLOS error challenge environment. The trajectory results of Track I in the pure LOS environment are shown in Fig. 5. The combined UWB/INS tight localization method takes into account the time latency of the UWB sensor system, and as shown in the trajectory results, the localization trajectory is closer to the reference trajectory. Additionally, the localization trajectory is smoother than that of UWB alone.

Fig. 5.
figure 5

Positioning trajectory of trajectory I in pure LOS environment

The RMSE values for the east, north, and up directions of the UWB/INS tightly coupled system were found to be 0.093 m, 0.062 m, and 0.898 m, respectively. These values are 38.8, 35.4, and 53.5% higher than those of the conventional UWB/INS tightly coupled system. The main reason for this difference in performance is attributed to the fact that the UWB sensor in the dynamic test trajectory is limited to LOS observations. As a result, the positioning accuracy of the UWB/INS tightly coupled system is primarily dependent on the UWB sensor’s positioning accuracy (Table 3).

Table 3. RMSE of E, N and U for different positioning methods of trajectory I

The cumulative distribution function curve of the plane position for trajectory one is given in Fig. 6. From the experimental results of trajectory I, the 50, 90% and maximum errors of the conventional UWB/INS tightly coupled are 0.155 m, 0.283 m and 0.781 m, respectively, while the 50, 90% and maximum errors of the UWB/INS tightly coupled algorithm taking into account the time latency are 0.089 m, 0.175 m and 0.645 m, respectively. The UWB/INS tightly coupled algorithm can also largely solve the loss of positioning accuracy caused by the time latency of the system, and its plane positioning accuracy can be improved by 37.8% compared with the conventional UWB/INS tightly coupled, and it can provide attitude information, as shown in Fig. 7, to make up for the shortage of single UWB sensor positioning.

Fig. 6.
figure 6

CDF of trajectory I plane position

Fig. 7.
figure 7

Attitude of dynamic trajectory I

Apart from providing attitude information, another significant advantage of the UWB/INS tightly coupled algorithm is its ability to offer reliable position estimation even when the UWB positioning estimation error is substantial, or the UWB positioning solution is temporarily lost. In dynamic test trajectory II, NLOS errors in some ephemeris elements occur due to pedestrian and obstacle occlusions, which can last for varying durations.

The results of the dynamic test trajectory II with NLOS errors are presented in Fig. 8. From the trajectory results, it is observed that the conventional UWB trajectory deviates from the reference trajectory due to NLOS errors caused by pedestrian and obstacle occlusions. However, for longer epochs of NLOS error-induced deviation of position estimation, the conventional UWB/INS tightly coupled algorithm is unable to adjust the weights between UWB sensors and IMU sensors adaptively, leading to scattered IMU position estimation. Thus, the maximum potential of the UWB/INS tightly coupled algorithm cannot be exploited.

The UWB/INS tightly coupled algorithm with NLOS error is a multi-factor adaptive method that makes full use of UWB sensor ranging information and adaptively adjusts the weights between the UWB sensor and IMU sensor. Thus, the localization trajectory can be better corrected, whether it is a short NLOS error or a longer one. The UWB/INS tightly coupled algorithm that considers time latency and NLOS error is based on the above method to fully consider the influence of UWB system time latency on position estimation. Its positioning trajectory is more consistent with the reference true value trajectory.

Table 4 shows the RMSEs of the E, N and U directions of the UWB/INS tightly coupled algorithm that takes into account time latency and NLOS error. Compared to the conventional UWB/INS tightly coupled system, the UWB/INS tightly coupled algorithm improves the accuracy by 49.0%, 84.7%, and 49.2%, respectively. Compared to the UWB/INS tightly coupled system that only takes into account NLOS error, the conventional UWB/INS tightly coupled algorithm enhances the accuracy by 33.8%, 49.1%, and 37.2%, respectively. These findings indicate that the conventional UWB/INS tightly coupled algorithm cannot adaptively adjust the weights between UWB sensors and IMU sensors to reach the optimal solution for longer NLOS error epochs.

Fig. 8.
figure 8

Positioning trajectory of dynamic test trajectory II with NLOS error

Table 4. RMSE of E, N and U for different positioning methods of trajectory II

The estimation errors of the east, north, and up directional positions of test trajectory II are presented in Fig. 9. The conventional UWB system exhibits an average error of 0.433 m and a maximum error of 8.45 m in plane positioning. In comparison, the conventional UWB/INS tightly coupled system shows an average error of 0.426 m and a maximum error of 4.88 m. On the other hand, the UWB/INS tightly coupled system that only accounts for NLOS errors achieves an average error of 0.189 m and a maximum error of 0.579 m, while the UWB/INS tightly coupled system that accounts for both time latency and NLOS errors achieves the same level of accuracy. These results indicate that the UWB/INS tightly coupled algorithm can effectively suppress both the time latency and NLOS errors of the UWB sensor system, resulting in significantly improved positioning accuracy and stability.

Fig. 9.
figure 9

Errors in the three-directional positions of E, N and U for test trajectory II

5 Conclusion

This paper investigates the UWB/INS tightly coupled positioning method based on UWB and IMU sensors. The proposed algorithm takes into account the time latency and NLOS error to improve the positioning accuracy and stability of the system. The complementarity of INS and UWB TOA is fully utilized to consider the impact of system time latency and NLOS error on the positioning estimation accuracy. Experimental results demonstrate that the proposed UWB positioning method, taking into account the time latency, achieves a plane accuracy of 0.073 m in static tests, which is 60.1% better than that of the conventional UWB positioning method. In dynamic tests, the proposed method achieves a plane accuracy of 0.120 m, which is 34.6% better than that of the conventional UWB positioning method. The proposed UWB/INS tightly coupled positioning method, taking into account the time latency, achieves a plane accuracy of 0.112 m in pure LOS dynamic tests, which is 37.8% better than the conventional UWB/INS tightly coupled positioning method. Moreover, the proposed UWB/INS tightly coupled positioning method, which takes into account the time latency and NLOS error, achieves a plane accuracy of 0.124 m in dynamic tests with NLOS environment, which is 72.9% better than the conventional UWB/INS tightly coupled positioning method and 38.9% better than the UWB/INS tightly coupled positioning method that only takes into account the NLOS error. The UWB/INS tightly coupled positioning method that takes into account the time latency and NLOS error has better robustness and is more suitable for complex environments. Overall, the proposed UWB/INS tightly coupled positioning method shows improved accuracy and robustness compared to conventional UWB positioning methods and is well-suited for various practical applications.