NLOS-Resilient Cooperative Navigation for UAV Drone Swarms

In my research, I investigate how a swarm of UAV drone platforms can maintain accurate cooperative navigation when the communication links between them are frequently blocked, reflected, or scattered by obstacles. This problem is especially difficult in complex non-line-of-sight (NLOS) environments, where ultra-wideband (UWB) ranging measurements become positively biased and global navigation satellite system (GNSS) observations may also degrade. My central goal is to design a cooperative navigation framework for UAV drone swarms that does not simply discard contaminated measurements, but instead identifies, reconstructs, and re-weights them so that the final position estimate remains robust. I combine tight GNSS/inertial integration, UWB inter-vehicle ranging, extended Kalman filtering, NLOS detection, and residual-based weighting into a unified method. The following sections describe the models, equations, algorithms, simulation settings, and performance summaries that I use to evaluate the proposed approach for each UAV drone in the swarm.

Motivation and Problem Statement

Single UAV drone navigation depends heavily on the quality of its onboard sensors. Because a UAV drone has limited payload, power, and computational resources, it often cannot carry multiple high-grade navigation sensors. A swarm of UAV drone platforms can overcome this limitation by sharing information. Cooperative navigation allows each UAV drone to improve its own state estimate using relative measurements to other UAV drone nodes. However, in urban canyons, forests, indoor spaces, or mountainous terrain, the direct path between two UAV drone nodes may be obstructed. The resulting NLOS propagation increases the measured distance, so the UWB range is larger than the true relative distance. If this biased range is used directly in a Kalman filter, the position error of the UAV drone grows, and because the filter is recursive, the error propagates into future estimates.

I therefore divide the problem into three parts. First, I need a cooperative navigation algorithm that uses inter-UAV drone relative distance differences as the observation vector while accounting for the imperfect prior accuracy of neighboring UAV drone nodes. Second, I need an NLOS identification and compensation algorithm that can work without detailed channel priors and can reconstruct a better range value when a link is classified as NLOS. Third, I need a direct error-suppression algorithm based on the minimum residual principle, so that even when NLOS detection is ambiguous, the final position estimate of the UAV drone can still be improved by weighted combinations of candidate positions.

Notation and System Model

I consider a leader-follower swarm consisting of one leader UAV drone and \(n\) follower UAV drone nodes. Each UAV drone is equipped with an inertial measurement unit (IMU), a GNSS receiver, and a UWB ranging module. The leader UAV drone additionally carries a processing unit that collects data from the follower UAV drone nodes through a data link. The position of the leader UAV drone is denoted by \(\mathbf{p} = [x,y,z]^T\), and its velocity is denoted by \(\mathbf{v} = [v_x,v_y,v_z]^T\). The position of the \(i\)-th follower UAV drone is denoted by \(\mathbf{p}_i = [x_i,y_i,z_i]^T\).

The true relative distance between the leader UAV drone and the \(i\)-th follower UAV drone is

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

The LOS and NLOS measurement models for UWB ranging can be written as

$$ z_i = \begin{cases} r_i + n_i, & \text{LOS},\\ r_i + n_i + e_i, & \text{NLOS}, \end{cases} $$

where \(n_i\) is zero-mean measurement noise and \(e_i\) is the NLOS positive bias caused by reflection, diffraction, or scattering. In general, \(|e_i| \gg |n_i|\), so even a small number of NLOS links can seriously degrade the cooperative estimate of the leader UAV drone.

Symbol Meaning
\(\mathbf{X}_c\) 18-dimensional tight integration state vector of a UAV drone
\(\boldsymbol{\phi}\) Platform misalignment angles in east, north, and up directions
\(\delta \mathbf{v}\) Velocity errors of the UAV drone
\(\delta \mathbf{r}\) Position errors in longitude, latitude, and height
\(\boldsymbol{\varepsilon}_b\) Gyroscope white noise
\(\boldsymbol{\varepsilon}_r\) Gyroscope colored noise
\(\nabla\) Accelerometer white noise
\(\rho_{li}\) Relative distance computed from tight integration output
\(\rho_{UWB,i}\) Relative distance measured by UWB
\(H\) Observation matrix for cooperative navigation
\(R_{a\rightarrow b}\) Covariance contribution from the prior uncertainty of a neighbor UAV drone

Tight GNSS/INS Integration for Each UAV Drone

