四元数、欧拉角和旋转矩阵
四元数、欧拉角和旋转矩阵都可以描述三维空间中的旋转,三者可以相互转化。这里四元数指的都是单位四元数,不改变向量的模,和旋转矩阵是正交的一个道理。欧拉角的转动顺序为 Z→Y→X ,转动的角度分别为 (ψ,θ,ϕ) 。
欧拉角介绍
欧拉角包括偏航角(yaw) ψ ,俯仰角(pitch) θ ,滚转角(roll) ϕ ,导航坐标系 S−Oxgygzg 经过三次旋转可以得到机体坐标系 B−xbybzb 。需要注意的是,这里旋转的是坐标轴,不是向量。旋转过程遵循右手定则,过程如下:
- 以 zg 正方向为轴, S 系右旋
ψ 得到过渡坐标系 S′−Ox′y′z′ - 以 y′ 正方向为轴, S′ 系右旋 θ 得到过渡坐标系 S′′−Ox′′y′′z′′
- 以 x′′ 正方向为轴, S′′ 系右旋 ϕ 得到机体坐标系 B−Oxbybzb
每次旋转都用一个旋转矩阵表示如下:
第一次旋转:
⎡⎣⎢x′y′z′⎤⎦⎥=⎡⎣⎢cos(ψ)−sin(ψ)0sin(ψ)cos(ψ)0001⎤⎦⎥⎡⎣⎢⎢xgygzg⎤⎦⎥⎥
第二次旋转:
⎡⎣⎢x′′y′′z′′⎤⎦⎥=⎡⎣⎢cos(θ)0sin(θ)010−sin(θ)0cos(θ)⎤⎦⎥⎡⎣⎢x′y′z′⎤⎦⎥
第三次旋转:
⎡⎣⎢xbybzb⎤⎦⎥=⎡⎣⎢

本文详细介绍了四元数、欧拉角和旋转矩阵在三维空间旋转中的应用和相互转换。内容涵盖欧拉角的三种旋转、单位四元数的表示与旋转原理,以及它们之间的转化公式和C++实现代码。
最低0.47元/天 解锁文章
570





