yaw公式_坐标系和yaw, pitch, roll等基础概念

坐标系

右手坐标系:把右手拇指食指中指伸直并正交,拇指X,食指Y,中指Z。一般无特殊说明,都是右手坐标系。

右手坐标系的旋转正方向:从轴的正方向看向原点,逆时针方向即是旋转正向。或者,伸出右手,拇指指向旋转轴正向,四指弯曲,四指指向的旋转方向就是正向。

世界坐标系之NED坐标:X轴向北,Y轴向东,Z轴向下

世界坐标系之ENU坐标:X轴向东,Y轴向北,Z轴向上

世界坐标系之NWU坐标:X轴向北,Y轴向西,Z轴向上(这个坐标系最符合人类想象)

自身坐标系之FRD坐标:X轴向前,Y轴向右,Z轴向下。

自身坐标系之FLU坐标:X轴向前,Y轴向左,Z轴向上。(这个坐标系最符合人类想象)

FRD和NED配合:当自身面北平放的时候,FRD坐标系和NED坐标系重合。

FLU和ENU配合:当自身面东平放的时候,FLU坐标系和ENU坐标系重合。

FLU和NWU配合:当自身面北平放的时候,FLU坐标系和NWU坐标系重合。(最佳配合)

建议:当做一个系统的时候,要先统一系统内部的坐标系,优先统一到FLU+NWU。输入的坐标,在输入的时候,就要转为内部坐标系;输出的坐标,在输出的时候,根据用户的要求转为相应的外部坐标系。

yaw, pitch, roll

yaw:偏航角。是沿世界坐标系的Z轴旋转的角度。0表示面向世界坐标系的X轴正向。

在NED坐标下,0度是面向正北。在ENU做坐标下,0度是面向正东。

面向正北,在NED下,是0度,在ENU下,则是PI/2弧度。

面向正北偏东1度(0.01745弧度),在NED坐标系下,yaw=0.01745,在ENU坐标系中,yaw=PI/2-0.01745

所以,可以推算出来,yaw从END坐标系转到ENU坐标系的转换公式为:yaw_ENU = PI/2 - yaw_END

pitch:俯仰角。就是抬头或低头,和大地水平面的夹角。换句话说,是沿自身坐标系(X轴向前的坐标系)的Y轴旋转的角度。

抬头1度,在FRD坐标系下,pitch=0.01745,在FLU坐标系中,pitch=-0.01745。

所以,可以推算出来,pitch从FRD坐标系转到FLU坐标系的转换公式为:pitch_FLU = - pitch_FRD

roll:翻滚角。就是左倾或右倾,和大地水平面的夹角。换句话说,是沿自身坐标系(X轴向前的坐标系)的X轴旋转的角度。

右倾1度,在FRD坐标系下,roll=0.01745,在FLU坐标系中,roll=0.01745。

所以,可以推算出来,roll从FRD坐标系转到FLU坐标系的转换公式为:roll_FLU = - roll_FRD

注意,不同的惯导设备,采用的坐标系是不同的,有的用FRD,有的用FLU。例如ROS就缺省使用FLU,如果需要将某个FRD设备的数据发布到ROS,就需要做一个转换。

欧拉角

用3次连续转角来描述2个坐标系之间的旋转关系。

设xyz 为全局坐标,保持不动

设XYZ 为局部坐标,随着物体一起运动

那么zXZ的欧拉角为:

1) 物体绕全局的 z 轴旋转 alpha 角

2) 继续绕自己的 X 轴旋转 beta 角

3) 最后绕自己的 Z 轴旋转 gamma 角

Z-Y-X欧拉角

参考 Introduction to Robotics Machanics and Control.pdf P43

ZYX欧拉角是yaw-pitch-roll次序。

1) 先沿着Z轴旋转一个yaw角

2) 再沿着自己的Y轴旋转一个pitch角

3) 再沿着自己的X轴旋转一个roll角

设R为3*3的旋转矩阵,则R = R_yaw * R_pitch * R_roll

R_yaw是旋转后z不变的阵,R_pitch是旋转后y不变的阵,R_roll是旋转后x不变的阵。

求一个点在另一个坐标系中的坐标

参考 Introduction to Robotics Machanics and Control.pdf P27 Mappings involving general frames 公式2.19

设有2个坐标系 A 和 B,现在有一个点P,它在B坐标系中的坐标是P_b,那么求它在A坐标系中的坐标P_a。

已知B的原点在A坐标系中的坐标是O_ba,已知B相对于A的旋转矩阵是R_ab。

