*Article* **An Iterative Guidance and Navigation Algorithm for Orbit Rendezvous of Cooperating CubeSats**

**Simone Battistini 1,\*,†, Giulio De Angelis 2,†, Mauro Pontani 3,† and Filippo Graziani 4,†**


**Abstract:** Modern space missions often require satellites to perform guidance, navigation, and control tasks autonomously. Despite their limited resources, small satellites are also involved in this trend, as in-orbit rendezvous and docking maneuvers and formation flying have become common requirements in their operational scenarios. A critical aspect of these tasks is that these algorithms are very much intertwined with each other, although they are often designed completely independently of one another. This paper describes the design and simulation of a guidance and relative navigation architecture for the rendezvous of two cooperating CubeSats. The integration of the two algorithms provides robustness to the solution, by simulating realistic levels of noise and uncertainty in the guidance law implementation. The proposed guidance law is derived based on the linearized equations of orbital motion, written in terms of spherical coordinates. The trajectory is iteratively corrected at a fixed time step, so that errors from the navigation and the initial orbital condition can be recovered. The navigation algorithm processes the bearing and range measurements from a camera and an intersatellite link through an unscented filter to provide the information required from the guidance law. A Monte Carlo campaign based on a 3-DOF simulation demonstrates the effectiveness of the proposed solution.

**Keywords:** small satellites; cubesat; rendezvous; docking; guidance; navigation

### **1. Introduction**

The use of small satellites in modern space missions has become an important factor in the aerospace industry, thanks to the versatility, reliability, and low cost of these platforms. As the scenarios involving small satellites are growing in numbers and complexity, more advanced technological solutions are needed to address the new tasks of these missions. Autonomous guidance, navigation, and control (GNC) systems for small satellites, for example, are crucial for implementing challenging tasks, such as rendezvous and docking [1], formation flying [2], and space debris removal [3].

Guidance algorithms for rendezvous are usually based on the classical Hill–Clohessy– Wiltshire (HCW) equations, either under the impulsive thrust approximation or assuming finite thrust. Seminal publications on impulsive rendezvous have been written by Prussing [4,5], who investigated minimum-fuel rendezvous trajectories including two, three, or four velocity changes. By using the HCW equations, Carter [6] focused on finite thrust rendezvous with an upper bound on thrust magnitude, and proved that at most seven thrust/coast intervals can occur. Later, Carter and Humi [7] investigated fuel-optimal rendezvous relative to a point in a general Keplerian orbit, and demonstrated that no

**Citation:** Battistini, S.; De Angelis, G.; Pontani, M.; Graziani, F. An Iterative Guidance and Navigation Algorithm for Orbit Rendezvous of Cooperating CubeSats. *Appl. Sci.* **2022**, *12*, 9250. https://doi.org/10.3390/ app12189250

Academic Editor: Jérôme Morio

Received: 9 August 2022 Accepted: 6 September 2022 Published: 15 September 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

singular arc exists if the orbit is noncircular. Most recently, Pontani and Conway [8] addressed the problem of finding a variety of minimum-fuel rendezvous trajectories by using finite thrust and proved a remarkable symmetry property of optimal rendezvous paths. Although all the preceding contributions employ the HCW equations, Prussing and Chiu used the nonlinear equations of Keplerian motion, for the purpose of minimizing fuel consumption [9] under the impulsive thrust approximation. Pontani et al. [10] found both impulsive and finite thrust, fuel-optimal rendezvous trajectories by using a particle swarm algorithm. Other works use alternative deterministic and heuristic methods for rendezvous optimization and guidance, such as the glideslope multipulse technique [11], optimally timed trajectory correction maneuvers [12], H<sup>∞</sup> and *μ*-synthesis techniques [13]. However, in actual operational scenarios, rendezvous trajectories are affected by orbit perturbations, which make both the HCW linear equations and the Keplerian nonlinear equations relatively inaccurate for precise orbit rendezvous. Moreover, the assumption of perfect information on the relative spacecraft dynamics is not realistic, and an accurate rendezvous is likely to be infeasible without an effective navigation system, due to measurement noise or unavailable variables needed to compute the guidance command. This circumstance points out the need of an integrated, iterative guidance and navigation architecture, capable of performing correction maneuvers on the basis of the estimated state provided by the navigation system.

This paper analyzes the design of a relative guidance and navigation architecture for the rendezvous of two CubeSats, a target and a chaser, which are assumed to travel orbits in close proximity. The proposed guidance algorithm is based on the iterative application of the HCW linear equations of motion [14], written in terms of spherical coordinate displacements, under the assumption that both vehicles travel nearby orbits with small eccentricities. This simple approach aims at finding the correction maneuvers, modeled as impulsive velocity changes, that are necessary to maintain the chaser on track to the target. The orbital motion of both spacecraft is described by integrating the nonlinear equations of motion, which can include all the orbit perturbations relevant to the dynamical context.

The iterative nature of the guidance strategy allows accounting for the update of the target estimated orbit, provided by the navigation state, which is obtained from the measurements of the on-board sensors. Small space platforms have light architectures and weight constraints that require innovative navigation solutions, such as vision-based navigation. With this approach, a single [15] camera or multiple [16] cameras are employed on the chaser to measure the angular displacement to the target. A problem arising with the single-camera solution is the unavailability of relative range information [17], which affects the accuracy of the guidance law unless specific maneuvers are realized to improve the range observability [18,19]. Range becomes observable if the camera is offset with respect to the center of mass of the chaser [20], but not if the camera is placed in the line of sight between the target and the chaser, which is often the case. A thorough analysis of the performance of monocular visual navigation system is presented in [21]. Another possibility arises when the target is cooperative: in this case, direct range measurement becomes available thanks to an on-board intersatellite link (ISL), as in the case of the Milani 6U CubeSat mission [22].

The relative navigation solution is provided in real time by a recursive state estimator of the Kalman filter family of algorithms. Given the nature of the relative navigation equations, nonlinear Kalman filters are needed for this task, such as the extended Kalman filter (EKF) and the unscented filter (UF). The EKF has been a standard in relative navigation problems for a long time [23,24]. However, EKF's poor performance against highly-nonlinear systems and even divergences have led to the wide adoption of the UF, for navigation problems in either its regular [25] or square-root [26] versions. In fact, the UF provides a more accurate and robust solution to the estimation problem [27] than EKF; therefore UF is chosen for this work.

The paper is organized as follows: the mathematical model that represents the relative motion of the spacecraft is described in Section 2; the design of the guidance and navigation algorithms is given in Section 3; the setup of the numerical simulations and the results are presented in Section 4; conclusions and final remarks are given in Section 5.

### **2. Equations of Motion**

In order to write the equations of the relative orbital motion, a reference Keplerian circular orbit is defined in an inertial reference frame with axes *N*ˆ , *M*ˆ , ˆ *h*, as seen in Figure 1. Axes *N*ˆ and ˆ *h* are aligned respectively with the line of the ascending node and the angular momentum of the reference Keplerian orbit. The latter is circular and therefore has a fixed radius *RR*, inclination *iR*, and RAAN Ω*R*. In the preceding frame, orbital motion of a space vehicle (subject to thrust and perturbing accelerations) is identified by the instantaneous radius *r*, right ascension *ξ*, declination *φ*, radial velocity *vr*, transverse velocity *vt*, and normal velocity *vk*. Using these variables the equations of orbital motion are:

**Figure 1.** Representation of the inertial and moving frames.

