1 Introduction

The Dynamical Attitude Model (hereafter abbreviated DAM) is a simulation package that was developed to achieve a detailed understanding of the attitude of Gaia spacecraft. The DAM was previously presented in Risquez et al. [43], and in this paper we focus on the description of the model and the various perturbations (both external and internal to the spacecraft) that affect the attitude.

1.1 Gaia

Gaia is an ESA mission dedicated to a large-scale survey of our Galaxy through astrometric, photometric and spectroscopic observations, due to be launched in 2013. Gaia aims at creating a final 1 billion-source catalogue, complete to V = 20 mag, that will contain, among many other quantities, stellar parallax measurements accurate to ≈ 7 μas for stars V < 10 mag [31, 34].

The Gaia payload consists of two telescopes (see Fig. 1 for a pictorial image), the viewing directions of which are separated by 106.5°. The light from both telescopes is projected onto a single shared focal plane covered with an array of 9×7 CCDs (really 62 CCDs, because one of them is a wave front sensor, see Fig. 7). The size of the field of view is 0.7°×0.7°, and the main instrument (ASTRO) works in a broad optical band centred in 673 nm and with Full Width at Half Maximum (FWHM) equals to 440 nm [26].

Fig. 1
figure 1

Artistic image of Gaia. Note the deployed sun-shield and one of the two rectangular telescope apertures. Gaia will spin around its symmetry axis and the Sun will be on the right and down direction. Credits: ESA/C.Carreau

The telescope operates in a continuously scanning motion (see Fig. 2), creating transits of images on the CCDs. The exact timings of those transits form the basic, one-dimensional, measurements for Gaia. To relate those transit times to actual angular measurements the satellite attitude needs to be reconstructed. The satellite attitude is determined in this simulation by the satellite shape and inertia tensor, the attitude control software and hardware (micro-propulsion thrusters for example) and the external and internal torques acting on the satellite.

Fig. 2
figure 2

The Gaia scanning law (courtesy of ESA/Karen O’Flaherty). The direction to the Sun is always at 45° from the spin axis (Solar Aspect Angle), and the Gaia telescopes scan the sky following great circles (red lines). Gaia will observe the entire sky thanks to the combination of its 6-h. spinning period, the precessing motion of its spin axis (63 days), and its 1-year orbit around the Sun (following the Earth orbital motion)

The scanning motion ensures that each part of the sky is seen in at least two different scan directions every six months. This produces over the 5-year mission an average of about 70 field-of-view transits per source, where these transits produce effectively a measurement of large angles between sources in the two viewing directions. Combining those data allows the determination of the five astrometric parameters (positions, proper motions, and parallax) for each source.

Combined with astrophysical information for each source, provided by on-board low resolution spectra, these data will have the accuracy necessary to study the early formation, and subsequent dynamical, chemical and star-formation evolution of the Milky Way. Additional scientific products include detection and orbital classification of tens of thousands of extra-solar planetary systems, and a comprehensive survey of objects ranging from huge numbers of minor bodies in our Solar System, through galaxies in the nearby universe, to distant quasars. Gaia will also provide a number of stringent new tests of general relativity and cosmology.

Table 1 provides a general description of some relevant engineering and scientific parameters in the Gaia mission.

Table 1 Main parameters of the Gaia mission, from Gaia Information Sheets and ESA webpage

1.2 Gaia components relevant to DAM

The Gaia spacecraft is built around a structure consisting in two modules [14]:

  • The PayLoad Module (PLM), featuring the scientific instruments.

  • The SerVice Module (SVM), implementing all functions and equipment to support the PLM in achieving its scientific mission.

Regarding the SVM (see Fig. 3), the most relevant elements for this paper are:

  • The thermal tent that keeps constant the PLM (and therefore scientific instruments) temperature.

  • The deployable sun-shield that keeps the solar radiation away from the PLM.

  • The solar array that supplies electricity to the spacecraft.

  • The Combined Propulsion System (CPS), used for large angular displacements and switched off during nominal operations.

  • The Micro Propulsion System (MPS), thrusters that deliver micro-Newton forces during nominal operations.

Fig. 3
figure 3

Diagram of the Gaia spacecraft. The service module comprises the spacecraft structure, harness and thermal control, with electrical service module equipment, chemical and micro-propulsion, and the payload module electronics. Credits: EADS Astrium/Gaia Image Gallery

There are three important components of hardware on-board Gaia related to the attitude control:

  • Sensors: SM-AF1 (see Section 2.1) and star trackers (see Section 2.2). There are two star trackers, but one of them is a backup. The star tracker provides measurements of the attitude and is part of the SVM. On the other hand, the SM-AF1 is an exceptional sensor because it measures the angular rate using data from the astrometric instrument, and it is located in the PLM instead of the SVM.

  • The Attitude and Orbit Control System (AOCS), see Section 3.

  • The Micro-Propulsion System (Section 4.4) that features cold gas micro-thrusters. These are novel devices and its effect on the attitude is not completely understood yet.

1.3 The dynamical attitude model

The purpose of the DAM is to generate a realistic simulation of the Gaia attitude which will serve as an input to the Gaia data simulations. The reconstruction of the satellite attitude is an important concern for the processing of the astrometric data, as it provides the reference system that transforms the measured transit times to positional measurements. A specific complication in the case of Gaia is that the attitude reconstruction is based on the same data that are used to derive the astrometric data. The direct attitude sensors on-board Gaia are sufficient for on-board attitude control, but are far too inaccurate for the scientific experiment.

There are some uncertainties and possible events in the satellite attitude that make it even more important to simulate the attitude in advance. Gaia uses a micro-propulsion system for attitude control and the noise due to the thrusters is not completely understood yet (μ-Newton thrusters are novel devices). In addition micro-meteoroid impacts must be properly implemented, and clanks may be expected, but the amplitudes and frequencies of the latter are still unknown.

The expected accuracy for the reconstruction of the along scan attitude is of the order of 20 μ as [32, 42]. This should in principle be sufficient to reach the best expected parallax error at the end of the mission (≈ 7 μas), as each star is observed several times: 9 times per field of view transit (because there are 9 consecutive CCDs in the focal plane), with ≈ 70 transits during the whole Gaia lifetime. In total there are ≈ 630 values to combine. However the astrometric noise has to be independent, as otherwise systematic errors will propagate into the final astrometrical solution. The main aim of the DAM is to provide a realistically simulated attitude to verify that the expected accuracy for the attitude reconstruction can indeed be reached.

The DAM implements physical effects acting on the satellite as well as a representation of the internal hardware components and algorithms used in the on-board control of the satellite attitude during nominal mode (mode of the spacecraft during the scientific observations). Up to now Gaia data simulations have implemented a much simplified Gaia attitude model [27, 30], using an ad-hoc noise model for the attitude. The DAM is intended to provide a much more realistic attitude simulation. To achieve this it includes perturbations affecting the spacecraft attitude and the attitude control system that will actually be implemented on the satellite. All major physical effects that are able to perturb the spacecraft attitude are taken into account. The resulting force act on the satellite’s position in space, while the imbalance of the forces causes torques, which affect the rotation rates of the satellite, and thus its orientation in space as a function of time. We focus our attention on the satellite attitude (rotation and orientation), and not on the position of the spacecraft in its orbit. The output of the DAM is the spacecraft attitude for every time step during the simulated operational period.

The Gaia mission, and this simulation in particular, inherits from the Hipparcos mission [45]. Tools developed for the DAM could also be useful for modelling the attitude of other missions. For example for Nano-Jasmine [28], which is very similar to Gaia: both are astrometric missions executing similar scanning laws.

