1 Introduction

Unmanned air vehicles (UAVs) require an accurate estimate of their positions, velocities, and attitudes in order to control themselves, navigate, and reason about their environment. The way this is achieved varies greatly from systems to systems. While most current UAV navigation systems rely on a combination of the Global Navigation Satellite Systems (GNSS) and an inertial measurement unit (IMU), there is a trend towards the use of all navigation sources available to meet the endless pursuit of navigation robustness in the face of new threats and mission challenges[13].

For UAVs, besides GNSS signals, ranging with ground control stations and peer UAVs is readily achievable. Recently, signals of opportunities (SoOPs) from existing RF background infrastructure, such as digital terrestrial wireless TV signal, have also aroused much interests in the research community[46]. Under such a context, an innovative positioning algorithm is needed to fuse a right position utilizing all these measurements.

Existing positioning algorithms in the literature are enormous. Early pseudorange-only positioning algorithms for GNSS were based on iterative least square and Kalman filtering[7, 8]. Extended Kalman filtering is a natural extension to Kalman filtering for solving nonlinear problems using one-order linearization[9]. A big step forward for Kalman-based filtering is the invention of unscented Kalman filtering[1012]. In cooperative positioning[1320], nodes have not only pseudoranges from navigation satellites but also ranging information with wireless peers. Existing algorithms such as iterative least square and Kalman filters can be extended to cooperative positioning, which leads to cooperative least square and cooperative Kalman filtering algorithm[21]. In recent years, convex optimizations, including semidefinite programming (SDP)[2225], sum of squares (SOS) relaxation[26, 27], and distributed gradient algorithm, also found their place in cooperative positioning. Another category of positioning algorithms are Bayesian approaches with belief propagation as an outstanding representative. Belief propagation-based cooperative positioning was studied for wireless sensor networks, mobile ad hoc networks, vehicle ad hoc networks, etc.[2831]. By jointly using ranges with peer nodes and pseudoranges from satellites, cooperative positioning dramatically improves the availability and accuracy of positioning, especially in GNSS-challenged environments.

Despite that positioning has been treated in various settings, there lack a study for positioning of UAVs with all wireless sources available, which is of fatal importance for UAVs to survive hostile operational environments. In fact, the US Defense Advanced Research Projects Agency (DARPA) had already initiated its All Source Positioning and Navigation (ASPN) program as emerging threat scenarios become more sophisticated and widespread. Under all-source positioning context, flexibility and robustness, which allow for run-time join and leave of measurements, are of the first concern. Accuracy, however, is of the second concern. In existing work, algorithms based on belief propagations have proved to be the best candidate to meet the above requirements. While belief propagation is a well-established algorithm, it is not an easy job to handle the mathematics therein when all wireless positioning sources are considered.

For the above motivations, all-source positioning of UAVs based on belief propagations is studied in this work. The positioning sources include (1) pseudoranges and carrier phases from GNSS satellites, (2) ranges and closed-loop Doppler from peer UAVs, (3) ranging information and closed-loop Doppler with ground control stations[32], and (4) time difference of arrival (TDoA) from the signal of opportunities of background wireless infrastructure. The contributions are as follows: (1) A unified mathematical framework for position and velocity estimation is developed, taking all the above measurements and their statistical characteristics. (2) Based on the mathematical framework, a positioning algorithm, named Belief propagation-based Opportunistic Positioning of UAVs (BOPU), is proposed. (3) The factor products, which are mathematically intractable, are solved by an unscented particle filtering. For the accuracy performance of belief propagation with particle filters over Kalman filters and cooperative least square algorithms has already been proved by existing work such as[28, 29], we focused on evaluating the robustness of BOPU. Simulations are conducted with a fictitious scenario that a group of formation flying UAVs are under the support of ground control stations but encounter GNSS countermeasures en route. Four different configurations of measurements are simulated and compared. The results show that the performance of BOPU varies only slightly with measurements availability.

