飞行器坐标转换
- 坐标系定义
- 方向余弦矩阵
坐标系定义
本文定义的是右手直角坐标系,
x
−
y
−
z
x-y-z
x−y−z轴分别为北-天-东。
从
A
A
A坐标系到
B
B
B坐标系是分别绕
y
−
z
−
x
y-z-x
y−z−x轴,即天-东-北旋转
ψ
−
θ
−
γ
\psi-\theta-\gamma
ψ−θ−γ。如果
A
A
A是惯性系,
B
B
B是机体系,则这三个角度分别为偏航角、俯仰角、横滚角。
方向余弦矩阵
设图1所示惯性系的三个轴上的单位向量分别为
I
⃗
=
[
1
,
0
,
0
]
T
、
J
⃗
=
[
0
,
1
,
0
]
T
、
K
⃗
=
[
0
,
0
,
1
]
T
\vec{I} =[1,0,0]^{T}、\vec{J} =[0,1,0]^{T}、\vec{K} =[0,0,1]^{T}
I=[1,0,0]T、J=[0,1,0]T、K=[0,0,1]T机体系的三个轴上的单位向量分别为
i
⃗
、
j
⃗
、
k
⃗
\vec{i} 、\vec{j} 、\vec{k}
i、j、k。
将
i
⃗
\vec{i}
i在惯性系下表示为
i
⃗
g
=
[
i
x
g
,
i
y
g
,
i
z
g
]
T
\vec{i}^{g} =[i_{x}^{g},i_{y}^{g},i_{z}^{g}]^{T}
ig=[ixg,iyg,izg]T
其中的
i
x
g
i_{x}^{g}
ixg就是向量
i
⃗
\vec{i}
i在向量
I
⃗
\vec{I}
I上的投影长度,可表示为
I
⃗
\vec{I}
I点乘
i
⃗
\vec{i}
i。
i
x
g
=
c
o
s
(
I
⃗
,
i
⃗
)
=
∣
I
⃗
∣
∣
i
⃗
∣
c
o
s
(
I
⃗
,
i
⃗
)
=
I
⃗
⋅
i
⃗
i_{x}^{g} = cos(\vec{I},\vec{i}) =|\vec{I}||\vec{i}|cos(\vec{I},\vec{i}) =\vec{I}\cdot\vec{i}
ixg=cos(I,i)=∣I∣∣i∣cos(I,i)=I⋅i
同理可以得出
i
⃗
g
=
[
I
⃗
⋅
i
⃗
,
J
⃗
⋅
i
⃗
,
K
⃗
⋅
i
⃗
]
T
\vec{i}^{g} =[\vec{I}\cdot\vec{i},\vec{J}\cdot\vec{i},\vec{K}\cdot\vec{i}]^{T}
ig=[I⋅i,J⋅i,K⋅i]T
可见
i
⃗
\vec{i}
i在惯性系下的坐标就是向量
i
⃗
\vec{i}
i点乘惯性系的三个轴的基准向量。
同理可以推导出
j
⃗
、
k
⃗
\vec{j}、\vec{k}
j、k在惯性系下的坐标,因为
i
⃗
、
j
⃗
、
k
⃗
\vec{i}、\vec{j}、\vec{k}
i、j、k和
I
⃗
、
J
⃗
、
K
⃗
\vec{I}、\vec{J}、\vec{K}
I、J、K都是单位向量,所以方向余弦矩阵可表示如下:
[
i
⃗
g
,
j
⃗
g
,
k
⃗
g
]
=
[
I
⃗
⋅
i
⃗
I
⃗
⋅
j
⃗
I
⃗
⋅
k
⃗
J
⃗
⋅
i
⃗
J
⃗
⋅
j
⃗
J
⃗
⋅
k
⃗
K
⃗
⋅
i
⃗
K
⃗
⋅
j
⃗
K
⃗
⋅
k
⃗
]
=
[
cos
(
I
⃗
,
i
⃗
)
c
o
s
(
I
⃗
,
j
⃗
)
c
o
s
(
I
⃗
,
k
⃗
)
cos
(
J
⃗
,
i
⃗
)
c
o
s
(
J
⃗
,
j
⃗
)
c
o
s
(
J
⃗
,
k
⃗
)
cos
(
K
⃗
,
i
⃗
)
c
o
s
(
K
⃗
,
j
⃗
)
c
o
s
(
K
⃗
,
k
⃗
)
]
[\vec{i}^{g},\vec{j}^{g},\vec{k}^{g} ]= \begin{bmatrix} \vec{I}\cdot\vec{i} & \vec{I}\cdot\vec{j} & \vec{I}\cdot\vec{k} \\ \vec{J}\cdot\vec{i} & \vec{J}\cdot\vec{j} & \vec{J}\cdot\vec{k} \\ \vec{K}\cdot\vec{i} & \vec{K}\cdot\vec{j} & \vec{K}\cdot\vec{k} \\ \end{bmatrix} = \begin{bmatrix} \cos(\vec{I},\vec{i}) & cos(\vec{I},\vec{j}) & cos(\vec{I},\vec{k}) \\ \cos(\vec{J},\vec{i}) & cos(\vec{J},\vec{j}) & cos(\vec{J},\vec{k}) \\ \cos(\vec{K},\vec{i}) & cos(\vec{K},\vec{j}) & cos(\vec{K},\vec{k}) \\ \end{bmatrix}
[ig,jg,kg]=
I⋅iJ⋅iK⋅iI⋅jJ⋅jK⋅jI⋅kJ⋅kK⋅k
=
cos(I,i)cos(J,i)cos(K,i)cos(I,j)cos(J,j)cos(K,j)cos(I,k)cos(J,k)cos(K,k)
所以,方向余弦矩阵的第一列就是机体系的
i
⃗
\vec{i}
i向量(
x
x
x轴)在惯性系下的坐标,同理,
y
y
y轴和
z
z
z轴就是第二列和第三列。
第一行呢?就是惯性系的的 I ⃗ \vec{I} I向量( x x x轴)在机体坐标系下的坐标,同理, y y y轴和 z z z轴就是第二行和第三行。
通过这种方式我们可以轻松找出某一条轴的姿态坐标,非常方便。
因此我们可以理解为旋转矩阵和方向余弦矩阵是等价的,二者从不同的角度出发,得出了相同的姿态表示方法。