Computing Euler angles from a rotation matrix (翻译)
一、论文翻译
“从旋转矩阵中计算欧拉角”
论文链接:http://www.staff.city.ac.uk/~sbbh653/publications/euler.pdf
在翻译之前,先分析旋转矩阵,如下图从二维空间开始计算
关于Z轴的旋转矩阵关系是:
则在三维下,刚体绕三个坐标轴的旋转矩阵为:
根据R矩阵接下来分析欧拉角的取值:
1)R(3,1) ~= ±1
2)R(3,1) = ±1
-
-
对于R(3,1) = ±1时,这种现象称为万向节死锁(Gimbal Lock)。
对于此现象可以看该链接:
http://www.cnblogs.com/driftingclouds/p/6540222.html
沿着机身右方轴(+X)进行旋转,称为pitch,叫俯仰角。
沿着机头上方轴(+Y)进行旋转,称为Yaw,叫偏航角 。
沿着机头前方轴(+Z)进行旋转,称为Roll,叫翻滚角。
当翻滚角到90度时,其与偏航角会重合,而使陀螺仪的自平衡作用只有偏航和俯仰起作用,这时候的现象就是万向节死锁。故而用从旋转矩阵求得欧拉角,还是从在一定的局限性。
——————————————————
二、从四元数来解决
在这里通过旋转矩阵转化为四元数,在从四元数转化为欧拉角,可以有效的避免万向节死锁问题。
可查看博客:
http://blog.****.net/u012750702/article/details/72229117