Skip to the lesson
FixTheRobot Explore Robotics / Guidance, Navigation and Control / M11 Spacecraft and Rocket GNC / M11-T3

Guidance, Navigation and Control · Theory · M11

M11-T3 — Attitude Dynamics Without Air

In space nothing damps a rotation and nothing holds an attitude. What a body does with no torque is set by its inertia, and one of its three axes is unstable.

  • Lesson 3 of 6
  • Advanced
  • Module 11: Spacecraft and Rocket GNC
  • Theory
  • About 15 minutes to read

An aircraft or a rocket in the atmosphere is held by aerodynamic forces. A satellite is held by nothing, and its attitude is the solution of Euler's equations: conservation of angular momentum in a rotating frame. This lesson writes them, shows the torque-free motion about each principal axis with a computed example (stable about two, a tumble about the third at a growth rate that the formula predicts exactly), gives the small oscillation frequencies, and adds the one persistent environmental torque in low orbit, the gravity gradient, with its libration period of 56 minutes for the example.

Learning objectives

After this lesson, you should be able to:

  • Write Euler's equations for a rigid body with a diagonal inertia and check conservation of angular momentum and energy.
  • Predict the stability of rotation about each principal axis and its growth rate or oscillation frequency.
  • Compute the gravity-gradient torque and the pitch libration frequency of a small satellite.
  • Estimate how much angular momentum a constant disturbance torque adds per orbit.

The intuition

UAV M5-T4: Quaternion-based orientation gives the kinematics of attitude and Linear Algebra M7-T4: SO(3) the group of rotations. The dynamics, which tell how a body's rates change under torque, were already used for Hopper's pitch channel as a single axis; with three axes they acquire a coupling that has no counterpart in one.

Euler's equations

The angular momentum of a rigid body is H=Jω\mathbf{H} = \mathbf{J}\boldsymbol\omega. In an inertial frame the torque is the rate of change of H\mathbf{H}; in the body frame, which rotates with the body, there is an extra term ω×H\boldsymbol\omega\times\mathbf{H}. With the axes along the principal axes of inertia, the equations are three coupled nonlinear equations in the rates: the rate about one axis changes when the other two are nonzero, even with no torque. For the example satellite with moments 0.30, 0.22 and 0.10 kg m², a numerical integration conserves the magnitude of the angular momentum and the kinetic energy to 10⁻¹⁴ in relative terms.

Three axes, three behaviours

Spin the body at 1 rad/s about a principal axis with a small disturbance of 0.01 rad/s on the other two. About the major axis (largest inertia) and the minor axis (smallest) the disturbance stays small: the other two rates reach only 0.015 and 0.018 rad/s, and the motion oscillates about the spin at the nutation frequency (0.853 rad/s about the major axis, 0.603 rad/s about the minor axis, for a spin of 1 rad/s; a simulated period of 10.42 s about the minor axis against 10.42 predicted). About the intermediate axis the disturbance grows exponentially at (J2−J3)(J1−J2)/(J1J3)\sqrt{(J_2 - J_3)(J_1 - J_2)/(J_1J_3)} per unit spin: 0.566 per second, an e-fold every 1.77 s, checked by simulation (0.566). The rates reach 1.15 rad/s and the body tumbles, with no energy loss: the spin axis flips periodically.

A torque-free body spinning about its intermediate axis tumblesThe three body rates against time for a spin of 1 radian per second about the intermediate axis with a disturbance of 0.001 radians per second on the other two. The spin about the intermediate axis stays near 1 for about 6 seconds, then reverses sign, while the other two rates grow from 0.001 to more than 1 in the same time. The pattern repeats about every 12 seconds, a periodic tumble with no energy loss.0369121518-1.5-1-0.500.511.5time (s)body angular rate (rad/s) intermediate-axis rate the other two rates grow
Torque-free motion about the intermediate axis: the spin reverses and the other rates grow from 0.001 to more than 1 rad/s in about 6 s.

Energy dissipation changes the story

