文章目录
四元数
四元数的引出
1.上述运算相当于将z
表示的平面向量旋转了一个角度𝜙
。
类似地,特定形式的复数(四元数)也可用来表示三维空
间中向量的旋转。(乘的时候,把长度自由度消掉,也就是模定义成1)
2.复数由两个自由度,它可以看作是二元数;扩展到三维空间时,由二维平面的单自由度的方向角变成了三个,因此多了两个自由度,也就构成了表示姿态的四元数
3.在将三维矢量代数推广至乘法和除法运算的研究中,爱
尔兰数学家、物理学家哈密顿于1843年创建了四元数(
quaternion
)和四元数代数。
四元数的定义
四元数是指由一个实数单位1 和三个虚数单位i
,j
,k
组成并具有下列形式实元的数。
四元数的表示方式
四元数的运算法则
上图矩阵形式,可根据反对称阵的特点辅助记忆;当四元数为纯虚四元数的时候,形式可变成下图所示:
由上图可知,纯虚数的叉乘,破坏了四元数乘法的可交换性(乘法交换律)
共轭:就是虚部全部取负
四元数的三角函数表示法
该部分是为了让四元数能表示姿态
四元数的旋转变换/算子
算子等于一个向量v,左乘一个四元数q,右乘一个四元数的共轭q*,作用就相当于使向量v绕向量u(u为单位向量,方向指向四元数q里面虚部单位向量轴线的方向)旋转角度θ
欧拉旋转定理– 坐标系的等效转动
动坐标系相对于参考坐标系的方位,等效于动坐标系绕某一个固定轴(u)转动一个角度𝜃。
1.上图也就是说明了,三次欧拉角的旋转,可以合并成一次,而且是有欧拉旋转定理作为证明的
2.对于任意姿态来讲,确实可以在空间中找到一个方向,绕着这个方向旋转一定角度,那么一次旋转就能完成原本三次旋转的任务
姿态四元数
虚部的三维的单位向量U(表示旋转轴线),θ就是旋转角度本身
b
系相对于R
系的姿态完全可由u
和转动角度 𝜃
两个参数来确定。用u
和 𝜃
两个参数可以构造一个姿态四元数
姿态四元数的物理意义:参考坐标系R
绕u
转动一个角度𝜃
(注意不是𝜃/2)后与动坐标系b
重合。(这个物理意义是绝对的,是不变的(也就是由R到b);通过这样的物理意义,就可以定义下图中的坐标变化,这样的变换就能实现将一个向量在b系的投影,转换到R系中的投影)
姿态四元数的微分方程
根据导数的定义求解姿态四元数的微分方程(与方向余
弦矩阵微分方程的推导类似)
写成矩阵形式:
姿态四元数微分方程的求解
与DCM微分方程的求解类似,可用毕卡逼近法求解姿态四元数微分方程。如果角速度向量的方向在更新周期内保持不变(定轴转动),可得四元数微分方程的闭合解
四元数和DCM姿态更新的问题
问题:求解其微分方程时都要对角速度向量进行积分,若要得到闭合解,则要求“角速度向量方向不变”或“b系做定轴旋转”。实际应用中难以满足这条件,会带来额外的“不可交换性误差”。
解决该问题的方案
方案1:直接忽略不可交换性误差
忽略不可交换性带来的误差应小于传感器误差的影响
方案2:提高采样率
减小采样间隔,让角速度向量更接近“方向不变”
思路3:
根据角速度或角增量测量值构造出一个“方向不变”的等效的角速度或角增量向量(也就是等效旋转矢量,用来描述姿态变化信息,一般只用于姿态更新中),再带入姿态更新方程式中。