The rest of the paper is organized as follows: Section 2 formulates the problem, Section 3 gives the details of the proposed positioning algorithm, Section 4 presents simulation results and discussions, and Section 5 concludes the paper.

2 Problem formulation

Consider a group of formation flying UAVs that are carrying out a mission. All UAVs, together with their ground control stations, form a wireless network. The set of UAVs is defined by a wireless node set M of cardinality |M|. Without loss of generosity, it is assumed that only one GNSS constellation is available with a set of satellites S of cardinality |S|. There is also a set of SoOP signal sources G of cardinality |G|. The epoch sequence is denoted by t (0),t (1),…,t (k). For a selected wireless node m ∈ M, denote by M m ( k ) the nodes that node m ranges with, by S m ( k ) the subset of satellites m is in view, and by G m ( g , k ) the nodes that m shares TDoA about SoOP signal source g ∈ G. The location of node m at epoch k is denoted by m ( k ) = [ mx ( k ) , my ( k ) , mz ( k ) ] T . The velocity of node m at epoch k is denoted by v m ( k ) = [ v mx ( k ) , v my ( k ) , v mz ( k ) ] T . The clock bias of node m with reference to the selected GNSS constellation is denoted as b m ( k ) in meters, which notionally equals the product of the speed of light multiplying the clock bias of node m in seconds. Define the state of node m as the vector x m ( k ) [ ( m ( k ) ) T , ( v m ( k ) ) T , b m ( k ) ] T . Node m performs the following measurements:

  1. 1.

    Pseudorange ρ s m ( k ) from satellite s ∈ S, which is in the form

    ρ s m ( k ) = s ( k ) - m ( k ) + b m ( k ) + b s ( k ) + ε ρ s ( k )
    (1)

    where b s ( k ) represents the sum of correlated errors which generally include tropospheric error, ionospheric error, and ephemeris error, while ε ρ s ( k ) represents all uncorrelated errors following a Gaussian distribution.

  2. 2.

    Carrier phase elapsed ϕ s m ( k ) during epoch k and k - 1 from satellite s ∈ S, which is in the form

    ϕ s m ( k ) =|ϕ | m + ε ϕ s ( k )
    (2)

    where |ϕ| m is the true value and ε ϕ s ( k ) is the carrier phase observation Gaussian error.

  3. 3.

    Ranges r n m ( k ) with neighbors n M m ( k ) , which is in the form

    r n m ( k ) = n ( k ) - m ( k ) + ε r ( k )
    (3)

    where n is the index of the neighbor and ε r ( k ) is the ranging error following a Gaussian distribution. A neighbor can be a peer UAV or a ground control station. The position of a UAV is unknown, but that of a ground control station is assumed to be known. Note r n m ( k ) = r m n ( k ) .

  4. 4.

    Closed-loop Doppler measurement f n m ( k ) with neighbors n M m ( k ) . By closed-loop Doppler measurement [32], the clock differential of wireless neighbors is eliminated and the resulting f n m ( k ) contains the Doppler that is only related to the relative movement of the neighbor nodes involved, specifically,

    f n m ( k ) = v n ( k ) - v m ( k ) 1 n m λ + ε f ( k )
    (4)

    where λ is the wavelength of the carrier used in Doppler measurement, and

    1 n m n ( k ) - m ( k ) n ( k ) - m ( k )
    (5)

    From Equation 4, we have f n m ( k ) = f m n ( k ) .

  5. 5.

    TDoA d n m ( g , k ) in meters with neighbors n G m ( g , k ) referring to g, which is in the form

    d n m ( k ) = g ( k ) - n ( k ) - g ( k ) - m ( k ) + ε d ( k )
    (6)

    In (6), c is the speed of light and ε d ( k ) is the error in meters, following a Gaussian distribution. Attaining TDoA measurement requires synchronization of nodes n and m. Nowadays, one way to achieve this is to use high-quality atomic clock re-synchronized at every departure. In such case, ε d ( k ) increases slowly as clock drift accumulates with time.