1.4 Reference systems

There are three important reference systems related to the DAM. See Fig. 4 for a graphical explanation.

  • The Scanning Reference System (SRS) is rigidly connected to the body of the Gaia spacecraft (which in fact is assumed to be a rigid body). The origin of the system is Gaia’s centre of mass. The natural time coordinate is the proper time of the spacecraft [1].

  • The Mechanical Spacecraft Reference System (SCRS) is the mechanical equivalent to the SRS. Both the SRS and the SCRS are rigidly connected to the body of the Gaia spacecraft (see Fig. 4).

  • The International Celestial Reference System (ICRS), which origin is located at the barycentre of the solar system and it is fixed with respect to distant quasars [7]. The translation between SRS and ICRS is provided by the instantaneous quaternion, the output of the DAM.

Fig. 4
figure 4

This figure presents the Scanning Reference System (SRS) in black colour. The angle between the two viewing directions is known as the basic angle (γ = 106.5°, not drawn to scale). The black dots near the centre denote 90° angles (marked by the arcs). The big ellipse indicates the instantaneous scan great circle on the celestial sphere. The small rectangles indicate the telescopes fields of view on the sky and the small arrows show the orientation of the field angles. The direction to the sun is always at an angle of 45° from the positive Z axis. For comparison purposes, the Spacecraft Reference System (SCRS) axes have been added in bold red. Figure from [1]

Engineering information related to the satellite is provided in the Spacecraft Reference System (SCRS). Nonetheless, the DAM works in the Scanning Reference System (SRS). Equation (1) provides the rotation that translates one reference system into the other.

$$ \left( \begin{array}{r} x_\mathrm{SRS} \\ y_\mathrm{SRS} \\ z_\mathrm{SRS} \\ \end{array} \right) = \left( \begin{array}{rrr} 0 & 0 & +1 \\ 0 & +1 & 0 \\ -1 & 0 & 0 \\ \end{array} \right) \left( \begin{array}{r} X_\mathrm{SCRS} \\ Y_\mathrm{SCRS} \\ Z_\mathrm{SCRS} \end{array} \right)\,. $$
(1)

Directions in the fields of view are referred to as AL or AC. AL stands for ALong scan and refers to a movement forward the spinning direction of the spacecraft. AC stands for ACross scan and refers to a movement perpendicular to AL (this movement depends on the field of view).

1.5 Global structure

DAM is based on a very modular design (see Fig. 5). Each module provides a specific functionality, and the four major blocks are incorporated by a closed-loop that represents the cyclic nature of the simulation.

Fig. 5
figure 5

This diagram presents the general structure of the DAM. Perturbing torques (solar radiation pressure, micro-meteoroids, etc) are added up and the resulting total torque modifies the actual attitude. The AOCS estimates the attitude using dedicated sensors and commands the thrusters to counteract the external torques. This cycle is repeated until the simulation stops. Outputs of the simulation are the actual attitude and the commands sent to the MPS. The present paper focuses on the attitude perturbations: external torques, hits generator, and the noise due to thrusters. Because of its modular design, this model can be extended according to any specific needs

The first block is related to Sensors (see Section 2). It simulates the behaviour of the two sensor devices: the SM-AF1 sensor for the rate measurements, and the star tracker (STR) sensor for the attitude determination. The simulated measurements from both devices are processed including noise and internal time delays taken into account.

The output propagates to the second major block: the AOCS (see Section 3). It reproduces the on-board software related to the control system during the normal mode (NM), in which the scientific measurements are taken. The AOCS module processes the measurements from the sensor in order to estimate the current state of the spacecraft. The current state is compared with the demanded state, and thrusters are commanded to reduce this difference.

The Thrusters module implements all the technical characteristics related to these devices (as a realistic noise and their technical performance). Its torque is added up to other external torques (i.e. solar radiation pressure, see Section 4). The total torque is always very small, because thrusters counteract perturbations and there is only a tiny component related to the precession of the scanning law. This total torque is fed back into the equations of motion, so the loop is then closed, and the next time step starts.

The core module Dynamics/Kinematics includes the satellite’s equations of motion (see Section 5). The equations of motion are integrated using ordinary differential equation solvers. Its output is the state vector containing the true state of the spacecraft.

The simulation allows one or more perturbations to be activated or deactivated simply by switching boolean flags. The initialisation procedure defines mandatory parameters for a simulation scenario, such as he simulation duration, the simulation time step, etc. and for the spacecraft configuration, such as the matrix of inertia. In addition, several initialisation files provide adjustable parameters. In general, the modular design of DAM allows smooth adjustments and clear extensions to investigate specific effects.

1.6 Software

The framework of DAM is a collection of classes and libraries developed by the Gaia community. DAM and all software in the Gaia project are written in Java, a widely used, taught, and supported object oriented programming language. Java is preferred over other languages like C+ + because of a faster code development, higher code reliability, and 100 % portability between heterogeneous computers [3, 33].

The simulation output is provided in two different files: the attitude itself (true attitude, estimated attitude by the AOCS, and demanded attitude) and the auxiliary data (commands to thrusters).

1.7 Pointing definitions

This software considers three different terms regarding the spacecraft state. According to Fig. 6, the attitude can be defined as follows:

  • Target attitude. It describes the demanded pointing direction. In the Gaia project this target attitude is usually referred as the reference scanning law or the nominal scanning law (see Fig. 2, in page 3).

  • True attitude. The actual or true attitude is the value of the true pointing direction of the lines of sight, the solution of the equations of motion.

  • Estimated attitude. It indicates the instantaneous estimation of the true attitude, as provided by the AOCS module.

  • Astrometric attitude. It is the convolution of the true attitude during a CCD transit (4.4 s). It is the attitude seen by the sources, the relevant for the astrometric instrument (instead of the true attitude).

Some error terms are defined by the difference between the different attitudes. The difference between the demanded and the true attitude is the pointing accuracy, or attitude error (p.a. in Fig. 6) and it is usually determined over a long period of time. The deviation of the estimated attitude from the true one represents the knowledge error (k.e.). In addition, the control error (c.e.) quantifies the deviation of the estimated attitude from the demanded value, providing information to the attitude control system in order to correct the satellite’s orientation. Finally, a jitter motion of the satellite can be defined as a the movement around the true pointing during a short time scale (stab. stands for stability).

Fig. 6
figure 6

Pointing control definitions (from G. Mosier NASA GSFC). Three different terms of attitude are shown: the target (or demanded), the estimated, and the true (or actual). The same classification can be made for angular rates

2 Sensors

This block comprises two devices: the SM-AF1 and the star tracker. The aim of this block is to mimic these on-board devices, simulate their measurements including realistic noise and technical performances.

2.1 SM-AF1

The rate measurement principle is based on the detection of an object in one of the two SM (Sky Mapper) CCDs arrays and confirmed afterwards in the AF1 CCD array (first column in the Astrometric Field). See Fig. 7 for a pictorial description. A centroiding algorithm determines the object position in the SM CCD and the on-board software predicts its position in the AF1 CCD assuming a nominal scan rate of the spacecraft. The confirmation is done via a windowing algorithm around the estimated position at the time of the CCD read-out. This allows a measurement of the object velocity across and along the CCD. In NM, this principle expects a flow of at least six confirmed objects brighter than G = 18 mag/s and per telescope, and a maximum of 60 confirmed objects. The implementation in DAM is done in three steps [36]:

  • Sky model determines the density of stars in the fields of view of the telescopes. Currently it is implemented as an uniform sky.

  • Include time delays because, after detecting an abject in SM, it takes a few seconds to cross the CCDs and be confirmed in AF1. This is, the reference time of the measurement is halfway between the detection and the confirmation. And in addition, it takes a fraction of second to calculate its linear velocity on the focal plane and send the information to the AOCS. The total delay is ≈ 10 s.

  • Add Gaussian noise to each object velocity measurement.