The stability about the minor axis holds only for a perfectly rigid body. Real satellites have flexing parts and sloshing fuel that dissipate energy at constant angular momentum, and the spin migrates to the state of minimum energy for the given momentum, which is spin about the major axis. This is how the first American satellite, spun about its minor axis, ended up tumbling.

Gravity gradient

The Earth's gravity is slightly stronger on the lower end of a body than the upper, which produces a torque on any non-spherical body. For a satellite at 400 km with Ix−Iz=0.20I_x - I_z = 0.20 kg m², the torque is 1.5n2(Ix−Iz)sin⁡2θ1.5n^2(I_x - I_z)\sin 2\theta: at most 3.8×10⁻⁷ N m. It restores a nadir-pointing attitude if the axis of least inertia points down, with a pitch libration at n3(Ix−Iz)/Iyn\sqrt{3(I_x - I_z)/I_y} = 1.87×10⁻³ rad/s, a period of 56.0 min against the 92.6 min orbit (simulated 56.2 min). A constant disturbance torque of 10 µN m adds an angular momentum of 0.0555 N m s per orbit, which a control system must store or unload.

A free body's motion is the solution of Euler's equations: stable about the major and minor axes, unstable about the intermediate axis with a computable growth rate, and eventually driven to the major axis by any energy loss. Gravity gradient gives a weak restoring torque with a period of the order of an hour.

Definitions

Principal axes and moments
The axes along which the inertia tensor is diagonal, with moments J1≥J2≥J3J_1 \ge J_2 \ge J_3 (major, intermediate, minor).
Angular momentum H\mathbf{H}
H=Jω\mathbf{H} = \mathbf{J}\boldsymbol\omega, conserved in the absence of torque.
Nutation
The oscillation of the angular velocity vector about the spin axis in the body frame for a body spinning about a stable axis.
Gravity-gradient torque
The torque from the variation of gravity over the body: τ=3n2 r^×Jr^\boldsymbol\tau = 3n^2\,\hat{\mathbf{r}}\times\mathbf{J}\hat{\mathbf{r}} for a nadir vector r^\hat{\mathbf{r}}.
Libration
The small oscillation of a gravity-stabilized body about its equilibrium attitude.
Euler's equations
J1ω˙1=(J2−J3) ω2ω3+M1,J2ω˙2=(J3−J1) ω3ω1+M2,J3ω˙3=(J1−J2) ω1ω2+M3J_1\dot\omega_1 = (J_2 - J_3)\,\omega_2\omega_3 + M_1,\quad J_2\dot\omega_2 = (J_3 - J_1)\,\omega_3\omega_1 + M_2,\quad J_3\dot\omega_3 = (J_1 - J_2)\,\omega_1\omega_2 + M_3
The body-frame form for principal axes. M is the external torque. Each rate is driven by the product of the other two.
Growth rate and oscillation frequencies
λint=Ω(J2−J3)(J1−J2)J1J3,ωnut=Ω(J1−J2)(J1−J3)J2J3  (major),Ω(J1−J3)(J2−J3)J1J2  (minor)\lambda_{\mathrm{int}} = \Omega\sqrt{\dfrac{(J_2 - J_3)(J_1 - J_2)}{J_1J_3}},\qquad \omega_{\mathrm{nut}} = \Omega\sqrt{\dfrac{(J_1 - J_2)(J_1 - J_3)}{J_2J_3}}\ \ (\text{major}),\quad \Omega\sqrt{\dfrac{(J_1 - J_3)(J_2 - J_3)}{J_1J_2}}\ \ (\text{minor})
For a spin Ω about the named axis: the exponential growth rate about the intermediate axis, and the frequencies of small oscillation about the major and the minor axes.

Derivation: the linearization about each principal axis

