Robust allsource positioning of UAVs based on belief propagation
 Xi Chen^{1}Email author,
 Wenyun Gao^{1} and
 Jiabo Wang^{1}
https://doi.org/10.1186/168761802013150
© Chen et al.; licensee Springer. 2013
Received: 27 May 2013
Accepted: 17 September 2013
Published: 25 September 2013
Abstract
For unmanned air vehicles (UAVs) to survive hostile operational environments, it is always preferable to utilize all wireless positioning sources available to fuse a robust position. While belief propagation is a wellestablished method for all source data fusion, it is not an easy job to handle all the mathematics therein. In this work, a comprehensive mathematical framework for belief propagationbased allsource positioning of UAVs is developed, taking wireless sources including Global Navigation Satellite Systems (GNSS) space vehicles, peer UAVs, ground control stations, and signal of opportunities. Based on the mathematical framework, a positioning algorithm named Belief propagationbased Opportunistic Positioning of UAVs (BOPU) is proposed, with an unscented particle filter for Bayesian approximation. The robustness of the proposed BOPU is evaluated by a fictitious scenario that a group of formation flying UAVs encounter GNSS countermeasures en route. Four different configurations of measurements availability are simulated. The results show that the performance of BOPU varies only slightly with different measurements availability.
Keywords
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[1–3].
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[4–6]. 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 pseudorangeonly 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 oneorder linearization[9]. A big step forward for Kalmanbased filtering is the invention of unscented Kalman filtering[10–12]. In cooperative positioning[13–20], 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)[22–25], 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 propagationbased cooperative positioning was studied for wireless sensor networks, mobile ad hoc networks, vehicle ad hoc networks, etc.[28–31]. By jointly using ranges with peer nodes and pseudoranges from satellites, cooperative positioning dramatically improves the availability and accuracy of positioning, especially in GNSSchallenged 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 allsource positioning context, flexibility and robustness, which allow for runtime 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 wellestablished algorithm, it is not an easy job to handle the mathematics therein when all wireless positioning sources are considered.
For the above motivations, allsource 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 closedloop Doppler from peer UAVs, (3) ranging information and closedloop 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 propagationbased 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
 1.Pseudorange ${\rho}_{s\to m}^{(k)}$ from satellite s ∈ S, which is in the form${\rho}_{s\to m}^{(k)}=\parallel {\mathit{\ell}}_{s}^{(k)}{\mathit{\ell}}_{m}^{(k)}\parallel +{b}_{m}^{(k)}+{b}_{s}^{(k)}+{\epsilon}_{\rho s}^{(k)}$(1)
where${b}_{s}^{(k)}$ represents the sum of correlated errors which generally include tropospheric error, ionospheric error, and ephemeris error, while${\epsilon}_{\rho s}^{(k)}$ represents all uncorrelated errors following a Gaussian distribution.
 2.Carrier phase elapsed ${\varphi}_{s\to m}^{(k)}$ during epoch k and k  1 from satellite s ∈ S, which is in the form${\varphi}_{s\to m}^{(k)}=\varphi {}_{m}+{\epsilon}_{\varphi s}^{(k)}$(2)
where ϕ_{ m } is the true value and${\epsilon}_{\varphi s}^{(k)}$ is the carrier phase observation Gaussian error.
 3.Ranges ${r}_{n\leftrightarrow m}^{(k)}$ with neighbors $n\in {\mathbf{\text{M}}}_{m}^{(k)}$, which is in the form${r}_{n\leftrightarrow m}^{(k)}=\parallel {\mathit{\ell}}_{n}^{(k)}{\mathit{\ell}}_{m}^{(k)}\parallel +{\epsilon}_{r}^{(k)}$(3)
where n is the index of the neighbor and${\epsilon}_{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\leftrightarrow m}^{(k)}={r}_{m\leftrightarrow n}^{(k)}$.
 4.Closedloop Doppler measurement ${f}_{n\leftrightarrow m}^{(k)}$ with neighbors $n\in {\mathbf{\text{M}}}_{m}^{(k)}$. By closedloop Doppler measurement [32], the clock differential of wireless neighbors is eliminated and the resulting ${f}_{n\leftrightarrow m}^{(k)}$ contains the Doppler that is only related to the relative movement of the neighbor nodes involved, specifically,${f}_{n\leftrightarrow m}^{(k)}=\frac{\left({\mathit{v}}_{n}^{(k)}{\mathit{v}}_{m}^{(k)}\right)\bullet {\mathbf{\text{1}}}_{n\to m}}{\lambda}+{\epsilon}_{f}^{(k)}$(4)where λ is the wavelength of the carrier used in Doppler measurement, and${\mathbf{\text{1}}}_{n\to m}\triangleq \frac{\left({\mathit{\ell}}_{n}^{(k)}{\mathit{\ell}}_{m}^{(k)}\right)}{\parallel {\mathit{\ell}}_{n}^{(k)}{\mathit{\ell}}_{m}^{(k)}\parallel}$(5)
