【学习总结】四元数、旋转矩阵与欧拉角之间的转换

本文记录了自己在IMU学习过程中,搞各种转换时整理的一些资料。仅用于做个人记录和速查。

在本文中:
四元数是Hamilton形式,q0是实部,q1:3是虚部;
欧拉角是ZYX欧拉角,即先绕Z轴旋转 ψ \psi ψ,然后绕旋转后的Y轴旋转 θ \theta θ,最后沿X轴旋转 ϕ \phi ϕ。即 R = R 1 ( ϕ ) R 2 ( θ ) R 3 ( ψ ) R=R_1(\phi)R_2(\theta)R_3(\psi) R=R1(ϕ)R2(θ)R3(ψ)


1. 四元数和旋转矩阵

四元数转旋转矩阵

在这里插入图片描述

旋转矩阵转四元数
利用上面旋转矩阵的对角线,即可计算出相应的四元数。

在这里插入图片描述


2. 欧拉角和旋转矩阵

旋转矩阵转欧拉角
下面公式中 θ x , y , z \theta_{x,y,z} θx,y,z ϕ , θ , ψ \phi, \theta, \psi ϕ,θ,ψ 对应

在这里插入图片描述
欧拉角转旋转矩阵
直接从矩阵中找元素,反三角函数求解欧拉角即可

在这里插入图片描述

3. 四元数与欧拉角

直接利用旋转矩阵的四元数表示,再结合旋转矩阵转欧拉角,即可得,不展开。


4. 扩展阅读

4.1 欧拉角分类:

intrinsic VS extrinsic:
旋转时是沿当前的X/Y/Z轴,还是按照旋转开始前的X/Y/Z轴?常见的是沿当前轴旋转。

Proper(classic) Euler Angle VS Tait-Bryan(Cardan/nautical) angles:
前者第1次和第3次旋转轴是同一个轴,后者三次旋转轴都不同。例如:

在这里插入图片描述

4.2 不同形式的欧拉角表示旋转矩阵

截图来自:参考文献[1]

ZYX

在这里插入图片描述
YZX

在这里插入图片描述

ZXY

在这里插入图片描述

XZY

在这里插入图片描述

YXZ

在这里插入图片描述

XYZ

在这里插入图片描述

XYX

在这里插入图片描述

XZX

在这里插入图片描述

YXY

在这里插入图片描述

YZY

在这里插入图片描述

ZXZ

在这里插入图片描述

ZYZ

在这里插入图片描述

4.3 其它

轴角、旋转向量与其他形式的转换:参考文献[2]
各种形式的导数:例如,角速度、四元数变换率、旋转向量变换率等,参考文献[2]


5. 参考文献

[1]. Euler Angle Formulas. David Eberly, 1999
[2]. Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors. James Diebel, 2006
[3]. Euler Angles, Quaternions, and Transformation Matrices. NASA, 1977

下载链接:链接: https://pan.baidu.com/s/1UQkXl2kMQT9A07goU5X7wg 提取码: je38

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 欧拉角四元数旋转矩阵和轴角都是表示三维旋转的不同方式。 欧拉角是由三个轴角组成,按照顺序分别表示绕x轴旋转的角度、绕y轴旋转的角度、绕z轴旋转的角度。 四元数是由四个实数组成,表示旋转的方向和角度。 旋转矩阵是由3*3的实数组成的矩阵,表示旋转的线性变换。 轴角就是由一个单位向量和一个角度组成,表示绕着该单位向量旋转角度的意思。 它们之间可以相互转换。具体方法需要根据需要选择相应的公式进行转换. ### 回答2: 欧拉角四元数旋转矩阵和轴角是用于表示物体在三维空间中旋转的常见方法。它们可以相互之间进行转换。 首先,欧拉角是使用三个旋转角度来描述物体的旋转。通常使用的欧拉角包括俯仰角(pitch angle)、偏航角(yaw angle)和滚转角(roll angle)。欧拉角转换通常涉及将欧拉角转换旋转矩阵四元数,并且转换顺序也很重要。 其次,四元数是一种用于表示旋转的数学工具,可以使用具有四个实数部分的向量进行表示。四元数转换通常涉及将四元数转换旋转矩阵欧拉角,或者将旋转矩阵欧拉角转换四元数旋转矩阵是一个3x3矩阵,用于表示物体的旋转。它是通过将欧拉角四元数转换为矩阵来实现的,也可以将矩阵转换欧拉角四元数。 轴角是用于表示旋转的方法之一。它由一个向量和一个表示旋转角度的标量组成。轴角可以通过将轴角转换旋转矩阵来实现,也可以通过将旋转矩阵转换为轴角来实现。使用轴角进行旋转时,常用的转轴包括x轴、y轴和z轴。 总结起来,欧拉角四元数旋转矩阵和轴角可以相互转换来表示物体的旋转。这些转换过程在计算机图形学、机器人学和游戏开发等领域经常被使用。理解它们之间转换关系可以帮助我们更好地理解和应用旋转的概念。 ### 回答3: 欧拉角四元数旋转矩阵、轴角都是用于描述物体在三维空间中的旋转变换的方法,它们之间可以相互转换欧拉角是指通过绕着三个坐标轴的旋转来实现的旋转变换。通常使用三个连续的旋转角度来表示,在航空航天领域经常使用俯仰角、偏航角和滚转角来描述。但欧拉角存在万向锁问题,即在某些情况下会导致旋转变换不唯一。 四元数是一种四维复数,可以用一个实部和三个虚部来表示。它们可以直接表示旋转变换,并且不存在万向锁问题。通过四元数的乘法运算可以实现旋转变换的组合。同时,由于四元数是一个四维向量,所以它们的存储空间比旋转矩阵小。 旋转矩阵是一个3x3的矩阵,用于表示旋转变换。在旋转矩阵中,每一列表示一个旋转后的坐标轴方向。旋转矩阵可以通过将三个坐标轴绕着相应的角度进行旋转得到。但旋转矩阵存在正交性约束,即必须是正交矩阵,并且行列式为1,不满足时需要进行正则化处理。 轴角表示旋转轴和旋转角度的方法。它将旋转变换转化为绕着一个轴旋转一定角度的方式来描述。轴角与旋转矩阵之间转换比较直观,可以通过旋转矩阵的特征向量和特征值得到旋转轴和旋转角度。但轴角存在方向的不唯一性,即旋转轴可以有两个相反的方向与同一个旋转变换对应。 以上是欧拉角四元数旋转矩阵、轴角之间转换方法及特点的简介。它们在三维空间中描述旋转变换时各有优劣,可以根据具体需求选择合适的方法。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值