Perturb a steady spin Ω\Omega about axis 2 (the intermediate axis), with small ω1,ω3\omega_1, \omega_3.

  1. ω2=Ω+ϵ2,ω1,ω3 small\omega_2 = \Omega + \epsilon_2,\quad \omega_1, \omega_3\ \text{small}

    The steady solution of Euler's equations with no torque is a constant spin about a principal axis; perturb it.

  2. ω˙1=J2−J3J1 Ω ω3,ω˙3=J1−J2J3 Ω ω1\dot\omega_1 = \dfrac{J_2 - J_3}{J_1}\,\Omega\,\omega_3,\qquad \dot\omega_3 = \dfrac{J_1 - J_2}{J_3}\,\Omega\,\omega_1

    Keep first-order terms: the products ω2ω3\omega_2\omega_3 and ω1ω2\omega_1\omega_2 reduce to Ωω3\Omega\omega_3 and Ωω1\Omega\omega_1, and ω˙2\dot\omega_2 is second order.

  3. ω¨1=Ω2 (J2−J3)(J1−J2)J1J3 ω1\ddot\omega_1 = \Omega^2\,\dfrac{(J_2 - J_3)(J_1 - J_2)}{J_1J_3}\,\omega_1

    Differentiate the first and substitute the second: a second-order equation for ω1\omega_1.

  4. (J2−J3)(J1−J2)>0 for the intermediate axis⇒ω¨1=+λ2ω1(J_2 - J_3)(J_1 - J_2) > 0\ \text{for the intermediate axis} \Rightarrow \ddot\omega_1 = +\lambda^2\omega_1

    The factors are both positive when axis 2 is the intermediate one: the coefficient is positive, so the solutions grow as eλte^{\lambda t} (exponential instability).

  5. about axis 1 (major):ω¨2=−Ω2 (J1−J2)(J1−J3)J2J3 ω2\text{about axis 1 (major)}: \ddot\omega_2 = -\Omega^2\,\dfrac{(J_1 - J_2)(J_1 - J_3)}{J_2J_3}\,\omega_2

    The same steps about axis 1 give a negative coefficient (the factors have opposite signs relative to the intermediate case): a harmonic oscillator, stable, with the nutation frequency. The minor axis gives another oscillator.

The gravity-gradient torque

  1. τ=3n2 r^×Jr^\boldsymbol\tau = 3n^2\,\hat{\mathbf{r}}\times\mathbf{J}\hat{\mathbf{r}}

    Expand the gravitational force over the body to the second order in the size over the orbit radius; with μ/r3=n2\mu/r^3 = n^2. A body whose inertia is not spherical feels a torque that tries to align its axis of least inertia with the radius.

  2. τy=−3n2 (Ix−Iz) sin⁡θcos⁡θ=−1.5 n2(Ix−Iz)sin⁡2θ\tau_y = -3n^2\,(I_x - I_z)\,\sin\theta\cos\theta = -1.5\,n^2(I_x - I_z)\sin2\theta

    For pitch θ\theta about the orbit normal, with the nadir axis the minor axis.

  3. θ¨=−3n2(Ix−Iz)Iy θ ⇒ ωlib=n3(Ix−Iz)/Iy\ddot\theta = -\dfrac{3n^2(I_x - I_z)}{I_y}\,\theta\ \Rightarrow\ \omega_{lib} = n\sqrt{3(I_x - I_z)/I_y}

    For small θ\theta: a harmonic oscillator, whose frequency exceeds the orbit rate by 3(Ix−Iz)/Iy\sqrt{3(I_x - I_z)/I_y} (1.65 for the example).

Rotation is stable about the axes of largest and smallest inertia and unstable about the intermediate axis, with growth rate set by two products of inertia differences. Energy loss at constant momentum moves a spin to the major axis.

A worked example

