Cooperative Navigation for Low-Cost UAV Swarm Based on Sigma Point Belief Propagation

: As navigation is a key to task execution of micro unmanned aerial vehicle (UAV) swarm, the cooperative navigation (CN) method that integrates relative measurements between UAVs has attracted widespread attention due to its performance advantages. In view of the precision and efﬁciency of cooperative navigation for low-cost micro UAV swarm, this paper proposes a sigma point belief propagation-based (SPBP) CN method that can integrate self-measurement data and inter-UAV ranging in a distributed manner so as to improve the absolute positioning performance of UAV swarm. The method divides the sigma point ﬁlter into two steps: the ﬁrst is to integrate local measurement data; the second is to approximate the belief of position based on the mean and covariance of the state, and pass message by augmentation, resampling and cooperative measurement update of the state to realize a low-complexity approximation to traditional message passing method. The simulation results and outdoor ﬂight test results show that with similar performance, the proposed CN method has a calculation load more than 20 times less than traditional BP algorithms.


Introduction
In recent years, UAVs have received extensive attention in military and civil fields such as battlefield reconnaissance, aerial photography, agricultural plant protection, express transportation, disaster rescue, and power inspection, and UAV cluster technology has become a research hotspot due to its high efficiency and damage resistance [1,2]. Navigation information is crucial for reliable flight of UAVs. Especially in an intensive UAV formation flight system, the UAV swarm requires high-precision position, velocity and other information to conduct task planning, precise control, and collision avoidance [3,4]. At present, the Global Navigation Satellite System (GNSS) is the most widely used means of navigation for UAVs; the GNSS based on Real Time Kinematic (RTK) technology can provide UAVs with centimeter-level positioning precision [5]. However, in certain restricted environments such as city and forest, the GNSS receiver may be unavailable to search sufficient satellites for navigation solution, and costs are high if RTK is applied to all UAVs in a swarm [6].
In order to make full use of the advantages of UAV swarm and obtain reliable and better navigation performance, researchers began to study the cooperative navigation method that integrates relative measurements between UAVs. Compared with single UAV navigation method that merely integrates the local measurement data of the UAV, the CN method can correct its navigation result based on the geometric relationship and observation of the swarm and thus greatly improve the absolute navigation performance [7][8][9]. Many researchers focused on the optimization algorithm based cooperative positioning technology, created constraint equation set for the geometric relationship between all users, and established corresponding objective functions to solve the positioning result [10][11][12][13][14].
Due to the existence of noise and observation fault such as Non-line-of-sight (NLOS) of wireless ranging signal [15,16], the cooperative positioning problem is often non-convex and cannot be solved globally and optimally. Thereby, convex optimization technologies such as Semi-definite Programming and Cone Programming are required to relax the cooperative estimation problem [14]. The disadvantage of optimization algorithm based cooperative positioning technology is that under worse observation conditions, its performance worsens rapidly, and on-board Inertial Measurement Unit (IMU) and other navigation sensors cannot be fully used for measurement.
A factor graph provides an effective framework for dealing with cooperative navigation problems and is used for describing the linkage between the navigation state and observation at each vehicle of the cooperative network. To pass messages between the nodes in the factor graph, many belief propagation (BP) methods have been proposed [17][18][19][20][21]. Ref. [17] proposed a sum-product algorithm for wireless network (SPAWN), which realized high-precision indoor positioning on the basis of factor graph and message passing. Ref. [21] put forward a factor graph and message passing based H-SPAWN algorithm that can integrate GNSS information and peer-to-peer information to realize cooperative positioning. Ref. [22] provided a distributed positioning method based on sequential particle-based sum-product algorithm (SPSPA), which has the ability to perform online inference in factor graph with continuous variables and nonlinear local functions. Even when obtaining a good effect, these methods require a large number of particles to describe cooperative messages and have a large calculation load, making them hard to guarantee the real-time navigation performance of UAV swarm in the time of formation flight. In order to reduce the computation load of BP algorithm, Ref. [23] offered a cooperative positioning framework combining relative position estimation and optimization, which transforms a multi-dimensional BP problem into an one-dimensional problem, reduces the computation load, and can integrate Ultra-wideband (UWB), GNSS and Inertial Navigation System (INS) information to obtain precise navigation results. However, this framework requires that each UAV in the swarm can conduct GNSS calculation. Ref. [24] presents a cooperative positioning method in which the posteriori distribution of marginalized circulation factor graph is approximated by using sigma point, but the movement of the user is described using a motion model, regardless of the observation information beyond the measurement range. Hence, this method is suitable for indoor application instead of UAV flight scene. It is also unavailable to provide continuous and comprehensive navigation parameters.
In this paper, a sigma point belief propagation-based (SPBP) new CN method is proposed. In this method, sigma point filter integrates local observations from INS, GNSS, barometers, and so on; then the filter's state vector is augmented and the cooperative measurements are updated iteratively to realize the message passing between UAVs, and further improve the absolute navigation performance of UAV swarm. Compared with the traditional BP algorithm, this paper uses sigma points to replace the particles obtained by Monte Carlo method and constructs the state equation of the cooperative navigation system based on INS, so as to replace the state equation based on motion model. Most importantly, sigma point filter and BP algorithm are combined and expanded to 3D UAV flight urban scene; moreover, IMU, GNSS, and other local multi-source navigation information are incorporated into the CN framework, improving the performance and efficiency of the CN algorithm.
The structure of this paper is as follows: Section 2 provides the preliminaries of sigma point filter and describes the CN problem based on factor graph and BP; Section 3 proposes an SPBP based CN method; the simulations are described in Section 4; and flight tests are described in Section 5; Section 6 discusses the research implications and limitations of the proposed method; and the final conclusion is presented in Section 7.

