NLOS Cooperative Navigation for UAV Drones

In this work, I investigate how a group of UAV drones can maintain reliable positioning when line-of-sight (LOS) communication is frequently blocked by buildings, terrain, vegetation, or indoor structures. The central problem I address is that non-line-of-sight (NLOS) propagation introduces positive ranging bias into ultra-wideband (UWB) measurements, and this bias degrades both absolute and relative navigation for UAV drones. I therefore develop a cooperative navigation framework that combines tightly coupled INS/GNSS positioning, inter-UAV UWB ranging, NLOS identification, NLOS compensation, and residual-based weighting. I use the term UAV drones throughout because the methods are intended for small unmanned aerial vehicles operating as a coordinated swarm rather than as isolated platforms.

The core idea is straightforward from my perspective: each UAV drone obtains an initial absolute position from a tightly coupled INS/GNSS filter, while UWB modules measure the distances between the master UAV drone and the slave UAV drones. Instead of directly using raw UWB ranges as if they were unbiased, I construct an observation vector from the difference between the relative distance computed from the tightly coupled outputs and the UWB ranging value. This difference drives an extended Kalman filter (EKF) that corrects the master position. Because neighboring UAV drones do not have perfect prior accuracy, I also model the uncertainty of each slave position and incorporate it into the observation covariance. When NLOS occurs, I identify it by monitoring the change in relative distance and the standard deviation of UWB measurements within a short interval. I then reconstruct contaminated measurements by combining the previous posterior state estimate with the inertial navigation output. This gives me a more reliable range for cooperative filtering without discarding all NLOS-affected data.

In addition to the identification-and-compensation route, I study a second route in which I do not rely on explicit NLOS prior information. I formulate an improved residual weighting algorithm based on the minimum residual criterion. For every combination of three slave UAV drones, I compute a trilateration position and its ranging residual. I keep the combination with the smallest residual and then sequentially add remaining UAV drones one by one. At each cardinality from three to the total number of slave UAV drones, I record the minimum residual and the corresponding estimated position. Finally, I apply a high-order residual weighting function to fuse these candidate positions. This reduces the influence of NLOS-corrupted links while retaining useful LOS information.

I organize the remainder of this article as follows. I first describe the system model and the tightly coupled navigation equations for UAV drones. I then present the cooperative navigation algorithm based on relative distance differences. Next, I explain the NLOS identification and compensation algorithm. After that, I develop the improved residual weighting method. I then report simulation settings, numerical results, and comparisons across several visible-satellite conditions. Throughout, I use tables and equations to summarize the most important relationships, because my aim is to make the method reproducible and easy to evaluate.

The notation I use is summarized in Table 1. I keep the notation consistent across the navigation, ranging, and residual weighting sections.

Symbol Meaning
\(r_i\) True relative distance between the master UAV drone and the \(i\)-th slave UAV drone
\(z_i\) Measured range, including noise and possible NLOS bias
\(n_i\) Measurement noise, usually modeled as zero-mean Gaussian noise
\(e_i\) NLOS propagation error, modeled as a positive bias
\(X_c\) Eighteen-dimensional tightly coupled state vector
\(\rho_{li}\) Relative distance computed from tightly coupled position outputs
\(\rho_{UWB,i}\) UWB ranging value between the master UAV drone and the \(i\)-th slave UAV drone
\(\delta \rho_i\) Difference between \(\rho_{li}\) and \(\rho_{UWB,i}\), used as an observation
\(\Delta D\) Median change in relative distance over a short time interval
\(\sigma\) Smoothed standard deviation of UWB measurements
\(RES\) Ranging residual for a candidate position
\(h_n\) Residual weighting coefficient

For a master UAV drone located at \((x,y,z)\) and a slave UAV drone located at \((x_i,y_i,z_i)\), the true relative distance is

$$r_i=\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}.$$

In a LOS environment, the UWB measurement model can be written as

$$z_i=r_i+n_i.$$

