**3.1 SCS architecture**

Today, for many satellites, GN&C onboard equipment can be presented by the following subsystems, performing related functions listed below:


Integration of these subsystems can be named as *attitude and orbit determination and control system or Spacetronic system.* Typically, AODCS includes the following components:


Basic AODCS architecture is presented in **Figure 6**.

OBCS, onboard computer system; TLM, telemetry data and commands; PL, payload; PS, propulsion system; RW, inertia reaction wheels; MTR, magnetic torque rods; GPS, satellite navigation Global Positioning System; MAG, 3-axis magnetometer; SS, 2-axis Sun sensor; HS, horizontal plane sensor; ST, star tracker; RS, angular rate sensor; EP, electric power; TR, temperature regulation; VP, vacuumed protection; RP, radiation protection.

**Figure 6.** *Satellite AODCS system.*

Depending on required reliability and life time, each component can be a single or redundant unit. Unlike airplanes, satellite is an inhabitant space vehicle that is operated from the ground. The operation is usually performed via a bidirectional telemetry radio link (TLM) in S-band (2.0–2.2 GHz). Payload data downlink radio link (unidirectional) is usually performed via X-band (7.25–7.75 GHz;). For both links, usually the same data protocol standards are applied **Figure 7**.

#### **Figure 7.** *Satellite communications with ground stations.*

Two subsystems can be allocated in AODCS architecture, namely, orbit determination and control subsystem (ODCS) and attitude determination and control subsystem (ADCS). Practically both subsystems are dynamically uncoupled; however, orbital control requires the satellite to have a certain attitude (as well as orbital knowledge itself), and attitude control requires orbit knowledge also. Hence, orbit (its knowledge) is essentially continuously required on satellite board where it is propagated by special orbit propagator (OP). Due to orbital perturbations (residual atmospheric drag, gravity and magnetic disturbances and solar pressure), satellite orbit changes over time and OP accumulates errors; its accuracy is degraded.

Before the application of satellite onboard GPS receivers, the satellite position and velocity were periodically determined on ground by the ground tracking radio stations (GS, dish antenna), and calculated on-ground orbital parameters were periodically uploaded to satellite OBCS to correct OP, to provide available accuracy. Now with GPS satellite, orbit can be calculated onboard autonomously, and OP can propagate data only during relatively short GPS outage periods. For some applications, orbital data uploaded from the ground still can be used, at least, for fusion with GPS-based OP.

For newly developed satellites with GPS, orbit maneuvers (correction, deorbiting, collision avoidance, special formation flying and orbit servicing missions) can be executed autonomously onboard at planned time or from ground operators using orbital knowledge and TLM commands to activate satellite orbit control thrusters.

#### **3.2 AODCS components**

Below AODCS components are presented to show their generic principles that can help for the system understanding and modeling. Generic design requirements are presented in [3]. Some design examples can be found in many sources, for example, [1, 9–12].

#### *3.2.1 Sensors*

AODCS sensors are designed to measure satellite orbital and attitude position and velocity. From the most general point of view, they can be considered as the vector measuring devices (VMD). The device can measure in space a physical vector *Rm* that can be known (referenced) in a reference coordinate system *Rr*. Three parameters can be measured: vector module *R* and two angles of its orientation *Az* and *El* (**Figure 8**).

**Figure 8.** *Vector R in the Cartesian coordinate system XYZ.*

Vector module and its orientation can be expressed as functions of its projections *Rx*, *Ry*, *Rz* as follows:

$$\begin{aligned} R &= \sqrt{R\_x^2 + R\_y^2 + R\_x^2} \\ A\_x &= \tan^{-1} \frac{R\_x}{R\_y} \\ El &= \tan^{-1} \frac{R\_x}{\sqrt{R\_x^2 + R\_y^2}} \end{aligned} \tag{1}$$

It can be noted that measurement of referenced vectors can be used for the determination of satellite position or angular orientation. A minimum of three vectors is required to determine satellite position and two to determine its attitude. If more vectors are measured providing informational redundancy, then such statistical estimation methods as least square method (LSM) and Kalman filter (KF) can be applied. Satellite velocity and angular rate can be derived by the differentiation of its position and attitude applying a kind of filter recommended by the filtering and estimation theory [13–15]. It should also be noted that if vector orientation is measured for the position determination, then satellite attitude should be known and vice versa.

Especial autonomous satellite navigation system (sensor) is the inertial navigation system (INS/inertial measurement unit (IMU)). It can be used for the determination of satellite position, velocity, orientation and angular rate simultaneously. INS is based on measuring with linear accelerometers and angular rate sensors ("gyros") the two vectors: satellite linear active acceleration *a* and angular rate *ω*. After integration, the system provides satellite position, velocity, attitude and angular rate. It is also assumed in INS theory that the vector of Earth gravity acceleration *g* is not measured by the system accelerometers, but it is computed from referenced mathematical Earth gravity field model. Essential INS disadvantage is that its errors grow with time. That is why, it has to be periodically corrected by such navigation aids as a pair of VMD used for the direct attitude determination. A detailed system description is out of this chapter's scope and can be found in many publications [16–18]. Only the use of angular rate sensors ("gyros") for determination of satellite attitude is briefly considered below.

### *3.2.1.1 Determination of satellite position and velocity (GPS)*

Today, satellite GPS can provide onboard accurate data about position, velocity and time [19] (**Figure 9**).

Accuracy: position, 15 m (2*σ*); velocity, 1.5 m/s (2*σ*); time, 1 *μS*.

**Figure 9.** *Satellite GPS SRG-10. Double redundant with a pair of zenith and nadir antennas.*

GPS receiver is a radio range measuring device that measures distance from the desired satellite to navigation satellite constellation (NAVSTAR, USA; GLONASS, Russia; and GALILEO, Europe) and computes its position and velocity. GPS measures the distance R (*R* ¼ ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi *R*2 *<sup>x</sup>* <sup>þ</sup> *<sup>R</sup>*<sup>2</sup> *<sup>y</sup>* <sup>þ</sup> *<sup>R</sup>*<sup>2</sup> *z* q ) of the vector from the desired satellite to the navigation satellite, and this system is invariant of the system orientation (satellite attitude). The distance between the desired satellite and navigation satellite is measured by measuring the time delay Δ*t* between the time *t <sup>s</sup>* of the radio pulse transmitted by navigation satellite and the reception time *t r* of its reception by GPS receiver installed on the desired satellite Δ*t* ¼ *t <sup>r</sup>* � *<sup>t</sup> s* . Measuring the distance allows to determine the desired satellite relative position (relatively to navigation satellite), and using known navigation satellite position that is continuously received by the receiver for every tracking satellite in the navigation message (NM) converts it in absolute position.

