zoukankan      html  css  js  c++  java
  • 关于飞机姿态角的学习分享

    一、了解一下什么是飞机姿态角

    飞机姿态角是按欧拉概念定义的,故亦称欧拉角。飞机姿态角是由机体坐标系与地理坐标系之间的关系确定的,用航向角、俯仰角和横滚角三个欧拉角表示。

    不同的转动顺序会形成不同的坐标变换矩阵,通常按航向角、俯仰角和横滚角的顺序来表示机体坐标系相对地理坐标系的空间转动。

    1、什么是欧拉角?

    欧拉角就是物体绕坐标系三个坐标轴(x,y,z轴)的旋转角度。

    heading-pitch-bank系统不是惟一的欧拉角系统,绕任意三个互相垂直轴的任意旋转序列都能定义一个方位。所以,多种选择导致了欧拉角约定的多样性:

         1)heading-pitch-bank系统有两个名称,当然,不同的名字并不代表不同的约定,这其实并不重要,一组常用的术语是roll-pitch-yaw,其中的roll对应与bank,yaw对应于heading,它定义了从物体坐标系到惯性坐标系的旋转顺序

         2)任意三个轴都能作为旋转轴,不一定必须是笛卡尔轴,但是用笛卡尔轴最有意义

         3)也可以选用右手坐标规则

         4)旋转可以以不同的顺序进行

    3,优点:1)容易使用;2)表达简洁;3)任意三个角都是合法的

    4,缺点:1)给定方位的表达方式不唯一;2)两个角度间求插值非常困难

    采用限制欧拉角的方法来避免以上问题的出现:heading限制在+-180,pitch为+-90。

    欧拉角可分为两种情况:

    1,静态:即绕世界坐标系三个轴的旋转,由于物体旋转过程中坐标轴保持静止,所以称为静态。

    2,动态:即绕物体坐标系三个轴的旋转,由于物体旋转过程中坐标轴随着物体做相同的转动,所以称为动态。

    对于分别绕三个坐标轴旋转的情况,下述定理成立:

    物体的任何一种旋转都可分解为分别绕三个轴的旋转,但分解方式不唯一。

    飞机的姿态角应属于动态的欧拉角。

    假设绕y轴旋转为Yaw(航向角),绕x轴旋转为pitch(俯仰角),绕z轴旋转为roll(滚转角),则先heading45°再pitch90°等价于先pitch90°再bank45°。

         

     

    二、分别认识一下各个姿态角

    Yaw(偏航):欧拉角向量的y轴

    机体坐标系xb轴在水平面上投影与地面坐标系xg轴(在水平面上,指向目标为正)之间的夹角,由xg轴逆时针转至机体xb的投影线时,偏航角为正,即机头右偏航为正,反之为负。


    Pitch(俯仰):欧拉角向量的x轴

    俯仰角θ(pitch):机体坐标系X轴与水平面的夹角。当X轴的正半轴位于过坐标原点的水平面之上(抬头)时,俯仰角为正,否则为负。

     


    Roll(翻滚): 欧拉角向量的z轴

    翻滚角Φ(roll):机体坐标系zb轴与通过机体xb轴的铅垂面间的夹角,机体向右滚为正,反之为负。

    想象一下飞机,yaw指水平方向的机头指向,它绕y轴旋转。Pitch指与水平方向的夹角,绕x轴旋转。Roll指飞机的翻滚,绕z轴旋转。如下图

    除欧拉角以外,常用的还有四元素法和旋转矩阵法。

    简而言之,三种方法的特点如下:

    1)欧拉角最直观、最容易理解、存储空间少,但是欧拉角存在万向节死锁现象、插值速度不均匀等缺点,而且不可以在计算机中直接运算;

    2)四元素不存在万向节死锁问题、利用球面插值可以获得均匀的转速、存储空间也较少,但是不好理解、不直观;

    3)旋转矩阵法是最便于计算机处理的,但不可以直接插值、冗余信息多、费存储空间,同样不直观。所以,在机器人学中,一般人机交互端会用欧拉角,插值等用四元素,正逆运动学运算中用矩阵表示法。

    三、飞机姿态角控制

     飞机主要借助机翼和平尾上的舵面来实施操纵。通过副翼、升降舵和方向舵(ξ,η,ζ),可以产生绕纵轴、横轴和竖轴(x,y,z)的力矩(L,M,N),借助这些力矩,就可以改变飞机姿态角 

    模型引用:

    头模型的姿态角,标注。自我感受一下,哈哈哈,如下图所示

     

    学习参考链接:

    https://baike.baidu.com/item/%E9%A3%9E%E6%9C%BA%E5%A7%BF%E6%80%81%E8%A7%92/21517108?fr=aladdin

    https://blog.csdn.net/sinolover/article/details/90671784

    http://www.360doc.com/content/18/0101/17/42247147_718164461.shtml

    ok,以上就是今天的学习笔记,如果有写的不对的地方欢迎指正,谢谢~

  • 相关阅读:
    对象的创建过程以及super关键字的使用
    Java语言基础
    数据结构-思考总结
    ssh简化登录
    WebStorm设置eslint保存自动格式化
    Jmeter简单使用
    nodemon添加babel支持
    VueCli 添加自定义组件报错
    shell写一个压测脚本
    Vue v-for指令中 key 的必要性
  • 原文地址:https://www.cnblogs.com/guhuazhen/p/12511782.html
Copyright © 2011-2022 走看看