1 Introduction

Vibration suppression during attitude control of flexible spacecrafts with internal liquid sloshing is an active research topic intriguing the space engineering community for many years. In fact, in the case of both small satellites with long flexible appendages and large space stations, the structural flexibility is inherently coupled with the attitude dynamics of the whole spacecraft. This is particularly true during attitude maneuvers or whenever an attitude control system is present on-board, since the natural frequencies of dominant flexible vibrations and fluid slosh modes can be very close to those of the overall rotational dynamics. In these cases, the structural integrity of the satellite, as well as the pointing performances of the attitude control, shall be preserved by performing an active vibration management.

In the past, active vibration control was often proposed for large space systems with the necessity to design space structures with distributed actuators and sensors. In these cases, the resulting smart structure is capable of measuring an augmented state of the system, including modal displacements and velocities, in order to effectively damp out the undesired vibrations, as in the work of Azadi [1]. Similarly, the possibility to have a dynamic vibration compensation that uses only attitude and angular velocity measures as sensors and piezoelectric patches as actuators was proposed by Di Gennaro [2]. These approaches exploit the smart structure design allowing the use of decentralized or hierarchical control strategies, but they rely on a system that is more complex and less prone to be integrated in applications requiring an extremely high reliability with cost effectiveness, such as small space platforms. For these reasons, this research work proposes a light and computationally efficient vibration suppression attitude control that relies only on central sensors and actuators, without the usage of collocated devices for vibration management, in order to be applicable to any kind of space system with demanding rotation control capabilities.

The development of vibration suppression attitude control requires a proper dynamical model to accurately represent the dynamics of the spacecraft, of the flexible appendages and of the internal liquids. The dynamics of large flexible spacecrafts was studied since the 1970 with the works of Ho [3] and Modi [4, 5] introducing the multibody representation of a spacecraft composed of flexible interconnected bodies forming a tree-type topology. However, a comprehensive theory dealing with the vibrational motion of a generic flexible body attached to a reference frame undergoing an arbitrary translational and rotational motion was missing. In 1987, Kane proposed a new method to study the dynamics of flexible structures subjected to large overall motions [6]. He introduced for the first time the dynamic stiffening effect, which describes the rigid motion and elastic deformation coupling when large and fast displacements occur. Further developments of this modeling technique, proposed by Yoo [7], simplified the procedure of formulating the derivation of the equations of motion and assessed the validity of linear approaches. Kane’s method was applied throughout the years to effectively model spacecrafts dynamics in several contexts, such as tethered satellites [8], execution of large angle maneuvers [9], satellite-docking procedures [10], fuel sloshing inside on-board tanks [11], solar power applications [12], large space systems in lunar vicinity [13], and fuel transfer during on-orbit refueling [14]. Particular care shall be deserved in the dynamical modeling whenever both internal liquid sloshing and the flexibility of the appendages are considered. In 2018, a convenient formulation to effectively include both vibrational effects was proposed by Liu [15].

The dynamics of a spacecraft is strongly influenced by the flexibility of its light, slightly damped, structures. Hence, the effects of vibrations and control torques on the spaceflight dynamics were studied since the beginning of the spacecraft engineering [16]. In the late 1970s, Meirovitch [17] proposed an attitude control method for spinning spacecrafts both with a linear feedback approach and with a nonlinear on–off control. A year later, Tseng [18] applied the pole placement technique to shape the closed-loop attitude control system response for a flexible spacecraft. Then, with the explosion of smart structure technologies, the vibration suppression control was more focused on the application of distributed sensors and actuators, to damp out unwanted oscillations on the structures and improve the performance of classical rigid attitude control methods [19, 20].

In recent years, with the advent of small and efficient space platforms in advanced mission operations, dedicated flexible control methods exploiting only noncollocated sensors and actuators regained a lot of attention from the scientific community. The usage of adaptive controllers or properly shaped control profiles was often proposed to overcome the complexity of fluid sloshing and appendages vibration interaction with the attitude motion of a spacecraft. In fact, the coupling between these two vibrational phenomena in attitude dynamics, which has been investigated by Yue [21], resulted in the possibility to have chaotic motion depending on the spacecraft parameters and characteristics. The necessity to avoid the onset of potentially chaotic dynamics, without directly controlling the source of the coupled vibrations, has led to control strategies requiring dedicated methods to achieve the required performances. In 2006, an attitude control system with adaptive notch filters for vibration control along prescribed maneuvers was proposed by Oh [22]. The adaptive control techniques are capable of managing the inherent uncertainties of flexible systems, but their real-time implementation on small and power-efficient on-board processors, or on the increasingly popular microcontroller units, requires a lot of effort and dedicated development work. A few years later, a classical and effective control scheme with antidisturbance observer was proposed by Liu to stabilize the spacecraft dynamics [23]. In this case, the controller resulted to be robust and capable of handling the disturbances due to appendages flexibility; however, the required augmented dynamics increased the computational burden to run the controller on-board a spacecraft. Alternative approaches have been proposed to achieve the desired attitude motion while attenuating residual vibrations, by exploiting feedforward strategies, properly shaping the control input, combined with feedback controls, as in the work of Yue [24].

This paper presents a vibration suppression attitude control system (ACS) for spacecrafts, with flexible appendages and internal liquid sloshing, undergoing a generic nonprescribed three-dimensional motion subjected to environmental disturbances. As said, with the purpose to be applicable to any kind of spacecraft, without requiring dedicated collocated actuators, the proposed methods are based on an attitude control system with centralized sensors and actuators. Moreover, the research work is intended to be applicable to small space systems, with limited on-board computing power, but with advanced real-time control capabilities. The discussion is focalized on the idea of comparing and integrating different approaches to achieve a reliable and computationally efficient hybrid control scheme: classical proportional-derivative (PD) control laws, integrated with nonadaptive band-stop notch filters, and wave-based control methods, and then integrated to control any kind of spacecraft undergoing a generic three-dimensional motion.

Most attitude control systems widely exploit PID (proportional-integration-derivative) or PD laws because of their simplicity and reliability. However, these methods typically lack good accuracy and performances in handling spacecrafts affected by vibrational disturbance sources. In fact, the performances of the PID/PD controllers tend to be degraded when external disturbance and coupling vibrations exist. As already discussed, in the literature they have been integrated with adaptive techniques or with disturbance rejection functions, in order to guarantee good performance, at the cost of augmented control system and increasing computational loads. In this paper, in order to avoid dangerous resonances and vibrational excitations, which may result in a reduction of the achievable performances of the control, or in a loss of the attitude stability [25], the PD control is integrated with nonadaptive band-stop notch filters, maintaining the computational efficiency and the reliability of the method. However, this method lacks dedicated vibration suppression capabilities and it is not robust with respect to system modeling errors and parameter uncertainty. Therefore, the research proposes the integration of the filtered PD control with a wave-based control scheme, dedicated to the suppression of undesired vibrations.

Wave-based control is a powerful and relatively new strategy for active damping of oscillatory behaviors. The fundamental idea behind this control technique is to assume the control action as a mechanical wave launched by the actuators into the flexible system to absorb the returning waves [26]. The resulting vibration suppression controller is robust, computationally efficient, and it does not depend on an accurate system model. The method was applied to control a spacecraft with internal liquid sloshing for the first time by Thompson in 2016 [27], with an application that was limited to planar translations and rotation around a single axis. This research work proposes an application of this method to generic coupled three-dimensional attitude dynamics. Moreover, thanks to the integration with the PD technique, the wave-based control allows achieving an adaptable and robust three-dimensional attitude control system capable of driving the spacecraft along an arbitrary three-dimensional nonplanar trajectory.

The active on-board controller is able to manage a generic coupled vibrational-attitude dynamics in real-time on a simple on-board microcontroller unit. Any kind of possible resonance between attitude dynamics, fluid sloshing, flexible appendages vibration, and control system action is avoided. The available performances of the presented control system are tested by means of numerical simulations, exploiting validated codes, including accurate environment models, control systems errors, and parameters uncertainties. The robustness of the proposed method is validated with Monte Carlo numerical simulations for generic three-dimensional nonplanar dynamics, with dispersion on the system uncertainties.

Finally, the paper also discusses the dynamical modeling of the space system, which is based on a multibody formulation. The developed vibrational coupling terms allow augmenting the dynamics equations of rigid-body motion with structural and sloshing model dynamics. The equations for the flexible elements and for the sloshing modes are expressed in a canonical form of second order dynamics, with known eigenfrequencies and damping coefficients. A distributed parameters model, based on the Ritz method, or a lumped parameters model is exploited to simulate the dynamics and to design and size the implemented attitude control system. Generally, the two approaches can be used together to assemble and simulate any kind of flexible space structures because of the multibody formulation of the proposed model.

2 Flexible elements models

The dynamical representation of a spacecraft with flexible appendages and internal liquid sloshing is based on different models for the single flexible elements, which are based on simple and generic structural components: flexible beams, lumped masses, springs, dampers, and, eventually, flexible plates. In this way, it is possible to configure the space system with an arbitrarily complex configuration. In fact, the flexible element models within the extended system are included in the overall spacecraft model, which has a topological tree configuration, with a multibody technique [28].

Flexible structural elements can be modeled with a Lumped Masses Model (LMM), or with a Lumped Parameters Model (LPM), or with a Distributed Parameters Model (DPM). In the first case, lumped masses are connected to a rigid structure with a massless spring; in a way to have an equivalent spring–mass system able to represent a pseudomode of vibration [29]. The LMM is particularly useful to model the sloshing dynamics, in particular, when dampers are inserted in the spring–mass systems, as will be discussed in Sect. 2.2. For the LPM, rigid structural components are interconnected with lumped stiffness and damping elements, in order to compose a more complex lumped parameters multibody system. Lastly, with DPM, the flexible elements are represented by approximate finite-dimensional models of the flexible structures [30], which are subsequently interconnected to compose the overall multibody model.