A minimum of three navigation satellites should be simultaneously traced by the receiver to determine position and velocity. Then satellite position is the cross-point of three spherical surfaces of the position equation *<sup>R</sup><sup>i</sup>* <sup>¼</sup> *const*, *<sup>i</sup>* <sup>¼</sup> 1, 2, 3. If more tracked satellites are available, then redundant information can be used to calibrate the onboard clock (using the four satellites) and to use least square method or Kalman filter. Four nonlinear algebraic equations (pseudo-range measurements) are usually used to determine satellite position with GPS receiver:

$$\begin{aligned} R^i &= \sqrt{(\mathbf{x} - \mathbf{x}^i)^2 + (\mathbf{y} - \mathbf{y}^i)^2 + (\mathbf{z} - \mathbf{z}^i)^2} + c\tau\\ i &= \mathbf{1}, \mathbf{2}, \mathbf{3}, \mathbf{4} \end{aligned} \tag{2}$$

where *R<sup>i</sup>* is the distance (pseudo-range) to the ith tracked navigation satellite, *xi* , *yi* , *zi* are the navigation satellite Cartesian coordinates received in the NM, *x*, *y*, *z* are the Cartesian coordinates of the desired satellite, *c* ¼ 299 792 458 *km=s*is the speed velocity and *τ* is the GPS receiver clock bias. Satellite position can be found by solving it (1) numerically. It could also be linearized by using redundant

#### *Satellite Control System: Part I - Architecture and Main Components DOI: http://dx.doi.org/10.5772/intechopen.92575*

measurements (*t*>4**)** with LSM or KF. Satellite velocity can be determined by the differentiation of its position. Finally, GPS receiver can provide to AODC OBC current satellite position and velocity in the reference (e.g., Earth-centered inertial (ECI) [14] frame *x*, *y*, *z*,*Vx*,*Vy*,*Vz*and synchronized (by GPS) onboard time *t s* ).

### *3.2.1.2 Determination of satellite attitude and angular rate*

### *3.2.1.2.1 TRIAD method (MAG, SS, HS)*

The TRIAD method [10] is applied when two different vectors are measured. They usually can be any of the three pairs combined with the following three vectors: Earth magnetic induction vector *B* (measured with three-axis MAG), Sun vector *S* (measured with two-axis SS), and local vertical *r* (perpendicular to the local infrared radiation temperature surface, measured with the HS). At least two different not collinear vectors (their orientation) should be measured to determine satellite attitude that here is considered as satellite directional cosine matrix (DCM) and related three Euler angles of the certain order of rotations (e.g., 3-2-1) [9, 10] .

Let us assume that two different physical nature not collinear vectors *U* ¼ *S* and *V* ¼ *r* are measured *Um*,*Vm* by two vector measuring devises (SS and HS) installed on the satellite board and both these vectors are referenced in the reference frame as *Ur*,*Vr*. Let us choose *U* as the main vector and *V* as an auxiliary vector. Then an orthogonal coordinate system (frame) with basis unit vectors, *q*, *r* and *s* can be defined as follows [10, 20]:

$$\begin{aligned} \overrightarrow{q} &= \frac{\overrightarrow{U}}{|\overrightarrow{U}|} \\\\ \overrightarrow{r} &= \frac{\overrightarrow{U} \times \overrightarrow{V}}{|\overrightarrow{U} \times \overrightarrow{V}|} \\\\ \overrightarrow{s} &= \overrightarrow{q} \times \overrightarrow{r} \end{aligned} \tag{3}$$

These unit vectors expressed at a given time by measured values in measured frame or body frame and reference values in a reference frame define two rotation matrixes, **Cm** and **Cr**, as follows:

$$\begin{aligned} \mathbf{C\_m} &= \begin{bmatrix} \mathbf{q\_m}; \mathbf{r\_m}; \mathbf{s\_m} \end{bmatrix} \\\\ \mathbf{C\_r} &= \begin{bmatrix} \mathbf{q\_r}; & \mathbf{r\_r}; & \mathbf{s\_r} \end{bmatrix} \end{aligned} \tag{4}$$

where vectors *q*,*r*, *s* are written in the matrix form as matrix columns.

Rotation matrix *Cbr* that defines attitude in the body frame with respect to reference frame is determined by the following formula:

$$\mathbf{C\_{br}} = \mathbf{C\_m} \cdot \mathbf{C\_r} \tag{5}$$

Three Euler angles of rotation, roll (*ϕ*), pitch (*θ*), and yaw (*ψ*), can be expressed through the elements of the matrix *Cbr*. Certain trigonometric formulas depend on the agreement about the order of the body rotations. For the order 3-2-1, the matrix *Cbr* is as follows [9, 10]:

*Satellite Systems - Design, Modeling, Simulation and Analysis*

$$\mathbf{C\_{br}} = \begin{bmatrix} c\theta \mathbf{c}\psi & c\theta \mathbf{s}\psi & -s\theta \\ s\phi s\theta c\psi - c\phi s\psi & s\phi s\theta s\psi + c\phi c\psi & s\phi c\theta \\ c\phi s\theta c\psi + s\phi s\psi & c\phi s\theta s\psi - s\phi c\psi & c\phi c\theta \end{bmatrix} \tag{6}$$

where *c* and *s* stand for cosine and sine angle. Then, formulas for Euler angles can be derived from (6) as:

$$\begin{aligned} \phi &= \tan^{-1} \frac{\mathbf{C\_{23}}}{\mathbf{C\_{33}}}, \\ \theta &= -\sin^{-1} \mathbf{C\_{13}}, \\ \nu &= \tan^{-1} \frac{\mathbf{C\_{12}}}{\mathbf{C\_{11}}} \end{aligned} \tag{7}$$

