机器人运动学(二)-欧拉角
书接上文,本篇文章主要介绍欧拉角
学习参考资料
# 旋转变换(二)欧拉角
# 「 SLAM lesson-3.4 」欧拉角度定义、应用、缺点
# 欧拉角细节/旋转顺序/内旋外旋
欧拉角
欧拉角来自欧拉旋转定理
在三维空间里,假设一个刚体在做一个旋转的时候,刚体内部至少有一点固定不动,则此位移等价于一个绕着包含那固定点的固定轴的旋转。
换句话讲,三维空间中任意旋转都可以用绕某点旋转的三个角度来表示
然而想要规范地使用欧拉角,还需要搞清楚以下几个问题:
1.三个旋转角的组合方式
2.参照的坐标轴
3.三个旋转角如何记
1.旋转角的组合
欧拉角一般具有两大类表示方式,按照旋转次序又分为6小类
Proper Euler angles(z-x-z,x-y-x,y-z-y,z-y-z,x-z-x,y-x-y)
Tait-Bryan angles(x-y-z,y-z-x,z-x-y,x-z-y,z-y-x,y-x-z)
一般使用Tait-Bryan angles
2.内旋/外旋
现假设世界坐标系XYZ中存在一个物体,物体相对自己的坐标系xyz,初始状态下,XYZ与xyz重合,当物体旋转的同时,相对物体的坐标系xyz也随之旋转。
因此有内旋外旋的区别: 外旋按照坐标系XYZ旋转,内旋按照坐标系xyz旋转。
3.三个旋转角的记法
顺序 | 飞行器 | 望远镜 | 符号 | 角速度 |
---|---|---|---|---|
第一 | heading | azimuth | yaw | |
第二 | attitude | elevation | pitch | |
第三 | bank | tilt | roll |
如图
在欧拉角中,较常用“偏航-俯仰-滚转”(yaw-pitch-roll)三个角度来描述一个旋转
在解决了这三个问题后,描述一个能表示确定姿态/旋转的欧拉角,形式应类似下述例子:
旋转角度(
4.欧拉角的缺点-连续与万向锁问题(Gimbal lock)
对于 连续的旋转 ,这边要指出:
如果有两组旋转角
万向锁问题(Gimbal lock) 是欧拉角的一个重大缺点:在仰俯角为
理论上可以证明,只要我们想用三个实数表达三维旋转的时候,就不可避免地碰到奇异性的问题。
这边从数学意义上去理解,顺带引出欧拉角的旋转矩阵表示
旋转角度(
很容易得到其旋转矩阵为
当
可以看到,这个情况下,修改
这边顺带提一嘴:每种特定顺序的外旋等价于其相反顺序的内旋
既然欧拉角有如此问题,下一篇文章将学习另一种描述三维旋转的方式——四元数
欲知后事如何,且听下回分解!─=≡Σ(((つ•̀ω•́)つ
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 数据并发安全校验处理工具类