The paper exploits the lumped models, LMM and LPM, to represent the dynamics of a spacecraft with flexible appendages and internal liquid sloshing. The DPM will be used as a benchmark to validate the fidelity of the lumped models.

2.1 Lumped and distributed parameters models

The lumped and distributed parameters flexible models, LPM and DPM, are founded on the pioneering work of Kane, who studied the dynamics of flexible structures undergoing large overall motions [6]. In fact, a nonlinear strain measure and a change of coordinates allow automatically including numerous motion-induced effects, such as centrifugal stiffening or vibrations induced by Coriolis force, which are usually neglected by the canonical structural techniques based on linear Cartesian modeling approaches. A quadratic form of the strain energy helps in obtaining an accurate model, which produces exact simulations and can be easily implemented for numerical computation through a Rayleigh–Ritz method to approximate the involved variables. The theoretical foundation of the developed model has been gathered from the work of Yoo [7].

The lumped parameters model produces less precise results than DPM, but is less expensive in terms of computational load and allows an easier and faster investigation of space structures composed of many simple elements. In fact, LPM is developed exploiting a multibody formulation that is based on rigid rods, lumped masses, springs, and dampers to represent the inertia and flexibility properties of a given extended flexible body. To facilitate the multibody model implementation, an algorithm has been developed by the authors to automatically write the analytical equations of motion of the system, once the list of the various elementary structural components and the mutual connections between them have been specified. The different elements are assembled exploiting rotation matrices between the local coordinate systems of each part of the structure and satisfying the imposed constraints. The resulting dynamic equations are obtained with a Lagrangian approach, starting from the Lagrangian function of the multibody system. Practically, the dynamical equations are formulated taking into account the kinetic energy related with the flexible deformations:

$$ \begin{aligned} \mathcal{T}&=\frac{1}{2}m_{B}\,\dot{\mathbf {r}}_{B}\cdot\dot{\mathbf {r}}_{B}+\frac{1}{2}\boldsymbol {\omega }\cdot\mathbb{I}_{B}\cdot \boldsymbol {\omega }\\ &+\frac{1}{2}\sum_{i=1}^{n_{\mathrm{Flex}}} \int_{\mathrm{Flex}_{i}} \dot{\mathbf {u}}_{i}\cdot \dot{\mathbf {u}}_{i}\;dm_{\mathrm{Flex}_{i}} + \frac{1}{2} \sum_{i=1}^{n_{\mathrm{LMM}}}\widetilde{m}_{i}\;\dot{\widetilde{\mathbf {z}}}_{i} \cdot \dot{\widetilde{\mathbf {z}}}_{i}, \end{aligned} $$
(1)

where \({n_{\mathrm{Flex}}}\) is the number of flexible elements, \({n_{\mathrm{LMM}}}\) is the number of lumped masses and \(\dot{\mathbf {u}}_{i}\) is the velocity of the individual mass element, \(dm_{\mathrm{Flex}_{i}}\), differential for the DPM or lumped for the LPM.

Similarly, also the potential energy associated to the deformable structures is taken into account to compute the Lagrangian function:

$$ V_{\mathrm{Flex}_{i}}=\frac{1}{2} \boldsymbol{\zeta}_{i}\cdot \mathbf {K}_{\mathrm{Flex}_{i}}\cdot\boldsymbol{\zeta}_{i}, $$
(2)
$$ V_{\mathrm{LMM}_{i}}=\frac{1}{2} \widetilde{k_{i}}\;\widetilde{\mathbf {z}}_{i} \cdot \widetilde{\mathbf {z}}_{i}, $$
(3)

where \(\boldsymbol{\zeta}_{i}\) represents the generalized coordinates associated with the vibration degrees of freedom, modeled in the LPM or in the DPM, and \(\mathbf {K}_{\mathrm{Flex}_{i}}\) is the modal stiffness matrix of the \(i\)th deformable element.

In the DPM, all the nonlinear strain terms due to the large motion of the flexible structure are retained, while the inertia forces are linearized to obtain the final equations of motion for the present modeling method, which can also be referred as foreshortening approach [7]. This technique is here exploited as a reference for the less refined but effective LPM, as will be discussed in Sect. 3.2.

2.2 Sloshing models

The motion of liquids, such as fuel, in partially filled tanks must be taken into account in the spacecraft model, in particular whenever the overall dynamics excites the lateral motion of the fluid. The effect of the liquid on the spacecraft can be replaced by a linear mechanical model. In fact, it is assumed that the sloshing is linear: a pendulum model and a spring–mass model are equivalent in representing the linear sloshing phenomena. The spring–mass model does not require the use of kinematic constraints, leaving the equations of motion of the different bodies independent, which is the reason why the latter model is preferred in this research work. More advanced methodologies exploiting computational fluid dynamics (CFD) to predict the sloshing dynamics exist, they are able to calculate with great accuracy force and torque induced by the fluid to the spacecraft. However, these techniques are difficult to be managed by the on-board control system, in terms of both control stability and computational cost. Moreover, the analogous mechanical models of the sloshing dynamics provide accurate results for what concern the purpose of designing the attitude control system [31].

Thus, the Liquid Sloshing Model (LSM) dynamics has been analytically derived applying the Lumped Masses Model (LMM) assumptions: distinct spring–mass systems are attached to a main body, \(B\), at arbitrary points, at a predefined distance from \(O_{B}\). Their motion is excited from the dynamics of \(B\) itself. Their effect is inserted in the equations of motion through \(\mathbf {\varGamma}_{\mathrm{LMM}}\) and \(\mathbf {T}_{\mathrm{LMM}}\), in fact, the spring generates a force on the rod and, therefore, a torque with respect to center of mass of the primary body. The \(i\)th spring–mass system is located at a distance \(l_{i}\) from the barycenter of \(B\), and it is defined by pseudomodal mass \(\widetilde{m}_{i}\) and equivalent stiffness \(\widetilde{k_{i}}\). All the modal masses are scaled to 1, and each pseudomode is entirely represented through \(\widetilde{k_{i}}\). From the natural frequency of each mode of the structure, \(\widetilde{\omega_{i}}\), the stiffness can be computed as

$$ \widetilde{k_{i}}=\widetilde{\omega}_{i}^{2}\widetilde{m}_{i}. $$
(4)

These parameters of the mass–spring–damper slosh model have been tuned to correctly represent a real liquid sloshing in the spacecraft tanks. The correct parameters to be used have been retrieved from available literature studies and models [31, 32]. In Table 1, the definition and the formulation of the parameters to set up the sloshing model are reported for a cylindrical tank with diameter \(d\) and height \(h\), in \([\mbox{m}]\), filled with a liquid of density \(\rho_{\mathrm{liq}}\), in \([\mbox{kg/m}^{3}]\). The acceleration influencing the sloshing dynamics, \(g\), is the dynamically-induced acceleration acting along the axis of the tank; for practical applications, it can be selected to be equal to the average gravitational acceleration along the orbital motion. The geometric coefficient of the thank and the liquid damping ratio are respectively indicated as \(\sigma\) and \(\epsilon\).

Table 1 Slosh model parameters for a cylindrical tank

2.3 Spacecraft model

The paper applies and assess the implemented methods on a spacecraft modeled with two LPM solar panels and an internal fluid sloshing represented by two LMM mass–spring–damper systems as in Fig. 1. The considered spacecraft is in the class of the small platforms with an overall mass of \(200~\mbox{kg}\), including internal liquids and flexible appendages. The moments of inertia are on the order of \({\sim}10^{2}~\mbox{kg}\,\mbox{m}^{2}\). The spacecraft model is equipped with three reaction wheels as actuators, aligned with each principal inertia axis. The reaction wheels model includes saturation of the available torque with dead zone and bias errors. The main sloshing frequency and the first natural frequency of the flexible appendages are on the order of \({\sim}1\times 10^{-1}~\mbox{Hz}\), according to the assumed values for the solar panels parameters such as mass, rigidity, and damping. All the numerical values of the most relevant models parameters are reported in Table 2. The flexibility and sloshing parameters can be effectively determined by performing numerical analyses on the spacecraft flexible elements and on the internal fluids, in order to retrieve and characterize their dominant vibrational modes. Hence, preliminary structural and fluidic analyses on the system under consideration are required.

Fig. 1
figure 1

Spacecraft model

Table 2 Spacecraft model parameters

The lumped techniques discussed in this paper can be applied to investigate spacecrafts undergoing large overall motions. However, the flexible deformations that are modeled shall be limited to the range of the small deflections. In fact, the presented models cannot be applied to study the motion of bodies with large flexible deformations.

3 Equations of motion

Flexibility coupling with orbit-attitude dynamics can be derived from the Lagrangian formulation of the equations of motion. Nevertheless, the most relevant interaction between flexible and rigid body dynamics is mainly on rotational motion. In fact, the vibrational dynamics evolving from flexible elements and internal fuel sloshing interferes strongly with the attitude dynamics, and it can reduce the achievable performances of the ACS. The coupling effects with the orbital motion is negligible since the frequencies of the translational dynamics are typically well decoupled from the vibrational ones, even if an orbital control system is present, as will be discussed in Sect. 5.

The absolute attitude dynamics Euler’s equations shall be formulated to include flexibility effects. For example, for the considered spacecraft model in Fig. 1, described in Sect. 2.3, the kinetic energy in equation (1) is