In a NLOS environment, the signal travels along a reflected, diffracted, or scattered path that is longer than the direct path. I therefore write the measurement model as

$$z_i=r_i+n_i+e_i,$$

where \(e_i\) is the NLOS error. Because reflected paths are usually longer than the direct path, \(e_i\) is typically positive and has an absolute value much larger than \(n_i\). This is why NLOS-contaminated UWB measurements tend to shift the estimated position away from the true position. For UAV drones flying in urban canyons or near obstacles, this effect can appear suddenly and persist for several seconds.

I adopt symmetric double-sided two-way ranging for the UWB modules. The purpose is to reduce the impact of clock drift between small, low-cost oscillators on UAV drones. The two-way ranging process can be summarized by the following equations:

$$t_{\text{roundA}} = 2T_{\text{ToF}} + t_{\text{replyB}},$$

$$t_{\text{roundB}} = 2T_{\text{ToF}} + t_{\text{replyA}},$$

$$T_{\text{ToF}} =
\frac{
t_{\text{roundA}}t_{\text{roundB}} – t_{\text{replyA}}t_{\text{replyB}}
}{
t_{\text{roundA}} + t_{\text{roundB}} + t_{\text{replyA}} + t_{\text{replyB}}
}.$$

Although this reduces oscillator-induced error, a residual bias term remains. I represent the UWB output as

$$r_{\text{UWB}} = r_{\text{true}} + b r_{\text{true}} + n_{\text{UWB}} + n_{\text{NLOS}},$$

where \(b\) is a calibration coefficient related to oscillator mismatch, \(n_{\text{UWB}}\) is the observation noise, and \(n_{\text{NLOS}}\) is the NLOS-induced error. In my simulations, \(n_{\text{UWB}}\) is modeled as zero-mean Gaussian noise, while \(n_{\text{NLOS}}\) is modeled as a positive random variable with a much larger magnitude.

For the absolute navigation layer, each UAV drone runs a tightly coupled INS/GNSS filter. The state vector contains attitude errors, velocity errors, position errors, gyroscope errors, and accelerometer errors. I write the state as

$$X_c=
\begin{bmatrix}
\phi_E & \phi_N & \phi_U &
\delta v_E & \delta v_N & \delta v_U &
\delta L & \delta \lambda & \delta h &
\epsilon_{bx} & \epsilon_{by} & \epsilon_{bz} &
\epsilon_{rx} & \epsilon_{ry} & \epsilon_{rz} &
\nabla_x & \nabla_y & \nabla_z
\end{bmatrix}^{T}.$$

The continuous-time system equation is

$$\dot{X}_c = F_c X_c + G W,$$

where \(F_c\) is the system matrix, \(G\) is the noise coefficient matrix, and \(W\) is the process noise vector. The process noise includes white noise terms for gyroscopes, colored noise terms for gyroscopes, and white noise terms for accelerometers. I use the standard tightly coupled INS/GNSS equations and apply an EKF for discrete estimation. The prediction and update steps are

$$X_{k+1|k}=f(X_{k|k}),$$

$$P_{k+1|k}=F_kP_{k|k}F_k^T+Q_k,$$

$$K_{k+1}=P_{k+1|k}H_{k+1}^T
\left(H_{k+1}P_{k+1|k}H_{k+1}^T+R_{k+1}\right)^{-1},$$

$$X_{k+1|k+1}=X_{k+1|k}+K_{k+1}
\left(Y_{k+1}-h(X_{k+1|k})\right),$$

$$P_{k+1|k+1}=\left(I-K_{k+1}H_{k+1}\right)P_{k+1|k}.$$

These equations are the foundation of the absolute positioning of each UAV drone. However, absolute positioning alone cannot eliminate the impact of NLOS on inter-UAV ranging. Cooperative navigation is therefore needed to exploit the geometric relationships among UAV drones.