For brevity, we further define the following notations: X ~ M ( k ) { x m ( k ) |mM}; P m ( k ) { ρ s m ( k ) |s S m ( k ) }, P ~ M ( k ) { P m ( k ) |mM}; R m ( k ) { r n m ( k ) |n M m ( k ) }, R ~ M ( k ) { R m ( k ) |mM}; F m ( k ) { f n m ( k ) |n M m ( k ) }, F ~ m ( k ) { F M ( k ) |mM}; D m ( g , k ) { d n m ( g , k ) |n G m ( g , k ) }, D ~ M ( g , k ) { D m ( g , k ) |mM}, D ~ M ( k ) { D ~ M ( g , k ) |gG}; Φ m ( k ) { φ s m ( k ) |s S m ( k ) }, Φ ~ M ( k ) { Φ m ( k ) |mM}; O ~ M ( k ) ={ P ~ M ( 1 : k ) , R ~ M ( 1 : k ) , D ~ M ( k ) , Φ ~ M ( 1 : k ) , F ~ M ( 1 : k ) } }.

The goal of the positioning is to find the a posteriori distribution of x m ( k ) at each epoch k, given all the available observations O ~ M ( k ) :

p x m ( k ) | O ~ M ( 1 : k ) ,mM
(7)

where (1 : k) denotes the epochs from 1 to k. At epoch k, the final estimation μ m ( k ) is the statistical expectation of x m ( k ) as

μ m ( k ) = x m ( k ) p x m ( k ) | O ~ M ( k )
(8)

3 The proposed BOPU

3.1 The Bayesian inference

It is reasonable to assume that ranges with peer UAVs and the control stations are independent, and it is also often the case that the nodes in M move independently. The pseudoranges are independent when ignoring b s ( k ) . The error induced by ignoring b s ( k ) will be discussed later. While the movement of a node can be measured readily by IMUs in many cases, it is not the case in all-source positioning because IMUs and wireless measurement are loosely coupled for flexibility. In this work, the movement of node m ∈ M is modeled as a second-order Markov process. With these assumptions, (7) can be rewritten as

p x m ( k ) | O ~ M ( 1 : k ) =p X ~ M ( k - 2 : k ) | O ~ M ( 1 : k ) X ~ M m ( k - 2 : k )
(9)

where Mm denotes all variables in X ~ M ( k - 1 : k ) except x m ( k ) . To determine the marginal (7) recursively at each epoch k, the integrand of (9) can be further decomposed as

p X ~ M ( k - 2 : k ) | O ~ M ( 1 : k ) p P ~ M ( k ) | X ~ M ( k ) , Φ ~ M ( 1 : k ) × p R ~ M ( k ) | X ~ M ( k ) , F ~ M ( 1 : k ) p G ~ M ( k ) | X ~ M ( k ) × p Φ ~ M ( k ) | X ~ M ( k ) p F ~ M ( k ) | X ~ M ( k ) × m M p x m ( k ) | x m ( k - 2 : k - 1 ) p x m ( k - 2 : k - 1 ) | O ~ M ( 1 : k - 1 )
(10)

Ignoring the backward smoothing of O ~ M ( k - 1 ) on x m ( k - 2 ) , it holds that

p x m ( k - 2 : k - 1 ) | O ~ M ( 1 : k - 1 ) = p x m ( k - 1 ) | O ~ M ( k - 1 ) × p x m ( k - 2 ) | O ~ M ( k - 2 )
(11)

Given the state X ~ M ( k ) , all the measurements are statistically independent, so

p P ~ M ( k ) | X ~ M ( k ) , Φ ~ M ( 1 : k ) = m M s S m ( k ) p ρ s m ( k ) | x m ( k ) , ϕ s m ( 1 : k )
(12)
p R ~ M ( k ) | X ~ M ( k ) , F ~ M ( 1 : k ) = m M n M m ( k ) , n > m p r n m ( k ) | x m ( k ) , x n ( k ) , f n m ( 1 : k )
(13)
p G ~ M ( k ) | X ~ M ( k ) = g G m M n G m ( g , k ) , n > m p d n m ( g , k ) | x m ( k ) , x n ( k )
(14)
p Φ ~ m ( k ) | X ~ M ( k ) = m M s S m ( k ) p ϕ s m ( k ) | x m ( k )
(15)
p F ~ m ( k ) | X ~ M ( k ) = m M n M m ( k ) , n > m p f n m ( k ) | x m ( k )
(16)

