1 INTRODUCTION

In the work, the angular motion of a model of an attitude control system placed on an aerodynamic suspension is mathematically modelled. Spherical aerodynamic suspension is the most convenient and common way to experimentally represent the angular motion of a satellite [15]. The suspension is formed of two spheres nested in each other (Fig. 1). The outer sphere has a certain, usually small, number of openings for air outlet. Due to this, an air gap is created between the external and internal spheres, which practically eliminates friction.

Fig. 1.
figure 1

Spherical aerodynamic suspension, Specialty Components.

Laboratory testing of the mockup of a spacecraft’s attitude control system allows us to check the logic of the onboard computer and the implementation of algorithms for the mockup motion determination. Direct verification of the operation of angular motion control algorithms is usually impossible. The spacecraft moves relative to the center of mass under the influence of external and control torques. The mockup of the attitude control system has three degrees of freedom; however, only rotation around the local vertical turns out to be unlimited; a mockup can usually “tumble” to the side at an angle of about 30°. The main disturbing torque acting on the model—the torque of gravitational forces—is much larger than the one acting on the device in orbital flight. As a result, the actuators may in principle be unable to compensate the disturbing torque. Moreover, not every attitude motion regime can be implemented on an aerodynamic suspension due to the limitation of the angle of inclination.

The motion of the mockup considered in the work is uniaxial orientation, possibly with rotation around an orientable axis, implemented using the Sdot algorithm [6, 7]. Due to the rotation, the desired direction must be close to the local vertical. The main problem arises when implementing the control of magnetic coils. Unlike flywheels and thrusters, coils are unable to compensate the torque of gravity if the center of mass of the mockup is offset from the center of pressure. As a result, the problem arises of finding specific motion of the mockup that would allow checking the operation of the control algorithm and its implementation on the onboard computer. This mode of motion must be resistant to disturbances so that it can be implemented on laboratory equipment. An asymptotically stable precession and almost planar motion were found in the work, and the corresponding model motion was simulated, showing that such an implementation is possible.

2 EQUATIONS OF MOTION

Two reference frames are used:

—laboratory frame OX1X2X3, O is the center of rotation of the mockup, OX3 is directed vertically upwards;

—body frame Ox1x2x3, the axes are directed along the main axes of inertia of the mockup.

The orientation of the mockup is set by angles \(\varphi ,\psi \,\,{\text{and}}\,\,\theta \) (rotation sequence 3-1-3) and \(\alpha ,\beta ,\,\,{\text{and}}\,\,\gamma \) (rotation sequence 2-3-1) and angular velocity components. In a numerical simulation, a quaternion is used. The dynamic equations of the mockup motion in the body axes are presented as

$${\mathbf{J}}\frac{{d{\boldsymbol{\omega }}}}{{dt}} + {\boldsymbol{\omega }} \times {\mathbf{J}\boldsymbol{\omega } } = {{{\mathbf{M}}}_{{{\text{gr}}}}} + {{{\mathbf{M}}}_{{{\text{contr}}}}},$$
(1)

\({{{\mathbf{M}}}_{{{\text{gr}}}}}\) is the torque of gravitational forces and \({{{\mathbf{M}}}_{{{\text{contr}}}}}\) is the control magnetic torque. For satellite J is the inertia tensor calculated for the body frame located in the center of mass. The axes are usually directed along the principal inertia axes of the satellite. In the case of a mockup, two options are possible. We can place the reference frame associated with the mockup at its center of mass. In this case, the equations are the same and J is the inertia tensor in the principal axes. However, this approach makes it necessary to take into account additional perturbations acting in the center of rotation and the motion of the center of mass relative to the center of rotation. Therefore, a more natural approach is usually used: a description of the motion of the mockup relative to the center of rotation. This complicates the appearance of matrix J but simplifies the representation of disturbances acting on the satellite. Matrix J can be represented as

$${\mathbf{J}} = \left( {\begin{array}{*{20}{c}} {{{I}_{{11}}} + mr_{2}^{2} + mr_{3}^{2}}&{{{I}_{{12}}} - m{{r}_{1}}{{r}_{2}}}&{{{I}_{{13}}} - m{{r}_{1}}{{r}_{3}}} \\ {{{I}_{{12}}} - m{{r}_{1}}{{r}_{2}}}&{{{I}_{{22}}} + mr_{1}^{2} + mr_{3}^{2}}&{{{I}_{{23}}} - m{{r}_{2}}{{r}_{3}}} \\ {{{I}_{{13}}} - m{{r}_{1}}{{r}_{3}}}&{{{I}_{{23}}} - m{{r}_{2}}{{r}_{3}}}&{{{I}_{{33}}} + mr_{1}^{2} + mr_{2}^{2}} \end{array}} \right),$$
(2)