Preliminary on Sigma Point Filter
The basic idea of sigma point filter (SP filter, also known as unscented Kalman filter) is to approximate to a nonlinear density function by using a certain number of sample points and transfer the state of a real system while capturing accurate mean and variance of the state [25]. Therefore, the selection of sigma points is crucial for sigma point filter and is realized by Unscented Transformation [26]. It is assumed that N-dimensional random vector X is transformed into an M-dimensional random vector Y after subjecting to h(·) nonlinear transformation, namely: Given the mean X and variance P XX of X, the ( 2N + 1) sigma points of X can be reproduced according to X: where (N + λ)P XX (i) represents the i-th column of the square root of the lower triangular decomposition of matrix (N + λ)P XX ; λ determines the distance between the sampling point and the mean. The sigma point produced by nonlinear transformation can be calculated as follows: Hence, the mean Y, variance P YY , and the covariance P XY of X and Y can be approximated as: are the corresponding weights, which can be calculated as: where α and β are constants and nonnegative.
Considering that the variable X and observation Z satisfy Z = Y + ξ = h(X) + ξ at time k, where ξ is the additive measurement noise with variance of R, the posteriori probability density function of X can be obtained based on Z: The specific steps to realize the posterior probability density estimation of Equation (8) through SP filter are as follows [26]: Step 1: Sampling sigma points as per Equation (2) at time k − 1; Step 2: Calculating the one-step predicted value at time k: where f (·) is the one-step prediction equation of the system, that is, the discrete form of the system state equation; u k−1 is the input of the system, and χ * (i) k|k−1 is the one-step predicted sigma point.
Step 3: Computing the observed value Y (i) k|k−1 and predicted value Y k|k−1 as per Equations (3) and (4), and the corresponding covariance matrices P YY k|k−1 and P XY k|k−1 are calculated according to Equations (5) and (6); Step 4: Calculating the posterior probability density estimation: As revealed in the above process of sigma point filter, the number of sigma points depends on the number of dimensions of X, namely the former increases with the increase in the latter. Figure 1 shows a flight scene of low-cost micro UAV swarm. In urban areas, the navigation system of UAV may not receive enough number of satellite signals for positioning. For this reason, all UAVs are equipped with GNSS receiver as well as some conventional onboard navigation devices, such as INS and barometer, and are also mounted with UWB to provide the ranging information between UAVs. To meet the demand for CN, it is also essential to provide a wireless communication network for exchanging CN information.

