3.5.32 · D3Guidance, Navigation & Control (GNC)

Worked examples — Controllability matrix — rank test

1,982 words9 min readBack to topic

Everything here uses only ideas already built in the parent: the State-space representation , matrix multiplication, determinant/rank, and Cayley–Hamilton theorem to know we stop at .


The scenario matrix

Before any numbers, let's map out the space of possible cases. Every controllability problem lives in one of these cells. Our 8 examples below each carry a tag like (C2) telling you which cell it fills.

Cell What varies The question it stress-tests
C1 Full rank, single input The clean "yes, controllable"
C2 Rank , decoupled modes A mode the actuator never touches
C3 Coupling rescues a shared Same , different flips the answer
C4 (degenerate input) No actuator at all — the trivial "no"
C5 Multi-input () When one input alone fails but two together win
C6 , needs Higher power actually matters
C7 Repeated eigenvalue (Jordan block) The classic silent trap
C8 Word problem + exam twist Translate physics → → rank
Recall Reading the rank quickly

Rank the number of linearly independent columns (equivalently rows). For a square , full rank. For non-square, row-reduce and count non-zero rows.


C1 — Full rank, single input

  1. Compute (we need up to because ). Why this step? Cayley–Hamilton theorem guarantees adds nothing new, so is the complete list.

  2. Stack into . Why this step? The reachable subspace is the column span of ; stacking side by side is how we collect all reachable directions.

  3. Take the determinant (fastest rank test for a square matrix). Why this step? Non-zero determinant full rank .

Controllable.


C2 — Decoupled modes, actuator misses one

  1. Compute . Why this step? Diagonal scales each coordinate; the zero in row 2 of stays zero.

  2. Stack. Why this step? Row 2 is entirely zero — a giant hint.

  3. Rank. Second row all zeros . Why this step? One independent row means one reachable dimension. is the dead direction.

Not controllable. The mode runs with no input.


C3 — Same , coupling in saves it

  1. Compute . Why this step? Each mode scales by its own eigenvalue, so and now differ in proportion, not just magnitude.

  2. Stack.

  3. Determinant. Why this step? Non-zero rank .

Controllable.

Figure — Controllability matrix — rank test

C4 — Degenerate input

  1. Compute . Why this step? times the zero vector is zero — every power of applied to stays .

  2. Stack.

  3. Rank. All zeros .

Uncontrollable — reachable subspace is just the origin. This is the extreme limiting case: zero rank, zero reachable dimensions.


C5 — Multi-input: two weak inputs, one strong system

  1. Compute . Since , and . Why this step? With , higher power blocks vanish — only itself carries reachable directions.

  2. Stack , size :

  3. Rank. Only two non-zero rows .

Uncontrollable. Direction 3 is unreachable — no thruster, no coupling.


C6 — where genuinely matters

  1. Compute . Why this step? shifts the "1" one row up — this is the cascade in action.

  2. Compute . Why this step? Now the "1" reaches the top state — this final power is what fills the last dimension. Skipping it would falsely look rank-2.

  3. Stack and check. This is the anti-diagonal identity: — cleaner to note it's a permutation matrix, so , rank . Why this step? Full rank .

Controllable. This is why the parent says "stop at " and not earlier — here was essential.


C7 — The repeated-eigenvalue trap

  1. Case (a): compute . Stack: , . Controllable ✅ Why this step? The off-diagonal mixes the two states, so a single input reaches both.

  2. Case (b): compute . Stack: , . Uncontrollable ❌ Why this step? With a diagonalizable repeated eigenvalue, the two modes are indistinguishable to any single input — and are parallel.


C8 — Word problem + exam twist

  1. Write from the physics. Why this step? Reading off the two scalar equations — the State-space representation step.

  2. Compute . Why this step? Only need since .

  3. Stack and take determinant symbolically. Why this step? Symbolic determinant lets us solve for the failure condition directly.

  4. Solve . . Why this step? Uncontrollable exactly when the determinant vanishes.

Answer: controllable for every (any value of !), and uncontrollable only when — the physically obvious "dead thruster" case. The stiffness never affects controllability.


Recap: which cell taught what

Practice reflexes:

When is a single input hopeless?
When two modes share an eigenvalue and is diagonalizable there (C7b), or a mode is untouched (C2), or (C4).
Fastest 2×2 controllability check?
.
Does more inputs guarantee controllability?
No — see C5, where still gives rank .
Why compute in C6?
Because alone had rank 2; the third block filled the last dimension.

Connections

Concept Map

equals n

less than n

zero in B

B is zero

repeated eig diagonal

Given A and B

Build C = B AB ... A^n-1 B

Compute rank of C

Controllable

Uncontrollable

Find the dead mode

Case C2

Case C4

Case C7b

Pole placement possible