where \({{I}_{{ij}}}\) are the components of the inertia tensor for the center of mass of the mockup and \({\mathbf{r}}\) is the vector connecting the center of rotation and the center of mass. If we choose the axes of the body frame so that when transferred to the center of mass they coincide with the principal axes of inertia and the off-diagonal members of the central inertia tensor \({{I}_{{ij}}}\) will be zero.

Torque of gravitational force for model of mass m:

$${{{\mathbf{M}}}_{{{\text{gr}}}}} = - mg{\mathbf{r}} \times ({{a}_{{13}}},{{a}_{{23}}},{{a}_{{33}}}).$$

Dynamic equations are supplemented by kinematic relations:

$$\begin{gathered} \frac{{d\psi }}{{dt}} = \frac{1}{{\sin \theta }}\left( {{{\omega }_{{{\kern 1pt} 1}}}\sin \varphi + {{\omega }_{2}}\cos \varphi } \right), \\ \frac{{d\theta }}{{dt}} = {{\omega }_{{{\kern 1pt} 1}}}\cos \varphi - {{\omega }_{2}}\sin \varphi , \\ \frac{{d\varphi }}{{dt}} = {{\omega }_{3}} - \cot \theta \left( {{{\omega }_{{{\kern 1pt} 1}}}\sin \varphi + {{\omega }_{2}}\cos \varphi } \right). \\ \end{gathered} $$
(3)

and

$$\begin{gathered} \frac{{d\alpha }}{{dt}} = \frac{1}{{\cos \beta }}\left( {{{\Omega }_{2}}\cos \gamma - {{\Omega }_{3}}\sin \gamma } \right), \\ \frac{{d\beta }}{{dt}} = {{\Omega }_{2}}\sin \gamma + {{\Omega }_{3}}\cos \gamma , \\ \frac{{d\gamma }}{{dt}} = {{\Omega }_{1}} - \tan \beta \left( {{{\Omega }_{2}}\cos \gamma - {{\Omega }_{3}}\sin \gamma } \right). \\ \end{gathered} $$

When conducting numerical simulations, kinematic relations for the quaternion are used.

3 PLANE MOTION OF MOCKUP

The motion in the horizontal plane is of particular interest from the point of view of modeling the dynamics of the satellite on an aerodynamic suspension. Despite the fact that such a suspension has three degrees of freedom, a significant part of the experiments is reduced to the planar motion, since only around the vertical is there a possibility of a complete rotation of the mockup. The control torque is formed by the law

$${\mathbf{M}} = {\mathbf{m}} \times {\mathbf{B}} = k\cos \delta \left( {{\boldsymbol{\omega }} \times {\mathbf{S}}} \right) \times {\mathbf{B}}.$$
(4)

Here \(k\) is positive gain, \({\mathbf{S}}\) is a direction given in the laboratory system, and \(\delta \) is the angle between this direction and the magnetic induction vector. The algorithm ensures [7] the orientation of the vector of the angular momentum of the satellite along the direction \({\mathbf{S}}\), the orientation of the axis of the maximum moment of inertia along the angular momentum vector and, possibly, the rotation around this axis.

There is planar motion of the satellite under the control of algorithm (4) in the polar orbit. If in Eqs. (1) we omit the torque of gravitational forces (equations of the satellite’s motion relative to the center of mass), put \(\alpha = \gamma = 0\) and \({{\omega }_{{{\kern 1pt} 1}}} = {{\omega }_{2}} = 0\), and set the desired orientation direction \({\mathbf{S}}\) in the horizontal plane, then the motion in the polar orbit is described by the equation

$$\ddot {\beta } + \chi \dot {\beta }{{\left( {{\mathbf{B}} \cdot {\mathbf{S}}} \right)}^{2}} = 0,$$
(5)

where \(\chi = {{k{{B}_{0}}} \mathord{\left/ {\vphantom {{k{{B}_{0}}} C}} \right. \kern-0em} C}\). To obtain (5), we rewrite the control torque in the form