Now for each node m ∈ M, we define the following:

  1. 1.

    Υ s , m ( x m ( k ) )p( ρ s m ( k ) | x m ( k ) , ϕ s m ( 1 : k ) ), denoting the pseudorange measurement model of node m at epoch k.

  2. 2.

    Θ s , m ( x m ( k ) )p( ϕ s m ( k ) | x m ( k ) ), representing carrier phase measurement model of node m at epoch k.

  3. 3.

    Γ n , m ( x n ( k ) , x m ( k ) )p( r n m ( k ) | x m ( k ) , x n ( k ) , f n m ( 1 : k ) ), denoting the range measurement model of node m with node n at epoch k.

  4. 4.

    Ω n , m g ( x n ( k ) , x m ( k ) )p( d n m ( g , k ) | x m ( k ) , x n ( k ) ), denoting the TDoA measurement model of node m to n with reference to SoOP source g at epoch k.

  5. 5.

    Ψ n , m ( x n ( k ) , x m ( k ) )p( f n m ( k ) | x m ( k ) , x n ( k ) , f n m ( 1 : k ) ), denoting the peer-to-peer Doppler measurements of nodes m and n at epoch k.

  6. 6.

    Δ m ( x m ( k ) , x m ( k - 2 : k - 1 ) )p( x m ( k ) | x m ( k - 2 : k - 1 ) ), denoting dead reckoning of node m from epoch k - 2 : k - 1 to k.

With the above definitions, we have

p X ~ M ( k - 1 : k ) | O ~ M ( 1 : k ) m M s S m ( k ) Υ m x m ( k ) × n M m ( k ) , n > m Γ n , m x n ( k ) , x m ( k ) × g G n G m ( g , k ) , n > m Ω n , m g x n ( k ) , x m ( k ) × s S m ( k ) Θ s , m x m ( k ) n M m ( k ) , n > m Ψ n , m x n ( k ) , x m ( k ) × n M m ( k ) Δ m x m ( k ) , x m ( k - 2 : k - 1 ) p x m ( k - 2 : k - 1 ) | O ~ M ( k - 1 )
(17)

With Equation 17, we have the factor subgraph of node m as given in Figure1. The factor subgraphs of all nodes m ∈ M, when interconnected, make up the complete factor graph. Figure2 illustrates the complete factor graph of nodes of the simulation scenario given by Figure3.

Figure 1
figure 2

The factor subgraph of nodem . The factor subgraphs of all nodes m ∈ M make up the complete factor graph.

Figure 2
figure 1

The complete factor graph of the simulation scenario.

Figure 3
figure 3

The simulation scenario. A group of six UAVs are flying from a start point under the control of ground control station N 0 to a destination with ground control station N 1 , but experience a GPS countermeasure in the midway.

3.2 The sum product update rule

A belief propagation algorithm defines the sum product messages and their update rules over the factor graph. In our case, there are six classes of messages:

  1. 1.

    Dead-reckon message h Δ m x m , associated to the state of node m from epoch k - 2 : k - 1 to k

  2. 2.

    Satellite pseudorange factor messages h Υ s , m x m , associated to the pseudorange measurements, useful only in estimating l m ( k ) and b m ( k )

  3. 3.

    Satellite carrier phase factor messages h Θ s , m x m , associated to the pseudorange measurements, useful only in estimating l m ( k ) and v m ( k )

  4. 4.

    Messages from range neighbors h Γ n , m x m , representing the positioning information from neighbors with range and closed-loop Doppler measurements

  5. 5.

    Messages from SoOP neighbors h Ω n , m g x m , representing the positioning information from neighbors with TDoA measurement with reference to the SoOP source g

  6. 6.

    Messages to peers h x m x n , where n M m ( k ) which node m sends to all neighbors including range neighbors and SoOP neighbors