Fig. 7
figure 7

This sketch represents the Gaia focal plane. Each box represents a different CCD, therefore there are in total 106 CCDs. Gaia is spinning, thus stars cross the field of view from left to right, and it takes 4.4 s to cross a single CCD. There are some groups of CCDs performing different tasks, but in this work we are only interested in the Sky Mapper (SM, two columns on the left) and the first astrometric field CCD (AF1, the first column after the SM). Both telescopes share the same focal plane, and therefore stars from both lines of sight are observed in every CCD. There is only one exception: each SM column is only visible for a single telescope in order to discern the corresponding telescope. Because of this, stars from telescope #1 will be observed in SM1, and not in SM2 (and vice versa). Regarding the SM-AF1 sensor, stars are detected in SM (first or second column) and confirmed in AF1. Credits: A. Short/ESA

The calculation of the mean value of those velocities is done in the subsequent main block, the AOCS.

2.2 Star tracker

The star tracker (STR) on-board Gaia autonomously detects the position of stars in its field of view, and provides a quaternion that represents the attitude of the spacecraft with respect to the ICRS [35]. The field of view of the STR allows the identification of stars by comparing their mutual positions on its focal plane with data from an on-board catalogue. As in the case of the SM-AF1 sensor, the implementation is done in three steps:

  • Sky model to determine the density of stars in the fields of view of the telescopes. Currently it is implemented as an uniform sky.

  • Include a time delay between the detection of stars by the STR and to send the information to the AOCS.

  • Add realistic noise. This noise implements three different effects: a low-frequency filter (related to the time required by a star to cross the full STR field of view), white noise for high frequencies, and a peak of noise at 0.51 Hz (related to the time required by a star to cross a pixel from the CCD of the STR).

3 AOCS

The AOCS (Attitude and Orbit Control System) block reproduces the on-board software algorithms. These algorithms determine and control the state of the spacecraft, they are an essential component of the simulation.

The AOCS takes as input the velocity of the sources crossing the focal plane from the SM-AF1 sensor unit and the measured attitude quaternion from the STR. Both are processed in the AOCS to compute the estimated rate vector and attitude quaternion of the spacecraft at 1 Hz.

The estimation process comprises basically four modules:

  • Pre-processing of the velocity of the objects in the focal plane. Data from the SM-AF1 sensor is combined and the output is given in angular rate units (instead of linear velocity in the focal plane).

  • Rate estimator algorithm. It is based on a scheduled gain Kalman filter formalism [2, 51], assuming a linear system. It calculates values for the spacecraft’s rate and the distorting torque.

  • Attitude estimator. This algorithm implements another Kalman filter and is very similar to the rate estimator one.

  • The controller. This module compares both the estimated angular rate and attitude quaternion with their demanded values, and calculates the correcting torque in order to follow the demanded attitude. This module is implemented as a PID (proportional, integral, and derivative) controller plus a double integrator and a limiter to avoid overreaction.

The output from the controller (and the full AOCS) is the commanded force to thrusters. In the model, the commanded forces are applied in the thruster module, including their noise and technical characteristics.

An example of the AOCS work is presented in Fig. 8. In this plot there are three perturbations: the solar radiation pressure, micro-meteoroid impacts, and the noise due to the micro-propulsion system. The solar radiation pressure is the most important distortion, and makes the AOCS to command the thrusters in that characteristic sinusoidal shape to counteract it and follow the scanning law.

Fig. 8
figure 8

This plot shows the six different thruster commanded forces during two spinning periods. Forces are commanded in steps of 10 LSB (1 LSB = 0.1 μN). Note that no more than three thrusters are active at the same time. Thrusters #5 and #6 always work at a lower level than the other thrusters because corrections to the solar radiation torque in Z (SRS) axis are very small (solar radiation torque is mostly across scan, see Section 4.1 about the solar radiation pressure). There are 4 micro-meteoroid impacts included in this simulation, the strongest at t ≃ 17903 s

4 Perturbations of the spacecraft attitude

In this paper we analyse the effect of five perturbations on the Gaia attitude. We also consider the Micro-Propulsion System (MPS) as a perturbation, because of the thruster noise when delivering a requested torque. From an academic point of view we split these perturbations in two main groups: external and internal, depending whether they originate from inside the satellite or outside.

External perturbations are:

  • The solar radiation pressure due to solar photons, which is analysed in Section 4.1.

  • Micro-meteoroids which are small particles (most of them are dust particles) that impact the spacecraft and are capable of modifying the attitude (see Section 4.2).

  • Thermal infrared emission from the satellite surface (Section 4.3).

Internal perturbations are:

  • Noise due to thruster firings, see Section 4.4.

  • Clanks. These are small jumps in the attitude due to discrete changes in the satellite shape. They are related to thermal expansions or contractions. See Section 4.5.

  • Phased Array Antenna (PAA). The radio emission from the Gaia communications antenna produces a systematic torque that is analysed in Section 4.6. However, this effect is confirmed irrelevant a posteriori.

Other sources of perturbations are: the interplanetary magnetic field (and its short-time variations), cosmic rays, the radiation pressure due to scattered light from the Earth and the Moon, five minute oscillations of the solar radiation pressure, the gradient of the Earth’s gravitational potential, fuel slosh and satellite structural dynamics. However all these perturbations are negligible and/or beyond any reasonable computation time [10], and hence they are not included in the DAM.

4.1 Solar radiation pressure

In this section we analyse the effect of the solar radiation pressure on Gaia. These results were presented previously in Risquez [38]. Solar radiation here refers to the electromagnetic radiation emitted by the Sun. Most of this emission the concentrated at optical wavelengths, but there is also some ultraviolet and infrared emission.

Gaia will orbit around L2, which is 1 % further away from the Sun than the Earth. However the distance between the Sun and the Earth is not constant, and it oscillates between 147 × 106 km (perihelion) and 152 × 106 km (aphelion) during the Earth orbital period. There is thus a 3.4 % difference in distance. The solar radiative flux decreases with the square of the distance, implying a difference of 6.9 % between extreme values. The solar flux is expected to vary between 1293 W/m2 (summer solstice) and 1388 W/m2 [winter solstice, 44]. This effect it is taken into account in the DAM, although for the sake of simplicity we just consider in the following calculation the mean solar flux.

There is also a ≈ 5 min period oscillation with a typical relative amplitude of ≈ 0.003 % [9], but its effect is negligible on Gaia.

The solar wind is another outward flux from the Sun. It is a flow of plasma expelled at high velocity. It is understood as the outermost layer of the solar atmosphere, being continuously driven outward as a result of the Sun’s radiation pressure. At Earth, the speed of the wind is ≈ 450 km s − 1, its density is ≈ 9 protons cm − 3 and its kinetic temperature ≈ 105 K [8]. However, the amount of momentum carried by solar wind is about 3 orders of magnitude smaller than that carried by solar radiation, so we do not include this effect in DAM.