I now describe my cooperative navigation algorithm based on relative distance differences. Let the master UAV drone position be

$$X=[x,y,z]^T,$$

and let the \(i\)-th slave UAV drone position be

$$X_i=[x_i,y_i,z_i]^T.$$

The distance computed from the tightly coupled outputs is

$$\rho_{li}=\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}.$$

Because \(\rho_{li}\) is nonlinear, I linearize it around the current estimate. Let

$$r_i=\sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2}.$$

Then the first-order expansion is

$$\rho_{li}
\approx
r_i+
\frac{\partial \rho_{li}}{\partial x}\delta x+
\frac{\partial \rho_{li}}{\partial y}\delta y+
\frac{\partial \rho_{li}}{\partial z}\delta z.$$

I define the direction coefficients

$$e_{i1}=\frac{x-x_i}{r_i}, \qquad
e_{i2}=\frac{y-y_i}{r_i}, \qquad
e_{i3}=\frac{z-z_i}{r_i}.$$

Thus,

$$\rho_{li}=r_i+e_{i1}\delta x+e_{i2}\delta y+e_{i3}\delta z.$$

The UWB range is

$$\rho_{\text{UWB},i}=r_i+n_{\text{UWB}}+n_{\text{NLOS}}+b r_i.$$

I form the difference

$$\delta \rho_i=\rho_{li}-\rho_{\text{UWB},i}.$$

Substituting the expressions gives

$$\delta \rho_i
=
e_{i1}\delta x+e_{i2}\delta y+e_{i3}\delta z
-v_i,$$

where

$$v_i=n_{\text{UWB}}+n_{\text{NLOS}}+b r_i.$$

When there are \(n\) slave UAV drones, the observation vector can be written as

$$Z=
\begin{bmatrix}
\delta \rho_1 & \delta \rho_2 & \cdots & \delta \rho_n
\end{bmatrix}^{T}.$$

The observation equation is

$$Z=H(t)X(t)+V(t).$$

For nine slave UAV drones, the observation matrix has the form

$$H=
\begin{bmatrix}
e_{11} & e_{12} & e_{13} & 0 & 0 & 0 & 0 & 0 & 0 \\
e_{21} & e_{22} & e_{23} & 0 & 0 & 0 & 0 & 0 & 0 \\
e_{31} & e_{32} & e_{33} & 0 & 0 & 0 & 0 & 0 & 0 \\
e_{41} & e_{42} & e_{43} & 0 & 0 & 0 & 0 & 0 & 0 \\
e_{51} & e_{52} & e_{53} & 0 & 0 & 0 & 0 & 0 & 0 \\
e_{61} & e_{62} & e_{63} & 0 & 0 & 0 & 0 & 0 & 0 \\
e_{71} & e_{72} & e_{73} & 0 & 0 & 0 & 0 & 0 & 0 \\
e_{81} & e_{82} & e_{83} & 0 & 0 & 0 & 0 & 0 & 0 \\
e_{91} & e_{92} & e_{93} & 0 & 0 & 0 & 0 & 0 & 0
\end{bmatrix}.$$

Because the slave UAV drones are also moving and their positions are estimated rather than perfectly known, I model their uncertainty. If the UWB range is a function of the slave position,

$$\rho_{\text{UWB},i}=f(X_i),$$

then a first-order expansion around the estimated slave position \(\hat{X}_i\) gives

$$\rho_{\text{UWB},i}-f(\hat{X}_i)
\approx H_{a \rightarrow b}(X_i-\hat{X}_i).$$

The covariance contribution from the slave position uncertainty is

$$R_{a \rightarrow b}=H_{a \rightarrow b}P_bH_{a \rightarrow b}^{T},$$

where \(P_b\) is the posterior covariance block of the slave UAV drone. I add this term to the measurement covariance. This is important because, without it, the cooperative filter would overtrust UWB ranges from slave UAV drones whose own absolute positions are not perfectly known. In my design, the master UAV drone fuses the UWB ranges and the tightly coupled outputs while accounting for both measurement noise and slave position uncertainty.

