姿态解算之四元数

一、四元数定义
顾名思义,四元数是由四个元构成的数。
这里写图片描述
其中,q0、q1、q2、q3是实数,i、j、k即使互相正交的单位向量,又是虚单位向量。
二、四元数的表达方式
复数式
这里写图片描述
可视为一个超复数,Q的共轭复数记为

矩阵式
姿态解算之四元数_第1张图片
三、四元数的大小——范数
四元数的大小用四元数的范数来表示:
这里写图片描述
若||Q||=1,则Q称为规范化四元数。
四、四元数的运算

这里写图片描述
1)加法
这里写图片描述
2)乘法
姿态解算之四元数_第2张图片
——以上来自《惯性导航》
四元数与姿态解算关系
——详细请看《惯性导航》中的9.2.2四元数与姿态阵间的关系 里面涉及到很多公式,我也没有真正看懂。只是明白一个单位四元数可以表示一个旋转。一个坐标系到另一个坐标系的变换可以通过绕一个定义在参考坐标系中的矢量的单次转动来实现,四元数提供了这种数学描述。捷联惯导中的姿态更新实质上是如何计算四元数Q。
其中转换公式如下:
姿态解算之四元数_第3张图片
从四元数q0-q3转成方向余弦矩阵:
这里写图片描述
再由方向余弦矩阵转换为欧拉角:
姿态解算之四元数_第4张图片

下面在看看四元数、方向余弦矩阵、欧拉角三者之间的关系吧
欧拉角
欧拉角的定义不仅仅和旋转角度有关系,还和旋转轴的旋转顺序有关系,任何一种旋转顺序都是合法的。根据定义,欧拉角有12种选择顺序(维基),一个物体通过任何一种旋转顺序都可以达到同样的姿态,在各个学科里所以为了统一,航空航天领域规定XYZ为欧拉角的旋转顺序。
欧拉角的定义很直观而且容易理解,也利于我们计算,因为我我们用的惯性器件也是按照单个轴向运动来测量的。定义上的欧拉角还和我们所说的Yaw、Pitch、Roll不是一回事。因为定义上的欧拉角就是刚体绕三个轴的旋转角度,欧拉旋转和外界的东西(参考系)是没有关系的。Yaw、Pitch、Roll是载体相对于参考系来说的。因为选定了参考系为地球,这样就产生了Gimbal Lock(万向节死锁)。这个我也没有弄明白不做什么说明。
方向余弦
一个向量在坐标系中的位置可以用方向余弦表示,也就是这个向量分别到三个坐标轴的夹角余弦值,实际上就是这个向量到各个坐标轴的投影啦。所以推广到载体坐标系和参考坐标系当中,我们就有了载体坐标轴xyz分别与参考轴XYZ的方向余弦。
三者的关系:
姿态解算之四元数_第5张图片
通过比较上述等式的各个元素,四元数可以直接用欧拉角或余弦表示,同样欧拉角也可用方向余弦或四元数表示。
用方向余弦表示四元数:
姿态解算之四元数_第6张图片
用欧拉角直接表示四元数:
姿态解算之四元数_第7张图片
用方向余弦表示欧拉角:
姿态解算之四元数_第8张图片

上面这些就是姿态解算用到的四元数及四元数求解欧拉角的方法了。基本思路是四元数—>方向余弦—>欧拉角。这样就又有问题了四元数的q0-q3数据来源是什么呢?又是如何填充q0-q3呢?(这个下次在继续搬砖吧)

你可能感兴趣的:(橙子软件)