8. Attitude Determination, Control, and Sensing

8.5. Dynamics

 

major contributions from Dr. Zachary Manchester of Carnegie Mellon University

Different coordinate systems Image by API.

Attitude is the relationship between two reference frames, typically the spacecraft body and some inertial frame. “In mechanics and geometry, the 3D rotation group often denoted SO, is the group of all rotations about the origin of three-dimensional Euclidean space under the operation of composition” [Wikipedia].

Left vs Right-handed coordinate systems. Image by Oreilly.

A reference frame is a set of mutually orthogonal basis vectors that form a right-handed coordinate system. For our purposes, “reference frame” and “rigid body” go together. We will primarily deal with two kinds:

  • “Inertial” or “Newtonian” reference frame in which Newton’s laws hold
  • “Body-fixed” or just “body” reference frame is attached to and rotates with a rigid body

Vectors exist independent of our choice of reference frame or coordinates.

Vector \arrow{r} exists in both rectangular coordinates and polar coordinates. The representation of the vector in the rectangular coordinate frame is different than the representation in polar coordinates. Image by Amazon Naws.

When we want to perform calculations with numbers, we project vector \arrow{v} onto a set of basis vectors and write down its components:

It is very important to distinguish a vector from its components in different reference frames.

Attitude Representation

How do we parameterize attitude? A convention usually followed in aerospace is to use the rotation from the vehicle body frame “B” to some chosen inertial frame “N”. Unfortunately, this is not universal and in physics, the opposite convention in common. B → N attitude is convenient for thinking about where sensors are pointed.

Euler Angles

Earth-Centered Inertial coordinate system. Image by Edge.edu.

In aeronautics, the three Euler angles that describe the orientation of a rigid body are known as roll, pitch, yaw or bank, elevation, and heading. “Euler angles can be defined by elemental geometry or by the composition of rotations. The geometrical definition demonstrates that three composed elemental rotations (rotations about the axes of a coordinate system) are always sufficient to reach any target frame,” which is to say there is a way to reach any target frame with three single-axis rotations [Wikipedia]. “Euler angles are typically denoted as α, β, γ, or φ, θ, ψ.” [Wikipedia]. The sequence of Euler angles corresponds to a specific order of rotations about the axes. “There exist twelve possible sequences of rotation axes, divided into two groups:

  • Proper Euler angles (z-x-z, x-y-x, y-z-y, z-y-z, x-z-x, y-x-y)
  • Tait–Bryan angles (x-y-z, y-z-x, z-x-y, x-z-y, z-y-x, y-x-z).

Tait–Bryan angles are also called Cardan angles; nautical angles; heading, elevation, and bank; or yaw, pitch, and roll, tied to the rigid body” [Wikipedia].

Any target orientation can be reached, starting from a known reference orientation, using a specific sequence of intrinsic rotations, whose magnitudes are the Euler angles of the target orientation. This example uses the z-x′-z″ sequence. Image by Juan Sempere.
Any target orientation can be reached, starting from a known reference orientation, using a specific sequence of intrinsic rotations, whose magnitudes are the Euler angles of the target orientation. This example uses the z-x′-z″ sequence. Image by Juan Sempere.

Why should we use or avoid Euler angles? Euler angles are a minimal representation (only 3 parameters or numbers to keep track of) and they’re intuitive. In your head, you can think about rotations about a single axis in a sequence to get to the target frame. Euler angles have mathematical singularities at 90 degrees, which is equivalent to an undefined value and is mathematically scary to deal with if the satellite is to cross through this angle. Kinematics represented in Euler angles have trigonometric functions, which can also be messy to handle. In general, ADCS engineers do not use Euler angles for spacecraft in orbit but are more likely to choose this representation for other robot forms, like rovers or drones.

Singularity in 3D rotation angle sequences by Robotics QUT.

Rotation Matrix

Rotation matrices is a transformation matrix that is used to perform a rotation in Euclidean space [Wikipedia]. This representation is typically what students are taught in linear algebra to transform a column matrix from one coordinate system to another coordinate system; the following example is in two dimensions:

\begin{bmatrix}x' \\y'\end{bmatrix} =\begin{bmatrix}cos\theta & -sin\theta\\sin\theta & cos\theta\end{bmatrix}\begin{bmatrix} x\\y\end{bmatrix}

A counterclockwise rotation of a vector through angle θ. The vector is initially aligned with the x-axis. Image by Maths Poetry

In space, we need to work in three dimensions; rotations about individual axes look like so with subscript representing the axis of rotation and \theta representing the angle of rotation:

R_x(\theta)= \begin{bmatrix}1 & 0 & 0\\0 & cos\theta & -sin\theta\\0& sin\theta & cos\theta\end{bmatrix}

R_y(\theta)= \begin{bmatrix}cos\theta& 0 & sin\theta\\0 & 1 & 0\\-sin\theta& 0 & cos\theta\end{bmatrix}

R_z(\theta)= \begin{bmatrix}cos\theta & -sin\theta & 0\\sin\theta & cos\theta & 0\\0& 0 & 1\end{bmatrix}

What’s neat about using rotation matrices is that superimposed rotations is the product of matrix multiplication. The product, seen below, represents a rotation whose yaw, pitch, and roll angles are α, β and γ, respectively. More formally, it is an intrinsic rotation whose Tait–Bryan angles are α, β, γ, about axes z, y, x, respectively.

R=R_z(\alpha)R_y(\beta)R_x(\gamma)= \begin{bmatrix}cos\alpha & -sin\alpha& 0\\sin\alpha & cos\alpha & 0\\0&0 & 1\end{bmatrix}\begin{bmatrix}cos\beta & 0 & sin\beta \\0 & 1 & 0\\-sin\beta& 0 & cos\beta\end{bmatrix} \begin{bmatrix}1 & 0 & 0\\0 & cos\gamma & -sin\gamma\\0& sin\gamma & cos\gamma\end{bmatrix}

R=\begin{bmatrix} cos \alpha cos \beta & cos \alpha sin \beta sin \gamma -sin \alpha cos \gamma & cos \alpha sin \beta cos \gamma +sin \alpha sin \gamma\\ sin \alpha cos \beta & sin \alpha sin \beta sin \gamma + cos \alpha cos \gamma  & sin \alpha sin \beta cos\gamma -cos \alpha sin \gamma \\ -sin \beta & cos \beta sin \gamma & cos \beta cos \gamma \end{bmatrix}

Another neat property of rotation matrices is that to get the rotation matrix that goes flips/inverts the orientation, that rotation matrix is the inverse of the original rotation matrix. Further, because rotation matrices are orthogonal matrices, the inverse is the transpose. RT = R−1 Finally, the last neat property we’ll touch on is that the rotation matrix does not stretch the vector or matrix it modifies. In math speak, that means its determinant is 1 (where the determinant dictates the stretch factor). det R = 1. Why should we use or avoid rotation matrices? Rotation matrices are nonsingular, enable easy rotation of vectors, and exhibit linear kinematics. But! Rotation matrices are redundant in that there are 9 numbers for 3 degrees of freedom, which means there are 6 additional constraints.

Euler Axis/Axis-Angle