Belief Propagation for UAV Swarm
The specific steps to realize the posterior probability density estimation of Equation (8) through SP filter are as follows [26]: Step 1: Sampling sigma points as per Equation (2) at time ; Step 2: Calculating the one-step predicted value at time : where is the one-step prediction equation of the system, that is, the discrete form of the system state equation; is the input of the system, and is the one-step predicted sigma point.
Step 3: Computing the observed value and predicted value as per Equations (3) and (4), and the corresponding covariance matrices and are calculated according to Equations (5) and (6); Step 4: Calculating the posterior probability density estimation: As revealed in the above process of sigma point filter, the number of sigma points depends on the number of dimensions of , namely the former increases with the increase in the latter. Figure 1 shows a flight scene of low-cost micro UAV swarm. In urban areas, the navigation system of UAV may not receive enough number of satellite signals for positioning. For this reason, all UAVs are equipped with GNSS receiver as well as some conventional onboard navigation devices, such as INS and barometer, and are also mounted with UWB to provide the ranging information between UAVs. To meet the demand for CN, it is also essential to provide a wireless communication network for exchanging CN information.   Provided that all UAVs in the swarm belong to a set U, the navigation state of UAV m at time k is defined as X k m ; the satellite observation and barometer output at time k are defined as Z k,gnss m and Z k,baro i , respectively; all the IMU measurements between k − 1 and k are defined as Z k−1,imu m ; and all UWB observations at time k are defined as:

Belief Propagation for UAV Swarm
where U m is the set of all UAVs that have UWB ranging links with UAV m. The navigation state set and observation set of all UAVs in the swarm are defined as: Based on the above definitions, the joint posteriori probability distribution function of the navigation state of the UAV swarm is given by: According to the flight characteristics and sensor characteristics of UAV swarm, the following two conditions can be assumed [23]: a. The navigation state of each UAV at time k is only related to time k − 1, and obeys the standard Markov assumption; b. The UWB, GNSS and barometric measurements obtained by UAV are independent and only related to the state at the present time. Based on these two assumptions, the joint posteriori probability distribution function can be factorized in terms of a priori information and individual process and measurement models. This factorization can be written as where p X 0 represents the priori factor of the navigation state. This factorization can be described by the factor graph composed of factor nodes and variable nodes as presented in Based on Figure 2 and Equation (19), the approximated marginal posteriori probability density function of variable node is called as the belief, which can be calculated by iteration of BP message passing on the factor graph. At the -th iteration at time , the belief of can be obtained as follows: The forms of messages involved in the above equation are as follows: ① The prediction message passed from factor node to variable node (21) ② The GNSS correction message passed from factor node to variable node (22) ③ The height correction message passed from barometer factor to variable node (23) ④ The cooperative correction message passed from UWB factor to variable node (24) where is the belief passed by UAV to factor node at the -th iteration: (25) where represents the set of all UAVs that have ranging links with UAV , except UAV . For the SPAWN message passing scheme, can be directly replaced with without recalculation [17]. Based on Figure 2 and Equation (19), the approximated marginal posteriori probability density function b X k m ≈ p X k m Z k m of variable node X k m is called as the belief, which can be calculated by iteration of BP message passing on the factor graph. At the τ-th iteration at time k, the belief of X k m can be obtained as follows: The forms of messages involved in the above equation are as follows: 1 The prediction message passed from factor node l k−1,imu  4 The cooperative correction message passed from UWB factor l k,uwb m,n to variable node X k where b (τ) X k n is the belief passed by UAV n to factor node l k,uwb m,n at the τ-th iteration: where m ∈ U n {m} represents the set of all UAVs that have ranging links with UAV n, except UAV m. For the SPAWN message passing scheme, b (τ) X k n can be directly replaced with b (τ) X k n without recalculation [17].

Sigma Point Belief Propagation
Section 2.1 shows an SP filter based method for posteriori probability estimation of variables. According to a comparison among Equations (8), (19) and (20), the expression of belief is similar to Equation (8), and the belief of navigation state can also be calculated by SP. Using a mean vector and covariance matrix to approximate the belief of each UAV's navigation state is conducive to reducing communication cost and calculation load, and low-complexity approximation to the traditional BP algorithm. This section will expound the SPBP method in detail.

