首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >坐标转换与姿态描述

坐标转换与姿态描述

作者头像
小飞侠xp
发布2019-10-13 15:03:47
2.2K0
发布2019-10-13 15:03:47
举报

坐标系

为了能够科学的反映物体的运动特性,会在特定的坐标系中进行描述,一般情况下,分析飞行器运动特性经常要用到以下几种坐标系统1、大地坐标系统;2、地心固定坐标系统;3、本地北东地坐标系统;4、机载北东地坐标系统;5、机体轴坐标系统。 其中3、4、5在我们建模、设计控制律时都是经常需要使用的坐标系,描述物体(刚体)位姿信息的6个自由度信息都是在这三个坐标系中产生的

机体轴坐标系

机体轴坐标系的原点固连于飞行器重心,X轴指向机头,Z轴指向机腹,X轴和Z轴都位于纵向对称面内,而Y轴指向机身右侧,与X、Z轴构成右手系,该坐标系我们用body的首字母b表示。

机载NED坐标系

机载NED坐标系的原点也位于飞行器重心,其X轴指向椭球模型地理北极,Y轴指向椭球模型地理东方,Z轴沿椭球面法线向下,在绝大多数理解上都可以理解成通常的北向、东向、地向,通常该坐标系用nv表示。

本地NED坐标系与机载NED坐标系唯一的不同就是原点坐标位于地面上任意一点,在分析物体的旋转运动时一般不会用到。

旋转关系

刚才我们讲到两个坐标系,那建立这两个坐标系的目的是什么呢?当然是要描述清楚飞行器的姿态信息以及角运动状态,目前为止,描述清楚姿态信息的方式有三种:欧拉角、旋转矩阵、四元素。

欧拉角是欧拉引入用来描述刚体姿态的三个角,也是我们平常最容易理解,最容易具象表述清楚的一种方式。欧拉角有静态和动态两种,静态的是绕静止的惯性坐标系三个轴进行旋转,而动态的在旋转过程中旋转坐标轴会发生变化,除了第一次旋转是绕惯性系的坐标轴进行之外,后续两次旋转都是动态的,并且前面旋转的角度对后面的旋转轴是有影响的,按照不同的轴顺序进行旋转得到的欧拉角也是不同的,旋转变换可以归结为若干个沿着坐标轴旋转的组合,组合个数不超过三个并且两个相邻的旋转必须沿着不同坐标轴,总共有12种旋转方式,分别是XYZ、XZY、XYX、XZX、YXZ、YZX、YXY、YZY、ZXY、ZYX、ZXZ、ZYZ。虽然存在12种旋转方式,但是每一种旋转方式都存在万向锁现象,什么是万向锁,这是一个比较复杂的问题,我们会在后面进阶篇进行描述。下图是常见的一种欧拉旋转方式:

而航空专业通常采用的旋转方式是ZYX顺序,下图是一架飞机按照ZYX组合进行旋转产生欧拉角的过程,其中,ψ为偏航角,θ为俯仰角,φ为滚转角。

旋转矩阵

旋转矩阵反映了一个坐标系中的坐标在另一个坐标系中表示的转换关系。我们先来看一下二维平面坐标系下的情况:

如果用矩阵形式表示就是:

而我们上面描述的三个旋转虽然在三维笛卡尔直角坐标系下进行,但都是平面旋转,他们的旋转矩阵分别是

根据作用的顺序,则从机载NED坐标系到机体轴坐标系的欧拉转换矩阵是

所以,旋转矩阵基本上是欧拉角的另一种表示形式。只要俯仰角不等于±90°,欧拉角可以描述清楚任何刚体的姿态以及角运动信息,而对于大部分飞行器来说,俯仰角也不会到90°,所以,使用欧拉角进行姿态控制完全可以满足使用要求,但对于一些要求变态机动能力的飞行器来说,为了防止俯仰角90°时出现奇点,使用四元素替代欧拉角进行姿态控制是必须的。

万向锁

我们把飞行器放到陀螺仪旁边进行对比。首先,我们先来解释一下上面那个旋转的陀螺仪的三个环是怎么旋转的,每一个环都连有一根或者两根轴,这根轴就是每个环的旋转轴,我们可以看到最外面那个环旋转不会影响里面两个环的位置,中间那个环的旋转不会影响最里面那个环的位置,但是最外面的那个环会跟着动,而最里面那个环旋转会影响到外面两个环的位置,这种现象跟我们上一次讲欧拉旋转里的三次旋转是一样的,这也是我们拿陀螺仪来解释欧拉角万向锁现象的原因。

先来看一下最外侧那个环的旋转情况,上次采用的是ZYX的顺序进行旋转,所以最外面那个环对应的就是绕X轴的旋转,对应的是飞行器的滚转运动:

滚转运动(绕x轴)
俯仰运动(绕y轴)
偏航运动

但是如果我们的飞机俯仰角到达±90°时,你会发现此时绿色代表的滚转运动和蓝色代表的偏航运动他们的旋转轴重合了,这时候你必须要改变最里面自转轴的角度才能够达到你需要的空间位置,而这是违背陀螺定轴性规律的,所以下图陀螺仪中运动的那个方向其实是被锁住了的,你在俯仰角达到±90°时就不可能有这个方向的运动,这是因为当你俯仰角达到±90°时,你改变了第三个要旋转的轴的方向,它与你第一次旋转的Z轴重合了,所以在空间中失去了一个自由度:

640.gif

这就是欧拉角的万向锁现象,为了更好的理解这个现象,我们再用自己的手机做一个试验,你把手机屏幕朝上,手机的长边为X轴,短边为Y轴,Z轴垂直屏幕向下,那你先绕Z轴旋转一下手机,假设旋转30度,然后再把手机绕X轴旋转90度,也就是把手机长边接触桌面竖立起来,这时候你再绕手机的短边旋转,你会发现手机的长边一直定在桌面上不可能脱离桌面,这就是万向锁现象。

最后,再让我们用数据公式来解释一下万向锁现象产生的原因,我们来回顾一下昨天的旋转矩阵:

如果俯仰角为±90°,那么公式就变成了:

这说明你改变φ和ψ的值都是一个效果,而矩阵的第一行和最后一列始终是保持不变,这说明无论你怎么改变φ和ψ,你的旋转轴一直是Z轴不变,要想改变φ和ψ有不同的效果,你只能是去改变θ的值,以上就是用数学方法来解释为什么俯仰角在±90°时欧拉角出现万向锁的过程。

四元素

欧拉角表示姿态时会遇到万向锁的问题,这就导致同一种空间状态欧拉角的表示方式不唯一,当出现万向锁现象时,同一种旋转有无数种欧拉角表示形式,从而导致了欧拉角差值时出现问题,因为当你俯仰角接近90°时,两组千差万别的欧拉角表示可以是同一种旋转。所以为了解决这些问题,数学上想出了用四元数的形式来表征姿态的方法。

对于导航飞控的算法,我们需要对四元数有什么了解,其实很简单,我们要知道它的基本运算规律,要知道它以什么样的方式表征姿态,要知道它跟其他两个表征姿态的欧拉角和旋转矩阵方式如何互相转换。除此之外,还有后续如何使用四元数进行建模和控制律设计,如何在导航算法中得到四元数的状态。

基本运算规律

四元数是由1个实数加上3个复数组合而成,通常可以表示成w+xi+yj+zk或者(w,(x,y,z)),其中w、x、y、z都是实数,而i^2 = j^2 =k^2 = -1, i^0 = j^0 = k^0 = 1。

那对于四元数的运算法则,我们要清楚的有以下几个,假设有两个四元数分别为q1=(w1,(x1,y1,z1))和q2=(w2,(x2,y2,z2)),令v1 = (x1,y1,z1),v2= (x2,y2,z2),则

四元素的姿态表示

了解了四元数的基本运算规律后,我们来看下它如何表征姿态,假设存在一根旋转轴u,有一个绕u轴旋转σ角度的这么一个旋转存在,那这时候代表这个旋转的四元数是这样子的:

其中u是旋转轴的单位向量,q是一个单位四元数。

那上述这个四元数有什么用呢,它对任何向量施加以下算子运算后可以得到该向量绕u轴旋转σ角度后的向量:

至于为什么会有这个结果,我们这儿就不展开证明了,思路就是你要证明v和w之间的夹角是σ就行,证明的事情交给数学家们去做,我们只需要知道四元数这么写可以用来表征姿态,其实是表征旋转关系,跟旋转矩阵的表示方法类似,只不过它只需要4个元素,而旋转矩阵需要9个元素。

欧拉角、旋转矩阵、四元素

四元素转旋转矩阵:

旋转矩阵四元素: 已知旋转矩阵:

则求解四元数时根据的方法就是从四元数转旋转矩阵的公式中得到:

但从上式中是无法确定正负号的,所以又有:

这样只要得到q0到q4中的任意一个就能根据上面的关系求出剩余3个分量的值,假设我们先求q0的值,则有:

则四元素:

从上式中可以看到,求得的四元数有两个,但他们表示的是同一种旋转关系,至于先求q0到q4中的哪个值,在实际使用时应该全部一起求,看哪个值大,就选取哪个,以防止某一项在出现0时无法计算的情况。

欧拉角转四元数: 已知欧拉角:α、β、γ 四元数为:

四元素转欧拉角 已知四元数:

欧拉角为:

但是当β角度为90度时,四元数反向计算欧拉角时会出现奇点,是无法计算的。因为这时候简化后的四元数是这样的:

所以atan2中后面那一项就变成了0:

这时候我们通常令α=0,然后解出欧拉角的值。

总结

到这里基本上欧拉角、旋转矩阵、四元数的关系就说清楚了,对于四元数,我们不需要去想象它是怎么旋转的,我们只需要知道它是怎么表征姿态的,后续会根据角运动模型进行控制律设计和状态估计,这就足够了,那我们来总结一下这三种方法各自的优缺点:

欧拉角:非常直观,我们可以很容易理解它的意思,也能想象出对应的空间位置,但是存在万向锁现象,导致后面有很多数学问题。

旋转矩阵:旋转矩阵有9个元素,计算繁杂,尤其是求微分时,而且也不直观。

四元数:没有奇点,能表征任何旋转关系,而且表示简单,只有四个元素,计算量小,但是不直观

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.10.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 坐标系
    • 机体轴坐标系
      • 机载NED坐标系
      • 旋转关系
      • 旋转矩阵
      • 万向锁
        • 滚转运动(绕x轴)
          • 俯仰运动(绕y轴)
            • 偏航运动
              • 四元素
                • 基本运算规律
              • 四元素的姿态表示
                • 欧拉角、旋转矩阵、四元素
                • 总结
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档