To fuse the data coming from different agents, we should keep track of the cross-correlation between the various states. However, doing so is expensive in terms of memory since the number of elements in each drone's covariance will increase quadratically with the number of agents sharing data. The Covariance-Intersection (CI) algorithm [1]} allows us to neglect the correlation information between the robots, and perform data fusion with consistent covariance information. Namely, the resulting covariance out of the CI algorithm is larger than the real estimate one could obtain considering the cross-correlation. By doing so, the EKF is not overconfident, and it is kept consistent. The CI algorithm consists of a convex minimization problem that finds the best weights \(\omega _l\)  to scale the covariances of each agent \(l \in \lbrace l_0,...l_L\rbrace \)  involved in the update to obtain a covariance with the minimum eigen values.
We use the CI-EKF to update the drone state in the same form Zhu proposed, where \(l_0\)  denotes the drone where the update is performed:
\(S &=& R + \sum _{l \in \lbrace l_0,...l_L\rbrace } \frac{1}{\omega _l}{}^{}H_{}^{l^T}P_{k-1}^l{}^{}H_{}^{l}\\K &=& \frac{1}{\omega _{l_0}}P_{k-1}^{l_0}H^{{l_0}^T}S^{-1} \\P_{k}^{l_0} &=& ({I_{\omega _{l_0}}}-K{}^{}H_{}^{{l_0}^T})\frac{1}{\omega _{l_0}}P_{k-1}^{l_0}\\\delta x^{l_0} &=& {K}{}^{}\delta z_{}^{l_0}\) 