Navigation State Model and Time Update
Taking Earth-fixed frame as the navigation coordinate frame, the motion of UAV from k − 1 to k is modeled. Based on the measurements of IMU, the time update of the motion state of UAV is obtained as follows [27]: where Q is the attitude quaternion, including the one-dimensional scalar Q 0 and the threedimensional vectors Q 1 , Q 2 and Q 3 , • represents the quaternion multiplication, v is the three-dimensional velocity, p is the three-dimensional position,ω is the measurement of the gyroscope, ω ie is the angular velocity of the Earth's rotation, ω en is the rotational angular velocity of the carrier relative to the Earth; ω r is the random walk error of the gyroscope, ω ε is the measurement noise of the gyroscope, C n b is the rotation matrix from body frame to navigation frame,ã is the accelerometer measurement, ∇ r is the random walk error of the accelerometer, × represents the cross multiplication of vectors, G is the gravity vector, and r is the position vector with respect to the Earth Centered Earth fixed frame. The random walk error update equation of the gyroscope and accelerometer is: where ω n and ∇ n are the random walk drive noises of the gyroscope and accelerometer, respectively, which are usually supposed to be zero mean white noises. The covariance of noise can be obtained by ALLAN variance method or other IMU error analysis methods.
Since the scalar part of the normalized quaternion can be obtained from the vector part, in order to reduce the dimension of the SP filter, the initial state vector is created on the basis of vectors Q 1 , Q 2 and Q 3 , as well as the position vector, velocity vector, gyro random walk error ω r and accelerometer random walk error ∇ r : The system noise is: When the sigma point filter is updating the time, the system noise should be augmented to the system state, and the augmented system state vector is X = x T W T T . By combining and discretizing Equations (26) and (27), the one-step prediction equation of the navigation state can be obtained, that is, Equation (9). Then, the attitude, velocity and position represented by each sigma point can be updated in combination with the input of IMU as per Equations (9) In this paper, two measurements, GNSS information and barometric altitude, are considered in addition to IMU. Regarding whether the satellites searched by GNSS receiver can be positioned directly or not, the GNSS measurement can be divided into position measurement and pseudo-range measurement. The position measurement can be modeled as follows [28]: where ν G m is the GNSS position observation noise of UAV m and can be modeled as a white noise with covariance of R G m . For position measurement, the SP filter does not need to augment the system state.
The pseudo range measurement can be modeled as [29]: where ρ S i m is the true distance between UAV m and satellite S i ; δt ρ m is the distance offset corresponding to the equivalent clock error of the receiver; ζ S i m is the error offset caused by the ionosphere and troposphere; ∆ρ S i m is the error caused by multipath or NLOS; and ν S i m is the receiver noise with covariance of receiver noise. The errors caused by ionosphere and troposphere can be eliminated by using the corresponding correction model or the information broadcasted by Satellite-Based Augmentation System (SBAS); the error caused by multipath or NLOS can be detected in some integrity methods [30][31][32]. When the detected error caused by multipath or NLOS is large, the pseudo range measurement can be deleted directly. For pseudo range measurement, the equivalent receiver clock error δt m should be augmented to system state. The time update equation of δt m is shown below: where ν t ρ m is the equivalent clock error deviation noise. The barometric height can be modeled as: where h m is the true height of UAV m; and ν baro is the barometer measurement noise with variance of R baro . After the local measurements are modeled, the system state should be augmented again as per the noise form when there is non-additive noise in the measurement model and the dimension of the augmented state is N. The error augmented to system state vector in local measurement also requires time update. In face of upcoming measurement, the measurement can be updated as per Equations (3)

Cooperative Measurement Model and Measurement Update
The UWB measurement within the visual range based on Time of Flight (TOF) can be modeled as [33,34]: where d m,n is the UWB ranging value between UAV m and UAV n; · represents the Euclidean distance; and ν uwb is the ranging noise with variance of R uwb . In order to effectively integrate the cooperative measurement of UWB, the position vector of adjacent UAV should be augmented to the system state. After the augmentation, the state vector of SP filter for UAV m is: where p U m = where diag(·) represents the block diagonal matrix whose diagonal blocks are the listed matrices. A sigma point can be regenerated as per the mean and covariance of Equation (36), followed by measurement update and completion of the (τ + 1)-th iteration, obtaining the belief b (τ+1) X k m . Noteworthy, the position vector is augmented without time update.