Any rotation matrix (bold) can be represented by a rotation of some angle about some axis. Image by Pratt.

“The axis–angle representation of a rotation parameterizes a rotation in a three-dimensional Euclidean space by two quantities: a unit vector e indicating the direction of an axis of rotation, and an angle θ describing the magnitude of the rotation about the axis. The axis–angle representation is predicated on Euler’s rotation theorem, which dictates that any rotation or sequence of rotations of a rigid body in a three-dimensional space is equivalent to a pure rotation about a single fixed axis. The axis–angle representation is equivalent to the more concise rotation vector, also called the Euler vector. In this case, both the rotation axis and the angle are represented by a vector codirectional with the rotation axis whose length is the rotation angle θ,” [Wikipedia]

{\displaystyle {\boldsymbol {\theta }}=\theta \mathbf {e} \,.}

(axis,angle)=(\begin{bmatrix} e_x\\ e_y\\ e_z \end{bmatrix} , \theta)

Example from Wikipedia: Say you are standing on the ground and you pick the direction of gravity to be the negative z-direction. Then if you turn to your left, you will rotate \tfrac{\pi}{2} radians (or 90°) about the z-axis. Viewing the axis-angle representation as an ordered pair, this would be:

(axis,angle)=(\begin{bmatrix}e_x\\ e_y\\ e_z \end{bmatrix} , \theta)=(\begin{bmatrix} 0\\0\\1\end{bmatrix}, \tfrac{\pi}{2})

The above example can be represented as a rotation vector with a magnitude of \tfrac{\pi}{2} pointing in the z-direction.

\begin{bmatrix}0\\ 0\\\tfrac{\pi}{2}\end{bmatrix}

Why should we use or avoid Euler axis-angles? Just like Euler angles, the axis-angle representation is intuitive and minimal but has singularities in kinematics at 180 degrees.

Quaternions

Visualizing quaternions (4d numbers) with stereographic projection. This 30-minute video describes the history, intuition, complex math background, and mechanics behind quaternions. Watch if you love attitude dynamics! And for an interactive lesson, check out this page: https://eater.net/quaternions

I will preface this section by saying that I didn’t understand quaternions until I’ve had to apply them to spacecraft attitude dynamic simulations after at least the fourth time and most likely still don’t fully appreciate their mathematical elegance. I don’t want to take the space to review complex numbers in higher dimensions so if you’re really interested in the theory, please watch some videos and read the Wikipedia article! Practically speaking, a quaternion in matrix form can be found by converting an Euler axis-angle representation with the following equation:

\underbar{q} = \begin{bmatrix}q_x\\ q_y\\ q_z\\ q_s\end{bmatrix} = \begin{bmatrix}e_x sin(\tfrac{\theta}{2}) \\ e_y sin(\tfrac{\theta}{2}) \\ e_z sin(\tfrac{\theta}{2}) \\cos(\tfrac{\theta}{2})\end{bmatrix} = \begin{bmatrix}\underbar{e}sin(\tfrac{\theta}{2})\\cos(\tfrac{\theta}{2})\end{bmatrix}

where e is the axis and \theta is the angle. The quaternion vector has a vector component (the components touching the axis) and a scalar component (that one component that is only a function of angle). This conversion comes from the following complex mathematical relationship

q=e^\tfrac{\theta}{2}(u_{x}i+u_{y}j+u_{z}k) =cos\tfrac{\theta}{2}+(u_{x}i+u_{y}j+u_{z}k)sin\tfrac{\theta}{2}

where u is the axis and \theta is the angle.  For some more intuition, here are some quaternions with their analogous axis-angle and euler angle descriptions:

Neat properties of the quaternion make it conducive to easy simulations. Quaternions have an identity quaternion, where there is no axis or angle:

\underbar{q}_I= \begin{bmatrix} \underbar{e} sin(0) \\ cos(0) \end{bmatrix} = \begin{bmatrix}0 \\ 0 \\ 0 \\1\end{bmatrix}

Quaternion inverses are also the quaternion conjugates:

\underbar{q}^{-1}= \begin{bmatrix} \underbar{e} sin(\tfrac{-\theta}{2}) \\ cos(\tfrac{-\theta}{2})\end{bmatrix} =\begin{bmatrix}-\underbar{e} sin(\tfrac{\theta}{2}) \\ cos(\tfrac{\theta}{2})\end{bmatrix} = \underbar{q}^+

There are 2 quaternions corresponding to every 3D rotation, the original quaternion and the negative quaternion. This phenomenon is due to that fact that the two hemispheres that represent quaternion rotation are redundant:

\underbar{q}= \begin{bmatrix} \underbar{e} sin(\tfrac{\theta+2\pi}{2}) \\ cos(\tfrac{\theta+2\pi}{2})\end{bmatrix} = \begin{bmatrix}-\underbar{e} sin(\tfrac{\theta}{2}) \\ -cos(\tfrac{\theta}{2})\end{bmatrix} = -\underbar{q}

Quaternions can be multiplied, for simplicity let’s define intermediate variables to split the quaternion vector and scalar components:

\underbar{q} =\begin{bmatrix} \underbar{e} sin(\tfrac{\theta}{2}) \\ cos(\tfrac{\theta}{2})\end{bmatrix} =\begin{bmatrix}\underbar{v} \\ s \end{bmatrix}

And define the cross symbol superscript as:

{v}^\times = \begin{bmatrix}0 & v_3 & -v_2 \\-v_3 & 0 & v_1 \\v_2 & -v_1 & 0\end{bmatrix}

In these intermediate terms, we multiply two quaternions noted by the subscripts 1 and 2:

\underbar{q}_1 \underbar{q}_2 =\begin{bmatrix}s_1 \underbar{v}_2 + q^s_2 \underbar{v}_1 + \underbar{v}_1 \times \underbar{v}_2 \\s_1 s_2 - \underbar{v}_1^T\underbar{v}_2\end{bmatrix}= \begin{bmatrix}s_1 I + \underbar{v}_1^\times & \underbar{v}_1 \\ -\underbar{v}_1^T  s_1\end{bmatrix}\begin{bmatrix}\underbar{v}_2 \\ s_2\end{bmatrix}

= \begin{bmatrix} s_2 I - \underbar{v}_2^\times & \underbar{v}_2 \\ -\underbar{v}_2^T & s_2\end{bmatrix}\begin{bmatrix}\underbar{v}_1 \\ s_1\end{bmatrix}

You’ll notice that this multiplication can be achieved by creating a 4×4 quaternion matrix to rotate a quaternion, where I is a 3×3 identity matrix and the cross symbol superscript represents the cross matrix notation. The quaternion matrix can be composed of just q_1 or q_2 components but order does matter! Notice that if q_1 creates the matrix, the first index term has a + sign and if q_2 creates the matrix, the first index term has a – sign.

To rotate a vector:

\begin{bmatrix}\prescript{N}{}{\underbar{x}} \\ 0\end{bmatrix} = q\begin{bmatrix}\prescript{B}{}{\underbar{x}} \\ 0\end{bmatrix} q^+

Remember that q is the rotation from body frame to inertial frame (by implication) and q^+ is the quaternion conjugate.

Quaternions work just like rotation matrices:

R_3 = R_2 R_1 & \longleftrightarrow q_3 = q_2 q_1

R_1 = R_2^T R_3\longleftrightarrow q_1 = q_2^+ q_3

\prescript{N}{}\underbar{x}^\times = R \prescript{B}{}{\underbar{x}}^\times R^T  \longleftrightarrow\begin{bmatrix}\prescript{N}{}{\underbar{x}} \\ 0\end{bmatrix} = q\begin{bmatrix}\prescript{B}{}{\underbar{x}} \\ 0\end{bmatrix} q^+

Now, why should we use or avoid quaternions? They are non-singular and easily compute dynamics. Computer graphics engineers and ADCS engineers tend to prefer the use of quaternions when computing rotations in the back end of software due to the computational efficiency and mathematical elegance when coding. Quaternions use 4 numbers to represent 3 degrees of freedom, so there is redundancy in incorporating 1 constraint but otherwise is rather minimal in the number of parameters it needs. But! Quaternions can be nonintuitive and during simulation analysis or testing, the results in quaternions may be hard to verify. This shortcoming can be overcome by converting quaternion outputs into intuitive attitude representations, like Euler angles and axis-angles, during testing but leaving the quaternion math as the computational workhorse in the flight software.

Converting between Attitude Representations

If you’re ever in doubt as to what an attitude means in one representation, try converting to another representation. Euler angles and axis-angles are visually very intuitive so try plotting these attitude representations. Rotation matrices are intuitive when doing linear algebra but consist of a bunch of trigonometric numbers that are hard to collectively make sense of with a glance. Quaternions utilize complex math but can be visually intuited with an axis-angle conversion. To convert from one formalism to another, I use this Wikipedia page so frequently that I may as well bookmark it.

Exercises

Try scrolling through this python notebook and play with the attitude representations:

Kinematics

Without any attention to forces and torques, how does a rotating body move naturally with no disturbances? This section will derive some fundamental math that shows why quaternions are our friends and leads to rigid body dynamic equations of motion (our ultimate goal in the dynamics section). If there was any subsection you must read, read quaternion kinematics.

Rotation Matrix Kinematics

Let’s start with rotation matrices. Say we measure an angular velocity \omega(t) from a gyroscope and our attitude is represented as a rotation matrix R(t). How do we integrate our angular velocity profile \omega(t) to get a rotation matrix profile R(t)?

We want to find the rate of change of the rotation matrix R over time. We can then integrate this derivative to get R(t).

To find this relationship, we need to review velocities in a rotating reference frame. The classic example is a bug traveling on a record that is spinning at a constant rate.

To find the velocity of the bug in the inertial frame ^N_x, we need to add up its velocity on the record ^B_x and the contribution of the record spinning ^B_{\omega} …. This equation embodies the kinematic transport theorem. Although you could have guessed, the superscript on the left of the variable represents the frame the variable is in. The rotation matrix has two superscripts, the right superscript represents the current frame the matrix is acting upon and the left superscript is where the matrix is taking the variable. In the following equation, the rotation is modifying velocity in the body frame and taking it to the inertial frame.

In the inertial frame of reference (upper part of the picture), the black object moves in a straight line. However, the observer (red dot) who is standing in the rotating frame of reference (lower part of the picture) sees the object as following a curved path. Gif by Coriolis Kraft Animations. 

Imagine a vector \underbar{x} fixed in the body frame. The derivative of this vector, velocity, is found with the chain rule:

From the kinematic transport theorem, we can also cancel out the body derivative:

By equivalency, we found the derivative of the rotation matrix!

Remember the cross symbol superscript operator:

v^{\times}=\begin{bmatrix}0 & v_3 & -v_2\\-v_3 & 0 & v_1\\v_2 & -v_1 & 0\end{bmatrix}

We could stop there and use a computational integrator to integrate \dot{R}(t) to get R(t), which is a numerical solution. We could also find the analytical solution for the rotation matrix profile based on ordinary differential equations. If you have a pretty strong understanding of linear systems and differential equations, read on! Otherwise, not necessary.

The analytical solution for R(t) starts with seeing that the rotation matrix derivative equation has a similar form as a linear, time-invariant model in state equation form, which has a solution form like so:

\prescript{N}{}{\dot{R}}^B = \prescript{N}{}R^B \prescript{B}{}{\omega}^\times \quad \leftrightarrow \quad \dot{x} = Ax \longrightarrow x(t) = e^{At}x_0

For a constant angular velocity, the analytical solution is:

Quaternion Kinematics

To reiterate the problem: Say we measure an angular velocity \omega(t) from a gyroscope and our attitude is represented as a quaternion q(t). How do we integrate our angular velocity profile \omega(t) from the quaternion at the current time step, q_1, to the quaternion at the next time step,q_2? What is the relationship to computing \dot{q}?

For this derivation, our initial attitude, q_1, is rotated by some very small angular displacement, \deltaq, to get us to our final attitude, q_2. By expanding \deltaq, we see that we can apply a small angle approximation to simplify the trigonometric functions.

q_2 = q_1 \delta q= q_1 \begin{bmatrix} \underbar{e} sin(\tfrac{\delta \theta}{2}) \\ cos(\tfrac{\delta \theta}{2}) \end{bmatrix}\approx q_1 \begin{bmatrix} \underbar{e} \tfrac{\delta \theta}{2} \\ 1 \end{bmatrix}= q_1 + q_1 \begin{bmatrix} \underbar{e} \tfrac{\delta \theta}{2} \\ 0 \end{bmatrix}

To finish the derivation, we define the quaternion derivative as the change in quaternion over some small in time:

\dot{q} = \tfrac {q_2-q_1}{\delta t} = \tfrac{q_1 \begin{bmatrix}\underbar{e} ^\tfrac{\delta\theta}{2}\\0\end{bmatrix}}{\delta t} = \tfrac {1}{2} q_1 \begin{bmatrix} \omega\\0\end{bmatrix}

To compare this final quaternion equation with the rotation matrix equivalent:

\prescript{N}{}{\dot{R}}^B = \prescript{N}{}R^B \prescript{B}{}{\omega}^\times \longleftrightarrow \dot{q} = \tfrac{1}{2} q_1 \begin{bmatrix} \omega \\ 0 \end{bmatrix}

Pretty similar expressions but the quaternion expression has a factor of ½, which comes from the double cover in rotation.

That was short and sweet, right? Shorter derivation than the rotation matrix derivation with intuitive mechanics and fewer parameters (numbers) to keep track of? Hopefully, we showed you how to propagate attitude with the quaternion representation and why dynamicists prefer using quaternions!

Rigid Body Dynamics

“Rigid” means the distances between points in the body are constant. The difference between this section and the previous kinematics section is that kinematics is the study of motion without forces/torques; dynamics is the study of motion from forces/torques. Structural natural frequencies are rigid body frequencies, to be contrasted with flexible body frequencies. We can get pretty far modeling spacecraft as rigid bodies.

Moment of Inertia

J = - \sum_i m_i \underbar{r}_i \underbar{r}_i

J^T = J