Each UAV drone in my framework uses a tight GNSS/INS integration. I choose a tight combination because it can still use pseudorange and pseudorange-rate observations when the number of visible satellites is low. The 18-dimensional state vector of the UAV drone is

$$ \mathbf{X}_c = [\boldsymbol{\phi}, \delta \mathbf{v}, \delta \mathbf{r}, \boldsymbol{\varepsilon}_b, \boldsymbol{\varepsilon}_r, \nabla]^T. $$

The continuous-time system equation is

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

where \(W\) is the process noise vector and \(G\) is the noise coefficient matrix. The process noise vector can be partitioned as

$$ W = [w_g, w_r, w_a]^T, $$

where \(w_g\) is gyroscope white noise, \(w_r\) is gyroscope colored noise, and \(w_a\) is accelerometer white noise. The coefficient matrix is

$$ G = \begin{bmatrix} C_n^b & 0_{3\times 3} & 0_{3\times 3}\\ 0_{9\times 3} & 0_{9\times 3} & 0_{9\times 3}\\ 0_{3\times 3} & I_{3\times 3} & 0_{3\times 3}\\ 0_{3\times 3} & 0_{3\times 3} & I_{3\times 3} \end{bmatrix}, $$

where \(C_n^b\) is the coordinate transformation matrix from the navigation frame to the body frame. The system matrix is

$$ F_c = \begin{bmatrix} F_N & F_S\\ 0 & F_M \end{bmatrix}, $$

with

$$ F_S = \begin{bmatrix} 0_{3\times 3} & 0_{3\times 3} & 0_{3\times 3}\\ C_n^b & 0_{3\times 3} & 0_{3\times 3}\\ 0_{3\times 3} & C_n^b & 0_{3\times 3} \end{bmatrix}, $$

and

$$ F_M = \operatorname{diag}\left(-\frac{1}{T_{gx}},-\frac{1}{T_{gy}},-\frac{1}{T_{gz}},-\frac{1}{T_{ax}},-\frac{1}{T_{ay}},-\frac{1}{T_{az}}\right). $$

This model gives each UAV drone an absolute position estimate. However, because NLOS affects both GNSS and UWB, the absolute estimate alone is not sufficient. I therefore use the absolute estimates as inputs to a cooperative navigation layer.

UWB Ranging with Symmetric Double-Sided Two-Way Ranging

To reduce clock drift between UWB modules, I adopt symmetric double-sided two-way ranging (SDS-TWR). The time-of-flight estimate is

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

If the clock errors of the two UAV drone nodes are \(e_A\) and \(e_B\), the SDS-TWR time-of-flight error is

$$ \Delta T_{SDS-TWR} = \frac{1}{2}(T_{ToF})(e_A+e_B) + \frac{1}{4}(t_{replyB}-t_{replyA})(e_A-e_B). $$

Since the reply time is much larger than the time of flight in most indoor and short-range outdoor links, the SDS-TWR method suppresses the influence of clock drift. The UWB measurement model that I use is

$$ \rho_{UWB,i} = (1+bias)r_i + n_{UWB,i} + n_{NLOS,i}, $$

where \(bias\) is the crystal-induced proportional error, \(n_{UWB,i}\) is zero-mean UWB observation noise, and \(n_{NLOS,i}\) is the positive NLOS error. In my implementation, the bias coefficient is calibrated before flight.

Parameter Typical Value Role in the UAV drone swarm
UWB bandwidth \(>500\) MHz High time resolution for ranging
Ranging noise \(n_{UWB}\) 0.15 m LOS measurement uncertainty
Crystal bias coefficient \(1\times 10^{-3}\) Proportional UWB scale error
NLOS bias range 40 m to 60 m Simulated positive range error
NLOS duration 1 s to 4 s Short blockage interval

Cooperative Navigation Using Relative Distance Difference

After each UAV drone obtains its tight integration position, I compute the relative distance between the leader UAV drone and the \(i\)-th follower UAV drone as

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

Because this expression is nonlinear, I linearize it around the true leader position. Let

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

Then the linearized relative distance becomes

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

where

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

I form the observation vector as the difference between the relative distance computed from the tight integration output and the UWB measured range:

$$ \delta \rho_i = \rho_{li} – \rho_{UWB,i} = e_{i1}\delta x + e_{i2}\delta y + e_{i3}\delta z – v_i, $$

where

$$ v_i = r_i \cdot bias + n_{UWB,i} + n_{NLOS,i}. $$