Algorithm Description
Taking the navigation state of UAV m as an example, the proposed method is described in detail as shown in Algorithm 1 and Figure 3.
Step 1 (Algorithm 1: 1) is to initialize the state vector X 0 m of SP filter, and set the initial meanX 0 m and initial covariance P 0 XX m , which are the bases for the time recursion of the SP filter.
Step 2 (Algorithm 1: 3-6) is to sample sigma points as per the meanX Step 3 (Algorithm 1: 7-9) is to complete local measurement update as per GNSS measurements, barometric height and other local measurements, obtain the meanX  6) and (12)-(14) to complete the measurement update of local measurements, and obtain the meanX    Step 1 (Algorithm 1: 1) is to initialize the state vector of SP filter, and set the initial mean and initial covariance , which are the bases for the time recursion of the SP filter.
Step 2 (Algorithm 1: 3-6) is to sample sigma points as per the mean and covariance of the state at the previous time, and complete time update of the system based on the IMU measurements, obtain the mean and covariance of the state quantity.
Step 3 (Algorithm 1: 7-9) is to complete local measurement update as per GNSS measurements, barometric height and other local measurements, obtain the mean and covariance of the state. This mean and covariance correspond to belief  Step 5 (Algorithm 1: 19-21) is to extract and output the navigation resultsX t m and P t XX m , and then go to Step 2 to start the next epoch.

Complexity Analysis of SPBP
For the SPBP method proposed in this paper, the main calculation load is to calculate the square root of the covariance matrix when selecting sigma points as per Equation (2). An effective calculation can be realized by Cholesky decomposition [35], with complexity being cube of the dimension of the state and also cube of particle number N spbp . Within an epoch, the computation load of this method is O (N) 3 + (N a + 3M link ) 3 I sp , where M link is the number of adjacent UAVs and I sp is the number of iterations. In contrast, for traditional NBP method, its computation complexity is linear in terms of M link and quadratic in terms of particle number. Hence, the computation complexity of traditional NBP method is O I nbp N nbp 2 M link regarding the state estimation requiring I nbp iterations and N nbp particles. However, the particle number for SPBP is much less than that for NBP in general. Thereby, SPBP method has far higher calculation efficiency than NBP method.
In terms of communication traffic, the SPBP method takes the meanp method that requires transferring sub-particles, the SPBP method obviously has a small communication load.

Simulation Configuration
Based on a flight setting in urban scene, a UAV swarm containing 12 UAVs is simulated to verify the proposed SPBP method. Figures 4 and 5 display the initial position and horizontal trajectories of the UAV swarm, respectively. It is assumed that every UAV can interact with the UAVs within the working distance of the UWB transceiver, 60 m. In order to fully evaluate the performance of this method, all the results shown in this section are based on 200 Monte Carlo simulation experiments where each simulation takes 1000 s. In the simulation, the positioning estimation error is calculated as per the following equation: (37) where , and are the estimation errors on the east, north and upward directions respectively.

Simulation Results for Cooperative Navigation
To compare the proposed SPBP with other methods, this section simulates several cooperative positioning algorithms based on the same dataset, including H-SPAWN [21], Cooperative Positioning based Extended Kalman Filter (CP-EKF) [37], Multidimensional Scaling (MDS) [38] and Non-linear Regression (NLR) [39] methods. The positioning results are illustrated in Figures 6 and 7. The detail of each algorithm is presented as follows: ① H-SPAWN (particle number = 2500): It is short for hybrid sum-product algorithm for wireless network, a typical BP-based positioning algorithm proposed in [21]. Its message passing process is identical with Equations (20)- (24). In case 1, 2500 particles are used.
② H-SPAWN (particle number = 1000): This algorithm is the same as that stated in The parameters used for sensor configuration and simulation are as listed in Table 1 [36]. Each UAV is equipped with low-cost IMU, barometer and GNSS receiver, and can conduct inter-UAV ranging via a UWB transceiver. It is set that all UAVs realize the transmission of cooperative information through broadcasting, and UAVs that receive cooperative information and are within the ranging range can use this information for cooperation. Two UAVs in the swarm can obtain the position observation of GNSS directly, the remaining UAVs at a flight height above 30 m can receive pseudo-range observations of three satellites, while that at a flight height below 30 m cannot receive the pseudo-range observations. In the simulation, the positioning estimation error is calculated as per the following equation: where Err E , Err N and Err U are the estimation errors on the east, north and upward directions respectively.