那么,我们可以先保持B的原点不动,把B旋转为B1,和A同向。此时该点P的坐标在B1里面是P_b1。而P_a = P_b1 + O_ba。

所以有 P_a = R_ab P_b + O_ba(2.17)

以上的公式,可以写成更酷的一个公式:

[P_a, 1]T = T_ab [P_b, 1] (2.19)

其中,T_ab为1个4*4的矩阵,左上角是R_ab,右上角是O_ba,左下角是 0 0 0,右下角是1。

四元数用于旋转

四元数有x,y,z,w这4个分量。错误的理解是:x,y,z表示旋转轴,w表示旋转角度。但实际上,如果ax,ay,az是旋转轴向量,theta是旋转角度的话,四元数实际是:

w = cos(theta/2)

x = ax * sin(theta/2)

y = ay * sin(theta/2)

z = az * sin(theta/2)

这样定义很不直观,但好处是可以可以插值。

给定两个四元数p和q,分别代表旋转P和Q,则乘积pq表示两个旋转的合成(即旋转了Q之后再旋转P)

举个例子,我们要把一个enu的航向角yaw,转成nwu的yaw,就可以直接用一个表示旋转的四元数乘它既可:

tf::Quanterion enu2nwu;

enu2nwu.setRPY(0, 0, -M_PI_2); // 以目标坐标nwu为基准,看源坐标enu在目标坐标中,是沿z轴正方向旋转了-PI/2。

yaw_nwu = enu2nwu * yaw_enu; // yaw本身表示一个旋转,左边乘以enu2nwu,表示先旋转坐标系得到新的坐标系,然后再旋转本身。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯视频下载的视频怎么剪辑_怎样卸载腾讯视频

腾讯视频影音是一款界面轻松友好,功能全面完善,方便好用,绿色安全,完全免费的、专注视频播放的客户端软件,您可运行腾讯视频影音,在线享受腾讯视频网站内全部免费高清正版视频。腾讯视频可以在线享受丰富多…

迈普路由器访问控制列表配置命令_如何选购企业路由器?选购企业路由器需注意什么...

3、企业自身的需求选择路由器时,首先考虑的是企业自身的需求,主要表现在下面9个原则:实用性原则。采用成熟的、经实践证明其实用性的技术。这能满足现行业务的管理,又能适应3~5年内业务发展的要求。可靠性原则。设计详细的故障处理…

腾讯视频网页下载_腾讯视频怎么下载视频

本文给大家整理了腾讯视频网页下载_腾讯视频怎么下载视频方面的内容。腾讯视频独播剧质量还是可以的,比较给力的是腾讯视频大量买入了老剧的版权,不乏一些比较经典的港剧,还把这些老剧修复了。腾讯视频播放器是一款支持多种音视频格式的主流播…

bazel 链接_bazel-链接第三方动态库,静态库。

demo4示例 链接第三方动态库,静态库。使用cc_import链接外部库。原理是通过cc_import规则导入第三方库,然后cc_binary再依赖cc_import规则的target,也即依赖第三方库。demo4目录树├── link│ ├── BUILD│ ├── include│…

腾讯视频下载后为什么还需联网看_腾讯视频如何下载离线视频

今天播放器家园网分享一下腾讯视频下载后为什么还需联网看_腾讯视频如何下载离线视频,希望可以帮助大家。腾讯视频有很多小功能是其他播放器没有的,大家可以下载后慢慢探索一下,小编非常喜欢的一个功能就是看电视剧的时候可以选择只看某个演员…

2台服务器负载均衡后synchronized_一篇有趣的负载均衡算法实现

负载平衡(Load balancing)是一种在多个计算机(网络、CPU、磁盘)之间均匀分配资源,以提高资源利用的技术。使用负载均衡可以最大化服务吞吐量,可能最小化响应时间,同时由于使用负载均衡时,会使用多个服务器节点代单点服务&#xff…

腾讯视频下载安装免费装到手机_腾讯视频怎么上传个人本地视频

不管这个腾讯视频好用与否,都有一大批用户,本文播放器家园网小编分享腾讯视频下载安装免费装到手机_腾讯视频怎么上传个人本地视频。VIP会员频道聚合海量VIP品质内容,连续签到解锁惊喜奖励、摇一摇抽VIP天卡、领取会员专属权益,快…

php mysql 中文_PHP连接MySQL查询结果中文显示乱码解决方法

