Guidance, Navigation & Control (GNC)
Chapter: 3.5 Guidance, Navigation & Control Level: 1 — Recognition (MCQ, matching, true/false with justification) Time limit: 20 minutes Total marks: 40
Section A — Multiple Choice (1 mark each; 16 marks)
Choose the single best answer.
Q1. An accelerometer in free-fall (no thrust, only gravity) measures a specific force of:
- (a) downward
- (b) upward
- (c) zero
- (d)
Q2. The 3-2-1 Euler angle sequence rotates by angles in the order:
- (a) roll, pitch, yaw
- (b) yaw, pitch, roll
- (c) pitch, yaw, roll
- (d) yaw, roll, pitch
Q3. The unit quaternion constraint is:
- (a)
- (b)
- (c)
- (d)
Q4. Gimbal lock in a 3-2-1 Euler sequence occurs at pitch angle:
- (a)
- (b)
- (c)
- (d)
Q5. The DCM kinematics equation is:
- (a)
- (b)
- (c)
- (d)
Q6. A continuous-time linear system is asymptotically stable if and only if:
- (a) all eigenvalues of have positive real part
- (b) all eigenvalues of have negative real part
- (c) is symmetric
- (d)
Q7. Proportional navigation guidance commands acceleration proportional to:
- (a) range to target
- (b) (LOS rotation rate)
- (c) closing velocity only
- (d) the target's absolute acceleration
Q8. The Kalman gain is chosen to:
- (a) maximize the trace of the covariance
- (b) minimize the trace of the posterior error covariance
- (c) make the innovation zero
- (d) set the process noise to zero
Q9. A PID controller output is:
- (a)
- (b)
- (c)
- (d)
Q10. The controllability matrix for with is:
- (a)
- (b)
- (c)
- (d)
Q11. Gyroscope measurement error typically includes:
- (a) bias and noise
- (b) only quantization
- (c) gravity coupling only
- (d) no error (ideal)
Q12. GPS position is found from at least how many satellite pseudoranges (for 3D + clock)?
- (a) 2
- (b) 3
- (c) 4
- (d) 6
Q13. In the Nyquist stability criterion, stability is assessed by counting encirclements of the point:
- (a)
- (b)
- (c)
- (d)
Q14. The LQR optimal gain requires solving the:
- (a) Lyapunov equation
- (b) algebraic Riccati equation
- (c) Bellman ODE only
- (d) characteristic polynomial of
Q15. Modified Rodrigues parameters are attractive because they are:
- (a) always exactly the Euler angles
- (b) compact and singularity-free over a large range
- (c) a 4-parameter set with a constraint
- (d) only defined for small rotations
Q16. A control moment gyroscope (CMG) provides high torque but suffers from:
- (a) zero-crossing friction
- (b) gimbal singularities
- (c) plume impingement
- (d) pseudorange bias
Section B — Matching (1 mark each; 12 marks)
Match each item in Column X to the correct description in Column Y. Write pairs (e.g., M1–?).
| Column X | Column Y | |
|---|---|---|
| M1. Complementary filter | A. Two vector measurements → attitude | |
| M2. TRIAD method | B. Optimal linear estimator, predict/update | |
| M3. Kalman filter | C. Simple frequency-domain sensor blend | |
| M4. EKF | D. Sigma points, no Jacobians | |
| M5. UKF | E. Linearization via Jacobians | |
| M6. IMU | F. Accelerometer + gyroscope package |
| Column X | Column Y | |
|---|---|---|
| M7. Root locus | P. Magnitude & phase vs frequency | |
| M8. Bode plot | Q. Poles migrate as gain varies | |
| M9. Observability matrix | R. Distributes torque among thrusters/wheels | |
| M10. Pole placement | S. Ackermann's formula | |
| M11. RCS thruster selection | T. Stack of | |
| M12. Reaction wheel | U. Momentum storage, zero-crossing issue |
Section C — True/False WITH one-line justification (2 marks each: 1 T/F + 1 justification; 12 marks)
Q17. "Quaternions avoid gimbal lock entirely." — True/False? Justify.
Q18. "The gravity vector coincides with the specific force measured by an accelerometer on a table." — True/False? Justify.
Q19. "Adding more, well-spread GPS satellites reduces the geometric dilution of precision (GDOP)." — True/False? Justify.
Q20. "A system can be stabilized by full-state feedback pole placement only if it is controllable." — True/False? Justify.
Q21. "In a 3-2-1 DCM, the total rotation matrix is applied to a vector expressed in inertial frame to get body frame." — True/False? Justify.
Q22. "The LQG controller can be designed by separately designing the LQR and the Kalman filter (separation principle)." — True/False? Justify.
Answer keyMark scheme & solutions
Section A (1 mark each)
Q1 — (c) zero. In free-fall, the only force is gravity; an accelerometer measures non-gravitational specific force . In free-fall , so . (This is why accelerometers can't sense gravity directly.)
Q2 — (b) yaw, pitch, roll. The "3-2-1" refers to rotation axes in order: 3rd axis (yaw ψ), then 2nd (pitch θ), then 1st (roll φ).
Q3 — (b) . A unit quaternion has norm 1 to represent a pure rotation.
Q4 — (c) . At pitch the roll and yaw axes align → one DOF lost → gimbal lock.
Q5 — (b) . Standard body-to-inertial DCM kinematics with body rates.
Q6 — (b) negative real parts. Hurwitz condition: all eigenvalues in open left half-plane ⇒ modes .
Q7 — (b) . PN commands lateral acceleration proportional to closing velocity times line-of-sight rate.
Q8 — (b) minimize trace of posterior covariance. Kalman gain minimizes expected squared error = trace of .
Q9 — (a) . Definition of PID.
Q10 — (b) . Controllability matrix; full rank ⇒ controllable.
Q11 — (a) bias and noise. Gyro model: .
Q12 — (c) 4. Three coordinates plus receiver clock bias = 4 unknowns → 4 pseudoranges.
Q13 — (c) . Nyquist counts encirclements of .
Q14 — (b) algebraic Riccati equation. , with from the ARE.
Q15 — (b) compact and singularity-free over a large range. MRPs are a 3-parameter set with singularity only at .
Q16 — (b) gimbal singularities. CMGs give high torque amplification but can hit singular gimbal configurations.
Section B (1 mark each)
M1–C, M2–A, M3–B, M4–E, M5–D, M6–F, M7–Q, M8–P, M9–T, M10–S, M11–R, M12–U.
Rationale: complementary filter = simple frequency blend; TRIAD uses two vectors; KF is optimal predict/update; EKF linearizes (Jacobians); UKF uses sigma points; IMU = accel+gyro; root locus tracks poles vs gain; Bode = magnitude/phase; observability matrix stacks ; pole placement via Ackermann; RCS selection distributes torque; reaction wheels store momentum with zero-crossing friction.
Section C (1 mark T/F + 1 mark justification)
Q17 — TRUE. Quaternions have no coordinate singularity; the 4-parameter representation with unit constraint parametrizes SO(3) globally (double cover), so no gimbal lock.
Q18 — FALSE. On a table , so specific force (points opposite gravity, magnitude upward as reaction). The accelerometer reads the support force, not the gravity vector's direction—so it is anti-parallel to , not coincident.
Q19 — TRUE. More, geometrically well-distributed satellites make the geometry matrix better conditioned, lowering GDOP (better dilution). (Poorly spread satellites still give high GDOP.)
Q20 — TRUE. Arbitrary pole placement via state feedback is possible iff is controllable; controllability is the condition for full eigenvalue assignment. (Stabilizability suffices if uncontrollable modes are already stable, but full placement needs controllability.)
Q21 — TRUE. The 3-2-1 DCM from inertial to body is ; applied to an inertial vector it yields body-frame components. (Order of matrix multiplication = reverse order of physical rotation, consistent with 3-2-1.)
Q22 — TRUE. The separation principle guarantees LQR (state feedback) and Kalman filter (estimator) can be designed independently; combined LQG is optimal and the closed-loop eigenvalues are the union of both designs.
[
{"claim":"Free-fall specific force is zero: f = a - g with a=g",
"code":"a=g=9.81; f=a-g; result=(f==0)"},
{"claim":"Unit quaternion norm-squared equals 1",
"code":"q0,q1,q2,q3=Rational(1,2),Rational(1,2),Rational(1,2),Rational(1,2); result=(q0**2+q1**2+q2**2+q3**2==1)"},
{"claim":"GPS 3D+clock requires 4 unknowns hence 4 satellites",
"code":"unknowns=3+1; result=(unknowns==4)"},
{"claim":"Hurwitz: eigenvalues of stable A=[[0,1],[-2,-3]] have negative real parts",
"code":"A=Matrix([[0,1],[-2,-3]]); ev=list(A.eigenvals().keys()); result=all(re(e)<0 for e in ev)"},
{"claim":"Controllability matrix of A=[[0,1],[0,0]],B=[[0],[1]] has full rank 2",
"code":"A=Matrix([[0,1],[0,0]]); B=Matrix([[0],[1]]); Cm=B.row_join(A*B); result=(Cm.rank()==2)"}
]