欧拉角、旋转矩阵及四元数

欧拉角、旋转矩阵及四元数

    • 1. 简介
    • 2. 欧拉角
      • 2.1 欧拉角定义
      • 2.2 右手系和左手系
      • 2.3 转换流程
    • 3. 旋转矩阵
    • 4. 四元数
      • 4.1 四元数与欧拉角和旋转矩阵之间等效变换
      • 4.2 测试Matlab代码
    • 5. 总结

1. 简介

常用姿态参数表达方式包括方向余弦矩阵、欧拉轴/角参数、欧拉角、四元数以及罗德里格参数等。高分辨率光学遥感卫星主要采用欧拉角与四元数对姿态参数进行描述。这里着重讲解欧拉角、旋转矩阵和四元数。

2. 欧拉角

2.1 欧拉角定义

欧拉角是表征刚体旋转的一种方法之一,由莱昂哈德·欧拉 引入的三个角度,用于描述刚体相对于固定坐标系的方向。在摄影测量、空间科学或其它技术领域,一般用一组(三个)欧拉角描述两个空间坐标之间的旋转变换关系。

刚体在三维空间的一次旋转可以由绕 X \mathrm{X} X 轴旋转的角度、绕 Y \mathrm{Y} Y 轴旋转的角度、绕 Z \mathrm{Z} Z 轴旋转的角度来表征, 这三个角度分别是横滚角(roll, 符号 φ \varphi φ )、俯仰角(pitch, 符号 θ \theta θ )、航向角(yaw, 符号 ψ \psi ψ ),或者用符号 α \alpha α β \beta β γ \gamma γ分别表示绕XYZ轴(横滚、俯仰和航向)旋转的角度。 三个角的正负号可由右手定则表示。
在这里插入图片描述
相比于其它姿态参数表达方式,欧拉角参数具有明显的几何意义,可以更加直接对姿态动力学方程进行描述。根据欧拉定理得到,刚体绕固定点的位移可以转成若干次有限转动的合成。针对高分辨率光学遥感卫星,同样可以采用上述原理与方法实现参考坐标系(J2000坐标系、WGS84坐标系)与卫星本体坐标系之间转换。参考坐标系与本体坐标系间转换过程中,不同的转动顺序与方式将会得到不同形式的欧拉角参数

2.2 右手系和左手系

在这里插入图片描述
左图和右图分别是左手系和右手系。
对于右手坐标,右拇指沿 z 轴指向正方向,食指指向x 轴,中指指向y轴。
对于左手坐标,左拇指沿 z 轴指向正方向,食指指向x 轴,中指指向y轴。

2.3 转换流程

刚体的取向可以用三个基本旋转矩阵来决定。换句话说,任何关于刚体旋转的旋转矩阵是由三个基本旋转矩阵复合而成的 。 由坐标系 S a S_{a} Sa S b S_{b} Sb 的变换可通过以下三次连续的转动实现:
在这里插入图片描述

Step1:坐标系 O − x a y a z a O-x_{a} y_{a} z_{a} Oxayaza z a z_{a} za 轴逆时针转过角 ψ \psi ψ, 称为 O − x ′ y ′ z a O-x^{\prime} y^{\prime} z_{a} Oxyza;
Step2:坐标系 O − x ′ y ′ z a O-x^{\prime} y^{\prime} z_{a} Oxyza y ′ y' y 轴逆时针转过角 θ \theta θ, 称为 O − x b y ′ z ′ ′ O-x_b y^{\prime} z'' Oxbyz;
Step3: 坐标系 O − x b y ′ z ′ ′ O-x_{b} y^{\prime} z^{\prime \prime} Oxbyz x b x_{b} xb 轴逆时针转过角 φ \varphi φ, 称为 O − x b y b z b O-x_{b} y_{b} z_{b} Oxbybzb

上述旋转角 φ , θ , ψ \varphi, \theta, \psi φ,θ,ψ 就是一组欧拉角, 它们完全决定 S a S_{a} Sa S b S_{b} Sb 之间的相对姿态, 其中转动过程可用符号表示:
S a ⟶ R z ( ψ ) ∘ ⟶ R y ( θ ) ∘ ⟶ R x ( φ ) S b S_{a} \stackrel{R_{z}(\psi)}{\longrightarrow} \circ \stackrel{R_{y}(\theta)}{\longrightarrow} \circ \stackrel{R_{x}(\varphi)}{\longrightarrow} S_{b} SaRz(ψ)Ry(θ)Rx(φ)Sb

