4 Navigation & Docking System
4.6 Attitude Determination
precisely positioned, the range provided by the analytical solution is not precisely 5 m and 1 m.
The threshold effect in Figure 4.34c is provided in Figure 4.35 and shows that all the parasite signals are not removed from the image. The detection algorithm (using only the geometrical features) is efficiently rejecting reflections.
(a) Grayscale image. (b) Binary image.
Figure 4.35 – Tresholding effect for a grayscale image conversion to binary image. The central 5 LEDs pattern is seen on the top right corner and the Sun simulator occupies the image left-half part.
During the whole experiment, no reflections were observed on the CubeSat structure.
However, it is still highly recommended to treat the docking mechanism with an anti-reflective coating.
4.6 Attitude Determination
As described in Section 2.3.1, several attitude sensors are installed onboard the chaser and the target. The gyroscope and magnetometer are not influenced by external perturbations and are nominally always available. The sun sensors are only available out of eclipse.
Finally, the star tracker has a 45 deg sun-to-boresight exclusion angle which will prevent its use under certain illumination conditions.
An attitude determination filter capable of handling the different sensors availabilities is necessary to achieve the required attitude pointing accuracy. The Mission Mode Extended Kalman filter is selected [30, p. 257]. This EKF uses quaternions to represent the attitude.
Chapter 4. Navigation & Docking System
This filter has the main advantage not to require re-tuning if the satellite inertia changes.
It is thus well adapted for satellites equipped with propulsion, as then CoM and inertia vary throughout the mission.
The mission mode EKF will not be entirely derived here, but the main steps are provided for the sake of comprehension. A full derivation of the filter can be found in [30].
4.6.1 Quaternions Error
A quaternionq is composed of a vectorial part q1:3 and a scalar part q4. The convention used in this thesis follows [30, 291]:
q =
⎡
⎢⎢
⎢⎣ q1
q2
q3
q4
⎤
⎥⎥
⎥⎦=
q1:3 q4
(4.53)
The definition of a quaternion results from the special orthogonal group in dimension three SO(3). For any DCM R∈ SO(3), RRT = 1 and det(R) = 1. This means that
∀ v ∈ R3
vTRTRv = v2 > 0 (4.54)
A vectorv is an eigenvector of R if and only if Rv = λv, then:
vTRTRv = (Rv)T(Rv) = λ2v2 (4.55)
which means that the spectrum of any DCM is
λ = {1, e±iϑ} (4.56)
In particular,∃e ∈ R3 such thatRe = e for R ∈ SO(3). With this definition, any rotation can be expressed in terms of a rotation axis e and an angle ϑ. The corresponding DCM is A(e, ϑ) and can be expressed as
A(e, ϑ) = e−[ϑ×]= A(ϑ) (4.57)
whereϑ = eϑ.
4.6. Attitude Determination
With this formulation, it can be seen that q = 1. The quaternion representation of a DCM is given by:
A(q) = (q42− q1:32)1 − 2q4[q1:3×] + 2q1:3qT1:3 (4.59)
where1 is the dimension three identity matrix.
The product of two quaternions q and ¯q is defined in two alternative ways:
q ⊗ ¯q = [q⊗] ¯q = [Ψ(q) q] ¯q (4.60a)
The following identity follows from these definitions:
q ⊗ ¯q = ¯q q (4.62)
The quaternions multiplication and rotation matrix are related as follow:
A(q ⊗ ¯q) = A(q)A(¯q) (4.63)
The difference between two quaternions is defined as:
δq =
Chapter 4. Navigation & Docking System
whereq∗ is the conjugate quaternion q∗=
−q1:3 q4
(4.65)
Representing an attitude error instead of the true attitude is convenient as it allows a bijective relation between quaternion and Euler angles, in the small angles approximation.
The first order Taylor expansion assuming δϑ 1 is:
A(e, δϑ) = e−[δϑ×]≈ 1 − [δϑ×] (4.66a)
A(δq) = (δq42− δq1:32)1 − 2δq4[δq1:3×] + 2δq1:3δqT1:3 ≈ 1 − 2 [δq1:3×] (4.66b)
whereδq42− δq1:32 ≡ cos2(δϑ/2) − sin2(δϑ/2) = cos(δϑ), and
2δq4δq1:3≡ 2 sin(ϑ/2) cos(ϑ/2) = sin(ϑ), using the definition of a quaternion.
Thus, in the small angle approximation
δϑ = 2δq1:3 (4.67)
which shows that in this limit (δϑ 1), Euler angles and quaternions representations are identical. The main advantage of using a quaternion representation is that it is free of singularities, as opposed to Euler angles (see Chapter 3). The P2P dynamics allows docking in any configuration. Therefore, the ADCS should be able to reach any attitude to align the chaser and target docking ports before initiating the VBN. The mission mode EKF with the quaternion representation is thus adapted for RVD missions.
4.6.2 Mission Mode EKF
Only the attitude and gyroscope bias are estimated in the filter. To use the small angle approximation, the EKF will be estimating differences (errors) rather than the full attitude and bias. The EKF state vector is thus:
Δx =
δϑ Δβ
(4.68)
whereβ is the gyroscope bias. In this case, the updated attitude matrix is:
A(ˆq+) = A(δϑ)A(ˆq−) (4.69)
where ˆq− is the a priori estimated quaternion.
4.6. Attitude Determination
To correct the bias present in the gyroscope measurement, the following model is used:
ω = ωtrue+βtrue+ηv (4.70a)
β˙true=ηu (4.70b)
ηvis called Angular Random Walk (ARW) and is a white noise. ηuis called Rate Random Walk (RRW) and is a brown noise. Only the bias is estimated and used to correct the measured angular rate. The estimated (corrected) angular rate is:
ω(t) = ω(t) − ˆβˆ (4.71)
whereω(t) is the biased angular rate (4.70a).
Sun sensors or magnetometers are measuring directions (i.e. vectors) in the satellite body frame, denotedb. Their inertial expressions are denoted r. The measurement equations are:
where v represents measurement noises. These equations relate the measured vectors in the body frame to their inertial expression. The inertial vectors are obtained using onboard models.
Such measurement equations between vectors, expressed in the body and inertial frames, provide the attitude of the satellite with respect to the inertial frame. The attitude between the body frame and any other frame can be obtained by changing the frame associated with the reference vectorsr.
The Jacobian H of h(ˆq−) must be computed for the EKF, with respect to the state variables δϑ and Δβ. The following relations are established using the a priori and a posteriori attitude estimates:
ˆb+= A(ˆq+)r (4.73a)
ˆb−= A(ˆq−)r (4.73b)
Chapter 4. Navigation & Docking System
The measurement error is then:
Δˆb = ˆb+− ˆb−= A(δϑ)A(ˆq−)r − A(ˆq−)r (4.74)
= (1 − [δϑ×]) A(ˆq−)r − A(ˆq−)r (4.75)
= [A(ˆq−)r×]δϑ (4.76)
For sensors providing a quaternion directly, such as star trackers, the measurement equation can be built using the error quaternion:
y = δϑST+v = 2(qST⊗ (ˆq−)∗)1:3
(qST⊗ (ˆq−)∗)4 +v = h(ˆq−) +v (4.77)
wherev is measurement noise.
Assuming that a Sun sensor, a magnetometer, and a star tracker are available, the measurement vector is:
The non-linear measurement equations are thus:
h(ˆx−) =
and the associated Jacobian H is:
H(ˆx−) =
The measurement noise covariance matrix is given by:
Rk= diag
σ2sun σ2mag.σ2ST
(4.81)
The EKF formulation is provided in Table 4.6.
4.6. Attitude Determination
Table 4.6 – Mission Mode EKF for Sun sensors, magnetometer and Star tracker mea-surements.
The propagation step for ˙ˆq(t) is done using a fourth-order Runge-Kutta [296, p. 711].
Given a first-order differential equation:
dy(x)
dx = f (x, y) (4.82)
Chapter 4. Navigation & Docking System
The covariance matrixP is propagated using a discrete method to decrease computational loads. The matrix Fk is:
Fk= eΔtF (t) (4.84)
The discrete dynamics process-noise covariance matrixQk is:
Qk=
The gyroscope ARW and RRW standard deviations are: σv and σu. These values can be obtained from gyroscope data sheets. Note that the gyroscope bias is modelled with σu
only. The term σv represents the gyroscope white noise disturbance and appears in ˙ˆq(t) through ω. Consequently, σv contains the gyroscope ARW and any kinematics/dynamics process noise.
The initial bias β0 can be set to zero as there is no a priori knowledge of its initial value. The initial quaternion ˆq0 can be obtained using the TRIAD algorithm [24]. This algorithm builds a quaternion using two vectors in the body frame and their associated representation in the inertial frame. The Sun sensors and magnetometer measurement vectors together with their inertial modelled values can thus be used in the TRIAD algorithm to obtain the initial quaternion. Finally, the initial covariance P0 must be chosen according to the level of knowledge on the initial values of attitude and bias.
Figures 4.14, 4.15, and 4.16, illustrating how a Kalman filter accuracy can be assessed,