#### **Vector measured sensors**

If a pair from the three vectors (B, S, r-write as vectors) is measured, then following VMD in the pair can be used: SS (**Figure 10**), HS (**Figure 11**) and MAG (**Figure 12**).

**Figure 10.** *S-vector sensor Bradford fine sun sensor, accuracy, 0.2 deg. (*2*σ).*

**Figure 11.** *r-vector sensor HS CMOS/SRAM-modular infrared horizon sensor, accuracy, 0.4 deg. (*2*σ).*

**Figure 12.** *B-vector sensor MAG TFM100-S, accuracy, 10mG (*2*σ).*

#### *3.2.1.2.2 LSM method for star tracker (ST)*

If more than two vectors are measured and available for attitude determination, then LSM-BATCH method [10] can be applied to use informational redundancy for increasing the stochastic estimation accuracy. This method basically can be applied for any set of VMD but is specifically convenient for the star tracker (ST), when some number (*n*) of navigation stars are in the device field of view (FOV) and are detected and tracked simultaneously, providing measured vectors *Rm* to these stars that are referenced in the device space catalog *Rr* (**Figures 10**–**13**).

#### **Figure 13.**

*Star direction R-vector measured sensor (optic and computer units). Advanced stellar compass, accuracy,* 2<sup>00</sup> � 16<sup>00</sup> ð Þ 2*σ .*

Let us consider the transformation of the referenced vector *Rr* in satellite body frame, where it is measured with the ST

$$\mathbf{R\_m} = \mathbf{C} \mathbf{R\_r} \tag{8}$$

where **C** is the DCM of the rotation from the reference frame to satellite body frame and vectors *Rr* and *Rm* are written in the matrix form as matrix columns.

If the ST is in the tracking mode keeping in its FOV some *n* detected navigation stars, then it can be assumed that **C** is a small-angle matrix that is independent of the rotation order and can be expressed as follows:

$$\mathbf{C} \approx \begin{bmatrix} \mathbf{1} & a\_{\pi} & -a\_{\mathcal{V}} \\ -a\_{\pi} & \mathbf{1} & a\_{\mathcal{X}} \\ a\_{\mathcal{V}} & -a\_{\pi} & \mathbf{1} \end{bmatrix} \tag{9}$$

where *αx*, *αy*, *α<sup>z</sup>* are small angles of satellite rotation about *X*, *Y*, *Z* axis, respectively. Then subtracting from (8) **Rr**, the following equation can be written:

$$
\mathfrak{GR} = \mathfrak{SCR}\_{\mathbf{r}} \tag{10}
$$

$$\text{where } \mathbf{\delta R} = \mathbf{R\_m} - \mathbf{R\_r}, \mathbf{\delta C} \approx \begin{bmatrix} \mathbf{0} & a\_\mathbf{z} & -a\_\mathbf{y} \\ -a\_\mathbf{z} & \mathbf{0} & a\_\mathbf{x} \\ a\_\mathbf{y} & -a\_\mathbf{x} & \mathbf{0} \end{bmatrix}.$$

Transforming in (10) matrix product and taking into account random measurement errors, this equation can be represented in the following form:

$$
\delta \mathbf{R} = \mathbf{R\_r} \delta \mathbf{C} + \mathbf{V} \tag{11}
$$

$$\begin{aligned} \text{where } \mathsf{\delta R} = \begin{bmatrix} \delta R\_{\mathsf{x}} \\ \delta R\_{\mathsf{y}} \\ \delta R\_{\mathsf{z}} \end{bmatrix}, \mathbf{R}\_{\mathsf{r}} = \begin{bmatrix} \mathsf{0} & -R\_{\mathsf{rz}} & R\_{\mathsf{ry}} \\ R\_{\mathsf{rx}} & \mathsf{0} & -R\_{\mathsf{rx}} \\ -R\_{\mathsf{ry}} & R\_{\mathsf{rx}} & \mathsf{0} \end{bmatrix}, \mathsf{\delta C} = \mathsf{a} = \begin{bmatrix} a\_{\mathsf{x}} \\ a\_{\mathsf{y}} \\ a\_{\mathsf{z}} \end{bmatrix}, \mathbf{V} = \begin{bmatrix} V\_{\mathsf{x}} \\ V\_{\mathsf{y}} \\ V\_{\mathsf{z}} \end{bmatrix}, \end{aligned} $$

**V** is random measurement error vector (considered as the white Gaussian noise, having covariance matrix **R** ¼ *r***I**).

Then this equation can be considered as a "standard" linear algebraic equation:

$$\begin{aligned} \mathbf{z}\_{i} &= \mathbf{h}\_{i}\mathbf{x} + \mathbf{V}\_{i} \\\\ i &= 1,2,...n \text{ - number of measured vectors} \end{aligned} \tag{12}$$

$$\begin{aligned} \text{where, } \mathbf{z}\_{i} = \mathbf{6R\_{i}}, \mathbf{h\_{i}} = \mathbf{R\_{r}} = \begin{bmatrix} \mathbf{0} & -R\_{\text{rx}} & R\_{\text{ry}} \\ R\_{\text{rx}} & \mathbf{0} & -R\_{\text{rx}} \\ -R\_{\text{ry}} & R\_{\text{rx}} & \mathbf{0} \end{bmatrix}, \mathbf{V\_{i}} = \begin{bmatrix} V\_{x} \\ V\_{y} \\ V\_{x} \end{bmatrix} \\ \mathbf{x} = \mathbf{6C = \mathbf{a} } = \begin{bmatrix} a\_{\text{x}} \\ a\_{\text{y}} \\ a\_{\text{z}} \end{bmatrix}. \end{aligned}$$

If *n* ¼ 1, only a single vector is measured, then det**hi** ¼ �*RrxRryRrz* þ *RrxRryRrz* � 0, and thus, determining all three angles of satellite attitude is impossible. If it takes informational redundancy, then optimal estimate (providing minimum of standard deviation of satellite attitude errors) can be found with the following LSM formula [13]:

$$
\hat{\mathbf{u}} = \mathbf{K} \mathbf{z} \tag{13}
$$