The proposed positioning algorithm, named BOPU, includes two steps. The first step is to obtainp( x m ( 0 ) ) at epoch 0, which is done by a cooperative least square positioning. The second step is to obtainp( x m ( k ) | O ~ M ( 1 : k ) ) at epoch k ≥ 1. Using all the above message definitions, the sum product update rule of the proposed positioning algorithm can be given as in Algorithm 1.

Algorithm 1 Belief propagation-based Opportunistic Positioning of UAVs

3.3 The messages in parametric form

A compact parametric form of the messages involved in the proposed algorithm is needed to make it permissible to transmit over a wireless network with limited bandwidth, which are given below:

  1. 1.

    Dead-reckon message h Δ m x m is associated to the state of node m from epoch k - 2 : k - 1 to k. From Figure 1, we have

    h Δ m x m Δ m x m ( k ) , x m ( k - 2 : k - 1 ) p x m ( k - 2 : k - 1 ) | O ~ M ( 1 : k - 1 ) x m ( k - 2 : k - 1 )
    (18)

    From its definition, the dead-reckon message is a Gaussian probability density function with mean μ x m ( k ) and covariance Σ x m ( k ) . The mean μ x m ( k ) and covariance Σ x m ( k ) can be derived from μ x m ( k - 1 ) and Σ x m ( k - 1 ) , respectively. Among the many ways for dead reckoning, we set

    μ x m ( k ) =2 μ x m ( k - 1 ) - μ x m ( k - 2 )
    (19)

    Following (19), it is trivial to derive

    Σ x m ( k ) =4 Σ x m ( k - 1 ) + Σ x m ( k - 2 )
    (20)
  2. 2.

    Satellite factor messages h Υ s , m x m are associated to the pseudoranges of node m. The pseudorange of node m from satellite s is assumed to be bias free except the receiver clock bias; thus, we have

    h Υ s , m x m exp - 1 2 σ s m 2 l m ( k ) - l s ( k ) + b m ( k ) - ρ ̂ s m ( k ) 2
    (21)

    where σ s m 2 is the pseudorange error power of satellite s at node m and ρ ̂ s ( k ) is the carrier phase smoothed pseudorange, which can be expressed in a recursive form as[33]

    ρ ̂ s m ( k ) = ρ s m ( k ) k + k - 1 k ρ ̂ s m ( k - 1 ) + ϕ s m ( k )
    (22)

    We note here that h Υ s , m x m is only contributable to l m and b m .

  3. 3.

    Satellite carrier phase factor messages h Θ s , m x m are associated to satellite carrier phase measurements. For

    λ ϕ s m ( k ) / T e = v s ( k ) - v m ( k ) 1 m s +δ f m ( k ) -δ f s ( k )
    (23)

    where 1 ms is the unit vector directed from node m to satellite s,δ f s ( k ) is the clock drift rate of satellite s. So we have

    h Θ s , m x m exp 1 2 σ ϕ 2 ϕ s m ( k ) - v s ( k ) - v m ( k ) 1 m s + δ f m ( k ) - δ f s ( k ) t / λ
    (24)

    We note here that h Θ s , m x m is only contributable to v m .

  4. 4.

    Messages to peers h x m x n are messages that node m sends to all neighbors, in the following form:

    h x m x n h Δ m x m s S m ( k ) h Υ s , m x m × g G , n G m ( g , k ) h Ω n , m g x m s S m ( k ) h Θ s , m x m × n M m ( k ) n h Γ n , m x m
    (25)

    At the initialization stage of each epoch, h Ω n , m g x m and h Δ n , m x m are not available; then we have

    h x m Δ m , n h Δ m x m s S m ( k ) h Υ s , m x m s S m ( k ) h Θ s , m x m
    (26)

    It is hard to find the exact expression of Equations 25 and 26, so we approximate the result of message multiplication as a Gaussian distribution:

    h x m Δ m , n 1 z exp - 1 2 x m ( k ) - μ x m n ( k ) × Σ x m n ( k ) - 1 x m ( k ) - μ x m n ( k ) T
    (27)

    where z is the normalization factor. In practice, the values of μ x m n ( k ) and Σ x m n ( k ) are approximated by an unscented particle filtering as Algorithm 2, which will be disposed of later.

  5. 5.

    Messages from range neighbors h Γ n , m x m represent the contribution of ranging information from wireless neighbors. For the position of ground control stations are known, h Γ n , m x m associated to the ranging information of node m to a control station n can be expressed as

    h Γ n , m l m exp - 1 2 σ n m 2 l m ( k ) - l n ( k ) - r ̂ n m ( k ) 2
    (28)

    where σ n m 2 is the ranging error power and r ̂ n ( k ) is the Doppler smoothed range, which can be expressed in a recursive form as

    r ̂ n m ( k ) = r n m ( k ) k + k - 1 k r ̂ n m ( k - 1 ) + λ f n m ( k ) - f n m ( k - 1 )
    (29)

    Ground control stations’ Doppler messages h Ψ n , m x m are associated to the Doppler information of node m to ground control stations. Similar to h Θ s , m x m , we have

    h Ψ n , m x m exp 1 2 σ f 2 f m g ( k ) + v m ( k ) 1 m n / λ 2
    (30)

    Messages from other UAVs whose positions are not known can be expressed as

    h Γ n , m x m Γ n , m x n ( k ) , x m ( k ) h x n x m x n ( k )
    (31)

    To find out the parametric form of this distribution, we follow a divide-and-conquer approach. First, we can see that the mean of position l m ( k ) in this distribution is a ball with radius r n m ( k ) and center μ l m n ( k ) , and its covariance is Σ x n m ( k ) + σ n m 2 I. Any valid point on the surface of the ball is restricted by

    r ( k ) = μ l m n ( k ) + r m n ( k ) 1 n m
    (32)

    thus, we have

    h Γ n , m l m exp - 1 2 l m ( k ) - r ( k ) Σ x m n ( k ) + σ n m 2 I - 1 × l m ( k ) - r ( k ) T
    (33)

    where

    1 m n = l m ( k ) - μ l m n ( k ) l m ( k ) - μ l m n ( k )
    (34)

    Similarly,

    h Γ n , m v m exp - 1 2 v m ( k ) - v r ( k ) Σ v m n ( k ) + σ v 2 I - 1 × v m ( k ) - v r ( k ) T
    (35)

    where

    v r = μ v m n ( k ) +λ f m n ( k ) 1 m n
    (36)
  6. 6.

    Messages from SoOP neighbors h Ω n , m g x m represent the contribution of TDoA measurements referencing SoOP source g, which can be expressed as

    h Ω n , m g x m Ω n , m g x n ( k ) , x m ( k ) h x n x m x n ( k )
    (37)

    The mean position l m ( k ) in this distribution is a ball with center l g and radius|| l g - μ n m ||- d n m ( k ) , and its covariance is Σ x n m ( k ) + σ d 2 I. We now define a vector

    g = l m ( k ) - l g - d m n ( k ) + μ l m n ( k ) - l g 1 m g
    (38)

    where

    1 m g = l m ( k ) - l g l m ( k ) - l g
    (39)

    thus, we have

    h Ω n , m l m exp - 1 2 g Σ x m n ( k ) + σ d 2 I - 1 ( g ) T
    (40)

    Finally, we havep x m ( k ) | O ~ M ( 1 : k ) as

    p x m ( k ) | O ~ M ( 1 : k ) h Δ m x m s S m ( k ) h Γ s , m x m g G m ( k ) s S m ( k ) h Θ s , m x m g G , n G m ( g , k ) h Ω n , m g x m n M m ( k ) h x n x m
    (41)

    With Gaussian approximation, we can also calculatep( x m ( k ) | O ~ M ( 1 : k ) ) using Algorithm 2.