Figure 9 shows a diagram that presents the implemented procedure in the dynamical model. The following calculations are based on solar radiation and force equations described in van Leeuwen [47]. The sun-shield model generated by EADS-Astrium is described in GAIA.ASD.RP.SAT.00007 [13]. It is made up of a mesh of triangles, which allows the modelling of sun-shields with different surface roughness and overall shape. Each triangle is an ideal flat surface, and is described by:

  • A unit vector representing the normal to the surface element (u normal).

  • The position vector of the barycentre of the triangle. The origin of its coordinates is the centre of the sun-shield (and not the centre or barycentre of the satellite). The coordinates are expressed in meters.

  • Triangle area (m2).

  • Optical coefficients (absorption, specular reflection and diffuse reflection).

Fig. 9
figure 9

Interaction of the SRP module and the dynamics module. The current attitude is the input of the SRP module, and its output is the perturbing torque. This perturbing torque is sent to the Dynamics/Kinematics module in order to calculate the true attitude again

There are three different optical effects, absorption, specular reflection, and diffuse reflection, that describe the interaction between the incident solar radiation and a surface element of the sun-shield. Each material composing the sun-shield has optical properties leading to different combinations of these three effects. The corresponding optical coefficients C must satisfy the following equation:

$$ C_{\rm abs} + C_{\rm spec} + C_{\rm dif} = 1 $$
(2)

Forces on surface elements can be calculated assuming linear momentum conservation. In the following equations, P is solar pressure (N m − 2), θ the angle of incidence (angle between the solar radiation and the normal vector to the sun-shield surface element), and d distance between the Sun and Gaia (measured in AU). The solar radiation pressure at 1 AU is not completely constant. It depends on the solar cycle and also exhibits short time scale variations. We use the standard value from the Gaia Parameter DatabaseFootnote 1 [5]:

$$ P = \frac{4.57}{d^2} \,\mu~\mathrm{N\ m}^{-2}\,. $$
(3)

The forces on the surface elements corresponding to the different optical effects are (u solar is the direction from the surface element towards the Sun):

  • Absorption: a fraction C abs of the solar radiation is absorbed by the material. The resulting force is directed opposite to the solar vector.

    $$ d{\bf f}_{\rm abs}=-P C_{\rm abs} \cos\theta \, {\bf u}_{\rm solar} dA\,. $$
    (4)
  • Specular reflection: a fraction (C spec) of the solar radiation is reflected as in a mirror. The resulting force is opposite to the normal vector of the surface element.

    $$ d{\bf f}_{\rm spec}=-2P C_{\rm spec} \cos^2\theta \, {\bf u}_{\rm normal} dA\,. $$
    (5)
  • Diffuse reflection: a fraction (C dif) of the solar radiation is reflected diffusely (in all directions, mostly along the normal). The direction of the resulting force is between u solar and u normal.

    $$ d{\bf f}_{\rm dif}=-P C_{\rm dif} \left( \frac{2}{3} \cos\theta \, {\bf u}_{\rm normal} + \cos\theta \, {\bf u}_{\rm solar} \right) dA\,. $$
    (6)

The total force on each surface element is calculated adding up the individual force components:

$$ d{\bf f}_{\rm total}=d{\bf f}_{\rm abs}+d{\bf f}_{\rm spec}+d{\bf f}_{\rm dif}\,. $$
(7)

The resulting torque is now calculated applying the usual formula, where r CoM is the position of the surface element with respect to the centre of mass of the spacecraft.

$$ {\bf \tau} = {\bf r_{CoM}} \times {\bf f}\,. $$
(8)

the total force is about 173 μN, and the total torque is about 134 μNm. The torque vector due to the solar radiation pressure is always at ≃ 90° from the angular velocity vector (≃ 270° following scan phase direction). Due to that, accelerations are always in the across scan direction and never along scan.

4.2 Micro-meteoroids

There are different types of micro-particles that can impact on a spacecraft [24]: space debris, interplanetary dust (mainly particles from highly eccentric comets), and interstellar dust. We can ignore space debris because of Gaia’s location at L2, far from the Earth.

In the modelling of the attitude of the Hipparcos mission, the impacts of micro-meteoroids had to be accounted for [47]. These impacts are expected to be an important source of perturbations for the attitude of Gaia.

Micro-meteoroids are modelled in DAM in two steps [37]:

  1. 1.

    The first module defines the micro-meteoroid impact characteristics (impact time, momentum transfer, and direction) and creates an ASCII file. This module is launched before running the main loop of the simulation.

  2. 2.

    Afterwards a second module is executed within the main loop and applies the previously defined micro-meteoroid impacts (in the input ASCII file).

The main loop computes the angular position and rates as a function of time. Figure 10 presents a general description of the way micro-meteoroids are treated in DAM.

Fig. 10
figure 10

This diagram presents the hits generator structure with its two components: the micro-meteoroid impacts model and the clank model. Both models are based on tables, created through the initialisation process. During the main loop, both data tables are read by the Dynamics/Kinematics module

4.2.1 Define impacts

The model calculates a priori three different independent quantities: the angular momentum transfer per impact, the impact time, and the orientation of the torque (3-dimensional vector). Note that we are only interested in weak impacts, because DAM is a simulation of the attitude during nominal operations. So we only implement impacts carrying angular momenta below 10 − 3 Nms.

In principle we could simulate the mass, velocity, and impact position on Gaia for each micro-meteoroid; and afterwards calculate the change in angular momentum. However, this has been already estimated by Ernst [6], and we apply directly his results. Hence we only consider an angular momentum transfer distribution, where strong impacts are not common and weak impacts are very frequent (see Fig. 11).

Fig. 11
figure 11

Momentum transfer distribution of impacts in this model versus the Ernst model [6]. To a first approximation the dependency can be described with a simple power law, but this procedure is not good enough so we implemented a more complicated dependency. With respect to the amount of impacts, there are three times more heavy impacts (> 10 − 1 N m s) in this model than in the Ernst model. However, our approximation is fine below 10 − 3 N m s, which is the range of interest for the Gaia observations collected in the nominal operational mode

Due to angular momentum conservation, impacts are detected in the attitude as discontinuities in the rotation rates. The angular momentum carried by the micro-meteoroid (L p) is transferred to the spacecraft when impacting Gaia (ΔL). This produces a change in the satellite angular rate according to:

$$ \Delta {\bf L} = f {\bf L}_{\rm p} = I \Delta {\bf \omega}\,, $$
(9)

where f > 0 is a factor accounting for the fact that the satellite’s angular momentum change is not the same as the angular momentum carried by the micro-meteoroid. The amount of momentum transferred to the spacecraft by an impact is very uncertain. The simplest assumption is to imagine that the meteoroid is simply absorbed by the spacecraft (the incoming material sticks to the spacecraft, so that after the impact there is a single composite body), and the spacecraft momentum changes by the momentum of the meteoroid (in this case f = 1). However, sometimes the micro-meteoroid excavates material from the surface (either vaporised meteoroid material or surface structure), and the ejecta will leave the spacecraft causing a reaction on the body. Although the total system momentum (including ejecta) will be conserved, the angular momentum change of the spacecraft can be larger than the angular momentum of the meteoroid (f > 1, without violating the conservation of energy). This phenomenon is called momentum enhancement [21]. It could happen the opposite as well: a micro-meteoroid impact is so energetic that it goes through the thin layers of the sun-shield (in this case 0 < f < 1). These effects are implicitly included in DAM.

The expected micro-meteoroid flux (including momentum enhancement) on Gaia has been previously analysed in other documents (Ernst [6], based on Gruen et al. [23]), and in this section we try to reproduce those results. The formula implemented in DAM for calculating the random impact distribution is:

$$ F(\Delta L)=\left( A \cdot \Delta L^{\alpha} + B \right) ^{-\beta}\,. $$
(10)

