预备知识:引入一个关键概念 如何用矩阵乘法来优雅地表示向量叉积

核心思想:用矩阵表示叉积

1. 基本定义

幻灯片中的关键公式是:

对于任意三维向量 ω和 p,存在一个矩阵 [ω],使得:

ω × p = [ω] p

  • ω × p: 这是标准的向量叉乘运算,结果是一个新向量。

  • [ω] p: 这是矩阵与向量的乘法运算。

  • 意义: 这个等式意味着,两个向量的叉积,可以等价于一个由第一个向量构造出的特定矩阵乘以第二个向量

2. 矩阵 [ω] 的构造

幻灯片给出了这个特定矩阵 [ω]的具体形式。如果 ω = [ω₁, ω₂, ω₃]ᵀ,那么:

[ω]=​0ω3​−ω2​​−ω3​0ω1​​ω2​−ω1​0​​

这个矩阵是由向量 ω的分量唯一确定的。它的构造规则非常直观:

  • 主对角线​ 上的元素全是 0

  • 其他位置​ 是 ω的各分量,并按照叉积的规则添加正负号。例如,第一行第二列是 -ω₃,对应于叉积结果中 p向量的第一个分量是 ω₂*p₃ - ω₃*p₂

3. 反对称矩阵

幻灯片特别强调了一个关键性质:[ω]是一个反对称矩阵

  • 定义: 一个矩阵 S如果满足 Sᵀ = -S,那么它就是反对称的。

  • 验证: 对上面给出的 [ω]矩阵进行转置,然后改变所有元素的符号,会发现结果等于原矩阵。这正是 [ω]ᵀ = -[ω]

  • 记号: 所有 n×n的反对称矩阵构成的集合记作 so(n)。幻灯片提到我们主要关心 n=3(三维空间)和 n=2的情况。

总结

概念

描述

意义

叉积 ω × p

两个向量的向量积

原始的、几何的运算方式。

矩阵 [ω]

由向量 ω生成的反对称矩阵

叉积的代数化、线性化表示。

等式 ω × p = [ω] p

连接两种表示的桥梁

允许我们使用强大的线性代数工具来处理叉积问题。

从一个全新的、动态的角度来回答“什么是旋转?”

它不再将旋转视为一个静态的变换,而是将其视为一个随时间演化的连续运动过程

第一部分:旋转的运动学方程

PPT从点的旋转运动入手:

  1. 初始条件: 在时间 t=0时,有一个点位于空间中的位置 p₀

  2. 运动描述: 让这个点绕着一根通过坐标原点、方向为单位向量 ˆω的轴,以单位角速度(即每秒1弧度)进行旋转。

  3. 微分方程的建立

    • 根据刚体运动学,点 p(t)的线速度 ṗ(t)等于角速度 ˆω与该点当前位置矢量 p(t)的叉积。点 p(t) 的线速度 ṗ(t) 被定义为其位置矢量 p(t) 关于时间 t 的导数,这是基于物理学对“速度”这一基本概念的定义

    • 这就得到了一个关于位置 p(t)的微分方程:

      ṗ(t) = ˆω × p(t)

    • 初始条件为:p(0) = p₀

这个方程描述了点在每一瞬间的运动趋势(速度方向垂直于旋转轴和该点当前位置构成的平面),所有瞬间的趋势连续起来,就形成了圆形的旋转轨迹。

第二部分:微分方程的求解与旋转算子

这是PPT最精彩的部分,它展示了如何求解这个方程并得到旋转的封闭形式。

  1. 线性常微分方程: 上述方程是一个线性常微分方程(ODE)。

  2. 利用叉积的矩阵形式: 回想之前的课程,叉积可以写成一个反对称矩阵乘法的形式:ˆω × p(t) = [ˆω] p(t)。其中 [ˆω]是由 ˆω构成的反对称矩阵。

  3. 方程改写: 因此,微分方程变为:

    ṗ(t) = [ˆω] p(t)

  4. 求解: 这个方程的形式与标量方程 dx/dt = ax的解 x(t) = e^(a t) x₀惊人地相似。其解为:

    p(t) = e^([ˆω] t) p₀

    • 这里的 e^([ˆω] t)矩阵指数

第三部分:旋转算子的定义

PPT接着将上述解与旋转直接联系起来:

  1. 旋转特定角度: 如果我们希望点旋转 θ弧度,那么所需的“运动时间”就是 t = θ(因为角速度为1)。

角速度(ω)​ 是指 单位时间内转过的角度

其标准定义式为:ω = Δθ / Δt