经过三次变换,得到:

[ x b y b z b ] = R x ( φ ) R y ( θ ) R z ( ψ ) [ x a y a z a ] \left[\begin{array}{l} x_{b} \\ y_{b} \\ z_{b} \end{array}\right]=R_{x}(\varphi) R_{y}(\theta) R_{z}(\psi)\left[\begin{array}{l} x_{a} \\ y_{a} \\ z_{a} \end{array}\right] xbybzb=Rx(φ)Ry(θ)Rz(ψ)xayaza

所以由 S a S_{a} Sa S b S_{b} Sb 的坐标变换矩阵为:

R = R x ( φ ) R y ( θ ) R z ( ψ ) R=R_{x}(\varphi) R_{y}(\theta) R_{z}(\psi) R=Rx(φ)Ry(θ)Rz(ψ)

一般来说, 三维空间的坐标变换可以由三次基元变换矩阵相乘得到。当欧拉角的定义与上述顺序和旋转方向不一致时,仍可按照上述原则处理。使用欧拉角时,我们必须明确表示出夹角的顺序。这三个旋转是依次施加的,顺序不同,产生的结果也不同。因此,使用欧拉角前,必须先做好明确的定义。

旋转顺序: 在经典力学里,时常用yxz顺序来设定欧拉角;照着第二个转动轴的轴名,简称为x顺序。还有一种顺序,xyz顺序,常用在航空航天工程中

任何方向都可以通过从已知的标准方向开始组成三个元素旋转来实现。等价地,任何旋转矩阵R都可以分解为三个元素旋转矩阵的乘积。例如:
R = R x ( α ) R y ( β ) R z ( γ ) {\displaystyle R=R_x(\alpha )R_y(\beta )R_z(\gamma )} R=RxαRyβRzγ
或者
R = R x ( φ ) R y ( θ ) R z ( ψ ) {\displaystyle R=R_x(\varphi )R_y(\theta )R_z(\psi )} R=RxφRyθRzψ

滚动角的大小范围为 − π — π -\pi—\pi ππ 。在围绕 X \mathrm{X} X 轴旋转 φ \varphi φ 之后, 可以用旋转矩阵 R x ( φ ) R_{x}(\varphi) Rx(φ) 表 示, 如下式:

R x ( φ ) = [ 1 0 0 0 cos ⁡ φ sin ⁡ φ 0 − sin ⁡ φ cos ⁡ φ ] \boldsymbol{R}_{x}(\varphi)=\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & \cos \varphi & \sin \varphi \\ 0 & -\sin \varphi & \cos \varphi \end{array}\right] Rx(φ)=1000cosφsinφ0sinφcosφ

俯仰角的大小在 − π / 2 — π / 2 -\pi / 2—\pi / 2 π/2π/2 之间。在绕 Y \mathrm{Y} Y 轴转动 θ \theta θ 之后, 可以用 R y ( θ ) \boldsymbol{R}_{\mathrm{y}}(\theta ) Ry(θ) 来表示:

R y ( θ ) = [ cos ⁡ θ 0 − sin ⁡ θ 0 1 0 sin ⁡ θ 0 cos ⁡ θ ] \boldsymbol{R}_{y}(\theta)=\left[\begin{array}{ccc} \cos \theta & 0 & -\sin \theta \\ 0 & 1 & 0 \\ \sin \theta & 0 & \cos \theta \end{array}\right] Ry(θ)=cosθ0sinθ010sinθ0cosθ

航向角的大小范围为 − π — π -\pi—\pi ππ 。在绕 Z 轴旋转 φ \varphi φ 后, 可以用旋转矩阵 R y ( ψ ) \boldsymbol{R}_{\mathrm{y}}(\psi) Ry(ψ) 来表 示:

R z ( ψ ) = [ cos ⁡ ψ sin ⁡ ψ 0 − sin ⁡ ψ cos ⁡ ψ 0 0 0 1 ] \boldsymbol{R}_{z}(\psi )=\left[\begin{array}{ccc} \cos \psi & \sin \psi & 0 \\ -\sin \psi & \cos \psi & 0 \\ 0 & 0 & 1 \end{array}\right] Rz(ψ)=cosψsinψ0sinψcosψ0001

