从四元数入手到姿态解算

孤人 提交于 2019-11-26 19:49:22

从四元数入手到姿态解算

四元数

四元数(quaternion)是威廉·哈密顿提出的。四元数与复数类似,可以借助复数进行理解,复数:i^2=-1。于此对应的四元数基本性质是:i²=j²=k²=i·j·k=-1。
四元数基本运算:
加法:
定义两个四元数
在这里插入图片描述
在这里插入图片描述
四元数加法:p + q
跟复数、向量和矩阵一样,两个四元数之和需要将不同的元素加起来。

乘法:
叉乘:
在这里插入图片描述
代数形式:
在这里插入图片描述
同矩阵,四元数的乘法有非可替换性,即pq不等于qp。

四元数点积: p · q
在这里插入图片描述

求共轭

q*=(-x, -y, -z, w)

我们着重考虑四元数与三维空间旋转移动之间的关系。
首先我们借助复数在二维空间移动来考虑四元数,在复数域,我们对一个复数乘i相当于在复数域逆时针旋转90度,,乘任一复数相当于旋转复数相对应的角度。

那么对于四元数,三维坐标系下给定一个矢量v,再给定一个旋转的单位四元素q,让v旋转q。
先将v改写成四元素的形式v = (x, y ,z, 0), 接下来要旋转v须用q前乘以矢量v,再后乘以q-1。即完成了q对应的旋转移动操作,其中q的实部使原先矢量移动,虚部使其旋转,位旋转轴。
在实际应用中四元数多和欧拉角转换,这里给出两者变换的公式:
在这里插入图片描述
在这里插入图片描述

姿态解算

对于上式的计算,首先我们需要知道一个矩阵:
在这里插入图片描述
即欧拉角坐标变化矩阵,实质上就是两个坐标系的转化,参数分别为Z轴旋转为偏航角(YAW)ψ,绕Y轴旋转为横滚角(ROLL)θ,绕X轴旋转为俯仰角(PITCH)φ。
使用四元数进行旋转:
在这里插入图片描述
在这里插入图片描述
经过矩阵运算后,在这里插入图片描述
这里我们将矩阵右下角3*3的矩阵与欧拉角的矩阵对比我们可以得出三个方程,省略求解过程我们可以得到:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!