$$ \begin{aligned} \mathcal{T}&=\frac{1}{2}\boldsymbol {\omega }\cdot\mathbb{I}_{B_{f}}\cdot \boldsymbol {\omega }+\frac{1}{2}\left(\boldsymbol {\omega }+\boldsymbol {\omega }_{W}\right)\cdot\mathbb{I}_{W}\cdot\left(\boldsymbol {\omega }+\boldsymbol {\omega }_{W}\right)\\&+\frac{1}{2}\dot{\mathbf {p}}\cdot\mathbb{M}_{P}\cdot\dot{\mathbf {p}}+\boldsymbol {\omega }\cdot\mathbb{P}\cdot\dot{\mathbf {p}} +\frac{1}{2}\dot{\mathbf {s}}\cdot\mathbb{M}_{S}\cdot\dot{\mathbf {s}}+\boldsymbol {\omega }\cdot\mathbb{S}\cdot\dot{\mathbf {s}}, \end{aligned} $$
(5)

where \(\mathbf {p}=[\theta_{1},\psi_{1},\theta_{2},\psi_{2}]^{\mathrm{T}}\) represents the generalized coordinates associated with the vibration degrees of freedom of the solar panels, \(\theta_{i}\) and \(\psi_{i}\), with \(i=1,2\), and \(\mathbf {s}=[\xi,\eta]^{\mathrm{T}}\) represents the generalized sloshing coordinates, \(\xi\) and \(\eta\). The axial deformation of the flexible appendages is ignored with respect to the bending ones, assuming \(\delta u=0\). Moreover, the sloshing is assumed to be constrained on the \(\hat {b}_{1}-\hat {b}_{2}\) plane, while the panels are aligned along the \(\hat {b}_{1}\)-axis. The other symbols in Fig. 1 refer to panels and sloshing model parameters introduced in Sect. 2. In particular, \(k_{\xi}\), \(k_{\eta}\) and \(c_{\xi}\), \(c_{\eta}\) are, respectively, the sloshing stiffness and damping coefficients. Then, \(m_{1}\) and \(m_{0}\) are the sloshing and the rigidly attached masses, while \(h_{1}\) and \(h_{0}\) are the associated distances with respect to the center of mass, \(O_{B}\). Analogously, \(m_{P_{1}}\) and \(m_{P_{2}}\) are the solar panels masses; \(k_{\psi}\) and \(k_{\theta}\) represent the solar panels stiffness coefficients. The damping coefficients of the panels, \(c_{\psi}\) and \(c_{\theta}\), are not indicated in the figure, to simplify the graphical representation. Anyway, the rotational degrees of freedom of the two flexible appendages are dynamically and kinematically associated to the respective rotational spring–damper models. The physical parameters are assumed to be equal for the two arrays in the model.

The matrix \(\mathbb{I}_{B_{f}}\) includes the slosh mass moment of inertia and the flexible appendages moments of inertia in the nondeformed configuration, plus the elastic displacement contribution to the moments and products of inertia:

$$ \begin{aligned} \mathbb{I}_{B_{f}}&=\mathbb{I}_{B}+\mathbb{I}_{P_{1}}\left(\theta_{1}(t),\psi_{1}(t)\right)+\mathbb{I}_{P_{2}}\left(\theta_{2}(t),\psi_{2}(t)\right)+\mathbb{I}_{S}\left(\xi(t),\eta(t)\right). \end{aligned} $$
(6)

It should be noted that the rigidly attached slosh mass, \(m_{0}\), is accounted inside the moment of inertia associated with the liquid sloshing, \(\mathbb{I}_{S}\), which is divided in a constant term, \(\mathbb{I}_{S_{m_{0}}}\), and in a variable term, \(\mathbb{I}_{S_{m_{1}}}\left(\xi(t),\eta(t)\right)\).

The matrix \(\mathbb{M}_{P}\) is the modal mass matrix of the solar panels and the matrix \(\mathbb{M}_{S}\) is the generalized mass matrix of the slosh:

$$ \mathbb{M}_{P}= \begin{bmatrix} m_{P_{1}} u_{L_{1}}^{2} & 0 & 0 & 0 \\ 0 & m_{P_{1}} u_{L_{1}}^{2} \cos^{2}\left(\theta_{1}(t)\right) & 0 & 0\\ 0 & 0 & m_{P_{2}} u_{L_{2}}^{2} & 0 \\ 0 & 0 & 0 & m_{P_{2}} u_{L_{2}}^{2} \cos^{2}\left(\theta_{2}(t)\right)\\ \end{bmatrix}, $$
(7)
$$ \mathbb{M}_{S}=\begin{bmatrix} m_{1} & 0\\ 0 & m_{1}\\ \end{bmatrix}, $$
(8)

where \(u_{L}=u_{L_{1}}=u_{L_{2}}\) are the lengths of the solar panels, \(m_{P_{1}}=m_{P_{2}}\) their masses in the LPM, and \(m_{1}\) is the oscillating mass in the slosh model.

The matrix ℙ denotes the coupling coefficient matrix between the attitude motion and the vibration of the two panels:

$$ \mathbb{P}=\begin{bmatrix}\mathbb{P}_{1} & \mathbb{P}_{2} \end{bmatrix}, $$
(9)

where

$$ \mathbb{P}_{i}= m_{P_{i}} u_{L_{i}}^{2}\begin{bmatrix} -\sin\left(\psi_{i}(t)\right) & \cos\left(\psi_{i}(t)\right)\cos\left(\theta_{i}(t)\right)\sin\left(\theta_{i}(t)\right)\\ \cos\left(\psi_{i}(t)\right) & \sin\left(\psi_{i}(t)\right)\cos\left(\theta_{i}(t)\right)\sin\left(\theta_{i}(t)\right)\\ 0 & \cos^{2}\left(\theta_{i}(t)\right)\\ \end{bmatrix}, $$
(10)

with \(i=1,2\).

The matrix \(\mathbb{S}\) denotes the coupling coefficient matrix between the attitude motion and the sloshing mass motion:

$$ \mathbb{S}=\begin{bmatrix}0 & -h_{1}\\ h_{1} & 0\\ -\eta(t) & \xi(t)\\ \end{bmatrix}, $$
(11)

where \(h_{1}\) is the sloshing arm with respect to the center of mass, \(O_{B}\).

The matrix \(\mathbb{I}_{W}\) is the reaction wheels inertia matrix, and the angular velocity of the wheels \(\boldsymbol {\omega }_{W}\) is relative to the angular velocity of \(B\), \(\boldsymbol {\omega }=[\omega_{1},\omega_{2},\omega_{3}]^{\mathrm{T}}\).

This model formulation with LPM and LMM allows further extensions and different elements to be easily integrated in the same rigid body with minor modifications. Moreover, the exploitation of lumped models produces acceptable results with a low computational load that facilitates the control design. The potential energy associated to the deformable elements is computed from equations (2) and (3) according to the used flexible model formulation.

The dynamical environment is represented in terms of all the relevant external perturbations, including the gravity gradient of the main orbital attractor, third body gravitation, magnetic, aerodynamic, and solar radiation pressure (SRP) torques, which are included in the final equations of motion. The resulting dynamic equations are obtained with the Lagrangian approach for quasicoordinates, \(\boldsymbol {\omega }\) and \(\boldsymbol {\omega }_{W}\), and for flexible coordinates, \(\mathbf {p}\) and \(\mathbf {s}\):

$$\begin{aligned} &\frac{d}{dt} \left(\frac { \partial \mathcal{L}}{\partial \boldsymbol {\omega }} \right) + [\boldsymbol {\omega }\times] \frac { \partial \mathcal{L}}{\partial \boldsymbol {\omega }}=\mathbf {T}_{\mathrm{env}}, \end{aligned}$$
(12)
$$\begin{aligned} &\frac{d}{dt} \left(\frac { \partial \mathcal{L}}{\partial \boldsymbol {\omega }_{W}} \right) + [\boldsymbol {\omega }_{W}\times] \frac { \partial \mathcal{L}}{\partial \boldsymbol {\omega }_{W}}=\mathbf {T}_{W}, \end{aligned}$$
(13)
$$\begin{aligned} &\frac{d}{dt} \left(\frac { \partial \mathcal{L}}{\partial \dot{\mathbf {p}}} \right) - \frac { \partial \mathcal{L}}{\partial \mathbf {p}}=0, \end{aligned}$$
(14)
$$\begin{aligned} &\frac{d}{dt} \left(\frac { \partial \mathcal{L}}{\partial \dot{\mathbf {s}}} \right) - \frac { \partial \mathcal{L}}{\partial \mathbf {s}}=0, \end{aligned}$$
(15)

where \(\mathbf {T}_{W}\) is the torque applied to reaction wheels (i.e., control torque). The perturbations phenomena included in the external environmental torque, \(\mathbf {T}_{\mathrm{env}}\), are:

  1. Earth gravity field (EGM96), with gravity gradient;

  2. Moon and Sun three-body gravity, with gravity gradient;

  3. Magnetic torque, with a casual time-variable internal residual dipole of \(0.75~\mbox{A}\,\mbox{m}^{2}\) average value;

  4. Aerodynamic drag torque, with the geometric model of the spacecraft (S/C) and exponential atmospheric density;

  5. SRP torque, with the geometric model of the S/C.

The fully coupled equations of attitude-flexible motion result in:

$$\begin{aligned} \begin{aligned} &\mathbb{I}_{B_{f}}\cdot\dot{\boldsymbol {\omega }}+ \mathbb{P}\cdot\ddot{\mathbf {p}} +\mathbb{S}\cdot\ddot{\mathbf {s}}+\mathbb{I}_{W}\cdot\left(\dot{\boldsymbol {\omega }}+\dot{\boldsymbol {\omega }}_{W}\right) = \mathbf {T}_{\mathrm{env}} \\&-\boldsymbol {\omega }\times\left[\mathbb{I}_{B_{f}}\cdot \boldsymbol {\omega }+ \mathbb{I}_{W}\cdot\left(\boldsymbol {\omega }+\boldsymbol {\omega }_{W}\right) + \mathbb{P}\cdot\dot{\mathbf {p}} +\mathbb{S}\cdot\dot{\mathbf {s}} \right] \\ &- \dot{\mathbb{I}}_{B_{f}}\cdot \boldsymbol {\omega }- \dot{\mathbb{P}}\cdot\dot{\mathbf {p}} - \dot{\mathbb{S}}\cdot\dot{\mathbf {s}}, \end{aligned} \end{aligned}$$
(16)
$$\begin{aligned} \begin{aligned} &\mathbb{M}_{P}\cdot\ddot{\mathbf {p}}+\mathbb{P}^{\mathrm{T}}\cdot\dot{\boldsymbol {\omega }}+\mathbf {C}_{P}\cdot\dot{\mathbf {p}}+\mathbf {K}_{P}\cdot \mathbf {p}=\\ &-\dot{\mathbb{M}}_{P}\cdot\dot{\mathbf {p}}-\dot{\mathbb{P}}^{\mathrm{T}}\cdot\dot{\boldsymbol {\omega }} \\ &+\frac{1}{2}\boldsymbol {\omega }\cdot \frac { \partial \mathbb{I}_{B_{f}}}{\partial \mathbf {p}}\cdot \boldsymbol {\omega }+\frac{1}{2}\dot{\mathbf {p}}\cdot \frac { \partial \mathbb{M}_{P}}{\partial \mathbf {p}}\cdot\dot{\mathbf {p}}+\boldsymbol {\omega }\cdot \frac { \partial \mathbb{P}}{\partial \mathbf {p}}\cdot\dot{\mathbf {p}}, \end{aligned} \end{aligned}$$
(17)
$$\begin{aligned} \begin{aligned} &\mathbb{M}_{S}\cdot\ddot{\mathbf {s}}+\mathbb{S}^{\mathrm{T}}\cdot\dot{\boldsymbol {\omega }}+\mathbf {C}_{S}\cdot\dot{\mathbf {s}}+\mathbf {K}_{S}\cdot \mathbf {s}=\\ &-\dot{\mathbb{S}}^{\mathrm{T}}\cdot\dot{\boldsymbol {\omega }} +\frac{1}{2}\boldsymbol {\omega }\cdot \frac { \partial \mathbb{I}_{B_{f}}}{\partial \mathbf {s}}\cdot \boldsymbol {\omega }+\boldsymbol {\omega }\cdot \frac { \partial \mathbb{S}}{\partial \mathbf {s}}\cdot\dot{\mathbf {s}}, \end{aligned} \end{aligned}$$
(18)
$$\begin{aligned} &\mathbb{I}_{W}\cdot\big( \dot{\boldsymbol {\omega }}\;+\;\dot{\boldsymbol {\omega }}_{W}\big) = \mathbf {T}_{W}. \end{aligned}$$
(19)

The matrices \(\mathbf {C}_{P}\), \(\mathbf {K}_{P}\), \(\mathbf {C}_{S}\), and \(\mathbf {K}_{S}\) are diagonal and, respectively, such are the damping and the stiffness matrices of the solar panels and of the fluid sloshing, whose numerical values have been computed from the model parameters discussed in Sect. 2.3.

The attitude kinematics is formulated taking advantage of the quaternion attitude parametrization. The attitude quaternion is \(\mathbf {q}=[q_{v_{1}},q_{v_{2}},q_{v_{3}},q_{s}]^{\mathrm{T}}\), with the symbols in square brackets representing its vectorial and scalar parts.

3.1 Linearized flexible dynamics

Linearized dynamics can be helpful during the design of control functions dealing with the attitude-flexible motion. Even if nonlinear control of space systems with liquid sloshing and flexible appendages can be designed exploiting Lyapunov stability theory or other nonlinear methods, the typical vibrational motion is small compared to the orbit-attitude one. Therefore, second order small quantities in equations (16) to (19) can be neglected for linearization, allowing the development of control functions exploiting linear control techniques.

A variable substitution method is exploited to linearize sloshing and flexible motions around their equilibrium conditions, as in [15]:

$$\begin{aligned} &\boldsymbol{\gamma}=\dot{\mathbf {p}}+\mathbb{M}_{P}^{-1}\,\mathbb{P}^{\mathrm{T}}\cdot \boldsymbol {\omega }, \end{aligned}$$
(20)
$$\begin{aligned} &\boldsymbol{\varphi}=\dot{\mathbf {s}}+\mathbb{M}_{S}^{-1}\,\mathbb{S}^{\mathrm{T}}\cdot \boldsymbol {\omega }. \end{aligned}$$
(21)

Thus, the linearized version of the attitude-flexible equations motion in equations (16) to (19) is expressed as:

$$\begin{aligned} \centering \begin{aligned} \dot{\boldsymbol {\omega }} &= \mathbb{I}_{B_{l}}^{-1} \bigg\{ \mathbf {T}_{\mathrm{env}}-\mathbf {T}_{W} \\ & - \boldsymbol {\omega }\times\big[\mathbb{I}_{B_{l}}\cdot \boldsymbol {\omega }+ \mathbb{I}_{W}\cdot\left(\boldsymbol {\omega }+\boldsymbol {\omega }_{W}\right) + \mathbb{P}\cdot\boldsymbol{\gamma} +\mathbb{S}\cdot\boldsymbol{\varphi} \big] \\ & + \mathbb{P}\,\mathbb{M}_{P}^{-1}\big[\mathbf {K}_{P}\cdot \mathbf {p} + \mathbf {C}_{P}\cdot\boldsymbol{\gamma} - \mathbf {C}_{P}\mathbb{M}_{P}^{-1}\,\mathbb{P}^{\mathrm{T}}\cdot \boldsymbol {\omega }\big] \\ & + \mathbb{S}\,\mathbb{M}_{S}^{-1}\big[\mathbf {K}_{S}\cdot \mathbf {s} + \mathbf {C}_{S}\cdot\boldsymbol{\varphi} - \mathbf {C}_{S}\mathbb{M}_{S}^{-1}\,\mathbb{S}^{\mathrm{T}}\cdot \boldsymbol {\omega }\big] \bigg\} , \end{aligned} \end{aligned}$$
(22)
$$\begin{aligned} \dot{\mathbf {p}} &= \boldsymbol{\gamma}-\mathbb{M}_{P}^{-1}\,\mathbb{P}^{\mathrm{T}}\cdot \boldsymbol {\omega }, \end{aligned}$$
(23)
$$\begin{aligned} \dot{\boldsymbol{\gamma}} &=-\mathbb{M}_{P}^{-1}\big[\mathbf {K}_{P}\cdot \mathbf {p} + \mathbf {C}_{P}\cdot\boldsymbol{\gamma} - \mathbf {C}_{P}\mathbb{M}_{P}^{-1}\,\mathbb{P}^{\mathrm{T}}\cdot \boldsymbol {\omega }\big], \end{aligned}$$
(24)
$$\begin{aligned} \dot{\mathbf {s}} &= \boldsymbol{\varphi}-\mathbb{M}_{S}^{-1}\,\mathbb{S}^{\mathrm{T}}\cdot \boldsymbol {\omega }, \end{aligned}$$
(25)
$$\begin{aligned} \dot{\boldsymbol{\varphi}} &= -\mathbb{M}_{S}^{-1}\big[\mathbf {K}_{S}\cdot \mathbf {s} + \mathbf {C}_{S}\cdot\boldsymbol{\varphi} - \mathbf {C}_{S}\mathbb{M}_{S}^{-1}\,\mathbb{S}^{\mathrm{T}}\cdot \boldsymbol {\omega }\big], \end{aligned}$$
(26)

with

$$ \mathbb{I}_{B_{l}} =\mathbb{I}_{B_{f}} - \mathbb{P}\cdot\mathbb{M}_{P}^{-1}\cdot\mathbb{P}^{\mathrm{T}} - \mathbb{S}\cdot\mathbb{M}_{S}^{-1}\cdot\mathbb{S}^{\mathrm{T}}. $$
(27)

The analysis of the linear model in equations 22 to (26) has been carried out comparing its result with respect to the full nonlinear model in equations (16) to (19). The linear model loses some of the cross-coupling between slosh and flexible appendages. Moreover, it tends to smooth the flexible-sloshing behavior, but it is very reliable in the attitude output. The validation results are presented in Sect. 3.2.

3.2 Comparison and validation of flexible elements models

The available flexible models require to be compared and validated for applicative purposes. In fact, DPM is surely the most accurate way to represent the vibrational dynamics, but it requires longer computational time to be simulated. Moreover, the modeled effects may be overabundant for the purposes of these applications where, for example, the first natural modes are often sufficient to estimate the influence of the flexible-attitude coupling. Notwithstanding, LPM and LMM shall be accurately implemented and validated to acquire a confidence level sufficient for the considered applications. In particular, we shall verify the correct representation of the main dynamical features.

The DPM is selected as a reference model to represent the dynamics of flexible structures undergoing large overall displacements. Hence, it is the first model to be validated according to the available literature results of Yoo [7]. The result reported in Fig. 2 shows an example three-dimensional spin-up motion of a \(10~\mbox{m}\) cantilever beam in free-space without any external force or torque. The beam is attached to a rigid base, with an angle of \(45^{\circ}\) with respect to the spinning axis of the support, which undergoes a prescribed spin-up motion characterized by the parameters stated in the caption of Fig. 2. Many simulation, in different application scenarios, have been run and the available results are equivalent to those in the literature.

Fig. 2
figure 2

Lumped and Distributed Parameters Model Validation (cantilever beam with \(l_{b}=10~\mbox{m}\), \(m_{b}=12~\mbox{kg}\), and elastic modulus \(E_{b}=71~\mbox{GPa}\); spin-up motion: steady state angular speed \(\varOmega_{s}=3~\mbox{rad/s}\) and time constant \(T_{s}=15~\mbox{s}\), as defined by Yoo [7])