A small satellite with principal moments 0.30, 0.22, 0.10 kg m² (major, intermediate, minor).

  1. Conservation. In all three cases the angular momentum magnitude changes by less than 2×10⁻¹⁴ relative and the kinetic energy by less than 3×10⁻¹⁴ over 60 s of integration.
  2. Three spins. A spin of 1 rad/s with 0.01 rad/s disturbances: about the major axis the other two rates reach 0.015 rad/s; about the minor axis 0.018 rad/s; about the intermediate axis 1.149 rad/s (a tumble).
  3. Growth rate. For the intermediate axis the formula gives 0.566 per second (e-folding every 1.77 s); the simulation measures 0.566 between amplitudes 0.01 and 0.04 rad/s.
  4. Oscillation frequencies. Small motions about the major axis oscillate at 0.853 rad/s and about the minor axis at 0.603 rad/s for a 1 rad/s spin; the simulated period about the minor axis is 10.420 s against a predicted 10.419 s.
  5. Gravity gradient. At 400 km (n = 1.131×10⁻³ rad/s) with Ix = 0.30, Iy = 0.22, Iz = 0.10: the largest torque is 3.84×10⁻⁷ N m (at 45°), 6.67×10⁻⁸ N m at 5°. The pitch libration is at 1.868×10⁻³ rad/s, a period of 56.0 min, simulated 56.2 min with the full torque expression; the ratio to the orbit rate is 1.651.
  6. Accumulation. A constant disturbance torque of 10 µN m acting for one orbit adds an angular momentum of 0.0555 N m s.
import math
import gnckit as g

# a small satellite: principal moments of inertia (kg m^2)
J1, J2, J3 = 0.30, 0.22, 0.10                      # largest, intermediate, smallest
J = (J1, J2, J3)
print(f'principal moments {J1}, {J2}, {J3} kg m^2: the axis of {J1} is the major axis, {J3} the minor axis, {J2} the intermediate one')

def euler_rates(w, M=(0.0, 0.0, 0.0)):
    return g.rigid_body_rates(J, w, M)
def propagate(w0, T, dt=0.002):
    ts, xs = g.integrate(lambda t, w: euler_rates(w), list(w0), T, dt)
    return ts, xs
def invariants(w):
    H = math.sqrt(sum((J[i] * w[i]) ** 2 for i in range(3)))
    Ek = 0.5 * sum(J[i] * w[i] ** 2 for i in range(3))
    return H, Ek
w0 = (0.0, 1.0, 0.0)

print('Torque-free motion: spin 1 rad/s about each principal axis with a 0.01 rad/s disturbance on the other two:')
for ax, name in ((0, 'major'), (1, 'intermediate'), (2, 'minor')):
    w = [0.01, 0.01, 0.01]; w[ax] = 1.0
    ts, xs = propagate(w, 60.0, dt=0.005)
    others = [i for i in range(3) if i != ax]
    dev = max(math.hypot(x[others[0]], x[others[1]]) for x in xs)
    H0, E0 = invariants(xs[0]); H1, E1 = invariants(xs[-1])
    print(f'  spin about the {name:12s} axis: largest deviation of the other two rates {dev:7.3f} rad/s; angular momentum changes by {abs(H1 - H0) / H0:.1e}, kinetic energy by {abs(E1 - E0) / E0:.1e} (relative)')

# growth rate of the intermediate-axis instability
spin = 1.0
lam = spin * math.sqrt((J2 - J3) * (J1 - J2) / (J1 * J3))
print(f'intermediate-axis spin at {spin} rad/s: the linearized growth rate is sqrt((J2 - J3)(J1 - J2) / (J1 J3)) x spin = {lam:.3f} 1/s, an e-folding every {1 / lam:.2f} s')
ts, xs = propagate([0.001, 1.0, 0.001], 8.0, dt=0.002)
amp = [math.hypot(x[0], x[2]) for x in xs]
i1 = next(i for i, a in enumerate(amp) if a > 0.01); i2 = next(i for i, a in enumerate(amp) if a > 0.04)
meas = math.log(amp[i2] / amp[i1]) / (ts[i2] - ts[i1])
print(f'  measured growth rate between amplitudes 0.01 and 0.04 rad/s: {meas:.3f} 1/s')
print('stable oscillation about the major and minor axes (nutation frequency):')
w_major = 1.0 * math.sqrt((J1 - J2) * (J1 - J3) / (J2 * J3))
w_minor = 1.0 * math.sqrt((J1 - J3) * (J2 - J3) / (J1 * J2))
print(f'  spin 1 rad/s about the major axis: small motions oscillate at sqrt((J1 - J2)(J1 - J3) / (J2 J3)) x spin = {w_major:.3f} rad/s; about the minor axis at sqrt((J1 - J3)(J2 - J3) / (J1 J2)) x spin = {w_minor:.3f} rad/s')
w = [0.001, 0.001, 1.0]
ts, xs = propagate(w, 30.0, dt=0.002)
cross = [ts[i] for i in range(1, len(xs)) if xs[i - 1][0] < 0 <= xs[i][0]]
if len(cross) >= 3:
    print(f'  simulated period about the minor axis: {(cross[-1] - cross[0]) / (len(cross) - 1):.3f} s (predicted {2 * math.pi / w_minor:.3f} s)')