For the NLOS identification algorithm, I use two decisions. The first decision examines the change in relative distance over a short interval. Suppose the UWB module performs \(M\) measurements in a time interval \(\Delta t\). I compute the median difference between the current interval and the previous interval:

$$\Delta D=\operatorname{median}\left(\rho_{\text{UWB},k}-\rho_{\text{UWB},k-1}\right).$$

Because the physical speed of UAV drones is bounded, the maximum possible change in relative distance over \(\Delta t\) is approximately \(2v_{\max}\Delta t\). I add margins for UWB noise and inertial error and define the threshold as

$$\text{Threshold}=2v_{\max}\Delta t+n_{\text{UWB}}+n_{\text{IMU}}.$$

The first decision rule is

$$\Delta D>\text{Threshold} \quad \Rightarrow \quad \text{NLOS}.$$

If the first rule does not indicate NLOS, I perform a second decision using the standard deviation. I smooth the \(M\) UWB measurements with a polynomial or Savitzky-Golay filter:

$$u(x)=\sum_{a=0}^{N-1} f_a x^a,$$

$$\hat{v}(x)=\sum_{a=0}^{N-1} \hat{f}_a x^a.$$

The smoothed standard deviation is

$$\sigma=
\sqrt{
\frac{1}{M}
\sum_{m=1}^{M}
\left(v(x_m)-u(x_m)\right)^2
}.$$

I compare this with the LOS standard deviation \(\sigma_{\text{LOS}}\):

$$\sigma \leq \sigma_{\text{LOS}} \quad \Rightarrow \quad \text{LOS},$$

$$\sigma > \sigma_{\text{LOS}} \quad \Rightarrow \quad \text{NLOS}.$$

This two-stage procedure is attractive for UAV drones because it requires no external channel model and no heavy computation. It uses only the measured ranges and simple statistics. Table 2 summarizes the logic.

Stage Statistic Condition Decision
First Median change \(\Delta D\) \(\Delta D > 2v_{\max}\Delta t+n_{\text{UWB}}+n_{\text{IMU}}\) NLOS
First Median change \(\Delta D\) Otherwise Proceed to second stage
Second Smoothed standard deviation \(\sigma\) \(\sigma > \sigma_{\text{LOS}}\) NLOS
Second Smoothed standard deviation \(\sigma\) \(\sigma \leq \sigma_{\text{LOS}}\) LOS

After identifying NLOS, I reconstruct the contaminated range rather than discarding it. Let \(D_{\text{UWB},k}\) be the vector of UWB ranges at time \(k\). Let \(H_{\text{UWB},k}\) be a diagonal selection matrix whose diagonal entries are one for LOS links and zero for NLOS links. The LOS ranges are retained, while the NLOS ranges are replaced by reconstructed values. I compute two reconstructions.

The first reconstruction uses the inertial navigation output. If \(D_{\text{rel},k}\) is the vector of relative distances computed from the inertial navigation positions, then

$$D_{\text{INS},k}
=
H_{\text{UWB},k}D_{\text{UWB},k}
+
\left(I-H_{\text{UWB},k}\right)D_{\text{rel},k}.$$

The second reconstruction uses the previous posterior estimate and the one-step prediction of the cooperative filter:

$$D_{\text{simu},k}
=
H_{\text{UWB},k}D_{\text{UWB},k}
+
\left(I-H_{\text{UWB},k}\right)
\left(
D_{k-1}+X_k^{\wedge}-X_{k-1}
\right).$$

I then fuse the two reconstructions:

$$D_{\text{real},k}
=
\alpha D_{\text{INS},k}
+
(1-\alpha)D_{\text{simu},k}.$$