$$\text{where } K = \left(H^T R^{-1} H\right)^{-1} H^T R^{-1} H, H = \left[h\_1 h\_2 \, h\_3 \dots h\_n\right]^T.$$

#### *3.2.1.2.3 Determination of the angular rate*

#### **Direct measurement**

Satellite angular rate *ω* (vector absolute angular velocity) can be measured directly by three-axis rate sensor (RS) that could have mechanical, optical, or microelectromechanical systems (MEMS) design [21, 22] (**Figure 14**). Traditionally, independent of the design type, these RS are usually named "gyros," paying respect to their historical appearance for aerospace vehicle control purposes as a mechanical gyroscope (**Figure 15**).

Measured angular velocity vector *ω* can be used to determine satellite attitude by the integration of matrix kinematic Poisson's Equation [9, 10]:

$$
\dot{\mathbf{C}} = \breve{\mathbf{o}} \mathbf{C}, \mathbf{C}(\mathbf{0}) = \mathbf{C}\_{\mathbf{0}} \tag{14}
$$

*Satellite Control System: Part I - Architecture and Main Components DOI: http://dx.doi.org/10.5772/intechopen.92575*

**Figure 15.**

*ω-vector sensor RS, BEI QRS-11 single-axis body rate sensor, accuracy,* 7deg*=h* ¼ 0*:*0019deg*=s* ð Þ 2*σ .*

where *C* ¼ *Cib* **C** ¼ **Cib** is the DCM between the inertial frame ECI and satellite body frame and *ω ^* ¼ 0 *ω<sup>z</sup>* �*ω<sup>y</sup>* �*ω<sup>z</sup>* 0 *ω<sup>x</sup> ω<sup>y</sup>* �*ω<sup>x</sup>* 0 2 6 4 3 7 <sup>5</sup> is skew symmetric matrix measured in

the satellite frame components of vector of satellite absolute angular velocity. After determination of the DCM, satellite attitude in three Euler angles can be derived with Eq. (7) above. Unfortunately, gyro drift causes unlimited growing up errors in integrated attitude that require periodic corrections from two VMD, measuring the attitude directly (**Figures 10**–**12**).

#### **Body rate estimator**

Often, specifically for attitude stabilization (keeping or aka pointing) mode, satellite angular rate is estimated by using the so-called body rate estimator and is not measured directly by the RS. Indeed, using for attitude keeping mode small angles and linear approximation, we can simplify satellite attitude dynamics model [9] to three single-axis state equations and present it with the stochastic influences as follows:

$$\begin{cases} \dot{\boldsymbol{\alpha}} = \mathbf{w} \\ \dot{\boldsymbol{\alpha}} = \boldsymbol{\alpha} \\ \mathbf{z} = \mathbf{a} + \mathbf{v} \end{cases} \tag{15}$$

where **ω** is the angular velocity, **α** is the satellite deviation angle from the desired direction and **z** is the satellite deviation angle measurement with random Gaussian white noise error **v**. Realistically, it is a wide spectrum correlated process that components have spectral density *ri* <sup>¼</sup> <sup>2</sup>*σ*<sup>2</sup> *vi Tvi* , *i* ¼ *x*, *y*, *z* (*σvi* is standard deviation of the random error *vi*, *Tvi* is *vi*ð Þ*t* correlation time), *wi*is exciting angular acceleration noise with spectral density *qi* <sup>¼</sup> <sup>2</sup>*σ*<sup>2</sup> *wiTwi* (*σwi* is standard deviation of the random angular acceleration *wi* <sup>¼</sup> *Mi Ji* , *Mi* is exciting external random torque, *Ji* is satellite moment of inertia, *Twi* is *wi*ð Þ*t* correlation time).

The linear KF can be applied to synthesize the estimator for the optimal estimation of the vector angle **α** and the vector of angular velocity **ω**, using noisy measurements **z** [9]:

$$\begin{cases} \hat{\mathbf{o}} = \mathbf{k}\_{12}(\mathbf{z} - \hat{\mathbf{o}})\\ \hat{\mathbf{o}} = \hat{\mathbf{o}} + \mathbf{k}\_{22}(\mathbf{z} - \hat{\mathbf{o}}) \end{cases} \tag{16}$$

where **α**^ and **ω**^ are the optimal estimates of the angle **α** and the angular velocity **ω** correspondingly.

Matrix KF (16) is separated in three independent scalar channels for *X*, *Y*, *Z* axis. Its weight coefficients **k12** and **k22** can be determined by solving KF Riccati Equation [13–15] for each of these three separate channels independently.

It can be shown that in the considering case, the steady-state (*t* ! ∞) KF coefficients are determined by the following formulas (identically for *X*, *Y*, *Z* axes, i = 1,2,3):

$$\begin{cases} k\_{12\_i} = \sqrt{\xi\_i} \\ k\_{22\_i} = \sqrt{2\xi\_i \sqrt{\xi\_i}} \end{cases} \tag{17}$$

where *<sup>ξ</sup><sup>i</sup>* <sup>¼</sup> *qi ri* is the ratio of spectral densities of satellite disturbing torque noise to measured attitude error noise (assuming that both are white Gaussian noises). This parameter can be considered as the *filterability index*. Eq**.** (16) can be represented in the transfer function (Laplace operator) form as a second-order differential equation unit:

$$\begin{cases} \dot{\rho}\_i = \frac{s}{T\_i^2 s^2 + 2d\_i T\_i s + \mathbf{1}} z\_i \\\\ \dot{\alpha} = \frac{2dT\_i s + \mathbf{1}}{T\_i^2 s^2 + 2d\_i T\_i s + \mathbf{1}} z\_i \end{cases} \tag{18}$$

where *s* is the Laplace operator, *Ti* is the time constant, and *di* is the specific damping coefficient that is determined by the following formulas:

$$\begin{cases} T\_i = \frac{1}{\sqrt{k\_{12\_i}}} = \frac{1}{\sqrt[4]{\xi\_i}} \\\\ d\_i = \frac{k\_{22\_i}}{2\sqrt{k\_{12i}}} = \frac{\sqrt{2}}{2} = 0.707 \end{cases} \tag{19}$$

or in other words, the time constant is in inverse proportionality to the filterability index (in ¼ degree) and the specific damping coefficient is conventional for such a second-order unit 0.707 for each of the three channels.