For \(n\) follower UAV drone nodes, the stacked observation equation is

$$ \delta \boldsymbol{\rho} = H \mathbf{X}_c + V. $$

The observation matrix has the form

$$ H = [H_{9\times 6}, H_{9\times 3}, 0_{9\times 9}], $$

where the nonzero block maps longitude, latitude, and height errors into local Cartesian errors. The advantage of this formulation is that it uses the difference between two relative ranges rather than the absolute GNSS pseudorange alone. It therefore exploits the redundancy of the UAV drone swarm while still being suitable for an extended Kalman filter.

One important issue is that the neighboring follower UAV drone does not have perfect prior position accuracy. I model this uncertainty by linearizing the UWB range with respect to the neighbor position. Let \(\mathbf{x}_b\) be the neighbor position and \(\hat{\mathbf{x}}_b\) its estimate. Then

$$ \rho_{UWB,i} \approx f(\hat{\mathbf{x}}_b) + H_{a\rightarrow b}(\mathbf{x}_b-\hat{\mathbf{x}}_b). $$

The covariance contribution from the neighbor UAV drone is

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

where \(P_b\) is the posterior covariance block of the neighbor UAV drone obtained from its own tight integration filter. This term is added to the measurement noise covariance. In this way, the cooperative filter does not over-trust a neighbor UAV drone whose own position is uncertain.

Step Operation Purpose
1 Run tight GNSS/INS for every UAV drone Obtain absolute position and covariance
2 Measure UWB range between leader and follower UAV drone Obtain relative distance
3 Compute relative distance from tight output Form a redundant observation
4 Subtract UWB range from calculated range Construct distance-difference observation
5 Add neighbor covariance term Account for imperfect prior of follower UAV drone
6 Apply extended Kalman filter Estimate leader UAV drone state

NLOS Identification Based on Relative Distance Change and Standard Deviation

In my first NLOS mitigation method, I follow the idea of identifying first and then processing. I do not require channel impulse response data, because a small UAV drone may not carry the hardware needed to extract rich channel features. Instead, I use two simple statistical tests on the UWB range sequence between the leader UAV drone and each follower UAV drone.

Suppose that within a short time interval \(\Delta t\), the UWB module performs \(M\) ranging measurements. I compute the difference between the current range and the previous range, and I take the median of these differences as \(\Delta D\). Because the maximum relative speed of two UAV drone nodes is bounded by \(v_{\max}\), the maximum possible change in relative distance within \(\Delta t\) is approximately \(2 v_{\max}\Delta t\). I add the UWB noise level \(n_{UWB}\) and the inertial propagation uncertainty \(n_{IMU}\) to form the threshold:

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

The first decision rule is

$$ |\Delta D| > Thresold \Rightarrow \text{NLOS}. $$

If the first test does not declare NLOS, I perform a second test based on the standard deviation. I fit a polynomial to the \(M\) range samples and use Savitzky-Golay smoothing to obtain a smoothed sequence. The residual standard deviation is

$$ \sigma = \sqrt{\frac{1}{M}\sum_{k=1}^{M}(v(x_k)-u(x_k))^2}. $$

Since NLOS errors are positive and often fluctuate more than LOS errors, the standard deviation in an NLOS link is usually larger. The second decision rule is

$$ \begin{cases} \sigma \leq \sigma_{LOS}, & \text{LOS},\\ \sigma > \sigma_{LOS}, & \text{NLOS}. \end{cases} $$

Here \(\sigma_{LOS}\) is measured in advance during LOS tests. The two-stage logic is simple, requires no prior NLOS distribution, and is easy to implement on a UAV drone processor.

Test Statistic Threshold Decision
First test Median range change \(\Delta D\) \(2v_{\max}\Delta t+n_{UWB}+n_{IMU}\) If exceeded, declare NLOS
Second test Smoothed standard deviation \(\sigma\) \(\sigma_{LOS}\) If exceeded, declare NLOS

NLOS Compensation by Weighted Reconstruction

Once an NLOS link is identified, I do not simply discard it. Dropping the link may reduce the number of usable relative measurements, and in a sparse swarm this can cause severe accuracy loss. Instead, I reconstruct a better range value. For the \(i\)-th follower UAV drone, the UWB range vector at time \(k\) is denoted by \(D_{UWB,k}\). I form a diagonal mask matrix \(H_k\) whose diagonal entries are \(1\) for LOS links and \(0\) for NLOS links. The masked range vector is

