跳转至

10_光滑流形一般理论

专题1:光滑流形的一般理论

底线先行:光滑流形是描述机器人构型空间(SO(3)、SE(3)、关节空间 \(T^n\))的统一数学语言。本专题要求你在一般流形上严格定义切空间、切映射、向量场与微分形式,为后续李群(专题3)和Retraction理论(专题2)铺设地基。没有这一步,你无法理解"为什么欧拉角会有万向锁"——因为 SO(3) 上不存在全局坐标卡。

预计阅读时间

阅读方式 时间 适合谁
精读(含练习与证明手推) 10–14 小时 需要完整掌握切空间三种定义等价性的读者
速读(跳过证明细节) 4–5 小时 已有拓扑基础、只需建立流形直觉的读者
速查(只看表格和定理清单) 30–45 分钟 遇到具体概念(如秩定理、Frobenius 定理)时回来查

前置自测

📋 前置自测(答不出 >= 2 题 → 先回本科线性代数与拓扑基础复习)

  1. 什么是同胚?它与微分同胚有什么区别?
  2. \(\mathbb{R}^n\) 中,方向导数 \(D_v f(p)\) 的定义是什么?它与梯度有什么关系?
  3. 为什么两个合法旋转矩阵 \(R_1, R_2 \in SO(3)\) 的算术平均 \((R_1+R_2)/2\) 通常不是合法旋转矩阵?
  4. 你能说出 Jacobian 矩阵在几何上代表什么吗?(提示:不只是"偏导数组成的矩阵")
  5. 解释为什么关节角 \(q\)\(q + 2\pi\) 在旋转关节上表示同一构型,以及这给数值计算带来什么麻烦。

一、为什么光滑流形是博士第一步 ⭐

机械臂的 \(n\) 个旋转关节构成的构型空间是 \(n\) 维环面 \(T^n\),自由刚体的位姿空间是李群 SE(3),视觉定位中的子空间估计涉及 Grassmann 流形——这些对象都**不是**欧氏空间,却都是光滑流形。一般流形理论提供了三件事:(1) 在弯曲空间上做微积分的严格框架;(2) 切空间→流形映射(Retraction)的数学基础;(3) 李群理论的底层语言。先掌握一般流形,再将其特殊化到李群,是最高效的学习路径。


二、核心章节清单(档位3必学) ⭐

下表列出八个核心模块,每个模块标注 Lee 与 Tu 的对应章节,以及预估学时。

模块 核心内容 Lee 章节 Tu 章节 学时
拓扑流形与光滑结构 局部欧氏、Hausdorff、二可数;光滑图册与转换函数;极大光滑结构 Ch.1 §5–6 5h
切空间的三种等价定义 几何定义(曲线等价类)、代数定义(余切空间 \(\mathfrak{m}_p/\mathfrak{m}_p^2\) 的对偶)、导子定义(最常用,通向李代数);三者等价性 Ch.3 §8–9 8h
切丛、余切丛、向量丛 切丛 \(TM\) 的光滑结构;余切丛 \(T^*M\);一般向量丛定义与局部平凡化 Ch.10–11 §10–11 6h
光滑映射 光滑映射定义;Pushforward(切映射 \(dF\))与 Pullback \(F^*\);微分同胚 Ch.2, 4 §7 5h
秩定理家族 反函数定理、隐函数定理、Rank theorem;浸入/淹没/嵌入的定义与判别 Ch.4 §11 6h
子流形 Regular vs. immersed submanifold;嵌入子流形;水平集作为子流形(Preimage theorem) Ch.5 §9, 11 4h
向量场与流 向量场作为 \(TM\) 的光滑截面;积分曲线与流;Lie bracket;Lie 导数入门 Ch.8–9 §14–16 8h
微分形式 1-形式(对偶于向量场);外代数 \(\Lambda^k(T^*M)\);外微分 \(d\);形式的拉回 Ch.14 §17–19 8h

总计约 50 小时(含习题),符合档位3的 40–60 小时预算。

关于切空间的三种定义:导子定义(将切向量视为满足 Leibniz 律的线性算子)是后续通向李代数的关键路径;几何定义提供直觉;代数定义在证明中有技术优势。理解三者等价是本专题最重要的概念跨越。


三、进阶章节清单(档位4选学,额外 20–30h) ⭐⭐⭐⭐

进阶模块 内容 Lee 章节 应用场景
纤维丛一般理论 向量丛/主丛的结构群、associated bundle Ch.10 + 补充 机器人上的标架丛
联络理论 Ehresmann connection、协变导数 Lee Riemannian Manifolds Ch.4 平行移动、曲率
de Rham 上同调 闭形式/恰当形式、Mayer-Vietoris 序列 Ch.17–18 拓扑不变量
辛流形与辛形式 Hamiltonian 向量场、Darboux 定理 Ch.22 Hamilton 力学、最优控制
Riemann 几何衔接 度量张量、Levi-Civita 联络、测地线 Ch.13 + do Carmo Ch.1–3 流形上的最优化

四、核心教材深度对照 ⭐

Lee《Introduction to Smooth Manifolds》(2nd ed., GTM 218)

Goodreads 4.44/5(149 评分),被社区称为"光滑流形百科全书"。全书 22 章、708 页,覆盖从基础定义到辛流形的完整光谱。档位3 对应 Ch.1–6, 8–11, 14;档位4 追加 Ch.17–19, 22优点:动机充分、例子极丰富、插图 157 幅、习题约 300 道;Reddit 社区一致认为是"最适合自学的研究生流形教材"。缺点:篇幅庞大,初学者容易迷失主线。Amazon 评价:"Prof. Lee has written the definitive modern introduction to manifolds."无官方习题解答,但网上有 Samuel P. Fisher 等人的非官方解答集。前置要求:拓扑学基础(覆盖空间级别)、实分析(含反函数定理)、线性代数。

Tu《An Introduction to Manifolds》(2nd ed., UTX)

Goodreads 4.57/5,豆瓣 9.2/10——社区公认的"流形第一本书"。约 400 页、29 节,Part I 从欧氏空间中的微积分复习出发,降低了进入门槛。最大优势:书内含部分习题解答与提示,对自学者极为友好。知乎高赞评价:"读这本书不需要什么太多的数学基础";Amazon 评价:"This book should be required reading for anyone entering graduate level physics."缺点:覆盖面窄于 Lee,习题偏简单。推荐用法:作为 Lee 之前的快速入门(约 2–3 周读完),然后以 Lee 为主参考。

do Carmo《Riemannian Geometry》

Goodreads 约 4.1/5。Chapter 0(约 20 页)对流形做了极简回顾,不能替代 Lee/Tu 作为流形入门。Ch.1–4 覆盖 Riemann 度量、联络、测地线、曲率,是档位4 衔接 Riemann 几何的标准起点。风格精炼但偏简略,适合已有流形基础的读者。Amazon 评价:"Not for the absolute beginner… you should already be familiar with basic smooth manifold theory."

Milnor《Topology from the Differentiable Viewpoint》

Goodreads 4.52/5,仅 64 页。Milnor 以嵌入在欧氏空间中的流形为起点,用极简篇幅讲透 Sard 定理、Brouwer 不动点定理和映射度理论。不覆盖**切丛、微分形式、向量场等核心内容,因此不能作为主教材。**推荐用法:在学完 Lee Ch.1–6 后作为思想性补充阅读,体会大师如何用最少工具得到深刻结果。Goodreads 评价:"Truly masterful. Restores your faith in mathematics."

维度 Lee Tu do Carmo Milnor
篇幅 708 页 400 页 300 页 64 页
难度 研究生 本科高年级/研一 研究生 研究生
自学友好度 ★★★★★ ★★★★★ ★★★☆ ★★★★
含习题解答 无官方 书内含
覆盖本专题 完整 核心部分 仅 Ch.0 部分
最佳角色 主教材+参考 快速入门 档位4衔接 思想补充

五、核心定理清单(档位3必须掌握) ⭐⭐

定理 核心陈述 机器人关联
反函数定理(流形版) 光滑映射在微分同构点处局部是微分同胚 正运动学局部可逆性的理论基础
Regular Value Theorem 正则值的原像是光滑子流形 SO(3) = {\(R: R^TR = I\)} 作为 \(\mathbb{R}^{9}\) 中的子流形
Rank Theorem 常秩光滑映射局部形式为线性投影 分析运动学映射的秩(奇异构型判别)
Sard 定理 光滑映射的临界值集测度为零 保证"几乎所有"构型是正则的
Whitney 嵌入定理(弱版) 任何 second-countable Hausdorff \(m\)-流形可光滑嵌入 \(\mathbb{R}^{2m+1}\)(紧致情形的证明更简单) 抽象构型空间可具体化为欧氏子集
Frobenius 可积性定理 光滑分布完全可积 ⇔ 对合(Lie bracket 封闭) 非完整约束(如轮式机器人)的可达性分析
Stokes 定理(微分形式版) \(\int_M d\omega = \int_{\partial M} \omega\) 力与力矩的全局积分关系

档位4 额外关注:Poincaré 引理(闭形式局部恰当)、de Rham 定理(上同调与奇异上同调同构)。


六、与后续批次/专题的桥梁 ⭐

  • → 专题3(李群):李群 = 光滑流形 + 群运算光滑。本专题的切空间、向量场、Lie bracket 直接成为李代数的定义工具。
  • → 专题2(Retraction):Retraction \(R_x: T_xM \to M\) 是切空间→流形的光滑映射,依赖本专题的切丛结构。
  • → 第四批(刚体动力学):构型空间 \(Q\) 是流形,Lagrange 力学在 \(TQ\) 上建立,Hamilton 力学在 \(T^*Q\) 上建立。
  • → 第五批(SLAM):Pose 流形 SE(3)\(^n\) 上的协方差建模需要切空间上的概率论。

七、机器人概念预告 ⭐

本专题的抽象概念将在后续批次具体化为以下机器人对象:

数学概念 机器人实例化 出现批次
光滑流形 构型空间 C-space(运动规划) 第四批
切空间 机器人速度空间(广义速度) 第四批
李群/李代数 SO(3)、SE(3)(姿态与位姿) 专题3
环面 \(T^n\) \(n\)-关节机械臂的关节空间 第四批
Grassmann 流形 子空间估计(视觉定位) 第五批
Stiefel 流形 正交基优化(部分 SLAM 问题) 第五批
Retraction 切空间到流形的映射(流形优化) 专题2

