wangzh 发表于 2015-1-30 16:20:05

分享一篇关于什么是四元数、欧拉角

首先声明,这篇文章是我在网上找到的!为什么转过来呢,因为这个问题困扰我很久,不知道你们有没有碰到这个问题。再就是,文章的第三行说出了我的心声!

这篇文章主要解决这个问题:
四元数到底干什么的?!
What’sthe fucking quaternion?!

200px-Eulerangles.svg_

三个欧拉角: ( α,β,γ)。蓝色的轴是 xyz-轴,红色的轴是 XYZ-坐标轴。绿色的线是交点线 (N) 。
1.欧拉角
在四元数出现之前先看下欧拉角:
对于在三维空间里的一个参考系,任何坐标系的取向,都可以用三个欧拉角来表现。为了后面的角度不混乱,我们要先区分参考系和坐标系的概念。
参考系即为大地参考系,是静止不动的。而坐标系则固定于四轴飞行器,随着四轴飞行器的旋转而旋转。
按照右图所示。设定 xyz-轴为四轴上的参考轴,XYZ-轴则是大地的参考轴。右图即为四轴相对地面进行了一定旋转, xy-平面与 XY-平面的相交线为交点线,用英文字母(N)代表。我们可以这样定义欧拉角:
是 x-轴与交点线的夹角
是 z-轴与Z-轴的夹角
是交点线与X-轴的夹角
这样我们就可以用三个欧拉角: (α ,β,γ) 其取值为0-360来描述四轴飞行器 相对于大地的参考系的姿态角度了。
2.轴角
欧拉角使用roll,pitch,yaw来表示这些分量的旋转值。需要注意的是,这里的旋转是针对大地参考系说的,这意味着第一次的旋转不会影响第二、三次的转轴,简单的说,三角度系统无法表现任意轴的旋转,只要一开始旋转,物体本身就失去了任意轴的自主性,这也就导致了万向节锁(Gimbal Lock)的问题。
什么是Gimbal Lock?
正如前面所说,因为欧拉描述中针对x,y,z的旋转描述是世界坐标系下的值,所以当任意一轴旋转90°的时候会导致该轴同其他轴重合,此时旋转被重合的轴可能没有任何效果,这就是Gimbal Lock,

还有一种是轴角的描述方法,这种方法比欧拉描述要好,它避免了Gimbal Lock,它使用一个3维向量表示转轴和一个角度分量表示绕此转轴的旋转角度,即(x,y,z,angle),一般表示为(x,y,z,w)或者(v,w)。(x,y,z)为旋转轴,w为旋转角度。但这种描述法却不适合插值。

未命名2

轴角的表示方法:
那么轴、角的描述方法又有什么问题呢?
虽然轴、角的描述解决了Gimbal Lock,但这样的描述方法会导致差值不平滑,差值结果可能跳跃,欧拉角描述同样有这样的问题。虽然轴角有这样的问题,但是我们根据传感器采集到的角度可以很容易的确定轴角的表达式:(x,y,z,angle)。
所以我们解算姿态时要用四元数算法,可以避免旋转时的GimbalLock,为了控制电机更直观,最后根据欧拉角和四元数转换关系把四元数再转换成欧拉角

wangzh 发表于 2015-1-30 16:22:20

C:\Users\lenovo\Desktop\200px-Eulerangles.svg_.png   
补上图片!

wangzh 发表于 2015-1-30 16:23:26

不会发图片还是这样发吧

hell-prototypes 发表于 2015-1-30 16:24:02

这是冲200分的节奏吗

wangzh 发表于 2015-1-30 16:27:48

hell-prototypes 发表于 2015-1-30 16:24
这是冲200分的节奏吗

今下午一直在找资料研究这个苦命的四轴!看到这篇,第三句话逗乐我了

holts2 发表于 2015-1-30 16:39:02

欧,仍看不懂

wangzh 发表于 2015-1-30 16:42:07

holts2 发表于 2015-1-30 16:39
欧,仍看不懂

http://wellmakers.com/?p=87
看这个网址吧,转过来就不形象了

lans0625 发表于 2015-1-30 16:42:10

几个晚上下来,卡尔曼滤波已经被我给搞定,现在开始日TND的四元数、欧拉角。。。。。{:tongue:}

wangzh 发表于 2015-1-30 16:49:42

lans0625 发表于 2015-1-30 16:42
几个晚上下来,卡尔曼滤波已经被我给搞定,现在开始日TND的四元数、欧拉角。。。。。 ...

你又卡尔曼滤波的好资料能给我分享一下吗?

lans0625 发表于 2015-1-30 16:52:56

wangzh 发表于 2015-1-30 16:49
你又卡尔曼滤波的好资料能给我分享一下吗?

本坛上有的,到微盘去搜也有很多的。我的在平板上,不方便上传。。。。。。

wangzh 发表于 2015-1-30 17:08:51

lans0625 发表于 2015-1-30 16:52
本坛上有的,到微盘去搜也有很多的。我的在平板上,不方便上传。。。。。。 ...

好吧!{:smile:}

lxl_lw 发表于 2015-1-30 17:39:00

顶楼主一个!

yzh 发表于 2015-1-30 20:22:50

不错,受教了。

我要你的目光 发表于 2015-1-31 00:35:22

唉,才疏学浅……

wyudcl 发表于 2015-4-28 10:35:43

比较模糊,没搞清楚的。
页: [1]
查看完整版本: 分享一篇关于什么是四元数、欧拉角