机器人中的yaw/pitch/roll
1、yaw(pan)/pitch(tilt)/roll
我认为,yaw/pitch/roll绕哪个轴旋转,是要看坐标系的朝向的,如果坐标系的轴如下图,则对应关系是yaw(z轴)、pitch(x轴)、roll(y轴)。
如果换个坐标系,比如下图,则是yaw(Y轴)、pitch(X轴)、roll(Z轴)。
2、yaw/pitch/roll的计算
工业上,一般的旋转顺序是yaw=>pitch=>roll的顺序。
所以,这个坐标系的旋转顺序是ZXY,则对应的旋转矩阵是下图的红色部分。
令旋转矩阵,则
m21 = sinx, x =asin(m21)=>pitch
m20 / m22 = -cosxsiny / cosxcosy = -siny / cosy = -tany, y = -atan2(m20, m22)=>roll
m01 / m11 = -cosxsinz / coszcosx = -sinz / cosz = -tanz, z = -atan2(m01, m11)=>yaw
3、yaw/pitch/roll的坐标系转换
设数据源的坐标系如下图(同2的计算),
数据目标的坐标系如下(都是右手坐标系),
则yaw的旋转与上一步计算相反,有
x =asin(m21)=>pitch
y = atan2(m01, m11)=>yaw
z = -atan2(m20, m22)=>roll
4、代码示例
import numpy as npimport math as mathfrom autolab_core import RigidTransformorientation = {'y': -0.6971278819736084, 'x': -0.716556549511624, 'z': -0.010016582945017661, 'w': 0.02142651612120239}position = {'y': -0.26022684372145516, 'x': 0.6453529828252734, 'z': 1.179122068068349}rotation_quaternion = np.asarray([orientation['w'], orientation['x'], orientation['y'], orientation['z']])translation = np.asarray([position['x'], position['y'], position['z']])m = RigidTransform(rotation_quaternion, translation)r = m.rotationpitch = math.asin(r[2, 1])yaw = -math.atan2(r[0, 1], r[1, 1])roll = -math.atan2(r[2, 0], r[2, 2])pitch_ang = pitch * 180.0 / 3.1415926yaw_ang = -yaw * 180.0 / 3.1415926 roll_ang = roll * 180.0 / 3.1415926print('----- ji result -------')print('pitch: %f' % pitch_ang )print('yaw: %f' % yaw_ang)print('roll_ang: %f' % roll_ang)
机器人中的yaw/pitch/roll相关推荐
- Yaw Pitch Roll的变换顺序问题
今天花了不少时间去理解Yaw Pitch Roll的变换顺序 比如给定一个旋转(15, 30, 60),那么物体应该先围绕哪个轴转呢?总得有个顺序吧? 解决这个问题的第一个天坑就是:网上的资料坐标系都 ...
- yaw公式_坐标系和yaw, pitch, roll等基础概念
坐标系 右手坐标系:把右手拇指食指中指伸直并正交,拇指X,食指Y,中指Z.一般无特殊说明,都是右手坐标系. 右手坐标系的旋转正方向:从轴的正方向看向原点,逆时针方向即是旋转正向.或者,伸出右手,拇指指 ...
- 姿态角(Euler角):yaw pitch roll
姿态角和自由度相关联: 姿态角在控制,机械领域广泛使用: 这里,简单了解一下: 什么是姿态角(Euler角)? yaw,pitch,roll的识别? 步骤阅读 百度经验:jingyan.baidu.c ...
- 航空摄影测量中yaw,pitch,roll
在航空摄影测量中,pitch, yaw, roll含义如下图: pitch是围绕X轴旋转,也叫做俯仰角: yaw是围绕Y轴旋转,也叫偏航角: roll是围绕Z轴旋转,也叫翻滚角: yaw 旋转 ...
- YAW PITCH ROLL 定义
百度上居然搜不到俯仰滚转和偏航的定义,可见大家的浮躁了,没事摇一摇都不干正事了,整理了一下资料,公布给大家. 要了解飞机姿态,需要首先知道什么是地面坐标系和机体坐标系. ■地面坐标系( eart ...
- 机器人中的坐标转换关系(个人记录学习)
1.前言: 在机器人的应用中,可以使用不同的坐标系来定义机器人,传感器和其他物体的位置.通常,对象在三维空间中的位置可以通过位置和方向值指定.这些值有多个可能的表示形式应用于某些特定应用程序.平移和旋 ...
- yaw pitch row欧拉角理解
飞行中的飞机可以在三维空间中自由旋转 --------------------------------------------------------------------------------- ...
- UE中FRotator和Pitch(Roll,Yaw)以及相对朝向的关系
前几天,看人宅的塔防视频教程,他使用了塔的成员变量rotator.我可能在哪里少写了,所以,老是朝向不对. 跟踪调试了下,发现FRotator是由pitch,roll,yaw三个部分组成,而pitch ...
- 俯仰 (pitch) - 偏摆 (yaw) - 翻滚 (roll)
俯仰 (pitch) - 偏摆 (yaw) - 翻滚 (roll) 1. 机体坐标系 机体坐标系是指固定在飞行器或者飞机上的遵循右手法则的三维正交直角坐标系,其原点位于飞行器的重心,OX 轴位于飞行器 ...
最新文章
- redis优雅的批量删除key
- 关于几种压缩算法以及hadoop和hbase中的压缩配置说明
- python日志模块为什么打印到界面_如何将外部模块的日志消息打印到主Python模块的终端窗口?...
- 利用binlog进行数据库的还原
- JAVA_OA(六):SpringMVC登陆实例
- PHP怎样表示几时几分,PHP将时间戳转换为刚刚、N分钟前、今天几点几分、昨天几点几分......
- JAVA50道经典编程题
- python流程自动化_基于Python的SAP流程自动化
- 将数据库中一张表中数据复制到另一张表
- 随想录(skyeye中的soc仿真)
- 求最大子数组(贪心算法)
- 李航《统计学习方法》第四章课后答案链接
- React-引入图片的方法
- MyBatis的动态SQL详解nbsp;(转载)
- 毕设题目:Matlab语音去噪
- 爬去当当热销图书信息
- 微信小程序weui-form表单的使用
- Git使用技巧--详细教程
- Zero Knowledge Proof 解密 QAP
- 软件测试课堂笔记之语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,在eclipse上新建测试用例