The coefficient \(\alpha\) controls the balance between inertial reconstruction and filter-based reconstruction. When many satellites are visible, the tightly coupled absolute positions are more accurate, so I give more weight to the filter-based reconstruction. When few satellites are visible, the inertial navigation output is more reliable over short intervals, so I increase \(\alpha\). Table 3 shows the values I use in my simulations.

Visible satellites \(\alpha\) Interpretation
8 0.15 Trust the cooperative filter posterior more
6 0.23 Slightly increase inertial contribution
3 0.47 Balance inertial and filter reconstruction
1 0.91 Rely mainly on short-term inertial output

The reconstructed ranges are then used in the cooperative EKF. This means that NLOS-contaminated data are not simply deleted. Instead, I replace them with estimates that are consistent with the motion model and the previous posterior state. For UAV drones, this is important because losing several inter-UAV links can make the cooperative geometry weak.

I now turn to the improved residual weighting algorithm. The motivation is that in some environments, NLOS identification may be unreliable, or the prior distribution of the NLOS error may be unknown. In such cases, I prefer a direct method that reduces the influence of large-residual links. Classical residual weighting divides the anchors into subsets, solves a position for each subset, and weights each candidate position by the inverse of its residual. However, when NLOS links dominate, the inverse residual may not suppress them strongly enough. I therefore use a high-order residual weighting function and a minimum-residual search across subset sizes.

For three slave UAV drones and one master UAV drone, I use three-dimensional trilateration. Let the slave positions be

$$(x_i,y_i,z_i), \quad i=1,2,3.$$

The measured distances from the master UAV drone are \(d_1,d_2,d_3\). The ideal equations are

$$d_1^2=(x-x_1)^2+(y-y_1)^2+(z-z_1)^2,$$

$$d_2^2=(x-x_2)^2+(y-y_2)^2+(z-z_2)^2,$$

$$d_3^2=(x-x_3)^2+(y-y_3)^2+(z-z_3)^2.$$

Subtracting the first equation from the second and third equations yields a linear system:

$$A
\begin{bmatrix}
x \\ y \\ z
\end{bmatrix}
=b.$$

The least-squares estimate is

$$\hat{X}=
\left(A^TA\right)^{-1}A^Tb.$$

Because the measurements may be inconsistent due to noise or NLOS, the three spheres may not intersect at a single point. The residual measures this inconsistency. For a subset \(S_k\), I define

$$RES(X,S_k)=
\sum_{i \in S_k}
\left(
r_i-\|X-X_i\|
\right)^2,$$

where \(r_i\) is the measured range and \(\|X-X_i\|\) is the predicted range from the candidate position \(X\). I also define a normalized residual:

$$R(X,S_k)=
\frac{RES(X,S_k)}{\operatorname{Nums}(S_k)}.$$

In the classical residual weighting algorithm, the final position is

$$X=
\frac{
\sum_{k=1}^{S} R(X_k,S_k)^{-1}X_k
}{
\sum_{k=1}^{S} R(X_k,S_k)^{-1}
}.$$

In my improved algorithm, I first choose all combinations of three slave UAV drones. For each combination, I compute the trilateration position and its residual. I select the combination with the smallest residual and record it as the minimum-residual group. Let its estimated position be \(X_3\) and its residual be \(RES_3\). I then add one remaining slave UAV drone at a time. For each possible addition, I compute a new trilateration or least-squares position and residual. I keep the addition that produces the smallest residual. I continue until all slave UAV drones are included. As a result, I obtain a sequence of candidate positions and minimum residuals:

$$(X_3,RES_3), (X_4,RES_4), \ldots, (X_n,RES_n).$$

For each cardinality \(m\), the recorded residual is

$$RES_m=
\min_{S:|S|=m} RES(X,S).$$

I then compute weights using a high-order residual function:

$$h_m=
\frac{1}{RES_m^{p}}, \quad p=10.$$

The final estimate is

$$\hat{X}=
\frac{
\sum_{m=3}^{n} h_m X_m
}{
\sum_{m=3}^{n} h_m
}.$$