This is an empirical fit, derived with the aim of reproducing the expected impact distribution (see Fig. 11). The quantities in this fit are:

  • the momentum transfer ΔL (measured in N m s),

  • the flux F of impacts producing momentum transfers greater than or equal to ΔL,

  • constants A = 2.2·103 and B = 15.0, and

  • constant exponents α = 0.306 and β = 3.224.

There are some discrepancies between the models used in different studies. Impact frequencies according to Ernst [6] are almost three times larger than in GAIA.ASF.TCN.SAT.00023 [19]. The first model reproduces the Hipparcos data very nicely. It is, therefore, believed that the Gaia predictions from this model are credible.

The smallest simulated impact provides an angular rate change of 1 μ as s − 1 [6]. This value is chosen because it is far beyond the attitude requirements (the mean AL rate error is 2 mas s − 1 and AC is 10 mas s − 1, according to GAIA.EST.RD.00553 [22]). Assuming this limit, we expect ≈ 3600 noticeable impacts per year.

Although the flux of micro-meteoroids at L2 is expected to show a directional dependency [25], we ignore this complication and assume an isotropic distribution of impact directions.

In DAM, micro-meteoroid impacts in the range between 10 − 6 N m s and 1 N m s are distributed in time according to a Poisson process with a rate of 3606 impacts per year [6]. We do not model series of micro-meteoroids impacting in short bursts in time, although such events have been detected in Hipparcos.

Applying the Poisson distribution to the Gaia mission, we expect to detect impacts with less that 1 min of separation between them about 10 times per year. And 2 micro-meteoroid impacts will be detected during the same one second time step only once during the five year mission lifetime.

4.2.2 Apply impacts in the main loop

The main loop in DAM gets all the previously defined data: momentum transfer per impact, impact direction, and impact time; to model the effects of micro-meteoroids.

The time step of the simulation (usually 1 s) is modified in order to apply the impact at its exact time. The simulation gets to the impact time, applies the micro-meteoroid, and then continues to the end of the nominal 1 s time step again. This algorithm is able to cope with many impacts during the same time step by using multiple sub-intervals.

Figure 12 shows some results from the main loop. Impacts only affect the attitude at discrete times, otherwise they do not change the rotational energy.

Fig. 12
figure 12

Spacecraft rotational energy simulated using DAM. In this case there are 10 micro-meteoroid impacts in 10,000 s, although only the 5 bigger impacts are clearly visible. The red line indicates a free floating body being impacted by micro-meteoroids. Each impact modifies the total rotational energy, which does not change until the next impact. The green line presents a spacecraft in which the AOCS counteracts the impacts and keeps the satellite rotating at a fixed rate. Note that this plot does not represent a realistic simulation of Gaia because the spacecraft is not following the scanning law

4.3 Thermal infrared emission

The thermal infrared emission from the Gaia’s surface produces forces. These forces produce torques, although Gaia is a very symmetric satellite and these forces are almost compensated [40]. Torques due to thermal emission are very small, so in principle they are negligible. We implement this module to check that this effect is not important even on long timescales.

We analyse three different cases in this section: an unbalanced force due to a shifted centre of mass (Section 4.3.1), direct emission from the radiator (Section 4.3.2), and reflected emission from the radiator on the sun-shield (Section 4.3.3).

We use two different centres of mass for the satellite: after L2 insertion (beginning of scientific observations), and end of life. The values are listed in Table 2.

Table 2 Different positions for the centre of mass of the satellite with respect to the centre of the sun-shield

4.3.1 Shifted centre of mass

In this section we calculate the torque due to the fact that the centre of mass of Gaia is not exactly on the Z (SRS) axis, it is a few centimetres away from this axis.

We choose the worst case, the one with the hottest sun-shield temperature. This is the worst case because the thermal IR emission depends on the temperature to the fourth power according to the Stefan–Boltzmann law.

The following sun-shield temperatures and the IR emissivity coefficients come from the document GAIA.ASD.RP.SAT.00007 [13]. The front side of the sun-shield (the side facing the Sun) has an estimated temperature of T = 81 °C = 354 K. The emissivity is estimated as ϵ ≈ 0.7. Using the Stefan–Boltzmann law we obtain the emitted flux F = 623 W m− 2, i.e. 51.3 kW for the whole sun-shield. Then we calculate the radiation pressure. The total force applied to the sun-shield due to its own thermal IR emission is f = 114 μN. The force due to IR emission from the non-illuminated side of the sun-shield is about 600 times smaller, because the temperature is colder (T = − 175 °C = 98 K) and the emissivity coefficient smaller (ϵ ≈ 0.2). This force is thus not included in this calculation.

Therefore we found that the total force applied by the sun-shield IR emission is f = 114 μN. We assume that the sun-shield is in the XY (SRS) plane, i.e. the force vector has only a Z (SRS) component (towards the negative direction).

We use the centres of mass from Table 2 to calculate the torque due to the centre of mass shifts. The results are shown in Table 3. Although this torque increases its value about 20 % during the mission, it is still very small, about 20 times smaller than the torque due to the solar radiation pressure.

Table 3 Torques due to a shift in the centre of mass of the satellite

4.3.2 Direct emission from the radiator

The CCDs in the focal plane of Gaia are operated by electronics which dissipate a lot of heat which gets radiated away toward the cold space environment through the so-called FPA radiator (see Fig. 13). The corresponding thermal IR emission will also produce a small force acting on the spacecraft. We estimate the effect in this section. In the following calculation, temperatures are taken from GAIA.ASD.RP.PLM.00027 [12]. Emissivity coefficients, and surface sizes and positions are taken from the document GAIA.ASD. ADD.MSM.00001 [11].

Fig. 13
figure 13

Left panel: direct thermal IR emission from the FPA radiator. The outgoing radiation (red arrows) produces a net force (green arrow) in the opposite direction (but its torque vanishes because the force is parallel to its position with respect to the centre of mass). The radiator is between the two telescope apertures, at half height in the thermal tent. Right panel: thermal IR emission from the FPA radiator that hits the sun-shield. Outgoing radiation produces a net force after being reflected off the sun-shield. Spacecraft picture courtesy of C. Carreau/ESA

The FPA radiator emits 343.4 W to space (GAIA.ASF.TCN.PLM.00055 [17], including radiation sent directly to space, and to the deployable sun-shield array). This emission is not counteracted by an equivalent force at the other side of the PLM (PayLoad Module) because the temperature difference is large (about + 22.64 °C at the radiator versus − 145.5 °C at the opposite surface) and also because the infrared emission coefficients are different (≈ 0.9 for the radiator versus ≈ 0.7 for the thermal tent surrounding the payload). Using the Stefan–Boltzmann law, and the same emitting areas there is a factor 40 difference in the emission, so the cold surface is negligible in this calculation.

Using the flux to radiation pressure equation, we get the force f = 0.76 μN, where we assume that the radiator centre is on the X SRS axis (towards the negative direction).

The radiator just sticks out from the thermal tent surface, at a distance of 1.499 m with respect to the symmetry axis (the thermal tent radius is 1.685 m), and is located at 1.42 m from the sun-shield plane (J. de Bruijne, private communication): r radiator = ( 1.87, 0, − 1.420) m. The torque is then obtained from: τ = (r radiator − r CoM) ×f. Table 4 shows the torque due to FPA radiator emission at the beginning of the scientific observations, and at the end of the mission.

Table 4 Torque due to the direct infra-red emission from the focal plane radiator

