博客https://blog.csdn.net/loongkingwhat/article/details/82765388
他的说法是认为:假设欧拉角以x-y-z的顺规,即先按x旋转,再按y旋转,最后按z旋转,其相应的旋转矩阵应该表示为R = Rx*Ry*Rz
很明显是不当的,错误的;
下面给出正确的理解:
前提1:首先要清楚的是,欧拉角因旋转顺序的不同有多种表示方式,分成两类如:
proper euler angles:z-x-z,z-y-z,x-y-x等,
Tait–Bryan angles:z-y-x,x-y-z,y-z-x等
在常见的机械臂应用中,使用Tait–Bryan angles居多;这里的顺序如何理解?
假设某一情况下给出的欧拉角形式为:z->y->x,转角分别为,
,
,即代表该刚体变换先绕z轴旋转角度
,再绕y轴旋转角度
,最后绕x轴旋转角度
,这里的表述没毛病,后面再来确定这里的x轴,y轴,z轴到底指相对于谁的轴。
前提2:单独绕x,y,z轴的旋转矩阵表示是固定不变的,分别为:
下面回到正文,值得注意的是,即使知道了欧拉角的顺序,也不能确定其对应的旋转矩阵应该如何表示,还需确定的是,绕某根轴旋转时,是绕原来的静止轴旋转,还是绕当前的动态轴旋转,什么意思呢?
假设有一物体B处于世界坐标系XYZ,且与世界坐标系的原点重合,现发生一旋转,顺序为Z->Y->X,旋转角c,b,a;当绕Z轴转过角度时,Z轴不变,物体的X,Y轴变为X1,Y1,接下来如果还是按原来的Y轴旋转
,再按原来的X轴旋转
,则是按固定(静止)轴旋转,相当于轴不动,点(物体)动,为左乘,那么此时的旋转矩阵应该表示为R = Rx*Ry*Rz;
但如果第二步是绕Y1旋转,得到新的X2,再绕新的X2旋转得到最后的变换,则认识为绕动态坐标轴旋转,相当于点不动,轴动,右乘,此时旋转矩阵表示为R = Rz*Ry*Rx;
所以发现了没有,以Z-Y-X顺序绕静止轴旋转和以X-Y-Z顺序绕动轴旋转得到的旋转矩阵是一致的;