Rigid bodies have moments of inertia, otherwise known as the mass moment of inertia, angular mass, or rotational inertia, of a rigid body, is a quantity that determines the torque needed for a desired angular acceleration about a rotational axis; similar to how mass determines the force needed for the desired acceleration. It depends on the body’s mass distribution and the axis chosen, with larger moments requiring more torque to change the body’s rate of rotation” [Wikipedia]. The moment of inertia dyadic is calculated with the mass of bodies at their center of mass displacement from the overall mass displacement. The moment of inertia dyadic is symmetrical as in the dyadic’s transpose is equivalent to the original dyadic. In some coordinate frames, the moment of inertia matrix is equivalent to a diagonal matrix; this coordinate frame that produces a diagonal matrix is called the “principal axes”. For rigid bodies that are connected, their combined moment of inertia dyadic can be calculated with the parallel axis theorem.

 

Angular Momentum

This gyroscope remains upright while spinning due to the conservation of its angular momentum. Image by Kiko2000.

Conserved quantities in rigid body dynamics are angular momentum and kinetic energy. “Angular momentum is the rotational equivalent of linear momentum. The total angular momentum of a closed system remains constant. There are two special types of angular momentum: the spin angular momentum and orbital angular momentum” [Wikipedia]. Orbital angular momentum is a nice way to define the orbital plane but in this section, we are concerned with spin angular momentum. Angular momentum is the moment of inertia dyadic, I,(second-order tensor) dotted with the body’s angular velocity vector, \omega. These variables are not attached to a coordinate frame, yet! The magnitude of angular momentum is constant if there are no disturbances.

\underbar{h} = J \cdot\omega}

||h||= constant

Kinetic Energy

Rotational kinetic energy from spin is the rotational equivalent of translational kinetic energy. Kinetic energy is also a conserved quantity. The moment of inertia dyadic is positive definite, as no matter what values are in the angular velocity vector, energy can never be negative. This value will be valuable later on for analysis.

T = \tfrac{1}{2} \omega} ^T \cdot J \cdot \omega}

T = constant

Euler’s Equations

So remember earlier, angular momentum is constant when there are no disturbances? As a reminder, here’s the equation for angular momentum in the inertial frame:

When there are torques applied to the system, we need to find a relationship between torque and angular momentum, which can be in terms of angular velocity and moment of inertia. The derivative of angular momentum is torque and by the chain rule:

The direction of this derivation will be too messy and hard because the inertial derivative of inertia is complex so let’s go another direction. Let’s use the transport theorem discussed in the kinematics section instead to derive the torque in inertial frame:

\prescript{N}{}{\dot{x}} = \prescript{N}{}R^B ( \prescript{B}{}{\dot{x}} + \prescript{B}{}{\omega} \times \prescript{B}{}{x})

\Longrightarrow \prescript{N}{}{\dot{h}} = \prescript{N}{}R^B ( \prescript{B}{}{\dot{h}} + \prescript{B}{}{\omega} \times \prescript{B}{}{h} ) = \prescript{N}{}{\tau}

\Longrightarrow \prescript{B}{}{\dot{h}} + \prescript{B}{}{\omega} \times \prescript{B}{}{h} = \prescript{B}{}{\tau}

Similarly, the torque equation in the body frame is easily found by rotating the inertial equation. If we break down this body equation into angular velocity and inertia terms, we get Euler’s rigid body equation!

\prescript{B}{}{J}\prescript{B}{}{\dot{\omega}} + \prescript{B}{}{\omega} \times \prescript{B}{}{J} \prescript{B}{}{\omega} = \prescript{B}{}{\tau}

This golden equation is critical to any rigid body dynamics simulation. The reason why we work in this frame is that many of the terms can be easily defined. The moment of inertia is known in the body frame, is easily measured or calculated in C_D. The angular velocity is measured in the body frame as the gyroscope is mounted to the spacecraft within its body frame. Finally, torque can be applied in the inertial frame or body frame. External torques or torques from the space environment are typically measured in the inertial frame. Internal torques or torques generated from the spacecraft are typically measured in the body frame. These two types of torques will be expounded upon later in this section.

Parameters and Analysis

Moments of Inertia

Depending on the reference frame in which you calculate the moment of inertia matrix, there can be terms in all indices; notice the off-diagonal components:

J = \begin{bmatrix}j_{11} & j_{12} & j_{13} \\ j_{21} & j_{22} & j_{23} \\ j_{31} & j_{32} & j_{33}\end{bmatrix}

There is a reference frame in which this matrix can be rotated such that the off-diagonal components go to zero. “When the axes are such that the tensor of inertia is diagonal, then these axes are called the principal axes of inertia” [MIT]. If you’re interested in how to find the rotation that yields principal axes, refer to the MIT open course notes!

\prescript{P}{}{J} = \begin{bmatrix}j_{11} & 0 & 0 \\ 0 & j_{22} & 0 \\ 0 & 0 & j_{33}\end{bmatrix}

If we were to write Euler’s rigid body equations in principal axes, we would see the most explicit definition of Euler’s equations, where the variables are defined slightly different (I is inertia and M is torque/moment):

I_1\dot\omega_1 + (I_3 - I_2) \omega_2 \omega_3 =M_1

I_2\dot\omega_2 + (I_1 - I_3) \omega_3 \omega_1=M_2

I_3\dot\omega_3 + (I_2 - I_1) \omega_1 \omega_2=M_3

Equilibria

The Bizarre Behavior of Rotating Bodies, Explained. Video by Veritasium

If there were no external or internal torques acting on the rigid body, the spacecraft would settle into angular momentum equilibria. Let’s go through a derivation that reveals the number of equilibria by re-writing Euler’s equation in terms of h:

J \dot{\omega} + \omega \times J \omega = 0

\Longrightarrow \dot{h} + (J^{-1} h )\times h = 0

\Longrightarrow \dot{h} = h \times (J^{-1} h )

Equilibria occur when \dot{h}=0:

0=h\times(J^{-1}h)

 

Through linear algebra properties, we know h is an eigenvector of J, which means h is parallel to a principal axis. The six equilibria are angular momentum vectors along latex.

\pm p_1, \pm p_2, \pm p_3

Stability

Gyroscopes: Rotation, Precession, and Nutation. Video by Viken Kiledjian.

Which of these equilibria is stable? To find out, we need to linearize about these equilibrium points and let’s assume

j_{11} < j_{22} < j_{33}.

For the case where the primary motion is about the first principal axis, let’s think about a case where \omega_1 >> \omega_2, \omega_3 and \omega_1 is some value spin rate \omega_0. To find what \omega_2, \omega_3 values are:

 \dot{\omega}_2 = \omega_0 (\frac{j_{33}-j_{11}}{j_{22}}) \omega_3 = \alpha_1 \omega_3 where \alpha_1 >0

\dot{\omega}_3 = \omega_0 (\frac{j_{11}-j_{22}}{j_{33}}) \omega_2 = \alpha_2 \omega_2 where \alpha_2 <0

If we can formulate these values into a state matrix, we can find the eigenvalues, which signal the stability of the system.

To find the eigenvalues of this system, we need to calculate and solve the characteristic polynomial:

\lambda^2 - tr(A) + det(A) =0  \longrightarrow \lambda^2=-det(A)