The rest of the PLM surface has a symmetrically distributed temperature. The only exceptions are the telescope apertures, but their effect is smaller than the FPA warm radiator because the temperature inside the PLM and at the surface opposite the aperture are much colder than in the FPA warm radiator.

In conclusion the torque due to the thermal IR emission from the FPA radiator is almost two orders of magnitude smaller than the solar radiation torque.

4.3.3 Reflected emission from the radiator on the sun-shield

Although the direct thermal emission from the FPA radiator does not produce an important torque, part of this emission hits the back side of the sun-shield where it is mainly reflected. The force due to the specular reflection produces a torque, and this torque is not negligible.

We calculate the force and torque due to a differential surface element of the sun-shield, and afterwards we integrate over the whole sun-shield. We assume R sun = 5.12 m (sun-shield radius), R tent = 1.685 m (thermal tent radius) and z rad = 1.420 m (distance along Z axis from the radiator to the sun-shield, J. de Bruijne, private communication).

The result is listed in Table 5. For reference, the radiator illuminates about 33 % of the total sun-shield surface. The torque (|τ| ≃ 1.8 μN m) is of the same order of magnitude as the noise due to the thruster firings.

Table 5 Torque due to the infrared emission from the focal plane radiator reflected off the sun-shield

4.3.4 Summary of the effects of thermal infrared emission

Tables 6 and 7 show the mean torque due to infra-red emission during the mission, at the beginning and at the end of the scientific observations. The differences are negligible for Gaia.

Table 6 Torque due to thermal IR emission at the beginning of scientific observations
Table 7 Torque due to thermal IR emission at the end of life

The exact value at a specific time in the mission could be calculated applying a linear interpolation to the final torque in Tables 6 and 7. The mean value, up to a precision about 1 N m, during the mission is:

$$ \langle {\bf \tau}_{\rm thermal,SRS} \rangle \simeq ( 1, 4, 0 ) \, \ensuremath{\mu\mathrm{N}}~\mathrm{m}\,. $$
(11)

Any other torque component related to the infrared emission from the sun-shield (misaligned sun-shield, or a hot spot on the surface) can be calculated and added to the total torque. In principle the torque due to thermal IR emission is so small that it does not have to be included in DAM. However, we include this module in order to confirm that its effect is negligible.

4.4 Micro-propulsion system

4.4.1 Description

There are two different propulsion systems used on the Gaia spacecraft [16, 41]: The Chemical Propulsion System (CPS) and the Micro-Propulsion System (MPS). The CPS is intended for big manoeuvres, and its thrusters provide a maximum nominal force of 10 N. On the other hand, the MPS is designed for fine attitude control and is implemented with a Proportional Cold Gas System (PCGS). PCGS’s thrusters use GN2 as propellantFootnote 2 (or compatible gas, see GAIA.ASD.SP.MSM.00012 [14]). Each PCGS has a maximum nominal force of 500 N. This paper only describes the MPS, because only this system is activated during scientific observations.

There are 6 PCGS thrusters in the operational branch. This branch contains a single positive torque thruster and a single negative torque thruster for each spacecraft axis. There is also a redundant branch with 6 other thrusters. The MPS works at 1 Hz.

3-dimensional torques are demanded in order to counteract external torques. This is the input to the MPS module. The problem is to determine which thrusters should be switched on to correct a given external torque, and what is the actual resulting torque.

4.4.2 Thruster firing matrices

Thruster firings are defined by their arms, the cross product of the thruster position (with respect to the spacecraft’s centre of mass) with the unit thrust vector. The arms are calculated in DAM using thruster positions and directions as given in GAIA.ASF.TCN.SAT.00009 [18].

The total torque obtained when firing the thrusters is given by:

$$ {\bf \tau_{\rm d}} = A \, {\bf F}\,, $$
(12)

where τ d is the demanded torque in the SRS (N m, 3-element vector), A is the matrix of thruster moment arms (meters, 3×6 elements), and F the vector of demanded thrusts (Newton, 6-element vector).

It is obvious from the elements of A that each thruster affects the torque in all three axes and therefore a suitable linear combination of thrusters is required in order to obtain exactly the requested torque. This requires and inversion of matrix A which is non-square, meaning that the inverse is not well-defined. We proceed by defining P, the pseudo-inverse of the matrix A:

$$ {\bf F} = P \, {\bf \tau_{\rm d}}\,. $$
(13)

The pseudo-inverse is then determined subject to the following constraints: Only three thrusters should be active at the same time, and the active thrusters should provide a torque as close as possible to the requested torque while also using the propellant most efficiently. This implies using thruster 5 or 6 in combination with thruster 2 or 4 and thruster 1 or 3. Other combinations such as using both thrusters 2 and 4 (both negative and positive pitch thrusters, − X and + X, SCRS) are not meaningful because such combinations may be able to deliver the required torque but not in a propellant efficient manner. There are therefore 23 = 8 useful combinations of thrusters to search through.

4.4.3 Commanded torque versus applied torque

The required forces provided by thrusters are calculated as described in the previous section. However, thrusters present many technical details that make the performed torque to be different from the required torque. The actual force produced by the thruster firings is modelled as:

$$ F_{\rm p}=(1+s) F_{\rm c} + F_{\rm n} + F_{\rm b}\,. $$
(14)

The quantities in this relation are:

  • the actually produced force, F p, the output of the MPS module;

  • the force commanded by the AOCS, F c, which is the input to the MPS module;

  • the dimensionless thrust scale factor s;

  • the thruster noise F n. There are two different cases: when the commanded force is zero then the thrust noise is due to the leakage of the thruster (< 10 − 5 sccsFootnote 3 GHe,Footnote 4 GAIA.ASD.SP.MSM.00012 [14]). When the commanded force is not zero, the noise is frequency dependent;

  • the thruster bias, F b. This value is set by software and ideally is zero.