$${\mathbf{M}} = k\left( {{\mathbf{B}} \cdot {\mathbf{S}}} \right)\left( { - {\boldsymbol{\omega }}\left( {{\mathbf{B}} \cdot {\mathbf{S}}} \right) + {\mathbf{S}}\left( {{\mathbf{B}} \cdot {\boldsymbol{\omega }}} \right)} \right).$$
(6)

Then if \({\mathbf{S}}\) and \({\mathbf{B}}\) lie in the horizontal plane

$${\mathbf{M}} = - k{{\left( {{\mathbf{B}} \cdot {\mathbf{S}}} \right)}^{2}}{\boldsymbol{\omega }}.$$

Suppose that a simulator of a geomagnetic field creates in the laboratory frame a model field of a simplified direct dipole [8],

$${\mathbf{B}} = {{B}_{0}}\left( {\begin{array}{*{20}{c}} { - \sin \Theta \sin2{{\omega }_{0}}t} \\ {\sin\Theta \cos 2{{\omega }_{0}}t} \\ {\cos \Theta } \end{array}} \right),$$
(7)

where \({{\omega }_{0}}\) = 10−3 s−1 corresponds to an orbit height of about 350 km. Then from (5) for \(\Theta = {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-0em} 2}\) we get

$$\ddot {\beta } + \chi {{\cos }^{2}}2t\dot {\beta } = 0,$$

and from it

$$\dot {\beta }\left( t \right) = \dot {\beta }\left( 0 \right)\exp \left( { - \frac{1}{2}\chi \left( {t + \frac{1}{4}\sin t} \right)} \right).$$

It is impossible to find \(\beta \) in the final form. Let us consider a simpler case: a constant field directed along the second axis of the reference frame. Then Eq. (5) yields

$$\beta (t) = \beta (0) - {{\dot {\beta }(0)\left( {\exp ({{ - t} \mathord{\left/ {\vphantom {{ - t} \chi }} \right. \kern-0em} \chi }) - 1} \right)} \mathord{\left/ {\vphantom {{\dot {\beta }(0)\left( {\exp ({{ - t} \mathord{\left/ {\vphantom {{ - t} \chi }} \right. \kern-0em} \chi }) - 1} \right)} \chi }} \right. \kern-0em} \chi } \approx \beta (0) + {{\dot {\beta }(0)} \mathord{\left/ {\vphantom {{\dot {\beta }(0)} \chi }} \right. \kern-0em} \chi }.$$
(8)

This simple relationship can be used to estimate the position in which the mockup should be. In the case of an imbalance of the mockup, this result is approximate, since the torque of gravity appears in the equation. An example of the numerical simulation of motion near planar is shown in Figs. 2 and 3. In these figures \({{\gamma }_{{ii}}}\) are the angles between the corresponding axes of the laboratory and body reference frames.

Fig. 2.
figure 2

The motion of the axis of the maximum moment of inertia.

Fig. 3.
figure 3

The motion of the vertical axis.

The initial conditions are \(\alpha (0) = \gamma (0)\) = 10°, \(\beta (0)\) = 6°, \({{\omega }_{{{\kern 1pt} 1}}}(0) = {{\omega }_{2}}(0)\) = 0, \({{\omega }_{3}}(0)\) = 0.5°/s. The inertia tensor in the frame associated with the center of mass of the satellite, J = (1.3, 1.7, 1.5) kg m2, mockup mass 15 kg, position of the center of mass r = (0.1, 0, −3) mm, coefficient χ = 1 × 10−2 A s/kg (the control torque does not exceed 10−4 N m which with a simulator field of up to 140 000 nT corresponds to magnetic coils with a dipole moment of the order of 1 A m2), and the direction of the field in the laboratory frame (\(0,\,\,1,\,\,0\)). As a result of the Sdot algorithm, angular velocity damping occurs, the mockup tilts by an angle of about 2° (the equilibrium position in the gravitational field corresponds to a slope of 1.9°), and rotates by angle \(\beta \approx \) 42°. In this case, the equation of plane motion (8) gives 56°. From (6) it is seen that the imbalance of the mockup, leading to a deviation of the motion from the plane, causes the appearance of the positional part of the torque, the magnitude of which increases with the deviation. Thus, it should be expected that the model will tend to turn in the desired direction until the angular velocity is damped by the prevailing damping component in the control. The result obtained on the mockup should be close to the given ratio (8) but less than it.