From Equation 4, we have${f}_{n\leftrightarrow m}^{(k)}={f}_{m\leftrightarrow n}^{(k)}$.
 5.TDoA ${d}_{n\to m}^{(g,k)}$ in meters with neighbors $n\in {\mathbf{\text{G}}}_{m}^{(g,k)}$ referring to g, which is in the form${d}_{n\to m}^{(k)}=\left(\parallel {\mathit{\ell}}_{g}^{(k)}{\mathit{\ell}}_{n}^{(k)}\parallel \parallel {\mathit{\ell}}_{g}^{(k)}{\mathit{\ell}}_{m}^{(k)}\parallel \right)+{\epsilon}_{d}^{(k)}$(6)
In (6), c is the speed of light and${\epsilon}_{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 highquality atomic clock resynchronized at every departure. In such case,${\epsilon}_{d}^{(k)}$ increases slowly as clock drift accumulates with time.
For brevity, we further define the following notations:${\stackrel{~}{\mathit{X}}}_{M}^{(k)}\triangleq \{{\mathit{x}}_{m}^{(k)}\forall m\in \mathit{M}\}$;${\mathit{P}}_{m}^{(k)}\triangleq \{{\rho}_{s\to m}^{(k)}\forall s\in {\mathit{S}}_{m}^{(k)}\}$,${\stackrel{~}{\mathit{P}}}_{M}^{(k)}\triangleq \{{\mathit{P}}_{m}^{(k)}\forall m\in \mathit{M}\}$;${\mathit{R}}_{m}^{(k)}\triangleq \{{r}_{n\leftrightarrow m}^{(k)}\forall n\in {\mathit{M}}_{m}^{(k)}\}$,${\stackrel{~}{\mathit{R}}}_{M}^{(k)}\triangleq \{{\mathit{R}}_{m}^{(k)}\forall m\in \mathit{M}\}$;${\mathit{F}}_{m}^{(k)}\triangleq \{{f}_{n\leftrightarrow m}^{(k)}\forall n\in {\mathit{M}}_{m}^{(k)}\}$,${\stackrel{~}{\mathit{F}}}_{m}^{(k)}\triangleq \{{\mathit{F}}_{M}^{(k)}\forall m\in \mathit{M}\}$;${\mathit{D}}_{m}^{(g,k)}\triangleq \{{d}_{n\to m}^{(g,k)}\forall n\in {\mathit{G}}_{m}^{(g,k)}\}$,${\stackrel{~}{\mathit{D}}}_{M}^{(g,k)}\triangleq \{{\mathit{D}}_{m}^{(g,k)}\forall m\in \mathit{M}\}$,${\stackrel{~}{\mathit{D}}}_{M}^{(k)}\triangleq \{{\stackrel{~}{\mathit{D}}}_{M}^{(g,k)}\forall g\in \mathbf{\text{G}}\}$;${\mathit{\Phi}}_{m}^{(k)}\triangleq \{{\phi}_{s\to m}^{(k)}\forall s\in {\mathit{S}}_{m}^{(k)}\}$,${\stackrel{~}{\mathit{\Phi}}}_{M}^{(k)}\triangleq \{{\mathit{\Phi}}_{m}^{(k)}\forall m\in \mathit{M}\}$;${\stackrel{~}{\mathit{O}}}_{M}^{(k)}=\{{\stackrel{~}{\mathit{P}}}_{M}^{(1:k)},{\stackrel{~}{\mathit{R}}}_{M}^{(1:k)},{\stackrel{~}{\mathit{D}}}_{M}^{(k)},{\stackrel{~}{\mathit{\Phi}}}_{M}^{(1:k)},{\stackrel{~}{\mathit{F}}}_{M}^{(1:k)\}}\}$.
3 The proposed BOPU
3.1 The Bayesian inference
 1.
${{\rm Y}}_{s,m}({\mathit{x}}_{m}^{(k)})\triangleq p({\rho}_{s\to m}^{(k)}{\mathit{x}}_{m}^{(k)},{\varphi}_{s\to m}^{(1:k)})$, denoting the pseudorange measurement model of node m at epoch k.
 2.
${\Theta}_{s,m}({\mathit{x}}_{m}^{(k)})\triangleq p({\varphi}_{s\to m}^{(k)}{\mathit{x}}_{m}^{(k)})$, representing carrier phase measurement model of node m at epoch k.
 3.
${\Gamma}_{n,m}({\mathit{x}}_{n}^{(k)},{\mathit{x}}_{m}^{(k)})\triangleq p({r}_{n\leftrightarrow m}^{(k)}{\mathit{x}}_{m}^{(k)},{\mathit{x}}_{n}^{(k)},{f}_{n\leftrightarrow m}^{(1:k)})$, denoting the range measurement model of node m with node n at epoch k.
 4.
${\Omega}_{n,m}^{g}({\mathit{x}}_{n}^{(k)},{\mathit{x}}_{m}^{(k)})\triangleq p({d}_{n\to m}^{(g,k)}{\mathit{x}}_{m}^{(k)},{\mathit{x}}_{n}^{(k)})$, denoting the TDoA measurement model of node m to n with reference to SoOP source g at epoch k.
 5.