The developed LPM is compared with respect to the DPM, and the behavior of the simplified dynamics is reported as well in Fig. 2. The time required to run the simulation in Fig. 2 is \(t_{\mathrm{DPM}}\simeq 8~\mbox{s}\) for DPM and \(t_{\mathrm{LPM}}\simeq 3~\mbox{s}\) for LPM, on a \(2.5~\mbox{GHz}\) quad-core processor. The LPM dynamical evolutions are always analogous to those available with the more complex DPM, particularly for what concern the lowest vibrational modes, which have more impact on the attitude dynamics and the associated control capabilities. Thus, all the analyses presented in this paper are conducted exploiting the lumped models. It is remarked again that the LPM is used to simulate the flexible appendages (e.g., solar panels, long beams), while the LMM is applied for the sloshing models. Note that there is no relevant computational cost advantage of the LMM over LPM.

The developed dynamical model described in Sect. 3 is validated comparing its results with those obtained using an industrially validated simulator, implemented by the Spanish company Deimos Space S.L.U., and referred in the paper as Functional Engineering Simulator (FES). This simulator performs 6 DOF propagation of equations of motion. It includes, similarly to the coupled dynamics described in this research work, a model for liquid sloshing and for two flexible solar panels [33].

The results in Fig. 3 show that the developed dynamics model produces valid results: the developed flexible-attitude dynamics is capable to correctly simulate all the relevant dynamical effects.

Fig. 3
figure 3

Flexible-attitude model compared to Deimos Space S.L.U. FES simulator

The validation of the flexible-attitude linear model, presented in Sect. 3.1, is carried out comparing its result with respect to the developed full nonlinear model, described in Sect. 3. The validation results are presented in Fig. 4 and they confirm what already anticipated in Sect. 3.1: the linear model loses some of the cross-coupling between slosh and flexible appendages, and it tends to smooth the flexible-sloshing dynamics. Nevertheless, it is very reliable in the attitude output, as evident in Fig. 4a. Thus, it is a valuable tool to support the design of control functions for attitude control of large and flexible spacecraft with internal liquid sloshing, as discussed in Sect. 4.

Fig. 4
figure 4

Flexible-attitude linear model compared to full non-linear

4 Flexible attitude control design

This section discusses and presents the design of attitude guidance and control algorithms able to deal with the flexible-attitude dynamics described in Sect. 3. ACS design and development are carried out for different attitude profiles, assuming the spacecraft is able to follow a generic three-dimensional reference attitude (i.e., tracking mode). An analysis of the intrinsic properties (e.g., stability margins) is presented, together with the extrinsic verification of the developed control functions.

The flexible-attitude control functions are designed, developed, and validated in an example application scenario in Earth vicinity: a low Earth slightly eccentric Sun-synchronous orbit, with semimajor axis of \(6815~\mbox{km}\) and eccentricity of 0.002. The orbital parameters of the case study orbit are listed in Table 3. It is noted that the selection of a specific orbit is motivated by the desire to have an example simulation environment, and it does not diminish the generality of the developed methods.

Table 3 Case study orbital scenario parameters

The determination problem is not considered in the present discussion. The complete attitude state is assumed to be known and the determination performance model includes:

  1. Sun vector determination, including bias of \({\pm}1.5\) degree and noise errors of 0.5 degree – rms;

  2. Angular velocity measurements, including bias of \({\pm}10\) degree/h, with 1 degree/h instability, noise of 0.05 (degree/s) – rms, as well as random walk errors of 0.15 degree/\(\sqrt{h}\);

  3. Attitude determination, including bias of \({\pm}0.5\) degree, and noise equivalent angle errors of 1 degree – rms.

The guidance is based on a classical tracking regulator implementation: the attitude trajectory follows a reference quaternion, \(\mathbf {q}_{\mathrm{ref}}\), defining an error quaternion in time, \(\delta \mathbf {q}(t) = \mathbf {q}(t) \cdot \mathbf {q}_{\mathrm{ref}}(t)^{-1}\), with respect to the estimated attitude state. In this paper, three-dimensional generic attitude references are considered in order to avoid any loss of generality of the presented methods. The shortest path to the reference is always commanded, since the error quaternion vector part is multiplied by the modified sign of the scalar quaternion part (i.e., never equal to zero, but positive for values \(\geq 0\) and negative for values \(< 0\)). Thus, the proportional control input is

$$ \boldsymbol{\varepsilon}_{P}=\text{sign}(\delta q_{s})\cdot\delta \mathbf {q}_{v_{1:3}}. $$
(28)

The error angular velocity is obtained computing a reference angular velocity from the reference quaternion definition, \(\boldsymbol {\omega }_{\mathrm{ref}}=\boldsymbol {\omega }(t,\mathbf {q}_{\mathrm{ref}},\dot{\mathbf {q}}_{\mathrm{ref}})\) in a way that guidance inconsistencies are avoided. The derivative control input is simply

$$ \boldsymbol{\varepsilon}_{D}=\boldsymbol {\omega }-\boldsymbol {\omega }_{\mathrm{ref}}. $$
(29)

Noise is rejected from the determination performance model output with a proper low-pass filtering action [34].

The design of the flexible-attitude guidance and control subsystem is intended to compensate for torques due to external and internal forces, assuming uncertainties of the critical spacecraft properties and parameters. Classical PD control methods, with notch filters and wave-based attitude control algorithms, are integrated to have a fundamental development of the described ACS. In this way, the wave-based control is capable of suppressing undesired vibrations, while guaranteeing, thanks to the PD action, reliable three-dimensional attitude control capabilities. The control system can be executed in real-time on a simple on-board microcontroller unit, with the execution time being lower than \({300}~\mbox{ms}\), as will be discussed in Sect. 5. The proposed design avoids flexibility excitation, managing the flexible-attitude coupling, while it guarantees the stability of the control. The linear dynamics and kinematics are used to verify that \(6~\mbox{dB}\) (i.e., gain) and \(30~\mbox{degree}\) (i.e., phase) stability margins are respected.

All the design steps discussed in this section have been performed exploiting a Matlab/Simulink© implementation of the developed dynamical models and control functions. The numerical integration is performed with a fifth-order Dormand–Prince method with fixed time step of \(0.1~\mbox{s}\). The execution time on a \(2.5~\mbox{GHz}\) quad-core processor is in the range \(10\mbox{--}60~\mbox{s}\) for a simulation time of \(1000~\mbox{s}\), depending on the attitude profile.

4.1 Proportional-derivative control

Classical proportional-derivative control is implemented as a consistent control block feedback to the flexible-attitude system dynamics. The development and design are carried out with the linear dynamics in Sect. 3.1 and Linear Time Invariant (LTI) plant dynamics, applied to the control analysis of the Single-Input and Single-Output (SISO)/Multiple-Input and Multiple-Output (MIMO) systems. The LTI plant that is obtained linearizing the system around a certain attitude equilibrium set point, defined by an equilibrium angular rate, \(\boldsymbol {\omega }_{\mathrm{eq}}\), as

$$ \boldsymbol {\omega }=\boldsymbol {\omega }_{\mathrm{eq}}+\hat{\boldsymbol {\omega }}, $$
(30)

where \(\hat{\boldsymbol {\omega }}\) are small rate perturbations around the equilibrium point. The full linearization provides a linear time-invariant system in state space formulation (e.g., \(A\), \(B\), \(C\), \(D\) matrices). We should remind that this system is representative for the dynamics just around a single attitude equilibrium condition, with angular rates small enough to stay within the kinematics linearization limits. Nevertheless, the output of the LTI plant is always validated by comparison with the results available from nonlinear dynamics, simulated at the linearization point.

Control actions are simply obtained with a PD logic from proportional and derivative inputs with respect to the error quaternion and angular velocity:

$$ \mathbf {T}_{W_{PD}}=-\mathbf {k}_{P} \boldsymbol{\varepsilon}_{P}-\mathbf {k}_{D} \boldsymbol{\varepsilon}_{D}, $$
(31)

where \(\mathbf {k}_{P}=[k_{P_{1}},k_{P_{2}},k_{P_{3}}]^{\mathrm{T}}\) and \(\mathbf {k}_{D}=[k_{D_{1}},k_{D_{2}},k_{D_{3}}]^{\mathrm{T}}\) are respectively the proportional and derivative control gains. The integral action (i.e., I) is not inserted in the classical PD method, to avoid stability issues (e.g., additional poles in the controller) and numerical problems (e.g., integrator saturation). The flexibility management is performed by filtering the whole control action with a band-stop notch filter, which rejects a band around the main sloshing frequency and the first natural frequency of the flexible appendages. Higher natural flexible modes are assumed to be out of the controller bandwidth and, thus, are not considered in the control functions implementation. The half-width of the rejection band in the band-stop filter is selected to be \(15\%\) of the central stop frequency.

The initial values for the gains are obtained with the Ziegler–Nichols tuning method [35], which assumes the system to behave as a second order closed-loop model, with its natural frequency \(\omega_{\mathrm{2nd}}\) and its damping factor \(\xi_{\mathrm{2nd}}\). They are applied in this high-order flexible-attitude system, because direct tuning methods are missing. The natural frequency is selected to be equal to twenty times the orbital frequency (i.e., \(\omega_{\mathrm{2nd}}= 20\,\omega_{\mathrm{LEO}}\)) and the damping coefficient is obtained to satisfy the requirement on settling time, \(t_{s}\le200~\mbox{s}\). In fact, for a second order system, the settling time is approximately equal to

$$ t_{s}\approx\frac{4}{\omega_{\mathrm{2nd}}\xi_{\mathrm{2nd}}}. $$
(32)

Hence, the first initial guesses for the PD control gains are:

$$\begin{aligned} k_{P_{i}} =&I_{i}\omega_{\mathrm{2nd}}^{2}, \end{aligned}$$
(33)
$$\begin{aligned} k_{D_{i}} =&I_{i}\omega_{\mathrm{2nd}}\xi_{\mathrm{2nd}}, \end{aligned}$$
(34)

where \(I_{i}\) is the moment of inertia for the \(i\)th principal axis. In Fig. 5, the pole–zero map of the closed-loop system is reported and, given the presence of two dominant poles, the assumption to design the control functions with a second order system method is confirmed to be valid.

Fig. 5
figure 5

Pole–zero map of the closed-loop system (poles, ×; zeros, ∘)

Obviously, there are some differences with respect to a true second order linear system. Thus, the control tuning is verified also considering the output of the linear analysis to achieve stability margins and settling time according to the system requirements. The step response and the bode plot of the closed loop system are reported in Figs. 6 and 7: performance requirements are achieved on the three axes. In fact, the settling time is evident in Fig. 6, with a closed loop step response with \(t_{s}\) lower than \(200~\mbox{s}\), in particular, \(t_{s}\simeq 175~\mbox{s}\). The stability margins are computed from the open-loop system, which is stable on the 3-axes with a phase margin of \(\sim {61.5}^{\circ }\), \(\sim {61.5}^{\circ }\), and \(\sim {64.7}^{\circ }\), respectively, on \(\hat {b}_{1}\), \(\hat {b}_{2}\), and \(\hat {b}_{3}\). The gain margin is infinite since the phase never crosses the \(-180^{\circ}\) axis. In Fig. 7, the effect of the filter to avoid flexibility coupling is evident; looking at the deep attenuation in magnitude, around the main flexible frequencies (i.e., \(\sim 0.63~\mbox{rad/s}\)), due to the dedicated ACS implementation. Note that \(\hat {b}_{1}\)-axis plant is never visible in the plots because it is identical to the \(\hat {b}_{2}\)-axis one. Therefore, \(\hat {b}_{1}\) plots are perfectly below \(\hat {b}_{2}\) plots.

Fig. 6
figure 6

Step response of the closed-loop system

Fig. 7
figure 7

Bode plot of the open-loop system

The MIMO analysis, reported in Fig. 8, shows that the control system is stable also around a steady condition with coupling between the axis due to three-dimensional attitude motion. The cross-talk between the different axes is very limited and, consequently, there is a correct attenuation in all the nondiagonal bode plots.

Fig. 8
figure 8

Bode plot of the MIMO closed-loop system

At the end, the control function design is refined on the full nonlinear dynamics. In particular, the PD gains are proportionally increased to reduce the steady state error, while maintaining stability and settling time requirements enforced. As a consequence, the proportional gain is selected according to the limit of the stability requirement (e.g., phase margin \(\sim {30}^{\circ }\)), which results in \(k_{P}\simeq 1~\mbox{kg}\, \mbox{m}^{2}\, \mbox{s}^{-2}\). The derivative gain is scaled accordingly, resulting in \(k_{D}\simeq 10^{1}~\mbox{kg}\, \mbox{m}^{2}\, \mbox{s}^{-1}\). Table 4 reports the gain values for the example control design discussed in this paper.

Table 4 Proportional-derivative control gains

In this work, the PD control is dedicated to track the reference attitude, rejecting perturbations and control system errors. The assessment of this capability can be verified analyzing the external disturbance sensitivity function. With reference to Fig. 9, the high frequency external loads are correctly attenuated and the constant external loads produce a steady state error, due to the lack of integral control action, which is below \(20~\mbox{dB}\). Therefore, the proposed design has been implemented to track a generic three-dimensional attitude profile in a relevant orbital environment with realistic hardware. The presence of notch filters allows avoiding dangerous vibration excitations due to control torque, but an active vibration suppression action is missing without the wave-based attitude control part.

Fig. 9
figure 9

Bode plot of the external disturbance sensitivity function

4.2 Wave-based control

Wave-based control is a control technique introduced at the end of the last century, by O’Connor [26]. The flexibility and the fluid sloshing of the system are modeled also in this case with a linear second order system, which is used as a sort of model prediction to support the control functions. It shall be noted that a detailed model of the flexible dynamics within the system is not needed. The control action is then divided in two components: one traveling from the actuator into the system, and the other going from the system through the actuator. Practically, the actuator simultaneously launches mechanical waves into a system while it absorbs returning waves. The control system is therefore able to absorb the vibrations by means of destructive interference. The returning wave detection at actuator interface can be considered as a real-time flexible system identification. In the literature, the method has been applied to 1-DOF systems with interesting results. Recently, the control technique has been extended to spacecraft in planar motion (e.g., 2 translational + 1 rotational DOF) [27]. The possibility to control 6 DOF spacecraft or, namely, 3-DOF coupled flexible-attitude, has not been tested yet, and it is discussed in this section. In particular, the integration of wave-based with PD control allows achieving an MIMO control with dedicated vibration suppression action, as discussed in Sect. 4.3.

The peculiarity of wave-based control is the combination of position control and active vibration damping. As a matter of fact, the 1-DOF wave-based control implementation begins from the development of the wave model to represent the vibrations of the system. Ideal second order linear models are used (i.e., spring–mass–damper systems), through the associated approximating wave models:

$$ G_{0}=\frac{\omega_{G}^{2}}{s^{2}+\omega_{G} s+\omega_{G}^{2}}\quad\text{ with }\quad \omega_{G}=\sqrt{\frac{2k_{0}}{m_{1}}}, $$
(35)
$$ H_{0}=\frac{\omega_{H}^{2}}{s^{2}+\omega_{H} s+\omega_{H}^{2}}\quad\text{ with }\quad \omega_{H}=\sqrt{\frac{2k_{0}}{m_{0}}}, $$
(36)

where \(G_{0}\) is the transfer function associated with the control output wave (i.e., the control wave), and \(H_{0}\) is the transfer function associated with the returning wave (i.e., the approximated response of the systems). The associated angular frequencies (i.e., \(\omega_{G}\) and \(\omega_{H}\)) should be tuned to have the desired behavior of the controlled system. Therefore, the tuning parameters are the associated physical parameters \(k_{0}\), \(m_{0}\), and \(m_{1}\). They are indicated in the conceptual representation of the wave-based control method, reported in Fig. 10, which shows the actuation mass, \(m_{0}\), and spring, \(k_{0}\), attached to the mechanical system to be controlled. Thus, the control action is generated by a hypothetical oscillating mass, \(m_{0}\), which tries to create destructive interference on the returning wave, \(H_{0}\), by means of a control wave, \(G_{0}\). A reference actuation state, \(A_{0}\), is computed in order to suppress vibrations, while commanding a certain position of the system, \(A_{1}\). Hence, the control is actuated by the displacement of the fictitious mass, \(m_{0}\).

Fig. 10
figure 10

Wave-based control concept

In practice, the wave-based control launches a control wave equal to half of the reference 1-DOF state and to the 1-DOF returning wave. The measured values of the actual state and the commanded control are then used to evaluate the returning wave component at the actuator as

$$ B_{0_{i}}=H_{0}\left(\frac{q_{v_{i}} - P_{0} m_{C_{i}}}{1 - P_{0} Q_{0}}\right), $$
(37)

where \(q_{v_{i}}\) and \(m_{C_{i}}\) are respectively the measured 1-DOF attitude state and the commanded 1-DOF dimensionless control input; \(P_{0}\) and \(Q_{0}\) are transfer functions defined as:

$$ P_{0}=\frac{G_{0}}{1-G_{0}}, $$
(38)
$$ Q_{0}=H_{0}-1. $$
(39)

The control is then actuated to match the returning wave component in equation (37) and, thereby, absorb it with the following dimensionless control input:

$$ \mathbf {m}_{C}=0.5\,\mathbf {q}_{\mathrm{ref}_{v_{1:3}}} + \mathbf {B}_{0} - \mathbf {q}_{v_{1:3}}. $$
(40)

As a result, when the vibration suppression is finished, the system will have been displaced by the specified launch wave (i.e., \(0.5\, q_{\mathrm{ref}_{v_{i}}} + B_{0_{i}}\)), and it will be at the reference state (i.e., \(0.5\, q_{\mathrm{ref}_{v_{i}}} + B_{0_{i}} - q_{v_{i}} = 0\)).

The 3-DOF ACS is obtained by a combination of three 1-DOF wave-based controls (i.e., 3 SISO systems). In fact, the control torque is computed from the dimensionless control input exploiting the wave-based control gain, \(\mathbf {k}_{\mathrm{WB}}=[k_{\mathrm{WB}_{1}},k_{\mathrm{WB}_{2}},k_{\mathrm{WB}_{3}}]^{\mathrm{T}}\), as:

$$ \mathbf {T}_{W_{\mathrm{WB}}}=\mathbf {k}_{\mathrm{WB}}\cdot \mathbf {m}_{C}. $$
(41)

The development of a complete 3-DOF MIMO wave-based control leads to a more complicated coupled model-predictive control. However, this option is not considered in this research work because of the assumed application goals. In fact, the wave-based control has been chosen because of its simplicity and its robustness, without any prior knowledge of an exact modeling of the flexible system under control. The main difficulties in dealing with MIMO wave-based method are due to the fact that the attitude is fully coupled among the 3 axes, and to the fact that the attitude representation (i.e., quaternions) has a complex nonlinear formulation to compute the errors with respect to a reference 3-DOF attitude state (i.e., nonlinear formulation for the control wave). The fully coupled dynamics and the inherent nonlinearities in the 3-DOF attitude control problems produce returning waves that enter 3 separate actuators. However, each control component can be absorbed only by the actuator that launched it into the system. In practice, it is not possible to distinguish proper returning waves to be absorbed and spurious returning waves coming from the coupling between different axes. The result is a nonworking control that converges to the wrong target position, with weak stability properties. A 3-DOF MIMO controller with wave-based vibration suppression can be efficiently achieved by superimposing on each control axis an SISO wave-based control, under the global action of an overall MIMO attitude controller (e.g., PD control), as proposed in Sect. 4.3.

