An Accurate, Inexpensive Attitude Determination and Control System for CubeSats by Duarte Rondão, Cass Hussmann and Afzal Suleman Part 4

From The Space Library

Revision as of 15:57, 8 November 2016 by DRondao (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

IV. Attitude Control

For the scope of this work, the attitude control for ECOSat-III is divided into two main parts: detumbling and nadir-tracking. Detumbling, or despin, consists of bringing the satellite’s rotation rates close to zero after separation. This is typically done by resorting to a magnetometer and magnetorquer combination, since the rotation rates are typically too high to acquire line-of-sight measurements. The classical way to despin from arbitrary initial tumbling is achieved with the so-called B-dot law [12], by commanding the \ i^{th} magnetorquer dipole according to

m_i = k\overset\cdot{b}_i, \mathfrak{i = 1, 2, 3}, \ {k > 0}, (IV.1)

where \overset\cdot{b}_i is the derivative of the \ i^{th} component of the magnetic field expressed in frame \mathcal {B} and \ k is a constant gain.

\overset\cdot{b}_i is obtained directly by differentiating the output of the satellite magnetometer. However, if this measurement is noisy, its derivative will be more so.

An improved solution is given in [13]. The commanded magnetic torque is given by:

\textbf{m} = - \frac{k}{\parallel\textbf{b}\parallel^2}\textbf{b} \times \begin{bmatrix}(\textbf{I}_3 - \frac{\textbf{bb}^T}{\parallel\textbf{b}\parallel^2})\omega \end{bmatrix} (IV.2)

This leads to the control law

\textbf{L}^m = -k (\textbf{I}_3 - \frac{\textbf{bb}^T}{\parallel\textbf{b}\parallel^2})\omega (IV.3)

A criterion on how to estimate the gain \ k is given in [13].

Nadir-tracking consists of keeping the body frame, \mathcal {B}, aligned with the orbital frame, \mathcal {O}. To achieve this, a sliding controller for the reaction wheels with quaternion and angular velocity feedback is employed [1,14]:

\overline{\textbf{L}}^w = \textbf{J}\begin{Bmatrix}\frac{k}{2} \begin{bmatrix}\parallel\delta q\parallel (\omega_c - \omega) - sign (\delta q) \delta e \times (\omega + \omega_c) \end{bmatrix} + \overset\cdot {\omega}_c - \textbf{G}\overline{s}\end{Bmatrix} + \begin{bmatrix}\omega \times \end{bmatrix} \textbf{J}_\omega  (IV.4a)

\textbf{s} = (\omega - \omega_c) + ksign (\delta q) \delta e (IV.4b)

Here, \delta q = q \otimes q_c^{-1} is the error quaternion, \textbf{q}_c is the commanded quaternion, \ \omega_c is the corresponding commanded angular velocity, \overline{s} = sat(s,\varepsilon), sat (.) is the saturation function, \textbf \ \varepsilon, k are positive quantities and \textbf{G} is a positive definite matrix.

The application of a constant or rising torque causes an increase in the reaction wheel’s rotational speed, which may lead to saturation. To prevent this, the magnetorquers are used to dump momentum from the reaction wheels using a cross-product law [15]:

\textbf{L}^m = - k(\textbf{I}_3 - \frac{\textbf{bb}^T}{\parallel\textbf{b}\parallel^2})h (IV.5)

Please continue to Part 5 here