$$\begin{cases} \dot{r} = v\_r \\ \dot{\xi} = \frac{v\_t}{r \cos \phi} \\ \dot{\phi} = \frac{v\_k}{r} \end{cases} \quad \left\{ \begin{aligned} \psi\_r &= -\frac{\mu}{r^2} + \frac{v\_t^2 + v\_k^2}{r} + a\_r \\ \psi\_t &= \frac{v\_t}{r} (v\_k \tan \phi - v\_r) + a\_t \\ \psi\_k &= -\frac{v\_t^2}{r} \tan \phi - \frac{v\_r v\_k}{r} + a\_k \end{aligned} \right. \tag{1}$$

where *μ* is the gravitational parameter of the main attracting body and*a* = {*ar*, *at*, *ak*} is the vector containing the three components of the external accelerations, due to either thrust or orbital perturbations.

The guidance law is obtained by linearizing Equation (1) around the reference orbit, assuming that the variables are perturbed by small displacements, denoted with *δ*, from the respective values, associated with the reference circular orbit, i.e.,

$$\begin{cases} \begin{aligned} r &= R\_r + \delta r \\ \xi &= \xi\_r + \delta \xi \\ \phi &= \phi\_r + \delta \phi \end{aligned} \end{cases} \begin{cases} v\_r = v\_{rR} + \delta v\_r = \delta v\_r \\ v\_t = v\_{tR} + \delta v\_t = \sqrt{\frac{\mu}{R\_r}} + \delta v\_t \\ v\_k = v\_{kR} + \delta v\_k = \delta v\_k \end{aligned} \tag{2}$$

At this point, it is useful to define a new set of coordinates:

$$
\infty = \delta r, \quad y = \mathcal{R}\_R \delta \xi, \quad z = \mathcal{R}\_R \delta \phi. \tag{3}
$$

By using the definitions in Equations (2) and (3), expanding Equations (1) to the first order, and neglecting higher-order terms, the well-known Hill–Clohessy–Wiltshire (HCW) equations are obtained, in terms of spherical coordinates *x*, *y*, *z*,

$$\begin{cases} \begin{aligned} \ddot{x} - 3\omega\_R^2 x - 2\omega\_R \dot{y} &= a\_r \\ \ddot{y} + 2\omega\_R \dot{x} &= a\_t \\ \ddot{z} + \omega\_R^2 z &= a\_k \end{aligned} \end{cases} \tag{4}$$

#### **3. Guidance and Navigation**

This section describes the guidance and navigation scheme used for the rendezvous of the two satellites. The guidance law is an iterative algorithm that calculates the steering maneuvers to achieve the final position of the target, using the available information on the position and velocity of both vehicles. The navigation subsystem estimates the information needed to calculate the guidance command by using the measurements from the on-board sensors. In this paper, it is assumed that an ISL and a camera provide range and bearing measurements.

### *3.1. Guidance*

This work assumes that both the chaser and the target travel orbits sufficiently close to the reference circular Keplerian orbit. This implies that the orbital dynamics of both vehicles can be described by using the HCW Equation (4). Let *δ***r** := [*xyz*] and *δ***v** := [*x*˙ *y*˙ *z*˙]. Due to the linear nature of the governing Equation (4), the time evolution of the displaced position and velocity vectors *δ***r**(*t*) and *δ***v**(*t*) is given by [14]

$$
\begin{bmatrix}
\delta \mathbf{r}(t) \\
\delta \mathbf{v}(t)
\end{bmatrix} = \begin{bmatrix}
M(\boldsymbol{\tau}) & N(\boldsymbol{\tau}) \\
S(\boldsymbol{\tau}) & T(\boldsymbol{\tau})
\end{bmatrix} \begin{bmatrix}
\delta \mathbf{r}(t\_k) \\
\delta \mathbf{v}(t\_k)
\end{bmatrix} \tag{5}
$$

where *τ* = *t* − *tk*. The closed-form expressions of the (3 × 3) matrices *M*, *N*, *S*, and *T* are reported in [14].

The rendezvous maneuver is assumed to have a specified duration Δ*ttot*. At a generic time *tk* (0 ≤ *tk* ≤ Δ*ttot*), the maneuver at hand can be designed by using Equation (4), by including a pair of impulsive changes of velocity, the first at time *tk* and the second at time Δ*ttot*. Superscripts + and − are associated with the time instants immediately before and after each velocity changes, i.e.,

$$\begin{cases} \Delta \mathbf{v}\_1 = \delta \mathbf{v}(t\_k^+) - \delta \mathbf{v}(t\_k^-) \\ \Delta \mathbf{v}\_2 = \delta \mathbf{v}(\Delta t\_{tot}^+) - \delta \mathbf{v}(\Delta t\_{tot}^-) \end{cases} \tag{6}$$

The final goal is to get the position and velocity of the target at time Δ*ttot*, i.e.,

$$\begin{cases} \delta \mathbf{r}(\Delta t\_{tot}) = \Delta \mathbf{r}\_T(t\_{tot}) \\ \delta \mathbf{v}(\Delta t\_{tot}^+) = \Delta \mathbf{v}\_T(t\_{tot}) \end{cases} \tag{7}$$

where subscript T refers to the target. The magnitudes and directions of Δ**v**<sup>1</sup> and Δ**v**<sup>2</sup> are given by the following vector equations, obtained by combining the previous relations

$$\begin{cases} \Delta \mathbf{v}\_1 = N\_f^{-1} \left[ \delta \mathbf{r}\_T (\Delta t\_{tot}) - \Delta \mathbf{r}(t\_k) \right] - \delta \mathbf{v}(t\_k^-)\\\Delta \mathbf{v}\_2 = \delta \mathbf{v}\_T (\Delta t\_{tot}) - \left[ S\_f \delta \mathbf{r}(t\_k) + T\_f \delta \mathbf{v}(t\_k^+) \right] \end{cases} \tag{8}$$

where subscript *f* denotes the value of the respective matrix, evaluated at *τ* = Δ*ttot* − *tk*. Let Δ*tS* represent the time interval between two consecutive iterations. The guidance algorithm is based on the following iterative steps, to perform at each time *tk*:


It is worth remarking that the algorithm at hand evaluates iteratively *δ***v**1, whereas *δ***v**<sup>2</sup> is evaluated only at the final time.

### *3.2. Navigation*

The navigation system consists of an algorithm that processes the available measurements *ζ* to reconstruct the target estimated state *χ*ˆ, defined as

$$\hat{\chi} = \{ \mathfrak{k}\_{T'} \mathfrak{f}\_{T'} \hat{\mathfrak{p}}\_{T'} \mathfrak{d}\_{r\_{T'}} \mathfrak{d}\_{t\_{T'}} \mathfrak{d}\_{k\_T} \}. \tag{9}$$

The model assumed for the motion of the target is that of Equation (1), where the external accelerations*a* are considered to be null, i.e., the target is not maneuvering and no orbital perturbations are considered. The equations that describe the three measurements (one distance, and two angles) are the following:

$$\begin{cases} \begin{aligned} \zeta\_1 &= ||(x\_2 - \underline{x}\_1 \cdot \underline{y}\_2 - \underline{y}\_1 \cdot \underline{z}\_2 - z\_1)|| + \nu\_{\text{range}} \\ \zeta\_2 &= \arctan \frac{\underline{y}\_2 - \underline{y}\_1}{\underline{x}\_2 - \underline{x}\_1} + \nu\_{\text{bear1}} \\ \zeta\_3 &= \arctan \frac{\underline{z}\_2 - \underline{z}\_1}{\sqrt{(\underline{x}\_2 - \underline{x}\_1)^2 + (\underline{y}\_2 - \underline{y}\_1)^2}} + \nu\_{\text{bear2}} \end{aligned} \end{cases} \tag{10}$$

where *νrange* ∈ N (0, *σνrange* ), *νbear*<sup>1</sup> ∈ N (0, *σνbear* ) and *νbear*<sup>2</sup> ∈ N (0, *σνbear* ) are three random signals representing the noise on the measurements, whereas subscripts 1 and 2 correspond to the two satellites. Because of the optical nature of the sensor, the intensity of the noise signal on the range measurement depends on the distance between the two spacecraft. Therefore, it is assumed that the variance *σνrange* is equal to the 10% of the true range value, as proposed in [22].

Given the high non-linearity of the model in Equation (1) and of the measurements in Equation (10), the algorithm considered for the state estimation is the UF in its standard version [28]. The process noise covariance matrix *Q* for this problem is defined as

$$Q = \begin{pmatrix} q\_0 \frac{\Delta t\_S^3}{3} I(3) & q\_0 \frac{\Delta t\_S^2}{2} I(3) \\ q\_0 \frac{\Delta t\_S^2}{2} I(3) & q\_0 \Delta t\_S I(3) \end{pmatrix} \tag{11}$$

where *q*<sup>0</sup> is a tuning parameter of the filter, Δ*tS* is the sampling time, and *I*(*n*) is the identity matrix of dimensions *n* × *n*.

### **4. Numerical Simulations**

In this section, the effectiveness of the proposed guidance and navigation scheme is assessed by means of a numerical simulation campaign of the 3-DOF equations of motion. The first simulation consists of a nominal case in which only the guidance law is tested. The second simulation tests both the guidance and the navigation systems on a set of 100 Monte Carlo runs. The main parameters of the simulation are reported in Table 1, where Δ*tF* is the duration of the firing impulse of the spacecraft that generates the Δ*v* of Equation (8). The nominal initial condition *x*<sup>0</sup> in both simulations consists in the two satellites being on the same circular, equatorial orbit at a distance of 10 km along the tangent direction.


**Table 1.** Simulation parameters.

#### *4.1. Nominal Simulation*

In the nominal simulation, the guidance system is tested without the navigation solution, i.e., assuming perfect information in Equation (8). Figure 2 shows that the displacement along *x* and *y* go to zero at the end of the simulation. The obtained miss distance is indeed very small at 5 cm. It is worth noting that a distance smaller than 1 m is deemed adequate to start a docking maneuver between two small satellites [29].

**Figure 2.** Position errors in the *x* and *y* directions.

The difference between the velocity of the two spacecraft is shown in Figure 3. It can be seen that the two velocities are aligned in both directions after the application of the *δ***v**<sup>2</sup> command of Equation (8) at the end of the simulation. Having nulled the difference in position and velocity between the two spacecraft in the orbital plane, the nominal simulation can be, therefore, considered successful. The out-of-plane motion, in fact, is null in this case, as the considered orbits are Keplerian and no perturbations have been taken into account.

**Figure 3.** Velocity errors in the radial and transversal directions.

#### *4.2. Monte Carlo Simulation*

A set of 100 Monte Carlo runs has been prepared for the second simulation, varying the initial conditions *<sup>x</sup>*ˆ0|<sup>0</sup> ∈ N (*x*0, *<sup>P</sup>*0|0), with *<sup>P</sup>*0|<sup>0</sup> selected as:

$$P\_{0|0} = \operatorname{diag} [\sigma\_r^2, \quad \sigma\_{\overline{\varsigma}'}^2, \quad \sigma\_{\phi\prime}^2, \quad \sigma\_{v\_{r'}}^2, \quad \sigma\_{v\_{l'}}^2, \quad \sigma\_{v\_k}^2]\_{\prime} \tag{12}$$

where the variances *σ* are given in Table 1.

The cumulative distribution of the miss distance obtained in the simulation campaign is shown in Figure 4. The results indicate that a miss distance shorter than 1 m is obtained in 85% of the cases, in line with the requirement on the final miss distance expressed in [29]. The accuracy obtained by the relative navigation filter in reconstructing the estimated state (9) is reported in Table 2. As can be seen by comparing the values of Table 2 with the variance of the initial guess and the level of the measurement noise, the filter is able to converge to a more accurate estimate of the variable. The only variable whose estimation accuracy has not been improved by the filter is the out-of-plane component of the velocity. This can be explained by the fact that there is no out-of-plane motion of the spacecraft in this case, as the orbit is assumed totally Keplerian. Thus, the out-of-plane motion is completely unobservable and the estimate of *v*ˆ*kT* remains bounded by the variance *σvk* .

**Table 2.** Estimation accuracy.


**Figure 4.** Miss distance cumulative distribution obtained in the simulation campaign.

### **5. Conclusions**

This paper has presented a guidance and navigation scheme for the rendezvous of two CubeSats. Autonomous sensing and maneuvering capabilities are becoming a requirement of many space missions, even when small satellites are employed. Therefore, it is very important to investigate algorithms that can provide the necessary GNC capabilities and to test them together in simulation so that they can be validated.

The guidance law developed for this work is an iterative algorithm that calculates a discrete firing command Δ*v*<sup>1</sup> at a specific sampling time, based on the linear rendezvous theory and the HCW equations. The necessary information for the guidance law is derived from the navigation solution, which is based on a UF that processes the available on-board measurements (range and bearing).

This scheme was tested in a 3-DOF simulation in both the nominal case (perfect information) and against a Monte Carlo campaign (incomplete information), assuming values compatible with CubeSat systems and applications. The Monte Carlo simulation allows us to take into account the variations in the measurement noise and the initial guess on the target's orbit. The results show that the obtained miss distance between the two spacecraft is below 1 m, a value suitable for the start of the docking operations.

Further work on this topic should include a trade-off study of the proposed solution against different sampling and firing times. Furthermore, the 3-DOF model should be improved to account for the main orbital perturbations, such as the Earth's oblateness and the aerodynamic drag.

**Author Contributions:** All authors contributed equally to this work. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research received no external funding.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest.

### **Abbreviations**

The following abbreviations are used in this manuscript:


### **References**


**Renato Alves Borges 1,\*, Andrea Cristina dos Santos 1, William Reis Silva 2, Leonardo Aguayo 1, Geovany Araújo Borges 1, Marcelo Monte Karam 1, Rogério Baptista de Sousa 1, Bibiano Fernández-Arruti García 3, Vitor Manuel de Sousa Botelho 3, José Manuel Fernández-Carrillo 3, José Miguel Lago Agra 3, Fernando Aguado Agelet 4, João Vítor Quintiliano Silvério Borges 1, Alexandre Crepory Abbott de Oliveira 1, Bruno Tunes de Mello 1, Yasmin da Costa Ferreira Avelino 1, Vinícius Fraga Modesto <sup>1</sup> and Emanuel Couto Brenag <sup>1</sup>**


**Abstract:** On 1 April 2022, the AlfaCrux CubeSat was launched by the Falcon 9 Transporter-4 mission, the fourth SpaceX dedicated smallsat rideshare program mission, from Space Launch Complex 40 at Cape Canaveral Space Force Station in Florida into a Sun-synchronous orbit at 500 km. AlfaCrux is an amateur radio and educational mission to provide learning and scientific benefits in the context of small satellite missions. It is an opportunity for theoretical and practical learning about the technical management, systems design, communication, orbital mechanics, development, integration, and operation of small satellites. The AlfaCrux payload, a software-defined radio hardware, is responsible for two main services, which are a digital packet repeater and a store-and-forward system. In the ground segment, a cloud-computing-based command and control station has been developed, together with an open access online platform to access and visualize the main information of the AlfaCrux telemetry and user data and experiments. It also becomes an in-orbit database reference to be used for different studies concerned with, for instance, radio propagation, attitude reconstruction, data-driven calibration algorithms for satellite sensors, among others. In this context, this paper describes the AlfaCrux mission, its main subsystems, and the achievements obtained in the early orbit phase. Scientific and engineering assessments conducted with the spacecraft operations to tackle unexpected behaviors in the ground station and also to better understand the space environment are also presented and discussed.

**Keywords:** AlfaCrux LEOP; CubeSat; educational mission; amateur radio

### **1. Introduction**

The last two decades have seen an enormous rise in the number of launched small satellite missions [1–3]. The growth of launch opportunities, the technological advances, and the creation of standards such as the CubeSats for subsystems and devices has allowed passing from exclusively academic-based projects to missions that involve research centers, private companies, and public institutions [4]. Small satellites have been shown to share many characteristics of disruptive innovations and can be employed in a range of different missions, such as scientific and educational missions, remote sensing, and communications [5–7]. In this context, the need for capacity building and allocation of human resources toward better management and technological innovation for the space field is critical in countries where space activities are not sufficiently established yet, and the CubeSat represents a great platform for education and research [8,9]. Moreover, CubeSats have reduced entry-level costs for space missions, and due to the fact that innovative miniaturized

**Citation:** Borges, R.A.; dos Santos, A.C.; Silva, W.R.; Aguayo, L.; Borges, G.A.; Karam, M.M.; de Sousa, R.B.; García, B.F.A.; Botelho, V.M.D.S.; Fernández-Carrillo, J.M.; et al. The AlfaCrux CubeSat Mission Description and Early Results. *Appl. Sci.* **2022**, *12*, 9764. https://doi.org/ 10.3390/app12199764

Academic Editor: Cristian De Santis

Received: 28 July 2022 Accepted: 21 September 2022 Published: 28 September 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

hardware is being developed for deep-space missions, opportunities for lunar orbit and interplanetary space are already becoming available [10–12]. Consequently, educational training is a very important and strategic step in order to further increase the expertise of the scientific community, for instance in Brazil, with the goal of mastering the operation and development of critical and restricted-access technologies in satellite missions.

Elaborated missions are able to address different needs of our society, which imposes strict requirements on the execution of the mission phases. For instance, the need for improving the terrestrial communication coverage providing massive connectivity to underserved areas is driving communication satellites development to a new era of data-based services and applications [13,14]. If one considers the development and operation of reliable data and voice communication systems in remote areas, or those with difficult access, it still represents a challenge in the modern world that affects not only civil society but also a country's defense. In the civil area, it can be said that a few decades ago there were no online applications to improve agriculture and its accuracy, for direct communication between devices, or even interaction and data exchange in order to elevate data connectivity to a more comprehensive level. In the defense field, remote regions with poor infrastructure lack vital communication capabilities beyond line-of-sight to serve tactical land users. When operating over long distances, over rough terrain, or in a jungle environment, tactical users cannot maintain radio line-of-sight. This creates gaps in situational awareness, increasing the possibility that criminal threats or activities go unnoticed, not monitored, not reported, and reactions by local authorities are not triggered.

The AlfaCrux mission is the first space mission financed by the Federal District Government, via the Federal District Research Support Foundation, with institutional support from the Brazilian Space Agency, and under the coordination of the University of Brasília, the owner and operator of AlfaCrux. It is an amateur radio and educational mission with in-orbit technological demonstration and high-level tasks such as management, planning, and risk analysis along the typical life cycle of a space mission. It aims to provide its participants with an excellent technical and intercultural experience and to become a network of students, professors, researchers, radio amateurs, and other partners for the technological advancement of space. The AlfaCrux system is a satellite communication solution with practical and research implications for general society, allowing the responsible team to obtain knowledge about aerospace technology, with innovative experiences and skills, when working on the development of a satellite from the initial phase to its operation. Research and development involving typical satellite and payload architectures will provide experience with respect to the use and applications of nanosatellite technology.

Within this context, this paper provides an overview of the AlfaCrux mission and early achievements obtained so far by the satellite operation. It is intended to describe the methods and materials used to achieve the mission goals, that is, an educational platform for science, technology, engineering, and mathematics (STEM) training and learning within the aerospace field, exploring active methodologies with early in-orbit experiences. It also describes the framework built to explore its scientific capabilities gathered around the topic of digital twin (DT) modeling, which includes, for instance, on-board data handling, data processing and visualization, attitude determination and reconstruction, environment modeling, orbit dynamics, and space weather impact in the communication system. The scientific and engineering assessments conducted during the early orbit phase with the AlfaCrux operations were important not only to check and validate the health of the satellite, but also its functional characteristics for the proposed digital twin architecture. Digital twin for CubeSat applications is still an incipient topic that is driving the development and application of different methods to improve our knowledge based on digital models. A simple example of a first result is provided, but due to the initial stage of operation, detailed comparisons and performance analyses are still to come. The first step was to build, integrate, and run a pilot digital twin architecture for the AlfaCrux kinematics reconstruction, described in the paper, and as the knowledge database increases, successive

refinements and performance improvements are implemented, increasing the quality of the proposed model.

### *Educational Mission*

Many engineering programs have used CubeSat development projects as mechanisms for hands-on experience [9]. The benefits of small spacecraft projects in engineering education using the Project-Based Learning (PBL) methodology to engage students in the learning process have been shown by several authors [9,15–17]. PBL is a model that organizes learning around complex tasks based on challenging questions or problems that involve students in design, problem-solving, decision-making, or investigative activities [18]. Compared to traditional forms of instruction, PBL enhances students' ability to transfer knowledge to new problems and to achieve more coherent understanding [9,15–17]. Moreover, the use of Systems Engineering (SE) approach may help to minimize the risks, especially in highly complex projects such as a CubeSat mission development. The importance of SE involves a paradigm shift from an emphasis on designing functional technical systems (electrical systems, control systems, and others) to an emphasis on meeting technical, economic, learning, and management requirements.

For the AlfaCrux mission, the documentation was prepared based on the standards provided by the ECSS [19] and NASA [20], and the spiral model was chosen in the development due to its recursive nature. This model defines a sequence of steps to achieve a viable product taking into account its whole life. Even though the project is currently in Phase E, i.e., in operation, the project team had to go through each phase in the early development process. This is important for a comprehensive definition of the scope of the mission and its requirements. As the project evolves, more knowledge is gathered, and the product quality increases. Figure 1 illustrates the proposed approach, in which the phases are defined as bellow:


The AlfaCrux mission involved multiple agents and actors. The team members had the opportunity to learn from activities and experiences during different stages of the mission design life cycle. For instance, graduate students were challenged beyond technical development, they were part of the project management team. Undergraduate students were involved in specific problems under the supervision of one of the guiding professors. During the project development, the involvement of graduate students took place outside a formal context of the discipline, through engagement and participation. On the other hand, the involvement of undergraduate students took place within the context of final graduation projects. At the current stage, a formal learning analysis and comparison with other methods was not yet conducted. However, on 6 June 2022, the AlfaCrux operation, command, and control activities entered the syllabus of the course named Engineering Topics, offered by the Electrical Engineering Department of the University of Brasilia. In this course, engineering students had the opportunity to learn in a hands-on approach about the daily activities of operating a CubeSat. Results are yet to come, but so far, it is possible to observe the motivation of the students when facing new challenges concerned with, for instance:

• The mission life cycle;


Finally, concerning the AlfaCrux operational life cycle, it is expected at least 3 years of nominal activities, being possibly extended up to 10 years (depending on the Solar cycle activities impact, the regulation of spectrum use, among others). During the 3 years of operation, the first one is dedicated to the commissioning of the space and ground segments, hardware and software improvements, training, data management system validation, and estimation of the AlfaCrux DT maturity and quality during the early acquisition phase. Consistent and large in-orbit open access database to support a better analysis of the technical maturity of the proposed DT architecture is expected during the second year. Moreover, improvements in the telemetry viewer and mission planner considering the AlfaCrux main services are also a desired outcome at this stage. Finally, the third year should be dedicated to high-quality operation and data analysis in full compliance with the user segment, based on lessons learned from the first two years. It is important to emphasize that during the whole life cycle, the daily activities and operation of the AlfaCrux CubeSat may be covered, or at least motivated, in the syllabus of different courses offered at the University of Brasilia.

**Figure 1.** AlfaCrux mission life cycle in the development process.

### **2. Methods and Materials**


The main motivation for carrying out the AlfaCrux mission is to provide an opportunity for space educational training and scientific benefits in the context of small communication satellite missions. The AlfaCrux project fosters the educational collaboration and technical investigations carried out by researchers, professors, students, and radio amateurs, with the sole purpose of self-training in topics such as radio communications, technical management, system-level design, and the development, integration, and operation of small satellites. The need for training and allocation of human resources for better management and technological innovation in the space sector is a critical need in our

country. Space activities need to be established in a sustainable model in which constant training plays a fundamental role.

The specific context of the AlfaCrux mission also arises from another critical need in our society, which is to provide reliable narrow-band communication coverage. For instance, narrow-band communication via satellite can meet the needs of data collection systems in places without terrestrial infrastructure, such as underdeveloped areas, uninhabited areas, and areas that have been devastated by a natural disaster as well as provide tactical communication links. Several applications can be constructed based on a system that provides low data rate communication services.

To achieve this goal, the following set of objectives are proposed:


### 2.1.2. Mission Concept

AlfaCrux is an amateur radio and educational mission to provide a hands-on experience with technological demonstration in orbit. The main purpose is the operation, command, and control of a satellite-based system for providing communication applications. Digital twin modeling, scientific experiments related to the impact of space weather in the communication channel, as well as the dynamic analysis for ADCS applications, are also part of the mission objectives.

The AlfaCrux payload implements a low-rate, bidirectional, short-message-based store-and-forward communication system between terrestrial and satellite terminals. This system allows, among many other applications, communication with weather stations in remote areas, environmental sensors, communications in areas affected by disasters, etc. For retrieving data from the satellites, the ground station will be the core component of the data distribution system. The system end users can access, through an internet connection, the data collected by these sensors and send the desired information. Cooperation in the ground segment will be established among the AlfaCrux collaborators.

In addition to the communication service itself, the system demonstrates:


**Figure 2.** AlfaCrux operational concept.

### *2.2. Alfacrux Spacecraft*

The AlfaCrux is a standard 1U CubeSat with dimensions of 10 by 10 by 10 cm. The final configuration can be seen in the CAD rendering shown in Figure 3 and the mass properties in Table 1. The summary of AlfaCrux orbit and designator is as follows:


**Figure 3.** AlfaCrux CAD isometric view.

**Table 1.** AlfaCrux mass properties.


### 2.2.1. Alfacrux Subsystems

A short description of the components can be seen in Table 2. The AlfaCrux subsystem configuration can be seen in Figure 4.



**Figure 4.** AlfaCrux configuration.

### 2.2.2. Operational Modes

The AlfaCrux operational modes schematic can be seen in Figure 5. A short description of each mode is as follows.


2.2.3. User Interface with OSI Layers

A general overview of the user interface with the AlfaCrux satellite open systems interconnection (OSI) layers is presented, specifically for the telemetry downlink. It is worth mentioning that the AlfaCrux downlink signal is not encrypted, in accordance with the amateur satellite service regulation, specifically article 25.2A 1A of the International Telecommunication Union (ITU) radio regulation RR25-1.

The TTC physical layer is as follows. TTC frequency of 437.100 MHz, effective isotropic radiated power of 30 dBm, Turnstile antenna, and mixed circular polarization (right and left hand).

The data link layer is summarized in Table 3. The use of Gaussian Minimum Shift Keying (GMSK) modulation provides a good compromise between speed and bandwidth. This type of modulation has no phase discontinuities thus the side lobes of the signal spectrum are reduced. Apart from minimizing channel interference, it provides efficient use of spectrum and enables high efficiency.


**Table 3.** AlfaCrux data link layer.

All the packets transmitted by the AlfaCrux use the Cubesat Space Protocol (CSP) (https://github.com/libcsp/libcsp, accessed on 20 September 2022). Inside the CSP data field, telecommand transfer frames are used to encapsulate upper layer data. The TM transfer frames are an adaptation of CCSDS TM transfer standards. When the satellite is in communication with the ground station, a reliable channel is established between the station and the satellite using CSP Reliable Data Protocol.

The TM transfer frames transport standard CCSDS Space Packets implementing ECSS Packet Utilization Standard (PUS) services. A detailed description of PUS packets can be found in the ECSS, Telemetry and telecommand packet utilization, ECSS-E-ST-70-41C of 15 April 2016.

The satellite transmits a set of 5 packets every 30 s. Each packet contains a TM frame with a single space packet inside. Standard PUS service 3 (Housekeeping) is used to format these space packets. Five different beacons are transmitted, each one with a different ID, as follows:


Apart from the beacons, the satellite can generate other telemetry packets, the majority of them only under specific telecommand from the ground station, that is related with command and control of the satellite, with some packets out of the PUS standard. More information can be found at the official website of the mission at https://lodestar.aerospace. unb.br/projects/alfacrux (accessed on 20 September 2022).

### *2.3. Alfacrux Ground Segment*

### 2.3.1. Ground Station Architecture

The ground station information technology (IT) architecture is composed of physical and logical components, shown in Figure 6. The physical components aim to provide the computational power and make the internal and external interconnection with the Internet, namely:


The logical components are formed by operating systems, firmware, software, applications, and virtual machines, as follows:


The AlfaCrux team implemented an architecture for the ground station that allowed remote and secure operation. The computers were configured not to be a single point of failure, having replicated the virtual machines and applications, allowing them to be switched quickly, in a matter of minutes. To monitor the IT architecture and its components

in order to identify possible points of attention, such as overloads, unavailability, and loss of performance, the Zabbix monitoring solution was implemented.

**Figure 6.** Ground station architecture.

The Zabbix is an open-source and free solution with several applications in different contexts including, for instance, the aerospace field. The basic resources of the server and computers are monitored, such as CPU, RAM, and SWAP memories, disk writing and reading latency, bandwidth consumption, status of processes and containers. For the administration and remote operation of the ground station, an open-source VPN solution, the OpenVPN, was implemented, embedded in the pfSense Linux distribution. The encryption used is based on public and private keys, with each user having their unique access key. pfSense integrated solutions with the OpenVPN and the key export package were chosen for their ease in generating and managing keys, being considered mature and a reliable security solution used by several companies in the world.

In order to mitigate the impact of power outage in the operation, a UPS capable of supporting the entire environment was implemented, being able to maintain the operation with the AlfaCrux and data management system for 30 min when the main power fails. Another important point to be highlighted is the need to configure the power schemes of the computers and the server. Specifically, the following characteristics were activated in the basic input–output system: power on after power outage, scheduled power on, and wake on local area network (LAN).

To increase efficiency and reliability in the operation tasks, some scripts were created, and additional configurations were set up on the server as well as the desktop computers. On the client side, a batch script was developed with an interactive menu for connectivity testing, activation, deactivation, restart, and collection of information from the rotors and the software-defined radio (SDR), as well as a bash script to control and manage containers. Time update enforcement twice a day has been added to the task schedulers. This procedure was implemented after observing the impact caused by the delay or advance of a few minutes during the operation with AlfaCrux. Moreover, it guarantees a reliable and satisfactory satellite clock synchronization.

The satellite clock synchronization is performed by the operator through specific telecommands, and it is regulated from the main server at the ground station. In this framework, the precision of the satellite clock is given by the precision of the ground station's main server and computers. The clock synchronization between the server and computer systems is achieved using the Network Time Protocol (NTP), specifically a server provided by the https://ntp.br/ (accessed on 20 September 2022). The maximum error of a clock set through an NTP client varies from fractions of milliseconds to a few tens of milliseconds, depending on the quality of the network. Asymmetric routes and network congestion can cause errors of 100 ms or more. Quantitatively speaking, for the proposed solution, values less than 100 ms were noticed, which should provide an idea of the precision magnitude.

The impact of these delays is twofold: orbit propagation for the tracking system and data analysis and use for different applications. In the first case, considering the pointing tolerance of 5 degrees and the precision of the tracking system, it was noticed that a mismatch of less than 30 s is affordable. In the case of data use and analysis, a regularization procedure is executed at least once per day. The regularization of the satellite's current time is progressively performed in order to avoid jumps in time. Consequently, the time is not changed immediately. The duration of the regularization must be longer than the time span to be advanced or delayed. For example, if the on-board time is 20:30 and we want to set it to 20:15, the duration of the regularization should be set to greater than 900,000 ms. Moreover, in case higher precision is needed for data use, time corrections can also be applied in the mission control software.

Another innovation in the architecture of the ground station was the use of containers, allowing for greater compartmentalization and isolation of solutions. To facilitate the container management, the free graphical manager Portainer was installed. In all, 5 containers are configured, namely, CouchDB for the MCS database, PostgreSQL for the MCS database, MCS server, Rotctld rotator control daemon, and an SDR container.

Data registration is performed in an encrypted form in a CouchDB database and in a PostgreSQL database exclusive to the application. To comply with the need for data study and analysis, the MCS software has an API that allows access to data through web services. For this reason, a Python 3.6 program was developed with the objective of performing three operations during its execution: (i) update all existing parameter tables; (ii) update all executed remote controls; (iii) update all telemetry received. The result of this operation, in a way, is a backup of the data while creating a security layer for data access since, after updating, the data are provided through another API, developed by the AlfaCrux team to be accessed by students, researchers, and the amateur radio community.

In addition to this API, the AlfaCrux team also developed an interface that allows the collaborative collection of telemetry from anyone that have received packages from the AlfaCrux satellite, recorded the telemetry and generated a KISS frame file. This interface, an online form, allows recording latitude, longitude, email, name, call sign, and KISS frame file. Finally, data duplication analysis mechanisms will be necessary and even, without prejudice to data quality, the creation of a composite primary key that allows differentiating the data source, which may lead to the possibility of telemetry duplication.

### 2.3.2. User Segment

Currently, the AlfaCrux team is developing and providing the online telemetry viewer (https://lodestar.aerospace.unb.br/projects/alfacrux/radio#telemetry-viewer, accessed on 20 September 2022), a web platform that selects the main parameters of the satellite beacons to the user. The data provided by the collaborators will also be made available, and a main time series of the parameters will be implemented after checking and validating the received package. All frames available online are properly associated with the responsible call sign in such a way that the amateur radio can search in our database for its specific contribution in the AlfaCrux mission.

#### *2.4. Alfacrux Digital Twin Architecture*

One of the main innovative contributions of the AlfaCrux mission is concerned with the development of a digital twin model, see Figure 7. The DT can be defined as a highfidelity and up-to-date digital representation of an physical counterpart. This representation is achieved by combining different models (physics-based and data-driven models), simulations, sensor updates and historical data [21]. Although this topic has been studied in the aerospace field [22], the use and applications of digital twin in the context of small satellites are still incipient, with very few examples and systems implemented so far [23,24].

**Figure 7.** Five-dimensional architecture for the CubeSat digital twin framework.

In this first approach, the goal is to set the start point and the guidelines to establish the concept and a methodology to build a reliable framework for the operation and main services of nanosatellites, in a first moment CubeSat standard, fulfilling the necessary space standards (such as health checks, dynamic characteristics, and safety mechanisms, among others) and conforming to the necessary payload requirements.

By innovative framework, we mean a new architecture in which the development of a digital model of the nanosatellite is considered. In this innovative approach, the digital model is constantly under improvements based on the data collection system (laboratory tests, computer simulations, and in-orbit data), and more than that, the digital model can improve and update the physical entity, i.e., the satellite in orbit). In other words, we are proposing a digital twin framework for nanosatellite mission applications.

The digital twin can be modeled in a five-dimensional architecture composed of the physical entity (PE), the virtual entity (VE), the DT data (DD), the system services provided (SS) and the connections between the parts (CN) [25]. Figure 7 provides a conceptual model of the DT specifically for the AlfaCrux. The sensors in the PE gather data that will be used as input for the analysis, models, and simulations of the VE. In this way, the VE can mirror the physical geometry, physical properties, behaviors, and rules of the PE. The SS consists of the services for the physical and virtual entities, and for the project stakeholders. These services include the scheduling of the payload services, the change in operational mode, the telemetry viewer, and firmware updates. The DD is composed of data collected from the PE, VE, and SS through the connections. The connections are also used to link the PE, VE, and SS among themselves [25].

In the center of the five-dimensional architecture is the digital twin data, due to their critical role in the DT as the knowledge representation [26]. The process of creating the knowledge involves, among other things, the data collection and pre-processing of different sources. These sources can be divided into three main categories: synthetic data (computer simulation), experimental data (laboratory tests and validation), and in-operation data (satellite telemetry) [22]. Specifically, the synthetic data are generated by simulations in the virtual world, the experimental data are gathered through experiments conducted in the physical entity, and the last category, the in-operation data, are collected during regular operation of the physical entity, in our case the AlfaCrux CubeSat.

The first part of the DT that has been developed is dedicated to kinematic reconstruction, as seen in Figure 8. The models were initially validated with simulated and real telemetry data. This pilot DT is explained below, considering the five dimensions shown in Figure 7.

**Figure 8.** AlfaCrux kinematic reconstruction DT.


### **3. Results and Discussions**

The preliminary orbital data (injection) given by the launch provider team were used to propagate the orbit (Simplified General Perturbations-4 (SGP4)) and predict the first passages over the command and control station. The first access report provided the estimates presented in Table 4.


**Table 4.** Ground station to AlfaCrux first access report.

As a pre-launch setup, the ground station equipment, configuration, and procedures were verified. The mission control software was updated, and the control sequences loaded. The pass procedure for the first days based on the access report was revised and ready to be executed.

In the first passage over the command and control ground station, we were able to receive beacons from the AlfaCrux, in a first moment not able to demodulate, but as soon as the orbit position became more precise, the quality of the tracking, and consequently of the operation, were improving. During the first days, the operation team was focused on the correct identification of the AlfaCrux spacecraft in cooperation with the 18th Space Control Squadron of the United States Space Force. As an operator organization, the AlfaCrux team started using the TLEs from the Space-Track (https://www.space-track.org/, accessed on 20 September 2022) platform, exchanging information about the AlfaCrux operation, checking, and analyzing safety information provided by the conjunction data message, and after some days, the AlfaCrux was properly identified with the international designator 2022-033D.

### *3.1. Satellite and Ground Station Commissioning*

During the AlfaCrux satellite and ground station commissioning, the SDR start/stop procedures were constantly tested and verified before the passage, leading to new scripts to improve the efficiency of the operation. The elevation and azimuth rotors' start/stop procedures and the remote control interface were also tested and checked constantly, leading to adjustments in the antenna mounting, pointing calibration, soft start/stop ramp, and creation of preventive maintenance routines.

For the first contact, the main actions were to receive beacons; verify communications (Ping command to the satellite); check preliminary TLE by taking notes of time/frequency of Doppler shifts, especially at the moment in which the Doppler shift equals 0 Hz; and check the overall health of the satellite. The critical housekeeping information for those days were battery level, solar panels' voltages and currents, battery charge current, EPS output currents, and internal and external temperatures.

For the next contacts, the procedure includes receiving beacons, verifying communications (Ping/Pong), checking if operational mode was set to Survival, establishing a reliable

communications channel, obtaining telemetry errors (if any), and obtaining telemetry since the first hours, storing it, and analyzing the critical parameters.

Recently, the clock was synchronized with the ground station, and a new procedure was included in the daily passage, that is, a time reference update. As of 27 July 2022, 01:56 UTC, the AlfaCrux changes to Nominal mode.

### *3.2. Alfacrux Digital Twin Pilot*

The first elements of the proposed digital twin, shown in Figure 7, were developed and tested in the current phase with synthetic and preliminary telemetry data, specifically the attitude reconstruction, environment, and communication channel models; the telemetry viewer; and risk analysis.

### 3.2.1. Attitude Reconstruction and Dynamic Analysis

The attitude reconstruction system is responsible for the spacecraft pose determination using the in-orbit data stored in the DT database, generating an offline time-series of the attitude parameters. This feature allows the assessment of onboard sensors performance and their characterization; the analysis of filtering methods, such as Kalman filter and its derivations; the study of environment models; and the estimation of perturbations. For the reconstruction, not only the attitude sensors, for instance gyroscopes, magnetometers, and Sun sensors, can be considered but also other onboard data that may be affected by the satellite orientation, such as solar panels, optical payloads, or even the antenna signal power received by the ground station.

For the AlfaCrux attitude estimation, the onboard sensors available are one gyroscope and one magnetometer, both with tree-axis measurements. In order to improve the filter performance, the solar-panel-related data are also considered so that the Sun line-of-sight can be estimated as a Sun sensor. Specifically, the AlfaCrux CubeSat has a total of six solar panels, each one mounted on one spacecraft face. Solar panels from opposite sides are connected in parallel and the onboard system collects one current and voltage measurements from each pair along with individual temperature measurements. As shown in [27], the Sun vector can be estimated through computations with individual current measurements. However, in the AlfaCrux case, the power is considered instead of the current, and the highest temperature of one solar panel pair indicates which one is generating such power.

Once the measurements are available, an initial attitude determination method is executed in order to compute the full attitude profile. The simplest one is the Triaxial Attitude Determination (TRIAD), which is based on finding an attitude matrix that rotates an orthonormal base in the inertial frame to the base expressed in the spacecraft body frame from two not aligned vector measurements, such as, for instance, the Sun position and the Geomagnetic field [27]. After the definition of the initial attitude, stochastic filtering techniques provide the solution for the attitude propagation over time through the dynamical model and sensor data. Such a filtering problem consists of a sub-optimal estimation of the attitude state along with related parameters, such as sensor biases, misalignment, and orthogonality. In this context, the state vector and sensor observations are defined as random variables, so that their statistics represent the confidence degree in both estimated and measured quantities in the form of error covariance.

The filter structure for AlfaCrux attitude estimation is formulated in [28], called Unscented Quaternion Estimator (USQUE), which is based on the Unscented Kalman Filter, a nonlinear filter that uses selected samples from the state probability density function instead of computing a first-order linear approximation using the Jacobian matrix, as in the Extended Kalman Filter. The USQUE algorithm considers the multiplicative quaternion approach, where a global attitude state is the spacecraft estimated pose, and a local attitude state represents the error to be computed in the filtering process. After an iteration, the global attitude is updated with the estimated error from the filter.

The system is modeled by the following equations:

$$\begin{aligned} \mathbf{x}\_k &= \mathbf{f}(\mathbf{x}\_{k-1}) + G\_k \mathbf{w}\_{k'}\\ \mathbf{y}\_k &= \mathbf{h}(\mathbf{x}\_k) + \mathbf{v}\_{k'} \end{aligned} \tag{1}$$

where **x** is the 6 × 1 state vector; **y** is the 6 × 1 output vector; **f**(·) is the attitude kinematic equation; **h**(·) is the measurement model equation; **w** and **v** are the process and observation errors, both modeled as uncorrelated Gaussian random variables with zero mean; and Q and R are covariance matrices, respectively.

The state vector is composed of attitude-error angles parameterized using the Generalized Rodrigues Parameters (GRP) and the gyroscope bias, as follows: **<sup>x</sup>** <sup>≡</sup> [*δ***p***<sup>T</sup> <sup>β</sup>T*] *T*. The GRP represents the local attitude-error that will be incorporated in the global representation, once **p** is equal to the rotation angle, *ϑ*, for small errors. The sigma-points, *χ*(*i*) for *i* = 0, 1, ··· , 12, are generated according to the following equations:

$$
\sigma\_i \longleftarrow \text{i-th column of } \pm \sqrt{(n+\lambda)(P\_{k-1}^+ + \bar{Q}\_{k-1})},\tag{2}
$$

$$\begin{aligned} \chi(0) &= \mathfrak{x}^+, \\ \chi(i) &= \sigma\_i + \mathfrak{x}^+, \end{aligned} \tag{3}$$

where *P*<sup>+</sup> *<sup>k</sup>*−<sup>1</sup> is the state error covariance, *<sup>Q</sup>*¯ *<sup>k</sup>*−<sup>1</sup> is the process error covariance, and *<sup>λ</sup>* is a scalar chosen arbitrarily.

For the prediction step where the state vector is propagated from time instant *k* − 1 to *k*, the attitude kinematic equation is considered. The GRP vector of each sigma-point is converted to an error-quaternion, *δ***q**(*i*), and incorporated to the full attitude representation, **q**ˆ, through a quaternion multiplication operation. Then, the attitude kinematic for the sigma-points quaternions, **q**(*i*), is executed using the gyroscope angular velocities measurements for propagation in time.

After the prediction, the sigma-points in GRP representation are retrieved from the propagated quaternions. The mean predicted state vector is computed along with the predicted state error covariance matrix:

$$\hat{\mathfrak{x}}\_{k}^{-} = \frac{1}{n+\lambda} \left\{ \lambda \chi\_{k}(0) + \frac{1}{2} \sum\_{i=1}^{2n} \chi\_{k}(i) \right\},\tag{4}$$

$$P\_k^- = \frac{1}{n+\lambda} \left\{ \lambda [\boldsymbol{\chi}\_k(0) - \boldsymbol{\hat{x}}\_k^-] [\boldsymbol{\chi}\_k(0) - \boldsymbol{\hat{x}}\_k^-]^T \\ \quad + \frac{1}{2} \sum\_{i=1}^{2n} [\boldsymbol{\chi}\_k(i) - \boldsymbol{\hat{x}}\_k^-] [\boldsymbol{\chi}\_k(i) - \boldsymbol{\hat{x}}\_k^-]^T \right\} + \boldsymbol{\bar{Q}}\_k. \tag{5}$$

The correction step is performed once the mean state vector and covariance are available. This procedure considers the observation model, where reference vectors (such as Sun line-of-sight and geomagnetic field) in the inertial frame are transformed to the spacecraft body frame and compared with the magnetometer and solar panels data observations in order to compute the innovation vector, *υ*. Such measurement model is given by

$$\mathbf{\bar{y}}\_k = \begin{bmatrix} A(\mathbf{q})\mathbf{r}\_1 & A(\mathbf{q})\mathbf{r}\_2 & \dots & A(\mathbf{q})\mathbf{r}\_n \end{bmatrix}^T + \begin{bmatrix} \nu\_1 & \nu\_2 & \dots & \nu\_n \end{bmatrix}^T,\tag{6}$$

where *A*(**q**) is the attitude matrix built with the quaternion obtained from the GRP, **r***<sup>j</sup>* is a reference vector observation provided by a environment model, and *ν<sup>j</sup>* is the respective measurement error.

With the obtained quaternions, the mean observation vector can be computed as well as the measurement vector, innovation covariance matrices and the cross-correlation matrix:

$$\hat{\mathbf{y}}\_k^- = \frac{1}{n+\lambda} \left\{ \lambda \gamma\_k(0) + \frac{1}{2} \sum\_{i=1}^{2n} \gamma\_k(i) \right\},\tag{7}$$

where *γk*(*i*) = **h**[*χk*(*i*), *k*]

$$P\_k^{yy} = \frac{1}{n+\lambda} \left\{ \lambda \left[ \gamma\_k(0) - \mathfrak{H}\_k \right] \left[ \gamma\_k(0) - \mathfrak{H}\_k \right]^T + \frac{1}{2} \sum\_{i=1}^{2n} \left[ \gamma\_k(i) - \mathfrak{H}\_k \right] \left[ \gamma\_k(i) - \mathfrak{H}\_k \right]^T \right\},\tag{8}$$

$$P\_k^{\upsilon\upsilon} = P\_k^{\upsilon y} + R\_\prime \tag{9}$$

$$P\_k^{\rm ry} = \frac{1}{n+\lambda} \left\{ \lambda [\boldsymbol{\chi}\_k(0) - \boldsymbol{\hat{x}}\_k^-] [\boldsymbol{\gamma}\_k(0) - \boldsymbol{\hat{y}}\_k]^T + \frac{1}{2} \sum\_{i=1}^{2n} [\boldsymbol{\chi}\_k(i) - \boldsymbol{\hat{x}}\_k^-] [\boldsymbol{\gamma}\_k(i) - \boldsymbol{\hat{y}}\_k]^T \right\}. \tag{10}$$

The innovation is computed as the difference between the sensor observations and the predicted output:

$$
\boldsymbol{\nu}\_{k} \equiv \boldsymbol{\mathfrak{y}}\_{k} - \boldsymbol{\mathfrak{y}}\_{k}^{-} = \boldsymbol{\mathfrak{y}}\_{k} - \mathbf{h} \, (\boldsymbol{\mathfrak{x}}^{-}, k). \tag{11}
$$

The state vector and error covariance matrix are updated following the equations:

$$
\hat{\mathbf{x}}\_k^+ = \hat{\mathbf{x}}\_k^- + \mathcal{K}\_k \boldsymbol{\upsilon}\_{k\prime} \tag{12}
$$

$$P\_k^+ = P\_k^- - K\_k P\_k^{vv} K\_k^T. \tag{13}$$

The attitude-error from **x**ˆ<sup>+</sup> *<sup>k</sup>* is transformed into a quaternion, and it is used to update the global attitude representation, which is the new attitude estimate. Later, the attitude error in the state vector is set to zero before the beginning of the next iteration.

Finally, the in-orbit data will be used as input information for the small satellite simulator available at the Laboratory of Simulation and Control of Aerospace Systems (LODESTAR) [29–31]. Moreover, a new air-bearing based simulator dedicated to the CubeSat standard was built, and it is already operational to be used for the reconstruction of dynamics characteristics of the AlfaCrux. The CAD view is shown in Figure 9. The results of the experiments in the simulator are stored in the DT database and can be used in future simulations.

**Figure 9.** CubeSat air-bearing simulator CAD view with the AlfaCrux.

### 3.2.2. Environment Models

For the proposed DT model, the spacecraft motion is a major concern. The formulation considered in this work uses the SGP4 model for orbit propagation, uses the TLE file as the only orbital data source, and provides a prediction for the satellite position and velocity over time. The SGP4 considers perturbations such as the Earth's ellipsoidal shape effect over the gravitational field, third-body influence (Sun and Moon) and the atmospheric drag.

As described in [32], the Earth Magnetic Field is modeled as the gradient of the magnetic potential, which is approximated by a spherical harmonic series expansion. One of the standard models is the International Geomagnetic Reference Field (IGRF), and it consists of the mathematical description along with the coefficient values for the series expansion. The model allows the computation of the geomagnetic field at any point in space given its spherical coordinates. Furthermore, it allows not only computer simulations but also serves as input data for laboratory experiments in Helmholtz cages.

The Sun position is another important model, once it is the primary power source for most of the spacecrafts. According to [32], a more precise approach to determine the position is through the data set DE430, a set of celestial bodies' ephemerides provided by the Jet Propulsion Laboratory and generated by laser observations and the numerical integration of a dynamic system. However, this model requires access to the data and numerical methods. A simpler and less precise model is based on analytical equations that may be considered in simulations and is also useful for implementing in the onboard software. This model considers the Sun elliptic motion, containing polynomials and trigonometric terms only.

With respect to the problem of attitude determination, the Earth albedo model may be considered if the spacecraft has Sun sensors onboard, once the solar radiation reflected by the Earth surface can introduce errors in the Sun position vector computing. Albedo is measured as the reflectivity index, which varies according to the cloud coverage, geographic location, season of the year, and type of surface. In [33], the reflectivity index is provided by the NASA Total Ozone Mapping Spectrometer (TOMS) satellite, which records the measurements observations constituting a grid of data points. The total energy reflected to the satellite is formulated as the sum of each data point contribution, that is, illuminated by the Sun and visible by the satellite. The model presented depends on the reflectivity index, the angle of incidence, satellite altitude, and the angle of reflection to the spacecraft.

For the results obtained so far in the early stage, the Sun position and Geomagnetic field described in the inertial frame are provided by the software System Tool Kit (STK) from Ansys Inc, along with the AlfaCrux orbit propagation with the TLE. The Earth albedo model was implemented based on the Lambertian reflectance model (LRM), which finally guarantees the attitude reconstruction process.

#### 3.2.3. A Preliminary Outcome Example

As a simple example to illustrate the AlfaCrux DT model outcome, a first analysis of the attitude reconstruction by means of stored telemetry data is shown in Figure 10, where the Euler angles are parameterized in the 3-1-3 rotation sequence. Currently, the AlfaCrux ground station is undergoing technical adjustments and hardware upgrade in order to improve the signal downlink. Moreover, for the early orbit phase and commissioning performed in these first months of operation, the in-orbit data are gathered into parameter report structures using a low data sampling rate. Both scenarios lead to missing information in the sensors;' time series, impacting the quality of the attitude reconstruction. In this case, to evaluate the DT kinematic pilot model, preliminary studies were carried out considering telemetry data sampled within short time intervals. In order to illustrate the first results, consider the AlfaCrux data from the 4 June 2022 within a time interval of 180 s, where the telemetry is uniformly sampled at each 30 s during a passage over the command and control station. A quadratic interpolation was performed in order to generate new points at each 5 s time interval providing a smooth and more appropriate time series for attitude reconstruction. For future analysis, the AlfaCrux sampling rate will be properly adjusted, increasing the knowledge database, and consequently improving the quality of the estimation.

**Figure 10.** Euler angles from attitude reconstruction.

Since the AlfaCrux satellite does not have an attitude control subsystem, the only torques acting on the CubeSat are the disturbance ones, such as those due to the gravitygradient and residual magnetic dipole. For these first analyses, the influence of a possible residual magnetic dipole was not considered. This will be estimated later along with the magnetometer data analysis and calibration. By using the least squares method, it was possible to estimate an initial magnetometer bias with an order of magnitude of 10<sup>4</sup> nT. With respect to the solar panels, since they do not have available information about sensor characterization, the uncertainties must be estimated. As regular coarse sensors are inaccurate in the order of degrees, the same order of magnitude is expected for the estimation of the Sun vector direction based on the power and thermal analysis. Finally, the evolution of the state error standard deviations can be calculated, providing the results shown in Figure 11.

**Figure 11.** Estimated state vector error for the angles parameters.

### 3.2.4. Data Management and Telemetry Viewer

The ground station information technology team is responsible for keeping the data management system and online open access database. Currently, the data are updated after a set of operations, and they are included as a procedure to be executed after a passage. The current architecture can be seen in Figure 12.

**Figure 12.** User segment architecture: data management and viewer.

### 3.2.5. Communication Channel Modeling and Risk Analysis

The elaboration of a detailed model for the communication link in both directions (uplink and downlink) is relevant to simulating adverse situations, which helps the planning and assessment of mission risks. Within the AlfaCrux scope, the joint use of a communication simulator and the digital twin framework allows the elaboration of worst-case scenarios and the testing of new features that can be added in future missions. The measurement and modeling of scintillation are particularly relevant for sub-GHz frequencies when ground stations are positioned at low latitudes. The effects of space weather in the planning of the AlfaCrux ultra-high frequency (UHF) communication system was previously analyzed, see [34] for more details, and should be further investigated considering now the in-orbit data and radio frequency signals received at the ground station.

Currently, the simulation framework is the GNU Radio platform, where two diagram blocks implement distinct aspects of the link modeling. The first block focuses on the dynamic channel model, considering the satellite passage above the ground station. Within the visibility window, the simulator provides fundamental channel aspects for different orbit altitudes and frequencies, such as free space attenuation and Doppler frequency deviation. Following the ITU-Regulations (ITU-R) recommendations, the insertion of channel impairments from the troposphere (such as attenuation from gases, rain, and clouds) and ionosphere (such as scintillation, Faraday rotation, and propagation delay) is currently under development. At the transmitting and receiving nodes, we also consider local parameters such as antenna gain-to-noise-temperature (*G*/*T*), transmitted power, Effective

Isotropic Radiated Power (EIRP), and equivalent noise temperature of the receiver. In this block, the simulator updates the satellite position (and its effects on the channel) once a second.

The second block diagram simulates the GMSK digital transmission in baseband under controlled conditions of signal-to-noise ratio. The simulation rate is milliseconds, and dynamical channel effects are considered here under the assumption of slow changes in the channel. With this module, it is possible to apply different techniques in the receiver chain, such as carrier/symbol synchronization, robust error-correcting codes, and advanced digital signal processing methods. This module also allows future prototyping by embedding the algorithms in a parallel software-defined radio platform.

### **4. Conclusions**

This paper presents the AlfaCrux space mission and the main results obtained so far. AlfaCrux was launched on April 1, 2022, and it entered its nominal mode on 27 July 2022, 01:56 UTC. Fundamental aspects of the early orbit phase operation and the development of a digital twin model are discussed, and the lessons learned are presented. A project-based learning methodology has been adopted for developing students professional knowledge and transferable skills. In these first 5 months of operation, and from the engineering point of view, the AlfaCrux satellite is perfectly healthy with a high performance level, and the mission is considered a complete success.

**Author Contributions:** Conceptualization, R.A.B., A.C.d.S., B.F.-A.G., V.M.d.S.B., J.M.L.A., F.A.A., J.V.Q.S.B., Y.d.C.F.A., A.C.A.d.O., B.T.d.M. and V.F.M.; data curation, M.M.K. and R.B.d.S.; formal analysis, R.A.B., W.R.S., L.A., G.A.B., B.F.-A.G., J.M.F.-C., J.M.L.A., F.A.A., A.C.A.d.O., B.T.d.M., Y.d.C.F.A. and E.C.B.; funding acquisition, R.A.B.; investigation, R.A.B., A.C.d.S., W.R.S., L.A., G.A.B., M.M.K., R.B.d.S., J.V.Q.S.B., A.C.A.d.O., B.T.d.M., Y.d.C.F.A. and E.C.B.; methodology, R.A.B., A.C.d.S., V.M.d.S.B., J.M.F.-C. and A.C.A.d.O.; project administration, R.A.B., A.C.d.S., B.F.-A.G., V.M.d.S.B. and F.A.A.; resources, R.A.B., A.C.d.S., M.M.K., R.B.d.S. and V.F.M.; software, R.A.B., L.A., M.M.K., R.B.d.S., J.M.F.-C., J.M.L.A., B.T.d.M., E.C.B. and V.F.M.; supervision, R.A.B., A.C.d.S. and V.M.d.S.B.; validation, R.A.B., W.R.S., G.A.B., B.F.-A.G., V.M.d.S.B., J.V.Q.S.B. and B.T.d.M.; writing—original draft, R.A.B. and A.C.A.d.O.; writing—review and editing, R.A.B., A.C.d.S., W.R.S., L.A., G.A.B., M.M.K., R.B.d.S., J.V.Q.S.B., A.C.A.d.O., B.T.d.M. and V.F.M. All authors have read and agreed to the published version of the manuscript.

**Funding:** The AlfaCrux space mission was funded by the Brazilian agency Fundação de Apoio à Pesquisa do Distrito Federal (FAPDF).

**Data Availability Statement:** The AlfaCrux Telemetry Viewer can be accessed at https://lodestar. aerospace.unb.br/projects/alfacrux/radio (accessed on 20 September 2022).

**Acknowledgments:** The authors would like to thank the Brazilian agencies Higher Education Personnel Improvement Coordination (CAPES), National Council for Scientific and Technological Development (CNPq), and the Federal District Research Support Foundation (FAPDF) that supported this work, and also the Brazilian Space Agency (AEB) and the Brazilian National Telecommunications Agency (ANATEL) for technical support. They would also like to thank the International Amateur Radio Union (IARU) for the frequency coordination of the AlfaCrux satellite.

**Conflicts of Interest:** The authors declare no conflict of interest.

### **References**

