# Multi-Spacecraft Tracking and Data Association Based on Uncertainty Propagation
## 3 Methodology of the Multi-Spacecraft Tracking
### Data Association  
The data association is to identify the conjunction between the incoming measurements and the targets. Assume that, at the epoch \(t_{k+1}\), there exists \(N\) targets and \(M\) observations. Note that \(N\) can be equal to, be larger than, or be smaller than \(M\). If \(N>M\), then some targets are lost in the version. If \(N<M\), then some unknown targets are added. The one-to-one correspondence between individual targets and measurements are represented by an association matrix \(\mathbf{\lambda}\) as:  
\[\mathbf{\lambda}=[\lambda_{ij}]_{N\times M}\in\mathbb{R}^{N\times M} \tag{23}\]  
where \(\lambda_{ij}\) is the element at \(i\)-th row and \(j\)-th column. \(\lambda_{ij}=1\) means the \(j\)-th observation belongs to the \(i\)-th target. Obviously, the elements should satisfy the following equations:  
\[\sum_{i=1}^{N}\lambda_{ij}\leq 1 \tag{24}\]  
\[\sum_{j=1}^{M}\lambda_{ij}\leq 1 \tag{25}\]Let \(\mathbf{z}_{j}(t_{k+1})\) be the \(j\)-th observation. According to Equations (21) and (22), the probability of the \(j\)-th observation being associated with the \(i\)-th target is given as:  
\[p_{ij}=\frac{1}{(2\pi)^{q/2}\big{\|}\mathbf{P}\big{(}\mathbf{z}_{T_{i}}\big{)}+\mathbf{R} \big{\|}}\exp\bigg{\{}-\frac{1}{2}\big{(}\mathbf{z}_{j}-\hat{\mathbf{z}}_{T_{i}}\big{)} ^{T}\big{(}\mathbf{P}\big{(}\hat{\mathbf{z}}_{T_{i}}\big{)}+\mathbf{R}\big{)}^{-1}\big{(} \mathbf{z}_{j}-\hat{\mathbf{z}}_{T_{i}}\big{)}\bigg{\}} \tag{26}\]  
where \(q=2\) is the dimension of the LOS measurement in Equation (4). Note that the covariance matrix \(\mathbf{R}\) is added in Equation (26) to compensate the errors caused by the measurement noise.  
First, the targets that are not detected by the observer are identified. These targets meet the following condition:  
\[\forall j\in\{1,2,\cdots,M\},\;p_{ij}\leq\eta \tag{27}\]  
where \(\eta\) is a user-defined threshold for target detection. In this paper, the threshold is set as \(\eta=10^{-4}\).  
Then, the optimal association problem is established as:  
\[\begin{array}{ll}\text{max}&\sum_{i=1}^{N}\sum_{j=1}^{M}\lambda_{ij}\ln\! \big{(}p_{ij}\big{)}\\ \text{s.t.}&\sum_{i=1}^{N}\lambda_{ij}\leq 1\\ &\sum_{j=1}^{M}\lambda_{ij}\leq 1\end{array} \tag{28}\]  
The problem in Equation (28) is inherently a task allocation problem. A lot of approaches have been proposed to cope with the task allocation problems, which can be broadly divided into the centralized ones and decentralized ones [42,43]. The decentralized methods outperform the centralized methods in terms of the efficiency. Aiming at developing a real-time tracking framework, in this study, the contract network algorithm [43] is selected to solve the optimal association problem in Equation (28). In the researched optimal association problem, the observations \(\mathbf{z}_{j}(t_{k+1})\) can be considered as tasks, and each target corresponds to one bidder. According to the contract network algorithm, the optimal association problem can be solved using four stages: the task announcement stage, the bidding stage, the awarding stage, and the monitoring stage.  
In the task announcement stage, the tender information related to the data association is informed to all the potential bidders (i.e., \(N\) targets). The information includes \(M\) observations (\(\mathbf{z}_{j}(t_{k+1})\,j\in\{1,2,\cdots,M\}\)) and the covariance matrix of the measurement noise. In the bidding stage, \(N\) targets receive the tender information, and then evaluate the performance of the contract changes according to Equation (26) and their current state. In the awarding stage, the data association performance in Equation (28) will be evaluated after accepting all the bids. According to the evaluation results, the communication mechanism is multicast communication mode. The optimization process is in this stage. Finally, in the monitoring stage, the association relationship is determined. After the data association, the true measurements of each target are obtained. Then, the orbit estimation is performed using the Kalman filter.