Simulation Results for Cooperative Navigation
To compare the proposed SPBP with other methods, this section simulates several cooperative positioning algorithms based on the same dataset, including H-SPAWN [21], Cooperative Positioning based Extended Kalman Filter (CP-EKF) [37], Multidimensional Scaling (MDS) [38] and Non-linear Regression (NLR) [39] methods. The positioning results are illustrated in Figures 6 and 7. The detail of each algorithm is presented as follows:      Figure 7 provides the example performance of a single UAV without satellite position measurement. NLR is a cooperative positioning method merely depending on the geometric relationship of UAV swarm and its precision is obviously lower than other cooperative methods as shown in the figure. CP-EKF integrates the navigation information of IMU, barometer, GNSS, and adjacent UAVs. However, without iterative update, the 1 H-SPAWN (particle number = 2500): It is short for hybrid sum-product algorithm for wireless network, a typical BP-based positioning algorithm proposed in [21]. Its message passing process is identical with Equations (20)- (24). In case 1, 2500 particles are used.
2 H-SPAWN (particle number = 1000): This algorithm is the same as that stated in 1 , but the number of particles used is 1000. 3 CP-EKF: It is a CN method, in which EKF is used for integrating local measurements and other UAV cooperative data. The error of navigation state is designed as the state of filter. The cooperative measurement obtained by inter-UAV ranging is also incorporated into the measurement model. It should be noted that the covariance of noise in the measurement model considers both the UWB ranging error and the collaborator's position error. 4 NLR: In this method, a nonlinear regression equation set is established on the basis of all distance and position measurements, and the UAV's position is solved in iterative least square method. 5 MDS: This method is based on multidimensional scaling and the maximum likelihood estimation. The approach is composed of three sub-steps: (a) construction of the distance matrix, (b) relative position estimation, (c) coordinates registration. If the node scale is large, the network can be divided into several local maps for relative positioning respectively. 6 SPBP: The proposed method in this paper. Figure 6 presents the simulation results of several cases, where the cumulative distribution functions (CDF) of position errors for all UAVs are used as the performance metrics. Figure 7 provides the example performance of a single UAV without satellite position measurement. NLR is a cooperative positioning method merely depending on the geometric relationship of UAV swarm and its precision is obviously lower than other cooperative methods as shown in the figure. CP-EKF integrates the navigation information of IMU, barometer, GNSS, and adjacent UAVs. However, without iterative update, the indirect cooperative information of non-adjacent UAV is not fully used. Hence, the positioning precision of CP-EKF is higher than that of NLR, but lower than MDS method and other BP-based cooperative methods. The relative positioning process of the MDS filter only utilizes the geometric constraints of the UAV swarm, thus its performance is lower than BP-based methods. Compared with H-SPAWN, the SPBP proposed in this paper is a method for approximating the distribution of state based on finite sampling points (i.e., sigma points). The difference between H-SPAWN and SPBP is similar to the difference between particle filter and UKF. Therefore, when there is no strong nonlinearity in the measurement, such as NLOS, multipath, and other errors, the CN model is basically in line with the linear mixed problem model, and the SPBP can realize similar performance to H-SPAWN as well as lower calculation complexity. As for the SPBP method proposed in this paper, its positioning precision is close to that of H-SPAWN (particle number = 2500) and superior to that of H-SPAWN (particle number = 1500). For instance, the percentiles with positioning error not greater than 2 m are lower than 94.9% for SPBP, close to 92.3% for H-SPAWN (particle number = 2500), and 82.1%, 11.7%, 45.7%, and 33.4% respectively for H-SPAWN (particle number = 1500), NLR, MDS and CP-EKF methods.
To further analyze the complexity of the proposed method, the 'tic' and 'toc' functions of MATLAB are used to record the running time of the code, which can roughly represent the computation load. As can be seen from Figure 8, which presents the efficiency comparison among all the above methods, NLR and CP-EKF do not need iterative passing of message, hence the minimum computation load. The computational efficiency of the MDS filter is similar to SPBP but with large fluctuation, mainly because the iterative process of MDS filter is largely dependent on prior information, which is affected by measurement biases. For H-SPAWN (particle number = 2500), the processing time at each epoch is more than 30 times that of SPBP. This means that with similar performance, SPBP has much lower calculation complexity than H-SPAWN.
indirect cooperative information of non-adjacent UAV is not fully used. Hence, the positioning precision of CP-EKF is higher than that of NLR, but lower than MDS method and other BP-based cooperative methods. The relative positioning process of the MDS filter only utilizes the geometric constraints of the UAV swarm, thus its performance is lower than BP-based methods. Compared with H-SPAWN, the SPBP proposed in this paper is a method for approximating the distribution of state based on finite sampling points (i.e., sigma points). The difference between H-SPAWN and SPBP is similar to the difference between particle filter and UKF. Therefore, when there is no strong nonlinearity in the measurement, such as NLOS, multipath, and other errors, the CN model is basically in line with the linear mixed problem model, and the SPBP can realize similar performance to H-SPAWN as well as lower calculation complexity. As for the SPBP method proposed in this paper, its positioning precision is close to that of H-SPAWN (particle number = 2500) and superior to that of H-SPAWN (particle number = 1500). For instance, the percentiles with positioning error not greater than 2 m are lower than 94.9% for SPBP, close to 92.3% for H-SPAWN (particle number = 2500), and 82.1%, 11.7%, 45.7%, and 33.4% respectively for H-SPAWN (particle number = 1500), NLR, MDS and CP-EKF methods.
To further analyze the complexity of the proposed method, the 'tic' and 'toc' functions of MATLAB are used to record the running time of the code, which can roughly represent the computation load. As can be seen from Figure 8, which presents the efficiency comparison among all the above methods, NLR and CP-EKF do not need iterative passing of message, hence the minimum computation load. The computational efficiency of the MDS filter is similar to SPBP but with large fluctuation, mainly because the iterative process of MDS filter is largely dependent on prior information, which is affected by measurement biases. For H-SPAWN (particle number = 2500), the processing time at each epoch is more than 30 times that of SPBP. This means that with similar performance, SPBP has much lower calculation complexity than H-SPAWN.   Figures 9 and 10 show the UAV platform for the test and the configuration and signal flow of the navigation equipment, respectively. Each UAV is equipped with Ublox M8 GPS module, Forsense IMU6132 module, BMP280 atmospheric sensor and LinkTrack UWB module. The sensor data are collected, packed and sent to Raspberry Pi4 by STM32H7 processor. Raspberry Pi4 is for storing and processing data and sending control commands. While ranging between UAVs, UWB as ranging and communication module may also be used by STM32H7 to send its position and other information to be passed to other UAVs. Each UWB module can range and communicate with the other four based on time-division mechanism.