I choose \(p=10\) because my experiments show that increasing the exponent beyond 10 yields only marginal improvement while increasing numerical sensitivity. The high-order weight strongly suppresses candidates with large residuals, which are likely to include NLOS-corrupted links. At the same time, keeping candidates from several cardinalities preserves useful geometric information from LOS links. Table 4 summarizes the improved residual weighting procedure.

Step Operation Output
1 Enumerate all three-slave combinations Set of candidate positions and residuals
2 Select the minimum-residual three-slave combination \(X_3,RES_3\)
3 Add one remaining slave UAV drone at a time New candidate positions and residuals
4 Keep the minimum residual for each cardinality \(X_m,RES_m\) for \(m=3,\ldots,n\)
5 Compute high-order weights \(h_m=1/RES_m^{10}\) Weight vector
6 Weighted sum of candidate positions Final master position

The overall workflow I use is as follows. Each UAV drone performs tightly coupled INS/GNSS positioning. The master UAV drone collects UWB ranges from slave UAV drones. If I use the identification-and-compensation algorithm, I first determine whether each link is LOS or NLOS. LOS links keep their UWB ranges. NLOS links are replaced by the weighted reconstruction described earlier. If I use the improved residual weighting algorithm, I compute candidate positions from subsets of slave UAV drones and fuse them using high-order residual weights. In both cases, the reconstructed or weighted range information is passed to the cooperative EKF, which estimates the final master position. This modular structure allows me to compare the two NLOS mitigation strategies under the same navigation filter.

For the simulation study, I consider one master UAV drone and nine slave UAV drones. The master follows a predefined trajectory, and the slave UAV drones follow it in formation. Each UAV drone runs tightly coupled INS/GNSS positioning. The flight duration is one hour. NLOS events last between one and four seconds, which is long enough to affect several filter updates but short enough that inertial propagation remains useful. The NLOS-induced range bias is uniformly distributed between approximately 40 m and 60 m. The number of simultaneous NLOS links varies from two to seven. I evaluate scenarios with eight, six, three, and one visible satellite. Table 5 lists the main simulation parameters.

Sensor Parameter Value
Gyroscope Constant drift \(0.1^\circ/\text{h}\)
Gyroscope White noise \(0.1^\circ/\text{h}\)
Gyroscope First-order Markov noise \(0.1^\circ/\text{h}\)
Gyroscope Markov correlation time \(3600\,\text{s}\)
Accelerometer First-order Markov bias \(0.01\,g\)
Accelerometer Markov correlation time \(1800\,\text{s}\)
GNSS Pseudorange error \(3\,\text{m}\)
GNSS Pseudorange rate error \(0.03\,\text{m/s}\)
UWB Ranging noise \(0.15\,\text{m}\)
UWB Oscillator calibration coefficient \(1\times 10^{-3}\)

I evaluate the algorithms using root mean square error (RMSE) and the cumulative distribution function (CDF) of the absolute positioning error. The RMSE in three dimensions is

$$RMSE=
\sqrt{
\frac{1}{N}
\sum_{i=1}^{N}
\left[
(x_i-\hat{x}_i)^2+
(y_i-\hat{y}_i)^2+
(z_i-\hat{z}_i)^2
\right]
}.$$

For each scenario, I compare the raw cooperative navigation result with the result obtained after NLOS mitigation. I report improvements in the \(x\), \(y\), and \(z\) directions separately because NLOS and geometry errors can be anisotropic.

For the identification-and-compensation algorithm, I first examine the reconstructed range error for individual slave UAV drones. With eight visible satellites, the RMSE of the reconstructed range error is approximately \(0.54\,\text{m}\) for the first slave UAV drone and \(0.62\,\text{m}\) for the fifth slave UAV drone. These values indicate that the reconstruction is close to the true range, even though several links are simultaneously NLOS. The residual spikes occur mainly when multiple UAV drones remain in NLOS for a long time, but they are short-lived. Table 6 presents the positioning RMSE comparison for this algorithm.

