Nomenclature
- UAV
-
unmanned aerial vehicle
-
${\mathbf{\textit{x}}}_{i}^{k}$
-
navigation state of UAV i at time
${t}_{k}$
-
$\delta \mathbf{\textit{p}}$
-
position error
-
$\delta \mathbf{\textit{v}}$
-
velocity error
-
$\mathbf{\textit{P}}({\mathbf{\textit{X}}}^{k}|{\mathbf{\textit{Z}}}^{k})$
-
joint probability density of all state variables and measurements
-
${\mathbf{\textit{d}}}_{a}$
-
accelerometer zero bias
-
${\mathbf{\textit{d}}}_{g}$
-
gyroscope zero bias
-
${\mathbf{\textit{X}}}_{MAP}^{k}$
-
maximum a posteriori estimates of state variables
-
${\mathbf{\textit{Z}}}^{k}$
-
all measurements received by the UAV formation at moment k
-
${\mathbf{\textit{g}}}_{n}$
-
gravity vector
-
$\delta \mathbf{\textit{t}}$
-
communication delay value
-
$p(x,y)$
-
joint probability density function
Greek symbol
-
$ \psi $
-
attitude
-
${\rm{\Sigma }}_{i}$
-
covariance matrix
-
$\rm{\Lambda } $
-
information matrix
-
${\lambda }_{i}$
-
learning rate
1.0 Introduction
With the rapid development of unmanned aerial vehicle (UAV) technology and related industries, UAVs are playing an increasingly important role in military and civilian fields due to their small size, low cost and flexibility [Reference Ye, Song, Zhang and Zeng1–Reference Wu, Liang, Xuan and Zhang3]. At the same time, with the increasing diversification and complexity of the tasks performed by UAVs, the limited capability of a single UAV cannot meet the demand, so the development of UAV formation-related technologies has received extensive attention [Reference Upadhyay, Rawat and Deb4, Reference Kartal, Subbarao, Gans, Dogan and Lewis5]. High-precision navigation and positioning information are crucial for formation technology, which is an important guarantee for UAV formation to achieve precise control, trajectory planning and mission coordination [Reference Wang, Zhan, Zhai, Shen and Wang6]. However, due to factors such as limited on-board computational power, limited bandwidth resources and flight environment interference, communication between UAVs will inevitably be affected by time lag [Reference Zhou, Zhang, Peng, Li, Tao, Wang and Luo7]. The communication time lag will lead to the decrease of the estimation accuracy of the cooperative navigation system and the loss or confusion of the measurement information.
To address the problem of communication delays in cooperative navigation systems, conventional approaches include ignoring communication delay, filter recalculation, state augmentation and fixed lag smoothing [Reference Ma, Ji, Sui and Lei8–Reference Zhou, Ren, Heng, Dong and Li13]. If the communication time lag is directly ignored, although it can simplify the calculation process, it will lead to sub-optimal state estimation or even divergence. Filter recalculation corrects the time lag data through reverse iteration. Although it can improve the estimation accuracy, the computational complexity grows nonlinearly with the increase of delay duration. The state vector is expanded by the state augmentation method, but the amount of calculation will increase sharply with the increase of dimensions. Although the fixed lag smoothing method can suppress the time lag error, it is difficult to deal with sudden and large delays.
Aiming at the problem of communication time lag processing in cooperative navigation, scholars have proposed a variety of effective improvement methods in recent years, particularly in the domain of underwater vehicles where delays are prominent. Reference [Reference Xiao, Wang, Deng, Fu and Ling14] proposes an improved error estimation algorithm to address the communication delay problem in autonomous underwater vehicle (AUV) cooperative navigation. In this method, the time delay of underwater acoustic communication is modeled as a measurement deviation, and the delayed measurement information is reconstructed as the equivalent observation value at the current moment and input into the navigation system, which effectively suppresses the positioning deviation caused by the time delay. However, it depends on AUV clock synchronisation and does not solve the problem of noise mutation in dynamic environment. Reference [Reference Lu, Chen, Luo and Yang15] proposes two collaborative positioning algorithms, namely information sequential arrival and information out of sequence arrival, based on the extended Kalman filter framework. These algorithms improve the accuracy of cooperative positioning under communication delay conditions. However, due to the long sampling period, the real-time performance is limited, and the dynamic error compensation ability is insufficient; it is difficult to adapt to the complex formation coordination requirements. In reference [Reference Yang, Li, Xia and Li16], a buffer-based delay compensation method is proposed. This method effectively alleviates the problem of communication delay through a block storage mechanism and dynamic weight allocation strategy, but the method has a high demand for storage space. Reference [Reference Cai, Liu, Zhang, Lv and Wang17] designed a Gaussian prediction model to forecast the current state of an AUV using historical data. It also proposed a backstepping sliding-mode formation control method based on leader-following, effectively compensating for data unreliability caused by acoustic communication delays. Reference [Reference Huang, Li and Huang18] proposes a communication delay compensation method based on measurement information reconstruction under the framework of factor graph. The method reconstructs the distance measurement information of the master and slave AUVs during the delay period and iteratively passes it through the factor graph to compensate for communication delay errors. However, this method assumes that the position of the master AUV does not change during the delay period, and its error compensation capability is insufficient in dynamic scenarios.
Recently, the problem of communication delay in UAV formations has also attracted significant attention from researchers. Reference [Reference Fagundes-Junior, Coelho, Villa, Sarcinelli-Filho and Brandao19] analysed the influence of communication delay on flight stability and estimated the acceptable time-delay limits for positioning missions. Reference [Reference Du, Qu, Shi and Lu20] designed a position prediction algorithm to actively compensate for communication delays in fixed-wing UAVs and verified the formation stability through hardware-in-the-loop experiments. Reference [Reference Pham, Vu, Nguyen and Dong21] proposed a cooperative longitudinal guidance strategy, which effectively mitigates the impact of inter-UAV communication delay while ensuring formation integrity. Reference [Reference Lv, Yang, Zhang, He and Feng22] proposed a Kalman-fused belief rule base (BRB) model that handles asynchronous data through state prediction and retrospective correction, guaranteeing the reliability of cooperative performance assessment. However, while these works address the delay problem to some extent, they primarily treat delay as a nuisance parameter to be compensated. Constrained by the sequential update mechanism of traditional filtering methods, it is challenging for existing approaches to utilise asynchronous measurements for the effective correction of historical trajectories. In contrast, the factor graph framework transforms the navigation problem into a global optimisation problem, which can ensure higher spatiotemporal consistency through joint estimation. Therefore, this paper proposes a distributed cooperative navigation algorithm based on a delay-aware factor graph (DDFG). The main contributions of this article are summarised as follows:
-
1. A novel DDFG framework is established by introducing dedicated time delay compensation factor nodes. This framework integrates inertial measurement unit (IMU) pre-integration factors, global navigation satellite system (GNSS) observation factors, and ultra-wideband (UWB) ranging factors into a probabilistic graphical model, enabling the flexible fusion of heterogeneous and asynchronous measurement information.
-
2. A joint estimation mechanism for stochastic delays and UAV states is proposed. By modeling the random communication delay as an optimised parameter of a Gaussian distribution, the algorithm achieves a globally optimal solution under space-time consistency constraints through nonlinear least squares optimisation.
-
3. A sliding window marginalisation strategy combined with an adaptive momentum-accelerated gradient descent (AMAGD) algorithm is designed. The sliding window mechanism dynamically retains the nearest N sets of state observations to maintain real-time performance, while the AMAGD algorithm optimises the iteration step size to facilitate the convergence of delay estimation.
The remainder of this paper is organised as follows. Section 2 details the proposed methodology, including the construction of the factor graph model, the formulation of the delay factor graph and the design of the sliding window strategy and the AMAGD algorithm. Section 3 presents the simulation experiments and analyses the results to validate the effectiveness of the proposed method. Finally, Section 4 concludes the paper.
2.0 Method
2.1 Distributed cooperative navigation algorithm based on factor graph
A factor graph is a bipartite probabilistic graphical model used to express the joint probability distribution of random variables [Reference Loeliger, Dauwels, Hu, Korl, Ping and Kschischang23–Reference Yan, Luan, Liu and Xing25]
${F}=\left(\mathbf{\textit{U}},\mathbf{\textit{V}},\mathbf{\textit{E}}\right)$
. In the factor graph framework [Reference Wang, Xu, Li, Duan and Zhang26], the factor node
${f}_{i}\in \mathbf{\textit{U}}$
, the variable node
${\mathbf{\textit{x}}}_{j}\in \mathbf{\textit{V}}$
, and the edge
${e}_{ij}\in \mathbf{\textit{E}}$
always exist between the factor node and the variable node. The resulting factor graph can be defined as a decomposition of the function
$f\left(X\right)$
:
$f\left(\mathbf{\textit{X}}\right)=\prod _{i} {f}_{i}\left({\mathbf{\textit{x}}}_{i}\right)$
, where
$\mathbf{\textit{X}}$
is the set of all variable nodes associated with the variable node
${\mathbf{x}}_{i}$
. The factor
${f}_{i}\left({\mathbf{\textit{x}}}_{i}\right)$
is usually defined as an error function
${f}_{i}\left({\mathbf{\textit{x}}}_{i}\right)=d\left(err({\mathbf{\textit{x}}}_{i},{\mathbf{\textit{z}}}_{i})\right)$
,
$\mathbf{\textit{d}}\left(\cdot \right)$
is the cost function and
${\mathbf{\textit{z}}}_{i}$
is the actual measured value.
The information fusion problem for UAV formation cooperative navigation is formulated within a factor graph framework, and the variable node
${\mathbf{\textit{x}}}_{i}^{k}$
is used to represent the navigation state of UAV i at the moment of
${t}_{k}$
:
where
$\delta \mathbf{\textit{p}}$
is the position error,
$\delta \mathbf{\textit{v}}$
is the velocity error,
$\psi $
denotes the attitude,
${\mathbf{\textit{d}}}_{a}$
is the acceleration zero bias and
${\mathbf{\textit{d}}}_{g}$
is the gyroscope zero bias. Therefore, the navigation state set of UAV formation
C
at
${t}_{k}$
is defined as
${\mathbf{\textit{X}}}^{k}=\left\{{\mathbf{\textit{x}}}_{i}^{k}|i\in C\right\}$
.
Let
${\mathbf{\textit{z}}}_{i,k-1}^{IMU}$
represent all measurement data received by the IMU of UAV i from time
${t}_{k-1}$
to
${t}_{k}$
,
${\mathbf{\textit{z}}}_{i,k}^{UWB}$
represent all UWB ranging measurements received by UAV i at time
${t}_{k}$
, and
${\mathbf{z}}_{i,k}^{GNSS}$
represent all GNSS measurements received by UAV i at time
${t}_{k}$
. Therefore, the set of all measured values received by the UAV formation
C
at
${t}_{k}$
can be defined as:
${\mathbf{\textit{Z}}}^{k}=\left\{{\mathbf{\textit{z}}}_{i,k-1}^{IMU},{\mathbf{\textit{z}}}_{i,k}^{UWB},{\mathbf{\textit{z}}}_{i,k}^{GNSS}|i\in C\right\}$
. The maximum a posteriori estimation of the state variable is expressed as:
The resulting joint probability density of all state variables and measurements can be decomposed as [Reference Wang, Hu and Tao27]:
where
$P\left({\mathbf{\textit{X}}}_{0}\right)$
denotes the prior information about the initial state of all variables,
$P\left({\mathbf{\textit{x}}}_{i}\right|{\mathbf{\textit{x}}}_{i-1},{\mathbf{\textit{z}}}_{i-1}^{IMU})$
denotes the state probability density function of IMU,
$P\left({\mathbf{\textit{z}}}_{i}^{GNSS}|{\mathbf{\textit{x}}}^{i}\right)$
and
$P\left({\mathbf{\textit{z}}}_{i}^{UWB}|{\mathbf{\textit{x}}}_{i}^{t},{\mathbf{\textit{x}}}_{j}^{t}\right)$
denote the conditional probability density functions of GNSS and UWB, respectively.
In the factorisation of the joint probability density function
$P\left({\mathbf{\textit{X}}}^{k}|{\mathbf{\textit{Z}}}^{k}\right)$
, each factor represents an independent term, so the joint probability density function can be decomposed as:
In this paper, it is assumed that the noise obeys a Gaussian distribution [Reference Quan, Chen, Zhou, Zhao, Hu and Zhu28] and the factor nodes can be described as:
where
${||\cdot ||}_{\rm{\Sigma }}^{2}$
represents the squared Mahalanobis distance,
${\rm{\Sigma }}_{i}$
represents the process noise covariance matrix and
${h}_{i}\left(\mathbf{\textit{x}}\right)$
is the nonlinear measure function. The maximum a posteriori estimation problem can then be transformed into a nonlinear least-squares problem [Reference Yang, Ye, Shao, Yang and Huang29].
In the distributed UAV formation cooperative navigation process, each UAV only processes its own IMU and GNSS information as well as the UWB ranging information that satisfies the current constraints, and the position optimisation of the UAVs is achieved through message iteration. The factor graph optimisation function can be expressed as:
where r represents the residual. Using Taylor’s formula to linearise the above equation, it is transformed into a least squares problem. The specific simplification process is referred to in reference [Reference Chen, Xiong, Liu, Wang and Xiong30], and the optimal estimation value is solved by the Gauss-Newton method.
Here, taking three UAVs as an example, the distributed UAV formation cooperative navigation factor graph structure is shown in Fig. 1.
UAV formation cooperative navigation factor graph model.