System Configuration
GPS module, Forsense IMU6132 module, BMP280 atmospheric sensor and LinkTrack UWB module. The sensor data are collected, packed and sent to Raspberry Pi4 by STM32H7 processor. Raspberry Pi4 is for storing and processing data and sending control commands. While ranging between UAVs, UWB as ranging and communication module may also be used by STM32H7 to send its position and other information to be passed to other UAVs. Each UWB module can range and communicate with the other four based on time-division mechanism.

Test Results
The effectiveness of the proposed method was verified by an outdoor automatic flight test on a UAV swarm on the drill ground. This swarm is composed of five quadrotor UAVs ( Figure 11). To evaluate the navigation performance, each UAV was equipped with on-board RTK equipment to provide the true value of the reference position. Figure 12 displays the flight scene, and the 3D and 2D flight trajectories of UAV swarm. As shown, after taking off, the UAV swarm flew in an L-shaped loop for 6 cycles before landing.  GPS module, Forsense IMU6132 module, BMP280 atmospheric sensor and LinkTrack UWB module. The sensor data are collected, packed and sent to Raspberry Pi4 by STM32H7 processor. Raspberry Pi4 is for storing and processing data and sending control commands. While ranging between UAVs, UWB as ranging and communication module may also be used by STM32H7 to send its position and other information to be passed to other UAVs. Each UWB module can range and communicate with the other four based on time-division mechanism.

Test Results
The effectiveness of the proposed method was verified by an outdoor automatic flight test on a UAV swarm on the drill ground. This swarm is composed of five quadrotor UAVs ( Figure 11). To evaluate the navigation performance, each UAV was equipped with on-board RTK equipment to provide the true value of the reference position. Figure 12 displays the flight scene, and the 3D and 2D flight trajectories of UAV swarm. As shown, after taking off, the UAV swarm flew in an L-shaped loop for 6 cycles before landing.