Visible satellites Direction Without mitigation RMSE (m) With mitigation RMSE (m) Improvement factor
8 \(x\) 3.5452 1.7928 1.98
8 \(y\) 1.8851 0.8197 2.30
8 \(z\) 3.0395 1.6938 1.79
6 \(x\) 6.4493 2.0322 3.17
6 \(y\) 3.5047 1.0893 3.22
6 \(z\) 6.3752 1.9370 3.29
3 \(x\) 14.8751 3.7415 3.98
3 \(y\) 6.7481 1.9298 3.50
3 \(z\) 13.5110 3.1904 4.23
1 \(x\) 29.6469 6.8813 4.31
1 \(y\) 14.6995 3.1298 4.69
1 \(z\) 26.3210 6.3904 4.12

The CDF curves also show that the mitigated solution has a steeper rise near small errors. In other words, not only does the average error decrease, but the probability of a very large error also decreases. I find this especially important for UAV drones, because a single large positioning error can cause a formation conflict or a failed mission.

For the improved residual weighting algorithm, I first evaluate the reconstructed range error. With eight visible satellites, the RMSE of the reconstructed range error for the first, fifth, and ninth slave UAV drones is approximately \(0.0139\,\text{m}\), \(0.0149\,\text{m}\), and \(0.0162\,\text{m}\). These values are very small, which shows that the residual weighting method can strongly suppress NLOS-corrupted links when enough geometric diversity exists. I then use the reconstructed ranges in the cooperative EKF. Table 7 reports the positioning RMSE comparison.

Visible satellites Direction Without mitigation RMSE (m) With mitigation RMSE (m) Improvement factor
8 \(x\) 3.4987 1.6594 2.11
8 \(y\) 1.9022 0.8046 2.36
8 \(z\) 3.0457 1.5734 1.94
6 \(x\) 6.5392 1.9754 3.31
6 \(y\) 3.5512 1.0269 3.46
6 \(z\) 6.2852 1.8673 3.37
3 \(x\) 14.8469 3.5627 4.17
3 \(y\) 6.5581 1.7688 3.71
3 \(z\) 13.7463 3.1891 4.31
1 \(x\) 29.5418 6.7213 4.40
1 \(y\) 14.4716 3.0244 4.78
1 \(z\) 26.2716 5.8873 4.46

The two algorithms have complementary strengths. The identification-and-compensation method is simple and works well when NLOS events can be detected reliably. It is also computationally light, which is attractive for small UAV drones with limited onboard processing. The improved residual weighting method does not require explicit NLOS identification and can be more robust when the NLOS state changes rapidly. However, it requires more candidate solutions and therefore more computation. Table 8 summarizes the trade-offs.

Property Identification and compensation Improved residual weighting
Need for NLOS prior information Low Very low
Need for channel features No No
Computational load Low Moderate to high
Behavior when NLOS is hard to detect May degrade More robust
Behavior when many LOS links exist Excellent Excellent
Suitability for real-time UAV drones High Moderate

I also study the effect of the weighting exponent. In my improved residual weighting algorithm, I use

$$h_m=\frac{1}{RES_m^p}.$$

I tested \(p=2,4,6,8,10,12\). The positioning error decreases as \(p\) increases, but the improvement from \(p=8\) to \(p=10\) is much larger than the improvement from \(p=10\) to \(p=12\). At the same time, larger \(p\) increases numerical sensitivity because residuals can be very small for LOS-dominated subsets. I therefore choose \(p=10\) as a practical compromise. Table 9 illustrates the trend.

Weight exponent \(p\) Relative RMSE trend Numerical sensitivity
2 High Low
4 Medium-high Low
6 Medium Moderate
8 Medium-low Moderate
10 Low Moderate
12 Lowest High

