精华内容
下载资源
问答
  • 欧拉角方向余弦矩阵
    2020-04-29 09:22:02
    1. 欧拉角Y、P、R,分别记为α,β,γ

    2. 绕着Z轴旋转的是Y,即旋转了α,旋转矩阵A
      1 0 0
      0 cosα sinα
      0 -sinα cosα

    3. 绕Y轴旋转是P,β,矩阵 B
      cosβ 0 -sinβ
      0 1 0
      sinβ 0 cosβ

    4. 绕X轴旋转是R,γ,矩阵 C
      cosγ sinγ 0
      -sinγ cosγ 0
      0 0 1

    5. 方向余弦矩阵就是A·B·C,在这里插入图片描述

    更多相关内容
  • 方向余弦矩阵求欧拉角
  • 输入矩阵是 3x3。 它仅适用于“ZYX”序列。 函数“dcm2angle”在 Airspace 工具箱中的 Matlab 2012b 中可用,它也启用其他序列。 但是,如果您没有访问该工具箱的权限,那么……这才是开始:-)。...
  • 给定从 XYZ 到 xyz 的正交变换的方向余弦矩阵为 Q。求此变换的欧拉角 fi 、 theta 和 psi 。 有关更多示例,请访问www.smallsats.org
  • 欧拉角方向余弦矩阵之间的转换

    万次阅读 2015-08-25 17:05:18
    欧拉角转换成方向余弦矩阵欧拉角有12种旋转顺序分别为 - 1 X-Z-Y - 2 Y-X-Z - 3 Y-Z-X - 4 Z-X-Y - 5 Z-Y-X - 6 X-Y-X - 7 X-Z-X …. 每种旋转顺序可以分解为3次旋转,每次旋转或者为绕X轴,或者绕...

    欧拉角转换成方向余弦矩阵

    欧拉角有12种旋转顺序分别为
    - 1 X-Z-Y
    - 2 Y-X-Z
    - 3 Y-Z-X
    - 4 Z-X-Y
    - 5 Z-Y-X
    - 6 X-Y-X
    - 7 X-Z-X
    ….
    每种旋转顺序可以分解为3次旋转,每次旋转或者为绕X轴,或者绕Y轴,或者绕Z轴(每次旋转都是绕着空间固定不变的坐标系的轴旋转,称为静态旋转)

    每次旋转都可以认为坐标乘以了一个矩阵(实际这个矩阵也是方向余弦矩阵)
    绕X轴旋转 α 的矩阵为:

    Ax=1000cos(α)sin(α)0sin(α)cos(α)

    绕Y轴旋转 α 的矩阵为:
    Ay=cos(α)0sin(α)010sin(α)0cos(α)

    绕Z轴旋转 α 的矩阵为:
    Az=cos(α)sin(α)0sin(α)cos(α)0001

    加入旋转顺序为Z-Y-X,那么方向余弦矩阵就是

    A=AxAyAz

    方向余弦矩阵转换成欧拉角

    方向余弦矩阵有9个分量,实际只有3个自由度。假设欧拉角为未知量,用上面的方法求解方程,由于方程数目大于未知量,实际这样求解不出方程。

    目前我还没有找到一个很好的算法可以完成这个转换。不过Labview中有这样一个模块,可以进行转换

    这个模块在【数学】-【几何】下面

    程序框图

    前面板

    在matlab中完成欧拉角与方向余弦矩阵之间的转换

    有两个函数: eul2rotm rotm2eul2
    maltab中的欧拉角只支持’ZYX’,’ZYZ’两种选择顺序

    展开全文
  • 欧拉角以及方向余弦

    千次阅读 2017-09-14 18:00:27
    目前,描述两个坐标系之间关系的常用方法主要有欧拉角法、方向余弦矩阵法和四元数法。因此要弄懂这三种方法的定义及关系,我们必须先从坐标系转化开始了解。下面以四旋翼为例,定义两个坐标系。导航坐标系(参考坐标...
    目前,描述两个坐标系之间关系的常用方法主要有欧拉角法、方向余弦矩阵法和四元数法。因此要弄懂这三种方法的定义及关系,我们必须先从坐标系转化开始了解。下面以四旋翼为例,定义两个坐标系。导航坐标系(参考坐标系)n,选取东北天右手直角坐标系作为导航坐标系n、载体坐标系(机体坐标系)b,选取右手直角坐标系定义:四轴向右为X正方向,向前为Y轴正方向,向上为Z轴正方向。

      欧拉角:欧拉角是一种常用的描述方位的方法,是由欧拉提出的。基本思想就是将两个坐标系的变换分解为绕三个不同的坐标轴的三次连续转动组成的序列。欧拉角的旋转规定为连续两次旋转,必须绕着不同的转动轴旋转,所以一共有12种旋转顺规。这里我们选用Z-Y-X的旋转顺规来描述b系与n系的关系。Z-Y-X顺规就是指。绕Z轴旋转偏航角(YAW),绕Y轴旋转横滚角(ROLL),绕X轴旋转俯仰角(PITCH)

      先由简单的2维XY坐标系计算,如下图,载体坐标系b和导航坐标系n初始重合,绕X轴逆时针旋转角。向量OA在导航坐标系中的坐标为(Y,Z),在载体坐标系中的坐标为(Y',Z')。则可以通过计算得出两个坐标的关系。


    如上图,做出辅助线1可得    写成矩阵运算为,

    推广至三维坐标系中则为

    同理得绕Y轴旋转的坐标关系,

    绕Z轴旋转的坐标关系为

    由此 得到经过三个欧拉角转动后,导航坐标系下的向量旋转后的与其对应的载体坐标系下的向量  之间的关系为,按Z-Y-X的顺规得到          


    即为,其中即为坐标系n到坐标系b的变换矩阵,我们平常定义的欧拉角形式的方向余弦矩阵为

    四元数:四元数是由四个元构成的数,,其中,是实数,既是互相正交的单位向量,又是虚单位。且满足以下四元数乘法关系:


    其中表示四元数乘法,具体展开为


    写成矩阵形式为

    或者


    其中的构成形式为第一列是四元数本身,第一行是的共轭四元数的转置,剩下的部分是一个3行3列的矩阵称为的核,是由四元数构成的反对称矩阵

    同理得到的核


    定义四元数用来表示导航坐标系n到在台坐标系的旋转变换,那么有


    即为


    其中

    简化为

    其中为通常定义的四元数旋转矩阵为载体坐标系b到导航坐标系n的旋转矩阵

    四元数欧拉角、方向余弦矩阵之间的关系之间的关系,已知方向余弦矩阵和四元数旋转矩阵后,可以通过方向余弦矩阵的第一列和第三行元素计算姿态欧拉角如下

    到此介绍完毕,欢迎大家互相交流指正。

    展开全文
  • 姿态解算 四元数、方向余弦欧拉角、Mahony滤波 说明:本文只是做了一些总结,需要一些对这方面的基础概念的了解。 一般人千万不要试图去深入探讨四元数 1. 方向余弦矩阵 方向余弦矩阵是使用欧拉角(pitch,roll,yaw...

    姿态解算 四元数、方向余弦、欧拉角、Mahony滤波

    说明:本文只是做了一些总结,需要一些对这方面的基础概念的了解。

    一般人千万不要试图去深入探讨四元数

    1. 方向余弦矩阵

    方向余弦矩阵是使用欧拉角(pitch,roll,yaw)对机体坐标系(b系)和地理坐标系(R系)的旋转的描述,也就是说,一个机体坐标系的向量,乘上这个方向余弦矩阵,就可以转化为一个地理坐标系的向量(对调也一样,就是这个意思)。也就是说方向余弦矩阵是对坐标系旋转的一种描述

    方向余弦矩阵如下:
    在这里插入图片描述

    其中,ψ是绕Z轴旋转的角,也是yaw角;θ是绕Y轴旋转的角,也是pitch角;φ是绕X轴旋转的角,也是roll角

    显然,姿态解算的终极目的是得到这三个角度,也就是欧拉角。

    2. 四元数旋转矩阵

    四元数可以用来描述坐标系的旋转,因为各种各样的原因,比如运算速度、死锁等,用四元数去解算出欧拉角是更加方便的办法。

    四元数旋转矩阵:
    在这里插入图片描述

    这个矩阵与方向余弦矩阵是等价的,知道了了四元数旋转矩阵,通过对应关系就可以求出欧拉角了,姿态解算绝大部分都是对四元数、角速度、加速度进行操作,只有在最后一步才将两者对应起来求欧拉角。

    3. 迭代求解四元数(四元数微分方程求解)

    需要深入了解四元数后才知道这个微分方程怎么来的,而且还运用了龙格库塔法解微分方程才能得到以下迭代求解形式,一般来说知道这个形式就可以了,会用即可。总之,利用四元数微分方程+龙格库塔法可以得到下式:
    在这里插入图片描述

    最为关键的是,这个迭代求解的形式居然会引入三轴角速度wx、wy、wz(也就是陀螺仪的数据)。即便没有深入知道四元数,但是知道四元数可以看做是一种用来描述坐标旋转的方法,旋转跟角速度扯上关系也是符合感觉的。四元数的初始值不会影响迭代,取0即可。注意这里存在一个近似的角速度积分的形式。

    由于陀螺仪存在温漂,就是说角速度的数据总会比实际的数据大一点或者小一点,温漂导致这个大多少小多少是不确定的,有时会一直大一点,有时会一直小一点,有时大一会儿小一会儿交替地来,所以长期这样积分会导致误差越来大,必须消除这种误差才能保证四元数长期正确性。并且陀螺仪角速度的累计误差会反映到四元数中

    4. 叉积补偿滤波(或称互补滤波)

    这里就是Mahony所做的贡献,巧妙的利用了加速度计的数据、地球重力G和四元数的旋转矩阵、叉积、PI控制器来将陀螺仪的误差给消除掉,计算量非常小,并且通过四元数的旋转特性将滤波完美地融入到四元数姿态解算的整个过程中

    重力加速度G是一直存在的,并且加速度计测量的数据就是重力加速度的分量(忽略芯片自身的加速度),G所处的坐标系显然是地理坐标系。如果求出了四元数,那么就可以通过四元数将地理坐标系下的重力向量(0,0,G)旋转到机体坐标系中,这个应该就是机体的加速度(注意,这时跟加速度计测量无关)

    此外,我们还有加速度计这个传感器可以比较准确的测量到机体的加速度。加速度计的特点是静态性能好,比如如果加速度计时静止的,那么直接利用加速度计测量的加速度就可以准确地测量到角度了,但是加速度计动态高频特性不理想。这里我想表达的是,从长期来看,加速度计的数据是非常准确地,并且加速度计的数据几乎不会有温漂的影响。所谓互补就是说陀螺仪的短期积分跟准确,加速度的长期数据跟准确,综合取两者之长来确定最终结果。

    这样我们就有了两种加速度的数据了,一个加速度计的实测值,另一个是可以说是利用旋转的预测值(预测值这个词其实不是很合适),陀螺仪的角速度积分漂移产生的误差也体现在了这个预测值中,通过求出预测值与实测值的误差,将这个误差补偿到新的角速度数据中就可以消除角速度的温漂。求误差的方式是实测值和预测值两向量的叉积,补偿的方式是PI控制器

    通过旋转求出重力加速度在机体坐标系的分量:
    在这里插入图片描述

    注意这里的旋转矩阵是地理坐标系到机体坐标系的旋转矩阵,其实是机体坐标系到地理坐标系旋转矩阵的转置。这里的是1还是用9.8不影响,因为后面还会用到PI控制器。

    为什么可以用叉积求出误差?两个向量如果是完全重合的,其叉积结果的模是0,如果有夹角,则其模不会是0,并且夹角越大,其模也会越大。测量值与重力G旋转过来的值得误差为:
    e x = a y ∗ v b z − a z ∗ v b y e y = a z ∗ v b x − a x ∗ v b z e z = a x ∗ v b y − a y ∗ v b x {e_x} = {a_y}*{v_{bz}} - {a_z}*{v_{by}} \\ {e_y} = {a_z}*{v_{bx}} - {a_x}*{v_{bz}} \\ {e_z} = {a_x}*{v_{by}} - {a_y}*{v_{bx}} ex=ayvbzazvbyey=azvbxaxvbzez=axvbyayvbx
    三维向量叉积使用行列式运算非常方便。其中,ax、ay、az是加速度计测量的数据,ex、ey、ez是两者在三轴上的误差,然后再将通过PI控制补偿到陀螺仪测得的角速度当中,为什么可以这么补偿就完成了滤波前面已经说清楚了,这是最难理解的一个点。

    ExSum += KI*ex;
    EySum += KI*ey;
    EzSum += KI*ez;
    //忽略了积分封顶,其实很多情况下只用P控制就可以了,自己去实践
    gx += KP*ex + ExSum;  //gx gy gz原值是陀螺仪测量的角速度数据
    gy += KP*ey + EySum;
    gz += KP*ez + EzSum;  //KP的范围非常大,这个参数非常好调
    

    这样就得到了补偿后的角速度数据,然后就迭代求四元数微分方程就可以了。整个过程看源码吧

    可以结合B站上一个视频看,这个视频讲的很好:https://www.bilibili.com/video/BV1px411p71z

    后记:

    1. 其实用加速度计得到的数据直接做个反三角就可以得到角度了,但是为什么不用?一般对实时性要求不高的应用用三轴加速度计就可以得到倾角了,但是加速度的响应速度不够快!不能直接将其用在无人机等对实时数据要求非常高的场合当中
    2. mahony滤波这个滤波不是平滑操作!而是借助加速度计的数据校正陀螺仪的低频误差(温漂),还应该使用低通滤波进行平滑(可以使用MPU6050内部的低通滤波器,看手册)。如果自己做低通的话务必考虑低通给数据带来的延迟!必须满足高速实时
    展开全文
  • 欧拉角,四元数和方向余弦矩阵三者之间相互转换的代码,采用北-东-地坐标系
  • 最近用matlab和Eigen库中的一些旋转矩阵(方向余弦矩阵)、四元数和欧拉角之间的转换和绘图,弄得我有些头疼,把遇到的问题记录一下,以防以后又脑阔疼....有不同的理解可以再评论区批评指正~ 主要问题有两个 1、...
  • 旋转矩阵、欧拉角之间转换

    千次阅读 2021-04-19 03:54:40
    学习过程中涉及欧拉角和旋转矩阵的转换,索性整理学习一下欧拉角四元数和旋转矩阵的概念以及matlab中的互相转换本文摘自各大课本,博客,自己学习...1旋转矩阵(方向余弦矩阵)当确定一个点在空间中的位置后,要确定...
  • 四元数、欧拉角方向余弦的定义及关系

    万次阅读 多人点赞 2016-08-03 19:26:35
    目前,描述两个坐标系之间关系的常用方法主要有欧拉角法、方向余弦矩阵法和四元数法。因此要弄懂这三种方法的定义及关系,我们必须先从坐标系转化开始了解。下面以四旋翼为例,定义两个坐标系。导航坐标系(参考坐标...
  • 四元数、欧拉角方向余弦矩阵的相互转换公式
  • 姿态解算基础:欧拉角方向余弦、四元数

    万次阅读 多人点赞 2018-05-19 18:01:50
    通过比较上述等式的各个元素,四元数可以直接用欧拉角或余弦表示,同样欧拉角也可用方向余弦或四元数表示。  1)用方向余弦表示四元数: 2)用欧拉角直接表示四元数: 3)用方向余弦表示欧拉角:  上面这些就是...
  • 用WPF编写的欧拉角转换方向余弦矩阵的软件工具,不用手工计算
  • 常用的姿态表示方法有欧拉角方向余弦矩阵、四元素这几种 欧拉角表示方法采用来表示飞行器的姿态,其中为滚转角,为俯仰角和为航向角,表示飞行器首先航向偏转角度,再俯仰角度,然后机体滚转角度得到的姿态 ...
  • 方向余弦矩阵与四元数

    千次阅读 2018-10-06 11:44:49
    姿态解算方向余弦四元数 ) 方向余弦 四元数 四元数是由实数和虚数组成的一组超复数,假设Q是一个四元数。 Q=w+ xi +yj +zj
  • 设绕 x转动θ ,绕 y转动λ ,绕 z轴转动 φ 依次类推。
  • 通过比较上述等式的各个元素,四元数可以直接用欧拉角或余弦表示,同样欧拉角也可用方向余弦或四元数表示。  1)用方向余弦表示四元数: 2)用欧拉角直接表示四元数: 3)用方向余弦表示欧拉角: ...
  • 本篇主要讲欧拉角与四元数旋转的关系,对方向余弦感兴趣的小伙伴可以评论区评论,我有时间会更新补上详细的方向余弦(可能在年后了,最近有点忙) 如果你有什么迷糊的点,相信读完本文,你说不定就茅塞顿开,...
  • 目前,描述两个坐标系之间关系的常用方法主要有欧拉角法、方向余弦矩阵法和四元数法。因此要弄懂这三种方法的定义及关系,我们必须先从坐标系转化开始了解。下面以四旋翼为例,定义两个坐标系。导航坐标系(参考坐标...
  • 四元数和欧拉角以及方向余弦的区别 2014-03-28 22:51 2078人阅读 评论(0) 收藏 举报  分类: 空间坐标变换的矩阵表示法(4)  版权声明:本文为博主原创文章,未经博主允许不得转载。 ...
  • 1,方向余弦阵 坐标变换矩阵的每一个元素都是i系某个坐标系与b系坐标系的夹角的余弦。这个转换方法也同样适用于二维坐标转换。只不过二维坐标转换不仅需要考虑旋转,同时也需要考虑坐标的平移变换。 如上...
  • 主要讲述的是方向余弦矩阵,该文档能够快速让人理解DCM的原理,对apm里的DCM算法有更深理解
  • 前提:大地坐标系G系与大地固连,物体坐标系B系与飞机固连(X轴的方向为机头方向,Y轴的方向为左翼,Z轴方向朝天),初始状态下,令两个坐标系完全重合。 问题:现在我在飞机上任取一点A,该点在大地系的坐标为A0=...
  • 上两篇文章我们讲了旋转矩阵和欧拉角,可知欧拉角是可以由旋转矩阵转化而来。 那么怎么从欧拉角转化为旋转矩阵呢?欧拉角(Euler angles)与旋转矩阵(Rotation Matrix)假设坐标系1的欧拉角yaw(Azimuth)、pitch...
  • 欧拉角转换成方向余弦矩阵欧拉角有12中旋转顺序分别为 1 X-Y-Z 2 X-Z-Y 3 X-Y-X 4 X-Z-X ….. 每种旋转顺序可以分解为3次旋转,每次旋转或者围绕X轴,或者绕Y轴,或者绕Z轴(每次旋转都是绕着空间固定不变的坐标系...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 749
精华内容 299
关键字:

方向余弦转欧拉角

友情链接: java.rar