计算两组欧拉角之间得角偏差-小角度近似和矩阵乘法
为了计算这两组欧拉角之间的角偏差(三维空间旋转夹角),我们需要先将欧拉角转换为旋转矩阵(假设采用航空/航天最常用的 Z-Y-X (即 Yaw-Pitch-Roll, 3-2-1) 旋转顺序),然后求出相对旋转矩阵的转角。
一、 数据预处理(统一单位)
输入数据格式为三维角度 (ϕx,θy,ψz)(\phi_x, \theta_y, \psi_z)(ϕx,θy,ψz),原始单位为 μrad\mu\text{rad}μrad,转换为 rad\text{rad}rad(乘以 10−610^{-6}10−6):
- 第一组欧拉角 E1\mathbf{E}_1E1:
ϕ1=−19047 μrad=−0.019047 rad\phi_1 = -19047\ \mu\text{rad} = -0.019047\text{ rad}ϕ1=−19047 μrad=−0.019047 rad
θ1=1670 μrad=0.001670 rad\theta_1 = 1670\ \mu\text{rad} = 0.001670\text{ rad}θ1=1670 μrad=0.001670 rad
ψ1=−9657 μrad=−0.009657 rad\psi_1 = -9657\ \mu\text{rad} = -0.009657\text{ rad}ψ1=−9657 μrad=−0.009657 rad
- 第二组欧拉角 E2\mathbf{E}_2E2:
ϕ2=−12508 μrad=−0.012508 rad\phi_2 = -12508\ \mu\text{rad} = -0.012508\text{ rad}ϕ2=−12508 μrad=−0.012508 rad
θ2=233 μrad=0.000233 rad\theta_2 = 233\ \mu\text{rad} = 0.000233\text{ rad}θ2=233 μrad=0.000233 rad
ψ2=−2558 μrad=−0.002558 rad\psi_2 = -2558\ \mu\text{rad} = -0.002558\text{ rad}ψ2=−2558 μrad=−0.002558 rad
二、 计算过程
1. 欧拉角差值计算(小角近似)
由于两组欧拉角的角度都非常小(最大约 19 mrad19\text{ mrad}19 mrad,小于 1.1∘1.1^\circ1.1∘),在小角近似(cosx≈1,sinx≈x\cos x \approx 1, \sin x \approx xcosx≈1,sinx≈x)下,三个轴向的角度差为:
Δϕ=ϕ2−ϕ1=−12508−(−19047)=+6539 μrad=6.539 mrad\Delta \phi = \phi_2 - \phi_1 = -12508 - (-19047) = +6539\ \mu\text{rad} = 6.539\text{ mrad}Δϕ=ϕ2−ϕ1=−12508−(−19047)=+6539 μrad=6.539 mrad
Δθ=θ2−θ1=233−1670=−1437 μrad=−1.437 mrad\Delta \theta = \theta_2 - \theta_1 = 233 - 1670 = -1437\ \mu\text{rad} = -1.437\text{ mrad}Δθ=θ2−θ1=233−1670=−1437 μrad=−1.437 mrad
Δψ=ψ2−ψ1=−2558−(−9657)=+7099 μrad=7.099 mrad\Delta \psi = \psi_2 - \psi_1 = -2558 - (-9657) = +7099\ \mu\text{rad} = 7.099\text{ mrad}Δψ=ψ2−ψ1=−2558−(−9657)=+7099 μrad=7.099 mrad
2. 三维等效空间夹角(矢量模长)
在小角条件下,两组姿态之间的等效空间三维旋转夹角 Φ\PhiΦ 等于各轴角度差值的欧几里得范数:
Φ≈(Δϕ)2+(Δθ)2+(Δψ)2\Phi \approx \sqrt{(\Delta \phi)^2 + (\Delta \theta)^2 + (\Delta \psi)^2}Φ≈(Δϕ)2+(Δθ)2+(Δψ)2
Φ≈(6.539)2+(−1.437)2+(7.099)2 mrad\Phi \approx \sqrt{(6.539)^2 + (-1.437)^2 + (7.099)^2}\text{ mrad}Φ≈(6.539)2+(−1.437)2+(7.099)2 mrad
Φ≈42.7585+2.0650+50.3958=95.2193≈9.758 mrad\Phi \approx \sqrt{42.7585 + 2.0650 + 50.3958} = \sqrt{95.2193} \approx \mathbf{9.758\text{ mrad}}Φ≈42.7585+2.0650+50.3958=95.2193≈9.758 mrad
(注:如果采用严格的矩阵乘法 Rrel=R1TR2R_{rel} = R_1^T R_2Rrel=R1TR2 并通过 trace(Rrel)=1+2cosΦ\text{trace}(R_{rel}) = 1 + 2\cos\Phitrace(Rrel)=1+2cosΦ 计算,由于角度非常小,严格解与小角近似解的高阶项差异在 10−6 mrad10^{-6}\text{ mrad}10−6 mrad 数量级,可忽略不计。)
(以上两种方法-1. 欧拉角插值计算 2.矩阵乘法)
三、 计算结果
两组欧拉角之间的等效空间总夹角为 9.758 mrad。
各轴差值明细:
- X 轴(Roll)差值:+6.539 mrad+6.539\text{ mrad}+6.539 mrad
- Y 轴(Pitch)差值:−1.437 mrad-1.437\text{ mrad}−1.437 mrad
- Z 轴(Yaw)差值:+7.099 mrad+7.099\text{ mrad}+7.099 mrad
- 空间综合矢量夹角:9.758 mrad9.758\text{ mrad}9.758 mrad
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)