1.定义
欧拉角是用来描述刚体(直角坐标系)姿态的三个角度,通常是参考坐标系转向动坐标系的三次旋转的角度,因此欧拉角的定义与转动顺序有关,并不唯一。欧拉角与四元数和方向余弦矩阵相比,参数更少,物理含义更加直观、更容易理解,但也存在万向节锁问题。
为什么是三次呢?可以证明,空间的任意转动都可以由三次基本转动合成,而基本转动是以坐标轴为旋转轴的转动。
2.基本转动矩阵
在介绍欧拉角与方向余弦矩阵关系之前,先看看基本转动矩阵与欧拉角的关系。
根据罗德里格公式,可以得到方向余弦矩阵与等效旋转矢量的关系:
C
b
n
=
M
R
V
(
ϕ
)
=
I
+
s
i
n
ϕ
(
u
×
)
+
(
1
−
c
o
s
ϕ
)
(
u
×
)
2
C_{b}^n=\bm{M}_{RV}(\bm{\phi}) =\bm{I}+sin\phi(\bm{u}\times)+(1-cos\phi)(\bm{u}\times)^2
Cbn=MRV(ϕ)=I+sinϕ(u×)+(1−cosϕ)(u×)2
若分别取等效旋转矢量为
ϕ
1
=
α
[
1
0
0
]
T
\bm{\phi_{1}}=\alpha\begin{bmatrix} 1&0 & 0 \end{bmatrix}^T
ϕ1=α[100]T,
ϕ
2
=
β
[
0
1
0
]
T
\bm{\phi_{2}}=\beta\begin{bmatrix} 0&1 & 0 \end{bmatrix}^T
ϕ2=β[010]T,
ϕ
3
=
γ
[
0
0
1
]
T
\bm{\phi_{3}}=\gamma\begin{bmatrix} 0&0 & 1 \end{bmatrix}^T
ϕ3=γ[001]T
则有,
C
b
n
(
ϕ
1
)
=
M
R
V
(
ϕ
1
)
=
I
+
s
i
n
α
[
0
0
0
0
0
−
1
0
1
0
]
+
(
1
−
c
o
s
α
)
[
0
0
0
0
0
−
1
0
1
0
]
2
=
[
1
0
0
0
c
o
s
α
−
s
i
n
α
0
s
i
n
α
c
o
s
α
]
C_{b}^n(\bm{\phi_{1}})=\bm{M}_{RV}(\bm{\phi_{1}}) =\bm{I}+sin\alpha\begin{bmatrix} 0 & 0 & 0\\ 0& 0& -1\\ 0& 1& 0 \end{bmatrix}+(1-cos\alpha)\begin{bmatrix} 0 & 0 & 0\\ 0& 0& -1\\ 0& 1& 0 \end{bmatrix}^2=\begin{bmatrix} 1 & 0 & 0\\ 0& cos\alpha& -sin\alpha\\ 0& sin\alpha& cos\alpha \end{bmatrix}
Cbn(ϕ1)=MRV(ϕ1)=I+sinα⎣⎡0000010−10⎦⎤+(1−cosα)⎣⎡0000010−10⎦⎤2=⎣⎡1000cosαsinα0−sinαcosα⎦⎤
C
b
n
(
ϕ
2
)
=
M
R
V
(
ϕ
2
)
=
I
+
s
i
n
α
[
0
0
1
0
0
0
−
1
0
0
]
+
(
1
−
c
o
s
α
)
[
0
0
1
0
0
0
−
1
0
0
]
2
=
[
c
o
s
β
0
s
i
n
β
0
1
0
−
s
i
n
β
0
c
o
s
β
]
C_{b}^n(\bm{\phi_{2}})=\bm{M}_{RV}(\bm{\phi_{2}}) =\bm{I}+sin\alpha\begin{bmatrix} 0 & 0 & 1\\ 0& 0& 0\\ -1& 0& 0 \end{bmatrix}+(1-cos\alpha)\begin{bmatrix} 0 & 0 & 1\\ 0& 0& 0\\ -1& 0& 0 \end{bmatrix}^2=\begin{bmatrix} cos\beta & 0 & sin\beta\\ 0& 1& 0\\ -sin\beta& 0& cos\beta \end{bmatrix}
Cbn(ϕ2)=MRV(ϕ2)=I+sinα⎣⎡00−1000100⎦⎤+(1−cosα)⎣⎡00−1000100⎦⎤2=⎣⎡cosβ0−sinβ010sinβ0cosβ⎦⎤
C
b
n
(
ϕ
3
)
=
M
R
V
(
ϕ
3
)
=
I
+
s
i
n
α
[
0
−
1
0
1
0
0
0
0
0
]
+
(
1
−
c
o
s
α
)
[
0
−
1
0
1
0
0
0
0
0
]
2
=
[
c
o
s
γ
−
s
i
n
γ
0
s
i
n
γ
c
o
s
γ
0
0
0
1
]
C_{b}^n(\bm{\phi_{3}})=\bm{M}_{RV}(\bm{\phi_{3}}) =\bm{I}+sin\alpha\begin{bmatrix} 0 & -1 & 0\\ 1& 0&0\\ 0& 0& 0 \end{bmatrix}+(1-cos\alpha)\begin{bmatrix} 0 & -1 & 0\\ 1& 0&0\\ 0& 0& 0 \end{bmatrix}^2=\begin{bmatrix} cos\gamma & -sin\gamma & 0\\ sin\gamma& cos\gamma& 0\\ 0& 0& 1 \end{bmatrix}
Cbn(ϕ3)=MRV(ϕ3)=I+sinα⎣⎡010−100000⎦⎤+(1−cosα)⎣⎡010−100000⎦⎤2=⎣⎡cosγsinγ0−sinγcosγ0001⎦⎤
上述三式称为以坐标轴为旋转轴的基本转动矩阵,或称Givens矩阵或初等旋转矩阵。
3.欧拉角与方向余弦矩阵的关系
本文采用惯导里习惯的312顺序定义欧拉角。
由于初等旋转矩阵选的是从动系到参考系的坐标变换阵,故连续旋转的矩阵相乘为右乘。
所以从参考系旋转到动系的方向余弦矩阵为
4.总结
本文基本介绍了严恭敏的欧拉角定义方法,基本转动矩阵与等效旋转矢量相结合,具有知识的连贯性。而秦永元在定义基本旋转矩阵时,采用了矢量投影的方法。个人更喜欢严老师的定义方法。
在初等矩阵定义上,严采用从动系到定系的坐标变换矩阵,而秦采用了从定系到动系的坐标变换矩阵,这使得两者在连续转动的矩阵连乘方向上有区别,前者是右乘,而后者左乘,依据都是矩阵连乘的链式法则。但可以证明,二者等价,只是转置的关系。
关于航向角的定义,为何是北偏东为正,是导航界习惯使然。
5.参考文献
【1】秦永元《惯性导航》第二版P4-5
【2】严恭敏《捷联惯导算法与组合导航原理》附录B