${\Psi}_{n,m}({\mathit{x}}_{n}^{(k)},{\mathit{x}}_{m}^{(k)})\triangleq p({f}_{n\leftrightarrow m}^{(k)}{\mathit{x}}_{m}^{(k)},{\mathit{x}}_{n}^{(k)},{f}_{n\leftrightarrow m}^{(1:k)})$, denoting the peertopeer Doppler measurements of nodes m and n at epoch k.
 6.
${\Delta}_{m}({\mathit{x}}_{m}^{(k)},{\mathit{x}}_{m}^{(k2:k1)})\triangleq p({\mathit{x}}_{m}^{(k)}{\mathit{x}}_{m}^{(k2:k1)})$, denoting dead reckoning of node m from epoch k  2 : k  1 to k.
3.2 The sum product update rule
 1.
Deadreckon message ${h}_{{\Delta}_{m}\to {\mathit{x}}_{m}}$, associated to the state of node m from epoch k  2 : k  1 to k
 2.
Satellite pseudorange factor messages ${h}_{{{\rm Y}}_{s,m}\to {\mathit{x}}_{m}}$, associated to the pseudorange measurements, useful only in estimating ${\mathit{l}}_{m}^{(k)}$ and ${b}_{m}^{(k)}$
 3.
Satellite carrier phase factor messages ${h}_{{\Theta}_{s,m}\to {\mathit{x}}_{m}}$, associated to the pseudorange measurements, useful only in estimating ${\mathit{l}}_{m}^{(k)}$ and ${\mathit{v}}_{m}^{(k)}$
 4.
Messages from range neighbors ${h}_{{\Gamma}_{n,m}\to {\mathit{x}}_{m}}$, representing the positioning information from neighbors with range and closedloop Doppler measurements
 5.
Messages from SoOP neighbors ${h}_{{\Omega}_{n,m}^{g}\to {\mathit{x}}_{m}}$, representing the positioning information from neighbors with TDoA measurement with reference to the SoOP source g
 6.