其中:

  • ω: 角速度(单位:弧度/秒,rad/s)

  • Δθ: 在时间间隔 Δt内转过的角度(单位:弧度,rad)

  • Δt: 时间间隔(单位:秒,s)

1. 幻灯片中的特殊设定

幻灯片中设定了一个非常重要的前提条件:

  • “Rotate the point with unit angular velocity ˆω”(以单位角速度旋转该点)。

这里的 “单位角速度”​ 是理解问题的核心。它意味着:

角速度的大小 ‖ˆω‖ = 1弧度/秒。

我们可以这样理解:ˆω是一个单位方向向量,它指明了旋转轴的方向。而“以单位角速度旋转”意味着这个向量的模长(大小)为 1。所以:

ω = ˆω​ 且 ‖ω‖ = 1 rad/s

2. 从定义式推导时间

根据角速度的定义:ω = Δθ / Δt

我们将已知条件代入:

  • ω = 1 rad/s

  • 我们希望转过的总角度 Δθ = θ弧度

  • 我们需要求解所需的时间 Δt = ?

代入公式:

1 = θ / Δt

解这个简单的方程,得到:

Δt = θ

3. “运动时间”的物理意义

这里的 Δt就是从初始位置(p₀)旋转到目标位置(旋转 θ弧度后)所需要的时间

因为角速度是恒定的(1 rad/s),所以:

  • 想转 1弧度,就需要 1秒。

  • 想转 π弧度(180度),就需要 π秒。

  • 想转 θ弧度,自然就需要 θ秒。

因此,在这个特定的设定下,“转过的角度”和“所用的时间”在数值上完全相等。​ 这就是 t = θ的由来

  1. 最终位置: 将 t = θ代入解中,得到旋转后点的位置:

    p(θ) = e^([ˆω] θ) p₀

  2. 旋转算子的定义: 由此,我们可以定义一个旋转算子 Rot(ˆω, θ),它表示“绕轴 ˆω旋转 θ角度”这个操作:7

    Rot(ˆω, θ) ≜ e^([ˆω] θ)

这个定义的深刻之处在于,一个有限的旋转操作,可以通过计算一个矩阵指数来得到

知识扩展与总结

步骤

内容

意义

1. 建模

建立微分方程 ṗ(t) = [ˆω] p(t)

从瞬时运动趋势描述旋转。

2. 求解

求解得 p(t) = e^([ˆω] t) p₀

将连续运动积分,得到有限时间后的结果。揭示了旋转与矩阵指数的内在联系。

3. 定义

定义旋转算子 Rot(ˆω, θ) = e^([ˆω] θ)

得到了旋转矩阵的指数表示法。

核心论点:旋转矩阵的第三种视角——算子

幻灯片开篇明义,指出了旋转矩阵(通常记为 R)除了之前两种常见作用(描述坐标系朝向、进行坐标变换)外的第三种重要角色作为一个作用在向量上的旋转算子

1. 旋转算子的定义

幻灯片给出了最核心的定义公式:

Rot(ˆω, θ) ≜ e^([ˆω]θ)

  • Rot(ˆω, θ): 这是一个旋转算子。它的功能是:将一个点(或向量)绕通过原点的、方向为 ˆω的轴旋转 θ弧度。

  • e^([ˆω]θ): 这是该算子的具体数学实现,即矩阵指数。其中 [ˆω]是由轴 ˆω生成的反对称矩阵

结论: 任何一个旋转矩阵 R都可以写成这种形式,即 R = e^([ˆω]θ)。这意味着,任何旋转操作本质上都是一个绕某根轴的旋转

2. 数学性质:指数形式与旋转矩阵的等价性

幻灯片接着阐述了一个关键事实(Fact)并给出了证明思路:

  • 事实: 任何形如 e^([ˆω]θ)的矩阵都属于 SO(3)​ 群(即特殊正交群)。

  • SO(3) 群的性质: 这正是旋转矩阵的定义:满足 R^T R = I(正交性)且 det(R) = +1(特殊,保证是纯旋转无镜像反射)。

  • 证明思路: 证明 (e^([ˆω]θ))^T e^([ˆω]θ) = I。证明过程利用了 [ˆω]是反对称矩阵([ˆω]^T = -[ˆω])的性质,以及矩阵指数运算的特性。

这从数学上保证了用指数形式定义的算子 Rot(ˆω, θ)确实是一个合法的旋转矩阵

SO(3) 群是理解和描述三维空间中刚体旋转的数学基石。这个看似抽象的数学概念,是精确描述机器人 orientation(朝向)、卫星姿态、分子结构等的核心语言