\longrightarrow \lambda = \pm \sqrt{\alpha_1 \alpha_2}

The eigenvalues for this case are pure imaginary values, which means the system is marginally stable but still under the category of stable. This oscillatory motion is called nutation. Rotation about this axis is called minor axis spin because the principal moment of inertia about this axis is the smallest; think of a rocket or pencil spinning about its long axis.

Free Rotating Block, Z-Axis Perturbed. Spinning about the minor axis. Video by Sky Engineering Lab. 

For the case where the primary motion is about the second principal axis, let’s think about a case where \omega_2 >> \omega_1, \omega_3 and \omega_2 is some value spin rate \omega_0. To find what \omega_1, \omega_3 values are:

\dot{\omega}_1 = \omega_0 (\frac{j_{22}-j_{33}}{j_{11}}) \omega_1 = \alpha_1 \omega_2 where \alpha_1 <0

\dot{\omega}_3 = \omega_0 (\frac{j_{33}-j_{11}}{j_{22}}) \omega_3 = \alpha_2 \omega_3 where \alpha_2 <0

The eigenvalues follow the same solution form as the first case but the solution values are both real numbers, one positive and one negative. These real eigenvalue values lead to one stable equilibrium (associated with the negative eigenvalue) and one unstable equilibrium (associated with the positive eigenvalue). If all eigenvalues are real and negative, the system is stable but that is not our case. If there is even one positive eigenvalue for the system’s dynamics, the whole system is considered unstable. This concept is called the intermediate axis theorem or tennis racket theorem, demonstrated famously on the ISS.

The last case is motion about the third principal axis, let’s think about a case where \omega_3 >> \omega_1, \omega_2 and \omega_3 is some value spin rate \omega_0. To find what \omega_1 \omega_2 values are:

\dot{\omega}_1 = \omega_0 (\frac{j_{22}-j_{33}}{j_{11}}) \omega_2 = \alpha_1 \omega_2 where \alpha_1 <0

\dot{\omega}_3 = \omega_0 (\frac{j_{33}-j_{11}}{j_{22}}) \omega_1 = \alpha_2 \omega_1 where \alpha_2 >0

The eigenvalues for this case are pure imaginary values, which means the system is marginally stable but still under the category of stable. Rotation about this axis is called major axis spin because the principal moment of inertia about this axis is the largest; think of a hockey puck rotating about its short axis.

Hockey puck with the axis of rotation about major axis CC BY 2.0. Image by Matt Boulton.

A great set of demos for each axis of rotation can be found here.

External Torques

External disturbance torques. Image by Alaina Williams.

External torques are torques that act on the spacecraft body that comes from the space environment and change the overall angular momentum of the spacecraft. Disturbance torques are any torques that you don’t want acting on the spacecraft’s body. These are torques that steer you away from your desired goal. They come in many forms, depending on your space environment: magnetic torques, gravity gradient/stability, aerodynamic torques, solar radiation torques, and micrometeorites. These torques may not be a disturbance at all and may be used to your advantage:

This section does not distinguish whether the external torques are useful or not but provides a basis of math for calculating the dynamic effects of these phenomena. Once these torque values are calculated, you may plug them into the Euler rigid body equation to simulate your spacecraft’s attitude dynamics. If you’re not interested in numerical simulations, just be conscientious that these are the force and torques a spacecraft would experience in space.

Suggested Reading

This section draws heavily (at times word for word) from the FAA’s section on Space Operations, Section 4.3.1 Space Vehicle Control Systems. For their take on the material, read right from the source!

Prof. Dr.‐Ing. Bernd Dachwald dachwald@fh aachen.de dachwald@fh‐aachen de Aerospace Technology Department Aachen University of Applied Sciences.

Magnetic Field

Grey lines represent the magnetic field and the red line represents a spacecraft’s orbit. The intersection of the magnetic field and orbit show the orientation a dipole (compass) would face aligning with the magnetic field at that point. Image by UMich.edu.

Magnetic torque comes from planetary magnetic fields and scales with \tfrac{1}{R^3}, or the inverse of distance cubed. For our own Earth, the relevant altitudes where this effect is prominent is between 500 km and 35,000 km [Dachwald]. The spacecraft has its own magnetic profile because of the impact of charged particles in space; the surface of a spacecraft can develop a charge of its own giving it a distinct dipole—north/south ends, like a compass. Just as a compass needle rotates to align with Earth’s magnetic field, the dipole-charged spacecraft will similarly try to rotate as it passes through the magnetic field. The size of this magnetic torque depends on the spacecraft’s effective magnetic dipole and the local strength of Earth’s magnetic field. We estimate this from

T = D\times B

where T = torque on a spacecraft (Nm)

  • D = spacecraft dipole (amp-m2)
  • B = local magnetic field’s strength (tesla), which varies with altitude (R = distance to Earth’s center) and latitude. Earth’s magnetic moment, M, is about 7.99 × 10^{15} tesla-m3. At the poles, B = 2\tfrac{M}{R^3} . At the equator, B = \tfrac{M}{R^3} . (tesla = kg/amp-s^2)

Magnetic torque is a big concern for operators of small satellites in low, polar orbit but hardly noticeable for large spacecraft in geostationary orbit. Later, we’ll see how we can create a large dipole on purpose to use this torque as an attitude actuator.

Magnetic torque is an active spacecraft-attitude actuator that takes advantage of the natural torque caused by Earth’s magnetic field interacting with a magnet; it’s the same effect that rotates a compass needle. Onboard, the system switches electromagnets on and off as needed, pushing ”against” the magnetic field and producing the necessary torque. Image by FAA.

Gravity Gradient

Gravitational Force. From Newton’s Law of Universal Gravitation, we know that gravitational attraction decreases with the square of the distance between two objects. Thus, if we double the distance, the gravitational force is only 1/4 as strong. Image by FAA.

From a previous section (Space Environment: Gravity), we discussed that the force of gravity on an object varies inversely with the square of the distance from the central body. As a reminder: \vv{F}_g =\tfrac{\mu m}{R^2}\hat{R} where

\vv{F}_g  = force of gravity (N)

\mu = gravitational parameter of the central body (\tfrac{km^3}{s^2})

m = mass of the object (kg)

R = distance from the object to the central body (km)

\hat{R} = unit vector in the direction (dimensionless)

The slight difference in gravitational force between the upper and lower part of a spacecraft will tend to rotate the spacecraft vertically, with its long axis pointed to Earth. Image courtesy of FAA.

Thus, if one object is twice as far from Earth as a second object, the gravitational force will be one-fourth as large. This is easy to visualize if the difference in distances from the central body is very great, but it works the same way for very small differences. Imagine we have a dumbbell-shaped spacecraft in Earth orbit. If the dumbbell is hanging vertically, the lower mass (m1) will have a slightly greater gravitational force on it than the higher mass (m2). If m2 is directly above m1, nothing interesting happens. However, if the dumbbell gets displaced off vertical, the slight difference between the gravitational forces on the two masses will create a torque on the spacecraft that will tend to restore it to vertical. This is fine if you want it to be vertical, but if you don’t, your control system must continually fight against this torque. We can estimate the magnitude of this torque using

