1 Introduction

Agility, i.e. the capability of a spacecraft to perform rotation maneuvers about any arbitrary axis, is mainly important for optical earth observation satellite missions that have a need for fast reorientation to capture different target areas along the orbit. This platform agility is becoming increasingly important since previous generations of earth observation satellites like SPOT employed a moving instrument mirror for that purpose [1]. Recent earth observation satellites, like WorldView-2 for example [2], have their optical instrument fixed to the satellite and for image acquisition the whole satellite including the optics is rotated, what permits the continuous capturing of images with 3 degrees of freedom and yields to a higher accuracy and a robuster system due to its simpler design. This also implies that significant maneuvering capabilities about all three spacecraft axes are required.

While planning an agile earth observation satellite mission, it is important to assess the degree of agility needed for the set of desired ground scan scenarios to conclude on the general feasibility of the mission and to be able to select suitable attitude control devices. Since the design of a ground scan scenario for an earth observation satellite mission is a trade-off between observed area and complexity of the scans on the one hand and degree of agility available and thus performance of the actuators, i.e. available torque, on the other hand, it is often carried out in an iterative way to find an optimal solution. Thus, an end-to-end-process is needed that allows a fast, comfortable and reliable analysis of agile earth observation satellite missions starting from the definition of a desired ground scan scenario and ending at the verification by closed-loop simulation using pre-defined attitude control devices that execute the respective guidance profile.

In the following, first, the end-to-end analysis process for agile earth observation satellite missions is introduced in Sect. 2. Then, a detailed discussion of this process by means of an example analysis of an agile earth observation satellite mission is carried out in Sect. 3. Finally, conclusions are drawn in Sect. 4.

Fig. 1
figure 1

End-to-end process for the analysis of agile earth observation satellite missions

2 Definition of the process

The end-to-end process comprises different steps including a cascading suite of Matlab/Simulink® based design and analysis tools (Fig. 1). The first step involves the setup of a desired ground scan scenario that comprises information about the areas on earth to be observed. This is done by use of the ASSET (Agile Satellites Scenario Evaluation Tool) [3], a modular Matlab command line tool that allows the design and feasibility analysis of complex ground scan scenarios for agile satellites. Its major output is a guidance profile for the reference attitude, the reference rate and the reference acceleration needed to execute the scenario in closed-loop. This guidance profile is automatically imported into the high-fidelity closed-loop AOCS simulator AOSE (AOCS Offline Simulation Environment) [6]. The produced simulation results are exported from AOSE, post processed and then imported into PLOTFIELDS [7] / MOVE for visual 1-D and 3-D analysis and evaluation purposes.

The diversity of tasks performed during this process necessitates the efficient mutual integration of the different tools involved. Thus, to ensure that no manual work has to be performed, well-defined data import/export interfaces for these tools are specified that allow a maximum degree of automatism, thus saving time and minimizing errors.

In the next section, the process described above is presented in more detail by means of an example analysis.

3 Example analysis

The objective of this analysis is to investigate the feasibility of an exemplary agile earth observation satellite mission and in particular the required degree of agility. For this purpose, first two ground scan scenarios with different degrees of agility are defined and analyzed in Sect. 3.1. After having chosen one scenario for the further analysis, the corresponding attitude control devices are then described in Sect. 3.2. Based on the chosen ground scan scenario, a guidance profile is calculated which is then executed by use of the chosen actuators in a realistic closed-loop simulation in Sect. 3.3. Finally, in Sect. 3.4, the simulation results are analyzed and it is concluded on the feasibility of the agile earth observation satellite mission.

3.1 Setup of ground scan scenario

Designing a ground scan scenario for an earth observation satellite mission is a trade-off between the area to be observed and complexity of the scans on the one hand and degree of agility available and thus performance of the actuators, i.e. available torque, on the other hand. The ground scan scenario can be setup by either specifying the exact area to be observed and finding the appropriate actuators or by specifying actuators and choosing the area to be observed under consideration of the limited available torque. In the present work, the latter approach is used.

Fig. 2
figure 2

ASSET scan scenarios. Left medium agility (max. torque = [1, 1, 1] Nm). Right high agility (max. torque = [10, 10, 10] Nm). Red ground track during slew. Green ground track during scan. Dark blue LoS during slew. Cyan LoS during scan