我们首先假设数据库中采用的编码为UTF-8这时我们在PHP页面中应当首先添加此处charset的值utf-8必须与文件保存时的编码类型一样之后在数据库查询前添加mysql_query("set names utf8");该行语句的编码值也应当与上面的编码值一样。总而言之,网页保存的编码…

怎样将腾讯视频下载到的电影传入手机_腾讯视频怎么缓存视频

不管这个腾讯视频好用与否,都有一大批用户,本文播放器家园网小编分享怎样将腾讯视频下载到的电影传入手机_腾讯视频怎么缓存视频。腾讯视频拥有独立的播放界面,软件采用独立的播放界面进行播放,用户点击喜欢的影视播放之后不会干扰…

腾讯视频主演角色弹幕怎么发

本文播放器家园网小编给大家分享“腾讯视频主演角色弹幕怎么发”。只需要打开腾讯视频,就可以在线享受腾讯视频网站内全部免费高清正版视频、最新影视大片、最独家的综艺、旅游、纪录片,在众多的播放器当中,腾讯视频堪称完美。腾讯视频可以在…

mysql 重装之后_mysql重装之后 复制data

(哇,编程小白的第一篇博客丫,激动)Q one:mysql需要重装,数据该怎么办。方法一:数据表最好是导出成.sql文件,这样才比较安全。方法二:直接copy了data文件:在mysql安装盘下的programda…

360极速浏览器兼容模式怎么设置在哪

360极速浏览器兼容模式怎么设置在哪,360浏览器怎么设置兼容模式?大部分浏览器都有两种视图模式:极速模式、兼容模式,这一点360浏览器也不例外,在加载速度上,极速模式快于兼容模式,要在360浏览器中切换极速…

log4j2 mysql_spring boot使用log4j2将日志写入mysql数据库

log4j2官方例子在spring boot中报错而且还是用的是org.apache.commons.dbcp包我给改了一下使用org.apache.commons.dbcp2包1.log4j2.xml如下:method"getDatabaseConnection" />includeLocation"true">AsyncLogger 表示是异步插入.需要在pom.xml中插入…

如何重置IE浏览器?重置IE浏览器的方法

ie浏览器是一款自带的浏览器服务软件,这款软件使用非常的方便,界面使用非常的简洁,浏览器的功能更加的全面,用户可以使用手机快速搜索,那么如何进行IE浏览器的重置呢?如果用户需要使用IE浏览器,想对IE浏览…

Win10系统怎么锁定IE浏览器主页

核心提示:Win10系统怎么锁定IE浏览器主页?一起看看吧! 目前,不少电脑用户都升级了win10系统,不过,关于win10系统的一些使用方法却不是很了解,比如说:当win10系统的IE浏览器被流氓软件窜改的主页网址该怎么…

vs2010 mysql linq to sql 系列_LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据...

LINQ和 LINQ to SQL 都已经不是一个新事物了,但是我接触的比较晚,本着绝知此事要躬行的态度,决定写这个系列。本文使用的测试环境是VS 2010,和sql server 2005数据库。第一篇 从CUD开始,如何使用LINQ to SQL插入…

如何在IE浏览器中使用和管理RSS订阅源

核心提示:什么是RSS?简单来说,RSS就像微博一样。在你的源有更新的时候把更新推送给你,或者说在网站有更新的时候告诉你更新的内容。而源就好比是那些微博账号。 什么是RSS?简单来说,RSS就像微博一样。在你的源有更新的时候把更…

redis session 超时时间_Shiro性能优化:解决Session频繁读写问题

点击上方蓝色字体,选择“标星公众号”优质文章,第一时间送达作者 | 张永恒来源 | urlify.cn/YjEZNj背景Shiro 提供了强大的 Session 管理功能,基于 Shiro 实现 Session 共享非常方便,只需要定制一个我们自己的SessionDAO&#x…

360浏览器如何拦截和屏蔽网页广告

在浏览网页的时候总会弹出各种烦人的广告,用户可以使用浏览器设置,然后拦截掉网页的广告,操作起来非常的方便,用户可以使用浏览器马上学习起来,感兴趣的用户就一起来学习起来吧!马上就可以为用户提供最便捷的浏览方式&…

如何申请注销腾讯视频账号

今天小编给大家分享“如何申请注销腾讯视频账号”。腾讯视频在电视剧和电影播放过程中无广告,只要点击播放按钮,除了开头的广告外,视频畅快从头看到尾,当然现在有些电视剧直接把广告植入到剧中,哪怕你开了vip一样无法去…