72
4. Attitude laws
This chapter “zooms” inside the satellite, considering it as a 3D rigid body, and explores some common attitude laws that allow the satellite to satisfy simple pointing requirements. At the end of the chapter, all the instruments for a global environmental model will be available for next analyses.
Notice that some symbols defined in this context only stand for this chapter (e.g., rotational angles in Par. 4.1).
4.1 Attitude determination
To describe the attitude of a satellite, it is useful to introduce two further reference frames, both centered in the satellite’s center-of-gravity:
Body Frame (BF), whose axes x, y, z move in time due to a prescribed attitude law.
Satellite Fixed Frame (SFF), whose axes x’, y’, z’ are always parallel to those of GRF;
The attitude of a generic spacecraft is specified by the orientation of BF, which should be aligned with some desired frame according to the scope of the mission.
Spacecraft attitude determination is to provide the information of the distance between the spacecraft BF and the desired frame, [30]. Anytime the spacecraft attitude is not in the perfect position, the attitude information will be compared automatically with the desired attitude, and the error information is then used to calculate how much action is needed for each actuator to bring the spacecraft to the desired attitude. This is an active way to perform attitude control. Assuming a perfect attitude control, the spacecraft would exactly follow the prescribed attitude law and BF would coincide with the desired frame. This hypothesis in retained throughout the chapter.
At any time, the distance between BF and SFF can be represented by a single
rotation if quaternion is used or a series of rotations if Euler angles are used. In the
latter case, the sequence of the rotations is very important. Every rotation is about a
73 certain rotational axis for some angle, [30]. There are 12 possible Euler angle sequences and each of them has a Direct Cosine Matrix (DCM), indicated as Q, which is the product of three elementary rotation matrices R. A commonly used set of Euler angles for rotating BF into alignment with SFF is the “yaw-pitch-roll”
sequence, [31]:
𝑸 = 𝑹 𝑥 (𝛾)𝑹 𝑦 (𝛽)𝑹 𝑧 (𝛼) (4.1) where subscripts indicate the axis about which the rotation takes place (the order of rotations is from right to left, see the figure below) and:
α is the yaw angle (0° ≤ α < 360°),
β is the pitch angle (-90° < β < 90°),
γ is the roll angle (0° ≤ γ < 360°).
This means that, at any instant of the motion, SFF axes are obtained by rotating the BF axes through the sequence of yaw, pitch and roll angles (exactly in this order).
Figure 4.1 – Yaw-pitch-roll sequence transforming BF into SFF, [31]
74 The expression for DCM as a function of yaw-pitch-roll angles is:
𝑸 = [
cos 𝛼 cos 𝛽 sin 𝛼 cos 𝛽 − sin 𝛽
cos 𝛼 sin 𝛽 sin 𝛾 −sin 𝛼 cos 𝛾 sin 𝛼 sin 𝛽 sin 𝛾 −cos 𝛼 cos 𝛾 cos 𝛽 sin 𝛾 cos 𝛼 sin 𝛽 cos 𝛾 − sin 𝛼 sin 𝛾 sin 𝛼 sin 𝛽 cos 𝛾 − cos 𝛼 sin 𝛾 cos 𝛽 cos 𝛾
] (4.2)
To determine BF, the spacecraft current position and the time must be known. The mostly used time in aerospace engineering is the Universal Time (UT) and a way to express the current date and time (e.g. to identify the beginning of a mission, the so- called “time t 0 ”) is the Julian Date jd, [day], a positive number whose zero is midnight of 1 st January 4713 B.C., [21]. As a reference date, one can take 1 st January 2000, 12:00, for which jd 2000 = 2451545.
Position and time can be used to obtain the ephemeris astronomical direction information, such as the Sun direction. In the previous chapter, a simplified approach to the problem has been shown. Here, because of the strong pointing requirements of some kinds of missions, a more detailed model is proposed (Par. 4.3.1).
Starting from the choice of a target, the attitude of an Earth-orbiting satellite is described by the three angles α(t), β(t), γ(t) throughout the mission, after having specified the satellite’s orbital elements and the starting date. A Matlab ® script called spacecraft_attitude.m has been created to perform this task, whose structure is highlighted below.
Figure 4.2 - Structure of spacecraft_attitude.m
If required, also the angular velocity vector ω(t), [rad/s], of BF w.r.t. SFF can be
extracted as output, in order to better comprehend the results.
75
4.2 Kinematic model
The simplest model to describe attitude is to schematize a spacecraft with a flat plate and consider its normal n as the vector pointing to the target. With no loss of generality, one can set x to coincide with n. If no other condition were assigned, the flat plate would be free to rotate about x, thus creating an indetermination. This is consistent with the fact that the attitude of a rigid body may be defined relative to a given reference frame by means of a pair of right-hand orthonormal triplets of vectors with a common origin, [32]. To eliminate this degree of freedom, at initial time y is set to lie on the x’y’ plane in such a way that the angle between z and z’ is ≤ 90°.
Figure 4.3 - Flat plate attitude at initial time
This approach is acceptable at didactic level only: a real spacecraft will surely have
to satisfy more conditions with a given attitude (e.g., solar panels to the Sun, sensors
or camera toward a celestial body, antennas to the ground station…).
76 The positions of x, y, and z in SFF at t 0 are known once the target is engaged and are indicated by column-vectors x 0 , y 0 , z 0 respectively. The DCM between BF and SFF at t 0 is:
𝑸 0 = [𝒙 0 𝒚 0 𝒛 0 ] = [
𝑄 11 𝑄 12 𝑄 13 𝑄 21 𝑄 22 𝑄 23 𝑄 31 𝑄 32 𝑄 33
] (4.3)
By comparison of Eq. (4.2) and (4.3), yaw-pitch-roll angles at t 0 can be determined:
tan 𝛼 = 𝑄 12
𝑄 11 (4.4)
sin 𝛽 = −𝑄 13 (4.5)
tan 𝛾 = 𝑄 23
𝑄 33 (4.6) There is no quadrant uncertainty in computing β because the principal values of the arcsine function coincide with the range of the pitch angle. Finding α and γ involves computing the inverse tangent, so we must once again be careful to place the results of these calculations in the appropriate range, [31]. This is performed by a Matlab ® function called atan2d_0_360.m.
In order to compute attitude at any subsequent time, the rate of change of DCM is required. A discrete approach to the problem has been implemented: after setting an appropriate time-step Δt, the change of DCM in time is given by:
𝑸(𝑡 + ∆𝑡) = 𝑪𝑸(𝑡) (4.7) Eq. (4.7) is the heart of the kinematic model. C is a general rotational matrix that brings x(t) into x(t+∆t), thus allowing the satellite to follow its target. It is characterized by a rotational axis e and a rotational angle θ. Actually, there are infinitely many combinations of e and θ to perform this rotation: if θ is chosen as the angle between x(t) and x(t+∆t), then the transformation is called a “minimum-angle” rotation, [30].
Intuitively, this is the most efficient (i.e., the fastest) way to satisfy pointing
requirements, and both e and θ are known from information on target.
77 Figure 4.4 - Minimum-angle rotation (adapted from [30])
The operative definition of C is the following:
𝑪 = cos(𝜃)𝑰 + (1 − cos(𝜃))𝒆𝒆 𝑇 − sin(𝜃)𝑬 (4.8) where I is a 3x3 identity matrix, e is a column unit-vector having components e 1 , e 2 , e 3 in SFF and:
𝑬 = [
0 −𝑒 3 𝑒 2
𝑒 3 0 −𝑒 1
−𝑒 2 𝑒 1 0
] (4.9)
In the end, from the definition of θ the angular velocity vector is computed at any time-step:
𝝎 = 𝜃
∆𝑡 𝒆 (4.10)
4.3 Target selection and modelling
Four different kinds of target are proposed, each of which has its own peculiarities.
In order to have an effective pointing, some hypotheses made in the previous
chapters must be released, as discussed below. Since the pointing law is specified
only for n, these models are sometimes called “one pointing vector laws”, [33].
78 4.3.1 Fixed point in space
This kind of target is typical of space observation missions. The present day, the most popular mission is maybe the one of Hubble Space Telescope, which is next to its End-Of-Life time and whose complete decay is planned in the decade 2030- 2040. Targets like stars, which are several light-years far away from the Sun, can be considered essentially fixed in space, since their proper motion is very much slower than, for example, the motion of Earth around the Sun.
Figure 4.5 - Fixed point in space (adapted from [33])
To specify such targets, it is convenient to introduce the Heliocentric Ecliptic Frame (HEF), [21], whose origin is at the centre of the Sun and:
X-axis (unit vector i e ) is the same as the one of GRF and is given by the intersection between the equatorial and ecliptic planes;
Z-axis (unit vector k e ) is perpendicular to the ecliptic plane, in the northerly direction, so that k e and k lie in the same hemi-space;
Y-axis (unit vector j e ) makes up a right-handed orthogonal set with the
previous two.
79 Figure 4.6 - Elliptic Earth orbit in HEF
Both GRF and HEF have an axis in common and they only differ in the angle ϵ between ecliptic and equatorial plane, whose mean value is about 23.5°.
Because of nutation and precession phenomena, the terrestrial axis slightly moves, therefore ϵ is not constant but tends to decrease in time, [21]. Moreover, the assumption that Earth’s orbit around the Sun is circular cannot satisfy so strong pointing requirements. The definition of the Earth’s ellipse in HEF must be considered in order to compute the correct Earth-Sun relative position (which can be either Earth’s position in HEF or Sun’s position in GRF). The following semi-analytic polynomial formulation, taken from [21], allows evaluating a more refined position of the Sun in GRF, in which also the target coordinates can be rewritten after coordinate transformation from HEF to GRF.
1. Evaluate the number of centuries C from jd 2000 to jd of observation:
𝐶 = 𝑗𝑑−𝑗𝑑 2000
36525 (4.11) 2. Compute the Sun’s mean longitude L m,Sun , [deg], with a first-order polynomial
expression:
𝐿 𝑚,𝑆𝑢𝑛 = 280.4606184° + 36000.77005361 ∙ 𝐶 (4.12) 3. Compute the Sun’s mean anomaly M Sun , [deg], with a first-order polynomial
expression:
𝑀 𝑆𝑢𝑛 = 357.5277233° + 35999.05034 ∙ 𝐶 (4.13)
4. Compute the Sun’s ecliptic longitude L Sun , [deg] (already defined in Eq. (3.4)):
80 𝐿 𝑆𝑢𝑛 = 𝐿 𝑚,𝑆𝑢𝑛 + 1.91466471° ∙ sin(𝑀 𝑆𝑢𝑛 ) + 0.019994643° ∙ sin(2𝑀 𝑆𝑢𝑛 ) (4.14) 5. The Earth-Sun distance in AU (indicated as r Sun in GRF) is given by:
𝑟 𝑆𝑢𝑛 = 1.000140612 − 0.016708617 ∙ cos(𝑀 𝑆𝑢𝑛 ) − 0.000139589 ∙ cos(2𝑀 𝑆𝑢𝑛 ) (4.15) 6. The variation of ϵ in time is obtained from:
𝜖 = 23.439291° − 0.0130042 ∙ 𝐶 (4.16) Finally, the Sun position-vector in GRF is given by Eq. (3.3) with the quantities evaluated as above and multiplied by r Sun .
At any time, pointing vector n is the norm of satellite-target vector in GRF, which is determined from the knowledge of Sun, satellite and target’s position.
As an example, consider the following case: from astronomical calculations, it is known that, at midday of 1 st January 2000, Saturn and its moons transit at the following point in HEF (data taken from [21]):
𝒓 𝑡𝑎𝑟𝑔𝑒𝑡 = −8.9625𝒊 𝒆 + 2.6322𝒋 𝒆 + 0.3101𝒌 𝒆 [AU] (4.17)
Figure 4.7 - Sketch of Earth’s orbit and target position
81 A GEO satellite has the task to make surveillance on this point over one year, beginning on 1 st July 1999, 12:00. Satellite’s attitude is visualized below in terms of yaw-pitch-roll angles.
Figure 4.8 - Yaw-pitch-roll angles over one year
In fact, one appreciates considerable variations of attitude angles only along one
Earth’s orbit around the Sun, due to the enormous distances separating target and
satellite if compared to r Sun . The behavior of α(t), β(t), γ(t) is better understood after
plotting the components of ω, which are expected to be very low in this case and, in
fact, are on the order of 10 -8 rad/s.
82 Figure 4.9 – Components of ω over one year
Since the inclination of Saturn’s orbit is quite small (≈2.48°), the target is “almost” on the HEF X-Y plane 5 . This explains why global maximum excursion (≈15°) is reached by α, which describes a rotation about z, while maximum excursion for β is smaller (≈5°). Moreover, n ≡ x, therefore rotations about x (γ angle, and so ω x ) are very small just from the beginning, when the target is acquired.
Figure 4.10 - Components of ω for the first 5 orbits
5