Two ground scan scenarios are designed, one optimized for actuators that provide medium agility and one optimized for actuators that provide high agility. Such a ground scan scenario can comprise scans that may include different capturing modes like e.g. “Long Strip”, “Large Area Collect”, “Multiple Point Targets” and “Stereo”, which are commonly used for agile earth observation satellite missions [3].

The medium agility scan scenario can be seen in Fig. 2 on the left side. Here, actuators with a maximum torque of 1 Nm (e.g. high-torque reaction wheels) are used. Starting at the right bottom corner, first a stereo scan is performed at point 1. After the second part of the stereo scan has been finalized, the satellite slews to point 2 for capturing a long strip scan. Afterwards, at point 3, the satellite performs a large area collect scan and finally at point 4 another long strip scan. As a matter of fact, the scans cannot be broader or longer due to the limitation of the selected actuators.

The high agility scan scenario can be found in Fig. 2 on the right side, where actuators with a maximum torque of 10 Nm (e.g. Control Moment Gyros) are used. Compared to the medium agility case, it was possible to increase significantly the length of the long strip scan at point 2. At point 3, the width of the large area collect scan is unchanged, but the length is increased significantly as well. As can be seen in Fig. 3, which shows the zoomed region around point 1 of the high agility scan scenario, after the first part of the stereo scan, enough torque capability is available to perform some multiple target scans in the vicinity, before the stereo scan is finally completed.

Fig. 3
figure 3

ASSET high agility scan scenario (max. torque = [10, 10, 10] Nm); zoomed into the region around the stereo mode scan. Red ground track during slew. Green ground track during scan. Dark blue LoS during slew. Cyan LoS during scan

When looking at the ground tracks of the two scan scenarios, the red colored part (indicating slews) is predominating for the medium agility case (Fig. 2, left) whereas the green colored part (indicating scans) is predominating for the high agility case (Fig. 2, right), meaning that the slews between different scans can be performed much quicker for the high agility case, leading to more time for scans. Summarizing, it can be said that the number and complexity of scans per orbit can be significantly increased with higher agility. That is why CMG actuators offering such high agility are of particular interest to be employed on such missions.

Some important mission—and scan scenario parameters used for the analysis are shown in Table 1.

Table 1 Mission- and scan parameters used for the analysis with ASSET

3.2 Control moment gyros

There exist several types of control moment gyros (CMGs), for example Single- and Double Gimbal CMGs, which allow rotations of the flywheel’s angular momentum vector with 1 or 2 degree(s) of freedom, respectively, [5] and the CMG can also have a constant—or a variable flywheel spin speed [8, ch. 11.2, 11.10]. In the present work, the Single Gimbal Control Moment Gyros with constant flywheel spin speed are used, mainly due to their lower power consumption, simpler mechanical design and hence lower cost.

3.2.1 CMG design and functional principle

The design of a Single Gimbal CMG can be seen in Fig. 4. The CMG mainly consists of a flywheel that is rotated by a gyro motor and a gimbal motor that rotates the flywheel’s spin axis in such a way that the flywheel’s spin axis and the gimbal spin axis form an angle of 90°.

While the flywheel is assumed to rotate with constant speed, the output torque of the CMG is achieved by rotating the flywheel’s spin axis by use of the gimbal motor. By denoting \(g\) the vector of the gimbal spin axis \((|g| = 1)\), \(\theta\) the gimbal angle, \(h\) the angular momentum vector (here \(|h| = 1\) without loss of generality) and \(c\) the torque direction vector \((|c| = 1)\), it follows [5]

$$\begin{aligned} h&= h(\theta )\end{aligned}$$
(1)
$$\begin{aligned} c&= \frac{\partial h}{\partial \theta } = g \times h\end{aligned}$$
(2)
$$\begin{aligned} \tau&= \frac{\mathrm{d}h(\theta )}{\mathrm{d}t} = \frac{\partial h}{\partial \theta } ~ \frac{\mathrm{d}\theta }{\mathrm{d}t} = c \cdot \dot{\theta } \end{aligned}$$
(3)

with \(\tau\) being the output torque of one CMG and \(\dot{\theta }\) its gimbal rate, i.e. the rate of the gimbal spin axis.

Fig. 4
figure 4

Control moment gyro design (adapted from [5])

3.2.2 CMG configurations

CMGs are usually operated in a configuration of at least three (Single Gimbal) CMGs to ensure a 3D rotation capability of the satellite plus one additional CMG for redundancy, hence four CMGs in total.