沿着不同旋转方向的欧拉角会导致旋转矩阵不同, 所以在用欧拉角表征时, 要给出旋转顺序。下图为转换的基元变化:
在这里插入图片描述

欧拉角优点和缺点:
(1)三个角度组成,直观,容易理解。可以进行从一个方向到另一个方向旋转大于180度的角度。
(2)对两个朝向进行插值比较困难。简单地对X、Y、Z角度进行插值得到的结果不太理想。
(3)实施多次旋转很复杂且不精确,必须计算出最终的旋转矩阵,然后据此推测出欧拉角。
(4)死锁问题。

参考:四元数与欧拉角

3. 旋转矩阵

参考:旋转矩阵与欧拉角之间的转换。Euler Angle Formulas 给出了不同顺序下测转换矩阵,下面是xyz顺序转换矩阵。其中,cx、cy、cz分别表示绕xyz轴的旋转角余弦,sx、sy、sz分别表示绕xyz轴的旋转角正弦。当旋转顺序为航向角-俯仰角-横滚角时, 其对应的旋转矩阵是按顺序矩阵相乘的结果:
R = R x ( φ ) R y ( θ ) R z ( ψ ) = [ cos ⁡ θ cos ⁡ ψ sin ⁡ ψ cos ⁡ θ − sin ⁡ θ − cos ⁡ ψ sin ⁡ ψ cos ⁡ ψ cos ⁡ φ + sin ⁡ ψ sin ⁡ θ sin ⁡ φ cos ⁡ θ sin ⁡ φ sin ⁡ ψ sin ⁡ φ + cos ⁡ ψ sin ⁡ θ cos ⁡ φ − cos ⁡ ψ sin ⁡ φ + sin ⁡ ψ sin ⁡ θ cos ⁡ φ cos ⁡ θ cos ⁡ φ ] = [ R 11 R 12 R 13 R 21 R 22 R 23 R 31 R 32 R 33 ] \begin{aligned} &\boldsymbol{R}=\boldsymbol{R}_{x}(\varphi) \boldsymbol{R}_{y}(\theta) \boldsymbol{R}_{z}(\psi ) \\ &=\left[\begin{array}{ccc} \cos \theta \cos \psi & \sin \psi \cos \theta & -\sin \theta \\ -\cos \psi \sin \psi & \cos \psi \cos \varphi+\sin \psi \sin \theta \sin \varphi & \cos \theta \sin \varphi \\ \sin \psi \sin \varphi+\cos \psi \sin \theta \cos \varphi & -\cos \psi \sin \varphi+\sin \psi \sin \theta \cos \varphi & \cos \theta \cos \varphi \end{array}\right] \\ &=\left[\begin{array}{lll} R_{11} & R_{12} & R_{13} \\ R_{21} & R_{22} & R_{23} \\ R_{31} & R_{32} & R_{33} \end{array}\right] \end{aligned} R=Rx(φ)Ry(θ)Rz(ψ)=cosθcosψcosψsinψsinψsinφ+cosψsinθcosφsinψcosθcosψcosφ+sinψsinθsinφcosψsinφ+sinψsinθcosφsinθcosθsinφcosθcosφ=R11R21R31R12R22R32R13R23R33
或者
R = [ c y c z − c y s z s y c z s x s y + c x s z c x c z − s x s y s z − c y s x − c x c z s y + s x s z c z s x + c x s y s z c x c y ] \mathrm{R}=\left[\begin{array}{ccc} c_y c_z & -c_y s_z & s_y \\ c_z s_x s_y+c_x s_z & c_x c_z-s_x s_y s_z & -c_y s_x \\ -c_x c_z s_y+s_x s_z & c_z s_x+c_x s_y s_z & c_x c_y \end{array}\right] R=cyczczsxsy+cxszcxczsy+sxszcyszcxczsxsyszczsx+cxsyszsycysxcxcy

旋转矩阵变换到欧拉角的公式:

{ ψ = tan ⁡ − 1 R 12 R 22 θ = − sin ⁡ − 1 R 13 φ = tan ⁡ − 1 R 23 R 33 \left\{\begin{array}{l} \psi=\tan ^{-1} \frac{R_{12}}{R_{22}} \\ \theta=-\sin ^{-1} R_{13} \\ \varphi=\tan ^{-1} \frac{R_{23}}{R_{33}} \end{array}\right. ψ=tan1R22R12θ=sin1R13φ=tan1R33R23

4. 四元数

1843 年爱尔兰数学家哈密顿 (W.R.Hamilton) 发明了四元数, 即形如 q ˙ = q 0 + q 1 i + q 2 j + q 3 k \dot{q}=q_{0}+q_{1} i+q_{2} \boldsymbol{j}+q_{3} k q˙=q0+q1i+q2j+q3k 的超复数, 同时他也给出了四元数的加法、乘法规则以及四元数 的逆和模, 指出四元数能够通过旋转、伸长或缩短等变换将一个给定的矢量变成另一个矢量。四元数表达中, q 0 , q 1 , q 2 , q 3 q_{0}, q_{1}, q_{2}, q_{3} q0,q1,q2,q3 为任意实数, i , j , k i, j, k i,j,k 是虚数单位, 满足 i 2 = j 2 = k 2 = − 1 , j k = − k j = i , k i = − i k = j , i j = − j i = k ′ i^{2}=j^{2}=k^{2}=-1, j k=-k j=i, k i=-i k=j, i j=-j i=k^{\prime} i2=j2=k2=1,jk=kj=i,ki=ik=j,ij=ji=k 。 其中 q 0 + q 1 i + q 2 j + q 3 k q_{0}+q_{1} i+q_{2} j+q_{3} k q0+q1i+q2j+q3k 为四元数的代数形式, q 0 q_{0} q0 为四元数 q ˙ \dot{q} q˙ 的实部, q 1 i + q 2 j + q 3 k q_{1} \boldsymbol{i}+q_{2} \boldsymbol{j}+q_{3} \boldsymbol{k} q1i+q2j+q3k 为四元数 q ˙ \dot{q} q˙ 的虚部。

四元数是当前用于高分辨率光学遥感卫星在轨姿态测量与控制的常用姿态参数表达方式,不存在奇点情况,表达方式具有唯一性。

4.1 四元数与欧拉角和旋转矩阵之间等效变换

四元数与旋转矩阵变换为:

R = [ 2 q 0 2 + 2 q 1 2 − 1 2 q 1 q 2 − 2 q 0 q 3 2 q 1 q 3 + 2 q 0 q 2 2 q 1 q 2 + 2 q 0 q 3 2 q 0 2 + 2 q 2 2 − 1 2 q 2 q 3 − 2 q 0 q 1 2 q 1 q 3 − 2 q 0 q 2 2 q 2 q 3 + 2 q 0 q 1 2 q 0 2 + 2 q 3 2 − 1 ] \boldsymbol{R}=\left[\begin{array}{ccc} 2 q_{0}^{2}+2 q_{1}^{2}-1 & 2 q_{1} q_{2}-2 q_{0} q_{3} & 2 q_{1} q_{3}+2 q_{0} q_{2} \\ 2 q_{1} q_{2}+2 q_{0} q_{3} & 2 q_{0}^{2}+2 q_{2}^{2}-1 & 2 q_{2} q_{3}-2 q_{0} q_{1} \\ 2 q_{1} q_{3}-2 q_{0} q_{2} & 2 q_{2} q_{3}+2 q_{0} q_{1} & 2 q_{0}^{2}+2 q_{3}^{2}-1 \end{array}\right] R=2q02+2q1212q1q2+2q0q32q1q32q0q22q1q22q0q32q02+2q2212q2q3+2q0q12q1q3+2q0q22q2q32q0q12q02+2q321

欧拉角到四元数变换为:

{ q 0 = cos ⁡ ψ 2 cos ⁡ θ 2 cos ⁡ φ 2 + sin ⁡ ψ 2 sin ⁡ θ 2 sin ⁡ φ 2 q 1 = − cos ⁡ ψ 2 cos ⁡ θ 2 cos ⁡ φ 2 + sin ⁡ ψ 2 sin ⁡ θ 2 sin ⁡ φ 2 q 2 = − cos ⁡ ψ 2 cos ⁡ θ 2 cos ⁡ φ 2 − sin ⁡ ψ 2 sin ⁡ θ 2 sin ⁡ φ 2 q 3 = − cos ⁡ ψ 2 cos ⁡ θ 2 cos ⁡ φ 2 + sin ⁡ ψ 2 sin ⁡ θ 2 sin ⁡ φ 2 \left\{\begin{array}{l} q_{0}=\cos \frac{\psi}{2} \cos \frac{\theta}{2} \cos \frac{\varphi}{2}+\sin \frac{\psi}{2} \sin \frac{\theta}{2} \sin \frac{\varphi}{2} \\ q_{1}=-\cos \frac{\psi}{2} \cos \frac{\theta}{2} \cos \frac{\varphi}{2}+\sin \frac{\psi}{2} \sin \frac{\theta}{2} \sin \frac{\varphi}{2} \\ q_{2}=-\cos \frac{\psi}{2} \cos \frac{\theta}{2} \cos \frac{\varphi}{2}-\sin \frac{\psi}{2} \sin \frac{\theta}{2} \sin \frac{\varphi}{2} \\ q_{3}=-\cos \frac{\psi}{2} \cos \frac{\theta}{2} \cos \frac{\varphi}{2}+\sin \frac{\psi}{2} \sin \frac{\theta}{2} \sin \frac{\varphi}{2} \end{array}\right. q0=cos2ψcos2θcos2φ+sin2ψsin2θsin2φq1=cos2ψcos2θcos2φ+sin2ψsin2θsin2φq2=cos2ψcos2θcos2φsin2ψsin2θsin2φq3=cos2ψcos2θcos2φ+sin2ψsin2θsin2φ

四元数变换为欧拉角:

{ ψ = tan ⁡ − 1 2 q 1 q 2 − 2 q 0 q 3 2 q 0 2 + 2 q 1 2 − 1 θ = − sin ⁡ − 1 ( 2 q 1 q 3 + 2 q 0 q 2 ) φ = tan ⁡ − 1 2 q 2 q 3 − 2 q 0 q 1 2 q 0 2 + 2 q 3 2 − 1 \left\{\begin{array}{l} \psi=\tan ^{-1} \frac{2 q_{1} q_{2}-2 q_{0} q_{3}}{2 q_{0}^{2}+2 q_{1}^{2}-1} \\ \theta=-\sin ^{-1}\left(2 q_{1} q_{3}+2 q_{0} q_{2}\right) \\ \varphi=\tan ^{-1} \frac{2 q_{2} q_{3}-2 q_{0} q_{1}}{2 q_{0}^{2}+2 q_{3}^{2}-1} \end{array}\right. ψ=tan12q02+2q1212q1q22q0q3θ=sin1(2q1q3+2q0q2)φ=tan12q02+2q3212q2q32q0q1

四元数由四个数字组成,然而这些数字不表示角度或轴,并且通常不需要直接访问它们。除非你特别有兴趣深入了解四元数学,你只需要知道四元数表示三维空间中的旋转,你通常不需要知道或修改x,y和z属性。

优点:四元旋转不存在万向节锁问题。
优点:存储空间小,计算效率高。
弱点:单个四元数不能表示在任何方向上超过180度的旋转。
弱点:四元数的数字表示不直观。

参考:【Unity编程】四元数(Quaternion)与欧拉角

4.2 测试Matlab代码

验证测试:3D Rotation Converter

clc; clear; close all% Axis rotation sequence for the Euler angles, specified as one of these string scalars:
% "ZYX" (default) – The order of rotation angles is z-axis, y-axis, x-axis.
% "ZYZ" – The order of rotation angles is z-axis, y-axis, z-axis.
% "XYZ" – The order of rotation angles is x-axis, y-axis, z-axis.% 三个欧拉角
eul = deg2rad([30 60 90]);% 指定旋转顺序为XYZ
rotm = eul2rotm(eul,'XYZ')  %欧拉角转旋转矩阵
quat = eul2quat(eul,'XYZ')  %欧拉角转四元数eul = rad2deg(rotm2eul(rotm,'XYZ'))     %旋转矩阵转欧拉角
quat = rotm2quat(rotm)                  %旋转矩阵转四元数eul = rad2deg(quat2eul(quat,'XYZ'))     %四元数转欧拉角
rotm = quat2rotm(quat)                  %四元数转旋转矩阵

旋转矩阵

-2.22044604925031e-16	-0.500000000000000	0.866025403784439
0.866025403784439	-0.433012701892220	-0.250000000000000
0.500000000000000	0.750000000000000	0.433012701892219

四元数

0.500000000000000	0.500000000000000	0.183012701892219	0.683012701892219

5. 总结

本文分别描述了四元数与旋转矩阵、欧拉角与四元数、四元数与欧拉角之间的变化关系。欧拉角、旋转矩阵与四元数这三种表征姿态的方法各有其优劣。欧拉角在某种情况下会遇到万向锁问题,即会丢失一个自由度的信息;旋转矩阵里面有九个数值,而三维旋转一次只需要三个自由度,这会造成计算量有点大。而四元数没有欧拉角和旋转矩阵所特有的奇异性,可以很好地表征运动物体的姿态,故四元数表征姿态应用较多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1549680.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

欧拉角物理含义

欧拉角定义 欧拉角与方向余弦矩阵以一对应 方向余弦矩阵与欧拉角存在一一对应关系。当已知欧拉角,规定了每次旋转的轴(XYZ)和每次旋转的角度,就可以得到方向余弦矩阵。 想想方向余弦矩阵是如何得到的?通过三个二维方向…

欧拉角表示的旋转相乘计算

在Eigen中用欧拉角表示旋转时,单次旋转多个角度和多次旋转单个角度的结果是不同的。具体试验如下: 在VS2017中用Eigen分别初始化两个欧拉角旋转: 第一个:欧拉角旋转为(M_PI / 2, 0, M_PI / 4) Eigen::Ve…

动态欧拉角与静态欧拉角的区别

看了网上好多的讲解,讲的都不是特别清晰,让人有一种很懵懵的感觉,感觉懂了,又貌似没懂的奇怪感觉,读了那么多的水文,大多都是内容差不多,好多文章之中错误百出,都是稍微提了一点,没有详细对比二者的区别,很难让人从心里真正明白其中含义.由于项目需要,这里对于动态欧拉角和静态…

旋转矩阵、欧拉角

旋转矩阵、欧拉角 注:下面为学习空间机器人技术系列课程笔记,加上一些自己的整理,方便复习。 一、旋转矩阵的引出 下面坐标系0的基向量为 ( x 0 , y 0 ) (x_{0},y_{0}) (x0​,y0​),坐标系1的基…

对于双欧拉角(正反欧拉角)的一些理解和思考

文章目录 一、正反欧拉角定义二、相关文献阐述三、对正反欧拉角的思考四、参考代码五、参考文献 最近看到有人讨论“双欧拉角”或者“正反欧拉角”的问题,因为自己之前没听说过这个概念,为了避免无知,因此找了一些文献进行学习和理解。不过基…

matlab 欧拉角 方向余弦,旋转矩阵、欧拉角之间转换

学习过程中涉及欧拉角和旋转矩阵的转换,索性整理学习一下欧拉角四元数和旋转矩阵的概念以及matlab中的互相转换 本文摘自各大课本,博客,自己学习整理使用,侵删 MATLAB矩阵乘法从左到右依次相乘 用R表示旋转矩阵。 yaw(偏航) pitch(俯仰) roll(横滚)分别表示Z Y X轴的转…

欧拉角旋转

欧拉角是一种表示三维旋转的描述方法,欧拉角的计算需要借助旋转矩阵,关于旋转矩阵的知识可先参考之前的文章:3维旋转矩阵推导与助记 欧拉角旋转 静态定义 对于在三维空间里的一个参考系,任何坐标系的取向,都可以用三…

欧拉角的理解

1 欧拉角概念 百度百科:欧拉角,用来确定定点转动刚体位置的3个一组独立角参量,欧拉角由章动角θ、旋进角(即进动角)ψ和自转角Φ组成。欧拉角为欧拉首先提出而得名。维基百科:Euler angles,莱昂…

四元数转欧拉角

四元数转欧拉角_在线测试工具 在线测试C程序工具 #include <stdio.h> #include <cmath>//四元数 struct Quaternion {double w, x, y, z; };//欧拉角 struct EulerAngles {double roll, pitch, yaw; };EulerAngles ToEulerAngles(Quaternion q) {EulerAngles angl…

详解 欧拉角与四元数

一、欧拉角 1.1 静态的定义 对于在三维空间里的一个参考系&#xff0c;任何坐标系的取向&#xff0c;都可以用三个欧拉角来表现。参考系又称为实验室参考系&#xff0c;是静止不动的。而坐标系则固定于刚体&#xff0c;随着刚体的旋转而旋转。 如图所示。设定xyz-轴为参考系…

四元数与欧拉角的转换

前言 一般情况下&#xff0c;每个领域都有自己默认是欧拉角定义。经典力学使用zxz&#xff0c;航空航天使用zyx/zxy。本文以无人机为对象讲解&#xff0c;使用zyx/zxy旋转顺序。为什么不同专业选用的欧拉角不同呢&#xff1f;一个是传统&#xff0c;另一重要的原因是不同的转序…

欧拉角转换四元数

欧拉角绕轴有x、y、z三个轴&#xff0c;旋转有不同的顺序。确定了不同的欧拉角矩阵。 针对绕轴的不同&#xff0c;欧拉角转换为四元数也不同。 绕x轴旋转 ϕ \phi ϕ角 四元数为 [ ( s i n ϕ 2 , 0 , 0 ) , c o s ( ϕ 2 ) ] T [(sin\frac{\phi}{2},0,0),cos(\frac{\phi}{…

欧拉角

欧拉角&#xff08;Euler Angles&#xff09;用来描述坐标轴的旋转。 坐标轴 原始坐标轴记为 x − y − z x-y-z x−y−z&#xff0c;旋转后坐标轴记为 X − Y − Z X-Y-Z X−Y−Z&#xff0c;坐标轴原点记为 O O O。 N ⃗ \vec{N} N 轴为 X Y XY XY与 x y xy xy两平面的交线&…

欧拉角及相关概念

欧拉角定义 欧拉角表示的是刚体的姿态变换。空间中的任意一点都可以用该点到对应坐标轴的垂直距离组成的三维向量描述&#xff0c;同理对某个物体的姿态&#xff0c;也可以用三个角度表示&#xff0c;三个角度分别为围绕对应坐标轴&#xff08;x,y,z&#xff09;旋转的…

欧拉角的概念理解和欧拉角旋转矩阵推导

欧拉角用来计算空间中刚体的旋转位置&#xff0c;目的是改变刚体的朝向. 具体来说,空间中有一个点p和一根轴k&#xff0c;点p绕轴k旋转θ角度到p,求p的坐标.这就是欧拉角要解决的问题. 只不过,欧拉角将1个点绕1根轴旋转1个角"转化为"1个点绕3个轴连续旋转3个角&quo…

欧拉角(Euler angles)

前言&#xff1a;本人也就英语4级水平&#xff0c;由于本篇中存在大量学术词汇&#xff0c;翻译时必然会有不当之处&#xff0c;原文可以在下面的链接中找到&#xff0c;具体意义各位可以自行斟酌 标红的部分是已发现存疑的翻译&#xff0c;也请各位指正。 维基百科-欧拉角 欧…

欧拉角(易理解)

欧拉角是什么 欧拉角是用来 唯一的 确定定点转动刚体位置的 三个一组的 独立角参量。 由章动量θ、旋进角&#xff08;即进动角&#xff09;ψ和自转角φ组成&#xff0c;为欧拉首先提出而得名。 通俗来讲的话有&#xff1a; eg&#xff1a;你去问路得到了两种回答 1 往东经…

欧拉角,轴角,四元数与旋转矩阵详解

入门小菜鸟&#xff0c;希望像做笔记记录自己学的东西&#xff0c;也希望能帮助到同样入门的人&#xff0c;更希望大佬们帮忙纠错啦~侵权立删。 目录 一、欧拉角 1、静态定义 2、欧拉角的表示 3、欧拉角表示的优缺点 4、欧拉角的万向节死锁&#xff08;静态不存在万向锁的问…

三星SAMSUNG CLP-320N 驱动

三星SAMSUNG CLP-320N 驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作系统。有需…

三星Samsung ML-3470D 打印机驱动

三星Samsung ML-3470D 打印机驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作系统…