From my perspective, the most important conclusion is that cooperative navigation for UAV drones must treat NLOS as a first-class problem rather than as a minor measurement outlier. In LOS conditions, tightly coupled INS/GNSS and UWB ranging already provide strong positioning. In NLOS conditions, the ranging bias is not zero-mean, so simple averaging or ordinary least squares can be biased. My algorithms address this by either reconstructing the biased ranges or by weighting candidate positions according to their residuals.

The cooperative navigation observation model based on relative distance differences has another advantage: it directly uses the difference between the range computed from the tightly coupled solution and the UWB range. This difference is sensitive to NLOS bias, but it is also naturally connected to the master position error. When the slave position uncertainty is included through the covariance term, the filter does not overtrust the UWB link. This design is especially useful for UAV drones because the slave UAV drones are not static anchors; they are moving platforms with their own navigation errors.

For NLOS identification, I deliberately avoid methods that require a large amount of labeled channel data. Small UAV drones may not have the memory, power, or computational budget to run deep neural networks for channel impulse response classification. My two-stage test uses the physical motion constraint and the statistical dispersion of UWB measurements. The first stage catches large jumps caused by sudden blockage. The second stage catches persistent bias that may not produce a large first difference. This combination is lightweight and interpretable.

For NLOS compensation, the weighted reconstruction has a clear physical meaning. The inertial reconstruction extrapolates the relative geometry from the previous state and the inertial increment. The filter-based reconstruction uses the cooperative posterior and the one-step prediction. The weight \(\alpha\) reflects how much I trust absolute GNSS/INS positioning versus cooperative prediction. When many satellites are visible, the filter-based reconstruction benefits from accurate absolute positions. When few satellites are visible, the inertial reconstruction provides short-term continuity. This adaptive behavior is one reason the method performs well across the tested scenarios.

For the improved residual weighting algorithm, the minimum-residual search is the key. Instead of averaging all possible subsets equally, I start from the best three-slave combination and grow it. This reduces the chance that a strong NLOS link contaminates every candidate. The high-order weight then makes the final fusion sharply favor low-residual candidates. The result is a position estimate that is close to the LOS-only solution when LOS links exist, while still using redundant information from all UAV drones.

I also note some limitations. If all or nearly all inter-UAV links are NLOS for a long time, any cooperative method will eventually lose observability. In such cases, the navigation solution must rely on inertial propagation, and the error will grow until GNSS or LOS links return. My methods reduce the impact of NLOS but do not eliminate the fundamental information loss. Another limitation is that the residual weighting method grows in computational cost as the number of combinations increases. Although my sequential search reduces the cost compared with exhaustive subset averaging, it still requires multiple trilateration solutions. For large swarms, a distributed or hierarchical implementation may be needed.

In future work, I would combine the cooperative navigation framework with vision-aided navigation, radar, or lidar. Different sensing modalities have different failure modes, so a multimodal UAV drone navigation system could maintain accuracy when UWB is blocked. I would also investigate learning-based NLOS detection under a constrained computational budget, but I would keep the geometric and statistical safeguards because safety-critical UAV drones need interpretable failure modes. Finally, I would test the algorithms in outdoor urban canyons, forested areas, and indoor warehouses, where NLOS is not an exception but a normal operating condition.

In summary, I have presented a cooperative navigation framework for UAV drones in complex NLOS environments. I derived a relative-distance-difference observation model for tightly coupled INS/GNSS/UWB integration and incorporated slave position uncertainty into the measurement covariance. I proposed a two-stage NLOS identification test based on range variation and standard deviation. I designed a weighted range reconstruction method that fuses inertial and filter-based estimates. I also developed an improved residual weighting algorithm based on the minimum residual criterion and high-order residual weights. The simulation results show significant RMSE reductions across eight, six, three, and one visible satellite scenarios. For UAV drones operating in NLOS-prone environments, these methods provide a practical way to improve positioning accuracy, preserve useful measurements, and maintain robustness when the communication geometry becomes unfavorable.

Scroll to Top