#### *3.2.1.2.4 Multisensory sensor unit (MSU)*

As it can be seen from the consideration above, the use of directly measuring devices (e.g., ST and RS) for attitude and body rate determination has a disadvantage. The random noises are at the devices output, and they have to be filtered in the closed control loop of satellite attitude control that puts some constraints to choose the control law coefficients. However, using indirect body rate measurement, the state estimator (filter) unavoidably introduces additional phase delay in the control loop because of the consecutive inclusion of this filter in the control loop. To use the RS (gyro) and the integrator for body rate and attitude determination autonomously for a long time is not possible because of the accumulated attitude errors caused by the integration of the gyro drift. The following scheme (that is common in Aviation) can be considered as free from the disadvantages above. Let us assume that satellite attitude is determined in two ways: continuous integration of RS angular velocity (IMU) and using VMD, for example, ST. Then this ST is used to correct the attitude derived by the integration of RS output. The idea of MSU is shown in **Figure 16**.

*Satellite Control System: Part I - Architecture and Main Components DOI: http://dx.doi.org/10.5772/intechopen.92575*

**Figure 16.** *Integration of multisensory sensor unit (MSU) single-axis channel.*

In integrated IMU attitude (IMU = RS + integrator) as in **Figure 14** above (three identical channels), *α<sup>i</sup>* (inertial angle) has been growing with time deterministic error *δα* due to the integration of RS bias *δω* and ST has random noisy error Δ*α*Δ*α*. The difference of these signals is equal to the difference of system errors *z* ¼ *δα* � Δ*α*. This difference is used for estimation of errors of IMU with a kind of filter, and after the compensation at the system output, the estimates (*α*^ and *ω*^) can be used for satellite control. As it can be seen, in this scheme the filter is not connected in the control loop, and consequently, it does not introduce additional phase delay; however, the scheme still performs its job to filter the noise and estimate RS bias. This scheme can be very effective in practice. It can be presented similar to Eqs. (15) and (16) as follows:

$$\text{IMU model equations}: \begin{cases} \delta \dot{o} = w\_1 \\ \delta \dot{a} = \delta a \\ z = \delta a + \Delta a \end{cases} \tag{20}$$

where *δω* is the RS error of measuring the angular velocity; *δα* is attitude error after the integration of the RS signal; *z*is IMU attitude error measurement with random Gaussian white noise error *<sup>v</sup>* <sup>Δ</sup>*<sup>α</sup>* <sup>¼</sup> *<sup>v</sup>*, having spectral density *<sup>r</sup>*<sup>1</sup> <sup>¼</sup> <sup>2</sup>*σ*<sup>2</sup> <sup>Δ</sup>*αT*Δ*<sup>α</sup>* (*σ*Δ*<sup>α</sup>* is the standard deviation of the random error Δ*α*, *T*Δ*<sup>α</sup>* is its correlation time); and *<sup>w</sup>*<sup>1</sup> is the exciting noise of RS random drift with spectral density *<sup>q</sup>*<sup>1</sup> <sup>¼</sup> <sup>2</sup>*σ*<sup>2</sup> *<sup>w</sup>*1*Tw*<sup>1</sup> (*σ<sup>w</sup>*<sup>1</sup> is the standard deviation of the random drift, *Tw* is the *w t*ð Þ correlation time).

$$\text{KF equations}: \begin{cases} \delta\hat{\boldsymbol{\hat{o}}} = k\_{12}(\boldsymbol{z} - \delta\hat{\boldsymbol{a}})\\ \delta\hat{\boldsymbol{a}} = \delta\hat{\boldsymbol{o}} + k\_{22}(\boldsymbol{z} - \delta\hat{\boldsymbol{a}}) \end{cases} \tag{21}$$

where KF coefficients *k*<sup>12</sup> and *k*<sup>22</sup> are determined by (17), substituting there *q*<sup>1</sup> and *r*<sup>1</sup> instead of *q* and *r*.

#### *3.2.2 Actuators*

#### *3.2.2.1 Propulsion system (PS)*

Satellite propulsion system [9, 10] is usually designed for satellite orbital and/or angular control. In the first case, PS is commanded from the ground OC by TLM commands in some cases when satellite orbit has to be changed (orbit correction, deorbiting, collision avoidance), in the second controlled automatically from onboard AODCS. It consists of such typical elements as orbital and attitude thrusters (number and installation scheme depending on certain application), propulsion tank with associated pipes, valves, regulators, and electronics. General principles of PS act independently of the type (ion thrusters (0.01–0.1 N), liquid propellant and solid motor (100–10,000 N), cold gas (1-3 N)).

**Figure 17.** *Satellite control with PS thruster principles.*

**Figure 15** illustrates the satellite control with PS thruster principles. The principle of the formation of the propulsion jet force can be presented by the following equation of variable mass body dynamics that from Russian sources, for example, [23], is known as Prof. I. Meshchersky's equation:

$$M\frac{dV}{dt} = F - V\_p \frac{dm}{dt} \tag{22}$$

where *M* is the mass body, *F* is the external force, *VP* is the propellant exhaust velocity and *m* is the propellant mass. The term �*Vp dm dt* is the propulsion force (propulsion thrust) (**Figure 17**).

$$T = -V\_p \frac{dm}{dt} \tag{23}$$

In Section 3.2.2.1.2, it is always *dm dt* < 0, then *T* >0. Usually for any propulsion system, let us introduce parameter *specific pulse Isp*, where *Isp* <sup>¼</sup> *<sup>T</sup> <sup>g</sup>*j j *<sup>m</sup>*\_ <sup>¼</sup> *Vp g* then *Vp* ¼ *Ispgm*\_ and *T* ¼ �*Ispgm*\_ . If the satellite thruster is installed such as satellite point of the center of mass (CM) is located on the line of the action of the force *T* (red thruster in **Figure 17**), then the thruster can serve for satellite orbit correction, and the pulse of the control thrust causes increment of satellite velocity *dV* <sup>¼</sup> <sup>1</sup> *<sup>M</sup> Tdt*. If satellite thrusters are installed in such a way that having an arm *L* from the CM, then they create rotating torque (green reversible thruster pair in **Figure 17**) and can be used for attitude control (control torque is *Tr* ¼ *LT*). And the increment in attitude angle for the time *dt* of the pair of thruster activation will be *<sup>d</sup><sup>α</sup>* <sup>¼</sup> *Tr <sup>J</sup> dt*.