八、推荐学习资源 ⭐

免费在线资源
  • MIT OCW 18.965 Geometry of Manifolds(Mrowka 授课):含完整讲义 PDF 与 6 套习题,覆盖流形定义到 Whitney 嵌入,无视频。
  • NPTEL "An Introduction to Smooth Manifolds"(IISc Seshadri 授课):68 讲完整视频,从线性代数复习到 Stokes 定理,YouTube 免费,是目前最系统的英文视频课。
  • Terry Tao 博文PCM article: Differential forms(微分形式综述)、285G Lecture 0: Riemannian manifolds and curvature(流形速览)。
  • nLab "smooth manifold"词条:范畴论视角,适合档位4拓展阅读。
  • Milnor 全文 PDF:芝加哥大学 REU 页面免费下载(64 页)。
  • Tu 全文 PDF:多伦多大学页面免费获取。
YouTube 频道
  • NPTEL IISc(上述 68 讲,首选)
  • WHYBmaths:数学物理频道,有流形与张量系列笔记(GitHub 配套)
  • Michael Penn:微分形式专题视频,风格简洁
  • 3Blue1Brown:无专门流形系列,但其线性代数本质(Essence of Linear Algebra)为理解切空间提供极佳直觉
中文资源
  • USTC 王作勤讲义(staff.ustc.edu.cn/~wangzuoq):完整 16+ 讲 PDF,质量极高,以 Lee 和 Tu 为蓝本,免费下载。
  • B 站 · 梁灿彬《微分几何入门与广义相对论》:118 集 1080p,物理视角,适合建立直觉。
  • B 站 · 南京大学流形与几何:70 集,配合梅加强教材。
  • 知乎专栏:搜索"光滑流形初步"或"Tu An Introduction to Manifolds 使用攻略",有详细读书笔记。
  • 中文教材:梅加强《流形与几何初步》(2025 第二版,知乎口碑极佳);梁灿彬三卷本(物理导向);伍鸿熙《黎曼几何初步》(档位4衔接用)。**不推荐**初学者使用陈维桓《微分流形初步》(知乎评价"资料和公式的堆叠")。

九、学习时间与节奏 ⭐

档位 总学时 建议节奏 核心产出
档位3 40–60 小时 每天 2–3h,3–4 周 能推导切空间等价性、秩定理家族、Stokes 定理
档位4 额外 20–30 小时 再加 1.5–2 周 能处理 de Rham 上同调、联络理论、辛几何入门

推荐路径:Tu 全书速读(8–10 天)→ Lee Ch.1–6, 8–11, 14 精读+习题(15–20 天)→ Milnor 通读(2 天)→ 自测。


十、自测题目(5 题,覆盖核心模块) ⭐⭐

  1. 切空间结构:证明 \(T_pM\) 在导子定义下构成与 \(\dim M\) 相同维度的向量空间。(Lee Ch.3 核心结果)
  2. 图册构造:在球面 \(S^2\) 上用球极投影构造包含两个坐标卡的光滑图册,并验证转换函数是光滑的。
  3. Regular Value Theorem 应用:计算 SO(3) 在单位元 \(I\) 处的切空间 \(T_I\text{SO}(3)\),证明它是 \(3\times3\) 反对称矩阵空间 \(\mathfrak{so}(3)\)。(提示:将 SO(3) 视为映射 \(F(A) = A^TA\)\(I\) 处的正则水平集。)
  4. 子流形判定:验证 \(f(x,y,z) = x^2 + y^2 - z^2\) 的水平集 \(f^{-1}(1)\)(单叶双曲面)是 \(\mathbb{R}^3\) 的嵌入子流形。
  5. 向量场与积分曲线:在 \(\mathbb{R}^2\) 上定义向量场 \(V = -y\,\partial_x + x\,\partial_y\),求其积分曲线并解释其几何意义。

标准:档位3 要求能完整写出题 1–4 的证明;档位4 要求能独立处理类似 Frobenius 定理或 de Rham 上同调的习题。


十一、常见陷阱 ⭐

把切向量理解为嵌入空间中的"箭头"——这是最致命的错误。切向量是内蕴定义的导子或曲线等价类,不依赖嵌入。一旦养成"箭头"习惯,到 Grassmann 流形等无自然嵌入的空间时就会崩溃。混淆切丛与向量场——切丛 \(TM\) 是流形(\(2n\) 维),向量场是 \(TM\) 的一个截面(光滑映射 \(X: M \to TM\))。跳过习题直接读下一章——Tu 习题偏简单恰好适合建立信心,Lee 习题则真正测试理解深度,两者都不可跳过。死抠定义而不看例子——每学一个定义,立刻在 \(S^2\)\(\mathbb{RP}^n\)、SO(3) 上验证,否则定义永远是空壳。忽略代数前置——外代数 \(\Lambda^k V^*\) 的多线性代数基础若不扎实,微分形式一章会寸步难行,建议提前复习 Lee 附录 B 或 Tu Part I。


十二、从欧氏直觉走向光滑流形 ⭐

这一节把前面的资源清单转化为真正的学习主线。

如果只看教材目录,光滑流形像是一串抽象定义:

拓扑流形
光滑图册
切空间
切映射
向量场
微分形式
子流形

但在机器人里,它们不是孤立概念。

它们共同回答一个问题:

当状态空间不是 R^n 时,怎样继续做微积分、优化、估计和控制?

这个问题在三类机器人任务中反复出现:

任务 状态空间 不能直接用欧氏公式的原因
姿态估计 \(SO(3)\) 旋转矩阵有正交约束,欧拉角有奇异点
位姿图优化 \(SE(3)^N\) 位姿复合是群乘法,不是向量加法
机械臂规划 \(T^n\) 或带约束构型空间 旋转关节具有周期性,闭链约束形成子流形
视觉子空间估计 Grassmann 流形 子空间没有唯一基表示
接触动力学 约束流形 接触约束把自由空间切成低维可行集合

12.1 前置自测 ⭐

在正式进入定义前,先判断自己是否真的需要本章。

  1. 你能解释为什么两个合法旋转矩阵的算术平均通常不是合法旋转吗?
  2. 你能说清楚欧拉角万向锁不是数值误差,而是坐标图失效吗?
  3. 你能区分"一个点附近像 \(\mathbb{R}^n\)"与"全局就是 \(\mathbb{R}^n\)"吗?
  4. 你能解释为什么关节角 \(q\)\(q+2\pi\) 在旋转关节上表示同一个构型吗?
  5. 你能说明优化增量为什么在切空间里,而真实状态为什么在流形上吗?

如果这些问题还不能自然回答,本章就是必要的。

12.2 本章知识地图 ⭐

下面这张图给出本章的因果关系。

机器人状态不是普通向量
        |
        v
需要局部坐标描述弯曲空间
        |
        v
拓扑流形:局部像 R^n
        |
        v
光滑结构:坐标切换可微
        |
        v
切空间:在点附近做一阶近似
        |
        v
切映射:把一个空间的速度推到另一个空间
        |
        v
向量场:每个点指定一个速度
        |
        v
积分曲线:速度场产生运动轨迹
        |
        v
子流形:约束方程定义可行状态集合
        |
        v
Retraction / 李群 / 滤波 / 优化

这条链条的核心不是记定义,而是看清楚每个定义解决的困难。


十三、动机:为什么 \(\mathbb{R}^n\) 不够用 ⭐

13.1 欧氏空间的便利性 ⭐

本科线性代数默认状态空间是 \(\mathbb{R}^n\)

\(\mathbb{R}^n\) 中,以下操作都很自然:

操作 公式 隐含前提
两点相减 \(x_2-x_1\) 点的差仍然是向量
点加增量 \(x+\delta x\) 加完后仍在空间内
速度定义 \(\dot{x}=\lim_{\Delta t\to0}(x(t+\Delta t)-x(t))/\Delta t\) 两个点能直接相减
梯度下降 \(x_{k+1}=x_k-\alpha\nabla f(x_k)\) 更新点仍然合法
高斯建模 \(x=\bar{x}+\epsilon\) 噪声能直接加到状态上

这些公式之所以成立,不是因为它们"普遍正确",而是因为 \(\mathbb{R}^n\) 同时具有两种结构:

  1. 它是点的集合。
  2. 它也是向量空间。

也就是说,欧氏空间偷偷把"位置"和"位移"放在了同一个集合里。

机器人状态空间通常没有这个便利。

13.2 第一个失败案例:单位圆 ⭐

考虑一个平面移动机器人只关心朝向角。

朝向可以写成单位圆上的点:

\[ S^1=\{(x,y)\in\mathbb{R}^2\mid x^2+y^2=1\} \]

取两个合法朝向:

\[ p_1=(1,0),\qquad p_2=(0,1) \]

直接相加得到:

\[ p_1+p_2=(1,1) \]

\((1,1)\) 不在单位圆上,因为:

\[ \|(1,1)\|=\sqrt{2}\neq 1 \]

如果做梯度下降:

\[ p_{k+1}=p_k-\alpha\nabla f(p_k) \]

新的 \(p_{k+1}\) 也通常不再满足单位长度约束。

这不是调小步长就能根治的问题。

只要更新公式使用普通加法,就没有任何机制保证结果仍在圆上。

因此需要新的模式:

状态点仍然在 S^1 上;
小增量放在该点的切线中;
更新后通过某种映射回到 S^1。

这正是流形优化与 Retraction 的基本思想。

13.3 第二个失败案例:旋转矩阵 ⭐

三维姿态是 \(SO(3)\)

\[ SO(3)=\{R\in\mathbb{R}^{3\times 3}\mid R^\top R=I,\det R=1\} \]

这个集合嵌在 \(\mathbb{R}^9\) 中。

但它不是 \(\mathbb{R}^9\) 的线性子空间。

如果 \(R_1,R_2\in SO(3)\),一般有:

\[ \frac{R_1+R_2}{2}\notin SO(3) \]

原因是正交约束是非线性的:

\[ \left(\frac{R_1+R_2}{2}\right)^\top \left(\frac{R_1+R_2}{2}\right) = \frac{1}{4}(2I+R_1^\top R_2+R_2^\top R_1) \]

除非 \(R_1^\top R_2+R_2^\top R_1=2I\),否则结果不是单位矩阵。

这说明一个关键事实:

本质洞察:旋转空间的问题不是"参数选得不好",而是空间本身不是线性空间。参数化可以隐藏问题,但不能消灭问题。

欧拉角把 \(SO(3)\) 局部写成三个角。

四元数把 \(SO(3)\) 提升到 \(S^3\) 的单位球面。

旋转向量把局部扰动放在 \(\mathbb{R}^3\)

这些只是不同坐标图。

坐标图可以方便计算,但不能改变 \(SO(3)\) 的全局几何。

13.4 第三个失败案例:关节空间的周期性 ⭐

一个旋转关节的角度 \(q\) 满足:

\[ q \sim q+2\pi \]

如果机械臂有 \(n\) 个旋转关节,理想化构型空间不是 \(\mathbb{R}^n\),而是:

\[ T^n=S^1\times S^1\times\cdots\times S^1 \]

这叫 \(n\) 维环面。

在代码里我们常用 double q[n] 存关节角。

这是一种局部表示,不是全局事实。

如果忽略周期性,会产生典型错误:

场景 错误做法 后果
插值 \(179^\circ\) 插到 \(-179^\circ\) 走直线 走了 \(358^\circ\) 长路径
误差 \(e=q_d-q\) 在 wrap 边界附近误差突跳
优化 不处理角度等价类 代价函数出现人造不连续
统计 直接算角度平均 \(179^\circ\)\(-179^\circ\) 平均成 \(0^\circ\)

这些问题说明:

数组表示只是坐标;
真实构型空间由等价关系和约束决定。

这就是流形语言的价值。

🧠 思维陷阱:认为流形只是"带约束的欧氏空间"

初学者容易把流形理解为"\(\mathbb{R}^n\) 加上一些等式约束"。这在 \(SO(3) \subset \mathbb{R}^{3\times3}\) 等嵌入子流形中看似成立,但实际上流形定义是内蕴的(不依赖嵌入)。Grassmann 流形、射影空间等在很多应用中并没有自然嵌入。用约束视角理解流形只是一种方便的计算技巧,不是概念本质。真正的思维转变是:流形是独立的数学对象,它的性质由自身的坐标图决定,不是由外部空间赋予的。


十四、拓扑流形:局部像欧氏空间 ⭐

14.1 为什么第一步不是"可微" ⭐

很多人学习流形时会疑惑:

既然机器人最终要做微积分,为什么先讲拓扑?

原因是可微性必须先有"附近"的概念。

连续、极限、邻域、开集,这些都是拓扑概念。

\(\mathbb{R}^n\) 中,我们靠距离定义邻域:

\[ B_\epsilon(x)=\{y\mid \|y-x\|<\epsilon\} \]

但一般流形未必天然带距离。

因此先用拓扑结构告诉我们:

哪些点彼此靠近;
哪些集合是局部区域;
哪些映射保持邻近关系。

14.2 拓扑流形的三个条件 ⭐

一个 \(n\) 维拓扑流形 \(M\) 通常要求满足:

  1. Hausdorff。
  2. 二可数。
  3. 局部欧氏。

这三个条件都不是装饰。

它们分别排除不同病态情况。

条件 直觉 如果没有会怎样
Hausdorff 任意两点能用不相交邻域分开 极限不唯一,轨迹收敛概念崩坏
二可数 有可数拓扑基 允许分割单位、积分、分析工具正常工作
局部欧氏 每点附近像 \(\mathbb{R}^n\) 无法定义局部坐标和维数

机器人中我们很少显式检查 Hausdorff 和二可数。

但它们保证后续分析不会遇到反直觉病态空间。

坐标图的概念可以类比地图册:一本世界地图册的每一页(坐标图)覆盖一小块区域,每页上你可以用经纬度(坐标)唯一定位任何一点。两页有重叠时,同一个城市在两页上有不同的坐标,但城市本身是同一个。坐标转换函数就是"根据第一页的坐标算出第二页坐标"的公式。但与纸质地图册不同的是,流形的坐标转换要求是光滑的,而不只是连续的——因为我们后续要做微积分。

14.3 坐标图是什么 ⭐

坐标图是一对:

\[ (U,\varphi) \]

其中 \(U\subset M\) 是开集,\(\varphi:U\to \varphi(U)\subset\mathbb{R}^n\) 是同胚。

这句话的含义是:

在 U 这块局部区域内,
可以用 n 个实数给每个点编号,
并且这种编号不撕裂、不粘连。

以单位圆为例。

去掉北极点后,可以用角度或投影坐标描述剩余部分。

但一个坐标图无法覆盖整个圆而保持一一对应和连续逆。

这就是为什么 \(S^1\) 不是一条直线。

💡 概念误区:认为"局部像 \(\mathbb{R}^n\)"意味着"可以用 \(\mathbb{R}^n\) 的公式全局使用"

"局部像"只保证每个小邻域内可以借用欧氏工具。全局性质(如周期性、不可定向性、不可缩性)完全不由局部坐标决定。例如 \(S^1\) 的每一小段都像 \(\mathbb{R}\),但 \(S^1\) 是紧致的而 \(\mathbb{R}\) 不是。在代码中直接用 double theta 表示圆上的角度,就是把局部坐标当全局使用的典型后果。

14.4 多张坐标图为什么必须兼容 ⭐⭐

单张坐标图只描述局部。

如果两张图 \((U,\varphi)\)\((V,\psi)\) 有重叠区域 \(U\cap V\),同一个点 \(p\) 会有两套坐标:

\[ x=\varphi(p),\qquad y=\psi(p) \]

坐标之间的转换是:

\[ \psi\circ\varphi^{-1}:\varphi(U\cap V)\to \psi(U\cap V) \]

拓扑流形只要求这个转换是同胚。

光滑流形会进一步要求它是光滑映射。

这个转换函数就是流形理论的关键。

它告诉我们:

局部公式是否真的描述了同一个全局对象。

如果转换函数不光滑,那么在一张图里光滑的曲线,换图后可能不可微。

那就无法建立坐标无关的微积分。

如果不要求坐标转换光滑会怎样? 假设我们只要求拓扑流形(转换是连续的)而不加光滑条件,那么"\(f\) 是否可微"会变成依赖坐标图的判断——同一个函数在一张图下可微,换一张图可能不可微。这意味着 Jacobian、梯度、Taylor 展开等核心工具全部丧失坐标无关性,所有依赖微分的机器人算法(IK、滤波、优化)都会变得模糊不清。光滑结构的本质就是消除这种人为歧义。


十五、光滑结构:让微积分不依赖坐标图 ⭐⭐

15.1 光滑图册 ⭐⭐

光滑图册是一组坐标图:

\[ \mathcal{A}=\{(U_\alpha,\varphi_\alpha)\} \]

满足:

  1. 所有 \(U_\alpha\) 覆盖整个 \(M\)
  2. 任意两张图的坐标转换都是 \(C^\infty\)

也就是:

\[ \varphi_\beta\circ\varphi_\alpha^{-1} \]

在定义域内是光滑的。

这保证了一个概念:

若一个对象在一张坐标图下光滑,
那么换到兼容坐标图下仍然光滑。

15.2 为什么要极大图册 ⭐⭐⭐

教材会引入极大光滑图册。

它包含所有与原图册兼容的坐标图。

初学者常觉得这是纯形式主义。

其实它避免了一个麻烦:

同一个流形不应依赖你最初列出了哪几张图。

只要两套图册能相互兼容,它们描述的光滑结构就是同一个。

因此实际使用中,我们通常给出一个方便图册,然后默认取它生成的极大图册。

极大图册的作用可以类比编程语言中的接口(interface):你定义一个接口的核心方法,但任何满足该接口规范的实现都自动被纳入。同样,你给出一组初始坐标图,然后所有与之兼容的坐标图自动被"纳入"极大图册,确保流形的光滑结构不依赖你初始选择了哪些图。

15.3 光滑映射的坐标定义 ⭐⭐

\(F:M\to N\) 是两个光滑流形之间的映射。

要判断 \(F\) 是否光滑,取 \(p\in M\) 附近的坐标图:

\[ (U,\varphi),\qquad (V,\psi) \]

其中 \(F(U)\subset V\)

在坐标中看:

\[ \psi\circ F\circ \varphi^{-1}:\varphi(U)\to \psi(V) \]

如果这个欧氏空间中的映射是光滑的,那么 \(F\)\(p\) 附近光滑。

这一定义看似绕,但它非常重要。

它把一般流形上的光滑性转化为普通多元微积分。

15.4 工程翻译 ⭐

机器人代码中的很多函数其实都是流形间映射:

函数 数学对象 光滑性意义
正运动学 \(q\mapsto T(q)\) \(T^n\to SE(3)\) 末端位姿随关节连续可微变化
相机投影 \(\pi(TP)\) \(SE(3)\to\mathbb{R}^2\) 可以求重投影 Jacobian
IMU 传播 \(SE_2(3)\to SE_2(3)\) 可以线性化误差动力学
Retraction \(T_xM\to M\) 可用切空间增量更新流形状态

如果映射不光滑,Jacobian 就不存在或不稳定。

这会直接破坏优化和滤波。

💡 提示:坐标图不是状态本身

在代码里,Eigen::Vector3d 可能表示欧氏位置,也可能表示旋转向量。

两者类型相同,但几何含义不同。

位置向量可以直接相加。

旋转向量通常只是 \(SO(3)\) 局部坐标。

混淆二者,是几何代码最隐蔽的错误源。


十六、切空间:在弯曲空间上做一阶近似 ⭐⭐

16.1 速度从哪里来 ⭐

在欧氏空间中,曲线 \(x(t)\) 的速度是:

\[ \dot{x}(0)=\lim_{t\to0}\frac{x(t)-x(0)}{t} \]

这个定义使用了减法。

在一般流形上,\(x(t)\)\(x(0)\) 是两个点。

点之间没有天然减法。

因此不能直接照搬。

切空间的任务是定义:

经过点 p 的所有可能一阶运动方向。

切空间可以类比飞机场的跑道方向盘:站在地球表面某一点(流形上的点),你脚下的地面局部可以近似为一个平面。这个平面就是切空间。你可以在平面上画任何方向的箭头(切向量),但你不能沿着箭头的方向直线走下去——因为地球是弯的,你走出去之后会偏离切平面,回到曲面上。因此,切空间只是局部一阶近似,不能代替曲面本身。

16.2 曲线等价类定义 ⭐⭐

取所有满足 \(\gamma(0)=p\) 的光滑曲线:

\[ \gamma:(-\epsilon,\epsilon)\to M \]

如果在某张坐标图 \((U,\varphi)\) 下:

\[ \frac{d}{dt}\bigg|_{t=0}(\varphi\circ\gamma_1)(t) = \frac{d}{dt}\bigg|_{t=0}(\varphi\circ\gamma_2)(t) \]

则认为 \(\gamma_1\)\(\gamma_2\)\(p\) 处等价。

一个切向量就是这样的等价类。

这个定义的直觉是:

两条曲线可能二阶以后不同,
但只要在 p 处一阶速度相同,
它们代表同一个切向量。

为什么这个定义与坐标图无关?

如果换到另一张图 \(\psi\),由链式法则:

\[ \frac{d}{dt}(\psi\circ\gamma)(0) = D(\psi\circ\varphi^{-1})_{\varphi(p)} \frac{d}{dt}(\varphi\circ\gamma)(0) \]

坐标转换是光滑的,因此一阶速度相等会被线性映射保持。

这说明等价关系不是坐标伪影。

如果不定义切空间会怎样? 如果跳过切空间直接在流形上做优化或滤波,就没有合法的"增量空间"。你只能在环境矩阵空间(比如 \(\mathbb{R}^{3\times3}\))中做加法,但结果通常不满足约束(如正交性)。这正是很多初学者遇到的困境:"我对旋转矩阵加了一个小扰动矩阵,结果不再正交了。"切空间的存在恰恰是为了提供一个合法的线性空间来承载增量,然后通过 Retraction 或指数映射回到流形。

16.3 导子定义 ⭐⭐

另一种更抽象但更强大的定义是导子。

\(C^\infty(M)\) 表示 \(M\) 上所有光滑实值函数。

\(p\) 处的切向量是一个线性映射:

\[ v:C^\infty(M)\to\mathbb{R} \]

满足 Leibniz 律:

\[ v(fg)=f(p)v(g)+g(p)v(f) \]

这个定义把切向量看成"方向导数算子"。

在欧氏空间中,给定方向 \(a\in\mathbb{R}^n\),方向导数为:

\[ v_a(f)=\nabla f(p)^\top a \]

它满足 Leibniz 律:\(v_a(fg) = \nabla(fg)^\top a = (f\nabla g + g\nabla f)^\top a = f(p)\,v_a(g) + g(p)\,v_a(f)\),其中第二步使用了乘积法则。

反过来,任何满足 Leibniz 律的导子都对应某个方向。

这就是导子定义与曲线定义的等价性。

16.4 坐标基 ⭐⭐

在坐标图 \((U,x^1,\dots,x^n)\) 中,切空间有一组自然基:

\[ \left\{\frac{\partial}{\partial x^1}\bigg|_p,\dots, \frac{\partial}{\partial x^n}\bigg|_p\right\} \]

任意切向量可写为:

\[ v=\sum_{i=1}^{n}v^i\frac{\partial}{\partial x^i}\bigg|_p \]

其中 \(v^i\) 是坐标分量。

注意:

切向量 v 是几何对象;
坐标分量 v^i 依赖坐标图。

换坐标时,分量按 Jacobian 变换。

设新坐标 \(y^j=y^j(x)\),则:

\[ \frac{\partial}{\partial x^i} = \sum_j \frac{\partial y^j}{\partial x^i} \frac{\partial}{\partial y^j} \]

因此同一个切向量在不同坐标中的分量不同。

这正是张量变换律的起点。

16.5 切空间的机器人解释 ⭐

在机器人学中,切空间通常就是"速度空间"。

流形 切空间元素 工程含义 平凡化形式
\(\mathbb{R}^3\) 位置 \(p\) \(\dot{p}\) 线速度 不需要平凡化
\(S^1\) 朝向 角速度 平面角速度 不需要平凡化
\(SO(3)\) 姿态 \(R\) \(R\hat{\omega}\)体坐标角速度 角速度在体坐标系表达 右平凡化:\(\omega = (R^\top\dot{R})^\vee\)
\(SO(3)\) 姿态 \(R\) \(\hat{\omega}R\)空间坐标角速度 角速度在空间坐标系表达 左平凡化:\(\omega = (\dot{R}R^\top)^\vee\)
\(SE(3)\) 位姿 \(T\) twist 刚体速度 体/空间 twist 类比同上
\(T^n\) 关节角 \(\dot{q}\) 关节速度 不需要平凡化

这里要特别注意:

\[ T_RSO(3)\neq \mathbb{R}^3 \]

严格地说:

\[ T_RSO(3)=\{R\Omega\mid \Omega^\top=-\Omega\} \]

或者:

\[ T_RSO(3)=\{\Omega R\mid \Omega^\top=-\Omega\} \]

取决于使用右平凡化还是左平凡化。

我们常把切向量用 \(\omega\in\mathbb{R}^3\) 表示,是因为用了 hat/vee 与平凡化把它搬到了李代数。

⚠️ 陷阱:把局部坐标当成全局向量

旋转向量 \(\phi\in\mathbb{R}^3\) 可以作为 \(SO(3)\) 附近的坐标。

但它不是全局无歧义坐标。

\(\|\phi\|\) 接近 \(\pi\) 或跨过 \(2\pi\) 等价边界时,log 映射会出现分支问题。

因此优化中小扰动用 \(\delta\phi\),真实姿态仍应保存在 \(R\) 或单位四元数上。


十七、切映射:Jacobian 的坐标无关版本 ⭐⭐

17.1 从链式法则出发 ⭐⭐

\(F:M\to N\) 是光滑映射。

如果一条曲线 \(\gamma(t)\)\(M\) 上经过 \(p\),那么 \(F(\gamma(t))\)\(N\) 上经过 \(F(p)\) 的曲线。

因此 \(F\) 会把 \(p\) 处速度映射到 \(F(p)\) 处速度:

\[ dF_p:T_pM\to T_{F(p)}N \]

这就是切映射,也叫 pushforward。

用曲线定义:

\[ dF_p([\gamma]) = [F\circ\gamma] \]

这个定义非常自然:

先沿着 M 上的曲线动,
再看 F 之后在 N 上怎么动。

17.2 坐标表达就是 Jacobian ⭐⭐

取坐标图:

\[ x=\varphi(p),\qquad y=\psi(F(p)) \]

局部表达为:

\[ \hat{F}=\psi\circ F\circ\varphi^{-1} \]

则切映射在坐标中的矩阵就是:

\[ D\hat{F}(x) \]

也就是普通 Jacobian。

因此可以这样理解:

本质洞察:Jacobian 不是只属于矩阵微积分的对象。它是切映射在选定坐标图下的矩阵表示。

这个视角能统一很多机器人公式。

机械臂几何 Jacobian 是正运动学切映射。

相机投影 Jacobian 是投影映射切映射。

李群左/右 Jacobian 是指数映射切映射在平凡化坐标下的表达。

切映射可以类比信号处理中的传递函数:传递函数描述系统对输入小扰动的线性响应,切映射描述光滑映射对输入流形上小运动的线性响应。两者都是"一阶线性化",区别在于传递函数作用在时域/频域信号上,切映射作用在流形的切空间上。

17.3 正运动学作为切映射 ⭐⭐

机械臂正运动学:

\[ F:Q\to SE(3) \]

把关节构型 \(q\) 映射到末端位姿 \(T\)

其切映射:

\[ dF_q:T_qQ\to T_TSE(3) \]

把关节速度映射到末端 twist。

在常用坐标下,它就是几何 Jacobian:

\[ \xi = J(q)\dot{q} \]

这说明机械臂 Jacobian 的本质不是"速度公式",而是正运动学在一阶近似下的线性化。

如果 \(J(q)\) 秩下降,说明切映射不再满秩。

这就是奇异构型的微分几何解释。

17.4 反函数定理的工程意义 ⭐⭐

流形版反函数定理说:

如果 \(dF_p\) 是线性同构,那么 \(F\)\(p\) 附近是局部微分同胚。

翻译成机器人语言:

如果正运动学 Jacobian 在某点满秩,
那么该点附近末端位姿与关节变量可以局部互相转换。

如果 Jacobian 失去满秩,则局部逆不再存在。

这就是 IK 在奇异点附近变得病态的根本原因。

💡 提示:IK 失败不一定是求解器差

数值 IK 在某些构型附近不收敛,可能是优化器、初值或阻尼参数的问题。

但如果几何上切映射秩下降,局部可逆性本身就消失。

这时再换求解器也只能改善数值表现,不能消除奇异结构。


十八、子流形:约束方程定义的可行空间 ⭐⭐

18.1 为什么机器人约束自然形成子流形 ⭐⭐

机器人系统经常有约束:

约束 方程 几何对象
单位四元数 \(\|q\|^2=1\) \(S^3\)
旋转矩阵 \(R^\top R=I,\det R=1\) \(SO(3)\)
闭链机构 \(\Phi(q)=0\) 关节空间中的约束子流形
接触保持 \(\phi(q)=0\) 接触约束流形
轮式无侧滑 \(A(q)\dot{q}=0\) 切空间中的分布

如果约束足够正则,可行集合不是任意怪异集合,而是光滑子流形。

这给优化和控制提供了结构。

18.2 正则值定理 ⭐⭐

\(F:M\to N\) 是光滑映射。

\(y\in N\) 是正则值,也就是对所有 \(x\in F^{-1}(y)\),切映射:

\[ dF_x:T_xM\to T_yN \]

都是满射,则:

\[ F^{-1}(y) \]

\(M\) 的嵌入子流形。

其维数为:

\[ \dim F^{-1}(y)=\dim M-\dim N \]

这个定理是约束建模的核心。

它告诉我们:

只要约束 Jacobian 满秩,
等式约束集合就是一个光滑空间。

如果正则值定理不成立会怎样? 假设约束映射 \(F\) 在水平集上处处秩亏(也就是不存在正则值),那么可行集合可能不是光滑子流形——它可能有尖角、自交叉或维数跳变。例如方程 \(x^2 + y^2 = z^2\) 在原点处 Jacobian 为零行向量(秩为零),此处可行集合(双锥面)出现尖点。在机器人中,这意味着约束 Jacobian 秩亏处可行构型空间的结构发生退化,运动规划和控制在这些点附近会遇到根本性困难。

18.3 SO(3) 的切空间推导 ⭐⭐

\(SO(3)\) 看成约束:

\[ F(R)=R^\top R-I=0 \]

考虑曲线 \(R(t)\in SO(3)\),且 \(R(0)=R\)

对约束求导:

\[ \frac{d}{dt}\bigg|_{0}R(t)^\top R(t)=0 \]

由乘积法则:

\[ \dot{R}^\top R+R^\top\dot{R}=0 \]

令:

\[ \Omega=R^\top\dot{R} \]

则:

\[ \Omega^\top+\Omega=0 \]

所以 \(\Omega\) 是反对称矩阵。

因此:

\[ \dot{R}=R\Omega,\qquad \Omega\in\mathfrak{so}(3) \]

得到:

\[ T_RSO(3)=\{R\Omega\mid \Omega^\top=-\Omega\} \]

这一步是专题 3 李代数推导的前置。

它说明 \(\mathfrak{so}(3)\) 不是凭空定义出来的,而是 \(SO(3)\) 在单位元处的切空间。

本质洞察:李代数不是独立于李群的抽象代数结构,而是李群在单位元处的切空间配上 Lie bracket 运算。理解了这一点,就不会把李群和李代数当作两个需要分别记忆的独立概念,而会看到它们是同一个几何对象的两个视角——全局与局部。

18.4 闭链约束中的正则性 ⭐⭐⭐

闭链机械臂常写成:

\[ \Phi(q)=0 \]

如果约束 Jacobian:

\[ J_c(q)=\frac{\partial \Phi}{\partial q} \]

满行秩,则可行集合局部是维数:

\[ \dim Q-\operatorname{rank}J_c \]

的子流形。

如果 \(J_c\) 失秩,就会出现机构奇异。

这时约束集合可能发生分叉、尖点或维数变化。

控制器如果仍按光滑子流形处理,就会产生数值爆炸或不可行命令。

⚠️ 陷阱:等式约束不自动等于光滑子流形

写出 \(\Phi(q)=0\) 只是第一步。

必须检查约束 Jacobian 是否满秩。

如果不满秩,正则值定理不适用。

这正是闭链机构、接触切换和奇异构型中很多问题的来源。


十九、向量场、积分曲线与机器人动力学 ⭐⭐

19.1 向量场是什么 ⭐⭐

切空间只描述一个点处的可能速度。

向量场是在每个点都指定一个切向量:

\[ X(p)\in T_pM \]

并且这种指定随 \(p\) 光滑变化。

形式上,向量场是切丛的光滑截面:

\[ X:M\to TM \]

满足:

\[ \pi\circ X=\operatorname{id}_M \]

其中 \(\pi:TM\to M\) 是把切向量投回基点的投影。

19.2 动力系统就是向量场 ⭐⭐

连续时间机器人动力学:

\[ \dot{x}=f(x,u) \]

在固定控制输入 \(u\) 后,就是状态流形上的向量场。

如果状态在 \(SE(3)\) 上,严格写法不是:

\[ \dot{T}=f(T) \]

而是:

\[ \dot{T}\in T_TSE(3) \]

常见平凡化表示为:

\[ \dot{T}=T\xi^\wedge \]

或:

\[ \dot{T}=\xi^\wedge T \]

两者分别对应体速度与空间速度。

19.3 积分曲线 ⭐⭐

给定向量场 \(X\),曲线 \(\gamma(t)\) 如果满足:

\[ \dot{\gamma}(t)=X(\gamma(t)) \]

则称为 \(X\) 的积分曲线。

机器人仿真中的数值积分,本质就是沿动力学向量场走一小步。

在欧氏空间中常用:

\[ x_{k+1}=x_k+h f(x_k) \]

但在流形上,右侧加法未必合法。

因此需要:

\[ x_{k+1}=R_{x_k}(h f(x_k)) \]

或在李群上:

\[ T_{k+1}=T_k\operatorname{Exp}(h\xi_k) \]

这就是专题 2 和专题 3 会继续展开的内容。

19.4 Lie bracket 的第一层直觉 ⭐⭐⭐

给定两个向量场 \(X,Y\),Lie bracket \([X,Y]\) 衡量:

先沿 X 走再沿 Y 走
先沿 Y 走再沿 X 走
的一阶差异。

在非完整机器人中,这个概念非常重要。

差速车不能侧向移动。

但通过前进、转向、后退、反向转向的组合,可以产生近似侧向位移。

这种"不能直接走,但能通过交换子走出来"的现象由 Lie bracket 描述。

这连接到 Chow-Rashevsky 定理和可达性分析。

⚠️ 编程陷阱:在流形上用 Euler 积分却不做 Retraction

\(\mathbb{R}^n\) 中,x_new = x + h * f(x) 是合法的前向 Euler。但在 \(SO(3)\) 上写 R_new = R + h * R_dot 会得到非正交矩阵。正确做法是 R_new = R * Exp(h * omega),即先在切空间(李代数)中计算增量,然后通过指数映射回到流形。这个区别在仿真中最常被忽略,尤其是用通用 ODE 求解器积分李群状态时。


二十、微分形式:把向量场对偶化 ⭐⭐⭐

20.1 为什么要学微分形式 ⭐⭐⭐

微分形式在机器人文档中出现频率不如 Jacobian 高。

但它是理解以下内容的底层语言:

内容 微分形式视角
梯度 目标函数的微分 \(df\) 是 1-形式
力对位移的积分是 1-形式积分
约束 Pfaffian 约束 \(A(q)dq=0\)
Stokes 定理 局部微分与边界积分的统一
辛几何 Hamilton 力学的几何结构

20.2 1-形式与向量的关系 ⭐⭐⭐

切向量属于 \(T_pM\)

1-形式属于对偶空间:

\[ T_p^*M \]

它把切向量映射为实数:

\[ \alpha_p:T_pM\to\mathbb{R} \]

在坐标中:

\[ \alpha=\sum_i a_i dx^i \]

如果:

\[ v=\sum_i v^i\frac{\partial}{\partial x^i} \]

则:

\[ \alpha(v)=\sum_i a_i v^i \]

这就是对偶配对。

20.3 梯度与微分的区别 ⭐⭐⭐

函数 \(f:M\to\mathbb{R}\) 的微分:

\[ df_p:T_pM\to\mathbb{R} \]

天然是 1-形式。

梯度 \(\nabla f\) 则是切向量。

\(df\) 得到梯度,需要 Riemannian 度量:

\[ g_p(\operatorname{grad}f, v)=df_p(v) \]

这解释了一个常见误区:

梯度不是只由函数决定,
还由空间上的内积决定。

在专题 2 的流形优化中,Riemannian gradient 正是这样定义的。

💡 概念误区:认为梯度是内蕴对象

很多人以为梯度和微分是同一个东西。实际上微分 \(df\) 是 1-形式(对偶于切向量),不需要度量就能定义。梯度 \(\operatorname{grad}f\) 是切向量,需要通过 Riemannian 度量从 \(df\) "升指标"得到。在欧氏空间中使用标准内积时两者在坐标表达上碰巧一致,但在弯曲空间或非标准度量下完全不同。这个区别在流形优化中至关重要:换了度量,梯度方向也会改变。


二十一、从本章到后续专题的完整桥接 ⭐

21.1 到 Retraction 的桥接

专题 2 会使用本章的切空间:

\[ R_x:T_xM\to M \]

如果没有 \(T_xM\),Retraction 无从定义。

如果不知道 \(dR_x(0)=\operatorname{id}\) 的意义,也无法理解为什么它是一阶正确的局部更新。

21.2 到李群的桥接

专题 3 会把流形加上群结构。

本章给出:

\[ T_eG \]

专题 3 将它命名为李代数:

\[ \mathfrak{g}=T_eG \]

本章的切映射会变成:

本章概念 李群专题中的对象
切空间 李代数与平凡化切空间
光滑映射 群乘法、求逆、指数、对数
切映射 Adjoint、左/右 Jacobian
向量场 左不变/右不变向量场
Lie bracket 李代数括号

21.3 到滤波和优化的桥接

在滤波中,真实状态在流形上:

\[ X\in M \]

误差通常在切空间中:

\[ \delta x\in T_{\bar{X}}M \]

协方差也是切空间中的二阶矩:

\[ \Sigma=\mathbb{E}[\delta x\delta x^\top] \]

在优化中,法方程求得的是切空间增量:

\[ H\delta x=-g \]

然后通过 Retraction 回到流形:

\[ X^+=R_X(\delta x) \]

这说明:

流形负责保存合法状态;
切空间负责承载线性计算;
Retraction/Exp 负责二者之间的来回转换。

二十二、常见故障排查 ⭐

现象 可能原因 检查方法 修复思路
姿态优化后矩阵不正交 在环境矩阵空间里直接做加法 检查 \(R^\top R-I\) 的范数 \(R\operatorname{Exp}(\delta\phi)\) 更新
欧拉角滤波在某些姿态发散 坐标图接近奇异 检查 pitch 是否接近 \(\pm90^\circ\) 改用四元数或 SO(3) 误差状态
IK 在某些构型附近抖动 正运动学切映射秩下降 查看 \(J\) 的最小奇异值 加阻尼、改任务、避开奇异区域
闭链约束投影失败 约束 Jacobian 不满秩 检查 \(J_cJ_c^\top\) 条件数 分析机构奇异,切换参数化
协方差块量纲混乱 把不同切空间直接相加 检查协方差所在帧 用 Adjoint 或切映射搬运
梯度方向看似反了 微分、梯度、度量混淆 写出 \(df(v)=g(\operatorname{grad}f,v)\) 明确所用内积和坐标约定

⚠️ 陷阱:用嵌入空间的投影替代全部几何

\(S^2\)\(SO(3)\),有时可以在欧氏空间走一步再投影回约束集合。

这在工程上常有效。

但投影不是所有流形问题的通用答案。

投影依赖嵌入和度量。

Grassmann、商流形、带非完整约束的系统通常需要更明确的局部模型。


二十三、切丛与余切丛的全局结构 ⭐⭐⭐

23.1 切丛作为流形 ⭐⭐⭐

切空间只是一个点处的结构。把所有点的切空间打包:

\[ TM = \bigsqcup_{p\in M} T_pM = \{(p,v) \mid p\in M,\; v\in T_pM\} \]

这个集合自身也是光滑流形,维数为 \(2n\)\(M\)\(n\) 维的)。

坐标构造如下:

如果 \((U,\varphi)\)\(M\) 的坐标图,取 \(p\in U\)\(v = \sum v^i \partial/\partial x^i|_p\),则定义:

\[ \tilde\varphi(p,v) = (x^1(p),\dots,x^n(p),v^1,\dots,v^n) \in \mathbb{R}^{2n} \]

这就是切丛的自然坐标图。

切丛有投影映射:

\[ \pi: TM \to M, \qquad \pi(p,v) = p \]

每根纤维 \(\pi^{-1}(p) = T_pM\) 是一个 \(n\) 维向量空间。

这种"基空间 + 纤维"的结构正是向量丛的原型。

切丛是平凡的,当且仅当存在全局光滑标架(\(n\) 个处处线性无关的全局向量场)。比如 \(T^n\)(环面)的切丛是平凡的,但 \(S^2\) 的切丛是非平凡的——这就是著名的"刺猬定理"(Hairy Ball Theorem):\(S^2\) 上不存在处处非零的连续向量场。

流形 切丛平凡? 直觉原因
\(\mathbb{R}^n\) 全局平坦
\(T^n\) 李群,左不变标架全局存在
\(S^1\) 1维李群
\(S^2\) 刺猬定理
\(SO(3)\) 李群
\(S^3 \cong SU(2)\) 李群

如果切丛不平凡会怎样?\(S^2\) 上无法选择全局一致的"北方向"——任何全局向量场必有零点。这意味着球面上的控制系统必须有奇异构型(如IMU 姿态表示中无法回避的某处退化)。用多个坐标图覆盖并在重叠处正确转换,是处理非平凡切丛的标准策略。

23.2 余切丛与相空间 ⭐⭐⭐

余切丛:

\[ T^*M = \bigsqcup_{p\in M} T_p^*M \]

每根纤维是切空间的对偶空间。

在力学中,余切丛就是相空间:

力学对象 流形语言
构型 \(q\) 流形 \(M\) 上的点
速度 \(\dot{q}\) 切向量 \(v \in T_qM\)
动量 \(p\) 余切向量 \(\alpha \in T_q^*M\)
相空间 \((q,p)\) 余切丛 \(T^*M\)

Lagrange 力学住在切丛 \(TM\) 上,Hamilton 力学住在余切丛 \(T^*M\) 上。

两者通过 Legendre 变换互通:

\[ \mathbb{F}L: TM \to T^*M, \qquad (q,\dot{q}) \mapsto \left(q, \frac{\partial L}{\partial \dot{q}}\right) \]

余切丛天然携带辛结构(symplectic form)\(\omega = dp_i \wedge dq^i\),这使得 Hamilton 方程具有几何必然性。

本质洞察:Lagrange 力学与 Hamilton 力学不是两种不同的物理——它们是同一个几何对象(粒子在构型流形上的运动)在两种不同丛(切丛 vs 余切丛)上的不同坐标表达。Legendre 变换是连接二者的丛映射。

23.3 纤维丛的直觉 ⭐⭐⭐⭐

切丛和余切丛是向量丛的特例。更一般的纤维丛:

\[ F \hookrightarrow E \xrightarrow{\pi} B \]

由基空间 \(B\)、纤维 \(F\)、全空间 \(E\) 和投影 \(\pi\) 组成。局部平凡化要求每片看起来像 \(U \times F\)

在机器人中出现的纤维丛实例:

基空间 纤维 工程含义
\(TSO(3) \to SO(3)\) 姿态空间 \(\mathfrak{so}(3) \cong \mathbb{R}^3\) 角速度附着在每个姿态上
标架丛 \(FM\) 流形 \(M\) \(GL(n)\) 每点所有可能基底
主丛 \(P(M,G)\) 流形 \(M\) 李群 \(G\) 规范理论基础

在机器人学中,主丛视角可以统一理解坐标系变换、标架选择和gauge自由度。


二十四、外代数与微分形式的深入 ⭐⭐⭐

24.1 外积的代数结构 ⭐⭐⭐

外积(楔积)的核心性质是反对称性:

\[ \alpha \wedge \beta = -\beta \wedge \alpha \]

\(k\)-形式 \(\alpha\)\(l\)-形式 \(\beta\)

\[ \alpha \wedge \beta = (-1)^{kl} \beta \wedge \alpha \]

\(n\) 维流形上,\(k\)-形式空间的维数是 \(\binom{n}{k}\)

\(n\) 0-形式 1-形式 2-形式 3-形式 \(n\)-形式
2 1 2 1 0 = 2-形式
3 1 3 3 1 = 3-形式
4 1 4 6 4 1
6 1 6 15 20 1

这与 Pascal 三角形完全对应。

24.2 外微分的核心性质 ⭐⭐⭐

外微分 \(d\)\(k\)-形式映射为 \((k+1)\)-形式。

核心性质:

  1. 线性\(d(\alpha + \beta) = d\alpha + d\beta\)
  2. Leibniz\(d(\alpha \wedge \beta) = d\alpha \wedge \beta + (-1)^k \alpha \wedge d\beta\)
  3. 幂零\(d^2 = 0\)("边界的边界为空")

第三条是最深刻的。它直接导出:

  • 闭形式(\(d\alpha = 0\))和恰当形式(\(\alpha = d\beta\))的区别
  • de Rham 上同调群 \(H^k_{dR}(M) = \ker d / \operatorname{im} d\)

\(d^2 = 0\) 的直觉理解:考虑函数 \(f\)(0-形式),\(df\) 是 1-形式。\(d(df) = 0\) 等价于混合偏导数交换:\(\partial^2 f / \partial x^i \partial x^j = \partial^2 f / \partial x^j \partial x^i\)。这个在高维推广就是 \(d^2 = 0\)

在机器人中,\(d^2 = 0\) 保证了势力场(如重力)做功只取决于起终点而与路径无关——因为保守力是某个势函数的微分,而 \(d(df) = 0\) 保证沿闭合路径积分为零。

24.3 Stokes 定理的统一性 ⭐⭐⭐

Stokes 定理的微分形式版:

\[ \int_M d\omega = \int_{\partial M} \omega \]

它统一了:

经典定理 \(M\) \(\omega\) \(d\omega\)
微积分基本定理 区间 \([a,b]\) \(f\) \(f'dx\)
Green 定理 平面区域 \(Pdx + Qdy\) \((Q_x - P_y)dx\wedge dy\)
散度定理 三维体 通量 2-形式 \(\operatorname{div}\mathbf{F}\,dV\)
旋度定理 曲面 \(\mathbf{F}\cdot d\mathbf{r}\) \((\nabla\times\mathbf{F})\cdot d\mathbf{S}\)

这种统一性说明:经典矢量分析中的四个积分定理不是独立的结果,而是同一个几何事实的不同维度表现。


二十五、Frobenius 定理与非完整约束 ⭐⭐⭐

25.1 分布与可积性 ⭐⭐⭐

在流形 \(M\) 上,一个 \(k\) 维分布 \(\mathcal{D}\) 是指在每点 \(p\) 选出 \(T_pM\) 的一个 \(k\) 维子空间 \(\mathcal{D}_p\),且光滑依赖于 \(p\)

分布可以理解为"允许的运动方向"。

如果在每点只允许沿分布方向运动,是否能到达空间中任意点?

这取决于分布是否**对合**(involutive):

\[ X, Y \in \Gamma(\mathcal{D}) \implies [X,Y] \in \Gamma(\mathcal{D}) \]

即分布中的两个向量场的 Lie bracket 仍在分布中。

Frobenius 定理:光滑分布 \(\mathcal{D}\) 完全可积(即局部是某子流形族的切空间)当且仅当 \(\mathcal{D}\) 对合。

25.2 机器人中的非完整约束 ⭐⭐⭐

差速轮式机器人的运动约束:

\[ \dot{y}\cos\theta - \dot{x}\sin\theta = 0 \]

写成 Pfaffian 形式:

\[ \omega = \sin\theta\,dx - \cos\theta\,dy = 0 \]

这定义了一个 2 维分布 \(\mathcal{D} \subset T_{(x,y,\theta)}(\mathbb{R}^2 \times S^1)\)

检验对合性:令 \(X_1 = \cos\theta\partial_x + \sin\theta\partial_y\)(前进方向),\(X_2 = \partial_\theta\)(原地转向)。

计算 Lie bracket:

\[ [X_1, X_2] = \sin\theta\partial_x - \cos\theta\partial_y \]

这个向量不在 \(\operatorname{span}\{X_1, X_2\}\) 中(除非做进一步线性组合后检验),但仔细计算发现它**不属于** \(\mathcal{D}\)

因此分布不对合,Frobenius 定理不适用——系统是非完整的。

非完整意味着:虽然瞬时只能沿两个方向运动(前进和转向),但通过适当的运动序列可以到达三维构型空间中的任意点。这是可达性的来源,也是 Chow-Rashevsky 定理的核心内容。

本质洞察:非完整约束不限制可达范围,只限制瞬时运动方向。差速机器人不能侧向平移(瞬时约束),但可以通过"前进-转向-前进"到达侧面任意位置(全局可达)。Frobenius 定理告诉我们:完整约束真正减少自由度(可达空间变成低维子流形),非完整约束只约束速度而不约束位置。

25.3 与运动规划的联系 ⭐⭐⭐

约束类型 Frobenius 可达集 规划含义
完整约束 分布对合 低维子流形 可在约束流形上直接搜索
非完整约束 分布不对合 全维(Chow-Rashevsky) 需要考虑运动序列的可行性

非完整系统的运动规划(如泊车问题)之所以困难,正是因为搜索空间是全维的,但可行运动方向在每点只有低维子空间。


二十六、流形上的分割单位与全局工具 ⭐⭐⭐⭐

26.1 为什么全局构造需要分割单位 ⭐⭐⭐⭐

流形上的很多构造(如 Riemannian 度量、向量场延拓、紧支撑函数)看似局部的,但需要全局一致。

分割单位是把全局问题"切碎"成局部问题再组装的核心工具。

给定开覆盖 \(\{U_\alpha\}\),分割单位是一族光滑函数 \(\{\rho_\alpha\}\) 满足:

  1. \(0 \le \rho_\alpha \le 1\)
  2. \(\operatorname{supp}(\rho_\alpha) \subset U_\alpha\)
  3. \(\sum_\alpha \rho_\alpha = 1\)

存在性由 Hausdorff + 二可数 + 仿紧致保证。

应用示例:

  • 全局 Riemannian 度量的存在性:每张坐标图内用欧氏内积,用分割单位加权平均得到全局光滑度量
  • 紧支撑 bump 函数:在局部是 1,外部光滑衰减到 0
  • 向量场的全局延拓:局部定义的向量场通过分割单位延拓到全流形

这些是分析工具正常工作的"幕后英雄"——初学者很少意识到它们的重要性,但少了它们,从局部到全局的每一步都会卡住。


二十七、本章知识树总结 ⭐

光滑流形一般理论
├── 动机:为什么 R^n 不够用
│   ├── 单位圆 S^1:加法离开约束
│   ├── SO(3):平均不保正交
│   └── 关节空间 T^n:周期性等价
├── 拓扑流形
│   ├── 三个条件:Hausdorff、二可数、局部欧
│   └── 坐标图:局部参数化
├── 光滑结构
│   ├── 光滑图册:转换函数 C^∞
│   ├── 极大图册:消除初始选择歧义
│   └── 光滑映射:坐标中的多元微积分
├── 切空间
│   ├── 曲线等价类定义(几何直觉)
│   ├── 导子定义(通向李代数)
│   ├── 坐标基与变换律
│   └── 机器人解释:速度空间
├── 切映射
│   ├── Pushforward = 速度映射
│   ├── 坐标表达 = Jacobian
│   └── 反函数定理 = 局部可逆性
├── 子流形
│   ├── 正则值定理
│   ├── SO(3) 的切空间推导
│   └── 闭链约束的正则性
├── 向量场与流
│   ├── 动力系统 = 向量场
│   ├── 积分曲线 = 数值积分
│   ├── Lie bracket = 非对易测量
│   └── Frobenius 定理 = 可积性判据
├── 微分形式
│   ├── 1-形式 = 切向量的对偶
│   ├── 外微分 d 与 d^2 = 0
│   ├── Stokes 定理
│   └── 梯度 vs 微分的区别
├── 切丛与余切丛
│   ├── 全局结构与平凡性
│   ├── 相空间 = 余切丛
│   └── 纤维丛直觉
└── 桥接
    ├── → Retraction(专题2)
    ├── → 李群(专题3)
    └── → 滤波与优化

二十八、本章小结 ⭐

核心概念 一句话定义 机器人对应 关键定理
光滑流形 局部像 \(\mathbb{R}^n\) 的空间,坐标转换光滑 构型空间
坐标图 局部同胚 \(\varphi: U \to \mathbb{R}^n\) 参数化(欧拉角、旋转向量)
切空间 \(T_pM\) \(p\) 处所有一阶运动方向 速度空间 维数 = 流形维数
切映射 \(dF_p\) 光滑映射在一阶的线性化 Jacobian 反函数定理
子流形 正则约束方程的可行集 SO(3), 闭链约束面 正则值定理
向量场 每点光滑指定一个切向量 动力系统 积分曲线存在唯一
微分形式 切向量的对偶/反对称多线性 功、通量 Stokes 定理
切丛 \(TM\) 所有切空间的打包 Lagrange 力学的舞台
余切丛 \(T^*M\) 所有余切空间的打包 Hamilton 力学的舞台 辛结构
Frobenius 定理 分布可积 ⟺ 对合 完整/非完整约束判据 Chow-Rashevsky

二十九、累积项目:本章新增模块 ⭐

项目方向:手写几何验证库

本章新增模块:流形基本概念验证

# 验证片段:检验 SO(3) 不是线性空间
import numpy as np
from scipy.spatial.transform import Rotation

# 生成两个随机旋转
R1 = Rotation.random().as_matrix()
R2 = Rotation.random().as_matrix()

# 算术平均
R_avg = 0.5 * (R1 + R2)

# 检查正交性
print("R1^T R1 - I:", np.linalg.norm(R1.T @ R1 - np.eye(3)))  # ~0
print("R_avg^T R_avg - I:", np.linalg.norm(R_avg.T @ R_avg - np.eye(3)))  # 远非0

# 验证切空间:R(t) = R * exp(t * omega_hat) 对约束的导数
from scipy.linalg import expm
omega = np.array([0.1, 0.2, 0.3])
omega_hat = np.array([[0, -omega[2], omega[1]],
                      [omega[2], 0, -omega[0]],
                      [-omega[1], omega[0], 0]])

# R(t) 始终在 SO(3) 上
for t in [0.01, 0.1, 1.0]:
    Rt = R1 @ expm(t * omega_hat)
    print(f"t={t}: ||R(t)^T R(t) - I|| = {np.linalg.norm(Rt.T @ Rt - np.eye(3)):.2e}")

后续专题将扩展此模块: - 专题2:实现 Retraction 与梯度下降 - 专题3:实现 SO(3)/SE(3) 的 Exp/Log/Adjoint - 专题4:实现左/右 Jacobian 闭式


延伸阅读 ⭐

资源 难度 核心价值
Tu《An Introduction to Manifolds》 ⭐⭐ 最佳入门,含习题解答
Lee《Introduction to Smooth Manifolds》GTM 218 ⭐⭐⭐ 百科全书,研究生标准参考
Milnor《Topology from the Differentiable Viewpoint》 ⭐⭐⭐ 64页大师级思想补充
do Carmo《Riemannian Geometry》Ch.0-3 ⭐⭐⭐⭐ 衔接 Riemann 几何
Needham《Visual Differential Geometry and Forms》 ⭐⭐ 235幅手绘图,几何直觉标杆
Absil et al.《Optimization on Matrix Manifolds》Ch.3 ⭐⭐⭐ 流形优化中切空间的工程用法
Boumal《An Introduction to Optimization on Smooth Manifolds》 ⭐⭐⭐ 现代流形优化标准教材(2023)
Keenan Crane DDG 视频系列(CMU) ⭐⭐ 离散微分几何可视化标杆
梁灿彬《微分几何入门与广义相对论》B站118讲 ⭐⭐ 中文入门物理视角
王作勤讲义(USTC) ⭐⭐⭐ 中文高质量讲义,以 Lee/Tu 为蓝本

🔧 故障排查手册 ⭐

症状 可能原因 排查步骤 相关小节
姿态优化后矩阵不正交 在环境矩阵空间里直接做加法更新 1.检查 \(\|R^\top R - I\|\) 2.确认用了 Exp 更新 3.打印更新前后的约束违反 §16, §18
欧拉角滤波在某些姿态发散 坐标图接近奇异(万向锁) 1.检查 pitch 是否接近 \(\pm90°\) 2.打印 Jacobian 条件数 3.切换到四元数表示 §14, §15
IK 在某些构型附近抖动/不收敛 正运动学切映射秩下降(奇异构型) 1.计算 \(J\) 最小奇异值 2.画出 manipulability 椭球 3.检查是否在工作空间边界 §17
闭链约束投影失败或 NaN 约束 Jacobian 不满秩 1.检查 \(J_c J_c^\top\) 条件数 2.检验可行构型点的正则性 3.分析机构奇异 §18
协方差量纲混乱/不一致 把不同切空间的量直接相加 1.确认所有量所在帧 2.用 Adjoint 搬运后再运算 3.验证协方差正定性 §16, §17
梯度方向看似反了 微分 \(df\) 与梯度 \(\nabla f\) 混淆 1.写出 \(df(v)=g(\operatorname{grad}f,v)\) 2.明确所用度量 3.验证下降方向 §20
数值积分偏离流形 Euler 步未做 Retraction 回投 1.检查每步后约束违反量 2.改用 Lie 积分 \(R\operatorname{Exp}(h\omega)\) 3.考虑几何积分器 §19

练习:光滑流形的一般理论

  1. 在草稿纸上证明:单位圆 \(S^1\) 无法被单个全局坐标图覆盖。提示:考虑紧致性与 \(\mathbb{R}\) 开区间的关系。
  2. 用两张球极投影图构造 \(S^2\) 的图册,并写出重叠区域上的转换函数。
  3. 证明曲线等价类定义的切向量与坐标图选择无关。关键步骤是使用坐标转换的链式法则。
  4. 用导子定义证明 \(v(1)=0\)。提示:令 \(1=1\cdot1\) 并使用 Leibniz 律。
  5. 从约束 \(R^\top R=I\) 出发,完整推导 \(T_RSO(3)=\{R\Omega\mid\Omega^\top=-\Omega\}\)
  6. 对正运动学 \(F:Q\to SE(3)\),解释为什么几何 Jacobian 是 \(dF_q\) 的坐标表达。
  7. 构造一个简单二维约束 \(\Phi(x,y)=0\),分别给出正则点和非正则点,并画出可行集合形状。
  8. 解释 \(df\)\(\operatorname{grad}f\) 的区别,并说明为什么没有度量时不能谈梯度。

跨章综合题

综合题 A:给定一个只含两个旋转关节的平面机械臂,关节空间为 \(T^2\)

  1. 说明为什么 \(T^2\) 不是 \(\mathbb{R}^2\)
  2. 写出末端位置映射 \(F:T^2\to\mathbb{R}^2\)
  3. 解释其 Jacobian 为什么是切映射 \(dF_q\) 的矩阵表示。
  4. 找出一个奇异构型,并用反函数定理解释局部逆运动学为什么失效。
  5. 将第 4 步与后续专题 2 的 Retraction 联系起来:若优化增量在 \(T_qT^2\) 中,如何更新回 \(T^2\)

综合题 B(结合本章与线性代数基础):

考虑 Stiefel 流形 \(V_k(\mathbb{R}^n) = \{X \in \mathbb{R}^{n\times k} \mid X^\top X = I_k\}\)

  1. 用正则值定理证明 \(V_k(\mathbb{R}^n)\)\(\mathbb{R}^{n\times k}\) 的嵌入子流形。指出约束映射和正则值。
  2. 计算 \(V_k(\mathbb{R}^n)\) 的维数(提示:对称矩阵 \(X^\top X - I_k\)\(k(k+1)/2\) 个独立约束)。
  3. \(X\) 处求切空间 \(T_X V_k(\mathbb{R}^n)\),证明它由满足 \(X^\top\Delta + \Delta^\top X = 0\) 的矩阵 \(\Delta\) 组成。
  4. 验证当 \(k=n=3\) 时,\(V_3(\mathbb{R}^3) = O(3)\),其切空间退化为正交群切空间(反对称矩阵乘以 \(X\))。
  5. 讨论 Stiefel 流形在视觉 SLAM 子空间估计(如 Essential 矩阵分解)中的应用。

综合题 C(Frobenius 定理应用):

一个全向移动底盘上搭载旋转关节机械臂,状态空间为 \(SE(2) \times S^1\)

  1. 如果底盘是全向的(无非完整约束),说明系统分布为何对合,并指出 Frobenius 定理的结论。
  2. 如果底盘改为差速驱动(非完整),分析分布的对合性并判断可达性。
  3. 计算两种情况下构型空间中可达子流形的维数差异。


三十、流形上的度量与距离 ⭐⭐⭐

30.1 为什么流形需要额外结构才能定义距离 ⭐⭐⭐

光滑流形自身没有"长度"概念。

两点之间可以画无穷多条光滑曲线,但没有内在机制判断哪条"最短"。

Riemannian 度量提供了这个判断标准。

它在每个切空间上定义内积:

\[ g_p: T_pM \times T_pM \to \mathbb{R} \]

逐点光滑变化。

有了度量,曲线长度有定义:

\[ L(\gamma) = \int_0^1 \sqrt{g_{\gamma(t)}(\dot\gamma(t), \dot\gamma(t))}\, dt \]

两点间的距离就是所有连接曲线中长度的下确界:

\[ d(p,q) = \inf_{\gamma: p\to q} L(\gamma) \]

达到最短的曲线就是测地线。

30.2 机器人中的度量选择 ⭐⭐⭐

不同的度量导致不同的测地线和距离:

流形 常用度量 测地线 工程选择原因
\(SO(3)\) bi-invariant \(\langle\Omega_1,\Omega_2\rangle = \operatorname{tr}(\Omega_1^\top\Omega_2)\) 单参数子群 \(R(t) = R_0 e^{t\Omega}\) 李群 exp = Riemannian exp
\(S^n\) \(\mathbb{R}^{n+1}\) 继承 大圆弧 自然嵌入度量
Stiefel \(\operatorname{tr}(\xi^\top\eta)\)(正则度量) 需要数值计算 简单直观
机械臂 惯性张量诱导 \(g_q(\dot q_1, \dot q_2) = \dot q_1^\top M(q) \dot q_2\) 动力学最优轨迹 最小努力原则

如果度量选错会怎样? 在机械臂运动规划中,如果用均匀度量(\(g = I\))而不是惯性度量(\(g = M(q)\)),得到的测地线是关节空间中的"直线"——看起来最短,但可能需要巨大的力矩来实现。用惯性度量得到的测地线才是真正"最省力"的路径。这说明度量不是纯数学选择,而是直接反映物理优化目标。

30.3 测地线与指数映射的几何关系 ⭐⭐⭐

Riemannian 指数映射:

\[ \operatorname{Exp}_p: T_pM \to M \]

定义为:\(\operatorname{Exp}_p(v)\) = 从 \(p\) 出发,沿切方向 \(v\),走单位时间到达的测地线终点。

在李群上,如果使用 bi-invariant 度量,Riemannian 指数映射与李群指数映射重合。

但一般情况下,二者不同。这是专题 2 会详细讨论的区别。

类比:Riemannian 指数映射好比从山顶放一个弹珠——弹珠沿最自然的路径滚下(测地线)。李群指数映射好比沿着单参数子群的代数路径走。在平坦山顶(bi-invariant 度量),两者一致;在倾斜山坡上,弹珠路径(测地线)与代数路径(单参数子群)会分道扬镳。


三十一、流形理论的历史脉络 ⭐

31.1 从 Gauss 到 Riemann ⭐

流形概念的演进:

时期 贡献者 核心思想
1827 Gauss 曲面的内蕴几何(Theorema Egregium:曲率是内蕴量)
1854 Riemann 推广到任意维数:"\(n\)-fold extended quantity"
1895 Poincare 分析位置(Analysis Situs):拓扑流形
1930s Whitney 嵌入定理:抽象流形可嵌入欧氏空间
1940s Ehresmann 纤维丛、联络的现代语言
1956 Milnor 奇异球面:同一拓扑流形可有不同光滑结构
1963 Smale 广义 Poincare 猜想(高维)

Gauss 的 Theorema Egregium("卓越定理")是整个内蕴几何的起点:它证明了曲面的 Gauss 曲率只依赖第一基本形式(度量),与嵌入方式无关。这意味着"弯曲程度"可以被曲面上的"居民"自行测量,无需跳出曲面看它嵌在哪里。Riemann 1854 年在哥廷根的就职演讲将此思想推广到任意维,奠定了现代微分几何的基础。

31.2 流形在机器人学中的引入 ⭐

流形语言在机器人学中的渗透是逐步的:

  • 1980s:机器人学开始使用 SO(3) 和 SE(3),但多以"矩阵群"而非"流形"的视角
  • 1994:Murray-Li-Sastry《A Mathematical Introduction to Robotic Manipulation》首次系统使用李群语言
  • 2005:Absil 等人把流形优化引入数值算法
  • 2012:Chirikjian《Stochastic Models, Information Theory, and Lie Groups》把流形概率论引入机器人
  • 2017:Barfoot《State Estimation for Robotics》把李群不确定性标准化
  • 2018:Sola《A micro Lie theory》为 SLAM 社区提供了流形工具的实用入口
  • 2023:Boumal《An Introduction to Optimization on Smooth Manifolds》建立了现代流形优化教材标准

这条时间线说明:流形不是"博士才需要的高深数学",而是机器人学在工程实践中逐步发现的必需工具。每一步引入都解决了具体的工程痛点——矩阵乘法的几何含义(1994)、状态估计的约束保持(2017)、大规模优化的效率(2005, 2023)。

31.3 SymPy 验证提示 ⭐

学习流形理论时,可以用 SymPy 验证坐标转换、Jacobian 和约束推导的正确性:

import sympy as sp

# 验证球极投影的坐标转换是光滑的
u, v = sp.symbols('u v', real=True)
# 北极投影坐标 -> 球面点
x_N = 2*u / (1 + u**2 + v**2)
y_N = 2*v / (1 + u**2 + v**2)
z_N = (u**2 + v**2 - 1) / (1 + u**2 + v**2)

# 球面点 -> 南极投影坐标
# 南极投影: (s,t) = (x/(1+z), y/(1+z))
s = sp.simplify(x_N / (1 + z_N))
t = sp.simplify(y_N / (1 + z_N))
print("转换函数 s =", s)  # 应得 u/(u^2+v^2)
print("转换函数 t =", t)  # 应得 v/(u^2+v^2)
# 这是 R^2\{0} 上的光滑映射(反演变换)

这种验证策略贯穿后续所有专题。每当手推一个公式感到不确信时,用 SymPy 做一次独立检验是非常好的习惯。

⚠️ 使用 SymPy 验证的注意事项

  1. SymPy 的 simplify 不保证找到最简形式,复杂表达式可能需要手动等价变换后比较
  2. 对旋转矩阵等正交矩阵,SymPy 不自动利用正交性约束,需要手动 subs 约束关系
  3. 验证结果为零时,用 sp.nsimplify 或数值代入双重确认

本章常见误解汇总

误解 正确理解
"局部像 \(\mathbb{R}^n\)"意味着可以全局使用欧氏公式 "局部像"只保证每个小邻域可借用欧氏工具;全局性质(如紧致性、不可定向性)完全不由局部坐标决定
切向量是嵌入空间中的"箭头" 切向量是内蕴定义的导子或曲线等价类,不依赖嵌入;在 Grassmann 流形等无自然嵌入的空间上"箭头"直觉会崩溃
流形只是"带约束的欧氏空间" 流形定义是内蕴的,不依赖嵌入;约束视角只是一种方便的计算技巧,不是概念本质
切丛和向量场是同一回事 切丛 \(TM\)\(2n\) 维流形;向量场是 \(TM\) 的一个截面(光滑映射 \(X: M \to TM\),满足 \(\pi \circ X = \mathrm{id}\)
Jacobian 只是"偏导数组成的矩阵" Jacobian 是切映射在选定坐标图下的矩阵表示;它是坐标无关的几何对象的坐标依赖表达
坐标转换只需要连续就够了 如果不要求光滑性,"\(f\) 是否可微"会变成依赖坐标图的判断,导致 Jacobian、梯度等核心工具丧失坐标无关性
外代数和微分形式只是纯数学装饰 微分形式是流形上积分的自然语言(Stokes 定理),在力与力矩的全局关系、Frobenius 可积性判别中直接应用
所有流形都可以用单张坐标图覆盖 \(S^1\)\(S^2\)\(SO(3)\) 等紧致流形都需要至少两张坐标图;欧拉角对 \(SO(3)\) 的万向锁正是单图覆盖失败的体现

结语:从抽象到具体的桥梁

光滑流形理论表面上是高度抽象的数学,但它解决的是一个非常具体的工程问题:如何在弯曲空间上做微积分。当你的机器人在 SE(3) 上规划轨迹、在 SO(3) 上做姿态插值、在 Grassmann 流形上估计子空间时,你操作的每一步都建立在本专题的语言之上。Tu 给你入门速度,Lee 给你百科全书式的深度,Milnor 给你大师级的洞察——三者配合,3–4 周即可建立完整的流形直觉,为后续李群、Retraction 和刚体动力学的学习打下不可替代的基础。

符号表

符号 含义 首次出现
\(M\) 光滑流形 §十二
\((U, \varphi)\) 坐标图(开集与同胚的配对) §14.3
\(\mathcal{A}\) 光滑图册 §15.1
\(T_pM\) 流形 \(M\) 在点 \(p\) 处的切空间 §十六
\(TM\) 切丛(所有切空间的不相交并) §二(核心章节清单)
\(T^*M\) 余切丛 §二(核心章节清单)
\(dF_p\) 光滑映射 \(F\)\(p\) 处的切映射(pushforward) §15.3
\(F^*\) 拉回(pullback) §二(核心章节清单)
$\frac{\partial}{\partial x^i}\big _p$ 坐标图 \((U, x^1,\dots,x^n)\) 下切空间的坐标基向量
\([X, Y]\) 向量场的 Lie bracket §二(核心章节清单)
\(d\) 外微分算子 §二(核心章节清单)
\(\Lambda^k(T^*M)\) \(k\)-形式丛(外代数丛) §二(核心章节清单)
\(C^\infty(M)\) \(M\) 上所有光滑实值函数的集合 §16.3