$$ D_k = H_k D_{UWB,k}. $$

For links that remain in LOS, I keep the UWB range. For links classified as NLOS, I reconstruct the range using two sources. The first source is the relative distance computed from the inertial navigation output:

$$ D_{INS} = H_k D_{UWB,k} + (I-H_k)D_{rel}. $$

The second source is based on the posterior estimate from the previous cooperative filter step and the one-step prediction:

$$ D_{simu} = H_k D_{UWB,k} + (I-H_k)\left(D_{k-1} + \|\hat{\mathbf{X}}_k – \hat{\mathbf{X}}_{k-1}\|\right). $$

I then combine the two reconstructed values:

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

The coefficient \(\alpha\) depends on the number of visible satellites. When many satellites are visible, the filter posterior is more reliable, so \(D_{simu}\) receives a larger weight. When few satellites are visible, the short-term inertial solution is more reliable, so \(D_{INS}\) receives a larger weight. This adaptive weighting is one of the key reasons the method remains robust in complex NLOS environments.

Visible Satellites Weight \(\alpha\) for \(D_{INS}\) Weight \(1-\alpha\) for \(D_{simu}\) Interpretation
8 0.09 0.91 Filter posterior is strong
6 0.23 0.77 Balanced but still filter-dominant
3 0.47 0.53 INS and filter are comparable
1 0.91 0.09 INS short-term propagation dominates

Improved Residual Weighting Based on the Minimum Residual Criterion

My second NLOS mitigation method is designed for cases where prior information about NLOS errors is difficult to obtain. Instead of identifying NLOS links first, I directly process the noise through a residual-based weighting scheme. The classical residual weighting algorithm groups anchors and assigns weights according to residual values. However, the classical method can be inefficient and may not fully use all available UAV drone nodes. I therefore propose an improved residual weighting algorithm based on the minimum residual criterion.

I start with trilateration. In a 3D UAV drone swarm, three follower UAV drone nodes and the leader UAV drone form a trilateration problem. If the three follower positions are \(\mathbf{p}_1,\mathbf{p}_2,\mathbf{p}_3\) and the measured distances from the leader UAV drone are \(d_1,d_2,d_3\), then 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. $$

By subtracting the first equation from the others, I obtain a linear system

$$ A\mathbf{p} = b, $$

and the least-squares estimate is

$$ \hat{\mathbf{p}} = (A^T A)^{-1} A^T b. $$

For any subset \(S_k\) of follower UAV drone nodes, I define the residual as

$$ RES(\hat{\mathbf{X}},S_k) = \sum_{i\in S_k}\left|\rho_i – \|\hat{\mathbf{X}}-\mathbf{p}_i\|\right|. $$

The normalized residual is

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

My improved algorithm proceeds as follows. First, I form all subsets of three follower UAV drone nodes. For each subset, I compute a trilateration estimate and its residual. I select the subset with the smallest residual and call it the minimum residual group. I record the estimate and the residual. Second, I add one remaining follower UAV drone to this group and compute the residual for each possible addition. I again keep the group with the smallest residual. I repeat this process until the group size reaches \(n\). As a result, I obtain one minimum-residual estimate for each group size from 3 to \(n\).

Stage Group Size Search Operation Recorded Result
1 3 All \(\binom{n}{3}\) combinations Minimum residual estimate for size 3
2 4 Add one remaining UAV drone to the current best group Minimum residual estimate for size 4
3 5 Add one remaining UAV drone again Minimum residual estimate for size 5
… … … …
\(n-2\) \(n\) Add the final remaining UAV drone Minimum residual estimate for size \(n\)

After all minimum-residual estimates are obtained, I assign a weight to each estimate. The classical RWGH method often uses the inverse of the residual. However, in severe NLOS conditions, a simple inverse may still give too much influence to a biased estimate. I use a higher-order inverse power:

$$ h_k = \frac{1}{RES_k^{10}}, \quad k=3,\dots,n. $$

The final estimate of the leader UAV drone is

$$ \hat{\mathbf{X}} = \frac{\sum_{k=3}^{n} h_k \hat{\mathbf{X}}_k}{\sum_{k=3}^{n} h_k}. $$

This weighting function strongly suppresses estimates with large residuals. At the same time, the incremental minimum-residual search reduces the combinatorial burden compared with evaluating every possible subset of every size. The method is therefore suitable for a UAV drone swarm with limited onboard computation.

