Guidance, Navigation & Control (GNC)
Level: 2 — Recall (definitions, standard problems, short derivations) Time limit: 30 minutes Total marks: 50
Q1. State the definition of a unit quaternion and write the constraint it must satisfy. If with , find . (4 marks)
Q2. Explain what gimbal lock is in the context of Euler angles using the 3-2-1 convention. At what pitch angle does it occur, and physically what is lost? (5 marks)
Q3. For the 3-2-1 (yaw–pitch–roll) Euler sequence, the direction cosine matrix is . Write the elementary rotation matrix about the 3-axis. (4 marks)
Q4. State the DCM kinematic equation and identify each symbol. Given angular velocity , write out the skew-symmetric matrix . (5 marks)
Q5. Write the standard state-space representation of a linear time-invariant system. Define each matrix () and state which quantity determines system stability. (5 marks)
Q6. A PID controller has output . Name each of the three terms and briefly state what each contributes to closed-loop behaviour. (6 marks)
Q7. For proportional navigation guidance, state the guidance law equation and define each symbol. Give a typical value range for the navigation constant . (5 marks)
Q8. A continuous-time system has . State its eigenvalues and determine whether the system is stable. Justify. (4 marks)
Q9. Write the Kalman filter predict step equations (state and covariance propagation) for the linear model , . Define each symbol. (6 marks)
Q10. Define GPS pseudorange and explain in one sentence why it differs from true geometric range. State the minimum number of satellites needed for a 3-D position fix and why. (6 marks)
End of paper
Answer keyMark scheme & solutions
Q1. (4 marks)
- A unit quaternion represents attitude: with scalar part and vector part . (1)
- Constraint: . (1)
- With : . (1)
- (positive root). (1) Why: attitude quaternions must lie on the unit 3-sphere to represent a pure rotation.
Q2. (5 marks)
- Gimbal lock is the loss of one rotational degree of freedom when two of the three Euler rotation axes align. (2)
- In 3-2-1 convention it occurs at pitch . (1)
- At this point the roll and yaw axes become parallel, so roll and yaw produce the same motion. (1)
- The DCM-to-Euler inversion becomes singular (division by ), only is defined. (1)
Q3. (4 marks)
- Correct 2×2 rotation block (2), correct sign convention (rotating reference→body, active-passive) (1), third row/column identity (1).
Q4. (5 marks)
- Kinematic equation: . (2) ( = DCM inertial→body, = body angular velocity)
- Skew matrix: (3)
Q5. (5 marks)
- , . (2)
- = system/dynamics matrix, = input matrix, = output matrix, = feedthrough matrix. (2)
- Stability determined by eigenvalues of (all with negative real part ⇒ stable). (1)
Q6. (6 marks)
- Proportional : acts on present error; increases speed of response, reduces (not eliminates) steady-state error. (2)
- Integral : acts on accumulated past error; eliminates steady-state error but can add lag/overshoot. (2)
- Derivative : acts on rate of change (predictive); adds damping, reduces overshoot, sensitive to noise. (2)
Q7. (5 marks)
- Law: (commanded lateral acceleration). (2)
- = navigation constant, = closing velocity, = line-of-sight (LOS) rate. (2)
- Typical . (1)
Q8. (4 marks)
- Diagonal matrix ⇒ eigenvalues , . (2)
- Both have negative real part. (1)
- Therefore the system is (asymptotically) stable. (1)
Q9. (6 marks)
- State prediction: . (2)
- Covariance prediction: . (2)
- Symbols: = state transition matrix, = state error covariance, = process noise covariance, superscript = a-priori (predicted), = a-posteriori (updated). (2)
Q10. (6 marks)
- Pseudorange = measured distance from receiver to satellite computed as (signal travel time) using receiver clock. (2)
- It differs from geometric range because of the unknown receiver clock bias (and atmospheric delays). (2)
- Minimum 4 satellites: 3 for the position coordinates plus 1 to solve for the receiver clock bias. (2)
[
{"claim":"Unit quaternion c=0.5 for q=(0.5,0.5,0.5,c)","code":"c=sqrt(1-3*Rational(1,4)); result = (c==Rational(1,2))"},
{"claim":"Eigenvalues of diag(-2,-5) are -2,-5 and stable","code":"A=Matrix([[-2,0],[0,-5]]); ev=list(A.eigenvals().keys()); result = (set(ev)=={-2,-5}) and all(re(e)<0 for e in ev)"},
{"claim":"Skew matrix times own axis vector is zero (omega x omega =0)","code":"w1,w2,w3=symbols('w1 w2 w3'); S=Matrix([[0,-w3,w2],[w3,0,-w1],[-w2,w1,0]]); w=Matrix([w1,w2,w3]); result = simplify(S*w)==zeros(3,1)"},
{"claim":"R3(psi) is orthogonal with determinant 1","code":"p=symbols('psi'); R=Matrix([[cos(p),sin(p),0],[-sin(p),cos(p),0],[0,0,1]]); result = simplify(R.det())==1 and simplify(R*R.T)==eye(3)"}
]