Algorithm 2 Message calculation using unscented particle filter

3.4 Calculating the factor products

The products of factors, i.e., Equations 25, 26, and 41, are mathematically intractable. This is a problem that permeates in many disciplines of sciences. The most widely known methods are importance sampling[31], bootstrap particle filter[34], and unscented particle filters[35, 36]. While importance sampling is convenient and attractive, it suffers from the sample degeneracy problem. Bootstrap filter and unscented particle filter try to avoid this degeneracy by context-aware resampling, which eliminates the particles having low importance weights and proliferates particles having high importance weights. A bootstrap particle filter uses state update information for resampling, while an unscented particle filter further improves the bootstrap particle filter by estimating the first- and second-order moments of the new state incorporating new observations using unscented transform before resampling.

We present the variation of unscented particle filter for calculating the factor products of this work in Algorithm 2. In Algorithm 2, n a , η, W j c 0 , and W j c 1 are parameters related to unscented transform. n a  = 7 is the number of states, which is 7 in our case. η = 3α 2 - n a , W 0 c 0 =η/( n a +η), and W 0 c 1 =η/( n a +η)+(3- α 2 ) for Gaussian distributions. For j = 1 to 2n a , W j c 0 = W j c 1 =1/[2( n a +η)].

4 Simulations and discussions