The expelled propulsion mass Δ*m* can be calculated with the K. Tsiolkovsky formula [9, 24] that follows from Eq. (22)

$$
\Delta m = m\_0 \left[ 1 - e^{-\frac{dV}{kT\_p}} \right] \tag{24}
$$

where *m*0is the propellant initial mass. Photos of I. Meshchersky and K. Tsiolkovsky are presented (**Figures 18** and **19**).

Discrete pulse modulation control is usually used to minimize the consumption of the propellant for attitude control [9]. Examples of the gas thruster and the tank are presented in **Figures 20** and **21**.

#### *3.2.2.2 Magnetic torque rods (MTR)*

*Magnetorquers* are essentially sets of electromagnets. A conductive wire is wrapped around a ferromagnetic core which is magnetized when excited by the electric current caused by the control voltage applied to the coil. The disadvantage of this design is the presence of a residual magnetic dipole that remains even when *Satellite Control System: Part I - Architecture and Main Components DOI: http://dx.doi.org/10.5772/intechopen.92575*

**Figure 18.** *Prof. I. Meshchersky (1859–1935).*

#### **Figure 19.** *K. Tsiolkovsky (1857–1935).*

**Figure 20.** *Cold gas GN-2 thruster, nominal thrust 3.6 N (230 psi), specific impulse 57 s.*

the coil is turned off because of the hysteresis in the magnetization curve of the core. It is therefore necessary to demagnetize the core with a proper demagnetizing procedure. Normally, the presence of the core (generally consisting of ferromagnetic) increases the mass of the system. The control voltage is controlled by AODCS control output (**Figures 18**–**20**). The magnetic dipole generated by the magnetorquer is expressed by the formula:

$$
\overline{M} = n i \overline{\mathbb{S}} \tag{25}
$$

**Figure 21.** *60 liter propulsion gas tank.*

where *n* is the number of turns of the wire, *i* is the current provided, and *S* is the vector aria of the coil. The dipole interacts with the Earth magnetic field, generating a torque whose expression is:

$$
\overline{T}\_m = \overline{M} \times \overline{B} \tag{26}
$$

where *M* is the magnetic dipole vector moment, *B* is the Earth magnetic field induction vector and *Tm* is the generated magnetic torque vector. This equation in the scalar form is as follows:

$$
\begin{bmatrix} T\_{mx} \\ T\_{my} \\ T\_{mx} \end{bmatrix} = \begin{bmatrix} \mathbf{0} & B\_x & -B\_y \\ -B\_x & \mathbf{0} & B\_x \\ B\_y & -B\_x & \mathbf{0} \end{bmatrix} \begin{bmatrix} M\_x \\ M\_y \\ M\_x \end{bmatrix} \tag{27}
$$

Typically, three coils are used; the three-coil assembly usually takes the form of three perpendicular coils, because this setup equalizes the rotational symmetry of the fields which can be generated; no matter how the external field and the craft are placed with respect to each other, approximately the same torque can always be generated simply by using different amounts of current on the three different coils (**Figure 22**).

It can be seen from Eq. (26) that MTR cannot generate the magnetic torque in the direction that is parallel to Earth magnetic field *B* (*M*k*B*) and it always is perpendicular to the Earth magnetic field vector *Tm*⊥*B*. Unfortunately, from Eq. (27), the required magnetic moments cannot be found, because it has zero determinant, and we cannot invert it.

$$
\Delta = \begin{vmatrix}
\mathbf{0} & B\_x & -B\_\mathcal{V} \\
B\_\mathcal{y} & -B\_\mathcal{x} & \mathbf{0}
\end{vmatrix} = -B\_\mathcal{x}B\_\mathcal{y}B\_\mathcal{x} + B\_\mathcal{x}B\_\mathcal{y}B\_\mathcal{x} = \mathbf{0} \tag{28}
$$

However, the following approach can be used to find required vector *M* [9]. When we take cross-product of *B* with both sides of Eq. (26) and take into account that it is useless to apply *M* in parallel direction to *B*, and hence we can require that *M*⊥*B* and *M* � *B* ¼ 0, then the following formula can be derived:

*Satellite Control System: Part I - Architecture and Main Components DOI: http://dx.doi.org/10.5772/intechopen.92575*

**Figure 22.** *3D orthogonal magnetic torque rods.*

$$
\overline{M} = \frac{\overline{B} \times \overline{T}\_m}{B^2} \tag{29}
$$

Another MTR control method is the so-called B-dot control [25].

$$
\overline{M} = -k\overline{B} \tag{30}
$$

where *k* is control gate coefficient.

As the result of (29) control, the satellite will reduce its body rate and is finally slow rotated along Earth's geomagnetic field line (vector *B*). Eventually it achieves its threshold of capture by the gravity gradient effect.

If the redundancy is required, it is provided by additional (redundant) coil with the same core (**Figure 23**).

**Figure 23.** *Magnetic torque rod SSTL MTR-30, magnetic moment, M* <sup>¼</sup> 30 Am2*.*

#### *3.2.2.3 Reaction/reaction-momentum wheels (RW/RMW)*

Reaction wheels (RW), aka momentum exchange devices [9] or reactionmomentum wheels (RMW), have massive rotated rotor with big axial moment of inertia with respect to the axis of rotation. They are electrically controlled by the electric motors and the rotor is installed on the rotating motor shaft. The controlled voltage, applied to the control winding of the motor, controls its rotor angular speed. The product of the rotor angular acceleration **Ω**\_ multiplied by its axial inertia **<sup>I</sup>** is the RW generated inertia control torque **Ti** <sup>¼</sup> **<sup>I</sup>Ω**\_ that is applied to the satellite body in opposite to the acceleration direction. Special embedded angular speed

**Figure 24.** *Three orthogonal reaction wheels (RW).*