print('Gravity-gradient torque on a satellite at 400 km, nadir-pointing:')
MU, RE = 3.986004418e14, 6378137.0
n = math.sqrt(MU / (RE + 400e3) ** 3)
Ix, Iy, Iz = 0.30, 0.22, 0.10                       # roll (along track), pitch (orbit normal), yaw (nadir) axes
tau_max = 1.5 * n * n * abs(Ix - Iz)
print(f'  n = {n:.3e} rad/s; tau_y = 1.5 n^2 (Ix - Iz) sin 2 theta: largest value {tau_max:.2e} N m (at 45 deg); at 5 deg {1.5 * n * n * (Ix - Iz) * math.sin(math.radians(10)):.2e} N m')
wl = n * math.sqrt(3 * (Ix - Iz) / Iy)
print(f'  pitch libration frequency n sqrt(3 (Ix - Iz) / Iy) = {wl:.3e} rad/s, period {2 * math.pi / wl / 60:.1f} min (orbital period {2 * math.pi / n / 60:.1f} min); the ratio to the orbit rate is {wl / n:.3f}')
th, w_ = math.radians(5.0), 0.0
dt = 1.0
t = 0.0; zero = []
prev = th
while t < 3 * 2 * math.pi / wl:
    a = -3 * n * n * (Ix - Iz) / Iy * math.sin(th) * math.cos(th)        # pitch about the orbit normal, ignoring the orbital rotation in the body rate (small angles)
    w_ += a * dt; th += w_ * dt; t += dt
    if prev > 0 >= th: zero.append(t)
    prev = th
if len(zero) >= 2:
    print(f'  simulated libration period from the full torque expression: {(zero[-1] - zero[0]) / (len(zero) - 1) / 60:.1f} min')
print(f'  a constant disturbance torque of 1e-5 N m acting for one orbit adds an angular momentum of {1e-5 * 2 * math.pi / n:.4f} N m s')
principal moments 0.3, 0.22, 0.1 kg m^2: the axis of 0.3 is the major axis, 0.1 the minor axis, 0.22 the intermediate one
Torque-free motion: spin 1 rad/s about each principal axis with a 0.01 rad/s disturbance on the other two:
  spin about the major        axis: largest deviation of the other two rates   0.015 rad/s; angular momentum changes by 2.6e-15, kinetic energy by 5.2e-15 (relative)
  spin about the intermediate axis: largest deviation of the other two rates   1.149 rad/s; angular momentum changes by 7.6e-15, kinetic energy by 1.5e-14 (relative)
  spin about the minor        axis: largest deviation of the other two rates   0.018 rad/s; angular momentum changes by 1.3e-14, kinetic energy by 2.6e-14 (relative)
intermediate-axis spin at 1.0 rad/s: the linearized growth rate is sqrt((J2 - J3)(J1 - J2) / (J1 J3)) x spin = 0.566 1/s, an e-folding every 1.77 s
  measured growth rate between amplitudes 0.01 and 0.04 rad/s: 0.566 1/s
stable oscillation about the major and minor axes (nutation frequency):
  spin 1 rad/s about the major axis: small motions oscillate at sqrt((J1 - J2)(J1 - J3) / (J2 J3)) x spin = 0.853 rad/s; about the minor axis at sqrt((J1 - J3)(J2 - J3) / (J1 J2)) x spin = 0.603 rad/s
  simulated period about the minor axis: 10.420 s (predicted 10.419 s)
