飞行器坐标转换

编程入门 行业动态 更新时间:2024-10-09 12:28:41

<a href=https://www.elefans.com/category/jswz/34/1722123.html style=飞行器坐标转换"/>

飞行器坐标转换

飞行器坐标转换

    • 坐标系定义
    • 方向余弦矩阵

坐标系定义

本文定义的是右手直角坐标系, 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 惯性系到机体系

方向余弦矩阵

设图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} i g=[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} i g=[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} [i g,j ​g,k g]= ​I ⋅i J ⋅i K ⋅i ​I ⋅j ​J ⋅j ​K ⋅j ​​I ⋅k J ⋅k K ⋅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轴就是第二行和第三行。

通过这种方式我们可以轻松找出某一条轴的姿态坐标,非常方便。

因此我们可以理解为旋转矩阵和方向余弦矩阵是等价的,二者从不同的角度出发,得出了相同的姿态表示方法。

更多推荐

飞行器坐标转换

本文发布于:2023-11-16 17:51:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1629599.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:飞行器   坐标

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!