The step by step procedure that implements (14) in the simulation is described below (parameters from GAIA.ASF.TCN.SAT.00009 [18]).

  1. 1.

    Thrusters to be fired  The eight useful combinations of pseudo-inverse matrices (P j ) are checked. For each matrix, the applied thrust to correct the requested torque is calculated according to:

    $$ {\bf F}^j=P_j\,{\bf \tau_{\rm d}}\,. $$
    (15)

    Moreover, every calculated thrust component must be positive or zero (\(F_i^j \ge 0\)). Negative thrusts are impossible so the negative thrust components are fixed to zero.

    At this point, there are up to eight possible thrust combinations with non-negative components. The best combination is the one that provides the closest torque to the requested torque. This difference is measured as the square root of the sum of the squares of the differences in the torque components (this is, \(\sqrt{\Delta \tau_x^2+\Delta \tau_y^2+\Delta \tau_z^2}\)). When more than one thrust combination is possible, the one chosen is the combination that minimises the fuel consumption over the 6 thrusters: \(\min \left( \sum_{i=1}^6 F_i^j \right)\).

  2. 2.

    Saturation limit  When a required thrust is greater than the value of the saturation limit parameter (F c > 500 N), then the whole thrust 6-vector is scaled down such that the largest element after scaling is equal to the thrust saturation limit. This scaling preserves the direction of the torque vector. The alternative of applying saturating limits to thrusters on an individual basis introduces the risk that a large demand on a single spacecraft axis is implemented such that the torque components on other axes have incorrect signs, which is worse for the stability and settling of the AOCS control loop.

  3. 3.

    Quantisation  Thrust values are commanded as an integer multiple of a thrust unit, which is specified to be ≤ 1 N. The actual thrust resolution is ≃ 0.3 N, although this value may change because of thruster design evolution. We use the required value of 1 N as a conservative estimate of the thrust resolution. This means that we will command the thrusters by steps of 10 LSBs (Astrium, private communication). This is the thruster resolution and these devices can not provide a better accuracy in the produced thrust.

  4. 4.

    Leakage  When the commanded force is null, thruster leakage generates a tiny torque. The foreseen value for the leakage force is: F l ≈ 0.001 N. This leakage is applied only to the powered thrusters (i.e., not to the redundant thrusters). So, powered thrusters will never produce a force below F l, even when they are switched off. The noise due to leakage is not included in DAM because its effect is three orders of magnitude smaller than the thruster resolution and five orders smaller than the solar radiation pressure.

  5. 5.

    Scale error  The scale factor s is the relative magnification or contraction factor between commanded force and produced force. The knowledge error ϵ provides the accuracy with which we know this scale factor (after MPS calibration measurements). For instance: s can be + 5 % (±5 % is the allowed range according to mission requirements), meaning that the produced force is 105 % of the commanded force. With a scale factor knowledge error of 1 %, all we will know is that the produced force is between 104 % and 106 % of the commanded force (in this case in which we assume s = + 5 %). So the scale factor is a constant property of each thruster, the value of which will be known to within 1 %. This parameter is implemented per micro-thruster, but in usual simulations we adopt s = 0 % for all of them.

  6. 6.

    Command delay  The Micro-Propulsion Electronics (MPE) control loop (operating at 40 Hz) is completely asynchronous with respect to the Central Data Management Unit (CDMU) commanding frequency (i.e., a new command arriving from the CDMU is taken into account at the next computation cycle of the MPE control loop). Therefore, a jitter of 1/40 s should be considered between the moment a new command is received and the moment it is processed. The AOCS gets measurements from sensors once per second with ≈ 10 s delay (integer number of AOCS time steps), so we consider delays much shorter than one second negligible.

  7. 7.

    Thruster misalignment  The alignment characteristics of the thruster mounting plane with respect to the spacecraft reference frame is ±0.2° (overall MPS alignment knowledge), this applies to the thrust direction axis. In addition, the distance between thrusters and the spacecraft centre of mass is somewhat uncertain, since the centre of mass drifts during the mission due to the decrease of fuel in the tanks.

    This model keeps two types of data related to the thrusters: their expected positions and directions (the best AOCS knowledge, stored as the eight pseudo-inverse matrices), and their actual positions and directions (this is the input to the dynamical module). The AOCS can estimate the torque to counteract (a 3-dimensional vector) and commands the thrusters using the pre-defined pseudo-inverse matrices. The output is the 6-dimensional vector of commanded thrusts.

    The dynamical module in DAM on the other hand calculates the MPS torque (the 3-dimensional vector) using the actual set of thruster positions and directions and the 6-dimensional vector of thrusts provided by the AOCS. Usually expected and actual thruster parameters are equal. In other words, pseudo-inverse matrices, and actual thruster positions and directions, are compatible. Nonetheless the model is able to simulate the lack of knowledge about the thrusters configuration or a wrong thruster calibration.

  8. 8.

    Thruster noise  Every requested thrust by the AOCS is not exactly applied. There are some noise sources, and the applied thrust ends up being slightly different from the requested thrust. The noise has been implemented as white noise at high frequencies and through auto-regressive models (low pass filter) at low frequencies, see (16). In this model, each generated number (x n ) is equal to the previous number (x n − 1) multiplied by a constant (k) and plus a Gaussian random number ϵ n with mean value zero and variance σ 2. The values of k and σ 2 are chosen so as to generate the proper power spectral density. Both the on-axis and the transverse noise follow the same equation:

    $$ x_n = k x_{n-1} + \epsilon_n\,. $$
    (16)

    The bias direction seems to be dependent on the magnitude of the force, because a high flow will tend to focus the flow whereas a low flow will lead to wider flow and therefore an average direction of the thrust further from the thrust direction. Moreover, it is possible that the bias direction changes when the thruster is closed and reopened. So, the model includes the possibility to select randomly the azimuth of the bias when the thruster opens (but it is also be possible to keep this azimuth constant). The implementation is as follows:

    • when the previous commanded force was zero and the current commanded force is not zero, a new random azimuth is selected;

    • otherwise, the noise of the current commanded force has the same azimuth as the previous one.

4.4.4 Test case

Figure 8 (in page 12) presents the force delivered by thrusters. In this plot there are three distorting forces: the solar radiation pressure, micro-meteoroid impacts, and the noise due to the micro-propulsion system. The solar radiation pressure is the most important distortion, and makes the AOCS to command the thrusters in that characteristic sinusoidal shape to counteract it. There are 4 micro-meteoroid impacts (the most important at t ≃ 17903 s), but most of them are below the noise due to the thrusters.

4.5 Clanks

4.5.1 Introduction

Clanks are scan-phase discontinuities, i.e. discrete changes in the scan-phase of the satellite. Usually they are detected in the AL (Along scan) direction and not in the AC (Across scan) direction due to the former’s higher sensitivity. Risquez [39] explains the implementation of clanks in DAM.

These scan phase discontinuities are analysed in the case of the Hipparcos spacecraft in van Leeuwen [46] and van Leeuwen [47]. There were about 1500 detected events in two groups of clanks. The first group was observed shortly after the beginning and the end of an eclipse, and was related to strong temperature changes taking place at that time (expansion and contraction of the spacecraft structure). The second group of clanks seemed to be related to the spinning phase of the spacecraft, some of them associated to conditions during the perigee passage.

Clanks in Hipparcos were originated on the outer part of the satellite. A phase-jump of the payload has to be the result of a temporary movement of the payload with respect to another element of the satellite, such that the total angular momentum remains unchanged. On Hipparcos, the range of jumps observed by the payload goes from a 7 mas up to 120 mas.

On Gaia, the main source of clanks that we would expect are temperature changes. As in Hipparcos, expansion and contraction of parts of the satellite due to changes in their temperature could produce scan phase discontinuities. Temperature variation moving through the deployable sun-shield could be a source of clanks, as very small movements in the array would be highly noticeable on the pointing due to the high angular momentum of the outer parts of the array. This is our main concern [39, 48].

4.5.2 Model

Due to the lack of knowledge about clanks the model implemented in DAM is very simple. There are three random processes to generate the size of the discontinuities (measured in mas), their time distribution, and their direction.

The implemented model for the scan-phase jumps is a power law distribution, so clanks that produce smaller jumps are more frequent than those that produce bigger jumps:

$$ \frac{dy}{dx} = \frac{A}{x^b}\,, $$
(17)

where y is the number of events, x their magnitude, and A is a normalisation constant. The power law slope b is assumed to have a value of 1.5.

The time distribution includes two different effects: a pure random distribution (due for instance to an hypothetical MPS gas tank shrink); and a distribution related to the spin rate due to temperature changes and thruster activation/deactivation (these events show a 6-h periodicity). Hipparcos detected about 375 clanks per year, so we assume the same rate for Gaia. Gaia is more sensitive to clanks than Hipparcos so we could expect more clanks; however Gaia is also more stable with respect to temperature changes and its orbit, so we assume that both effects compensate. In summary, we estimate the same event rate as Hipparcos, so we simulate 1875 clanks during the 5 year mission.

Finally, jump directions are calculated randomly, equally distributed in all directions.

Figure 10 (on page 17) presents a diagram of the current implementation. Clanks are implemented in a similar way to micro-meteoroids. Firstly an input file containing all events is created. Afterwards, during the main loop execution, this input file is read and clanks are applied at their times.

