「 SLAM lesson-3.4 」欧拉角度定义、应用、缺点
结合 高翔老师的著作《视觉SLAM十四讲:从理论到实践》,加上小白的工程经验共同完成。建议作为笔记功能反复使用。
一、欧拉角的定义
无论是旋转向量还是旋转矩阵,虽然它们能描述旋转,但对我们人类来说是非常不直观的。当我们看到它们时,很难想象出这个旋转究竟是什么样的。 而欧拉角则提供了一种非常直观的方式来描述旋转——它使用了三个分离的转角,把一个旋转分解成三次绕不同轴的旋转。
由于分解方式有很多种,所以欧拉角也存在着不同的定义方法。比如说,当我们先绕 X 轴旋转,再绕 Y 轴旋转,最后绕 Z 轴旋转,就得到了一个 XYZ 轴的旋转。如果讨论更细一些,还需要区分每次旋转是绕固定轴旋转的,还是绕旋转之后的轴旋转的。
二、"偏航-俯仰-滚转"
欧拉角当中比较常用的一种,便是用“偏航-俯仰-滚转”(yaw-pitch-roll)三个角度来描述一个旋转的。由于它等价于 ZYX 轴的旋转,我们就可以以 ZYX 为例。假设一个刚体的前方(朝向我们的方向)为X轴,右侧为Y轴,上方为Z轴,那么,ZYX 转角相当于把任意旋转分解成以下三个轴上的转角:
- 绕物体的 Z 轴旋转,得到偏航角 yaw;
- 绕旋转之后的Y轴旋转,得到俯仰角 pitch;
- 绕旋转之后的Z轴旋转,得到滚转角 roll;
此时,我们可以使用 这样一个三维的向量描述任意旋转。这个向量十分的直观,我们可以从这个向量想象出旋转的过程。 rpy角的旋转顺序是ZYX。
三、欧拉角的缺点
欧拉角的一个重大缺点是会碰到著名的万向锁问题(Gimbal Lock):在俯仰角为°时,第一次旋转与第三次旋转将使用同一个轴,使得系统丢失了一个自由度(由三次旋转变成了两次旋转)。理论上可以证明,只要我们想用三个实数来表达三维旋转时,都会不可避免地碰到奇异性的问题。由于这种原因,欧拉角不适于插值和迭代,往往只用在人机交互中。
我们也很少在SLAM程序中直接使用欧拉角表示姿态,同样不会在滤波或优化中使用欧拉角表示旋转(因为它具有奇异性)。不过,若你想验证自己的算法是否有错时,转换成欧拉角能够快速辨认结果的正确与否。
《视觉SLAM十四讲:从理论到实践》 PDF资源
下载链接:Robot_Starscream的资源 仅供各位研究员试读,请购买纸质书籍。
「 SLAM lesson-3.4 」欧拉角度定义、应用、缺点相关推荐
- 如何将瀑布流里的图片加链接_「魔幻瀑布」180度全景接片+曝光合成!
这是一张刚刚修出来的作品,接近180度视角的魔幻丛林瀑布.用了6张16mm超广的纵向接片+1张曝光合成.这张作品在网上也收到了不少留言和私信,大家都对后期合成以及拍摄时的技术很感兴趣. 所以,这周的教 ...
- 抓住「金九银十」的尾巴!技术面试如何准备,谷歌面试官亲授
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源@新智元 [导读]有位外国小哥在自己的博客上通过解答一道面试题,发布了自己在谷歌担任工程师和面试官 ...
- 重磅!CSDN 发布「AI开源贡献奖Top5」「AI新锐公司奖Top10」「AI优秀案例奖Top30」三大榜单...
2020 年无疑是特殊的一年,AI 在开年的这场"战疫"中表现出惊人的力量.站在"新十年"的起点上,CSDN发起[百万人学AI]评选活动.我们继续聚焦AI的技术 ...
- PingCode入选36氪「WISE 2021新经济之王」年度硬核、新势力企业
近日,36氪在上海召开了"硬核时代"WISE2021新经济之王峰会.除大咖分享外,峰会还发布了『WISE 2021新经济之王』年度硬核企业.新势力企业榜单. 在本次榜单中 Ping ...
- 「强化学习可解释性」最新2022综述
来源:新智元 本文共10000字,建议阅读15分钟本文本文探索XRL的基础性问题,并对现有工作进行综述. 强化学习是一种从试错过程中发现最优行为策略的技术,已经成为解决环境交互问题的通用方法. 然而, ...
- 腾讯AI Lab两大算法刷新人脸识别与检测纪录,秉承「基础研究+落地应用」之路
2017-12-22 10:07:03 雷锋网 AI 科技评论按:12 月 18 日,腾讯 AI Lab 宣布,其研发的人脸算法 Face R-FCN 和 Face CNN 分别在人脸检测平台 WID ...
- 官宣!CSDN 重磅发布「AI开源贡献奖Top5」「AI新锐公司奖Top10」「AI优秀案例奖Top30」三大榜单...
2020 年无疑是特殊的一年,AI 在开年的这场"战疫"中表现出惊人的力量.站在"新十年"的起点上,CSDN发起[百万人学AI]评选活动.我们继续聚焦AI的技术 ...
- 打造新华社「AI合成主播」的“分身术”为何物?
刚刚火了没几年的主播这一职业,已经面临沦陷的危险,当然,沦陷的不只是主播. 11月7日,在第五届世界互联网大会上,惊现全球首个「AI合成主播」,AI合成主播可以模仿真实主播的音容笑貌,就连在发布会现场 ...
- 从0开始学习GitHub系列之「认识并加入GitHub」
从0开始学习GitHub系列之「认识并加入GitHub」 糖果果| 2016-06-16 16:01 浏览量(245) 评论(0) 推荐(0) 数据 小编注:[从0开始学习 GitHu ...
最新文章
- 如何下载flash离线安装包
- 读博五年,我总结出了7条帮你「少走弯路」的真理
- FLEX 动态添加事件
- struts文件异常Included file cannot be found
- hdu4217 Data Structure? 线段树
- ubuntu16 黑主题_给Ubuntu 8.10安装超炫酷黑色新主题
- 第三代计算机硬件特点是,第三代计算机的特征.doc
- PHP 订单拆单后明细总金额与订单金额存在差异
- Mcafee杀毒软件卸载不了
- 关于响应式布局,你必须要知道的
- js在线预览[word,xls,ppt]-联机查看 Office 文档
- 安装SQL server2017提示无法打开注册表项:“Software\Microsoft\MicrosoftsQL Server\140\Bootstrap“,注册表可能已损环。
- python爬取猫眼电影评分
- Internet Explorer 7+ ,微软的vista IE 浏览器
- iptables使用limit控制新建连接速率
- 《沉默的云》.读书笔记(二)
- 小甜饼cookie之精准投放
- Laputa在cnblogs
- 重装Ubuntu 20.04第一次重启,开机页面卡住
- 《Vue.js实战》知乎日报V2.0
热门文章
- MySQL ROW_NUMBER 函数
- 浙大PTA-Python题库 函数题(6-1~6-6)题解
- 怎样快速判断代理ip是否可用
- 奶爸日记15 - 王子公主
- 【集群分布式问题】分布式集群时钟同步问题及解决方案
- 关于中国移动M-Market市场定位问题的思考
- sql server datediff 查询本周的数据 周一为第一天_毕业设计中的统计数据从何来?...
- java 加载shellcode_通用Shellcode加载器
- Unity-BattleStar丨11. 且听风吟:音乐与音效
- 证件照换装程序实现(Python+PIL),包括界面