Gravity-gradient torque on a satellite at 400 km, nadir-pointing:
  n = 1.131e-03 rad/s; tau_y = 1.5 n^2 (Ix - Iz) sin 2 theta: largest value 3.84e-07 N m (at 45 deg); at 5 deg 6.67e-08 N m
  pitch libration frequency n sqrt(3 (Ix - Iz) / Iy) = 1.868e-03 rad/s, period 56.0 min (orbital period 92.6 min); the ratio to the orbit rate is 1.651
  simulated libration period from the full torque expression: 56.2 min
  a constant disturbance torque of 1e-5 N m acting for one orbit adds an angular momentum of 0.0555 N m s
Euler's equations are integrated with rigid_body_rates and integrate; the growth is measured between two amplitudes; the libration is integrated from the full torque expression and its period read from zero crossings.

In robotics

These facts shape the design of every spacecraft attitude system.

  • Choice of spin axis. Spinners choose the major axis so that energy dissipation helps rather than hurts. A satellite spun about its minor axis (as the first American satellite was) ends up tumbling about the major axis once flexible parts dissipate energy.
  • Intermediate-axis flips. The tumble of the figure is seen on objects thrown in orbit, and astronauts have filmed it; for a vehicle with a very high rate it is a design hazard, and a controller must not rely on a spin about the intermediate axis.
  • Passive stabilization. Gravity-gradient booms (a mass on a boom to make the inertia very non-spherical) give a restoring torque and a libration of an hour or so, which a small magnetic damper then removes. The pointing accuracy is a few degrees, enough for some missions.
  • Disturbance budgets. The gravity gradient (about 10⁻⁷ N m here), residual magnetic dipole, atmospheric drag and solar pressure produce torques of micro- to nano-newton-metres, and the controller's wheels absorb the momentum they add (0.0555 N m s per orbit for 10 µN m), which sets the unloading interval of the next lesson.
  • Simulation. Euler's equations are the right-hand side of every attitude simulator of this vehicle class; the checks above (conservation of momentum and energy) are the first tests of a new implementation.

The control law that works with these dynamics, using wheels and thrusters, is M11-T4: Attitude Control with Wheels and Thrusters, and the lab M11-L1: Detumble and Point detumbles a satellite. The same equations apply to Hopper if its pitch inertia is replaced by three axes.

Common misconceptions

“A body spinning about any axis keeps spinning about that axis.”

Only about the major and minor axes of a rigid body. About the intermediate axis a tiny disturbance grows exponentially (e-folding 1.77 s here) and the body tumbles, even with no energy loss.

“The minor axis is stable, so it is a good spin axis.”

Stable only for a perfectly rigid body. Any energy dissipation moves the spin toward the major axis at constant angular momentum, so a satellite spun about its minor axis eventually flips.

“Gravity gradient is negligible.”

It is small (4×10⁻⁷ N m) but it is the largest persistent torque in some orbits, it is always present, and it provides a free restoring torque with a period of an hour. For a precision-pointing spacecraft it is a disturbance to be rejected.

“Angular velocity and angular momentum are parallel.”

Only for a spin about a principal axis. In general H=Jω\mathbf{H} = \mathbf{J}\boldsymbol\omega is not parallel to ω\boldsymbol\omega, which is why the equations couple the axes.

“No torque means no change of angular velocity.”

The body-frame rates change even with zero torque, because the frame rotates; only the inertial angular momentum vector is constant.

Key takeaways

  1. Euler's equations Jiω˙i=(Jj−Jk)ωjωk+MiJ_i\dot\omega_i = (J_j - J_k)\omega_j\omega_k + M_i conserve angular momentum and energy when M = 0.
  2. Rotation is stable about the major and minor axes and unstable about the intermediate axis.
  3. The intermediate-axis growth rate is Ω(J2−J3)(J1−J2)/(J1J3)\Omega\sqrt{(J_2 - J_3)(J_1 - J_2)/(J_1J_3)}: 0.566 per second for the example, confirmed by simulation.
  4. Small oscillations about the stable axes have frequencies 0.853 and 0.603 rad/s for a 1 rad/s spin.
  5. The gravity-gradient torque is at most 3.8×10⁻⁷ N m at 400 km, with a pitch libration period of 56 min.
  6. A disturbance of 10 µN m adds 0.0555 N m s of angular momentum per orbit.