Messages to peers ${h}_{{x}_{m}\to {x}_{n}}$, where $n\in {\mathit{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 obtain$p({\mathit{x}}_{m}^{(0)})$ at epoch 0, which is done by a cooperative least square positioning. The second step is to obtain$p({\mathit{x}}_{m}^{(k)}{\stackrel{~}{\mathit{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.
3.3 The messages in parametric form
 1.Deadreckon message ${h}_{{\Delta}_{m}\to {x}_{m}}$ is associated to the state of node m from epoch k  2 : k  1 to k. From Figure 1, we have$\begin{array}{ll}\phantom{\rule{6.5pt}{0ex}}{h}_{{\Delta}_{m}\to {x}_{m}}\propto & \int {\Delta}_{m}\left({\mathit{x}}_{m}^{(k)},{\mathit{x}}_{m}^{(k2:k1)}\right)\\ p\left({\mathit{x}}_{m}^{(k2:k1)}{\stackrel{~}{\mathbf{\text{O}}}}_{M}^{(1:k1)}\right)\partial {\mathit{x}}_{m}^{(k2:k1)}\end{array}$(18)From its definition, the deadreckon message is a Gaussian probability density function with mean${\mathit{\mu}}_{{x}_{m}^{(k)}}$ and covariance${\mathit{\Sigma}}_{{x}_{m}^{(k)}}$. The mean${\mathit{\mu}}_{{x}_{m}^{(k)}}$ and covariance${\mathit{\Sigma}}_{{x}_{m}^{(k)}}$ can be derived from${\mathit{\mu}}_{{x}_{m}^{(k1)}}$ and${\mathit{\Sigma}}_{{x}_{m}^{(k1)}}$, respectively. Among the many ways for dead reckoning, we set${\mathit{\mu}}_{{x}_{m}^{(k)}}=2{\mathit{\mu}}_{{x}_{m}^{(k1)}}{\mathit{\mu}}_{{x}_{m}^{(k2)}}$(19)Following (19), it is trivial to derive${\Sigma}_{{x}_{m}^{(k)}}=4{\Sigma}_{{x}_{m}^{(k1)}}+{\Sigma}_{{x}_{m}^{(k2)}}$(20)
 2.Satellite factor messages ${h}_{{{\rm Y}}_{s,m}\to {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$\begin{array}{l}{h}_{{{\rm Y}}_{s,m}\to {x}_{m}}\phantom{\rule{0.3em}{0ex}}\propto \phantom{\rule{0.3em}{0ex}}exp\left(\phantom{\rule{0.3em}{0ex}}\frac{1}{2{\sigma}_{s\to m}^{2}}{\left(\parallel {\mathit{l}}_{m}^{(k)}\phantom{\rule{0.3em}{0ex}}{\mathit{l}}_{s}^{(k)}\parallel \phantom{\rule{0.3em}{0ex}}+\phantom{\rule{0.3em}{0ex}}{b}_{m}^{(k)}\phantom{\rule{0.3em}{0ex}}\phantom{\rule{0.3em}{0ex}}{\widehat{\rho}}_{s\to m}^{(k)}\right)}^{2}\right)\end{array}$(21)where${\sigma}_{s\to m}^{2}$ is the pseudorange error power of satellite s at node m and${\widehat{\rho}}_{s}^{(k)}$ is the carrier phase smoothed pseudorange, which can be expressed in a recursive form as[33]${\widehat{\rho}}_{s\to m}^{(k)}=\frac{{\rho}_{s\to m}^{(k)}}{k}+\frac{k1}{k}\left({\widehat{\rho}}_{s\to m}^{(k1)}+{\varphi}_{s\to m}^{(k)}\right)$(22)
We note here that${h}_{{{\rm Y}}_{s,m}\to {x}_{m}}$ is only contributable to l _{ m } and b _{ m }.
 3.Satellite carrier phase factor messages ${h}_{{\Theta}_{s,m}\to {x}_{m}}$ are associated to satellite carrier phase measurements. For$\left(\lambda {\varphi}_{s\to m}^{(k)}\right)/{T}_{e}=\left({\mathit{v}}_{s}^{(k)}{\mathit{v}}_{m}^{(k)}\right)\bullet {\mathbf{\text{1}}}_{m\to s}+\delta {f}_{m}^{(k)}\delta {f}_{s}^{(k)}$(23)where 1 _{ m→s } is the unit vector directed from node m to satellite s,$\delta {f}_{s}^{(k)}$ is the clock drift rate of satellite s. So we have$\begin{array}{l}{h}_{{\Theta}_{s,m}\to {x}_{m}}\propto exp\left(\frac{1}{2{\sigma}_{\varphi}^{2}}\left({\varphi}_{s\to m}^{(k)}\right.\right.\\ \phantom{\rule{.3em}{0ex}}\left.\left.\left(\left({v}_{s}^{(k)}{v}_{m}^{(k)}\right)\bullet {\mathbf{\text{1}}}_{m\to s}+\delta {f}_{m}^{(k)}\delta {f}_{s}^{(k)}\right)t/\lambda \right)\right)\end{array}$(24)
We note here that${h}_{{\Theta}_{s,m}\to {x}_{m}}$ is only contributable to v _{ m }.
 4.Messages to peers ${h}_{{x}_{m}\to {x}_{n}}$ are messages that node m sends to all neighbors, in the following form:$\begin{array}{l}{h}_{{x}_{m}\to {x}_{n}}\propto {h}_{{\Delta}_{m}\to {x}_{m}}\prod _{s\in {S}_{m}^{(k)}}{h}_{{{\rm Y}}_{s,m}\to {x}_{m}}\times \\ \prod _{g\in G,n\in {G}_{m}^{(g,k)}}{h}_{{\Omega}_{n,m}^{g}\to {x}_{m}}\prod _{s\in {S}_{m}^{(k)}}{h}_{{\Theta}_{s,m}\to {x}_{m}}\times \\ \prod _{{n}^{\prime}\in {M}_{m}^{(k)}\setminus n}{h}_{{\Gamma}_{{n}^{\prime},m}\to {x}_{m}}\end{array}$(25)At the initialization stage of each epoch,${h}_{{\Omega}_{n,m}^{g}\to {x}_{m}}$ and${h}_{{\Delta}_{{n}^{\prime},m}\to {x}_{m}}$ are not available; then we have$\begin{array}{l}{h}_{{x}_{m}\to {\Delta}_{m,n}}\propto {h}_{{\Delta}_{m}\to {x}_{m}}\prod _{s\in {S}_{m}^{(k)}}{h}_{{{\rm Y}}_{s,m}\to {x}_{m}}\prod _{s\in {S}_{m}^{(k)}}{h}_{{\Theta}_{s,m}\to {x}_{m}}\end{array}$(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:$\begin{array}{ll}\phantom{\rule{6.5pt}{0ex}}{h}_{{x}_{m}\to {\Delta}_{m,n}}& \approx \frac{1}{z}exp\left[\frac{1}{2}\left({\mathit{x}}_{m}^{(k)}{\mathit{\mu}}_{{x}_{m\to n}^{(k)}}\right)\right.\\ \phantom{\rule{1em}{0ex}}\left.\times {\mathit{\Sigma}}_{{x}_{m\to n}^{(k)}}^{1}{\left({\mathit{x}}_{m}^{(k)}{\mathit{\mu}}_{{x}_{m\to n}^{(k)}}\right)}^{T}\right]\end{array}$(27)
where z is the normalization factor. In practice, the values of${\mathit{\mu}}_{{x}_{m\to n}^{(k)}}$ and${\mathit{\Sigma}}_{{x}_{m\to n}^{(k)}}$ are approximated by an unscented particle filtering as Algorithm 2, which will be disposed of later.
 5.Messages from range neighbors ${h}_{{\Gamma}_{n,m}\to {x}_{m}}$ represent the contribution of ranging information from wireless neighbors. For the position of ground control stations are known, ${h}_{{\Gamma}_{n,m}\to {x}_{m}}$ associated to the ranging information of node m to a control station n can be expressed as${h}_{{\Gamma}_{n,m}\to {l}_{m}}\propto exp\left(\frac{1}{2{\sigma}_{n\to m}^{2}}{\left(\parallel {\mathit{l}}_{m}^{(k)}{\mathit{l}}_{n}^{(k)}\parallel {\widehat{r}}_{n\leftrightarrow m}^{(k)}\right)}^{2}\right)$(28)where${\sigma}_{n\to m}^{2}$ is the ranging error power and${\widehat{r}}_{n}^{(k)}$ is the Doppler smoothed range, which can be expressed in a recursive form as${\widehat{r}}_{n\leftrightarrow m}^{(k)}=\frac{{r}_{n\leftrightarrow m}^{(k)}}{k}+\frac{k1}{k}\left({\widehat{r}}_{n\leftrightarrow m}^{(k1)}+\lambda \left({f}_{n\leftrightarrow m}^{(k)}{f}_{n\leftrightarrow m}^{(k1)}\right)\right)$(29)Ground control stations’ Doppler messages${h}_{{\Psi}_{n,m}\to {x}_{m}}$ are associated to the Doppler information of node m to ground control stations. Similar to${h}_{{\Theta}_{s,m}\to {x}_{m}}$, we have${h}_{{\Psi}_{n,m}\to {\mathit{x}}_{m}}\propto exp\left(\frac{1}{2{\sigma}_{f}^{2}}{\left({f}_{m\leftrightarrow g}^{(k)}+{\mathit{v}}_{m}^{(k)}\bullet {\mathbf{\text{1}}}_{m\to n}/\lambda \right)}^{2}\right)$(30)Messages from other UAVs whose positions are not known can be expressed as${h}_{{\Gamma}_{n,m}\to {x}_{m}}\propto \int {\Gamma}_{n,m}\left({\mathit{x}}_{n}^{(k)},{\mathit{x}}_{m}^{(k)}\right){h}_{{x}_{n}\to {x}_{m}}\partial {\mathit{x}}_{n}^{(k)}$(31)To find out the parametric form of this distribution, we follow a divideandconquer approach. First, we can see that the mean of position${\mathit{l}}_{m}^{(k)}$ in this distribution is a ball with radius${r}_{n\leftrightarrow m}^{(k)}$ and center${\mathit{\mu}}_{{l}_{m\to n}^{(k)}}$, and its covariance is${\mathit{\Sigma}}_{{x}_{n\to m}^{(k)}}+{\sigma}_{n\to m}^{2}\mathit{I}$. Any valid point on the surface of the ball is restricted by$\begin{array}{l}{\mathit{\ell}}_{r}^{(k)}={\mathit{\mu}}_{{l}_{m\to n}^{(k)}}+{r}_{m\to n}^{(k)}\bullet {\mathbf{\text{1}}}_{n\to m}^{\prime}\end{array}$(32)thus, we have$\begin{array}{ll}\phantom{\rule{6.5pt}{0ex}}{h}_{{\Gamma}_{n,m}\to {l}_{m}}\propto & exp\left[\frac{1}{2}\left({\mathit{l}}_{m}^{(k)}{\mathit{\ell}}_{r}^{(k)}\right){\left({\mathit{\Sigma}}_{{x}_{m\to n}^{(k)}}+{\sigma}_{n\to m}^{2}\mathit{I}\right)}^{1}\right.\\ \left.\phantom{\rule{1.7em}{0ex}}\times {\left({\mathit{l}}_{m}^{(k)}{\mathit{\ell}}_{r}^{(k)}\right)}^{T}\right]\end{array}$(33)where${\mathbf{\text{1}}}_{m\to n}^{\prime}=\frac{{\mathit{l}}_{m}^{(k)}{\mathit{\mu}}_{{\mathit{l}}_{m\to n}^{(k)}}}{\parallel {\mathit{l}}_{m}^{(k)}{\mathit{\mu}}_{{l}_{m\to n}^{(k)}}\parallel}$(34)Similarly,$\begin{array}{ll}\phantom{\rule{6.5pt}{0ex}}{h}_{{\Gamma}_{n,m}\to {v}_{m}}\propto & exp\left[\frac{1}{2}\left({\mathit{v}}_{m}^{(k)}{\mathit{v}}_{r}^{(k)}\right){\left({\mathit{\Sigma}}_{{v}_{m\to n}^{(k)}}+{\sigma}_{v}^{2}\mathit{I}\right)}^{1}\right.\\ \left.\phantom{\rule{1.7em}{0ex}}\times {\left({\mathit{v}}_{m}^{(k)}{\mathit{v}}_{r}^{(k)}\right)}^{T}\right]\end{array}$(35)where${\mathit{v}}_{r}={\mathit{\mu}}_{{v}_{m\to n}^{(k)}}+\lambda {f}_{m\to n}^{(k)}{\mathbf{\text{1}}}_{m\to n}^{\prime}$(36)
 6.Messages from SoOP neighbors ${h}_{{\Omega}_{n,m}^{g}\to {x}_{m}}$ represent the contribution of TDoA measurements referencing SoOP source g, which can be expressed as${h}_{{\Omega}_{n,m}^{g}\to {x}_{m}}\propto \int {\Omega}_{n,m}^{g}\left({\mathit{x}}_{n}^{(k)},{\mathit{x}}_{m}^{(k)}\right){h}_{{x}_{n}\to {x}_{m}}\partial {\mathit{x}}_{n}^{(k)}$(37)The mean position${\mathit{l}}_{m}^{(k)}$ in this distribution is a ball with center l _{ g } and radius${\mathit{l}}_{g}{\mathit{\mu}}_{n\to m}{d}_{n\to m}^{(k)}$, and its covariance is${\mathit{\Sigma}}_{{x}_{n\to m}^{(k)}}+{\sigma}_{d}^{2}\mathit{I}$. We now define a vector$\begin{array}{l}{\mathit{\ell}}_{g}^{{\prime}^{}}={\mathit{l}}_{m}^{(k)}{\mathit{l}}_{g}\left({d}_{m\to n}^{(k)}+\parallel {\mathit{\mu}}_{{\mathit{l}}_{m\to n}^{(k)}}{\mathit{l}}_{g}\parallel \right)\bullet {\mathbf{\text{1}}}_{m\to g}^{\prime}\end{array}$(38)where${\mathbf{\text{1}}}_{m\to g}^{\prime}=\frac{{\mathit{l}}_{m}^{(k)}{\mathit{l}}_{g}}{\parallel {\mathit{l}}_{m}^{(k)}{\mathit{l}}_{g}\parallel}$(39)thus, we have${h}_{{\Omega}_{n,m}\to {l}_{m}}\propto exp\left(\frac{1}{2}{\mathit{\ell}}_{g}^{{\prime}^{}}{\left({\mathit{\Sigma}}_{{x}_{m\to n}^{(k)}}+{\sigma}_{d}^{2}\mathit{I}\right)}^{1}{({\mathit{\ell}}_{g}^{{\prime}^{}})}^{T}\right)$(40)Finally, we have$p\left({x}_{m}^{(k)}{\stackrel{~}{\mathit{O}}}_{M}^{(1:k)}\right)$ as$\begin{array}{l}p\left({\mathit{x}}_{m}^{(k)}{\stackrel{~}{\mathit{O}}}_{\mathit{M}}^{(1:k)}\right)\propto {h}_{{\Delta}_{m}\to {x}_{m}}\prod _{s\in {\mathit{S}}_{m}^{(k)}}{h}_{{\Gamma}_{s,m}\to {x}_{m}}\\ \prod _{g\in {\mathit{G}}_{m}^{(k)}}\prod _{s\in {\mathit{S}}_{m}^{(k)}}{h}_{{\Theta}_{s,m}\to {x}_{m}}\prod _{g\in \mathit{G},n\in {\mathit{G}}_{m}^{(g,k)}}{h}_{{\Omega}_{n,m}^{g}\to {x}_{m}}\\ \prod _{n\in {\mathit{M}}_{m}^{(k)}}{h}_{{x}_{n}\to {x}_{m}}\end{array}$(41)
With Gaussian approximation, we can also calculate$p({\mathit{x}}_{m}^{(k)}{\stackrel{~}{\mathit{O}}}_{M}^{(1:k)})$ using Algorithm 2.
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 contextaware 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 secondorder 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}^{c0}$, and${W}_{j}^{c1}$ 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}^{c0}=\eta /({n}_{a}+\eta )$, and${W}_{0}^{c1}=\eta /({n}_{a}+\eta )+(3{\alpha}^{2})$ for Gaussian distributions. For j = 1 to 2n _{ a },${W}_{j}^{c0}={W}_{j}^{c1}=1/[2({n}_{a}+\eta )]$.
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}^{\prime}}$ to a destination with ground station${N}_{{1}^{\prime}}$ 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}^{\prime}}$ and${N}_{{1}^{\prime}}$ 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}^{\prime}}$ and${N}_{{1}^{\prime}}$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}^{\prime}}$ and${N}_{{1}^{\prime}}$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)}$.
Satellites and UAV departure points in the simulation setup, where ENU(0,0,0) corresponds to LLH(116.3328,40.0018,100)
0  1  2  3  4  5  

