主旋参数定义

欧拉角是非常好的构建模块,非常有用,也是一个基础性的东西。但对于一般的航天器三维运动,我通常不会使用欧拉角。

我可能会在一些子部件或者局部问题中使用它们,在某些地方它们确实非常有用。但对于整体的三维翻滚运动(3D tumble),欧拉角并不好用,因为我们永远不会离奇异点超过 90°。

现在我们要引入主旋转向量(Principal Rotation Vector)。在航天领域我们通常这么称呼它。

严格来说,还有一个叫**主旋转参数(Principal Rotation Parameters)**的概念:

一个是三维参数集

一个是四维参数集

它们之间的关系非常非常密切。

如果你做机器人方向的研究,你可能会看到 Sandia 那边称之为 Rodriguez 参数。这就很容易让人困惑,因为在我们这儿也有另一种完全不同的 Rodriguez 参数。所以当你阅读不同论文、不同领域的文献时,一定要看数学定义本身。

数学会精确地告诉你这些坐标到底是什么------名字只是标签而已。

这些概念非常重要,我们之后会反复使用。

而这一切,都源自 Euler(欧拉)。

欧拉是一位"时间多到用不完"的数学家(笑)。

你能想到哪个科学领域没有一个"欧拉定理"吗?

数学、航天、核物理......每个领域都有自己的欧拉定理。

"我说的是这个。"

"不,我说的是那个。"

他真的是个令人惊叹的数学家。

这里我们用的是欧拉主旋转定理(Euler's Principal Rotation Theorem)。

一个刚体的参考坐标系,可以通过绕某一主轴 𝑒^

旋转一个主旋转角 𝜙,

从任意初始姿态变换到任意最终姿态。

这个主轴在初始和最终姿态中都是固定的。

听起来是不是非常拗口?

到底什么意思?

接下来我们会花时间把它拆开讲清楚,因为后面所有姿态参数化方法,都是在利用这个定理的细节。

如果你真正理解了这个定理,接下来三节课会非常顺;否则你会一直觉得"这公式哪来的?"

本质上,它说的是:

从任意姿态到任意姿态都是可达的

而且没有奇异性阻碍路径本身

当然数学家不会这么直白地说(笑)。

第二个关键点是:

"通过一次刚体旋转"

相比之下,欧拉角是通过三次顺序旋转实现的:

比如 yaw → pitch → roll。

你可以构造一些非常大的角度组合,最后姿态变化却很小。我们已经见过这样的例子:

两个很大的角度,最后差别却很小。

而主旋转表示不同:

从任意姿态到任意姿态,只需要一个角度 Φ

你只需要:

一个旋转轴 𝑒^

一个旋转角 Φ

与欧拉角只能绕基轴(1、2、3轴)旋转不同,这里允许你绕任意单位方向向量旋转。

第三个看起来有点奇怪的表述是:

主轴在初始和最终姿态中都是固定的

意思是:

这个向量在惯性系和本体系中分量完全相同。

它在两个坐标系里"看起来一样"。

从几何上你大概能想象出来,但我们后面会系统推导它的数学含义。

如果用欧拉角:

这立刻体现了一个优势:

如果有人告诉我:

"b 系和 n 系之间的姿态差是 80°"

我立刻知道:

👉 这差得很远,是个严重的控制问题

但如果给我三个欧拉角,我根本无法直觉判断"近不近",尤其是大角度时,必须算等效旋转角。

所以主旋转表示在姿态误差表达上非常直观。


笔记






相关推荐
Juicedata5 小时前
JuiceFS 企业版 5.3 特性详解:单文件系统支持超 5,000 亿文件,首次引入 RDMA
大数据·人工智能·机器学习·性能优化·开源
只是懒得想了6 小时前
C++实现密码破解工具:从MD5暴力破解到现代哈希安全实践
c++·算法·安全·哈希算法
码农水水6 小时前
得物Java面试被问:消息队列的死信队列和重试机制
java·开发语言·jvm·数据结构·机器学习·面试·职场和发展
小白狮ww6 小时前
Ovis-Image:卓越的图像生成模型
人工智能·深度学习·目标检测·机器学习·cpu·gpu·视觉分割模型
m0_736919106 小时前
模板编译期图算法
开发语言·c++·算法
dyyx1116 小时前
基于C++的操作系统开发
开发语言·c++·算法
m0_736919106 小时前
C++安全编程指南
开发语言·c++·算法
蜡笔小马6 小时前
11.空间索引的艺术:Boost.Geometry R树实战解析
算法·r-tree
-Try hard-6 小时前
数据结构:链表常见的操作方法!!
数据结构·算法·链表·vim
2301_790300967 小时前
C++符号混淆技术
开发语言·c++·算法