1. SO(3) 的名称解析

  • S: 特殊。代表矩阵的行列式等于 +1。这确保了变换是“纯旋转”,排除了镜像反射(镜像反射的行列式为 -1)。

  • O: 正交。代表矩阵是正交矩阵,即满足 RTR=I(其中 RT是 R 的转置,I是单位矩阵)。这意味着矩阵的逆等于其转置:R−1=RT。

  • (3): 三维。代表我们处理的是三维实空间(R3)中的变换。

SO(3) 就是所有 3x3 的特殊正交实矩阵构成的集合

2. SO(3) 的严格数学定义

一个 3x3 的矩阵 R属于 SO(3) 群,当且仅当它同时满足以下两个条件:

  1. 正交性条件: RTR=RRT=I

    • 几何意义: 正交变换保持向量长度和夹角不变。也就是说,旋转不会拉伸或压缩物体,也不会改变物体内部的角度。

  2. 特殊性条件: det(R)=+1

    • 几何意义: 行列式为 +1 保证了变换是“手性保持”的。它将一个右手坐标系变换为另一个右手坐标系,而不是变成左手坐标系(镜像反射)

3. SO(3) 为什么构成一个“群”?

在数学中,“群”是一个集合,其上定义了一种运算(称为“群乘法”),并满足以下四条公理:

  1. 封闭性: 两个旋转矩阵 R1​和 R2​相乘,结果 R3​=R1​R2​仍然是一个旋转矩阵(仍然满足正交性和特殊性)。(连续进行两次旋转,等价于一次新的旋转。)

  2. 结合律: 矩阵乘法满足结合律,即 (R1​R2​)R3​=R1​(R2​R3​)。

  3. 单位元: 存在一个单位矩阵 I,对于任何旋转矩阵 R,都有 RI=IR=R。(单位矩阵代表“不旋转”。)

  4. 逆元: 对于每个旋转矩阵 R,都存在一个逆矩阵 R−1=RT,使得 RRT=RTR=I。(逆矩阵代表“反向旋转”,可以回到初始姿态。)

因为所有满足定义的 3x3 旋转矩阵,在矩阵乘法下都满足这四条性质,所以它们构成一个群,称为特殊正交群

4. SO(3) 的几何与物理意义

a) 作为旋转操作符

这是 SO(3) 最直接的应用。一个旋转矩阵 R∈SO(3)可以作为一个操作符,作用在一个三维向量 v∈R3上,使其在空间中进行旋转:

v′=Rv

结果 v′是向量 v旋转后的新向量。

b) 作为坐标系变换描述符

在机器人学中,SO(3) 矩阵更常被用来描述一个坐标系相对于另一个坐标系的朝向

  • 矩阵 B^A​_R∈SO(3)描述了坐标系 {B}相对于坐标系 {A}的旋转。

  • 它的每一列,就是 {B}系的三个坐标轴单位向量在 {A}系中的坐标值。

c) 作为刚体姿态的一半

一个刚体在三维空间中的完整位姿(Pose)由其位置(3个自由度)和朝向(3个自由度)共同描述。

  • SO(3)​ 完美地描述了朝向(3个自由度)。

  • 位置可以由一个平移向量 p∈R3描述。

  • 将两者结合(旋转和平移),就得到了描述完整位姿的 SE(3) 群(特殊欧几里得群)

5. SO(3) 的参数化(如何表示一个旋转?)

虽然 SO(3) 本身是一个矩阵集合,但在计算中我们需要用更少的参数来表示一个旋转。常见的参数化方法有:

  1. 旋转矩阵: 9个参数(但有6个约束,实际自由度是3个)。最直接,但冗余。

  2. 欧拉角(例如:滚转-俯仰-偏航, Roll-Pitch-Yaw): 3个参数。直观,但存在“万向节死锁”问题。

  3. 轴-角表示 / 旋转向量: 一个单位向量(表示旋转轴,2个自由度)和一个角度(表示旋转量,1个自由度)。共3个参数。

  4. 四元数: 4个参数(有一个约束,实际自由度是3个)。计算高效,避免了奇异性,是计算机图形学和机器人学中最常用的表示方法之一。

3. 与前两种观点的对比

幻灯片特别强调了算子观点与之前两种观点的不同:

  1. 描述坐标系朝向: 旋转矩阵 ᴬR_B描述的是坐标系 {B}相对于 {A}的朝向。

  2. 坐标变换: 旋转矩阵 ᴬR_B用于将点或向量在 {B}系下的坐标变换到 {A}系下:ᴬp = ᴬR_B ᴮp

  3. 旋转算子(本幻灯片观点): 旋转矩阵 R直接作用在一个向量上,使其在同一个坐标系内发生旋转。公式为 p' = R p。其中 p和 p'都是在同一个坐标系下表示的。

