飞行器坐标转换
- 坐标系定义
- 方向余弦矩阵
坐标系定义
本文定义的是右手直角坐标系, 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轴就是第二行和第三行。
通过这种方式我们可以轻松找出某一条轴的姿态坐标,非常方便。
因此我们可以理解为旋转矩阵和方向余弦矩阵是等价的,二者从不同的角度出发,得出了相同的姿态表示方法。