文档详情

四元素与欧拉角

博****1
实名认证
店铺
DOCX
58.46KB
约2页
文档ID:434452113
四元素与欧拉角_第1页
1/2

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

什么是GimbalLock?正如前面所说,因为欧拉描述中针对x,y,z的旋转描述是世界坐标系下的值,所以当任意一轴旋转90°的时候会导致该轴同其他轴重合,此时旋转被重合的轴可能没有任何效果,这就是GimbalLock,还有一种是轴角的描述方法,这种方法比欧拉描述要好,它避免了GimbalLock,它使用一个3维向量表示转轴和一个角度分量表示绕此转轴的旋转角度,即(x,y,z,angle),—般表示为(x,y,z,w)或者(v,w)x,y,z)为旋转轴,w为旋转角度但这种描述法却不适合插值轴角的表示方法:那么轴、角的描述方法又有什么问题呢?虽然轴、角的描述解决了GimbalLock,但这样的描述方法会导致差值不平滑,差值结果可能跳跃,欧拉角描述同样有这样的问题虽然轴角有这样的问题,但是我们根据传感器采集到的角度可以很容易的确定轴角的表达式:(x,y,z,angle)所以我们解算姿态时要用四元数算法,可以避免旋转时的GimbalLock,为了控制电机更直观,最后根据欧拉角和四元数转换关系把四元数再转换成欧拉角(axis,angle}。

下载提示
相似文档
正为您匹配相似的精品文档