In this thesis, I focus on the cooperative navigation problem of unmanned aerial vehicle (UAV) swarms operating in complex non-line-of-sight (NLOS) environments. The presence of NLOS propagation introduces severe biases to ranging measurements, which significantly degrades the accuracy of traditional navigation methods. To address this challenge, I propose a series of algorithms that integrate ultra-wideband (UWB) ranging, inertial navigation systems (INS), and global navigation satellite system (GNSS) measurements within an extended Kalman filter (EKF) framework. My main contributions include a distance-difference-based cooperative navigation algorithm, an NLOS identification and compensation algorithm based on relative distance variation and standard deviation, and an improved residual weighting algorithm based on the minimum residual criterion. Through extensive simulations under various harsh conditions, I demonstrate that the proposed methods can effectively improve the positioning accuracy of unmanned aerial vehicles in complex NLOS environments.

1. Introduction
Unmanned aerial vehicles have been widely used in both military and civilian applications due to their flexibility, low cost, and ability to operate in dangerous or inaccessible areas. In military scenarios, unmanned aerial vehicles perform reconnaissance, surveillance, and target localization. In civilian applications, they are used for aerial photography, search and rescue, border patrol, disaster monitoring, agricultural management, and traffic surveillance. The navigation accuracy of a single unmanned aerial vehicle is often limited by the quality of its onboard sensors. Because of constraints on payload, battery life, and cost, an individual unmanned aerial vehicle cannot always carry high-precision navigation equipment. A swarm of unmanned aerial vehicles, however, can share information among its members to improve the overall positioning accuracy. Cooperative navigation is therefore a key technology for unmanned aerial vehicle swarms, enabling them to perform tasks more efficiently and accurately.
In real-world missions, unmanned aerial vehicles often fly in complex environments such as urban canyons, forests, or indoor areas. In these environments, the communication links between unmanned aerial vehicles may be obstructed by buildings, trees, or other obstacles, leading to NLOS signal propagation. NLOS propagation introduces a positive bias to the measured distance because the radio signal travels a longer path due to reflection, refraction, or diffraction. This bias severely degrades the performance of conventional positioning algorithms. In addition, GNSS signals may also be blocked or reflected, reducing the number of visible satellites and further compromising navigation accuracy. Therefore, it is essential to develop cooperative navigation methods that can mitigate the effects of NLOS errors.
In this chapter, I first review the existing research on UAV cooperative navigation and NLOS error mitigation. Then I outline the main research contents and the structure of this thesis.
2. Related Work
2.1 Cooperative Navigation of UAV Swarms
Cooperative navigation techniques for unmanned aerial vehicles can be classified into several categories, including mathematical optimization methods, graph-theoretic methods, and filtering-based methods. Optimization methods formulate the positioning problem as a least-squares or maximum-likelihood estimation problem. These methods often use convex relaxation, such as semidefinite programming or second-order cone programming, to handle non-convexity. For example, some researchers have proposed distributed localization algorithms based on semidefinite programming to mitigate the effects of NLOS errors in cooperative networks. Graph-based methods, such as belief propagation, treat the user states as nodes and the inter-user observations as edges in a factor graph. Message passing algorithms, such as the sum-product algorithm, are used to estimate the marginal distributions of the user states. Filtering-based methods, particularly those based on Kalman filtering or its variants, are widely used in cooperative navigation because they can effectively fuse multi-sensor data. Extended Kalman filtering has been applied to combine inertial measurements, GNSS pseudoranges, and inter-UAV ranging measurements. These methods have shown good performance in various environments, but their accuracy is highly dependent on the quality of the measurement model and the prior knowledge of the noise statistics.
2.2 NLOS Error Handling Algorithms
The problem of NLOS error mitigation has been studied extensively in wireless positioning. Existing methods can be grouped into three categories. The first category identifies NLOS base stations or anchors and then uses only the LOS measurements for positioning. This approach can be implemented by comparing the variance of time-difference-of-arrival measurements with a threshold. However, in harsh environments, the number of LOS anchors may be insufficient, leading to poor geometric dilution of precision. The second category models the NLOS error using prior information or channel parameters, such as the channel impulse response, received signal strength, or delay spread. These methods often require specific hardware or extensive training data, which may not be practical for small unmanned aerial vehicles. The third category directly mitigates the NLOS error without explicitly identifying the NLOS state. This includes residual weighting algorithms, robust estimators, and optimization-based methods that assign lower weights to measurements with large residuals. Residual weighting algorithms are particularly attractive because they do not require prior knowledge of the NLOS error distribution. However, traditional residual weighting algorithms may not fully exploit the redundancy of measurements when the number of NLOS anchors is large.
3. System Model and Background
3.1 Inertial Navigation and UWB Ranging
Inertial navigation systems (INS) are self-contained navigation systems that use accelerometers and gyroscopes to calculate the position, velocity, and attitude of a moving platform. The inertial measurement unit (IMU) provides the raw measurements, and the navigation computer integrates these data over time. Strapdown inertial navigation systems (SINS) mount the IMU directly to the vehicle and use a mathematical platform computed by a digital processor. This approach eliminates the need for a physical gimbal platform and has become the dominant architecture in modern applications. In my research, I assume that each unmanned aerial vehicle is equipped with a strapdown INS and a GNSS receiver. The GNSS and INS are tightly coupled using pseudorange and pseudorange-rate measurements. The tightly coupled architecture is more robust than loosely coupled systems, especially when the number of visible satellites is small.
UWB ranging is a wireless technology that can provide high-precision distance measurements by transmitting very short pulses and measuring the time of flight. A common ranging method is symmetric double-sided two-way ranging (SDS-TWR), which eliminates the need for strict clock synchronization between two UWB nodes. The ranging accuracy of UWB is typically at the centimeter level in line-of-sight conditions. However, in NLOS conditions, the measured distance is positively biased due to the extra propagation delay. The UWB measurement model can be expressed as:
$$ r_{\text{UWB}} = r_{\text{true}} + n_{\text{UWB}} + n_{\text{NLOS}} + \text{bias}, $$
where \(r_{\text{true}}\) is the true distance, \(n_{\text{UWB}}\) is the zero-mean Gaussian measurement noise, \(n_{\text{NLOS}}\) is the positive NLOS error, and \(\text{bias}\) is the clock drift induced error.
3.2 Extended Kalman Filter
The extended Kalman filter is a recursive state estimator that linearizes nonlinear system models using Taylor expansion. Consider a discrete-time nonlinear system:
$$ \mathbf{X}_{k+1} = f(\mathbf{X}_k, \mathbf{u}_k) + \mathbf{v}_k, $$
$$ \mathbf{Y}_k = h(\mathbf{X}_k) + \mathbf{w}_k, $$
where \(\mathbf{v}_k\) and \(\mathbf{w}_k\) are zero-mean Gaussian noises with covariances \(\mathbf{Q}_k\) and \(\mathbf{R}_k\), respectively. The prediction step is:
$$ \hat{\mathbf{X}}_{k+1|k} = f(\hat{\mathbf{X}}_{k|k}, \mathbf{u}_k), $$
$$ \mathbf{P}_{k+1|k} = \mathbf{F}_k \mathbf{P}_{k|k} \mathbf{F}_k^T + \mathbf{Q}_k, $$
where \(\mathbf{F}_k\) is the Jacobian of \(f\) with respect to \(\mathbf{X}_k\). The update step is:
$$ \mathbf{K}_{k+1} = \mathbf{P}_{k+1|k} \mathbf{H}_{k+1}^T (\mathbf{H}_{k+1} \mathbf{P}_{k+1|k} \mathbf{H}_{k+1}^T + \mathbf{R}_{k+1})^{-1}, $$
$$ \hat{\mathbf{X}}_{k+1|k+1} = \hat{\mathbf{X}}_{k+1|k} + \mathbf{K}_{k+1} (\mathbf{Y}_{k+1} – h(\hat{\mathbf{X}}_{k+1|k})), $$
$$ \mathbf{P}_{k+1|k+1} = (\mathbf{I} – \mathbf{K}_{k+1} \mathbf{H}_{k+1}) \mathbf{P}_{k+1|k}. $$
This filter is widely used in INS/GNSS integration and cooperative navigation because of its computational efficiency and robustness.
3.3 Tightly Coupled UAV Navigation Model
I assume that each unmanned aerial vehicle in the swarm uses a tightly coupled GNSS/INS integration scheme. The state vector of the tightly coupled system is defined as:
$$ \mathbf{X}_c = \begin{bmatrix} \boldsymbol{\varphi} & \delta \mathbf{v} & \delta \mathbf{p} & \boldsymbol{\varepsilon}_b & \boldsymbol{\varepsilon}_r & \boldsymbol{\nabla} \end{bmatrix}^T, $$
where \(\boldsymbol{\varphi} = [\varphi_E, \varphi_N, \varphi_U]\) is the platform error angle vector, \(\delta \mathbf{v} = [\delta v_E, \delta v_N, \delta v_U]\) is the velocity error vector, \(\delta \mathbf{p} = [\delta L, \delta \lambda, \delta h]\) is the position error vector (latitude, longitude, altitude), \(\boldsymbol{\varepsilon}_b\) and \(\boldsymbol{\varepsilon}_r\) are the gyroscope white noise and colored noise vectors, and \(\boldsymbol{\nabla}\) is the accelerometer white noise vector. The system model is:
$$ \dot{\mathbf{X}}_c(t) = \mathbf{F}_c(t) \mathbf{X}_c(t) + \mathbf{G}(t) \mathbf{W}(t), $$
where \(\mathbf{F}_c\) is the system matrix, \(\mathbf{G}\) is the noise distribution matrix, and \(\mathbf{W}\) is the white noise vector. The measurement vector consists of pseudorange and pseudorange-rate differences between the GNSS measurements and the INS predicted values. This tightly coupled model allows the unmanned aerial vehicle to maintain some level of accuracy even when the number of visible satellites is reduced.
4. Distance-Difference-Based Cooperative Navigation Algorithm
4.1 Problem Formulation
Consider a swarm consisting of one leader unmanned aerial vehicle (called the host) and \(n\) wingman unmanned aerial vehicles. Each unmanned aerial vehicle runs its own tightly coupled GNSS/INS integration to obtain an absolute position estimate. In addition, the host and each wingman are equipped with UWB transceivers to measure the inter-UAV distance. The true distance between the host and the \(i\)-th wingman is:
$$ r_i = \sqrt{(x – x_i)^2 + (y – y_i)^2 + (z – z_i)^2}, $$
where \((x,y,z)\) is the host position and \((x_i,y_i,z_i)\) is the \(i\)-th wingman position. The UWB measurement is:
$$ \rho_i^{\text{UWB}} = r_i + n_i^{\text{UWB}} + n_i^{\text{NLOS}} + \text{bias}_i. $$
On the other hand, the host can also compute the relative distance using the tightly coupled position estimates of itself and the \(i\)-th wingman:
$$ \hat{\rho}_i^{\text{INS}} = \sqrt{(\hat{x} – \hat{x}_i)^2 + (\hat{y} – \hat{y}_i)^2 + (\hat{z} – \hat{z}_i)^2}, $$
where \((\hat{x},\hat{y},\hat{z})\) and \((\hat{x}_i,\hat{y}_i,\hat{z}_i)\) are the position estimates from the tightly coupled integration. The difference between these two distances is used as the observation for the cooperative navigation filter.
4.2 Linearized Observation Model
To use the distance difference in an extended Kalman filter, I linearize the relative distance expression around the host position. Define the line-of-sight vector components from the host to the \(i\)-th wingman as:
$$ 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}. $$
Then the relative distance can be approximated as:
$$ \hat{\rho}_i^{\text{INS}} \approx r_i + e_{i1} \delta x + e_{i2} \delta y + e_{i3} \delta z, $$
where \(\delta x, \delta y, \delta z\) are the host position errors. Therefore, the observation \(z_i = \hat{\rho}_i^{\text{INS}} – \rho_i^{\text{UWB}}\) can be written as:
$$ z_i = e_{i1} \delta x + e_{i2} \delta y + e_{i3} \delta z – \nu_i, $$
where \(\nu_i = n_i^{\text{UWB}} + n_i^{\text{NLOS}} + \text{bias}_i\). In matrix form for all wingmen, we have:
$$ \mathbf{Z} = \mathbf{H}_\rho \mathbf{X} + \mathbf{V}, $$
with
$$ \mathbf{H}_\rho = \begin{bmatrix} e_{11} & e_{12} & e_{13} \\ e_{21} & e_{22} & e_{23} \\ \vdots & \vdots & \vdots \\ e_{n1} & e_{n2} & e_{n3} \end{bmatrix}. $$
Since the state vector of the tightly coupled system is expressed in the geographic coordinate system, I need to convert the position errors to the local Cartesian frame before using them in the observation matrix. The conversion relation is:
$$ \delta x = (R_N + h) \cos \lambda \delta L – (R_N + h) \sin L \cos \lambda \delta \lambda + \cos L \cos \lambda \delta h, $$
$$ \delta y = (R_N + h) \sin \lambda \delta L + (R_N + h) \cos L \sin \lambda \delta \lambda + \sin L \sin \lambda \delta h, $$
$$ \delta z = [R_N (1 – f^2) + h] \sin L \delta L + \cos L \delta h. $$
This conversion is incorporated into the observation matrix.
4.3 Handling Imperfect Wingman Positions
In my cooperative navigation scheme, the wingman positions are not perfectly known. Their estimation errors contribute to the uncertainty of the relative distance computed from the tightly coupled outputs. To account for this, I model the error covariance of the UWB observation by adding the wingman position error covariance projected along the line-of-sight direction. Let \(\mathbf{P}_i\) be the position error covariance matrix of the \(i\)-th wingman, which can be obtained from its own tightly coupled filter. The additional variance caused by the wingman position error is:
$$ \sigma_i^2 = \mathbf{e}_i^T \mathbf{P}_i \mathbf{e}_i, $$
where \(\mathbf{e}_i = [e_{i1}, e_{i2}, e_{i3}]^T\). This variance is added to the measurement noise covariance matrix \(\mathbf{R}\) in the EKF update. This step ensures that the cooperative filter does not overly trust the relative distance computed from inaccurate wingman positions, which would otherwise degrade the estimation accuracy.
With the observation model defined above, the cooperative navigation filter can be implemented by augmenting the host’s tightly coupled state vector with the inter-UAV distance differences as measurement updates. The overall architecture is shown in Table 4.1.
| Sensor | Parameter | Value |
|---|---|---|
| Gyroscope | Constant drift | 0.1 deg/h |
| White noise | 0.1 deg/h | |
| First-order Markov noise | 0.1 deg/h | |
| Correlation time | 3600 s | |
| Accelerometer | First-order Markov bias | 0.01 g |
| Correlation time | 1800 s | |
| GPS | Pseudorange error | 3 m |
| Pseudorange-rate error | 0.03 m/s | |
| UWB | Ranging noise | 0.15 m |
| Clock error ratio | 1×10⁻³ |
5. NLOS Identification and Compensation Algorithm
5.1 Principle of NLOS Identification
In a non-line-of-sight environment, the UWB ranging error is no longer zero-mean. The NLOS error is typically positive and varies slowly compared to the LOS noise. Therefore, I can detect the NLOS condition by examining the change in the relative distance between two consecutive time instants. Let \( \Delta D \) be the median of the differences between the current and previous UWB measurements over a short time window. Since the maximum speed of an unmanned aerial vehicle is \(v_{\text{max}}\), the maximum possible change in the true distance between the host and a wingman within a time interval \(\Delta T\) is \(2 v_{\text{max}} \Delta T\). Adding the standard deviations of UWB noise and inertial drift, I define the detection threshold as:
$$ \Lambda = 2 v_{\text{max}} \Delta T + \sigma_{\text{UWB}} + \sigma_{\text{IMU}}. $$
If the observed distance change exceeds this threshold, the communication channel is classified as NLOS. Otherwise, a second check is performed based on the standard deviation of the smoothed ranging measurements. Under LOS conditions, the standard deviation \(\sigma_{\text{LOS}}\) is small. In NLOS conditions, the standard deviation increases significantly. Thus, I compare the computed standard deviation with \(\sigma_{\text{LOS}}\). This two-step decision process improves the detection accuracy while keeping the computational complexity low.
5.2 Compensation of NLOS Ranging Errors
After identifying which wingman-to-host links are affected by NLOS, I discard the contaminated UWB measurements and replace them with reconstructed values. Two sources of replacement are considered: (1) the relative distance computed from the INS outputs of the host and the wingman at the current time, and (2) the relative distance computed from the previous EKF posterior state predicted to the current time. Since the INS drift is small over short intervals, the INS-based distance is reliable when the NLOS duration is limited. On the other hand, the EKF-based prediction uses the cooperative navigation result from the previous epoch and provides a globally consistent estimate. I combine these two sources using a weighting factor \(\alpha\) that depends on the number of visible satellites.
Let \( \mathbf{D}_{\text{INS}} \) denote the distance vector obtained from the INS outputs, and \( \mathbf{D}_{\text{simu}} \) denote the distance vector predicted from the previous EKF state. The final compensated distance is:
$$ \mathbf{D}_{\text{real}} = \alpha \mathbf{D}_{\text{INS}} + (1-\alpha) \mathbf{D}_{\text{simu}}. $$
When the number of visible satellites is high, the GNSS position is accurate, so the EKF-based prediction is more trustworthy; thus \(\alpha\) is small. When the number of visible satellites is low, the INS is the main source of reliable navigation information, so \(\alpha\) is large. Table 5.1 lists the values of \(\alpha\) used in the simulations.
| Number of visible satellites | \(\alpha\) |
|---|---|
| 8 | 0.12 |
| 6 | 0.23 |
| 3 | 0.47 |
| 1 | 0.91 |
5.3 Overall Algorithm Flow
The complete algorithm is summarized as follows:
- Each unmanned aerial vehicle performs tightly coupled GNSS/INS integration to obtain its own absolute position.
- The host measures the distances to all wingmen using UWB.
- For each distance measurement, the NLOS identification is performed using the two-step decision process described above.
- For the identified NLOS links, the distance is reconstructed by the weighted combination of INS-based and EKF-predicted distances.
- The corrected distance values are fed into the cooperative navigation filter, which produces the final position estimate of the host.
6. Improved Residual Weighting Algorithm Based on the Minimum Residual Criterion
6.1 Trilateration in 3D
The residual weighting algorithm requires solving the position from a subset of distance measurements. In three-dimensional space, at least three distance measurements are needed to determine the position unambiguously. Given three wingman positions \((x_1,y_1,z_1)\), \((x_2,y_2,z_2)\), \((x_3,y_3,z_3)\) and the corresponding distances \(d_1,d_2,d_3\) to the host, the position can be obtained by solving the system of equations:
$$ (x – x_1)^2 + (y – y_1)^2 + (z – z_1)^2 = d_1^2, $$
$$ (x – x_2)^2 + (y – y_2)^2 + (z – z_2)^2 = d_2^2, $$
$$ (x – x_3)^2 + (y – y_3)^2 + (z – z_3)^2 = d_3^2. $$
This system can be linearized by subtracting the first equation from the second and third equations, resulting in a linear least-squares problem. The solution is:
$$ \mathbf{X} = (\mathbf{A}^T \mathbf{A})^{-1} \mathbf{A}^T \mathbf{b}, $$
where \(\mathbf{A}\) and \(\mathbf{b}\) are constructed from the coordinates and distances. In the presence of measurement errors, the estimated position is not exact, and the residual is defined as the norm of the difference between the measured distances and the distances computed from the estimated position.
6.2 Traditional RWGH Algorithm
The residual weighting algorithm (RWGH) proceeds as follows. Let \(n\) be the total number of wingmen. First, all combinations of three wingmen are formed. For each combination \(S_k\), the trilateration is performed to obtain an estimated position \(\mathbf{X}_k\). The residual is:
$$ \text{RES}(\mathbf{X}_k, S_k) = \sum_{i \in S_k} \left( d_i – \|\mathbf{X}_k – \mathbf{P}_i\| \right), $$
where \(\mathbf{P}_i\) is the position of the \(i\)-th wingman. The normalized residual is:
$$ R(\mathbf{X}_k, S_k) = \frac{\text{RES}(\mathbf{X}_k, S_k)}{|S_k|}. $$
The final position estimate is the weighted average of all combination estimates, with weights equal to the inverse of the normalized residual:
$$ \hat{\mathbf{X}} = \frac{\sum_{k=1}^{S} \frac{1}{R(\mathbf{X}_k, S_k)} \mathbf{X}_k}{\sum_{k=1}^{S} \frac{1}{R(\mathbf{X}_k, S_k)}}. $$
This method gives more weight to combinations that are likely to be LOS, because their residuals are smaller. However, when the number of wingmen is large, the number of combinations grows combinatorially, making the algorithm computationally expensive. Moreover, when the number of LOS wingmen is small, the weighting scheme may not effectively suppress the influence of NLOS measurements.
6.3 Proposed Improved RWGH Algorithm
To reduce the computational burden and improve the accuracy, I propose an improved residual weighting algorithm based on the minimum residual criterion. The steps are:
- Let the set of all wingman indices be \(\mathcal{B} = \{1, 2, \dots, n\}\).
- For all combinations of three wingmen, compute the trilateration position and the residual. Select the combination with the minimum residual as the initial minimum-residual set \(\mathcal{B}_m\), and record the corresponding position \(\mathbf{X}_3\) and residual \(R_3\).
- For \(i = 4\) to \(n\):
- For each wingman index \(j\) not in the current set \(\mathcal{B}_m\), form a new set by adding \(j\) to \(\mathcal{B}_m\).
- Compute the trilateration position and residual for each new set.
- Select the set with the minimum residual as the new \(\mathcal{B}_m\), and record the corresponding position \(\mathbf{X}_i\) and residual \(R_i\).
- After obtaining \(\mathbf{X}_i\) and \(R_i\) for \(i = 3, 4, \dots, n\), compute the final position estimate using the weighting function:
$$ \hat{\mathbf{X}} = \frac{\sum_{i=3}^{n} w_i \mathbf{X}_i}{\sum_{i=3}^{n} w_i}, \quad w_i = \frac{1}{R_i^{10}}. $$
The exponent 10 is chosen based on empirical studies. Higher exponents suppress the NLOS error more aggressively but further increases provide diminishing returns. Table 6.1 illustrates the effect of the exponent on the positioning accuracy in a representative scenario.
| Exponent | RMSE (m) |
|---|---|
| 2 | 2.56 |
| 4 | 2.01 |
| 6 | 1.62 |
| 8 | 1.47 |
| 10 | 1.45 |
The proposed algorithm iteratively expands the set of wingmen while always keeping the combination with the smallest residual. This approach significantly reduces the number of trilateration computations compared to the exhaustive RWGH algorithm. For a swarm with \(n\) wingmen, the traditional RWGH requires \(C_n^3\) trilaterations, whereas the proposed method requires only \(C_n^3 + \sum_{i=4}^{n} (n-i+1)\) trilaterations, which is much smaller for large \(n\). At the same time, the recorded intermediate positions and residuals provide a rich set of hypotheses that are combined according to their quality.
6.4 Integration with Cooperative Navigation
The output of the improved RWGH algorithm is the corrected distances between the host and each wingman. These corrected distances are then used as the measurement inputs to the cooperative navigation filter described in Section 4. By leveraging the redundancy of the UAV swarm, the improved RWGH algorithm can effectively suppress the NLOS errors even when the prior knowledge of the NLOS error distribution is unavailable.
7. Simulation Results and Analysis
7.1 Simulation Setup
I simulate a swarm consisting of one host unmanned aerial vehicle and nine wingman unmanned aerial vehicles. The host follows a predefined trajectory, while the wingmen maintain a formation around it. The total flight time is one hour. Each unmanned aerial vehicle carries an IMU, a GNSS receiver, and a UWB transceiver. The simulation parameters are given in Table 4.1. To model the NLOS condition, I set the NLOS error to a positive value uniformly distributed between 40 m and 60 m, and the duration of each NLOS event is randomly chosen between 1 s and 4 s. The number of wingman-to-host links that simultaneously experience NLOS is varied from 2 to 7. The number of visible satellites is also varied from 8 down to 1 to simulate different levels of GNSS degradation.
7.2 Performance under 8 Visible Satellites
In this scenario, the GNSS signal is relatively good, but the inter-UAV links may be affected by NLOS. I first evaluate the accuracy of the reconstructed distances. The RMSE values of the reconstructed distances for wingman 1, wingman 5, and wingman 9 are 0.5407 m, 0.6224 m, and 0.6011 m, respectively. These values confirm that the compensation algorithm can generate accurate distance estimates close to the true values. Then, I feed the corrected distances into the cooperative navigation filter. Figures 7.1-7.4 compare the positioning errors in the x, y, z directions and the absolute error before and after the proposed NLOS processing. The results show a significant improvement in all directions. Table 7.1 lists the RMSE values and the improvement factors.
| Direction | RMSE without processing (m) | RMSE with processing (m) | Improvement factor |
|---|---|---|---|
| x | 3.5452 | 1.7928 | 1.98 |
| y | 1.8851 | 0.8197 | 2.30 |
| z | 3.0395 | 1.6938 | 1.79 |
7.3 Performance under 6 Visible Satellites
When the number of visible satellites is reduced to 6, the GNSS accuracy decreases. The proposed algorithm still shows robust performance. The positioning errors in the x, y, and z directions are reduced by factors of 3.17, 3.22, and 3.29, respectively. Table 7.2 summarizes the results.
| Direction | RMSE without processing (m) | RMSE with processing (m) | Improvement factor |
|---|---|---|---|
| x | 6.4493 | 2.0322 | 3.17 |
| y | 3.5047 | 1.0893 | 3.22 |
| z | 6.3752 | 1.9370 | 3.29 |
7.4 Performance under 3 Visible Satellites
In a more challenging scenario with only 3 visible satellites, the GNSS positioning becomes unreliable. However, the cooperative navigation using the compensated distances still provides a satisfactory level of accuracy. The improvement factors are 3.98, 3.50, and 4.23 in the x, y, and z directions, respectively, as shown in Table 7.3.
| Direction | RMSE without processing (m) | RMSE with processing (m) | Improvement factor |
|---|---|---|---|
| x | 14.8751 | 3.7415 | 3.98 |
| y | 6.7481 | 1.9298 | 3.50 |
| z | 13.5110 | 3.1904 | 4.23 |
7.5 Performance under 1 Visible Satellite
In the extreme case of only one visible satellite, the GNSS is nearly useless. The INS drifts over time, and the NLOS corruption is severe. Nevertheless, the proposed cooperative navigation method reduces the positioning error by a factor of about 4.3 to 4.7, as listed in Table 7.4. The absolute error remains below 7 m, which is remarkable considering the harsh conditions.
| Direction | RMSE without processing (m) | RMSE with processing (m) | Improvement factor |
|---|---|---|---|
| x | 29.6469 | 6.8813 | 4.31 |
| y | 14.6995 | 3.1298 | 4.69 |
| z | 26.3210 | 6.3904 | 4.12 |
8. Evaluation of the Improved RWGH Algorithm
The improved RWGH algorithm is evaluated in the same scenarios. I first analyze the accuracy of the distance reconstruction. For wingman 1, wingman 5, and wingman 9, the RMSE values of the reconstructed distances are 0.0139 m, 0.0149 m, and 0.0162 m, respectively. These values are much smaller than those obtained by the previous method, indicating that the residual weighting approach can more effectively extract the correct information from the noisy measurements. The improved RWGH algorithm is then integrated into the cooperative navigation filter, and the positioning errors are evaluated under different numbers of visible satellites. Tables 8.1 to 8.4 summarize the results.
| Direction | RMSE without processing (m) | RMSE with processing (m) | Improvement factor |
|---|---|---|---|
| x | 3.4987 | 1.6594 | 2.11 |
| y | 1.9022 | 0.8046 | 2.36 |
| z | 3.0457 | 1.5734 | 1.94 |
| Direction | RMSE without processing (m) | RMSE with processing (m) | Improvement factor |
|---|---|---|---|
| x | 6.5392 | 1.9754 | 3.31 |
| y | 3.5512 | 1.0269 | 3.46 |
| z | 6.2852 | 1.8673 | 3.37 |
| Direction | RMSE without processing (m) | RMSE with processing (m) | Improvement factor |
|---|---|---|---|
| x | 14.8469 | 3.5627 | 4.17 |
| y | 6.5581 | 1.7688 | 3.71 |
| z | 13.7463 | 3.1891 | 4.31 |
| Direction | RMSE without processing (m) | RMSE with processing (m) | Improvement factor |
|---|---|---|---|
| x | 29.5418 | 6.7213 | 4.40 |
| y | 14.4716 | 3.0244 | 4.78 |
| z | 26.2716 | 5.8873 | 4.46 |
Comparing Table 8.1 with Table 7.1, the improved RWGH algorithm yields a lower RMSE than the distance-change-based compensation method for the same scenario. This is expected because the residual weighting method exploits multiple geometric constraints and does not rely solely on the time-domain characteristics of the NLOS error. The improved RWGH algorithm is especially effective when the number of LOS wingmen is sufficient to provide a good geometry.
9. Conclusion and Future Outlook
In this thesis, I have investigated cooperative navigation methods for unmanned aerial vehicle swarms in complex NLOS environments. I proposed a distance-difference-based cooperative navigation algorithm that uses the difference between the relative distance computed from tightly coupled GNSS/INS outputs and the UWB-measured distance as the observation vector. I also designed a method to account for the inaccuracy of wingman positions by incorporating their posterior covariance into the measurement noise. In addition, I developed an NLOS identification and compensation algorithm based on the relative distance variation and standard deviation, which reconstructs the corrupted ranging values by weighting the INS-based and EKF-predicted distances. Finally, I proposed an improved residual weighting algorithm based on the minimum residual criterion, which iteratively selects the most consistent subset of wingmen and combines the intermediate estimates with a high-power weighting function. Simulation results under various visible satellite counts and NLOS intensities demonstrated that the proposed methods significantly improve the positioning accuracy of unmanned aerial vehicles in harsh environments.
Future work may focus on extending the proposed algorithms to more extreme scenarios where all unmanned aerial vehicles are simultaneously under NLOS conditions for a long duration. In such cases, the INS errors may accumulate to a level that cannot be corrected by the reconstructed distances. I plan to explore more advanced signal processing techniques and machine learning methods for NLOS detection and data recovery. Another possible direction is to integrate visual-inertial odometry with the cooperative navigation framework to provide additional constraints in GNSS-denied environments. The growing autonomy of unmanned aerial vehicles will require robust and adaptive navigation solutions that can seamlessly switch between different sensing modalities. I believe that the cooperative navigation methods presented in this thesis provide a solid foundation for future UAV swarm navigation systems in complex environments.