Test Results
The effectiveness of the proposed method was verified by an outdoor automatic flight test on a UAV swarm on the drill ground. This swarm is composed of five quadrotor UAVs ( Figure 11). To evaluate the navigation performance, each UAV was equipped with on-board RTK equipment to provide the true value of the reference position. Figure 12 displays the flight scene, and the 3D and 2D flight trajectories of UAV swarm. As shown, after taking off, the UAV swarm flew in an L-shaped loop for 6 cycles before landing.   The entire flight process is divided into three stages: take-off, flight in loop (cooperation stage), and landing. It is set as follows: in the first and third stages, the navigations of all UAVs are realized by the combination of INS/GPS; after entering the second stage, UAV 1 and UAV 2 can obtain the satellite position measurements continuously, while other UAVs reject the input of satellite measurements and position cooperatively. To prove the performance of the proposed method, H-SPAWN was selected to compare with the method proposed in this paper based on actual flight. In the second stage, the hori- The entire flight process is divided into three stages: take-off, flight in loop (cooperation stage), and landing. It is set as follows: in the first and third stages, the navigations of all UAVs are realized by the combination of INS/GPS; after entering the second stage, UAV 1 and UAV 2 can obtain the satellite position measurements continuously, while other UAVs reject the input of satellite measurements and position cooperatively. To prove the performance of the proposed method, H-SPAWN was selected to compare with the method proposed in this paper based on actual flight. In the second stage, the horizontal positioning error CDFs of UAV 3, 4 and 5 are presented in Figure 13, and the horizontal positioning error of each UAV is illustrated in Figure 14. In order to compare the positioning performances of the mentioned algorithms more clearly, Table 2 lists the positioning results of the several algorithms for comparison. As shown, the total positioning precision of SPBP is similar to that of H-SPAWN (particle number = 3000), while the positioning precision of SPBP used for each UAV is superior to that of H-SPAWN (particle number = 1000). In terms of the average processing time at each epoch, the computation load of the proposed SPBP algorithm is 4 times and 20 times lower than those of H-SPAWN (particle number = 1000) and H-SPAWN (particle number = 3000) respectively. The flight test results demonstrate that the SPBP algorithm can significantly improve the calculation efficiency while guaranteeing the performance.

Discussion
This paper proposes a new CN method based on SPBP. In this method, a limited number of sigma points are selected to approximate the posteriori distribution of the navigation state quantity. The calculation load of this method is greatly less than that of traditional nonparametric BP method. Based on onboard multisource navigation sensor, the SPBP method proposed in [24] is expanded to a 3D environment in this paper, the state vectors of the time and measurement updates of sigma point filter are separated, and the state vectors are augmented only when updating the measurement of the cooperative information. Thereby, the messages passed by different UAVs can be received in every time of iteration and the SPBP-based new CN method proposed in this paper is more suitable for the UAV flight scene.
Particularly, when the setting of convergence threshold is small, the covariance matrix of the sigma point filter may be overconfident over repeated iterations, resulting in overconcentrated particles in the next sampling. Although the SPBP method can be used to approximate state distribution on the basis of a few sigma points, it is still needed to satisfy the Gaussian assumption of the system. The estimation performance may be poor when the navigation system is not corrected for a long time or the observation is strongly nonlinear. For example, when NLOS exists in UWB measurement and is not removed, the navigation result may be biased; meanwhile, the state covariance cannot be adjusted accordingly so that the next sampling scope cannot cover the correct position.
In the future, the SPBP algorithm can combine with some performance evaluation methods, such as posteriori Cramer-Rao bound [40,41], to solve the problem of overconfidence in the covariance matrix.
In addition, for the cooperative navigation system, an excellent communication network is indispensable. For the case where the UAVs are closely distributed and the number is small, a wireless communication network can be established in a point-to-point manner, which can be realized through XBEE or UWB, and the cost and complexity are low. If the scale or the distribution range of UAV swarm is large, the situation becomes complex. It is best to realize cooperative information interaction through broadcasting, so that the UAVs that receive cooperative information and are within the UWB working distance can complete cooperative navigation.

Conclusions
Against the CN background of low-cost UAV swarm, this paper proposes a distributed CN method that integrates common onboard navigation sensors and cooperative measurement information. In this method, the filtering of sigma point filter is divided into two steps. First, local measurements are integrated. Then, the mean and covariance of state are used to approximate the belief of the navigation state, and the message passing in traditional BP method is implemented by augmentation, resampling and cooperative measurement update of the state, realizing a low-complexity approximation to the traditional message passing scheme.
The simulation results show that in the simulation scene, the positioning performance of the SPBP method proposed in this paper is significantly superior to that of traditional single-step cooperative positioning methods such as CP-EKF and non-Bayesian CN method such as NLR and MDS. With similar performance, the computation load of the proposed SPBP method is much lower than that of the H-SPAWN method. The flight test results also verify the effectiveness of the proposed SPBP method. The future research will continue to study the SPBP and performance evaluation combined CN method, as well as the method for monitoring the integrity of CN information.