T_g = \tfrac{3\mu}{2R^3} |I_Z-I_Y| sin2\theta)

where T_g= gravity-gradient torque (Nm)

µ = gravitational constant \tfrac{km^3}{s^2} = 3.986 × 105 \tfrac{km^3}{s^2} for Earth

I_Z = spacecraft moment of inertia about the axis (where we assume IX = IY and IZ >> IX) (kg m^2)

I_Y = spacecraft moment of inertia about the axis (kg m^2)

\theta= angle between the body axis and the local vertical

This equation tells us three important things about the gravity gradient effect

  • It decreases with the cube of the distance—for example, by going from a 500-km-altitude orbit (R = 6878 km) to a 1000-km-altitude orbit (R = 7378 km) the torque reduces by almost 20%
  • It depends on the difference between moments of inertia in the \hat{Z} axis and \hat{X}\hat{Y} plane; thus, for a homogenous spacecraft with I_x = I_y = I_z the effect is zero
  • It depends on the angle between the \hat{Z} axis and the local vertical—the greater the angle from the local vertical, the greater the torque

Aerodynamic Drag

The region of the Earth’s atmosphere where atmospheric drag is an important factor perturbing spacecraft orbits. Image by NASA/GSFC.

In low-Earth orbit the atmosphere applies a drag force to a vehicle, eventually causing it to re-enter the atmosphere and burn up. The drag force is

F_{drag} = \tfrac{1}{2}\rho V^2 C_D A

where

F_{drag}= force of drag (N)

ρ = atmospheric density \tfrac{kg}{m^3}

V = velocity (m/s)

C_D= drag coefficient (unitless)

A = impacted area (m^2 )

Because parts of a spacecraft may have different drag coefficients (solar panels, for example, act like big sails), drag forces on different parts of the spacecraft can also differ. This difference, along with the distance between the center of pressure (where the drag acts) and the center of mass, causes a drag torque. A spacecraft designer can do little to prevent this torque (short of moving the spacecraft to a higher orbit), so again the control system must be designed to deal with it.

Solar Radiation

Force on a reflector results from reflecting the photon flux Image by Robert A. Beatty BE (Minerals) FAusIMM(CP)

Another source of disturbance torque for spacecraft comes from the Sun. The Sun exerts an ever-so-slight force called solar-radiation pressure on exposed surfaces. We’re used to being warmed by the Sun, tanned by the Sun, and even burned by the Sun, but pushed by the Sun? Yes. One way to think about sunlight (or any light for that matter) is as tiny bundles of energy called photons. In one of those seeming paradoxes of modern physics, we say these photons are massless (thus, they can travel at the speed of light), but they do have momentum. As photons strike any exposed surface, they transfer this momentum to the surface. Why can’t we feel this force when we hold our hand up to the Sun? Because this force is very, very small. We can estimate the force using

F = \tfrac{F_s}{c} A_s (1 + r ) cos(I)

where F = force on a surface (N)

F_s = solar constant = 1358 W/m2 at Earth’s orbit around the Sun

c = speed of light = 3 × 10^8 m/s

A_s= illuminated surface area (m2)

r = surface reflectance (where r = 1 for a perfect reflector and 0 for a perfect absorber) (unitless)

I = incidence angle to the Sun (deg)

KAROS space-probe with the solar sail in flight (artist’s depiction) showing a typical square sail configuration CC BY-SA 3.0. Image by IKAROS.

The force exerted on even a very large spacecraft with ten square meters of surface (assuming perfect reflectance) is only 9 x 10^-5 N! We assume this force acts at the center of pressure for the surface. The moment arm is the distance from the center of pressure to the spacecraft’s center of mass. We find the resulting torque by multiplying this force times the moment arm (T = F × d). Even with a 1 m moment arm, the resulting solar pressure torque is only 9 × 10^-5 Nm. So why worry about it? Over time, even this tiny force, acting unevenly over different parts of the spacecraft, especially large areas like solar panels, can cause problems for spacecraft needing precise pointing.

Internal Torques

Torque can also come from within the spacecraft body. Within the spacecraft body, torques come from dampers to mitigate unwanted vibration or rotation, gyrostats or momentum control, and thrusters. These torques are typically used to control the spacecraft’s motion. This section will lay out the dynamic contribution of these internal torque sources.

Damping

A Simple Spacecraft Damper. Dampers “absorb” unwanted angular momentum by converting the energy into friction, in much the same way as the brakes in a car turn linear momentum into heat through friction. A ball inside a circular tube filled with a viscous fluid is one type of damper. As the spacecraft rotates, the ball moves through the fluid. The resistance produces heat, dissipating the angular motion. Image by FAA.

Earlier, we discussed equilibrium stability around the major and minor axis. In the case where there is energy dissipation, like a damped system, only the maximum axis is stable since it is the minimum energy state. You can see this in the following relationship relating inertia axis and energy for a given momentum:

T_{max} = \tfrac{1}{2} \tfrac{1}{j_{11}} ||h||^2 \qquad , \qquad T_{min} = \tfrac{1}{2} \tfrac{1}{j_{33}} ||h||^2

Where does energy dissipation come from? Fluid slosh, damping associated with structural modes, and intentional dampers, like nutation dampers. You can always think about energy dissipation as the transfer of energy from kinetic energy to some other form of energy, like the excitation of some structure or fluid which ultimately turns into heat.

An example of damping occurred to the first US satellite: Explorer 1. Explorer was designed as a minor-axis spinner (along the long axis) but entered a flat spin due to the damping from the flexible antennas.

One simple type of momentum damper consists of a small ball in a circular tube filled with a highly viscous fluid. As a spacecraft rotates, some of its momenta are contained in the ball that moves inside the tube. Friction between the ball and the fluid in the tube converts some of the momenta into heat that slowly dissipates throughout the spacecraft. Over time, the spacecraft can use this simple technique to absorb mechanical energy, slowing its rotation. Dampers are usually designed and oriented to reduce rotation about a specific axis. In this way, designers often use them in spinning spacecraft to remove unwanted “wobbles” in the spin axis.

A simple model of internal damping is known as the “Kane damper”. There are two parameters associated with the Kane damper: J_d inertia of the solid sphere (scalar) and c_d damping coefficient. These values can be fit to data to model damping, such as fluid slosh. The last two equations are a coupled system of ODEs (ordinary differential equations), which means that the dynamics of one body affect the other body.

Momentum Control

A momentum control system is a system of rigid bodies whose relative motion does not change the total system moment of inertia. Think of a box (spacecraft bus) with spinning rotors (momentum/reaction wheels) inside. These momentum-control devices actively vary the angular momentum of small, rotating masses within a spacecraft to change its attitude. How can this work? If you stand on a turntable, holding a spinning bicycle wheel at arm’s length, you can cause yourself to rotate by tilting the bicycle wheel to the left or right. This works because the total angular momentum of a system is always conserved. As the bicycle wheel rotates one way, you rotate another to compensate, keeping the total angular momentum constant. If the axes of the wheels can contribute momentum in all three degrees of freedom, spacecraft pointing and spin can be chosen arbitrarily. Attitude disturbances can be handled with active control.