References and further reading

Each source is marked free or paid. Free to read does not mean free to reuse: the course resources page lists every source with its licence.

  • P. C. Hughes, Spacecraft Attitude Dynamics, Dover, 2004, the standard text on rigid-body motion and gravity-gradient stabilization. Paid.
  • J. R. Wertz (ed.), Spacecraft Attitude Determination and Control, Springer, 1978, the chapters on dynamics and environmental torques. Paid.
  • M. J. Sidi, Spacecraft Dynamics and Control: A Practical Engineering Approach, Cambridge University Press, 1997. Paid.
  • MIT 16.07 Dynamics (OpenCourseWare) , the lectures on rigid-body motion and Euler's equations. Free; licence CC BY-NC-SA 4.0.

Knowledge check

Three questions. Write an answer, then reveal the explanation. Your answers stay in your browser.

Question 1

For principal moments 0.30, 0.22 and 0.10 kg m² a body spins at 2 rad/s about the intermediate axis. What is the exponential growth rate of a disturbance?

Explanation

The growth rate is Ω√((J₂ − J₃)(J₁ − J₂)/(J₁J₃)) = 2√(0.12 × 0.08/(0.30 × 0.10)) = 2√(0.0096/0.03) = 2 × 0.566 = 1.13 per second. Doubling the spin doubles the growth rate: an e-folding every 0.88 s, so a disturbance of 0.001 rad/s becomes 1 rad/s in 6.9 e-foldings, about 6 s.

Question 2

Why does a satellite spun about its minor axis eventually tumble, although the minor axis is stable for a rigid body?

Explanation

A real satellite is not rigid: flexing structure and sloshing propellant dissipate energy. With no external torque, angular momentum is constant, and energy at constant angular momentum is smallest for a spin about the major axis, so dissipation drives the spin there. The minor-axis spin is a state of maximum energy for its momentum, stable only if nothing dissipates energy. Real vehicles therefore spin about the major axis.

Question 3

A satellite has Ix − Iz = 0.20 kg m² and Iy = 0.22 kg m², and orbits at 400 km (n = 1.131×10⁻³ rad/s). What is its pitch libration period?

Explanation

ωlib = n√(3(Ix − Iz)/Iy) = 1.131×10⁻³ × √(3 × 0.20/0.22) = 1.131×10⁻³ × 1.651 = 1.868×10⁻³ rad/s, a period of 2π/ωlib = 3364 s = 56.0 min. It is shorter than the orbital period (92.6 min) by the factor 1/1.651, and a gravity-stabilized spacecraft librates about nadir at that period unless damped.

What’s next

Practice this lesson

Detumble and Point

A small satellite is released tumbling. Stop the rotation, slew to a target attitude with reaction wheels that saturate, and unload the stored momentum.

Next lesson

M11-T4 — Attitude Control with Wheels and Thrusters

Design a quaternion-feedback law, account for wheel torque and momentum limits, unload momentum, and design a thruster phase-plane controller.

Nothing below is required to finish this lesson.

  • Before
    M11-T2: Relative Motion and Rendezvous

    Derive the Clohessy-Wiltshire equations, predict the drift of a chaser from its initial state, and plan a two-impulse transfer and a straight-line approach.

  • Lab
    M11-L1: Detumble and Point

    A small satellite is released tumbling. Stop the rotation, slew to a target attitude with reaction wheels that saturate, and unload the stored momentum.

Other courses on this site treat neighbouring topics from their own angle:

This course leaves the following to the pages that already teach them:

  • Quaternion algebra and the rotation group
  • Mission design, launch windows and interplanetary transfers (outside the scope of this site)
  • Structural, thermal and propulsion design (outside the scope of this site)