第一讲:流形是什么
流形 = 局部像欧氏空间、整体可以是弯曲的空间
你站在地球表面,脚下感觉是平的(局部 ),但地球整体是弯曲的球面()。机器人的关节角 构成一个 维流形——这就是物理流形 的具体实例。
前言:理论发展沿革
1827年,高斯在哥廷根发表《关于曲面的一般研究》,证明了著名的”绝妙定理”(Theorema Egregium):曲面的高斯曲率是其固有几何量,与嵌入方式无关。这意味着,一个二维生物只要测量内部距离,就能感知自身居住空间的弯曲程度——不需要借助外部的三维视角。这是微分几何史上的第一声惊雷。
1854年,27岁的黎曼在哥廷根做了一次改变数学史的就职演讲《论几何学基础中的假设》。在高斯面前,他把”流形”概念推广到任意维数,提出了黎曼度量张量,彻底解放了几何学:空间不再必须是平坦的欧氏空间。60年后,爱因斯坦正是用黎曼几何描述了引力场,将时空本身理解为一个四维弯曲流形。黎曼当年面向的听众中有高斯——那是数学史上最著名的一次”父子相传”。
20世纪初,庞加莱建立了代数拓扑,开始研究流形的全局性质——连通性、洞的个数、基本群。1944年,惠特尼(Whitney)证明了嵌入定理:任意光滑 维流形都可以嵌入 中。这给了工程师一个保证:高维关节空间尽管弯曲,仍可用足够高维的欧氏坐标来近似表达,神经网络的向量运算因此不会”出界”。
进入21世纪,机器学习界发现了流形假设:高维数据(图像、语音、关节轨迹)实际上集中在低维非线性流形附近。Tenenbaum 的 Isomap(2000)、Roweis 的 LLE(2000)、Hinton 的 t-SNE(2008)相继涌现——流形学习成为深度学习的数学前奏。EICPS 的物理流形 正是这条历史脉络在具身智能中的直接延伸:关节空间是弯曲的,控制律必须”顺着流形走”,而非在平坦的欧氏空间中硬算。
1 最简单的流形:圆 S¹
圆是1维流形嵌入在2维平面中:
用参数 描述圆上的位置——这就是局部坐标(Local Chart),是1维的。
import numpy as np
theta = np.linspace(0, 2*np.pi, 500)
x, y = np.cos(theta), np.sin(theta)
# theta 是1维坐标,(x, y) 是2维嵌入 → 1维流形
图注:
- 左图:圆 S¹ 是1维流形——整体弯曲,但点 P 处的切向量 TₚS¹ 只有1个自由方向(1维)。
- 中图:局部放大后弧段几乎与切线重合——这就是”局部像 ℝ¹(直线)“的直觉来源。
- 右图:用单一参数 θ 即可描述圆上任意点——流形维数 = 描述它所需的独立参数个数,与嵌入空间维数无关。
关键结论: 流形的维数 = 描述它所需的独立参数个数,与嵌入空间维数无关。
2 约束方程定义流形
流形通常由约束方程定义:
| 流形 | 环境 | 约束 | 维数 | 工程实例 |
|---|---|---|---|---|
| 圆 | 1 | 1 | 关节角 | |
| 球面 | 1 | 2 | 方向向量 | |
| 6 | 3 | 旋转矩阵 | ||
| 10 | 6 | 刚体位姿 | ||
| 关节空间 | 0 | 机器人 DOF |
图注:
- 左图:球面 S² 嵌在三维空间中,但每个点 P 的切平面 TₚS² 是2维的(一张平面),说明 S² 是2维流形。
- 中图:加入约束方程 x²+y²=1 后,二维自由空间”坍缩”到一维圆弧——每增加1个独立约束,维数降1。
- 右图:维数规律总结——dim(M) = 环境维数 − 独立约束数;从圆、球面到 SE(3)、机器人关节空间,均遵循此规律。
3 工程实例:2连杆机械臂
2连杆平面机械臂的配置空间是环面 (两个圆的乘积):
正运动学将关节空间映射到任务空间():
def forward_kinematics(theta1, theta2, l1=1.0, l2=0.8):
"""M_phy → R²:关节角 → 末端位置"""
x = l1 * np.cos(theta1) + l2 * np.cos(theta1 + theta2)
y = l1 * np.sin(theta1) + l2 * np.sin(theta1 + theta2)
return x, y
图注:
- 左图:任务空间视角——三种不同关节角配置 (θ₁, θ₂) 映射到不同的末端位置,体现正运动学的多对一性质。
- 中图:关节空间视角——2连杆的关节空间是环面 T²(两个圆的乘积);颜色表示末端 y 坐标,直观显示正运动学的非线性。橙色虚线框为关节限位,限位内的子区域就是 M_phy。
- 右图:可达工作空间(散点云)——正运动学将环面 T² 映射成任务空间中的环形区域,内径 |l₁−l₂|=0.2,外径 l₁+l₂=1.8。
加上关节限位 , 被裁成一个子流形——这正是 的含义:物理约束定义的可行状态空间。
4 流形上的距离:测地线
在流形上,两点之间的”真实距离”不是欧氏直线,而是测地距离(Geodesic Distance)——沿流形表面的最短路径。
球面上的 Slerp(球面线性插值)= 沿大圆弧走的测地线:
def geodesic_slerp(A, B, t):
"""球面测地线插值:从 A 到 B,参数 t ∈ [0,1]"""
omega = np.arccos(np.clip(np.dot(A, B), -1, 1))
if omega < 1e-10:
return A
return (np.sin((1-t)*omega)*A + np.sin(t*omega)*B) / np.sin(omega)
A = np.array([1, 0, 0])
B = np.array([0, 1, 0])
d_geo = np.arccos(np.dot(A, B)) # 测地距离 = π/2 ≈ 1.571
d_eucl = np.linalg.norm(B - A) # 欧氏距离 = √2 ≈ 1.414
图注:
- 左图:球面上 A、B 两点之间,青色大圆弧是测地线(流形上的最短路径),红色虚线是穿过球体内部的欧氏直线——后者在物理空间中根本不可达。
- 右图:随两点角度差增大,测地距离(弧长)与欧氏距离(弦长)之间的误差持续扩大(橙色区域)。对机器人规划而言,混用欧氏度量意味着”让机器人沿不可达路径穿越关节锁死区”——这正是 Sim-to-Real Gap 的几何根源之一,也是引入测地距离(或 GH 距离)的动机。
为什么这很重要? 如果用欧氏距离规划轨迹,路径会”穿越”流形内部——对机器人来说意味着穿过关节锁死区,这正是物理幻觉的几何根源。
5 具身空间 ε 的数学定义
把物理流形与逻辑模态空间结合,得到完整的具身空间:
| 分量 | 数学结构 | 含义 |
|---|---|---|
| 黎曼流形 | 关节角、速度、位姿 | |
| 有限状态图 | 模态:Idle, Cruise, Avoid, Grasp, Failsafe | |
| Flow | 在某一模态层内连续演化 | |
| Jump | 跨模态瞬时跳变 |
from dataclasses import dataclass
from enum import Enum
class Mode(Enum):
IDLE = 'Idle'; CRUISE = 'Cruise'
AVOID = 'Avoid'; GRASP = 'Grasp'; FAILSAFE = 'Failsafe'
@dataclass
class EmbodiedState:
q: np.ndarray # 关节角(M_phy 坐标)
dq: np.ndarray # 关节速度
mode: Mode # 逻辑模态(S_logic)
def in_manifold(self, q_lim=2.5, dq_lim=3.0) -> bool:
"""判断是否满足 M_phy 的物理约束"""
return bool(
np.all(np.abs(self.q) <= q_lim) and
np.all(np.abs(self.dq) <= dq_lim)
)
图注:
- 左图(关节空间 M_phy 分量):蓝色虚线框内是满足关节限位的可行域;各彩色点代表不同逻辑模态下的关节角配置。
- 右图(任务空间):正运动学将 M_phy 上的点映射到末端工作空间;浅蓝散点是全体可达位置,彩色点对应具体模态。
- 两图合并说明了具身空间 ε 的核心:同一个状态同时携带”在哪里”(连续几何)和”处于何种模态”(离散逻辑),两者缺一不可。
配套 Notebook
本讲所有代码和图表均可在 Colab 中直接运行:
包含:S¹ / S² 可视化、2连杆关节空间环面、测地线 vs 欧氏距离、具身空间 ε 状态建模,共 5 组交互图表。
参考文献
-
Riemann, B. (1854). Über die Hypothesen, welche der Geometrie zu Grunde liegen. 哥廷根就职演讲。黎曼流形概念的诞生之作,爱因斯坦广义相对论的数学基础,也是 EST 物理流形 的思想源头。
-
Whitney, H. (1944). The self-intersections of a smooth n-manifold in 2n-space. Annals of Mathematics, 45(2), 220–246. 嵌入定理:任意光滑 维流形可嵌入 ,为神经网络在高维欧氏空间中近似流形提供了理论依据。
-
Tenenbaum, J. B., de Silva, V., & Langford, J. C. (2000). A global geometric framework for nonlinear dimensionality reduction. Science, 290(5500), 2319–2323. Isomap 算法,用测地距离揭示数据流形的内在低维结构,流形学习的奠基论文之一。
-
Roweis, S. T., & Saul, L. K. (2000). Nonlinear dimensionality reduction by locally linear embedding. Science, 290(5500), 2323–2326. LLE 算法,与 Tenenbaum 同期发表于同一期 Science,共同开启了流形假设在机器学习中的工程应用。
-
Belkin, M., & Niyogi, P. (2003). Laplacian eigenmaps for dimensionality reduction and data representation. Neural Computation, 15(6), 1373–1396. 用图拉普拉斯特征映射保持流形局部几何结构,连接了本讲流形理论与第四讲谱分析。
延伸阅读
- 三种流形 — 、、 的完整理论
- Flow-Jump 机制 — 上的混合动力学
- Sim-to-Real Gap — 用 GH 距离量化流形偏差