Internal view of DARE spacecraft bus components. From lower left to top and then lower right: delta velocity thruster (4x), star tracker optical head, S-band LGA, Ka-band HGA, star tracker electronics unit, battery, Ka-band transmitter, S-band transponder, IAU, MIMU, reaction wheels (4x), propellant tank, S-band LGA, and RCS thrusters (4x). Image by  Jack Burns.

We’re going to modify Euler’s equation to include the rotor’s contribution. The spacecraft’s angular momentum is a superposition of the body momentum and the rotor momentum, which we will define as \rho.

To apply the transport theorem, we get a modified version of Euler’s equation:

We get to pick the rotor speed and rotor acceleration, which means we can create a control policy.

Thrusters

Thrusters are rockets that apply a force some distance away from the center of mass, causing a torque that rotates the spacecraft. Image by FAA.

Thrusters are perhaps the simplest type of active actuator to visualize. Thrusters are simply rockets that rely on “brute force” to rotate a spacecraft. By applying a balanced force with a pair of rockets on opposite sides of a spacecraft, we can produce torque. By varying which thruster pair we use and how much force we apply, we can rotate a spacecraft in any direction.

Placing thrusters as far from the satellite’s center of mass as possible gives them a larger moment arm and allows them to exert a greater torque for a given force. This is evident from the important concept we saw earlier. The greater the distance over which a force is applied, the more torque is delivered from the same force. However, as we learned earlier, because of precession when a spacecraft is already spinning, any applied torque in a direction other than the spin axis causes the spacecraft to rotate at a constant velocity about an axis perpendicular to the torque direction.

A diagram of the Kepler space telescope shows the use of reaction control thrusters, which depleted after nine years. Image by Kepler Team.

The biggest advantage of using thrusters is that they can produce a well-defined “torque on demand,” allowing the spacecraft to slew quickly from one attitude to another. Unfortunately, the amount of propellant a spacecraft can carry limits their use. For short missions, such as those flown by the Space Shuttle, this limit is no problem. For longer missions (months or years), designers use thrusters only as a backup.

Configurations

Based on the previously discussed torques and momentum control systems, we can start to relate configurations of momentum control, sometimes coupled with unique spacecraft bus geometry. These configurations range from single-axis spin to three-axis and active to passive control.

Gravity Gradient Stabilization

Gravity-gradient Stabilization. Some spacecraft take advantage of the gravity-gradient torque to keep them oriented in a local vertical, or “downward,” attitude. Usually, they maximize this effect by deploying a small mass at the end of a very long boom. This artist’s conception of the PicoSAT spacecraft shows it to scale with a 6-m-long deployable boom and a small mass on the end. Image by Surrey Satellite Technology, Ltd., U.K.

The first type of passive actuator takes advantage of the gravity gradient disturbance torque discussed earlier. We can exploit this “free” torque to keep a spacecraft oriented in a local vertical, or “downward,” orientation. Fortunately, a spacecraft doesn’t have to be shaped like a dumbbell to take advantage of this effect. For example, why do we see only one face of the Moon and never the mysterious “dark side?” Because of the uneven distribution of mass within the Moon’s crust, it’s in a gravity gradient-stabilized attitude with respect to Earth. However, to maximize the effect of this cheap and reliable attitude actuator, spacecraft will usually deploy weighted booms to create a more dumbbell-like shape.

Gravity-gradient attitude control offers a simple, reliable, inexhaustible (as long as there’s gravity) system with no moving parts. However, it has a few drawbacks

  • Control of only two axes—pitch and roll but not yaw
  • Limited accuracy—depending on the spacecraft’s moments of inertia, downward-pointing accuracy is only about ±10°
  • Only effective in low-Earth orbit—because gravity varies with the square of the distance, it’s not very effective beyond LEO

Despite these disadvantages, gravity-gradient-controlled spacecraft have been used effectively on a variety of missions.

Magnetic Damping

Colorado Student Space Weather Experiment (CSSWE) Magnetic Components highlighted in orange, totaling 8.6 grams in mass. Image by David T. Gerhardt.

Magnetic damping is as easy as sticking a permanent magnet and hysteresis rods inside your spacecraft and having your angular velocity damp out, first tested in 1960 on Transit-1B. Passive magnetic damping can achieve a settling time of fewer than 7 days and guarantee an attitude within 15 degrees of the local magnetic field lines at a 600 km, 55-degree inclination orbit at a cost of 8.6 grams and no power [Gerhardt and Palo]. This is just one of many papers and implementations you can read; here are others:

Spin Stabilization

A spin-stabilized spacecraft takes advantage of the conservation of angular momentum to maintain a constant inertial orientation of one of its axes. Because the angular-momentum vector, H, of a spinning mass is fixed in inertial space, the spacecraft tends to stay in the same inertial attitude.

Perhaps the best example of a spin-stabilized satellite is Earth. The spinning Earth is essentially a giant gyroscope. Earth’s vector points out of the North Pole. This stays fixed in inertial space (except for a minor wobble), always pointed at the same place in the sky. When we observe the motion of the stars at night, we see they all appear to rotate around one star—the North Star. This occurs because Earth’s vector points at the North Star!

Left: Spin Stabilization. A spinning spacecraft keeps its angular momentum vector fixed in inertial space. Right: Spin Stabilization Isn’t Much Good for Earth Pointing. Because spin-stabilized spacecraft have fixed points with respect to inertial space, they aren’t a good choice for Earth-pointing missions. During part of the orbit, they may point toward Earth but during other parts of the orbit, they’ll point away. Image by FAA.

Spin stabilization is useful, as long as we want our spacecraft to stay pointed in the same inertial direction. However, usually, we’re more interested in non-inertial pointing. For example, spin stabilization isn’t very useful for pointing at Earth. For this reason, we mostly use it only during spacecraft deployment, when the natural gyroscopic stiffness we discussed earlier is useful to maintain a known orientation until the spacecraft is free from the launch vehicle. This spin is usually maintained through the first major maneuver providing a stiff, stable platform during a rocket firing. During high thrust, orbit-insertion rocket firings, spin stabilization is often the only technique that can efficiently keep the spacecraft stable.

Dual-Spin

Dual-spin Communication Spacecraft. Large geosynchronous communication spacecraft, such as the Satellite Business Systems spacecraft, shown here, make good use of dual-spin attitude control. Image by  Hughes Space and Communications Company

One way to avoid Earth-pointing limitations of spin stabilization is to use a dual-spin system. Dual-spin systems also take advantage of the constant angular momentum vector of a spinning mass. These systems consist of an inner cylinder called the “de-spun” section, surrounded by an outer cylinder that is spinning at a high rate. The outer cylinder provides overall spacecraft stability. The word “de-spun” is actually a misnomer. In fact, the “de-spun” section does spin, but at a much slower rate than the outer section. To allow for antenna and sensor pointing, the “despun” section spins at a rate to keep them pointed at Earth. For example, if a spacecraft is in geostationary orbit, the de-spun section rotates at “orbit rate” or once every 24 hours, keeping antennas or other sensors focused on Earth.

Dual-spin Spacecraft. A dual-spin spacecraft uses the inherent stiffness of a spinning outer section with a “de-spun” inner section that can independently point at Earth. The de-spun section turns at the orbital rate to keep sensors and antenna pointed at Earth. Image by FAA.