For a configuration of \(N\) CMGs, denoting \(h_i\) the angular momentum of the \(i\)th CMG and \(H = \sum _{i=1}^N h_i\) the total angular momentum, it follows for the output torque, \(T\),

$$\begin{aligned} T = \frac{\mathrm{d}H}{\mathrm{d}t} = \sum _{i=1}^N \frac{\partial h_i}{\partial \theta _i} ~ \frac{\mathrm{d}\theta _i}{\mathrm{d}t} \end{aligned}$$
(4)

with \(\theta _i\) being the gimbal angle of the \(i\)-th CMG.

By denoting \(\omega _i = \frac{\mathrm{d}\theta _i}{\mathrm{d}t}\) the gimbal rate, i.e. the rate of the \(i\)-th gimble spin axis and \(\omega _g = (\omega _1, \omega _2,\ldots , \omega _N)^t\), the total output torque \(T\) can be rewritten as

$$\begin{aligned} T = C \cdot \omega _g \end{aligned}$$
(5)

with \(C = (c_1\, c_2 \, \ldots \, c_N)\) being the \(3 \times N\) Jacobian of the total angular momentum vector \((c_i = \frac{\partial h_i}{\partial \theta _i})\).

From Eq. (5) it can be seen that for a given and fixed configuration of CMG gimbal spin axes, the output torque is dependent not only on the gimbal rates \(\omega _g\) but also and especially on the current state of the gimbal angles (through C).

There exist several options to arrange the CMGs in a configuration from which a “pyramid type” configuration is exemplarily used in the present work. This configuration consists of 4 CMGs that are arranged in a pyramid-like mounting with skew angle of \(\beta =53.13^\circ\) as can be seen in Fig. 5. The advantage of this configuration is the fact that it provides a nearly spherical angular momentum workspace, meaning that the same maximum torque can be applied to all directions. Note that it can also make sense to choose a different skew angle \(\beta\), such that more angular momentum about preferred axes is obtained.

Fig. 5
figure 5

Pyramid type CMG configuration (adapted from [8])

Referring to Eq. (5), the full description of the output torque of the pyramid-type CMG configuration is given by [8, ch. 11.2.1]

$$T = C \cdot \omega _g$$
(6)
$${\rm with}\; \omega _g = (\omega _1, \omega _2, \omega _3, \omega _4)^t \text { and }$$
$$\begin{aligned} C = \left( \begin{array}{ccccc} - \cos \beta \cos \theta _1 &{} \sin \theta _2 &{} \cos \beta \cos \theta _3 &{} - \sin \theta _4 \\ - \sin \theta _1 &{} - \cos \beta \cos \theta _2 &{} \sin \theta _3 &{} \cos \beta \cos \theta _4 \\ \sin \beta \cos \theta _1 &{} \sin \beta \cos \theta _2 &{} \sin \beta \cos \theta _3 &{} \sin \beta \cos \theta _4 \end{array}\right) \end{aligned}$$

3.2.3 CMG singularity problem

During operation, CMGs are inherently subject to singularities causing a disability to execute certain torque commands. This CMG singularity problem can be explained in a multitude of ways, of which in the present work the “singular vector direction” and the Binet-Cauchy identity are used.

For a non-coplanar CMG configuration it follows that

$$\begin{aligned} \min (\mathrm{rank}(C)) = 2 \end{aligned}$$
(7)

which, for the above-mentioned pyramid-type configuration is the case if the skew angle \(\beta \ne n \cdot \pi \text { rad}\) with \(n\, \epsilon \, \mathbf {Z}\).

If \(\mathrm{rank}(C) = 2\), it follows that all \(c_i = \frac{\partial h_i}{\partial \theta _i}\) become coplanar (see Fig. 6). Hence it exists a unit vector \(u\) normal to that plane so that \(d H \cdot u = 0\), i.e.

$$\begin{aligned} \exists u: u \cdot c_i = 0 \text { for } \, i = 1, \ldots , N \end{aligned}$$
(8)

Thus no torque along the direction of \(u\) can be applied regardless of the gimbal rates. This is called a singularity.

Fig. 6
figure 6

Singular vector direction (adapted from [5])

After knowing that \(\mathrm{rank}(C) = 2\) corresponds to a singularity, an alternative formulation of the CMG singularity problem can be given by use of the Binet-Cauchy identity. Namely, if the matrix C looses full rank, i.e. \(\mathrm{rank}(C) < 3\), it follows that