The wave-based control functions are designed with a preliminary tuning process on the linear system, followed by fine-tuning to achieve the desired performances on the full nonlinear dynamics. The initial values for the control parameters are obtained from the real system characteristics, translated into the conceptual wave-based model. It is here reminded that the 3 SISO controllers and the lack of a nonlinear wave model to handle 3-DOF attitude reference state make the implemented control algorithms work well just in the proximity of the reference target attitude (i.e., small error angles and small angular velocities). Again, this limitation is imposed by the difficulties to manage cross-coupling across the 3 body axes. Anyhow, the results are deemed relevant to be discussed since it is anyway possible to understand the capabilities of this control technique in damping out the sloshing and the internal vibrations connected with the spacecraft coupled dynamics during steady state pointing.

The developed wave-based control has the transfer function associated with the control wave working in proximity to the main flexible frequencies, \(\omega_{G} \sim 0.1~\mbox{Hz}\). The returning wave is tuned to have enough control bandwidth; therefore, the returning wave is tuned to have a frequency that is almost double to the control wave: \(\omega_{H} \sim 2 \omega_{G}\). Then, the returning wave frequency is lowered to \(\omega_{H} = 1.75 \omega_{G}\) to reduce the control oscillation before convergence. This is done to have similar stability properties and analogous behavior to the controller described in Sect. 4.1. The wave frequencies are obtained setting the equivalent control parameter \(k_{0} \sim 1~\mbox{kg}\, \mbox{s}^{-2}\), and computing the equivalent wave masses, \(m_{0}\) and \(m_{1}\), accordingly. The wave-based control gains are fine-tuned to avoid excessive overshooting and, for the example control design discussed in this paper, their numerical values are reported in Table 5.

Table 5 Wave-based control gains

The operations to be performed running the wave-based control are simple and efficient. Two linear second order models are computed within the control systems, allowing a real-time execution. Profiling on an Atmel AVR32 microcontroller results in an execution time, from attitude reference error to control torque computation, of \({50\pm10}~\mbox{ms}\). Thus, a control frequency of \(10~\mbox{Hz}\) is perfectly feasible on extremely basic on-board computer units.

Just to visualize and compare the behavior of the individual wave-based control, a steady state pointing simulation is reported in Fig. 11. It is initialized with steady state initial conditions (e.g., \(\left \lVert \boldsymbol {\omega }\right \rVert =0\)) and three-dimensional random error angles with respect to the target final state in the order of \({\sim}5~\mbox{degree}\). The final target quaternion is imposed to be the identity quaternion, with null vector part. Steady state conditions are reached in \({\sim}200~\mbox{s}\). The sloshing vibrations are actively damped and the pointing is achieved correctly. For comparison with PD control behavior, Fig. 12 shows the PD sloshing vibrations to be compared with those in Fig. 11c, being associated to an analogous three-dimensional attitude slew: wave-based control creates a controlled periodic oscillation which is suppressed by a destructive interference, while the PD control does not generate any periodic oscillation because of the notch filter, and the only sloshing evolution is directly related to the control acceleration damped by the PD action.

Fig. 11
figure 11

Steady state attitude pointing with wave-based control

Fig. 12
figure 12

Sloshing excitation with PD control

4.3 Integrated PD and wave-based control

The design of PD and wave-based control methods resulted in two separate control techniques with respective advantages and disadvantages. PD control, with inclusion of nonadaptive band-stop notch filters, is computationally efficient, extremely reliable, and avoids dangerous control resonances with the system vibrational modes. However, it has no dedicated vibration suppression capabilities and it is not robust to large system uncertainties, since the notch filters are tuned around the main estimated natural frequencies. Nonnominal conditions and/or system parameter variations during the operational lifetime cannot be easily managed. The wave-based control implementation, with 3 separate SISO controllers, has the capability to actively damp internal vibrations and to manage three-dimensional coupled attitude dynamics. The wave-based control discussed in this research work maintains the computational efficiency of the existing literature implementations while it is applied to control the complete spacecraft attitude motion. The wave-based method is also robust to system uncertainties, since it does not require an exact modeling of the flexible system under control. However, it is not an MIMO control and its performances are acceptable only in close proximity of the reference attitude states.

This section shows the integration of the two aforementioned methods in order to achieve a control method that is computationally efficient, maintaining the reliability and the MIMO capabilities of the PD laws, robustness and the active vibration damping performances of the wave-based methods. The resulting control is a hybrid solution that exploits the advantages of both existing control methods.

The proposed integrated control is intended to maintain the computational efficiency of the methods presented in this section. In particular, the idea is to have a control function capable of automatically switching between the two different control methods according to the particular attitude mode. Large and fast slews can be executed exploiting only the PD torques, since the vibrational dynamics is dominated by the rigid body dynamics and by the inertia forces. Steady state pointing can be managed exploiting only wave-based control, since the attitude errors are never too far from the imposed reference. Nevertheless, the relevant integrated control application is when the system is in continuous attitude tracking mode. In fact, if the attitude profile is a generic three-dimensional evolution in time, the vibration shall be damped while controlling a coupled 3-DOF system. In this case, the control action of the 3 SISO wave-based controllers is integrated with a superimposed fraction of PD control. The design analyses showed that a fraction within \(10\%\) and \(25\%\) of PD control action provides the best results, since a larger fraction results in a domination of the PD effects over the wave-based active vibration damping. The results presented in this section are related to an integrated ACS with wave-based control, summed with \(10\%\) of the PD control torque, as designed in Sect. 4.1.

The computational efficiency and the real-time implementation are preserved also for this integrated hybrid control scheme. The computational time due to PD control is negligible compared to attitude errors evaluation or wave-based computation. In fact, profiling on an Atmel AVR32 microcontroller results in the same execution time of the single wave based control discussed in Sect. 4.2, maintaining a value of \({50\pm10}~\mbox{ms}\). The single PD control implementation with notch filters is typically faster by \({\sim}15~\mbox{ms}\). In any case, an ACS frequency of \(10~\mbox{Hz}\) is feasible on small space platforms with limited on-board computer performances.

The first example simulation of the integrated control is shown in Fig. 13, where a large and fast three-dimensional slew of \({\sim}270~\mbox{degree}\), executed following the reference profile in \(100~\mbox{s}\), is followed by a steady state attitude pointing. The simulation is executed assuming all the aforementioned spacecraft and orbital parameters, requiring \({\sim}60~\mbox{s}\) to be run with the already introduced Matlab/Simulink© implementation. The initial quaternion is on the reference profile, but the angular velocity is null at \(t_{0}\). The control system is assumed to be discretized with a control frequency of \(1~\mbox{Hz}\). In this case, the attitude slew is executed with the filtered PD control only, which is followed at \(t=100~\mbox{s}\) by the wave-based control only. The two separate control methods show their advantages in the two distinct phases of the simulated operations: PD control allows for a good and fast tracking of the large attitude slew without exciting dangerous vibrational motion. The sharp ending of the maneuver determines a large sloshing oscillation that is quickly absorbed by the wave-based computed torques in \({\sim}200~\mbox{s}\). The constant pointing direction is correctly maintained by the wave-based technique, with a pointing error below \(5~\mbox{degree}\) from \(t={\sim}200~\mbox{s}\), and below \(1~\mbox{degree}\) from \(t={\sim}500~\mbox{s}\).

Fig. 13
figure 13

Attitude maneuver and steady state pointing with integrated control (reference attitude profile represented by the dashed lines in quaternion subfigure)

The second example is more relevant to show the really integrated PD and wave-based control in Fig. 14. In this applicative case, the 3 control waves along the orthogonal spacecraft axes are integrated with a \(10\%\) level of the PD control torque. The two techniques are never individually applied in this example. The simulated reference attitude is a generic three-dimensional motion, which is tracked by the ACS with an error below \(1~\mbox{degree}\) from \(t={\sim}250~\mbox{s}\). The attitude state at \(t_{0}\) is on the reference profile with angular velocity equal to zero. The maneuver is started with an oscillatory behavior around the reference profile, which is generated by the initial vibrational dynamics. The largest attitude error is anyway maintained below \({10}~\mbox{degree}\). The action of the wave-based control is evident from the initial time, where the sloshing dynamics has an initial excitation that is rapidly damped out in \({\sim}300~\mbox{s}\). Also in this case, the control frequency is \(1~\mbox{Hz}\) and the time to run the simulation is around \(60~\mbox{s}\). Analogous considerations on the vibration suppression performances of the integrated PD and wave-based ACS are available also analyzing the dynamics of solar panels, as reported in Fig. 15, which is referred to the same attitude profile and simulation reported in Fig. 14. The solar panels behavior is analogous to the sloshing dynamics, with similar characteristic times and trends. It shall be noted the difference between the two degrees of freedom of the solar panels, since the panel stiffness around \(\phi\) is larger than the one around \(\theta\). This is due do the simplified panel model that has to simulate the flat plate behavior of a typical solar array. The control performances of the proposed integrated control satisfies the requirements of many small platform missions with real-time on-board applications with limited computing resources.

Fig. 14
figure 14

Attitude tracking with integrated control. (Reference attitude profile represented by the dashed lines in quaternion subfigure)

Fig. 15
figure 15

Solar panels dynamics on attitude tracking with integrated control (reference attitude as in Fig. 14)