Similar simulation results with a noticeably larger displacement of the center of mass \({\mathbf{r}} = (1,\,\,0,\,\, - {\kern 1pt} 3)\) mm are shown in Figs. 4 and 5 (the equilibrium position corresponds to a slope of about 18.4°).

Fig. 4.
figure 4

The motion of the axis of the maximum moment of inertia.

Fig. 5.
figure 5

The motion of the vertical axis.

Thus, in the planar experiment, a limited verification of the algorithm Sdot’s operability is possible. Damping of the angular velocity and rotation in the plane by an angle approximately given by relation (8) should be observed. Checking the spin (the angular momentum should be directed along the axis of the maximum moment of inertia) is impossible.

4 SPATIAL MOTION OF THE MOCKUP

A full check of the operation of the orientation algorithm on the mockup is possible if the required direction deviates little from the local vertical. Moreover, in the simulation example above, the torque of gravitational forces exceeds the control torque by an order of magnitude. The control system is unable to hold the mockup; in any case, it turns out to be tilted in the gravitational field. Instead of struggling with the torque of gravitational forces, we can use it to specify the mode of motion of the mockup. Orientation around the vertical is provided not only by the control but also by the dynamic characteristics of the mockup. The mockup makes a motion similar to a regular precession. The mockup cannot rotate only around the third axis, since in this case the center of mass will begin to rise. The first and third components of the velocity are such that the velocity vector is directed vertically and the center of mass rotates in the horizontal plane. In (6), this gives a zero torque, since the following relation holds:

$${{{\mathbf{A}}}^{T}}{\boldsymbol{\omega }} = {\mathbf{S}}{{\left( {{\mathbf{B}} \cdot {\boldsymbol{\omega }}} \right)} \mathord{\left/ {\vphantom {{\left( {{\mathbf{B}} \cdot {\boldsymbol{\omega }}} \right)} {\left( {{\mathbf{B}} \cdot {\mathbf{S}}} \right)}}} \right. \kern-0em} {\left( {{\mathbf{B}} \cdot {\mathbf{S}}} \right)}}.$$
(9)

If the algorithm Sdot is replaced by asymptotic damping, the mockup stops completely. If the required direction \({\mathbf{S}}\) does not coincide with the vertical, the moment is nonzero, and the angular velocity is damped to zero. The mockup falls to one side and stops, which is confirmed by the simulation. A similar situation is observed if we consider a dynamically symmetric body, which can greatly simplify the study of this case (the third moment of inertia is greatest). It is important to note that the mockup does not fall exactly into the equilibrium position. It is slightly different, which allows the gravitational torque to compensate the gyroscopic torque. In other words, the regular precession defined by the relations

$${{\omega }_{3}} = {{\omega }_{{30}}} = \operatorname{const} ,\,\,\,\,{{\omega }_{1}} = \operatorname{const} ,\,\,\,\,{{\omega }_{2}} = 0,\,\,\,\,\theta = {{\theta }_{0}} = {\text{const}}{\text{,}}$$
(10)

based on kinematics requires

$$\cos \varphi = 0,\,\,\,\,{{\omega }_{{{\kern 1pt} 1}}} = {{\omega }_{3}}\tan \theta ,\,\,\,\,\psi = {{{{\omega }_{{{\kern 1pt} 1}}}} \mathord{\left/ {\vphantom {{{{\omega }_{{{\kern 1pt} 1}}}} {\sin \theta }}} \right. \kern-0em} {\sin \theta }}u + {{\psi }_{0}}.$$
(11)

In this case, (9) is immediately satisfied. For the existence of the equilibrium position, it remains to satisfy the equality of the gravitational and gyroscopic torques, defined as

$$\delta = mg{{r}_{3}}(\sin \theta + \varepsilon \cos \theta ) + (C - A)\omega _{3}^{2}\tan \theta = 0,$$
(12)

