这二者其实不是等价的关系。可以说:姿态角是一种特殊的欧拉角。
欧拉角其实描述的是一种旋转变换,该旋转变换是由绕X轴,绕Y轴,绕Z轴的三个变换按一定顺序组成的。而姿态角则是描述机体坐标系与导航坐标系的相对旋转关系。姿态角包括俯仰角、横滚角、偏航角,三个姿态角的定义如下:
横滚角(Roll)为机体坐标系下,Z轴与通过X轴的铅锤面的夹角
偏航角(Yaw)为机体坐标系X轴投影到水平面与导航坐标系下X轴的夹角
俯仰角(Pitch)机体坐标系X轴与水平面的夹角。
我们再来说说欧拉角的旋转顺序。
从代数角度上来理解的话,欧拉角的顺序很重要的原因,是因为矩阵的乘法不满足交换律
从直观上来理解,是因为欧拉角的旋转顺序中,假设先绕X轴旋转,再绕Y轴旋转。由于绕X轴时,Y轴会跟着变化,当要开始绕Y轴旋转时,此时应该绕着变化后的Y轴。因此谁先谁后的顺序时很重要的。
因此,姿态角实际上对应着一种特殊顺序的欧拉角,该顺序为ZYX,即先绕Z轴旋转,再绕Y轴,然后绕X轴。在这种顺序下,三个欧拉角分别对应三个姿态角。也就是说,我们只要求出特定顺序ZYX对应的旋转矩阵中的三个欧拉角,实际上就求出了三个姿态角。
另外,为何是这个顺序?其实是由三个姿态角的定义决定的。
假设某物体的姿态角为30°,30°,30°,那么我们希望找到某个特定的欧拉角旋转顺序,使绕XYZ三轴旋转的三个角度,也都是30°。
横滚角的定义决定了,横滚角实际上就是绕X轴旋转的角度,因此不管什么顺序,横滚角都等于欧拉角,也就是说,我们可以把横滚角,也就是X轴放到最后处理。
还剩下Z轴和Y轴,谁先谁后呢?
假设我们先绕Y轴旋转30°,再绕Z轴旋转30°,想象一下,此时“机体坐标系X轴投影到水平面与导航坐标系X轴的夹角”,显然就不是30°了。也就是说,Y轴不能先处理。
那么先转Z轴,会影响到等下俯仰角的处理吗?
我们再仔细读一下俯仰角的定义,“机体坐标系X轴与水平面的夹角”,由于刚刚的旋转中时钟是绕着Z轴旋转的,也就是XY平面与水平面还是一直重合的,因此不管再怎么转,都不会影响到俯仰角。
由此,ZYX的顺序就确定了。
我再杠精一下,虽然X可以放到最后处理,那我偏不呢,如果放到Y前面处理呢?
想象一下,如果先绕X轴,那么转完之后,显然XY平面就变化了,此时再绕着Y轴转30°,转完之后的X轴与水平面的夹角还会等于30°吗?显然不会。