Overall Algorithm Flow

In my integrated framework, every UAV drone first runs tight GNSS/INS integration. The leader UAV drone collects the UWB ranges and neighbor state estimates. If the NLOS identification method is used, each link is classified by the two-stage test, and NLOS ranges are reconstructed by the weighted compensation rule. If the improved residual weighting method is used, candidate positions are generated by trilateration over minimum-residual subsets, and the final leader position is obtained by weighted fusion. The improved relative distances are then fed into the cooperative extended Kalman filter that uses distance differences as observations. This flow combines absolute navigation, relative navigation, NLOS detection, and robust weighting in a single UAV drone swarm navigation architecture.

Simulation Setup

I simulate one leader UAV drone and nine follower UAV drone nodes. The leader flies along a prescribed trajectory, while the followers maintain formation around it. Each UAV drone uses tight GNSS/INS integration and UWB ranging. The flight duration is one hour. The simulation parameters are listed below.

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

I simulate NLOS intervals with random durations between 1 s and 4 s. The positive NLOS range error is randomly chosen between 40 m and 60 m. To test robustness, I vary the number of visible satellites from 8 down to 1. I also vary the number of follower UAV drone nodes that are simultaneously in NLOS from 2 to 7. This creates a range of conditions from mild NLOS to extremely severe NLOS for the UAV drone swarm.

Performance of the NLOS Identification and Compensation Method

I first evaluate the method that identifies NLOS links using relative distance change and standard deviation, then reconstructs the contaminated ranges. The reconstructed range is compared with the true relative distance for selected follower UAV drone nodes. The root mean square error (RMSE) of the reconstructed range is small in the 8-satellite case, but larger spikes occur when many UAV drone nodes are simultaneously in NLOS for a long time. Even in those intervals, the reconstructed range is much closer to the truth than the raw NLOS range.

The cooperative navigation result is evaluated in terms of the RMSE of the leader UAV drone position in the Earth-centered Earth-fixed \(x\), \(y\), and \(z\) directions. The improvement is summarized below.

Visible Satellites Direction RMSE Without Processing (m) RMSE With Processing (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 cumulative distribution function (CDF) of the absolute positioning error also becomes steeper after processing. This indicates that not only does the average error decrease, but the probability of large errors also decreases. The method is therefore effective in improving the reliability of each UAV drone position estimate.

Performance of the Improved Residual Weighting Method

I then evaluate the improved residual weighting method based on the minimum residual criterion. The reconstructed range error is very small in the 8-satellite case. For three selected follower UAV drone nodes, the RMSE values of the reconstructed range are 0.0139 m, 0.0149 m, and 0.0162 m. These values show that the residual-based fusion can recover relative distances with high accuracy even when multiple UAV drone nodes are simultaneously affected by NLOS.

The cooperative navigation performance is again evaluated in the \(x\), \(y\), and \(z\) directions. The RMSE improvements are summarized below.

Visible Satellites Direction RMSE Without Processing (m) RMSE With Processing (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 CDF curves become steeper after the improved residual weighting. This confirms that the method not only lowers the mean error but also reduces the tail risk. For a UAV drone swarm, reducing large position outliers is critical, because a single poorly localized UAV drone can corrupt cooperative estimates for other UAV drone nodes.

Comparison of the Two NLOS Mitigation Strategies

Both methods improve the navigation accuracy of the UAV drone swarm, but they have different strengths. The identification-and-compensation method is simple and computationally efficient. It works well when NLOS intervals are short and when the number of visible satellites is not extremely low. The improved residual weighting method is more robust when NLOS is persistent, because it does not rely on a binary NLOS decision. Instead, it evaluates candidate positions according to residuals and assigns weights continuously.

Criterion NLOS Identification and Compensation Improved Residual Weighting
Prior channel information Not required Not required
Detection logic Two-stage statistical test Minimum residual search
Computation cost Low Moderate
Performance in mild NLOS Strong Strong
Performance in severe NLOS Moderate to strong Very strong
Main advantage Simple and fast reconstruction Robust weighted fusion
Main limitation Depends on detection accuracy More candidate estimates

Error Sources and Evaluation Metrics

I classify positioning error sources for a UAV drone into two groups. The first group includes measurement noise from hardware, clock synchronization error, antenna delay, and quantization. This group is often modeled as zero-mean Gaussian noise and has limited influence on average accuracy. The second group includes signal propagation effects such as reflection, diffraction, scattering, and blockage. In an NLOS environment, the propagation path is longer than the direct path, so the range error is positive. This positive bias is the main reason why traditional cooperative navigation methods degrade in complex environments.

I use two main metrics to evaluate the UAV drone swarm navigation performance. The first is RMSE:

$$ 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]}. $$