where \(\varepsilon = - {{{{r}_{1}}} \mathord{\left/ {\vphantom {{{{r}_{1}}} {{{r}_{3}}}}} \right. \kern-0em} {{{r}_{3}}}}\) (\({{r}_{3}} < 0\), since the center of mass of the mockup is shifted down). Expression (12) associates the spin velocity around the axis of symmetry and the angle of nutation. Due to the presence of a displacement of the center of mass, it is impossible to realize any regular precession (in which two parameters are the nutation angle and rotation speed). Condition \(\cos \varphi = 0\) (and \({{d\varphi } \mathord{\left/ {\vphantom {{d\varphi } {du}}} \right. \kern-0em} {du}} = 0\) following from it) appears together in kinematics and in expression (9) but adds a relation to the precession parameters. The result is only a one-parameter family of precessions. Equations (12) can be somewhat simplified, taking into account that the equilibrium position is only slightly different from that set by the action of the gravitational field and that this displacement is small. In other words, we put

$$\tan {{\theta }_{0}} \approx {{\theta }_{0}} \approx \varepsilon ( - 1 + \mu ),$$

where \(\mu \) characterizes the deviation from the equilibrium position in the gravitational field without taking into account the action of the control torque, and linearization of a small angle is used. Then, expanding (12) to the third power of a small parameter \(\mu \) we get

$$\omega _{3}^{2} \approx \frac{{mg{{r}^{3}}}}{{C - A}}\left[ {\left( { - \frac{1}{3}\varepsilon + \frac{1}{{24}}{{\varepsilon }^{4}}} \right) + \mu \left( {1 + \frac{1}{6}{{\varepsilon }^{2}} + \frac{1}{{24}}{{\varepsilon }^{4}}} \right)} \right. + \left. {{{\mu }^{2}}\left( {1 + \frac{1}{6}{{\varepsilon }^{2}} + \frac{1}{{24}}{{\varepsilon }^{4}}} \right) + {{\mu }^{3}}\left( {1 + \frac{1}{{24}}{{\varepsilon }^{4}}} \right)} \right].$$

This relation explicitly sets \({{\omega }_{3}}\) as a function of the equilibrium position. We can drop members of the order \({{\varepsilon }^{4}}\) in it with a slight loss of accuracy.

The spin speed depends on the initial conditions and is close to the initial one. If we consider the motion in a constant vertical field, then there exists an integral of the equations of motion: the projection of the angular momentum vector onto the vertical. Moreover, the simulation results are not significantly different from the rotating field. The energy integral gives

$${{L}_{{3f}}} = A{{\omega }_{3}}\tan \theta \sin \theta + C{{\omega }_{3}}\cos \theta = {\mathbf{J}\boldsymbol{\omega} } \cdot {\mathbf{AS}}.$$
(13)

Relations (12) and (13) make it possible to obtain a specific precession, which the mockup faces. A study of linearized equations shows that this motion is asymptotically stable. Thus, using the algorithm Sdot allows us to get a fairly stable mode of motion, suitable for implementation on laboratory equipment.

As an example, we carry out the simulation, assuming that \(\Theta \) = 60° in (7), the displacement of the center of mass of the mockup r = (1, 0, −3) mm, and the inertia tensor J = (1.3, 1.7, 1.5) kg m2; and we take into account the action of random perturbations with a magnitude that is smaller only by a few factors than the magnitude of the control torque. The result is shown in Fig. 6.

Fig. 6.
figure 6

Modeling the mockup’s precession.

The use of expression (12) is difficult due to its sensitivity to the accuracy of determining the angle of nutation \(\theta \). Nevertheless, the use of the found precession in laboratory experiments is possible. Preparations for such experiments are currently underway at the University of Brasilia. The corresponding facility is shown in Fig. 7.

Fig. 7.
figure 7

Facility at the University of Brasilia.

The mockup of the orientation system is equipped with magnetic coils (Fig. 8), an onboard computer, a radio module, and orientation sensors (however, to determine the orientation, a more accurate system of independent measurements is usually used based on the analysis of the video images of tags of a special shape). It is possible to install standard satellites on the CubeSat platform. Helmholtz cage is used to create the required magnetic field of up to 140 000 nT.

Fig. 8.
figure 8

Magnetic coils.

5 CONCLUSIONS

In the study, the simulation of the motion of a spacecraft mockup on a spherical aerodynamic suspension is carried out. The mockup should be in uniaxial stabilization provided by magnetic coils. A mode of motion close to planar was selected, leading to the stabilization of the satellite and allowing qualitatively checking the operation of the control system. A stable precession is found that admits an analogy with the orbital motion of the satellite and allows us to fully verify the operation of the control algorithm.