## 3 Control Algorithm Description
### Relative Control of Multiple Satellites  
The control algorithm (16) is aimed at the relative trajectory tracking of two satellites. However, for multiple satellite formation flying when it is required to achieve the reference trajectory relative to all satellites, the control algorithm needs to be modified. In this paper, the decentralized control approach is used, which implies that each satellite implements its own control regardless of the other satellites' control actions.  
In the case of \(N\) satellites in the group, each satellite has \(N-1\) consensus reference trajectories relative to other satellites. It means that for each \(N-1\) pair of satellites, the control acceleration \(\mathbf{u}_{ij}\) according to (16) and (21) can be calculated. In the decentralized approach, the \(j\)-th satellite lacks information about the control of the \(i\)-th, leading the \(j\)-th satellite to assume that the \(i\)-th is passive (i.e., \(\mathbf{u}^{i}=0\)) and it implements the difference in the control acceleration \(\mathbf{u}^{ij}=\mathbf{u}^{j}-\mathbf{u}^{i}\) by itself. Thus, each \(j\)-th satellite should implement simultaneously \(N-1\) different control accelerations \(\mathbf{u}^{ij}\), which is impossible. For this reason, in this paper, the mean value of the control acceleration is to be implemented according to the following:  
\[\mathbf{u}_{j}=\frac{\sum\limits_{i=1}^{N}\mathbf{u}^{ij}}{N-1},i\
eq j, \tag{22}\]  
assuming that \(\mathbf{u}^{ii}\) does not exist.  
The control acceleration vector \(\mathbf{u}_{j}\) is to be implemented by the aerodynamic forces, which has strict limitations on the value according to (9), and it is impossible to implement positive values for the along-track component \(u_{j}^{x}\). Let us consider the following example. With the averaged relative control (22), it is possible that all satellites except one achieve their respective reference trajectories relative to the majority of other satellites, causing the corresponding control acceleration values \(\mathbf{u}^{ij}\) to become close to zero. Meanwhile, one satellite still has a large deviation \(\mathbf{e}_{ij}\) relative to the others. Assume that according to Equation (22), the \(j\)-th satellite needs to implement a positive control action in \(u_{j}^{x}\), which is not possible by aerodynamic drag. It means that all other satellites should implement negative values in their control acceleration, since \(\mathbf{u}^{ij}=\mathbf{u}^{j}-\mathbf{u}^{i}\) by definition. However, other satellites have small values for all but one relative control acceleration, and the resulting sum is divided by \(N-1\). Thus, the control actions implemented by the other satellites are much less than the required control \(\mathbf{u}^{ij}\) relative to the \(j\)-th satellite that has not converged. In this situation, the convergence time to the reference trajectories for the \(j\)-th satellite could become considerably large.  
To avoid such undesirable cases, the acceptable deviation norm \(Err=\left|\mathbf{e}_{ij}\right|\) from the reference trajectory is introduced. The control acceleration vector \(\mathbf{u}^{ij}\) is used for the sum calculation in (22) only when the corresponding deviation norm is less than the acceptable value \(|\mathbf{e}_{ij}|>Err\). Thus, the modified control for the \(j\)-th satellite is as follows:  
\[\mathbf{u}_{j}=\sum_{i\in G_{j}}\mathbf{u}^{ij}/N_{G_{j}},\quad G_{j}=\{i:\ | \mathbf{e}_{ij}|\ >Err\},\quad N_{G_{j}}=\ |G_{j}|, \tag{23}\]  
where \(G_{j}\) is a set of satellites with \(\left|\mathbf{e}_{ij}\right|>Err\), and \(N_{G_{j}}\) is the number of satellites in \(G_{j}\). With modification (23) the proposed control becomes more sensitive to satellites which are not converged to reference trajectories.