3.5.48 · D2Guidance, Navigation & Control (GNC)

Visual walkthrough — Reaction wheels — momentum management, zero-crossing

2,384 words11 min readBack to topic

We assume only that you can picture a spinning thing. Everything else we earn.


Step 1 — What "angular momentum" even is, in a picture

WHAT. Before any spacecraft, look at one spinning disk. We want a single number that says "how much turning is stored in this disk." Call it (for "how much turning").

WHY this quantity. A heavy disk is harder to stop than a light one; a fast disk is harder to stop than a slow one. So the "amount of turning" must grow with both heaviness-of-spin and speed-of-spin. The simplest honest combination is a product:

  • (Greek "omega") is the spin rate — how many radians the disk turns each second. Fast spin = big . Look at the red arrow on the rim in the figure: longer arrow = faster.
  • is the moment of inertia — "rotational heaviness." It is big when mass sits far from the axis (a bicycle wheel) and small when mass hugs the axis (a pencil spun on its tip). is measured in .
  • is their product, measured in , also written .

PICTURE.

This is the same idea developed in Conservation of Angular Momentum — we will lean on it hard.


Step 2 — Two spinning things that share one axis: the numbers just add

WHAT. A real spacecraft is two rotating pieces stacked on one shaft: the body (the box, inertia , turning at rate ) and the wheel inside it (inertia , turning at rate ). We want the total turning of the pair.

WHY they add. Angular momenta along the same axis are just numbers pointing the same direction, so they add like ordinary numbers — no angles, no triangles needed yet. (When axes differ you need vectors; here one shared axis lets us stay scalar, which is why we chose a single-axis picture to start.)

  • = the body's own stored turning (usually we want the body still, so ).
  • = the wheel's stored turning (this is what the motor controls).
  • = their sum: the turning of the whole satellite counted as one object.

PICTURE.


Step 3 — The rule: no outside twist means cannot change

WHAT. Now we invoke the deep law. In deep space, nothing is twisting the satellite from outside (for now). We claim the total is frozen — a constant.

