欧拉角pitch、yaw,roll的理解

本文详细解释了欧拉角中的pitch(俯仰角),yaw(偏航角)和roll(翻滚角)的概念,以及它们在不同旋转顺序下对物体姿态的影响。通过手机实验,读者可以直观感受不同旋转顺序带来的变化。

转自:https://blog.youkuaiyun.com/guyubit/article/details/52995676

简言之,pitch是俯仰角,是“点头“

yaw是偏航角,是‘摇头’

roll是旋转角,是“翻滚”

 

欧拉角是表达旋转的最简单的一种方式,形式上它是一个三维向量,其值分别代表物体绕坐标系三个轴(x,y,z轴)的旋转角度。这样的话,很容易想到,同样的一个三维向量,代表了绕x,y,z的旋转值,先进行那个旋转是否对结果有影响呢?显然是有影响的,可以拿着你的手机试一下,不同的旋转顺序会代表不同的旋转结果。所以,一般引擎都会规定自己的旋转顺序。
下面三张动图形象的表示了欧拉角的旋转方式。第一张是绕x轴旋转pitch,第二张绕y轴旋转yaw,第三张是绕z轴旋转roll。 
这里写图片描述 
这里写图片描述 
这里写图片描述

绕三个轴的旋转值pitch,yaw,roll来自航空界的叫法,翻译为俯仰角,偏航角,翻滚角,非常形象。它们不一定如上所述,一定分别代表绕x,y,z的旋转值。 
从英文意思出发,roll:是卷;滚动,转动;辗的意思; 
yaw是(火箭、飞机、宇宙飞船等)偏航的意思; 
pitch是倾斜;投掷;搭帐篷;坠落的意思; 
所以,roll的意思是翻滚,就是绕着机身所在的那个轴。yaw是偏航的意思,偏航就是绕着重力方向为轴。pitch倾斜、坠落的意思,坠落就是以翅膀所在的直线为轴发生旋转。

另外值得注意的是,pitch值是不能超过90度,这里牵扯到了万向锁的知识,不再多说,网上很多讨论。

下面这张图是以摄像机的角度来阐述欧拉角的,可以加深理解。可以看到,pitch,yaw,roll在这里并不是常见的代表绕x,y,z的旋转值。 
这里写图片描述

### Roll Pitch Yaw 坐标系转换 在多传感器融合环境中,Roll (滚动角), Pitch (俯仰角),Yaw (偏航角) 的定义对于理解车辆或其他载体的姿态至关重要。这些角度用于描述物体相对于惯性坐标系的方向变化。 #### 1. 欧拉角与旋转矩阵之间的关系 为了实现从一种坐标系到另一种坐标系的变换,可以先将欧拉角转化为旋转矩阵。给定一组 roll, pitchyaw 角度,可以通过下面的方式构建对应的旋转矩阵 R: ```python import numpy as np def euler_to_rotation_matrix(roll, pitch, yaw): Rx = np.array([[1, 0, 0 ], [0, np.cos(roll), -np.sin(roll)], [0, np.sin(roll), np.cos(roll)]]) Ry = np.array([[ np.cos(pitch), 0, np.sin(pitch)], [0 , 1, 0 ], [-np.sin(pitch), 0, np.cos(pitch)]]) Rz = np.array([[np.cos(yaw), -np.sin(yaw), 0], [np.sin(yaw), np.cos(yaw), 0], [0 , 0 , 1]]) # 组合得到最终的旋转矩阵 R = Rz @ Ry @ Rx return R ``` 此函数接受三个参数 `roll`, `pitch` 和 `yaw` 并返回相应的旋转矩阵[^3]。 #### 2. 多传感器数据的时间同步 由于不同的传感器可能具有各自独立的工作频率,在实际应用中需要注意时间戳的一致性和校准问题。当 GNSS 接收机、IMU 或者其他类型的传感器共同工作时,确保它们所记录的数据是在同一时刻发生的非常重要。这涉及到硬件层面的设计以及软件算法上的补偿措施[^2]。 #### 3. 实际案例:GNSS/INS 融合系统中的姿态解算 在一个典型的基于 GNSS 和 INS(Inertial Navigation System)组合导航的应用场景下,通过对 IMU 提供的速度增量积分可以获得短时间段内的相对位移;而利用 GNSS 测量绝对地理位置,则能修正累积误差并提供全局参照框架下的精确定位服务。此时,通过上述方法计算出来的旋转矩阵可以帮助完成局部坐标系向世界坐标系的映射过程[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值