Navigation Systems and Sensors
Assignment - 5
Jimil Bhatt
SC21B083
September 15, 2024
Q.1 Explore the other methods of co-ordinate
transformations other than studied in the class.
The co-ordinate systems transformations other than Direction Cosine Matrix,
Euler angles and axis, Quaternions are:
• Rodrigues’ rotation formula,
• Homogeneous transformation matrix
(i) Rodrigues’ Rotation Formula
• It provides a way to rotate a vector in 3-D space given an axis and angle
of rotation.
• If V
⃗ is a vector in R3 and k̂ is a unit vector describing an axis of rota-
tion about which V ⃗ rotates by an angle θ, then by the right-hand rule,
Rodrigues’ formula is,
⃗rot = V
V ⃗ cos θ + (k̂ × V
⃗ ) sin θ + k̂(k̂ · V
⃗ )(1 − cos θ)
Proof: We can write,
⃗ =V
V ⃗∥ + V
⃗⊥
where,
⃗∥ = Parallel component of V
V ⃗,
⃗⊥ = Perpendicular component of V
V ⃗.
Then,
⃗∥ = (V
V ⃗ · k̂)k̂
1
and
⃗
V⃗⊥ = V⃗ −V ⃗∥ = V
⃗ − (V⃗ · k̂)k̂ = −k̂ × (k̂ × V )
1
(from the vector triple product relation)
⃗a × (⃗b × ⃗c) = (⃗a · ⃗c)⃗b − (⃗a · ⃗b)⃗c
In rotation, component V⃗∥ will be unchanged, i.e.,
⃗rot∥ = V
V ⃗∥
The perpendicular component will be,
⃗rot⊥ = cos θ V
V ⃗⊥ + sin θ(k̂ × V
⃗⊥ ) = cos θ V
⃗⊥ + sin θ(k̂ × V
⃗)
Then the full vector is,
⃗rot = V
V ⃗∥ + V
⃗rot⊥ = V
⃗∥ + cos θ V
⃗⊥ + sin θ(k̂ × V
⃗)
⃗⊥ = V
Putting V ⃗ −V
⃗∥ ,
⃗rot = cos θ V
V ⃗ + (1 − cos θ)(k̂ · V
⃗ )k̂ + sin θ(k̂ × V
⃗)
Thus,
⃗rot = V
V ⃗ + (1 − cos θ)k̂(k̂ · V
⃗ ) + sin θ(k̂ × V
⃗) (1)
In matrix notation,
The linear transformation on R3 given as V ⃗ → k̂ × V
⃗ is written in coordinates
by the column matrix:
(k̂ × V⃗ )x ky Vz − kz Vy 0 −kz ky
Vx
(k̂ × V⃗ )y = kz Vx − kx Vz = kz 0 −kx Vy
⃗ )z
(k̂ × V kx Vy − ky Vx −ky kx 0 Vz
Then,
0 −kz ky
K = kz 0 −kx
−ky kx 0
⃗ = KV
Also, k̂ × V ⃗ , and k̂ × (k̂ × V
⃗ ) = K(KV
⃗ ) = K2 V
⃗.
Then, Eq. (1) becomes:
⃗rot = V
V ⃗ + sin θKV
⃗ + (1 − cos θ)K2 V
⃗
⃗rot = I + sin θK + (1 − cos θ)K2 V⃗
V
Thus, the rotation matrix is given by:
R = I + sin θK + (1 − cos θ)K2
2
(ii) Homogeneous Transformation Matrix
• It is used in 3D space to represent both rotation and translation of the
object in a single matrix.
• It allows easy combination of multiple transformations such as rotating
an object.
• A homogeneous matrix is given as,
⃗t
R
T =
0 1
where,
– R → 3 × 3 rotation matrix,
– ⃗t → 3 × 1 translational matrix,
– 0 → Zero vector,
– 1 → Scaling factor in homogeneous coordinates.
More explicitly, we can write,
r11 r12 r13 tx
r21 r22 r23 ty
T = r31
r32 r33 tz
0 0 0 1
Q.2 If ⃗u the unit vector is a rotation axis and ϕ
is the angle of rotation, then prove that the basis
vectors are related to the original basis by:
V12 + (V22 + V32 ) cos ϕ
V1 V2 (1 − cos ϕ) − V3 sin ϕ V1 V3 (1 − cos ϕ) + V2 sin ϕ
T
Q = V1 V2 (1 − cos ϕ) + V3 sin ϕ V22 + (V12 + V32 ) cos ϕ V2 V3 (1 − cos ϕ) − V1 sin ϕ
V1 V3 (1 − cos ϕ) − V2 sin ϕ V2 V3 (1 − cos ϕ) + V1 sin ϕ V32 + (V12 + V22 ) cos ϕ
ANS -
⃗ is rotating about ⃗u axis with
Let ⃗u be the axis of rotation unit vector, and V
angle of rotation θ. After rotation, we get:
⃗ =V
V ⃗∥ + V
⃗⊥
⃗∥ is ∥ to ⃗u and V
where V ⃗⊥ is perpendicular to ⃗u and the plane. If ω
⃗ is any vector
⃗
containing ⃗u and V⊥ , we have:
⃗∥ = (V
V ⃗ · ⃗u)⃗u · · · (1)
3
⃗′ =V
V ⃗∥ + V
⃗⊥ · · · (2)
Therefore,
⃗ =V
V ⃗∥ + V
⃗⊥ ⇒ ⃗⊥ = V
V ⃗ −V
⃗∥ = V
⃗ − (V
⃗ · ⃗u)⃗u · · · (3)
After rotation by angle θ:
⃗⊥
⃗u × V
ω
⃗ = · · · (4)
⃗⊥ |
|⃗u × V
⃗⊥ becomes V
Also, V ⃗ ′ , but the magnitude remains the same:
⊥
⃗ ⊥ | = |V
|V ⃗⊥′ | · · · (5)
Then,
⃗ ⃗
⃗⊥′ | cos θ V⊥ + |V
⃗⊥′ = |V
V ⃗⊥′ | sin θ ⃗u × V⊥
⃗⊥ |
|V |V⃗⊥ |
⃗⊥′ = cos θV
V ⃗⊥ + sin θ ⃗u × V ⃗⊥ · · · (6)
⃗ ′ = cos θ(V
V ⃗ −V ⃗∥ ) + sin θ ⃗u × (V ⃗ −V ⃗∥ )
⊥
⃗⊥′ = cos θ(V
V ⃗ − (V ⃗ · ⃗u)⃗u) + sin θ ⃗u × V ⃗ · · · (7)
Now we put,
⃗′ =V
V ⃗∥ + V
⃗⊥′
⃗ ′ = (V
V ⃗ · ⃗u)⃗u + cos θ(V
⃗ − (V
⃗ · ⃗u)⃗u) + sin θ(⃗u × V
⃗) · · · (8)
If ⃗u = ux Iˆ + uy Jˆ + uz K̂ along the axis of rotation, and the basis is rotated
by an angle θ, then:
î = cos θIˆ + (1 − cos θ)ux (ux Iˆ + uy Jˆ + uz K̂) + sin θ(−uy K̂ + uz J)
ˆ
î = u2x (1 − cos θ) + cos θ Iˆ + [ux uy (1 − cos θ) + uz sin θ] Jˆ
+ [ux uz (1 − cos θ) − uy sin θ] K̂ · · · (9)
Similarly,
ĵ = [ux uy (1 − cos θ) − uz sin θ] Iˆ + u2y (1 − cos θ) + cos θ Jˆ
4
+ [uy uz (1 − cos θ) + ux sin θ] K̂ · · · (10)
k̂ = [ux uz (1 − cos θ) + uy sin θ] Iˆ + [uy uz (1 − cos θ) − ux sin θ] Jˆ
+ u2z (1 − cos θ) + cos θ K̂
· · · (11)
From (9), (10), and (11), we get:
ˆ ˆ
î I I î
ĵ = Q Jˆ and Jˆ = QT ĵ
k̂ K̂ K̂ k̂
We have:
⃗ = V1 Iˆ + V2 Jˆ + V3 K̂
V
Also, we have:
⃗|=1
|V ⇒ V12 + V22 + V32 = 1
Thus,
1 − V12 = V22 + V32
1 − V22 = V12 + V32
1 − V32 = V12 + V22
⃗ and rotation ϕ similar to ⃗u and rotation θ,
⇒ For unit vector V
From (9), (10), (11):
V12 (1 − cos θ) + cos θ
V1 V2 (1 − cos θ) − V3 sin θ V1 V3 (1 − cos θ) + V2 sin θ
T
Q = V1 V2 (1 − cos θ) + V3 sin θ
V22 (1 − cos θ) + cos θ V2 V3 (1 − cos θ) − V1 sin θ
V1 V3 (1 − cos θ) − V2 sin θ V2 V3 (1 − cos θ) + V1 sin θ V32 (1 − cos θ) + cos θ
From,
1 − V12 = V22 + V32 ⇒ V12 − V12 cos θ + cos θ = V12 + (V22 + V32 ) cos θ
Hence, QT becomes:
V12 + (V22 + V32 ) cos ϕ
V1 V2 (1 − cos ϕ) − V3 sin ϕ V1 V3 (1 − cos ϕ) + V2 sin ϕ
T
Q = V1 V2 (1 − cos ϕ) + V3 sin ϕ V22 + (V12 + V32 ) cos ϕ V2 V3 (1 − cos ϕ) − V1 sin ϕ
V1 V3 (1 − cos ϕ) − V2 sin ϕ V2 V3 (1 − cos ϕ) + V1 sin ϕ V32 + (V12 + V22 ) cos ϕ
Hence Proved.
5
Q.3 (A)Find Euler angle sequence from DCM ma-
trix for all 12 rotation schemes, and find how an-
gles are determined. Also show that angle values
used in different sequence or about different axis
result in different attitude.
ANS -
• Based on sequence of rotation we have,
– Symmetric euler angles
∗ ZXZ, XYX, ZYZ, YXY, YZY, XZX
– Asymmetric Tait-Bryan angles
∗ XYZ, YXZ, ZXY, XZY, YZX, ZYX
then, for
(i) XYX
R = Rx (ϕ)Ry (θ)Rx (ψ)
1 0 0 cθ 0 sθ 1 0 0
= 0 cϕ −sϕ 0 1 0 0 cψ −sψ
0 sϕ cϕ −sθ 0 cθ 0 sψ cψ
cθ sψ sθ cψ sθ
Rxyx = sϕ sθ cϕ cψ − sϕ sψ cθ −cϕ sψ − sϕ cψ cθ
cϕ sθ cϕ sψ + sϕ cψ cθ −sϕ cψ + cϕ sψ cθ
(ii) ZXZ
R = Rz (ϕ)Rx (θ)Rz (ψ)
cϕ cψ − sϕ cθ sψ sϕ cψ + cϕ cθ sψ sθ sψ
Rzxz = −cϕ sψ − sϕ cθ cψ −sϕ sψ + cϕ cθ cψ sθ cψ
sϕ sθ −cϕ sθ cθ
(iii) YZY
−sϕ sθ + cϕ cθ cψ sθ sψ −cψ sθ − sϕ cθ cϕ
R = Ry (ϕ)Rz (θ)Ry (ψ)R = −cϕ sθ cθ sϕ sθ
sϕ sθ + cϕ cθ cψ sθ sψ cϕ cθ − sθ sϕ sψ
(iv) XZX
cθ sψ cθ sψ sϕ
R = −sϕ cϕ cϕ cψ − sϕ sψ cϕ cψ + sϕ cθ
sψ sθ −sϕ cψ − cϕ sθ cθ cψ − sϕ cψ
6
(v) YXY
cϕ cψ − sψ sθ sϕ sθ −sϕ cψ − cϕ sψ
R= sψ sθ cθ sϕ cψ + sθ cθ
cϕ sθ + sϕ cψ −sϕ cθ cψ cθ − sϕ sθ
(vi) ZYZ
cϕ cψ − sϕ sθ cϕ cψ + sϕ cθ −sϕ cψ
R = −sϕ cθ − cϕ sθ cψ cθ − sϕ sψ sϕ sθ
sθ sψ sϕ sψ + cϕ cθ cθ
Similarly, for Asymmetric sequence,
(vii) XYZ
R = Rx (ϕ)Ry (θ)Rz (ψ)
1 0 0 cθ 0 sθ cψ −sψ 0
= 0 cϕ −sϕ 0 1 0 sψ cψ 0
0 sϕ cϕ −sθ 0 cθ 0 0 1
cθ cψ sϕ cθ sθ
= cϕ sθ − sϕ cψ sψ cθ + cϕ sθ −sθ
cϕ sθ + sϕ sψ sϕ sψ − cθ cϕ sθ cϕ cψ
Similarly to (vii), we get other,
(viii) YZX
cθ cϕ cψ cθ + sψ sϕ sψ sθ
R= −sθ cθ cϕ sθ sψ + cθ cψ cϕ
cψ sθ + cϕ sψ cϕ sψ + cθ cψ sϕ cϕ + sψ sθ
(ix) ZXY
cϕ cψ + sψ sθ sϕ cϕ sψ − sθ cψ sϕ cθ sϕ
R = sθ cψ − sϕ sθ sϕ cϕ cψ − sψ sθ sϕ −sθ
sψ sθ − cψ cθ sϕ cψ cθ sϕ + sψ sθ cϕ cθ
(x) XZY
cϕ cθ sθ −cψ sθ
R = −sψ cϕ + sθ sϕ sψ cϕ cθ sϕ sθ − cθ cϕ sψ
sϕ sψ − cϕ cθ sϕ cθ + cϕ sθ sψ cθ
(xi) YXZ
cϕ cθ − sψ sϕ sθ cψ sθ + sϕ sθ cϕ −sϕ cθ
R= −cϕ sψ cϕ cψ sψ sθ
sθ sψ + cϕ cψ sθ sϕ sθ + cθ cϕ sθ cθ
7
(xii) ZYX
cϕ cθ sθ sϕ sϕ sθ − sθ cϕ sψ
R = −sθ cϕ cθ cϕ sθ − cψ sϕ
sθ sψ −cψ sθ cθ cϕ − sϕ sθ
Looking at the rotation sequence matrix we see that,
Sequence Φ Θ Ψ
−1 Q21 −1 −1 Q12
XYX tan cos (Q11 ) tan
Q31 Q13
YZY tan−1 Q 32
cos−1 (Q22 ) tan−1 Q 23
Q12 Q21
ZXZ tan−1 Q 13
cos−1 (Q33 ) tan−1 Q 31
Q23 Q32
XZX tan−1 Q 31
cos−1 (Q11 ) tan−1 Q 32
Q21 Q12
XYX tan−1 Q 21
cos−1 (Q22 ) tan−1 Q 23
Q31 Q12
XYZ tan−1 Q 23
cos−1 (Q22 ) tan−1 Q 21
Q33 Q11
XYZ tan−1 −Q Q32
sin−1 (−Q23 ) tan−1 Q 21
13 Q22
YZX tan−1 Q 13
sin−1 (−Q12 ) tan−1 Q 31
Q33 Q32
ZXY tan−1 −Q Q12
sin−1 (−Q13 ) tan−1 Q 21
32 Q22
ZXY tan−1 −Q 32
sin−1 (−Q31 ) tan−1 −Q 12
Q22 Q13
YXZ tan−1 −Q 13
sin−1 (Q33 ) tan−1 −Q 12
Q23 Q11
ZYX tan−1 −Q 21
Q11 sin−1 (Q31 ) tan−1 −Q 32
Q33
Looking at sequence (7) and (12), we see XYZ and ZYX sequence give
different values of Φ, Θ, Ψ angles. Hence it will be the case for other
sequences also. Therefore, it will result in different altitude.
8
Q3 (B). Determine appropriate Euler angles
from DCM matrix for already solved.
Q3 (C) Obtain classical Euler angles for trans-
formation from Geocentric equatorial to per-
ifocal system.
ANS -
In the geocentric equatorial system, the 3 axes are aligned as follows:
– X-axis: direction of vernal equinox
– Y-axis: 90° to the east along the equatorial plane
– Z-axis: Earth’s axis of rotation
In perifocal coordinate system:
– Satellite-based system
– Fundamental plane is that of satellite
– P-axis: points towards perigee of satellite’s orbit
– Q-axis: 90° from P-axis along orbital plane
– R-axis: normal to orbital plane passing through Earth
Thus, for transforming x-y-z to p-q-r coordinates, we need to follow the
given steps.
Transformation matrix is given by:
Qi = Rz (Ω)Rx (i)Rz (ω)
Euler angle rotation matrix (ZYX convention):
cos ψ cos θ cos ψ sin θ sin ϕ − sin ψ cos ϕ cos ψ sin θ cos ϕ + sin ψ sin ϕ
R = sin ψ cos θ sin ψ sin θ sin ϕ + cos ψ cos ϕ sin ψ sin θ cos ϕ − cos ψ sin ϕ
− sin θ cos θ sin ϕ cos θ cos ϕ
where:
ϕ is the rotation around the X-axis
θ is the rotation around the Y-axis
ψ is the rotation around the Z-axis
9
Figure 1: Orbit transformation diagram
Q3 (D) In 2D show that rotation of a frame
by angle α followed by rotation by angle β is
equivalent to single rotation through angle α
+ β.
In 3D show that successive rotations about
same axis is equivalent to one rotation by same
axis with sum of the angles of successive ro-
tations.
ANS -
cos γ − sin γ
Rγ =
sin γ cos γ
10
cos α sin α cos β − sin β cos(α + β) sin(α + β)
R = Rα Rβ = = = Rα+β
− sin α cos α − sin β cos β − sin(α + β) cos(α + β)
Similarly, in 3-D:
1 0 0
Rz (θ) = 0 cos θ sin θ
0 − sin θ cos θ
1 0 0 cos β 0 sin β cos β sin α sin β cos α sin β
Rx (α)Ry (β) = 0 cos α sin α 0 1 0 = 0 cos α − sin α
0 − sin α cos α − sin β 0 cos β − sin β sin α cos β cos α cos β
Thus,
Ry (α)Rz (β) = Rz (α + β)
Q4 - Prove or disprove that intrinsic and ex-
trinsic rotations for a given scheme results in
some DCM matrix.
ANS -
Intrinsic Rotation:
Rotations about the object fixed axes
first rotate outer gimbal, then middle gimbal, finally inner gimbal
Figure 2: intrinsic Rotation
11
Extrinsic Rotation:
Rotations performed w.r.t fixed frame
first rotate inner gimbal, then middle gimbal, finally outer gimbal
Figure 3: Caption for the image
Any extrinsic rotation is equivalent to intrinsic rotation by the same angles
but in reversed order of elemental rotations.
x · y ′ · z”(Ext) = z” · y ′ · x(int)
– First rotation same for both:
Iz = E z
– Second rotation: Intrinsic rotation x can be represented of an inverse
rotation about z then about y (extrinsic) and then z again.
Ez
⃗ygx = Ez · Ey =
Ez
– Third rotation on Iy :
Iy = Iy · Ez · Ex = Ez · Ey · fy
Ix · fy · fz = R (fy Ez · Ex · Ey · fy ) Iy fz
= (fy Ez · Ex ) (Ez · Ey · fy · Iy fz )
= fy · Ez · Ex
Ix · Iy · Iz = Ez · Ey · Ex
Hence proved xyz and zyx
Ez · Ey · Ex ̸= Ex Ey Ez
Ix · Iy · Iz ̸= Ex · Ey · Ez
12
Q4 (A) Show that v0 is fixed with respect to
AT
ANS -
4. In slide 42, show v0 is fixed with respect to T̂ .
If Av0 = λv0 , v0 is the eigenvector of λ = 1.
(i) If A is a rotation matrix, i.e., an orthogonal matrix:
Av0 = v0 and AT A = I
Then,
(AT A)v0 = v0
AT (Av0 ) = v0
AT v 0 = v 0
Q4 (B) How to compute the rotation angle
about fixed axis for an arbitrary rotation ma-
trix?
ANS -
To compute the rotation angle about a fixed axis for an arbitrary rotation
matrix, follow these steps:
General Rotation Matrix:
A general 3D rotation matrix R is of the form:
r11 r12 r13
R = r21 r22 r23
r31 r32 r33
Steps to Compute the Rotation Angle θ
13
1. **Trace of the Matrix**: The trace of a matrix is the sum of its diagonal
elements, i.e.,
Tr(R) = r11 + r22 + r33
2. **Rotation Angle Formula**: The angle of rotation θ can be computed
using the trace of the matrix as follows:
Tr(R) − 1
cos θ =
2
Therefore, the rotation angle θ is:
Tr(R) − 1
θ = cos−1
2
Additional Consideration:
- The matrix R must be orthogonal, meaning RT R = I, and its determi-
nant should be det(R) = 1.
- If the axis of rotation is also required, you can compute the unit vector
along the axis using the following formula:
r − r23
1 32
v= r13 − r31
2 sin θ
r21 − r12
This gives the unit vector v along the axis of rotation.
Q4 (c) Verify trace can be used to compute
the angle of rotation for rotation about coor-
dinate axes.
ANS -
For rotation about any arbitrary axis of rotation, as proved in Rz (θ):
2
v1 + (v22 + v32 ) cos ϕ
v1 v2 (1 − cos ϕ) v1 v3 (1 − cos ϕ)
Qϕ = v1 v2 (1 − cos ϕ) v22 + (v12 + v32 ) cos ϕ v2 v3 (1 − cos ϕ)
v1 v3 (1 − cos ϕ) v2 v3 (1 − cos ϕ) v32 + (v12 + v22 ) cos ϕ
tr(a) = v12 + v22 + v32 + cos ϕ · (2(v12 + v22 + v32 ))
14
Since ⃗v is a unit vector, i.e., v12 + v22 + v32 = 1:
tr(a) = 1 + 2 cos ϕ
Thus,
−1 tr(Qϕ ) − 1
ϕ = cos
2
Q4 (D) Prove that
tr(AB) = tr(BA)
ANS -
tr(AB) = tr(BA)
If C = AB = BA, then:
n
X n
X
cij = aik bkj , then cij = aik bkj
k=1 k=1
X n
X
tr(C) = tr(AB) = cii = tr(A) = bki aki
k k=1
Scalar products hold commutative property
n X
X n
tr(AB) = bki aki = tr(BA)
i=1 k=1
(Q4 (E) Show that the incremental rotation
matrices commute under multiplication
ANS -
Consider:
1 0 0
R̃x (θ) = 0 cos θ sin θ
0 − sin θ cos θ
15
we are using here approximation as:
cos(θ) ≈ 1;
sin(θ) ≈θ;
θ ≈ 0;
Now consider the rotation matrix;
1 0 0 1 0 0
R̃θ = 0 1 −θ , R̃ϕ = 0 1 −ϕ
0 θ 1 0 ϕ 1
where θ, ϕ are small angles.
1 0 0 1 0 0
R̃ϕ R̃θ = 0 1 −ϕ 0 1 −θ
0 ϕ 1 0 θ 1
Multiplying these matrices gives:
1 0 0
= 0 1 − θϕ −(θ + ϕ)
0 (θ + ϕ) 1 − θϕ
R̃ϕ R̃θ = R̃θ R̃ϕ
Q4 (F) Verify that the Direction Cosine Matrix
(DCM) from the coordinate system (I, ⃗ J,
⃗ K)
⃗ to
the coordinate system (⃗i, ⃗j, ⃗k) is:
ℓ2 (1 − cos θ) + cos θ
ℓm(1 − cos θ) + n sin θ ℓn(1 − cos θ) − m sin θ
ℓm(1 − cos θ) − n sin θ m2 (1 − cos θ) + cos θ mn(1 − cos θ) + ℓ sin θ
ℓn(1 − cos θ) + m sin θ mn(1 − cos θ) − ℓ sin θ n2 (1 − cos θ) + cos θ
ANS -
Answer is the same as the answer for the question 2.
16
Q5 what are the other techniques of the rotation?
ANS -
Answer is the same as the answer for the question 1.
17