WHY this is true. A satellite has nothing to push against. To change total turning you must twist against something external (Earth's magnetic field, exhaust gas). With nothing outside, the total can only be reshuffled between the two parts, never created or destroyed. That reshuffling is the entire trick.

We express "frozen" with the tool that measures change: the derivative, written . It reads "the rate at which the thing changes per second."

Why a derivative here and not something else? We are asking "how fast is changing?" — and "how fast does a quantity change" is exactly the question a derivative answers. "Frozen" means "rate of change = zero":

PICTURE. The see-saw of momentum: body on the left pan, wheel on the right pan, the total (the beam's balance point) locked.


Step 4 — Differentiate the sum: the coupling equation appears

WHAT. Take the "rate of change" of the total from Step 2 and set it to zero (Step 3). Each term's rate of change is (constant inertia) × (rate of change of its speed). The rate of change of a speed is an acceleration, marked with a dot: means "how fast is changing," means "how fast is changing."

\;\;\Rightarrow\;\; I_b\,\dot\omega_b + I_w\,\dot\Omega_w = 0$$ - $I_b\,\dot\omega_b$ = the body's angular acceleration, scaled by its heaviness. - $I_w\,\dot\Omega_w$ = the wheel's angular acceleration, scaled by its heaviness. - They sum to zero because the total never changes. **WHY solve for $\dot\omega_b$.** We *control* the wheel (the motor sets $\dot\Omega_w$). We want to know the *result* on the body. So isolate $\dot\omega_b$: $$\boxed{\;\dot\omega_b = -\frac{I_w}{I_b}\,\dot\Omega_w\;}$$ - The **minus sign** = "opposite direction." This is the whole point: accelerate the wheel one way, the body accelerates the *other* way. - $\dfrac{I_w}{I_b}$ = a **gear ratio**. The wheel is tiny ($I_w$ small) and the body is huge ($I_b$ large), so this fraction is minuscule — the body turns *far* slower than the wheel. To move a big satellite a little, you must spin a small wheel a lot. **PICTURE.** > [!intuition] Read the minus and the fraction together > Minus = "the other way." The fraction $I_w/I_b$ = "and only a tiny bit, because the body is heavy." That is why a reaction wheel points a telescope *smoothly and finely*: a huge wheel-speed change buys a whisper of body rotation. --- ## Step 5 — Turn on an outside twist: the wheel starts filling up **WHAT.** Now let a real external torque $\tau_{\text{ext}}$ act — a steady nudge from sunlight ([[Solar Radiation Pressure]]), from [[Gravity Gradient Torque]], or from [[Aerodynamic Drag Torque]]. The total is no longer frozen; its rate of change *equals the twist*: $$\frac{d H_{\text{tot}}}{dt} = \tau_{\text{ext}}$$ - $\tau_{\text{ext}}$ = the outside twist, in $\text{N·m}$. Positive = twisting the satellite one steady way. **WHY the controller holds the body still.** The job is to keep the telescope pointed: $\omega_b\approx0$ and $\dot\omega_b\approx0$. Drop the body term and only the wheel term survives: $$I_w\,\dot\Omega_w = \tau_{\text{ext}}$$ To keep the body dead-still against a push, the wheel must **soak up** all the incoming momentum. Since $H_w = I_w\Omega_w$, this says the wheel's stored momentum climbs at exactly the rate the outside pushes: $$H_w(t) = H_w(0) + \int_0^t \tau_{\text{ext}}\,dt'$$ **Why the integral (the $\int$ sign).** The integral means "add up all the little pushes over time." If the push is *constant*, adding it up second after second gives a **straight line rising forever** — heaviness of the push × time. **PICTURE.** A bucket (the wheel) filling under a steady drip (the torque). The water level is $H_w$; it only ever rises. > [!formula] Momentum accumulation > $$H_w(t) = H_w(0) + \int_0^t \tau_{\text{ext}}\,dt'$$ > A **constant-sign** external torque = a bucket that never stops filling. It *will* overflow. --- ## Step 6 — The edge case: the bucket overflows (saturation) **WHAT.** Every wheel has a top speed $\Omega_{\max}$, so a maximum storable momentum $H_{\max}=I_w\Omega_{\max}$. When the rising line hits $H_{\max}$, the wheel is **saturated** — it cannot spin faster, so it can no longer absorb the push, and the body starts to drift: attitude control is lost. **WHY finite time.** A constant push $\tau_{\text{ext}}$ gives a straight rising line. A straight line always crosses any ceiling — at time: $$t_{\text{sat}} = \frac{H_{\max}}{\tau_{\text{ext}}}$$ - Bigger ceiling $H_{\max}$ → longer runway. - Bigger push $\tau_{\text{ext}}$ → sooner overflow. **PICTURE.** The straight line from Step 5, drawn until it slams into the red ceiling. > [!mistake] "Wheels store momentum, so they handle a steady torque forever." > **Why it feels right:** they *do* absorb it — for a while. **Why it's wrong:** a constant-sign torque integrates into a line that *always* hits the ceiling in finite time. **Fix:** **momentum dumping** with an external actuator (next step) resets the bucket. --- ## Step 7 — Emptying the bucket: momentum dumping needs something *external* **WHAT.** To lower $H_w$ we must remove real momentum from the *whole* system — which the wheel alone cannot do (it only reshuffles). We twist against the *outside world*. In low orbit the cheap tool is a **magnetorquer**: a coil making a magnetic dipole $\vec m$ that pushes on Earth's field $\vec B$ ([[Magnetorquers and Earth's Magnetic Field]]). **WHY a cross product.** A magnet in a field feels a *twist that tries to align it*, strongest when the magnet points **across** the field and zero when it points **along** it. The tool that captures "strength depends on the perpendicular part, and the result is perpendicular to both" is the **cross product** $\times$: $$\vec\tau_{\text{mag}} = \vec m \times \vec B,\qquad |\vec\tau_{\text{mag}}| = m\,B\,\sin\theta$$ - $\theta$ = angle between the coil's dipole and the field. - $\sin\theta$ = the "perpendicular fraction": $1$ when perpendicular (full torque), $0$ when aligned (no torque). This is *why* dumping is slow and cannot act along $\vec B$ — you must wait for the orbit to swing $\vec B$ around. **PICTURE.** The dipole $\vec m$, the field $\vec B$, and the torque popping out perpendicular to both. > [!intuition] Why you need the outside > The wheel is a *buffer*, not a *drain*. Only an external twist changes $H_{\text{tot}}$; magnetorquers and thrusters are the only things that can actually **empty** the bucket. See [[Control Moment Gyroscopes (CMG)]] for a different way to *reshuffle* internally — but even a CMG cannot beat this rule. --- ## Step 8 — The nastiest edge case: crossing zero speed **WHAT.** Suppose we regulate the wheel back down toward $\Omega_w=0$. Exactly *at* zero, the wheel's spin **changes sign**. This is the **zero-crossing**, and it is where fine pointing dies. **WHY zero is a trap.** [[Bearing Friction and Stiction]] does not vary smoothly through zero — it **flips sign** (friction always opposes motion, so its direction is determined by which way you spin). At $\Omega_w=0$, static "stick" friction can *exceed* the tiny torque a telescope command needs. The wheel **sticks**, pointing error grows, then the motor finally breaks free and the wheel **snaps** — an impulsive jolt into the structure exactly when you wanted stillness. **THE FIX (bias momentum).** Don't regulate toward zero. Regulate toward a **non-zero bias** $\Omega_{\text{bias}}$, so friction never reverses and never sticks. The [[PID and Feedback Control]] loop simply targets $H_{\text{bias}}$ instead of $0$. **PICTURE.** The friction-vs-speed curve with its violent jump at zero, and the safe bias point sitting well away from it. > [!mistake] "Just command the wheel straight through zero." > **Why it feels right:** friction seems tiny next to motor torque. **Why it's wrong:** near zero, *stick* friction can beat the fine-pointing command; the wheel hangs, then jerks — jitter. **Fix:** bias every wheel away from zero, or route momentum through other wheels in a redundant array so none crosses zero. --- ## The one-picture summary One flow: **conserved total** → **body and wheel trade momentum (minus sign)** → **outside torque fills the wheel over time** → **it saturates** → **dump externally, but never park at zero**. > [!recall]- Feynman: the whole walkthrough in plain words > Picture a spinning disk — that's "stored turning," and the faster and heavier it spins, the more there is. Bolt a small disk (the wheel) inside a big box (the satellite) on the same shaft, and count their turning together. Out in space nobody can twist the pair, so that total is locked forever — like a see-saw whose middle can't move. Spin the little wheel one way and the big box *must* creep the other way; because the box is so heavy, it barely moves — perfect for aiming a telescope gently. Now let sunlight give the box a tiny steady nudge. To keep the box perfectly still, the wheel has to soak up that nudge, spinning a bit faster every second — like a bucket filling under a slow drip. A steady drip fills any bucket eventually, so the wheel hits its top speed and gives up. To empty it you must push on something *outside* — a coil shoving against Earth's magnetism — and that only works sideways to the field, so it's slow. Last trap: don't let the wheel coast to a dead stop, because right at zero the bearing "sticks" and then "snaps," shaking the whole spacecraft. So we keep every wheel humming at a chosen non-zero speed and never let it park on zero. > [!recall]- > Along one shared axis, total angular momentum is ::: $H_{\text{tot}} = I_b\omega_b + I_w\Omega_w$ > With no external torque, the body–wheel coupling is ::: $\dot\omega_b = -\dfrac{I_w}{I_b}\dot\Omega_w$ > Why the body barely turns when the wheel spins fast ::: because $I_w/I_b$ is tiny (wheel light, body heavy) > A constant external torque makes wheel momentum grow ::: linearly in time, until saturation > Time to saturation ::: $t_{\text{sat}} = H_{\max}/\tau_{\text{ext}}$ > Why dumping needs an external actuator ::: wheels only reshuffle $H$; changing the total needs an outside twist > Magnetorquer torque magnitude ::: $|\vec\tau| = mB\sin\theta$, zero along $\vec B$ > Why we bias wheels off zero ::: to avoid friction sign-flip / stiction at zero-crossing