Of course, the need for independently spinning sections makes dual-spin spacecraft much more complex. Electrical and other connections must run from the spun to the “de-spun” sections. Highly reliable bearings must allow the two sections to spin at different rates with little friction. Even with these inherent technical challenges, dual-spin has been a popular control option for large, geosynchronous, communication spacecraft.

Momentum Bias

“Momentum wheels” typically rely on a single wheel with a large, fixed momentum to provide overall stiffness. The wheel’s speed gradually increases to absorb disturbance torques. Biased momentum systems are the simplest type of momentum control device. In operation, these systems use one or two continually spinning momentum wheels, each with a large, fixed momentum. (They are “biased” toward having a particular, set momentum, hence the name). Because they are always spinning, they give the spacecraft a large angular momentum vector, fixed in inertial space. This is exactly the same concept used by spin-stabilized spacecraft, discussed earlier. Only, in this case, instead of spinning the whole spacecraft, we only spin a small wheel inside the spacecraft to achieve the same effect.

Three-Axis Control

Reaction Wheels in Operation. The total angular momentum of a spacecraft system is the sum of the spacecraft’s momentum plus the momentum of each reaction wheel. In this example, we start with a non-rotating spacecraft that has zero total angular momentum. To rotate the spacecraft in one direction, a reaction wheel is spun up in the opposite direction, such that the total angular momentum of the system stays constant. Image by FAA.

In contrast, reaction wheels are a type of zero-bias system, because their normal momentum is at or near zero (no bias). Typically, an attitude control system uses at least three separate reaction wheels, oriented at right angles to each other. Often, a fourth wheel is skewed to the other three for redundancy. When the spacecraft needs to rotate to a new attitude or to absorb a disturbance torque, the system spins one or more of these wheels. To see how this works, let’s step through what happens to the relationship between a reaction wheel and the overall spacecraft momentum.

Pyramidal reaction wheel configuration Published in 2016 8th International Conference on Modelling, Identification and Control (ICMIC) 2016 Minimum power consumption of the microsatellite attitude control using pyramidal reaction wheel configuration A. Bellar, M. A. S. Mohammed, A. Adnane

Three reaction wheels can deliver precise control of a spacecraft’s attitude in all three axes. Unfortunately, as with any machine with moving parts, they can be complex, expensive, and have a limited operational lifetime. Despite these limitations, they remain the primary choice for attitude control on large, modern spacecraft requiring very accurate pointing, such as the Hubble Space Telescope.

Reaction wheel configurations for a 3-axis satellite attitude control: Configuration matrix of four reaction wheels. Image by ARS.

The final type of momentum-control device is the control-moment gyroscope (CMG). A CMG consists of one or more spinning wheels, each mounted on gimbals that allow them to rotate freely in all directions. Recall that reaction wheels change momentum by changing magnitude only (spinning faster or slower). CMGs change momentum by changing their magnitude and direction (physically rotating the spinning wheel). Again, because the total angular momentum of the system must be conserved, as the momentum of CMG changes in one way, the spacecraft will rotate in the other to compensate. CMGs provide pointing accuracy equivalent to reaction wheels but offer much higher slew rates and are especially effective on very large platforms, such as the Skylab Space Station.

Control moment gyroscopes installed on the international space station. Image by Quoracdn.net.

One important limitation of all momentum control devices is the practical limit on how fast a given wheel can spin. In operation, all of these systems must gradually spin faster and faster to rotate the spacecraft and absorb disturbance torques. Eventually, a wheel will be spinning as fast as it can, without damaging bearings or other mechanisms. At this point, the wheel is “saturated,” meaning it has reached its design limit for rotational speed. When this happens, the wheels must “de-saturate” through a process known as “momentum dumping.” Momentum dumping is a technique for decreasing the angular momentum of a wheel by applying a controlled torque to the spacecraft. The wheel can absorb this torque in a way that allows it to reduce its rate of spin. Of course, this means the spacecraft needs some independent means of applying an external torque. For this reason, on all spacecraft using momentum control devices, designers use either magnetic torques or thrusters (or both) to allow for momentum dumping.

Modes

AA236: Overview of Spacecraft GN&C Subsystems Brian Howley Lockheed Martin Space Systems Company.

This section will overview spacecraft modes that are specific to ADCS.

Detumbling/Momentum Dumping

STK Detumbling mode by Andy Liu

In detumbling mode, the ADCS controller is responsible for dumping the initial angular velocity from when the satellite was in idle mode and/or recently deployed. Any configuration listed previously can achieve detumbling. This mode is very common for any satellite that needs stability to communicate with a ground station or point at a target. Luckily, spacecraft charging with surface-mounted solar panels (not deployed solar panels) can still occur safely while in tumbling mode to charge the battery that powers the actuators that momentum dump.

Pointing/Slewing

How Hubble Points – It’s Not Thrusters. By LaunchPad Astronomy. 

Likely, the most important mode during normal/nominal operations is payload pointing or slewing. For observatories that look at stars that are immensely far away, pointing will be static. For missions that observe phenomena on Earth’s surface or in Earth’s atmosphere, spacecraft will be nadir pointing (looking directly down perpendicular to the Earth’s surface. This is a common type of pointing for sweeping across large swaths of Earth’s surface area. A mission that requires tracking an object that moves quickly across the atmosphere, like a missile, could require a slewing mode.

This diagram depicts a satellite observing backscattered sunlight in the nadir viewing geometry. Image by Planet User.

Sun pointing for spacecraft charging and pointing the radio toward a ground station for communications require very slight slewing. Sun pointing requires an average slew rate of 1º/day to maintain general sun pointing in LEO [eoPortal]. While tracking the ground station, the high gain antennas are expected to slew at a rate of approximately 15º/hour [NASA]. Most of these targets that the satellite needs to point at are in an inertial frame.

Artist’s rendition of the hosted Laser Communications Relay Demonstration payload on the commercial spacecraft in GEO. Image courtesy of NASA.

Safe

ADCS Mode transition under normal operation. Image courtesy of Researchgate by Divya Rao.

Not all safe modes will be the same. The general idea behind a safe mode is to conserve or generate power and protect any sensitive components. As an example, LADEE has several sun-safe modes: initial safing, controlled-yaw, and eclipse [NASA]. The goal of the initial safing state is to ensure that any sun-sensitive instrument is protected from pointing directly at the sun and additionally, that the spacecraft attitude is oriented for peak power generation. When the sun vector gets within a certain tolerance of the target sun vector, the sun safe mode will then transition to the controlled roll-yaw state. If at any time, a minimum number of sun sensors reads zero current, then the safe mode control system asserts the eclipse flag and goes into the eclipse state. The reaction wheel control effort is minimized.

Suggested Activity

Demonstrate attitude dynamics of passively tumbling, passively damped, and actively compensated spacecraft in an embedded python notebook

 

License

Icon for the Creative Commons Attribution 4.0 International License

A Guide to CubeSat Mission and Bus Design Copyright © by Frances Zhu is licensed under a Creative Commons Attribution 4.0 International License, except where otherwise noted.

Share This Book