4.6 Phased array antenna

4.6.1 Introduction

Gaia will communicate with the ESA ground station using a so-called Phased Array Antenna (PAA). These antennae are based upon the principle illustrated in Fig. 14. They emits radio waves by many separate radiating elements that individually have only very weakly directive properties. Their combination may, however, have a very narrow beam because the radiation in some directions interferes constructively and in other destructively.

Fig. 14
figure 14

Left panel: diagram of the phased array antenna. Depending on the phase-shifts, there is constructive interference in a certain direction (angle θ in this figure). By changing the ϕ i , the beam can be steered electronically without any movement of the antenna. This figure shows a one-dimensional array but the principle can be extended to the two-dimensional case (i.e. the Gaia case). Right panel: Torque due to the phased array antenna. The radio emission (red arrow) is emitted at ≃ 45° from the spin axis (this angle is close to the solar aspect angle). This emission produces a force due to the action-reaction principle (green arrow), so this force is in the opposite direction to the radio emission. Since this force is at a certain distance to the centre of mass, it produces a torque. This is the torque that we analyse in this section. Right image credits: ESA

As explained in Fortescue et al. [8], the advantages of this arrangement are that one array can produce a large number of beams simultaneously and that these can be steered electronically over a rather large angular range without the need for mechanical pointing systems. The latter is an important property for Gaia because of its extremely high stability requirements.

On Gaia the PAA is located at the bottom of the service module, around the X (SCRS) axis. It is composed of 7 radio emitters (the so called quadri-modules, because they are also composed of 4 elements, hence there are 7×4 = 28 emitter elements in total) and the EPIC (the Electrical Power and Interface Controller).

4.6.2 Model

In this section we analyse whether a PAA model has to be included in DAM or not. The force F generated by the PAA on Gaia is F = P / c, where c is the speed of light and P is the power of the PAA [4]. The nominal power P is 40 W, although the maximum power in case of failure could be P = 55 W. Assuming nominal mode, the force F is 0.13 μN. This force is ~1300 times smaller than the force due to the Solar Radiation Pressure (≈ 173 μN, see Section 4.1).

The radio antenna can emit in directions between 30° and 60° from the X (SCRS) axis (see technical documents GAIA.ASF.TCN.SAT.00484 [20] and GAIA.ASF.MEM.SAT.00076 [15]). There is a slow variation between these limits due to the Lissajous orbit around L2. However in principle this angle will be 45° during nominal operations, because the Sun and the Earth are in the same direction as seen from L2, and the Sun will be always at 45° from the X (SCRS) axis. The force is in addition rotating in the spacecraft frame because of Gaia’s 6-h spin period. The torque generated is therefore ≃ 0.09 μN m. This is an order of magnitude smaller than the thruster noise, which is ≈ 0.60 μN m. And it is also ≈ 45 times smaller than the torque due to the thermal IR emission from the satellite surface (|τ IR| ≃ 4 μN m, see Section 4.3).

The EADS Astrium baseline is that the PAA is transmitting 24 h per day (even out of ground-station visibility) and that the beam is rotating all the time. Therefore, no significant torque change at the start/end of visibility (or during ground-station visibility) is expected. Except during eclipses of the Sun by the Moon. During such events, the PAA will be switched off in order to save solar-array power to ensure that the spacecraft nominal configuration can be maintained.

4.6.3 Summary about the PAA

In conclusion, the torque due to the phased array antenna is not implemented in DAM because it is negligible compared to other perturbations, for example the noise from the thrusters or the thermal IR emission from the satellite surface.

5 Equations of motion

The state vector of the spacecraft at any instant of time during the simulation is given by a combination of its orientation, formulated in quaternion notation (q), and its angular velocity (ω) with respect to the ICRS and expressed in the body-fixed frame SRS [29].

The spacecraft’s dynamics is fully described by a superposition of translational and rotational motion, but the model presented here only takes into account the rotational motion.

There are two sets of differential equations. The first one, (18), deals with kinematic aspects of this motion, and the last one, (22), with the dynamics of the spacecraft’s body:

$$ \dot{q}(t) = \frac{1}{2} \Omega(\omega) q(t). $$
(18)

Where Ω(ω) is defined by

$$ \Omega({\bf \omega}) = \left( \begin{array}{rrrr} 0 & \omega_z & -\omega_y & ~\omega_x \\ -\omega_z & 0 & \omega_x & ~\omega_y \\ \omega_y & -\omega_x & 0 & ~\omega_z \\ -\omega_x & -\omega_y & -\omega_z & 0 \\ \end{array} \right), $$
(19)

or rewritten by its components

$$ \dot{q}_{1..3}(t) = \frac{1}{2} \left( q_4{\bf \omega} - {\bf \omega} \times q_{1..3} \right) $$
(20)

and

$$ \dot{q}_4(t) = - \frac{1}{2} {\bf \omega}^T q_{1..3}(t), $$
(21)

being q 1..3 a 3-dimensional vector containing the first three components of the quaternion, and q 4 the fourth component. As usual, the four components are normalised.

In addition, the differential equation related to the dynamics of the system is:

$$ \dot{{\bf \omega}}(t) = I^{-1}_{S/C} \left[ {\bf \tau}_{total} - {\bf \omega} \times \left( I_{S/C} \cdot {\bf \omega} \right) \right], $$
(22)

where I S/C is the inertia matrix of the spacecraft and τ total the sum of the disturbing and control torques [50].

The spacecraft is considered a rigid body [49]. The equations of motion are integrated using ordinary differential equation (ODE) solvers, according to user preferences: Euler (faster) or Runge–Kutta (higher precision). The output is the state vector containing the true state of the spacecraft, i.e. the 3-component angular rate plus the 4-component attitude as a quaternion.

The position of the centre of mass and the inertia matrix change during the satellite lifetime due to gas consumption. This effect will be considered during the actual mission and AOCS parameters will be updated periodically. Regarding the DAM, the drift of these parameters is not implemented and they are strictly constant during the simulation. We consider, however, that the AOCS knowledge of the true values is defined before starting the simulation, and we could estimate a priori this drift and run the simulation with inaccurate parameters.

6 Final conclusions

The Gaia Dynamical Attitude Model software package provides very detailed simulations of the spacecraft attitude and angular rate. All important perturbations are implemented and applied to Gaia. DAM can simulate effects that currently are not completely understood (for example noise due to thrusters) in order to analyse there effects on the spacecraft attitude. Moreover, DAM is able to simulate other unforeseen effects, such as the effect of the solar radiation pressure on an incompletely deployed solar array.

The simple handling and the high flexibility of this simulation makes it an ideal tool for any comparison between real measurements and simulated data. DAM in its current version is complete and will facilitate achieving the best possible astrometric accuracy with the Gaia mission.

With respect to the perturbations themselves, the solar radiation pressure is clearly the strongest one. On-board Gaia, its expected torque will be estimated and provided to the AOCS as an input, so its effect will be counteracted even before drifting the attitude. This work allows us to estimate the torque due to this effect, taking into account different sun-shield configurations (shape deformation, optical properties). Moreover, this analysis confirms that the effect of the phased array antenna is negligible. The DAM is also able to simulate events as clanks and micro-meteoroid impacts in a very realistic way.

The micro-propulsion system is the main source of non-systematic noise. Any improvement in its performance (resolution, noise, etc) will have a direct impact in the spacecraft attitude, and consequently in the scientific astrometric data.

Finally, DAM allows to test in advance the software that has to reconstruct the attitude, the scientific pipeline. The DAM is an important step in order to prepare the Gaia mission.