$$\begin{aligned} \det (C C^t) = 0 \end{aligned}$$
(9)

Thus by means of this equation, a check for singularities is reduced to a zero check of a simple scalar value. This will be used within the CMG steering law in the next section.

3.2.4 CMG steering law

When using CMGs as attitude control device, a desired output torque \(T\) is realized by commanding gimbal rates \(\omega _i\) depending on the state of the current gimbal angles \(\theta _i\). Therefore, as described above, Eq. (6) needs to be solved. This is a non-trivial objective due to the above described singular states, i.e. states in which no torque can be applied along a certain direction no matter how big the gimbal rates are. It has to be noted that these singularities are physical constraints inherent to the CMG configuration and that they cannot be eliminated algorithmically.

There exist several ways of dealing with the CMG singularity problem. One option is to choose the CMG configuration such that it is singularity-free by design, which is the case for a so-called arrangement of ‘3 scissored-pairs’ as described in [4]. But the disadvantage is that 6 CMGs are needed for a full three degree of freedom attitude control, thus 8 CMGs including redundancy for normal operations. Additionally, the CMGs in this configuration are not operated with the maximum angular momentum workspace they could have. These drawbacks make the 3 scissored-pairs configuration cost-ineffective and thus not attractive. Another possibility to overcome the CMG singularity problem is to use CMGs that are oversized with respect to their angular momentum requirement. This is done by choosing the angular momentum such high that the CMGs can be operated in a singularity-free region of the workspace while providing the required angular momentum. This naturally means that the CMGs are not operated with the maximum angular momentum workspace they could have, resulting in higher mass and costs.

If the CMG configuration is not designed to be singularity-free and the CMGs are also not oversized with respect to their angular momentum capacity, there is no way to completely eliminate the singularities, but they can be avoided during operation by use of particular CMG steering laws in a more or less efficient way. Here, a tradeoff between accuracy and maximum angular momentum workspace (and thus the time to complete a rotation maneuver) needs to be made. There exists a variety of CMG steering laws, of which the one based on the Generalized Singularity Robust Inverse from [8, ch. 11.7.2] is exemplarily used in the present work. This steering law allows for a torque error to avoid or escape singularitiesFootnote 1.