4.1 Setup

For belief propagation combined with varied linear and nonlinear filters is widely available in the literature, we focused on evaluating the robustness of BOPU with some discussions on the appropriateness of the approximations in BOPU. Simulations are conducted by MATLAB with a fictitious scenario as given in Figure3. In Figure3, a group of six UAVs indexed by 0 to 5 are flying in a formation from a start point under the control of ground station N 0 to a destination with ground station N 1 and a SoOP source G 0 in view, but experience a GPS countermeasure en route. The positions of satellites in view are given in Table1. All UAVs follow the same velocity but with a different point of departure as also given in Table1. The velocity of the formation flying is given in Figure4a, and the route of node 0 is given in Figure4b. The simulated cases include the following:

  • Case 0: Whenever a node has at least four satellites in view, it will not participate in the belief propagation but will offer the statistics of its own position. In addition, the measurements with the two ground control stations N 0 and N 1 and the SoOP source G 0 signal are not utilized. Case 0 reduces the positioning traffic over the wireless network to a minimum but is expected to have the poorest positioning performance.

  • Case 1: All nodes take part in the belief propagation process as stated in Algorithm 1 but do not utilize the measurements with the two ground control stations N 0 and N 1 and the SoOP source G 0 signal.

  • Case 2: All nodes take part in the belief propagation process as stated in Algorithm 1, and the measurements with the two ground control stations N 0 and N 1 and the SoOP source G 0 signal are used.

  • Case 3: All nodes take part in the belief propagation process. Besides, the control stations also provide pseudorange differential corrections at each epoch and broadcast to other nodes. The differential corrections help effectively remove b s ( k ) .

Table 1 Satellites and UAV departure points in the simulation setup, where ENU(0,0,0) corresponds to LLH(116.3328,40.0018,100)
Figure 4
figure 4

Simulation results with ground stations N 0 and N 1 .(a) Velocity of the formation flying. (b) The route of node 0. (c) Horizonal P.D.F positioning performance. (d) Vertical P.D.F positioning performance. (e) Horizonal positioning RMSE. (f) Vertical positioning RMSE.

In the simulations, ground control stations 0 and 1 are placed at ENU(0,0,10) and ENU(50,000,50,000,10), respectively. The raw pseudorange observation error power σ s M 2 = ( 3 m ) 2 . The mean of b s ( k ) is 6 m, and the error power of b s ( k ) is (1 m)2. The error power of λ(δ f) is (0.2 m/s)2, the error power of λ(δ ϕ)/(δ t) is (0.1 m/s)2, the ranging error power with peers and ground control stations is (3 m)2, and the TDoA measurement error power is set to (3 m)2, with α = 0.5. The SoOP source G 0 is placed at midway ENU(25,000,25,000,10). Nodes exchange time of arrival with wireless neighbors; thus, TDoA is also available between neighbors and D m ( G 0 , k ) = R m ( k ) { N 0 , N 1 }. T e  = 1s.