As a last remark, the same tracking attitude profile in Fig. 14 is simulated applying only a standard PD control, without notch filters. The PD design is the same discussed in this section, but no vibration suppression technique is included. Figure 16 reports the sloshing dynamics in this example condition. It is evident the continuous liquid oscillation that is not damped out, remaining in place for a long time because of the low damping coefficients. The resulting attitude evolution is not reported for conciseness but, even if the attitude profile is tracked, a periodic oscillation of \({\pm}1~\mbox{degree}\) around the reference remains in place due to the unabsorbed oscillations.

Fig. 16
figure 16

Sloshing dynamics on attitude tracking with standard PD control, without notch filters (reference attitude as in Fig. 14)

5 Numerical verification

The proposed attitude control methods have been discussed in Sect. 4, where their performances have been highlighted and commented with respect to the presented implementation. However, the purpose to integrate and study a PD control technique with wave-based methods is also justified by the achievable robustness of the overall ACS. In fact, the active vibration suppression is robust with respect to model uncertainties, since the wave-based control can be implemented without any prior knowledge of an exact modeling of the flexible system under control.

To verify the robustness of the implemented technique and, to generally validate the implemented ACS performances, this section presents Monte Carlo numerical simulations of the control laws designed in this research work. To guarantee the general validity of the verification method, the simulations are executed with a third-party industrially validated simulation environment: the FES simulator, implemented by the Spanish company Deimos Space S.L.U, already introduced in Sect. 3.2.

Monte Carlo numerical simulations are executed over generic three-dimensional nonplanar dynamics, with dispersion on the system uncertainties. The Monte Carlo dispersions are defined with respect to all the system parameters, from sensor noise specifications, to actuation errors, passing through the physical characteristics of the spacecraft, of the flexible appendages and of the liquid sloshing. Table 6 reports the dispersion assumed in this research work of the most relevant system parameters. It is noted that any numerical value used in the simulations, from the orbital environment to the determination errors modeling, has been dispersed to run the Monte Carlo campaign.

Table 6 Dispersion of the most relevant parameters in Monte Carlo simulations

The controller is discretized for implementation with ACS real-time frequency \(f_{\mathrm{ACS}}=1~\mbox{Hz}\), which is feasible thanks to the typical execution times on the order of \({50\pm10}~\mbox{ms}\), as discussed in Sect. 4. The FES simulator is exploited thanks to its Matlab/Simulink© implementation. The numerical integration scheme a fifth-order Dormand–Prince method with fixed time step of \(0.1~\mbox{s}\). The execution time on a \(2.5~\mbox{GHz}\) quad-core processor is on the order of \(100~\mbox{s}\) for a simulation time of \({\sim}1000~\mbox{s}\).

The FES simulator contains a complete 6-DOF orbit-attitude dynamics, which is used to verify the assumption to neglect the coupling effects with the orbital motion. The resulting orbital perturbations due to system flexibility are typically one to two orders of magnitude smaller than the least relevant perturbative effect in the considered scenario, the SRP. Simulations without considering the flexible orbital perturbations produce the same practical results. Thus, the assumptions to focus the vibration suppression performances only on the attitude control system, and not on the orbital control system, is reasonable within the current research work.

The available results are typically decoupled from the orbital setting. In fact, there is no evident influence of the orbit on the ACS performances. This is evident from the following Monte Carlo results with \(25\%\) uniform dispersion on the nominal orbital parameters. Furthermore, the verification activities carried out with the FES simulator have been executed on different orbital scenarios: a low Earth Sun-synchronous orbit, an equatorial geo-synchronous orbit and a circular low Moon orbit. The first one is discussed in this paper, with detailed parameters in Table 3, while the other two are not reported, since the available results are analogous in terms of pointing and vibration suppression performances. Hence, it is relevant to remark that the proposed ACS is not influenced in its application by the orbital scenario.

The first attitude operation simulation is a Sun acquisition attitude maneuver to orient the solar panels followed by a steady state Sun pointing to charge the batteries. Therefore, the commanded maneuver is similar to that in Fig. 13. The integrated control function is the same discussed in that case: filtered PD control to command the attitude slew followed by the wave-based control only, when the Sun error angle is lower than \(5~\mbox{degrees}\). The initial attitude state has a Sun error angle of \({\sim}100~\mbox{degree}\) around a random axis, with dispersion indicated in Table 6. The Sun acquisition and pointing mode is simulated considering \(-\hat {b}_{3}\) as a target direction for the Sun versor in rigid body frame (RBF). The Sun is acquired and pointed within specifications. In fact, in Fig. 17, it is possible to see that the Sun is always correctly acquired along \(-\hat {b}_{3}\). There is no evidence of flexibility excitation, with pointing performances robust to system uncertainties and variability. The overall trend of the attitude evolution in the single Monte Carlo simulations is analogous to that shown in Fig. 13.

Fig. 17
figure 17

Monte Carlo analysis: Sun acquisition and pointing mode (50 runs)

The second verified attitude operations, reported in Fig. 18, are analogous to the simulations in Fig. 14. The three-dimensional reference attitude profile is the same as in Fig. 14a, and the only difference is that the attitude state is initialized under a generic condition, with reference error at \(t=0\) of \({\sim}160~\mbox{degrees}\) and dispersion as in Table 6. The ACS control function exploits the integrated wave-based control with \(10\%\) level of the PD action. Maximum steady state error in error angles is \({1}~\mbox{degree}\) (\(\hat {b}_{1}\) and \(\hat {b}_{2}\)) and \({0.5}~\mbox{degree}\) (\(\hat {b}_{3}\)). Steady state is achieved in \({\sim}500~\mbox{s}\) and the slower settling behavior, with respect to the original design analyses, is due to Monte Carlo dispersion and to the fact that the initial attitude is not on the reference profile. The lower pointing error in \(\hat {b}_{3}\) is due to the vibrational dynamics acting mainly in the \(\hat {b}_{1} -\hat {b}_{2}\) plane. The tracking errors are in the order of \({\sim}1~\mbox{degree}\) mainly because of the friction torques in the reaction wheels. However, the stability performances are here preferred with respect to high disturbance rejection. In fact, the increase in the required gains is limited by the stability properties, as discussed in Sect. 4.1. Additional Monte Carlo simulations, with a \(90\%\) reduction in the wheels disturbances, proved that in these cases maximum pointing errors are always on the order of \({\sim}0.1~\mbox{degree}\). The angular velocity oscillations that are visible in Fig. 18 during the initial reference acquisition phase are analogous to those in Fig. 14b, even if in this case they are superimposed to the angular velocity that is needed to acquire the desired reference. The wave-based control action actively damp out these oscillatory behavior while acquiring and tracking the imposed three-dimensional attitude profile.

Fig. 18
figure 18

Monte Carlo analysis: reference acquisition and tracking mode. (50 runs)

The verification of flexible-attitude guidance and control functions proved the satisfactory performances of the proposed attitude control design. As a matter of fact, the ACS is able to avoid flexibility excitation and to actively absorb the flexible-attitude coupling. Intrinsic properties analysis, such as stability margins, settling time or sensitivity to external disturbances, supported the development of the ACS algorithms, extracting all intrinsic properties of the control system. Extrinsic verification with numerical simulations, in both one shot and Monte Carlo runs, provides full insight in the operations of the implemented functions in the two example scenarios: steady state pointing acquisition and reference tracking mode.

6 Conclusion

In many space applications, even if it is reasonable to decouple the natural orbital dynamics from the flexible effects, the rotational dynamics is frequently affected by internal system vibrations. Moreover, whenever an ACS is considered and the study is focused on forced dynamics, the assumption to decouple flexible and rotational dynamics is even less valid. Under these conditions, the forcing frequencies or the control bandwidth can overlap the natural modes of the structures or of the internal fluids. Then, the control functions design shall consider the flexibility, avoiding possible vibration excitations.

As already said, the vibrational dynamics is mainly relevant on the attitude motion, since the flexible perturbations on the orbit motion are typically a few orders of magnitude lower than other perturbing forces. So, the implementation of the control algorithms is conducted taking into account the flexible-attitude coupling. The proposed real-time vibration suppression controller is able to suppress the dangerous effects of flexible appendages and internal liquid sloshing on the attitude dynamics of a generic small satellite with limited on-board computing resources. The developed attitude controller was implemented with two different control schemes: PD control, with band-stop notch filters, and wave-based control. The ACS exploiting filtered PD control proved its validity in not exciting the vibration resonances whilst the spacecraft is maneuvered to acquire the desired rotational state. The computational efficiency and simplicity of standard PD methods is maintained thanks to the usage of nonadaptive filters. Alternatively, to achieve a robust control system with active vibration suppression, the application of wave-based control was investigated. The implementation of wave-based control proposed in this research work allows to manage three-dimensional attitude dynamics in steady state pointing, without cross-coupling between the separate body axes, thanks to the superposition of 3 individual SISO systems acting on each axis of the spacecraft. Its vibration suppression capabilities are good, with a simple and computational efficient implementation, but it is not capable to manage 3-DOF MIMO dynamics because of the inherent cross-coupling affecting the three-dimensional attitude dynamics.

To overcome these difficulties, an integrated real-time control system was proposed. An hybrid wave-based and PD control, with band-stop notch filters, allows having a complete 3-DOF MIMO ACS, with vibration suppression capabilities, which is robust to system uncertainties and is computationally efficient. The presented implementation superimposes the vibration suppression features of the SISO wave-based controller to an overall MIMO proportional-derivative action. In this way, attitude maneuvers and reference tracking phases can be executed by a single controller characterized by the best features of the two fundamental control methods discussed in this paper.

The flexible-attitude control design was performed exploiting a multibody model of a generic spacecraft with flexible appendages and internal liquid sloshing. It resulted to provide accurate results with acceptable computation loads, in particular the linearized dynamical model is particularly efficient in representing the primary system dynamics features to support a linear control system design. The proposed method is very efficient to be extended to complex geometries and resulted to be in accordance with previous literature methods.