As shown in [8, ch. 11.7.2], a solution to Eq. (6) can be obtained by use of the generalized singularity robust inverse, \(C^\#\), as

$$\begin{aligned} \omega _g&= C^\# \cdot T\end{aligned}$$
(10)
$$\begin{aligned} C^\#&= C^T (C C^T + \lambda \cdot E)^{-1} \end{aligned}$$
(11)

with \(\lambda\) being a scalar and

$$\begin{aligned} E = \left( \begin{array}{ccc}1 &{} \epsilon _3 &{} \epsilon _2 \\ \epsilon _3 &{} 1 &{} \epsilon _1 \\ \epsilon _2 &{} \epsilon _1 &{} 1\end{array}\right) > 0 \end{aligned}$$
(12)

The scalar values \(\lambda\) and \(\epsilon _i\), \((i=1,2,3)\) are to be properly selected such that \(C^\# \cdot T \ne 0\) for any nonzero constant \(T\). This ensures that even if the CMG configuration is in a singularity, a gimbal rate \(\omega _g \ne 0\) is commanded, hence introducing a torque error and thus enabling the CMG configuration to escape the singularity. This means that the CMG configuration is always able to escape singularities by intentionally inducing torque errors and that this steering law is (singularity) robust.

The following values are taken for \(\lambda\) and \(\epsilon _i\) as proposed in [8, ch. 11.8.4]

$$\begin{aligned} \lambda&= 0.01 \cdot \exp (-10 \cdot \det (C_n C_n^T))\end{aligned}$$
(13)
$$\begin{aligned} \epsilon _i&= 0.1 \cdot \cos (t) \end{aligned}$$
(14)

with \(t\) being the time and \(C_n\) the normalized Jacobian (\(C\) with \(|h| = 1\)).

It should be noted that in real missions a so-called offline planning would be performed additionally to the above mentioned CMG steering law. Here, during an iterative optimization process, the best gimbal rates for the rotation maneuvers are calculated offline to encounter the least singularities possible. In the present work, no such offline planning is performed since it has no impact on the general analysis process described in this paper.

3.3 Simulation with feedback controller

Based on the high agility ground scan scenario from Sect. 3.1, a guidance profile is calculated by ASSET, which is subsequently being executed in the simulation environment AOSE by use of CMGs in the configuration as described in Sect. 3.2.2 with the steering law from Sect. 3.2.4.

Fig. 7
figure 7

Functional principle of the AOSE implementation of the CMG steering logic

Figure 7 shows the functional principle of the AOSE implementation of the CMG steering logic. Starting from the attitude determination process, the current satellite attitude and satellite rate are given to the controller as well as the reference attitude, reference rate and reference acceleration coming from the guidance process. The controller comprises a feedforward part, which accounts for the guidance acceleration, and a feedback part (PID), which accounts for disturbances and deviations from the reference attitude, for example due to CMG singularities. The feedback part of the controller (PID) is based on the constant-gain quaternion-error feedback control logic with variable limiter from [8, ch. 11.9.3]. Inside the controller, a torque command is calculated and passed to the commanding process. Here, the CMG gimbal rates needed to provide the commanded torque are calculated by use of the CMG steering law as described in Sect. 3.2.4. These CMG gimbal rates are then commanded to the CMGs. The CMG models execute the desired gimbal rates and pass the resulting torque to the dynamic model. Additionally, the new gimbal angles measured by the CMG sensors are forwarded to the sensors section. The dynamic model solves the kinematic equations of motion under consideration of the force and torque that act on the satellite, which are provided by the satellite model, as well as the torque produced by the CMGs. The resulting new satellite’s position, - velocity, - attitude and - rate are passed to the environment model and the new satellite’s attitude and - rate to the sensors. The sensor data is finally forwarded to the onboard computer (OBC) and the determination process starts from scratch.

CMG parameters used for this simulation are given in Table 2. The simulation results can be found in Fig. 8a to f and are discussed in the next section.

Table 2 CMG parameters for the AOSE simulation

3.4 Analysis and evaluation

Fig. 8
figure 8figure 8

Simulation results. The grey shaded areas represent times where the scans have been performed, whereas the white areas represent the slew times. a Attitude error Euler angle. b Determinant of Jacobian. c Satellite rotation rate (body frame). d Angular momentum of CMG set (body frame). e CMG gimbal angles. f Attitude quaternion

The actual attitude determined by the simulation can be found in Fig. 8f. To assess the quality of this simulated attitude, the attitude error Euler angle is plotted in Fig. 8a, which shows how much the simulated attitude differs from the reference attitude given by the guidance profile. When looking at the scan times only, the root mean square (RMS) value of the attitude error Euler angle is 2.37e-5 rad, what corresponds to only 16 m on ground. The determinant of the Jacobian, as defined in Eq. (5), is plotted in Fig. 8b. It can be seen that several singularities are encountered, e.g. at approx. 660 and 710 s, and successfully bypassed. Figure 8c shows the satellite rotation rate with its typical profile when using CMGs, i.e. a strong acceleration phase, followed by a very short or no phase of constant rotation, finishing with a strong acceleration phase (in contrast to a typical reaction wheel maneuver profile with a long constant rotation rate phase and short acceleration phases). In Fig. 8d, the angular momentum of the CMG set is plotted. It can be seen that the slew maneuvers can be carried out in shortest time without reaching the maximum angular momentum available in the CMG set, i.e. 64 Nms (due to the chosen pyramid mounting arrangement, cf. [8, ex. 11.11]). Finally, the corresponding CMG gimbal angles are plotted in Fig. 8e.

It is concluded that it is feasible to execute the chosen ground scan scenario by use of the selected CMGs within the attitude accuracy specified above.

4 Concluding remarks

In the present work, an automatized and optimized end-to-end process for the analysis of agile earth observation satellite missions was presented and demonstrated by means of an example analysis.

For this, two ground scan scenario were defined comprising the information about the areas on earth to be observed, one optimized for actuators that provide only medium agility (e.g. high-torque reaction wheels) and one optimized for actuators that provide high agility (e.g. CMGs). The high agility case was chosen to be further analyzed due to the fact that the number and complexity of scans per orbit could be significantly increased. An introduction to CMG guidance and control was given, including a method to deal with the associated singularities. Then, a guidance profile, which has been automatically derived from the chosen ground scan scenario, was executed in a closed-loop simulation for verification. The simulation results were analyzed and it could be concluded that the execution of the scenario is feasible, based on the selected type of actuators.