The second is the CDF of the positioning error:

$$ CDF(\epsilon) = P(\|\hat{\mathbf{p}}-\mathbf{p}\| \leq \epsilon). $$

A smaller RMSE indicates better average accuracy. A steeper CDF indicates a lower probability of large errors. In my simulations, both metrics improve after NLOS mitigation, which confirms the practical value of the proposed methods for UAV drone swarm navigation.

Discussion

My results show that NLOS is not a single problem that can be solved by one universal trick. Instead, it requires a layered strategy. Tight GNSS/INS integration provides a stable absolute baseline for each UAV drone. UWB ranging provides high-resolution relative information between UAV drone nodes. Extended Kalman filtering fuses these two sources and uses distance differences to reduce bias. NLOS identification and compensation prevents contaminated UWB ranges from entering the filter directly. Minimum-residual weighting provides a second defense when NLOS detection is uncertain. Together, these layers allow the UAV drone swarm to maintain accuracy even when the communication environment is complex.

Another important observation is that the weight coefficient \(\alpha\) should not be fixed. When many satellites are visible, the GNSS/INS filter posterior is reliable. When only one satellite is visible, the short-term inertial solution is more reliable. This adaptive behavior is essential for a UAV drone that must operate across different environments during a single mission. A fixed weighting scheme may work in one scenario but fail in another. My approach adjusts the balance according to the available satellite count and the NLOS detection result.

The improved residual weighting method also has a practical advantage: it does not require knowledge of the NLOS distribution. In real missions, the NLOS error distribution changes with buildings, terrain, vegetation, and the relative geometry of the UAV drone swarm. A method that requires an accurate prior model may be fragile. By using residuals to rank candidate positions, my method adapts to the actual measurements. The higher-order inverse weighting function strongly penalizes large residuals, which reduces the influence of NLOS-contaminated subsets.

Limitations and Future Work

The proposed methods still have limitations. If GPS and many UWB links are simultaneously blocked for a long time, the remaining information may be insufficient. In such cases, the UAV drone swarm must rely mainly on inertial propagation, and error will grow. Future work can integrate visual navigation, lidar, or terrain-aided navigation to provide additional constraints. Machine learning could also be used to learn NLOS patterns from raw UWB signals, but this would require careful validation and sufficient onboard computation.

Another direction is multi-modal navigation. A UAV drone could combine inertial navigation, GNSS, UWB, vision, and barometric altitude in one estimator. The challenge is to manage asynchronous measurements and different noise characteristics. I believe that a hierarchical architecture, in which absolute navigation, relative navigation, and robust weighting are separated but coordinated, is a promising way to handle this complexity. For a UAV drone swarm, scalability is also important. As the number of UAV drone nodes increases, the number of possible subsets grows quickly. The incremental minimum-residual search reduces this burden, but further pruning and distributed computation could make the method even more efficient.

Conclusion

In my work, I study cooperative navigation for UAV drone swarms in complex NLOS environments. I propose a cooperative navigation algorithm that uses inter-UAV drone relative distance differences as observations and compensates for the imperfect prior accuracy of neighboring UAV drone nodes. I also propose an NLOS identification and compensation method based on relative distance change and standard deviation. The method reconstructs contaminated ranges using a weighted combination of inertial output and previous filter estimates. In addition, I propose an improved residual weighting algorithm based on the minimum residual criterion. The algorithm searches for minimum-residual subsets from size 3 to size \(n\), then fuses the candidate positions with a high-order inverse residual weight. Simulation results show that both methods reduce the RMSE of the leader UAV drone position in the \(x\), \(y\), and \(z\) directions. The improvement is especially large when the number of visible satellites is low and when many UAV drone nodes are simultaneously affected by NLOS. The methods do not require detailed channel priors, and they are suitable for practical UAV drone swarm navigation. My overall conclusion is that a layered combination of tight integration, relative ranging, NLOS detection, and residual-based weighting can significantly improve the robustness of cooperative navigation for each UAV drone in a complex NLOS environment.

Scroll to Top