4. 重要注意事项:参考系的统一

幻灯片最后一点是关键提醒:当使用旋转算子时,所有向量和矩阵必须在同一个参考系下表示

  • 例如,在公式 p' = R p中,原始点 p、旋转后的点 p‘以及旋转矩阵 R,它们的坐标值都必须是相对于同一个坐标系而言的。

  • 如果参考系不统一,运算将没有意义

不同坐标系下旋转算子的转换

同一个物理的旋转操作,在不同参考系下观察或描述时,其数学表示(即旋转矩阵)是不同的。

好的,我们根据这张标题为 “Rotation Operator in Different Frames (1/2)”​ 的幻灯片,来详细解释其核心内容。这张幻灯片深入探讨了旋转算子在不同参考系下的表示及其关系,这是机器人学中一个非常关键且实用的概念。


核心问题:参考系的重要性

幻灯片的核心思想是:同一个物理的旋转操作,在不同参考系下观察或描述时,其数学表示(即旋转矩阵)是不同的。

这引出了一个关键问题:这些不同的表示之间有什么关系?以及如何在不同参考系之间进行转换?


1. 旋转算子的两种视角

幻灯片首先区分了在两种不同参考系下定义旋转算子的方法:

  • 在固定参考系(例如世界系 {A})中

    旋转算子 Rot(ˆω, θ)直接作用在一个向量上,表示为 p' = Rot(ˆω, θ) p。这意味着在固定坐标系​ {A}下,将向量 p绕一根在 {A}系中方向为 ˆω的轴旋转 θ角度,得到新向量 p‘

  • 在物体固连参考系(例如刚体系 {B})中

    旋转算子 Rot(ˆβ, θ)表示绕一个在物体自身坐标系​ {B}中方向为 ˆβ的轴旋转 θ角度。

关键点: 即使 ˆω和 ˆβ在各自坐标系中的坐标值相同(例如都是 [0, 0, 1]^T),由于坐标系 {A}和 {B}的朝向不同,这两根轴在空间中的实际方向是完全不同的。因此,Rot(ˆω, θ)和 Rot(ˆβ, θ)是两个完全不同的旋转操作

2. 不同参考系下旋转算子之间的关系(核心公式)

幻灯片给出了连接不同参考系下旋转算子的核心公式。这是一个极其重要的结论:

如果一根旋转轴在 {B}系中的坐标为 ˆβ,而在 {A}系中的坐标为 ˆω,并且两个坐标系之间的旋转矩阵为 ᴬR_B,那么有如下关系:

Rot(ˆω, θ) = ᴬR_B Rot(ˆβ, θ) ᴬR_B^T

以及其逆关系:

Rot(ˆβ, θ) = ᴬR_B^T Rot(ˆω, θ) ᴬR_B

公式解读

这个公式的物理意义非常深刻:

  1. Rot(ˆβ, θ): 这是在物体自身坐标系 {B}中描述的旋转。可以理解为“命令”刚体绕其自身的 ˆβ轴旋转 θ

  2. ᴬR_B^T: 这是从 {A}系到 {B}系的旋转矩阵(ᴬR_B的逆)。它起到一个“视角转换”的作用。ᴬR_B^T将向量从固定系 {A}转换到物体系 {B},以便刚体能够“理解”这个在固定系中描述的旋转轴 ˆω

  3. Rot(ˆω, θ): 这是在固定坐标系 {A}中描述的旋转。

  4. ᴬR_B: 这是从 {B}系回到 {A}系的旋转矩阵。它将旋转后的结果重新转换回固定系 {A}中进行观察。

因此,整个公式 Rot(ˆω, θ) = ᴬR_B Rot(ˆβ, θ) ᴬR_B^T描述了一个“夹心饼干”式的变换过程

  • 步骤1(ᴬR_B^T: 将固定系 {A}中的指令(绕 ˆω轴旋转)“翻译”成刚体坐标系 {B}能理解的指令(相当于找出 ˆω轴在 {B}系中的方向 ˆβ)。

  • 步骤2(Rot(ˆβ, θ): 刚体在自身坐标系​ {B}下执行旋转操作。

  • 步骤3(ᴬR_B: 将旋转后的结果(在 {B}系中表示)“翻译”回固定系 {A}中。

这个过程保证了最终在固定系 {A}中观察到的刚体旋转效果,与直接命令刚体绕固定轴 ˆω旋转的效果是完全相同的。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