# Dynamical attitude model for Gaia

- First Online:

- Received:
- Accepted:

DOI: 10.1007/s10686-012-9310-5

- Cite this article as:
- Risquez, D., van Leeuwen, F. & Brown, A.G.A. Exp Astron (2012) 34: 669. doi:10.1007/s10686-012-9310-5

## Abstract

The Dynamical Attitude Model (DAM) is a simulation package developed to achieve a detailed understanding of the Gaia spacecraft attitude. It takes into account external physical effects and considers internal hardware components controlling the satellite. The main goal of the Gaia mission is to obtain extremely accurate astrometry, and this necessitates a good knowledge of Gaia’s behaviour as a spinning rigid body under the influence of various perturbations. This paper describes these perturbations and how they are modelled in DAM.

### Keywords

GaiaSpacecraft attitudeAstrometrySimulation## 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 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.

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

Mission parameters | |

Launch time | End 2013 |

Lifetime | 5.5 years (optionally + 1) |

Launch vehicle | Soyuz-Fregat |

Orbit | Lissajous-type around L2 |

Spaceport | Guiana space centre (GSC) |

Ground stations | Cebreros (Spain) and Perth (Australia) |

Operations centre | ESOC (Germany) |

Spacecraft | |

Prime contractor | EADS Astrium |

Launch mass | 2030 kg |

PLM diameter | ≃3 m |

Sun-shield diameter | ≃10.2 m |

Instruments | |

Astrometric (ASTRO) | \(\overline{\lambda}=673\) nm, FWHM= 440 nm, 62 CCDs |

Photometric | Low resolution spectra: 320–1000 nm, 14 CCDs |

Radial velocity spectrometer (RVS) | Narrow band: 847–874 nm, 12 CCDs |

Scientific capabilities | |

Survey | ≈ 1 billion stars |

Transits per source | ≈ 70 times |

Astrometric accuracy | 7 |

Photometry | Up to |

Radial velocity accuracy | 1–10 km s |

Scanning law | |

Solar aspect angle | 45° |

Spinning period | 6 h |

Precession period | 63 days |

### 1.2 Gaia components relevant to DAM

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.

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.

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

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.

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

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

*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).

*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).

## 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

*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.

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

### 2.2 Star tracker

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.

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.

## 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.

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).

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 × 10^{6} km (perihelion) and 152 × 10^{6} 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/m^{2} (summer solstice) and 1388 W/m^{2} [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 ≈ 10^{5} 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.

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 (m

^{2}).Optical coefficients (absorption, specular reflection and diffuse reflection).

*C*must satisfy the following equation:

*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 Database

^{1}[5]:

*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)

**r**

_{CoM}is the position of the surface element with respect to the centre of mass of the spacecraft.

*μ*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.

- 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.
Afterwards a second module is executed within the main loop and applies the previously defined micro-meteoroid impacts (in the input ASCII file).

#### 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.

**L**

_{p}) is transferred to the spacecraft when impacting Gaia (Δ

**L**). This produces a change in the satellite angular rate according to:

*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 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·10^{3}and*B*= 15.0, andconstant 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.

### 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).

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

Time | X | Y | Z |
---|---|---|---|

After L2 insertion | 0.041 | −0.008 | −1.120 |

End of life | 0.049 | −0.008 | −1.158 |

#### 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).

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

Torque | X | Y | Z |
---|---|---|---|

After L2 insertion | 0.89 | 4.68 | 0.00 |

End of life | 0.95 | 5.54 | 0.00 |

#### 4.3.2 Direct emission from the radiator

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).

**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.

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

Torque | X | Y | Z |
---|---|---|---|

After L2 insertion | 0.00 | 0.23 | 0.01 |

End of life | 0.00 | 0.20 | 0.01 |

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).

*τ*| ≃ 1.8 μN m) is of the same order of magnitude as the noise due to the thruster firings.

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

Torque | X | Y | Z |
---|---|---|---|

After L2 insertion | 0.01 | −1.76 | 0.00 |

End of life | 0.01 | −1.76 | 0.00 |

#### 4.3.4 Summary of the effects of thermal infrared emission

Torque due to thermal IR emission at the beginning of scientific observations

Torque | X | Y | Z |
---|---|---|---|

Centre of mass not on-axis | 0.89 | 4.68 | 0.00 |

Direct IR emission from radiator | 0.00 | 0.23 | 0.01 |

Reflected IR photons in the sun-shield | 0.01 | −1.76 | 0.00 |

Total torque at L2 insertion | 0.90 | 3.15 | 0.01 |

Torque due to thermal IR emission at the end of life

Torque | X | Y | Z |
---|---|---|---|

Centre of mass not on-axis | 0.95 | 5.54 | 0.00 |

Direct IR emission from radiator | 0.00 | 0.20 | 0.01 |

Reflected IR photons in the sun-shield | 0.01 | −1.76 | 0.00 |

Total torque at the end of life | 0.96 | 3.98 | 0.01 |

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 propellant^{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].

**τ**

_{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).

*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*:

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 2^{3} = 8 useful combinations of thrusters to search through.

#### 4.4.3 Commanded torque versus applied torque

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}sccs^{3}GHe,^{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.

- 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: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.$$ {\bf F}^j=P_j\,{\bf \tau_{\rm d}}\,. $$(15)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.
*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.
*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.
*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.
*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.
*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.
*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.
*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.

*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

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.

*ω*) is defined by

*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.

*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.

The Gaia Parameter Database is a central repository of parameter data pertaining to the various technical and scientific aspects of the mission. It is intended to be used as the primary source for complete, consistent, and up-to-date mission parameters by everybody involved in the design, implementation, and/or scientific support of the project.

sccs stands for Standard Cubic Centimetres per Second. In this case *standard* refers to 25 °C and 1 atm.

## Acknowledgements

This research project has been supported by ELSA (European Leadership in Space Astrometry). ELSA is a Marie Curie Research Training Network supported by the European Community’s Sixth Framework Programme (FP6), under contract MRTN-CT-2006-033481.

In addition, this work was financially supported by NOVA (*Nederlandse Onderzoekschool Voor Astronomie*).

Thanks to Ralf Keil (ZARM, Bremen, Germany) for his contribution to the development of the DAM.

We thank EADS-Astrium for very kindly providing us with the detailed information and feedback necessary for a proper implementation of DAM for Gaia. D.R. thanks Carmen Blasco, Jos de Bruijne and Lennart Lindegren for providing feedback during the realisation of this work.

**Open Access**

This article is distributed under the terms of the Creative Commons Attribution License which permits any use, distribution, and reproduction in any medium, provided the original author(s) and the source are credited.