Figure 1. Long description
A diagram of the cooperative navigation factor graph model for UAV formations. The diagram illustrates the relationships and interactions between various state variables and measurements for UAV navigation. The overall structure includes nodes and edges representing the state variables and measurements, respectively. The nodes are labeled with variables such as position error, velocity error, accelerometer zero bias, gyroscope zero bias, and maximum a posteriori estimates of state variables. The edges represent the measurements received by the UAV formation at different time positions. The diagram shows the flow of information and the dependencies between different state variables and measurements. The nodes are connected by edges labeled with specific measurements, indicating the communication delay values and the joint probability density function. The diagram captures the complex interactions and dependencies in the cooperative navigation of UAV formations, highlighting the importance of accurate state estimation and measurement integration.
In this paper, each UAV is equipped with a suite of sensors, including an IMU, a GNSS receiver and a UWB ranging module. The following is a simple derivation of the factor formula of the above sensor measurement model.
2.1.1 IMU factor node
The INS produces high-rate measurements due to its high output frequency and different sampling frequency from other sensors. In order to achieve plug-and-play for each sensor in the factor graph while reducing the update frequency of the factor graph, this paper uses pre-integration to construct factor nodes.
Let one update cycle of the INS pre-integration be
${t}_{k}\sim {t}_{k+1}$
, and the position, velocity and attitude increments during the cycle be:
\begin{equation}\begin{cases} \Delta \mathbf{p}_{t_k}^{t_{k+1}} = \int_{} \int_{t_k}^{t_{k+1}} \mathbf{C}_{b_{t_k}}^{b_t} \left( \mathbf{d}_t^b - \nabla \mathbf{d}_a \right) dt^2 \\ \Delta \mathbf{v}_{t_k}^{t_{k+1}} = \int_{t_k}^{t_{k+1}} \mathbf{C}_{b_{t_k}}^{b_t} \left( \mathbf{d}_t^b - \nabla \mathbf{d}_a \right) dt \\ \Delta \psi_{t_k}^{t_{k+1}} = \int_{t_k}^{t_{k+1}} \mathbf{E}_{b_{t_k}}^{b_t} \left( \mathbf{g}_t^b - \nabla \mathbf{d}_g \right) dt \end{cases}\end{equation}
where
${\mathbf{\textit{C}}}_{{b}_{{t}_{k}}}^{{b}_{t}}$
and
${\mathbf{\textit{E}}}_{{b}_{{t}_{k}}}^{{b}_{t}}$
denote the rotation matrix and rotation rate matrix of the carrier coordinate system at time t relative to the start moment
${t}_{k}$
, respectively.
${\mathbf{\textit{d}}}_{t}^{b}$
and
${\mathbf{g}}_{t}^{b}$
represent the accelerometer and gyroscope measurements at moment t, while
$\nabla {\mathbf{\textit{d}}}_{a}$
and
$\nabla {\mathbf{\textit{d}}}_{g}$
denote their corresponding biases. By combining these incremental measurements with the navigation state at
${t}_{k}$
, the state at
${t}_{k+1}$
is updated as follows:
\begin{align}\left\{\begin{array}{l}{\mathbf{\textit{p}}}_{{t}_{k+1}}^{n}={\mathbf{\textit{p}}}_{{t}_{k}}^{n}+({t}_{k+1}-{t}_{k}){\mathbf{\textit{v}}}_{{t}_{k}}^{n}+\frac{1}{2}({t}_{k+1}-{t}_{k}{)}^{2}{\mathbf{g}}^{n}+{\mathbf{\textit{C}}}_{{b}_{{t}_{k}}}^{n}\Delta {\mathbf{\textit{p}}}_{{t}_{k}}^{{t}_{k+1}}\\[3pt]{\mathbf{\textit{v}}}_{{t}_{k+1}}^{n}={\mathbf{\textit{v}}}_{{t}_{k}}^{n}+({t}_{k+1}-{t}_{k}){\mathbf{g}}^{n}+{\mathbf{\textit{C}}}_{{b}_{{t}_{k}}}^{n}\Delta {\mathbf{\textit{v}}}_{{t}_{k}}^{{t}_{k+1}}\\[3pt]{\psi }_{{t}_{k+1}}^{n}={\psi }_{{t}_{k}}^{n}+{\mathbf{\textit{C}}}_{{b}_{{t}_{k}}}^{n}\Delta {\psi }_{{t}_{k}}^{{t}_{k+1}}\end{array}\right.\end{align}
where
${\mathbf{g}}^{n}$
is the gravity vector,
${\mathbf{\textit{C}}}_{{b}_{{t}_{k}}}^{n}$
is the rotation matrix of the navigation coordinate system relative to the carrier coordinate system at the moment of
${t}_{k}$
, from which we get the information of position, velocity and attitude under the navigation coordinate system at the moment of
${t}_{k+1}$
.
Let UAV i receive the measurement information
${\mathbf{\textit{z}}}_{i,{t}_{k}}^{IMU}=\{{\mathbf{\textit{d}}}^{b},{\mathbf{g}}^{b}\}$
, and according to the INS pre-integration process, the estimated value of the navigation state of UAV i at the moment
${t}_{k+1}$
moment status update value:
where
${\mathbf{\textit{x}}}_{i}^{{t}_{k}}$
is the position, velocity and attitude information of the INS carried by UAV i at the
${t}_{k}$
moment. Let
${\alpha }_{i}^{{t}_{k}}$
be the deviation correction value of the accelerometer and gyroscope at
${t}_{k}$
, and the predicted value of INS navigation state at
${t}_{k+1}$
is obtained by
$\hat{x}_i^{t_{k+1}} = h(x_i^{t_k}, \alpha_i^{t_k}, z_{i,t_k}^{IMU})$
. Thus, the IMU factor node is defined as:
The IMU residual model can be expressed as:
2.1.2 UWB factor node
The distance between UAV i and UAV j is modelled as:
where
${\mathbf{\textit{d}}}_{i,j}$
is the true distance between the two UAVs,
${\mathbf{\textit{n}}}_{UWB}$
is the UWB ranging noise, and the distance observation function
$h({\mathbf{\textit{x}}}_{i},{\mathbf{\textit{x}}}_{j})$
between UAVs can be expressed as:
Thus, the UWB ranging factor is defined as:
The UWB ranging factor residual model is expressed as:
2.1.3 GNSS factor node
The GNSS measurement equation can generally be modelled as:
where
${h}^{GNSS}\left( \bullet \right)$
denotes the relationship between the carrier’s current navigation state and the GNSS measurements
${\mathbf{\textit{z}}}_{i}^{GNSS}$
, and
${\eta }_{GNSS}$
is the GNSS measurement noise. The GNSS factor of UAV i at the moment
${t}_{k}$
is defined as:
The GNSS factor residual model can be expressed as:
2.2 Delay factor graph model
The transmission delay of UWB communication technology is mainly composed of fixed delay, propagation delay and random delay. Fixed delay mainly includes system processing delay and wireless network queuing delay in a multi-user environment. Propagation delay is usually proportional to the distance. Among them, the random delay is caused by multiple factors, such as the multipath effect and non-line-of-sight (NLOS) propagation in complex environments. Thus, the transmission delay model of UWB communication is established:
where
$\Delta T$
is the communication fixed delay,
${t}_{\eta }$
is the random communication delay obeying a Gaussian distribution with mean 0 and variance
${\sigma }^{2}$
.
${\mathbf{\textit{z}}}_{k}^{i}$
expresses the inter-UAV communication distance and c is the speed of light.
The transmission distance of UWB communication is within 1km, and the communication delay is generally less than 1s. Thus, the relevant propagation delay
${\mathbf{\textit{z}}}_{k}^{i}/c$
is on the order of microseconds, and the communication transmission delay model can be simplified as:
The short-term flight trajectory of UAV formation can be approximated as linear motion, so the position and ranging information of UAV i and UAV j can be expressed as:
\begin{align}\left\{\begin{array}{ll}{\mathbf{\textit{p}}}_{i}^{k}\approx {\mathbf{\textit{p}}}_{i}^{k-\delta t}+{\mathbf{\textit{v}}}_{i}^{k-\delta t}\delta t+\frac{1}{2}{{a}}_{i}^{k-\delta t}\delta {t}^{2} {} \\[5pt] {\mathbf{\textit{p}}}_{j}^{k}\approx {\mathbf{\textit{p}}}_{j}^{k-\delta t}+{\mathbf{\textit{v}}}_{j}^{k-\delta t}\delta t+\frac{1}{2}{{a}}_{j}^{k-\delta t}\delta {t}^{2} {} \\[5pt] {\mathbf{\textit{d}}}_{ij}= \left | \left|{\mathbf{\textit{p}}}_{i}^{k}-{\mathbf{\textit{p}}}_{j}^{k} \right| \right| {} \end{array}\right. \end{align}
Let UAV i receive the measurement information of UAV j at k moments, but the information corresponds to the measurement information of UAV j at
$k-\delta t$
moments. Let the state of UAV j at the moment of
$k-\delta t$
be
${\mathbf{\textit{X}}}_{j}^{k-\delta t}$
, and use the state transfer model to predict the state of UAV j at the current moment of k to be:
where
$h\left( \bullet \right)$
is the state propagation function from
${\mathbf{\textit{X}}}_{j}^{k-\delta t}$
to
${\mathbf{\textit{X}}}_{j}^{k}$
.
Because
$\delta t$
is unknown, it needs to be obtained after factor graph optimisation, the factor requires delayed prior information as a starting term. From Equation (21), the residual squared term of the delayed a priori factor can be expressed as:
For the UWB ranging module, let the position information of UAV i at k moments be
${p}_{i}^{k}$
, and the predicted value of the position of UAV j at k moments be
${\hat{\mathbf{\textit{p}}}}_{j}^{k}$
, which is obtained from Equation (22). The UWB ranging residual including communication delay is expressed as:
where
${\mathbf{\textit{d}}}_{ij,k}^{UWB}$
is the true distance between UAV i and UAV j at k moments.
The UWB factor considering communication delay is modified to:
where
${\mathbf{\textit{X}}}_{ij}^{k}$
denotes the state information of UAV i and UAV j at k moments, and the ranging covariance
${\rm{\Sigma }}_{d}$
with delay is expressed as:
where
${\boldsymbol{\Sigma }}_{uwb}$
is the UWB’s own measurement covariance, and
H
is the delayed Jacobian matrix:
Therefore, the optimisation function of UAV formation cooperative navigation factor graph considering communication delay is expressed as:
\begin{align}\begin{array}{ll} {} \mathrm{a}\mathrm{r}\mathrm{g}\, \mathrm{m}\mathrm{i}\mathrm{n}\sum\limits_{\mathbf{\textit{X}},\delta t} \parallel {\mathbf{\textit{r}}}_{IMU}^{k}({\mathbf{\textit{X}}}_{k},{\mathbf{\textit{X}}}_{k+1}){\parallel }_{{\rm{\Sigma }}_{IMU}}^{2}+\sum\limits _{k} \parallel {\mathbf{\textit{r}}}_{GNSS}^{k}\left({\mathbf{\textit{X}}}_{k}\right){\parallel }_{{\rm{\Sigma }}_{GNSS}}^{2}\\[10pt] {} +\sum\limits _{k} \left(\parallel {\mathbf{\textit{r}}}_{ij}^{k,UWB}\big({\mathbf{\textit{X}}}_{i}^{k},{\mathbf{\textit{X}}}_{j}^{k-\delta t},\delta t\big){\parallel }_{{\rm{\Sigma }}_{d}}^{2}+\parallel {\mathbf{\textit{r}}}_{t}^{k}\left(\delta t\right){\parallel }_{{\rm{\Sigma }}_{t}}^{2}\right)\end{array} \end{align}
2.3 Sliding window design
In the process of iterative optimisation, each time the system uploads the measurement value of a sensor, the factor graph will generate a new node. As the number of objective function items increases, the number of rows of the Jacobian matrix will increase, which will seriously increase the computational burden. The sliding window method is used to dynamically retain the recent critical state measurements to limit the scope of optimisation [Reference Zhao and Ma31], which effectively balances the state estimation accuracy with the computational efficiency and improves the system real-time performance. A sliding window with a width of
$N(1\le N\le l)$
is set, and the UAV solves the factor graph optimisation by combining the previous N sets of sensor observations and state information for the current moment.
Let the set of states and measures in the sliding window at moment k be
$\text{Q}=\{{\mathbf{\textit{X}}}_{1}^{k},{\mathbf{\textit{X}}}_{2}^{k}, \cdots,{\mathbf{\textit{X}}}_{n}^{k}, {\mathbf{\textit{Z}}}_{1}^{k},{\mathbf{\textit{Z}}}_{2}^{k},\cdots ,{\mathbf{\textit{Z}}}_{n}^{k}|n\in \text{N}\}$
, the joint probability density distribution of the factor graph can be rewritten as:
\begin{align}\begin{array}{ll} {} \mathbf{\textit{p}}({\mathbf{\textit{X}}}^{k}|{Z}^{k})=\mathbf{\textit{p}}({\mathbf{\textit{X}}}^{0})\cdot \prod\limits _{k\in N} \mathbf{\textit{p}}({\mathbf{\textit{x}}}^{k}|{\mathbf{\textit{z}}}^{k-1,IMU},{\mathbf{\textit{x}}}^{k-1})\cdot \\[8pt] {} \prod\limits _{k\in N} \mathbf{\textit{p}}({\mathbf{\textit{z}}}^{k,GNSS}|{\mathbf{\textit{x}}}^{k})\cdot \prod\limits _{k\in N} \mathbf{\textit{p}}\big({\mathbf{\textit{z}}}^{k,UWB}|{\mathbf{\textit{x}}}_{i}^{k},{\mathbf{\textit{x}}}_{j}^{k-\delta t}\big)\cdot \prod\limits _{k\in N} \mathbf{\textit{p}}\left(\delta {t}_{ij}^{k}\right|\delta {t}_{ij}^{k-1})\end{array} \end{align}
Simply using the sliding window to filter out the state and measurement values at distant times in the past may cause the loss of epoch information, resulting in the non-global optimal solution for the estimated value. The old nodes are removed without loss of calendar element information by the marginalisation operation. Let
$x$
be the variable nodes to be filtered,
$y$
be the new variable node, the joint probability density can be expressed as
$\mathbf{\textit{p}}(\mathbf{\textit{x}},\mathbf{\textit{y}})$
in the sliding window range, and the probability density
$\mathbf{\textit{p}}\left(\mathbf{\textit{y}}\right)$
of the node y can be obtained by integrating the marginalised node x.
Let the joint probability density
$\mathbf{\textit{p}}(\mathbf{\textit{x}},\mathbf{\textit{y}})$
conform to a Gaussian distribution, chunked in the form of an information vector and an information matrix:
\begin{align}\mathbf{\textit{p}}(\mathbf{\textit{x}},\mathbf{\textit{y}})=\text{N}\Bigg({\boldsymbol{\Lambda }}^{-1}\left[\begin{array}{l}{\eta }_{x}\\[3pt] {\eta }_{y}\end{array}\right],{\left[\begin{array}{ll}{\boldsymbol{\Lambda }}_{xx} {} \quad {\boldsymbol{\Lambda }}_{xy}\\[3pt] {\boldsymbol{\Lambda }}_{yx} {} \quad {\boldsymbol{\Lambda }}_{yy}\end{array}\right]}^{-1}\Bigg) \end{align}
Based on the factor graph linearisation process and the Gauss-Newton method, there are:
where
$\rm{\Delta }\boldsymbol{X}$
is the state node increment,
$\rm{\Lambda }$
is the information matrix,
$\rm{\Lambda }={\mathbf{\textit{J}}}^{T}\mathbf{\textit{J}}$
,
$\mathbf{\textit{J}}$
is the Jacobi matrix,
$\mathbf{\textit{b}}={\mathbf{\textit{J}}}^{{T}}\mathbf{\textit{r}}$
,
$\mathbf{\textit{r}}$
is the residual term corresponding to factor nodes associated with variable nodes. The matrix is divided into blocks, there are:
\begin{align}\left[\begin{array}{ll}{\rm{\Lambda }}_{xx} {} \quad {\rm{\Lambda }}_{xy}\\[3pt] {\rm{\Lambda }}_{yx} \quad {\rm{\Lambda }}_{yy}\end{array}\right]\left[\begin{array}{l}\rm{\Delta }\mathbf{\textit{x}}\\[3pt] \rm{\Delta }\mathbf{\textit{y}}\end{array}\right]=\left[\begin{array}{l}{\mathbf{\textit{b}}}_{x}\\[3pt] {\mathbf{\textit{b}}}_{y}\end{array}\right] \end{align}
The variable x is eliminated by matrix Schur complement operation, and the following is obtained:
In summary, even if there is no old variable x, the remaining variable y can be solved. And the constraint information of the old variables is retained in the information matrix, set:
\begin{align}\left\{ \begin{array}{ll}{\boldsymbol{\Lambda }}_{y}^{0}={\boldsymbol{\Lambda }}_{yy}-{\boldsymbol{\Lambda }}_{yx}{\boldsymbol{\Lambda }}_{xx}^{-1}{\boldsymbol{\Lambda }}_{xy} {} \\[3pt] {\mathbf{\textit{b}}}_{y}^{0}={\mathbf{\textit{b}}}_{y}-{\boldsymbol{\Lambda }}_{yx}{\boldsymbol{\Lambda }}_{xx}^{-1}{\boldsymbol{\Lambda }}_{xy} {} \end{array}\right. \end{align}
Then the priori information of the remaining variable
$y$
can be expressed as:
Thus, the final optimised objective function for the factor graph within the sliding window can be obtained:
\begin{equation}\begin{aligned}X_{MAP}^k ={}& \arg\min_{X, \delta t} \left\| (b^0)^T X_k - X_k^T \Lambda_y^0 X_k \right\|_{\Sigma_0}^2 \\&+ \sum_{k \in N} \left\| r_{IMU}^k (X_k, X_{k+1}) \right\|_{\Sigma_{IMU}}^2 \\&+ \sum_{k \in N} \left\| r_{GNSS}^k (X_k) \right\|_{\Sigma_{GNSS}}^2 \\&+ \sum_{k \in N} \left( \left\| r_{ij}^{k, UWB} (X_i^k, X_j^{k-\delta t}, \delta t) \right\|_{\Sigma_d}^2 + \left\| r_t^k (\delta t) \right\|_{\Sigma_t}^2 \right)\end{aligned}\end{equation}
2.4 Delayed estimation of iterative step size optimisation
Considering the real-time performance of the system, the number of message iterations of the factor graph algorithm is limited to 5 times. In order to achieve fast convergence of delay estimates during the limited number of iterations, the AMAGD algorithm is designed by combining historical delay estimates with real-time observation data. By dynamically adjusting the learning rate and introducing the momentum term, the historical gradient information is used to accelerate the convergence. At the same time, combined with the joint determination of ranging error and positioning error, the error is minimised within a limited number of iterations.
According to the cooperative navigation algorithm mentioned in this paper, the communication delay will cause the ranging time to lag behind reality, resulting in ranging error. When the delayed ranging data is used for positioning, it will further lead to the deviation of position estimation, so the ranging and position errors are correlated with the communication delay. The ranging error and position error after each iteration are calculated respectively:
\begin{align}\left\{ \begin{array}{ll}{\mathbf{\textit{e}}}_{uwb}=\parallel {\mathbf{\textit{p}}}_{i}-{\hat{\mathbf{\textit{p}}}}_{j}\left(\delta \hat{t}\right)\parallel -{\mathbf{\textit{d}}}_{ij} {} \\[3pt] {\mathbf{\textit{e}}}_{p}=\parallel {\hat{\mathbf{\textit{p}}}}_{i}-{\mathbf{\textit{p}}}_{i}\parallel {} \end{array}\right. \end{align}
where,
${\hat{\mathbf{\textit{p}}}}_{j}\left(\delta \hat{t}\right)$
is the position delay compensation calculated by Equation (22) for this iteration delayed solution
$\delta \hat{t}$
,
${\hat{\mathbf{\textit{p}}}}_{i}$
is the estimated position of this iteration,
${\mathbf{\textit{d}}}_{ij}$
and
${\mathbf{\textit{p}}}_{i}$
are the real distance and the real position, respectively. According to
${\mathbf{\textit{e}}}_{uwb}$
and
${\mathbf{\textit{e}}}_{p}$
, the joint loss function can be established as:
where
$\alpha $
and
$\beta $
are the weights of distance measurement error and positioning error, respectively, and
$0\lt \beta \lt \alpha \le 1$
.
$\gamma $
is the delay prior weight (
$\gamma =1/{\sigma }^{2}$
for Gaussian distribution).
Calculate the gradient of the loss function with respect to the delay time:
Among them:
\begin{align}\left\{\begin{array}{ll}\frac{\partial {\mathbf{\textit{e}}}_{uwb}}{\partial \delta \hat{t}}=\frac{({\mathbf{\textit{p}}}_{i}-{\hat{\mathbf{\textit{p}}}}_{j}{)}^{T}}{\parallel {\mathbf{\textit{p}}}_{i}-{\hat{\mathbf{\textit{p}}}}_{j}\parallel }\cdot ({\mathbf{v}}_{j}+{\mathbf{a}}_{j}\delta \hat{t}) {} \\[6pt] \frac{\partial {\mathbf{e}}_{p}}{\partial \delta \hat{t}}=\frac{\partial {\mathbf{\textit{p}}}_{i}}{\partial \delta \hat{t}}\cdot \frac{{\hat{\mathbf{\textit{p}}}}_{i}-{\mathbf{\textit{p}}}_{i}}{\parallel {\hat{\mathbf{\textit{p}}}}_{i}-{\mathbf{\textit{p}}}_{i}\parallel } {} \end{array}\right. \end{align}
For a more stable accelerated convergence of the delay estimates, the momentum term
${\mathbf{\textit{m}}}_{k}$
is set to denote an exponentially weighted moving average of the historical gradients:
where
$\eta $
is the momentum decay rate, usually
$0\lt \eta \lt 1$
.
The learning rate is set to adaptively adjust the update step size, and the initial learning rate is set to:
where
${\lambda }_{b}$
is the base learning rate, set to 0.1.
The learning rate parameter is adjusted according to the update trend of the loss function. If the loss decreases in two consecutive iterations, then:
${\lambda }_{k}=\mathrm{m}\mathrm{i}\mathrm{n}(1.1{\lambda }_{k-1},{\lambda }_{max})$
. If the loss value increases, then:
${\lambda }_{k}=\mathrm{m}\mathrm{a}\mathrm{x}(0.5{\lambda }_{k-1},{\lambda }_{min})$
, otherwise it remains unchanged.
In summary, the delay estimation update value is obtained:
Parameters for each sensor

Table 1. Long description
A table with three rows and three columns, detailing parameters for each sensor. The columns are labeled Sensor, Parameter, and Value. The table includes data for three types of sensors: Gyroscope, Accelerometer, and UWB. For the Gyroscope, the parameters listed are Random constant/(°)·h⁻sup1; with a value of 0.02, White noise/(°)·h⁻sup1; with a value of 0.02, 1st-order Markov noise/(°)·h⁻sup1; with a value of 0.02, and Update frequency/Hz with a value of 50. For the Accelerometer, the parameters listed are 1st-order Markov bias error/g with a value of 0.0001 and Update frequency/Hz with a value of 50. For the UWB, the parameters listed are Ranging error/m with a value of 0.5 and Update frequency/Hz with a value of 5.
UAV communication delay diagram.

3.0 Results
3.1 Simulation setup
Simulation experiments were carried out for distributed UAV formation cooperative navigation. The formation consists of three UAVs. Each UAV is equipped with an IMU, Global Positioning System (GPS) and UWB. The sensor parameters were referenced from the open-source navigation website (www.psins.org.cn). The GPS three-axis positioning error is set to [0.2m 0.2m 0.5m], and the detailed data for IMU and UWB are listed in Table 1. In the experiment, other position errors are set to follow a zero-mean Gaussian white noise distribution with a standard deviation of 2m, and the velocity error follows a Gaussian distribution with a standard deviation of 0.1m/s. The sliding window size is set to N = 15. The communication delay model and delay topology between UAVs are shown in Figs 2 and 3, respectively. Figure 4 shows the flight trajectory of the three UAVs in the experiment.
Distributed time delay topology.

The communication delay between UAVs is assumed to follow a Gaussian distribution, and the following conditions are satisfied:
-
1. In the experiment, six groups of one-way communication delay curves are used to characterise the communication topology characteristics of the UAV formation, as shown in Fig. 5. Specifically, UAV12, UAV13, UAV21, UAV23, UAV31 and UAV32 are defined, where UAVij denotes the communication delay of the receiving node UAV j relative to the transmitting node UAV i.
-
2. Affected by the wireless channel random noise and multipath interference, the communication link shows significant asymmetric characteristics, and the time lag measurements in different transmission directions between two nodes are statistically different (
$\mathbf{\textit{p}}\lt 0.05$
). -
3. Under the same hardware configuration and environmental interference conditions, the communication delay between each node pair is assumed to follow an independent and identically distributed Gaussian model with a mean
$\Delta T = 0.2 \, \text{s} \,$
and a standard deviation
$\sigma =0.05$
. The delay processes of different communication links are considered mutually independent.
UAV formation trajectory diagram.

Simulation diagram of communication delay between UAV formations.

3.2 Simulation results and analysis
Based on the simulation conditions described above, trajectory tracking simulations were conducted, and the position and velocity estimation errors were analysed. In order to verify the effectiveness and reliability of the proposed DDFG algorithm, the proposed algorithm is compared with the factor graph cooperative navigation algorithm based on the reconstruction of the measurement information in the case of communication delay (FGM) [Reference Huang, Li and Huang18], and the distributed extended Kalman filter (DEKF) that takes into account the communication delays [Reference Lu, Chen, Luo and Yang15].
Comparison of velocity error and position error of UAV 1.

Figure 6. Long description
The image contains two sets of line graphs comparing the position error and velocity error of UAV 1 over time. Panel A shows the position error, while Panel B shows the velocity error. Each panel contains three line graphs representing different estimation methods: EKF (red), FGM (blue), and DDFG (green). The x-axis for both panels represents time in seconds, ranging from 0 to 500 seconds. In Panel A, the y-axis represents the position error in meters for the East, North, and Up directions. In Panel B, the y-axis represents the velocity error in meters per second for the same directions. The graphs show how the position and velocity errors fluctuate over time for each estimation method. The EKF method shows more variability compared to the FGM and DDFG methods, which exhibit smaller fluctuations and appear more stable. The DDFG method generally shows the least error across both position and velocity measurements.
Each UAV is equipped with a high-precision master clock that broadcasts the system clock via UWB links. Synchronisation is achieved through timestamp parsing and clock offset compensation. The system switches to the GNSS timing mode under the stable satellite navigation signal scenario. The simulation results are shown in Figs 6 and 7. Table 2 shows the statistical three-dimensional root mean square errors (RMSE, Mean
$\pm $
Standard Deviation (SD)) of position and velocity obtained from 100 Monte Carlo runs.
RMSE comparison of different algorithms

Table 2. Long description
A table comparing the root mean square errors (RMSE) of different algorithms for UAV position and velocity. The table has 4 rows and 4 columns. The columns are labeled ‘UAV’, ‘Metrics’, ‘DEKF’, ‘FGM’, and ‘DDFG’. The rows are labeled with UAV identifiers and metrics. Row 1: UAV1, Position (m), 4.91 ± 1.15, 4.28 ± 0.91, 3.17 ± 0.36. Row 2: UAV1, Velocity (m/s), 0.64 ± 0.21, 0.54 ± 0.19, 0.36 ± 0.08. Row 3: UAV2, Position (m), 5.11 ± 1.19, 4.13 ± 0.88, 2.97 ± 0.32. Row 4: UAV2, Velocity (m/s), 0.60 ± 0.19, 0.52 ± 0.14, 0.34 ± 0.06. The table shows the statistical three-dimensional RMSE (Mean Standard Deviation) of position and velocity obtained from 100 Monte Carlo runs for each UAV and algorithm.
Comparison of velocity error and position error of UAV 2.

Figure 7. Long description
The image contains two sets of line graphs comparing position and velocity errors of UAV 2 over time. Panel A shows the position error, while Panel B shows the velocity error. Each panel contains three line graphs representing different estimation methods: EKF (red), FGM (blue), and DDFG (green). The x-axis for both panels represents time in seconds, ranging from 0 to 500 seconds. The y-axis in Panel A represents the position error in meters, with subplots for East Error, North Error, and Up Error. The y-axis in Panel B represents the velocity error in meters per second, with subplots for East Error, North Error, and Up Error. The graphs show the errors fluctuating over time, with each method exhibiting different levels of accuracy and variability. The legends indicate the color coding for the different estimation methods. The trends and patterns in the graphs suggest variations in the performance of the estimation methods over the observed time period.
Comparing Figs 6, 7 and Table 2, it can be seen that the proposed DDFG algorithm has the smallest positional error compared to the other two algorithms in the simulation experiments in the presence of communication delays. Compared with FGM and DEKF, the proposed algorithm improves the average position accuracy by 27.01% and 38.66%, respectively. Similarly, the average velocity accuracy is improved by 33.97% and 43.54%, respectively. The proposed algorithm adjusts the delay update step size of the next iteration in each iteration according to the state error value of the last iteration, so that the delay estimation value quickly converges to the actual delay value in a limited number of iterations without sharp peaks. From the delay estimation in Fig. 8, it can be seen that the delay value estimated by this algorithm is close to the actual delay except for the large fluctuation.
The comparison between the actual value and the estimated value of UAV12 delay.

To further validate the effectiveness and robustness of the algorithm under different communication conditions, the system fixed delay is set to 0.3s, 0.5s, 0.7s and 0.9s, respectively. For each delay condition, 100 Monte Carlo simulations are carried out to ensure statistical reliability. Taking the 0.5s delay as a representative example, the comparison of position error curves between the proposed algorithm and the uncompensated delay factor graph (UDFG) algorithm is shown in Fig. 9. In addition, the statistical RMSE of position and the average single-step computation time under different delay conditions are summarised in Table 3.
UAV1 position error (fixed time delay T = 0.5).

Figure 9. Long description
Three line graphs depict the navigation state of an unmanned aerial vehicle over time. Panel A: The line graph shows the East Error in meters over time in seconds. The red line represents UDFG, and the green line represents DDFG. The East Error fluctuates between 0 and 10 meters over a period of 500 seconds. Panel B: The line graph shows the North Error in meters over time in seconds. The red line represents UDFG, and the green line represents DDFG. The North Error fluctuates between 0 and 10 meters over a period of 500 seconds. Panel C: The line graph shows the Up Error in meters over time in seconds. The red line represents UDFG, and the green line represents DDFG. The Up Error fluctuates between 0 and 20 meters over a period of 500 seconds.
Comparison of position RMSE and calculation time under different delay conditions

Table 3. Long description
A table with four rows and three columns comparing the performance of two algorithms, UDFG and DDFG, under different delay conditions. The columns are labeled Condition, Algorithm, RMSE of position (m), and Average computation time per update (s). The row labels indicate different delay conditions with corresponding sigma values: 0.3s (σ = 0.03), 0.5s (σ = 0.05), 0.7s (σ = 0.07), and 0.9s (σ = 0.10). Each delay condition lists the RMSE of position and average computation time for both algorithms. For 0.3s delay, UDFG has an RMSE of 6.63 ± 2.14 m and a computation time of 0.064 s, while DDFG has an RMSE of 3.67 ± 0.52 m and a computation time of 0.078 s. For 0.5s delay, UDFG has an RMSE of 9.28 ± 2.96 m and a computation time of 0.065 s, while DDFG has an RMSE of 4.51 ± 0.67 m and a computation time of 0.079 s. For 0.7s delay, UDFG has an RMSE of 13.45 ± 3.71 m and a computation time of 0.065 s, while DDFG has an RMSE of 5.77 ± 0.98 m and a computation time of 0.080 s. For 0.9s delay, UDFG has an RMSE of 20.90 ± 5.67 m and a computation time of 0.066 s, while DDFG has an RMSE of 8.02 ± 1.60 m and a computation time of 0.080 s. The table shows that DDFG consistently has lower RMSE and slightly higher computation time compared to UDFG across all delay conditions.
It can be seen from Fig. 9 that under the 0.5s delay, the position error of the UDFG algorithm exhibits obvious divergence because it does not process the time delay error. Moreover, Fig. 10 and Table 3 indicate that as the delay increases from 0.3s to 0.9s, the position error of the UDFG algorithm increases sharply. In contrast, the DDFG algorithm effectively suppresses the error divergence. Even under the large delay of 0.9s, the algorithm maintains high positioning accuracy. The slight fluctuations observed in the DDFG algorithm are due to the fact that as the delay value increases, the EKF processing used for the nonlinear motion equation causes a deviation from the actual motion, affecting the convergence within a fixed number of iterations. Compared with the UDFG algorithm, the proposed algorithm effectively reduces the positioning deviation with only a slightly higher calculation time, and effectively solves the problem of communication delay in cooperative navigation.
Statistical comparison of position RMSE (Mean
$\pm $
SD) for different algorithms under varying communication delays.

4.0 Conclusion
Cooperative navigation of multiple UAVs can improve the positioning accuracy of UAVs, but due to the interaction between UAVs, it will inevitably bring the problem of communication delay. Without considering the influence of communication delay, the cooperative navigation algorithm is a sub-optimal algorithm. Therefore, this paper proposes a factor graph distributed data fusion algorithm considering communication delay. The algorithm constructs the delay factor by establishing the UWB propagation delay model and introduces the factor graph. Combined with the sliding window mechanism and the adaptive step size adjustment strategy, the convergence speed and real-time performance are improved, and the distributed optimisation of the factor graph is realised through message iteration to obtain the globally optimal solution. The simulation results show that the algorithm can effectively fuse the UAV measurement information and still has high navigation accuracy in the presence of communication delay.
However, further research and improvements are required for the cooperative navigation of multi-UAV systems in practical implementation. Specifically, although the current work compensates for delays based on a Gaussian distribution model, real-world communication links often exhibit time-varying and non-Gaussian characteristics due to complex environmental interference. Furthermore, as the scale of the UAV swarm increases, balancing the length of the sliding window with computational efficiency becomes a critical challenge. To address these challenges, future work will explore adaptive sliding window strategies and integrate multi-source fusion with machine learning techniques to strictly constrain error propagation in complex environments. UAV formations will fuse multi-sensor data, including visual, IMU and UWB measurements, to realise real-time environmental perception and mapping. Furthermore, machine learning methods will be employed to establish intelligent NLOS error identification and correction models. These improvements aim to realise active identification and precision calibration of complex errors without relying on external anchor points, thereby ensuring the robustness of UAV formation cooperative navigation even in extreme environments with limited satellite signals.
Competing interests
The authors declare no conflict of interest.



±