Satellite  
x[s]  26,559,995  13,815.86  26,559,995  13,815.86  13,278,763  N/A 
y[s]  1,425.03  15,232,692  1,425.03  15,232,692  23,002,343  N/A 
z[s]  15,867.57  21,757,722  15,867.57  21,757,722  15,867.57  N/A 
User  
E[d]  19,900  600  20,500  20,500  19,800  19,900 
N[d]  19,200  20,100  20,020  20,500  19,800  19,900 
U[d]  2,000  1,020  1,050  1,100  900  1,200 
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${\sigma}_{s\to M}^{2}={(3\phantom{\rule{1em}{0ex}}\mathrm{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)}\setminus \{{N}_{0}^{\prime},{N}_{1}^{\prime}\}$. 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 closedloop Doppler with ground control stations, and TDoA observations from SoOP source G _{0}. The measurements with the ground control stations${N}_{{0}^{\prime}}$,${N}_{{1}^{\prime}}$ 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 deadreckon message (19) and (20) actually ignored nonzero offdiagonal values, and Equation 11 ignores the smoothing of${\stackrel{~}{\mathit{O}}}_{M}^{(k1)}$ on${\mathit{x}}_{m}^{(k2)}$. 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
Computational complexity of node m in the proposed BOPU
Computation  Complexity  Iteration/epoch 

Deadreckon message  $O({n}_{a}+{n}_{a}^{2})$  1 
Satellite factor message  $O{\mathit{S}}_{m}^{(k)}{n}_{a}$  I 
Carrier phase factor message  $O{\mathit{S}}_{m}^{(k)}{n}_{a}$  I 
Message to peers  $O(N{\mathit{S}}_{m}^{(k)}(1+{\mathit{M}}_{m}^{(k)}+{\mathit{S}}_{m}^{(k)}$  I 
$+{\sum}_{g\in \mathit{G}}{\mathit{G}}_{m}^{(g,k)}){n}_{a}^{3})$  
Message from range neighbors  $O({\mathit{M}}_{m}^{(k)}){n}_{a}^{3})$  I 
Message from SoOP neighbors  $O({\sum}_{g\in \mathit{G}}{\mathit{G}}_{m}^{(g,k)}){n}_{a}^{3})$  I 
Compute$p({x}_{m}^{(k)}{\stackrel{~}{\mathit{O}}}_{M}^{(1:k)})$  $O(N(1+{\mathit{M}}_{m}^{(k)}+{\mathit{S}}_{m}^{(k)}$  I 
$+{\sum}_{g\in \mathit{G}}{\mathit{G}}_{m}^{(g,k)}){n}_{a}^{3})$ 
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.
Declarations
Authors’ Affiliations
References
 Blanch J, Walter T, Enge P: Satellite navigation for aviation in 2025. Proc. IEEE 2012, 100: 18211830.View ArticleGoogle Scholar
 Garello R, Lo Presti L, di Torino P, Samson J: Peertopeer cooperative positioning part I: GNSSaided acquisition. Inside GNSS 55–63 March/April 2012.Google Scholar
 Pullen S, Gao X: GNSS jamming in the name of privacypotential threat to GPS aviation. Inside GNSS 34–41 March/April 2012.Google Scholar
 Dammann A, Sand S, Raulefs R: Signals of opportunity in mobile radio positioning. In Proceedings of the 20th European Signal Processing Conference (EUSIPCO). Bucharest; 27–31 Aug 2012:549553.Google Scholar
 Gill LP, Grenier D, Chouinard JY: Use of XM radio satellite signal as a source of opportunity for passive coherent location. IET Radar, Sonar Navigation 2011, 5(5):536544. 10.1049/ietrsn.2010.0065View ArticleGoogle Scholar
 Robinson M, Ghrist R: Topological localization via signals of opportunity. IEEE Trans. Signal Process 2012, 60(5):23622373.MathSciNetView ArticleGoogle Scholar
 BaoYen Tsui J: Fundamentals of Global Positioning System Receivers: A Software Approach. New York: Wiley; 2004.View ArticleGoogle Scholar
 Julier SJ, Uhlmann JK, DurrantWhyten HF: A new approach for filtering nonlinear systems. Proceedings of the American Control Conference Seattle, 21–23 June 1995, pp. 1628–1632Google Scholar
 Perala T, Piche R: Robust extended Kalman filtering in hybrid positioning applications. In Proceedings of the 4th Workshop on Positioning, Navigation and Communication (WPNC). Hannover; 22–22 March 2007:5563.Google Scholar
 Wan EA, Van Der Merwe R: The unscented Kalman filter for nonlinear estimation. In Proceedings of the IEEE Adaptive Systems for Signal Processing, Communications, and Control Symposium (ASSPCC). Alberta; 1–4 October 2000:153158.Google Scholar
 Zhai X, Qi F, Zhang H: Application of unscented Kalman filter in GPS/INS. In Proceedings of the Symposium on Photonics and Optoelectronics (SOPO). Shanghai; 21–23 May 2012:13.Google Scholar
 Sarkka S: On unscented Kalman filtering for state estimation of continuoustime nonlinear systems. IEEE Trans. Automatic Control 2007, 52(9):16311641.MathSciNetView ArticleGoogle Scholar
 Wymeersch H, Lien J, Win MZ: Cooperative localization in wireless networks. Proc. IEEE 2009, 972: 427450.View ArticleGoogle Scholar
 Alam N, Tabatabaei Balaei A, Dempster AG: A DSRC Dopplerbased cooperative positioning enhancement for vehicular networks with GPS availability. IEEE Trans. Vehicular Technol 2011, 60(9):44624470.View ArticleGoogle Scholar
 Caceres MA, Sottile F, Garello R, Spirito MA: Hybrid GNSSToA localization and tracking via cooperative unscented Kalman filter. In Proceedings of the Personal, Indoor and Mobile Radio Communications (PIMRC). Istanbul; 26–30 Sept 2010:272276.Google Scholar
 Yao J, Balaei AT, Hassan M, Alam N, Dempster AG: Improving cooperative positioning for vehicular networks. IEEE Trans. Vehicular Technol 2011, 60(6):28102823.View ArticleGoogle Scholar
 Gholami M, Gezici S, Strom E: Improved position estimation using Hybrid TWTOA and TDOA in cooperative networks. IEEE Trans. Signal Process 2012, 60(7):37703785.MathSciNetView ArticleGoogle Scholar
 Qu Y, Tian Q: MultiUAV cooperative positioning based on Delaunay triangulation. In Proceedings of the International Conference on Computational Aspects of Social Networks (CASoN). Taiyuan; 26–28 Sept 2010:401404.Google Scholar
 Qu Y, Zhang Y: Faulttolerant localization for multiUAV cooperative flight. In Proceedings of the IEEE/ASME International Conference on Mechatronics and Embedded Systems and Applications (MESA). Qingdao; 15–17 July 2010:131136.View ArticleGoogle Scholar
 Qu Y, Zhang Y: Cooperative localization against GPS signal loss in multiple UAVs flight. J. Syst. Eng. Electron 2011, 22(1):103112.View ArticleGoogle Scholar
 Xiong Z, Sottile F, Caceres MA, Garello R: Hybrid WSNRFID cooperative positioning based on extended Kalman filter. In Proceedings of the IEEEAPS Topical Conference on Antennas and Propagation in Wireless Communications (APWC). Torino; 12–16 Sept 2011:990993.Google Scholar
 Wang N, Yang LQ: Semidefinite programming for GPS. In Proceedings of the 24th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS). Oregon; 21–23 Sept 2011:21202126.Google Scholar
 So A, Ye YY: Theory of semidefinite programming for sensor network localization. Math. Program 2007, 109: 367384. 10.1007/s1010700600401MathSciNetView ArticleGoogle Scholar
 Severi S, Abreu G, Destino G, Dardari D: Understanding and solving flipambiguity in network localization via semidefinite programming. Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM) Honolulu, 30 Nov–4 Dec 2009, pp. 1–6Google Scholar
 Chiu WY, Chen BS, Yang CY: Robust relative location estimation in wireless sensor networks with inexact position problems. IEEE Trans. Mobile Comput 2012, 11: 935946.View ArticleGoogle Scholar
 Alfakih AY, Anjos MF, Piccialli V, Wolkowicz H: Euclidean distance matrices, semidefinite programming and sensor network localization. Portugaliae Mathematica 2011, 53102.Google Scholar
 Waki H, Kim S, Kojima M, Muramatsu M: Sums of squares and semidefinite program relaxations for polynomial optimization problems with structured sparsity. Siam J. Optimization 2006, 17(1):218242. 10.1137/050623802MathSciNetView ArticleGoogle Scholar
 Caceres MA, Penna F, Wymeersch H, Garello R: Hybrid cooperative positioning based on distributed belief propagation. IEEE J. Selected Areas Commun 2011, 29(10):19481958.View ArticleGoogle Scholar
 Sottile F, Wymeersch H, Caceres MA, Spirito MA: Hybrid GNSSterrestrial cooperative positioning based on particle filter. In Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM). Houston; 5–9 Dec 2011:59.Google Scholar
 Kschischang FR, Frey BJ, Loeliger HA: Factor graphs the sumproduct algorithm. IEEE Trans. Inf. Theory 2001, 47(2):498519. 10.1109/18.910572MathSciNetView ArticleGoogle Scholar
 Barber D: Bayesian Reasoning and Machine Learning. Cambridge: Cambridge University Press; 2012.Google Scholar
 Smith WM, Cox DC: A closedloop Doppler measurement for velocity estimation in mobile, multipath environments. In Proceedings of the IEEE Antennas and Propagation Society International Symposium (APSURSI). Monterey; 20–25 June 2004:22032206.Google Scholar
 Hatch RR: The synergism of GPS code and carrier measurements. In Proceedings of the 3rd International Symposium on Satellite Doppler Positioning. New Mexico; 8–12 Feb 1982:12131231.Google Scholar
 Gordon NJ, Salmond DJ, Smith AFM: Novel approach to nonlinear/nonGaussian Bayesian state estimation. IEEE Proc. Radar Signal Process 1993, 140(2):107113. 10.1049/ipf2.1993.0015View ArticleGoogle Scholar
 Guo W, Han C, Lei M: Improved unscented particle filter for nonlinear Bayesian estimation. Quebec; 9–12 July 2007:112.Google Scholar
 Li HW, Wang J, Su HT: Improved particle filter based on differential evolution. Electron. Lett 2011, 47(19):10781079. 10.1049/el.2011.1825MathSciNetView ArticleGoogle Scholar
 Haykin S: Kalman Filtering And Neural Networks. New York: Wiley; 2011.Google Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.