sensor (tachometer) measures the motor rotor angular speed and allows organizing RW inertia torque control proportional to the applied control voltage. At least three RW, as in **Figure 24**, are required to produce control torque vector in threedimensional spatial, having desired value and pointed in the desired direction. Sometimes redundant unit of three redundant wheels or one with 4th redundant skewed wheel is applied to meet reliability requirements.

RW can generate control inertia torques **Ti** only when they are accelerated or decelerated. With this torque, they cannot compensate a permanent disturbance torque **Td** ¼ **const** applied to satellite for a long enough time and come eventually to some maximum/minimum available speed aka *the saturation speed*. At that state *Ti* becomes zero. That is why RW is usually applied with other types of actuators such as MTRs or gas thrusters to de-saturate the RW to use them as the source of **Ti** again.

In general case, RW can be run around in some nominal angular speed **Ω0**. In this case they can be named as reaction-momentum wheel (RMW) and then just RW. Mathematically RW/RMW dynamics can be presented as follows. Let us consider satellite with RW unit angular momentum:

$$\mathbf{H}\_{\mathbf{s}} = \mathbf{H} + \mathbf{h} \tag{31}$$

where **H** ¼ **Jω** is the satellite *absolute* angular momentum vector (column matrix),

**ω** is the vector of satellite absolute angular velocity, **J** ¼ *Jxx* �*Jxy* �*Jxz* �*Jyx Jyy* �*Jyz* �*Jzx* �*Jzy Jzz* 2 6 4 3 7 5 is the satellite inertia matrix, **h** ¼ **IΩ** is the RMW *relative* angular momentum vector, **Ω** is the RW relative rotation speed vector, and **I** ¼ *Ixx* 0 0 0 *Iyy* 0 0 0 *Izz* 2 6 4 3 7 5 is the RW inertia matrix.

Then differentiating (31) in rotating with angular velocity satellite axis **ω** and using Euler's rigid body dynamics formula [9], we can get the following equation:

$$
\dot{\mathbf{H}} + \ddot{\mathbf{o}} \mathbf{H} = -\dot{\mathbf{h}} - \ddot{\mathbf{o}} \mathbf{h} + \mathbf{T} \tag{32}
$$

where **ω** *^* ¼ 0 �*ω<sup>z</sup> ω<sup>y</sup> ω<sup>z</sup>* 0 �*ω<sup>x</sup>* �*ω<sup>y</sup> ω<sup>x</sup>* 0 2 6 4 3 7 <sup>5</sup> is the satellite angular velocity matrix and **<sup>T</sup>** is

the vector of the external torque applied to the satellite. In the right side of Eq. (32),

we can see two terms that have meaning of torques applied from the RMW unit to the satellite body: �**h**\_ <sup>¼</sup> **Ti** the inertial torque and �**<sup>ω</sup>** *^* **h** ¼ **Tg** the gyro torque. They are RMW generated torques that can be used for the satellite attitude control. Eq. (32) presents satellite attitude dynamics under the action of RMW torques. The RW dynamics can be presented similar to Eq. (32):

$$
\dot{\mathbf{h}}\_{\mathbf{w}} + \ddot{\mathbf{o}} \mathbf{h}\_{\mathbf{w}} = \mathbf{M}\_{\mathbf{w}} + \mathbf{M}\_{\mathbf{f}} \tag{33}
$$

where **hw** ¼ **h** þ **hc** is the absolute RW momentum, **hc** ¼ **Iω** is the carrier component of RW absolute momentum, **QUOTE Mw**is the RW motor control torque, and **Mf** is the RW friction torque.

Eq. (33) can be represented in the following form:

$$\dot{\mathbf{h}} = \mathbf{I}\dot{\mathbf{Q}} = -\mathbf{I}\dot{\mathbf{o}} - \breve{\mathbf{o}}(\mathbf{h} + \mathbf{h}\_c) + \mathbf{M}\_\mathbf{w} + \mathbf{M}\_\mathbf{f} \tag{34}$$

where **Mf** ¼ �**keΩ** � **Mdf** sgn **Ω** is the friction torque, **ke** is the motor natural damping coefficient, **Mdf** is the dry friction torque, and **Mw** is the control motor torque.

The torque **Mf** usually consists of two components: the viscous torque (counter electromotive voltage in the control coil) �**keΩ** and dry or Coulomb friction torque in the RMW bearings—**Mdf** sgn **Ω**. The control torque **Mw** can be set as follows:

$$\mathbf{M}\_{\mathbf{w}} = -(\mathbf{k}\_{\Omega} + \mathbf{k}\_{\mathbf{e}})(\Omega - \Omega\_{\mathbf{0}}) - \mathbf{k}\_{\Gamma}\mathbf{T}\_{\mathbf{c}} \tag{35}$$

where **k<sup>Ω</sup>** is the motor control damping coefficient, **Ω<sup>0</sup>** is the desired angular RMW speed, **kT** is the control torque coefficient, and **Tc** is requested from AODCS OBC control torque. Taking into account Eq. (35), Eq. (34) can be rewritten in the following form:

$$\mathbf{I}\dot{\mathbf{Q}} + (\mathbf{k}\_{\Omega} + \mathbf{k}\_{\mathbf{e}})\Omega = (\mathbf{k}\_{\Omega} + \mathbf{k}\_{\mathbf{e}})\Omega\_{\mathbf{0}} + \mathbf{T}\_{\mathbf{c}} - \mathbf{I}\dot{\mathbf{o}} - \ddot{\mathbf{o}}(\mathbf{h} + \mathbf{h}\_{\mathbf{c}}) + \mathbf{M}\_{\mathbf{f}}\tag{36}$$

In the operator Laplace s-form (transfer function), Eq. (36) can be rewritten as follows:

$$\mathbf{M}(\varepsilon) = \mathbf{W}(\varepsilon) \left\{ \mathbf{0}\_{\mathbf{0}} + \mathbf{k}\_w^{-1} \left[ \mathbf{T}\_{\varepsilon} - \mathbf{I} \mathbf{s} \mathbf{o} - \breve{\mathbf{o}} (\mathbf{h} + \mathbf{h}\_c) + \mathbf{M}\_{\mathbf{f}} \right] \right\} \tag{37}$$