4.2 Results and discussions

Figure4 gives the simulation results. As can be seen, from case 0 to case 3, the positioning performance improves almost steadily. In case 0, node 0 and node 1 have at least four satellites, and they determine their position using a traditional weighted least square positioning algorithm in order to save communication bandwidth. Without iterations with node 0 and node 1, the positioning performance of other nodes is being restrained. In case 1, all nodes take part in the belief propagation process, which is helpful in improving the positioning performance of all nodes (especially nodes 2 to 5), so the overall performance of case 1 is better than that of case 0. The outperformance of case 2 over case 1 comes from the full usage of all available observations, especially ranges and closed-loop Doppler with ground control stations, and TDoA observations from SoOP source G 0. The measurements with the ground control stations N 0 , N 1 and SoOP source G 0 help improve geometric dilution of positioning in a big way. In case 3, ground control stations also generate corrections for pseudoranges, which directly improves the quality of pseudoranges, thus the positioning precision.

The positioning performance of all nodes is given in Figure4e,f in terms of root mean square error (RMSE). It follows the fact that the more observables, the better precision. In case 0, node 1 uses only the observation from four satellites in view, so its horizonal RMSE is even less than those of node 2 and node 3. Nodes 2 to 5, which have less than four satellites in view under some given GNSS interference, can still achieve positioning by utilizing the peer to peer measurements and the measurements with control stations. Node 5 experienced the strongest interference. Without any satellite in view but with a better geometric position, node 5 achieved even better positioning performance than nodes 3 and 4 that have satellites in view.

The results show that the performance of BOPU varies only slightly with different measurements availability. The main approximations made in the proposed BOPU are as follows: (1) The correlated errors of pseudoranges b s ( k ) are ignored in factorization. The simulation results of case 3 and case 2 show that such an approximation is acceptable. (2) The dead-reckon message (19) and (20) actually ignored nonzero off-diagonal values, and Equation 11 ignores the smoothing of O ~ M ( k - 1 ) on x m ( k - 2 ) . Such approximations hold where the quality of observations dominates the positioning performance such as the cases in simulations. For UAVs, the positioning result using all wireless sources is further coupled with IMU measurements to reach out for a better final result.

4.3 Algorithmic complexity

Given a node m at epoch k, we have one dead-reckon message,| S m ( k ) | satellite pseudorange factor messages,| M m ( k ) | messages from range neighbors, and g G | G m ( g , k ) | messages from SoOP neighbors. It uses N particles in UPF and I iterations in the product estimate. The core of UPF is UKF whose complexity isO( n a 3 )[37], where n a is the number of states as stated before. The complexities of main computations in BOPU are listed in Table2. As was shown in Table2, the complexity of BOPU is dominated by message multiplications needed by messages to peers, which scales asO(IN| S m ( k ) |(1+| M m ( k ) |+| S m ( k ) |+ g G | G m ( g , k ) |) n a 3 ).

Table 2 Computational complexity of node m in the proposed BOPU

5 Conclusions

Nowadays, UAVs are playing an increasingly important role both in the military and in civil affairs. Worries on the robustness of GNSS have also been increasing with the maturity of GNSS countermeasures and proliferation of wireless devices. With the aim of providing a better navigator for UAVs, we investigated the positioning of UAVs with all wireless sources via belief propagation with unscented particle filtering. By jointly using the measurements from GNSS satellites, peer UAVs, ground control stations, and signal of opportunities, the proposed algorithm, which is named BOPU, provides an improved positioning robustness and algorithmically proven high precision. By being opportunistic, BOPU allows for not only flexible variations of measurements availability but also agile compromise between wireless bandwidth consumption and positioning performance when put into practice.