where **W**ðÞ¼ *s* ð Þ *Twx* <sup>þ</sup> <sup>1</sup> �<sup>1</sup> 0 0 <sup>0</sup> *Twy* <sup>þ</sup> <sup>1</sup> � ��<sup>1</sup> <sup>0</sup> 0 0 ð Þ *Twz* <sup>þ</sup> <sup>1</sup> �<sup>1</sup> 2 6 6 4 3 7 7 5 is the RW matrix

transfer function, *Twx* <sup>¼</sup> *Ix <sup>k</sup>*Ω*x*þ*kex* , *Twy* <sup>¼</sup> *Ix <sup>k</sup>*Ω*y*þ*key* , *Twx* <sup>¼</sup> *Ix <sup>k</sup>*Ω*z*þ*kez* is the RW time constants, and**.**

$$\mathbf{k}\_w = \begin{bmatrix} \left(\mathbf{k}\_{\Omega x} + \mathbf{k}\_{ex}\right)^{-1} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \left(\mathbf{k}\_{\Omega y} + \mathbf{k}\_{\mathcal{T}}\right)^{-1} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \left(\mathbf{k}\_{\Omega x} + \mathbf{k}\_{ex}\right)^{-1} \end{bmatrix} \text{ is the RW control speed } \mathbf{0}$$

coefficient.

It should be noted that sometimes the RW control loop is more sophisticated. Special integrators could be connected into the loop to memorize and compensate the dry friction torques acting in bearings. Some small nominal rotating speed can be set for all three RMW to eliminate the dry friction torque having a pike when the wheel speed is zero **Ω** ¼ **0**.

However, more representative case is when **Ω<sup>0</sup>** is set (usually in one direction as in **Figure 23**—axis Y) to provide to the satellite a gyro-stiffness (gyro-stabilization capability) with respect to another two axes X and Z.

Indeed, if we put in (32) that *<sup>ω</sup>*\_ *<sup>x</sup>* <sup>¼</sup> *<sup>ω</sup>*\_ *<sup>y</sup>* <sup>¼</sup> *<sup>ω</sup>*\_ *<sup>z</sup>* <sup>¼</sup> <sup>Ω</sup>\_ *<sup>x</sup>* <sup>¼</sup> <sup>Ω</sup>\_ *<sup>y</sup>* <sup>¼</sup> <sup>Ω</sup>\_ *<sup>z</sup>* <sup>¼</sup> 0, and *<sup>ω</sup><sup>x</sup>* <sup>¼</sup> *<sup>ω</sup><sup>z</sup>* <sup>¼</sup> <sup>Ω</sup>*<sup>x</sup>* <sup>¼</sup> <sup>Ω</sup>\_ *<sup>y</sup>* <sup>¼</sup> <sup>Ω</sup>\_ *<sup>z</sup>* <sup>¼</sup> 0, *<sup>ω</sup><sup>y</sup>* <sup>¼</sup> *<sup>ω</sup>*<sup>0</sup> <sup>¼</sup> *const*, <sup>Ω</sup>*<sup>y</sup>* <sup>¼</sup> <sup>Ω</sup><sup>0</sup> <sup>¼</sup> *const*, then it can be written as:

$$\begin{cases} -a\_{\rm x} (H\_{\rm \gamma} + h\_{\rm \gamma}) = T\_{\rm x} \\\\ a\_{\rm x} (H\_{\rm \gamma} + h\_{\rm \gamma}) = T\_{\rm x} \end{cases} \tag{38}$$

where *Hy* ¼ *Jyω*0, *hy* ¼ *Iy*Ω0. In this case carrier orbital angular velocity *ω*<sup>0</sup> helps to increase satellite momentum *Hsy* ¼ *Hy* þ *hy*. Eq. (38) is known as three degrees of freedom of a free gyroscope precession [21] and represents the gyro-stabilization effect: that gyroscope vector *Hsy* being free of disturbing torques can keep its direction and value in inertial spatial (**Figure 25**).

**Figure 25.** *Reaction/momentum wheel HR-0610, torque,* <sup>75</sup> � <sup>10</sup>�3Nm*; momentum,* ð Þ <sup>4</sup> � <sup>12</sup> Nms*.*

#### *3.2.3 AODCS OBCS*

Independently of sytem arhitecture; it is separate dedicated to AODCS computer, or a special AODCS card within central satellite C&DH computer, it is the integration element of AODCS [1, 11]. AODCS system may consist of the computer (computer card) itself (OBC) and auxiliary intercommunication electronic units (electronic cards) AEU carrying DC/DC electric power conversion and I/O (analog and digital) interface and commutation functions.

OBC can be divided into two parts: the hardware (HW, power convertor, processor, input/output [I/O] convertors, non-volatile and volatile memory) and the software (SW, operation system [OS] and vital or functional software [VS/FS]) (**Figure 26**).

What makes the satellite OBC essentially different for the airplane OBC is that its SW can be uploaded and updated from the ground and during operation and scheduled maintenance. OS OBC includes generic computer programs: program of I/O interface, time schedule (dispatcher), embedded test, timer and standard mathematic functions. Satellite SW often is considered as satellite *SW subsystem* that is verified during development (with mathematical high-fidelity Matlab/Simulink simulators and semi-natural processor-in-the-loop (PIL) simulators). SW subsystem should be tested to meet SW requirements [26, 27]. The flight version of the SW subsystem is supported with operation real-time satellite simulators (RSS) [1, 11] located in operation center. It should be mentioned that only final AODCS

*Satellite Control System: Part I - Architecture and Main Components DOI: http://dx.doi.org/10.5772/intechopen.92575*

#### **Figure 26.**

*Satellite OBCS, MAC-200 (C&DH unit with AODCS card) comprises of two OBC: Prime and redundant (cold reserve).*

(OBC (HW + SW), sensors, and actuators) *functional test* [2] that should be performed in the Space Qualification Laboratory [7] during satellite Space Qualification and Acceptance campaign can really minimize the risk of launching a not ready satellite and prevent against AODCS refinishing in orbit during commissioning and operation.

VS can be separated in two parts, ODCS SW and ADCS SW. For both parts, I/O interface with sensors and actuators is determined in special interface control document(s) (ICD), describing type, certain connectors, and electrical parameters of the exchanging data. These data before using them for functional tasks are pre-processed in OBC with special algorithms.
