返回 E01~E90 教材库
E01 · 总 Day 271教材已备 ≠ 学习/真机已完成

E01:具身闭环与刚体变换语言

具身闭环与刚体变换语言 的核心不是记住一组机器人术语,而是围绕“state、observation、action 与 SO(2)/SO(3)/SE(2)/SE(3) 的职责”建立一个可以说明输入、状态、动作、假设、故障和证据边界的闭环解释。

2027-05-24state、observation、actionSO(2)/SO(3)/SE(2)/SE(3)的职责

内容类型:预习教材(不代表已完成)
日期:2027-05-24
阶段:P4 · Embodied Intelligence 90
总路线:Day 271 / 360
周次 / 节奏:W1 · 周一概念与数学
状态:教材已备;学习未完成
主题:state、observation、action 与 SO(2)/SO(3)/SE(2)/SE(3) 的职责

一句话定义

具身闭环与刚体变换语言 的核心不是记住一组机器人术语,而是围绕“state、observation、action 与 SO(2)/SO(3)/SE(2)/SE(3) 的职责”建立一个可以说明输入、状态、动作、假设、故障和证据边界的闭环解释。

学习目标

  1. 能用自己的话解释 state、observation、action 与 SO(2)/SO(3)/SE(2)/SE(3) 的职责,并把相近但不同的概念分开。
  2. 能从输入、内部状态、输出和时间尺度四个角度描述当天机制。
  3. 完成一个不依赖机器人硬件的最小推导、实现、仿真或 trace 观察。
  4. 能指出至少两种失败条件,以及这些失败应由模型、算法、接口还是运行层处理。
  5. 把当天知识连接到 perception→estimation→planning→control→feedback 的完整具身闭环。

核心知识

本周的核心问题是:位置、姿态、速度与观测怎样在明确的 frame、unit 和 timestamp 下组成可计算的具身闭环?

机器人不是直接在“世界”中计算,而是在一组被命名的参考系中交换量。旋转矩阵编码方向且满足正交约束,齐次变换把旋转和平移组合为群元素;SE(2)/SE(3) 的乘法表示变换复合,而不是普通向量相加。state 是环境和机器人真正需要描述的变量,observation 是传感器可见的投影,action 是系统允许施加的命令;三者维度相同也不能混用。

今天聚焦 state、observation、action 与 SO(2)/SO(3)/SE(2)/SE(3) 的职责。先画闭环,再把二维旋转矩阵的正交性、行列式与齐次变换逐项解释;明确群元素描述变换、向量描述被变换的量 先确定概念的适用对象,再看算法怎样变换信息,最后检查结果怎样进入下一层。机器人系统中的“正确”至少有三层:数学表达自洽、在指定模型/数据中行为符合预期、在当前证据范围内不作过度外推。三层不能互相替代。

frame、unit、timestamp 是跨感知、估计、规划和控制的接口契约。任一处不明确,后续数值即使类型正确也可能语义错误;本周的重点不是背群论名词,而是让每个向量都能回答“相对谁、用什么单位、在什么时刻”。

建议始终保留五个字段:frame/spaceunit/scaletimestamp/frequencyuncertainty/validitytermination/failure。它们不一定都出现在某个公式里,却决定模块能否组合、日志能否回放、故障能否归因。

机制与推导

二维位姿可写为 T = [[R, t], [0, 1]],点变换为 p_W = R_WB p_B + t_WB,逆变换为 T_BW = [R_WB^T, -R_WB^T t_WB]。组合顺序决定“先做哪个变换”,因此必须在符号中写出源 frame 与目标 frame。

针对本日,关键推理是:先画闭环,再把二维旋转矩阵的正交性、行列式与齐次变换逐项解释;明确群元素描述变换、向量描述被变换的量。把它展开为四步:

  1. 定义对象:明确 state、observation、action 或中间表示分别是什么,不用同一个数组名掩盖语义。
  2. 写出变换:说明从输入到输出使用的方程、搜索、优化、policy 或状态机,以及变量所在 frame 与时间。
  3. 列出假设:包括线性/高斯、已知地图、刚体、同步、数据覆盖、固定 embodiment 或安全 ODD 等。
  4. 设计反例:只改变一个关键假设,预测 trace、误差、不确定度或状态转换会怎样变化。

不要把数学推导和软件调用割裂:API 跑通只说明调用路径成立,公式手推正确只说明局部关系成立。真正的学习发生在二者能够对同一输入给出一致解释,并能说明什么时候不再一致。

最小练习或观察步骤

  1. 学习前预判:不查资料,写下“具身闭环与刚体变换语言”的输入、输出和最担心的一个失败。
  2. 建立最小场景:用纸面与 NumPy 各表示一个世界点、机器人 pose 和局部观测,完成局部到世界的计算。优先使用 NumPy、Matplotlib、自写 2D 环境或已有小仿真,不为跑框架牺牲机制理解。
  3. 保存 nominal trace:记录初态、参数、seed、关键中间量、action、termination 与一张图/表。
  4. 单变量故障注入:围绕“把 observation 当 state,或把 pose 当普通向量相加,会让不确定性、动作语义和复合顺序同时失真”只改变一个条件,保留对照。
  5. 四句收束:写下机制是什么、观察到了什么、证据只到哪一层、下一步还不确定什么。

本练习没有固定成功率和评分线。若环境安装不顺,可以用纸面 trace、预计算数据或伪代码完成同一个问题;不得制造运行结果。

常见误区与边界

  • 把模型输出当世界真值:observation、estimate、prediction 与真实 state 是不同对象。
  • 忽略时间与坐标:数值维度匹配不代表 frame、unit、frequency 或语义匹配。
  • 只看最终 success:轨迹中的 near-miss、抖动、旧数据、越界 action 和错误恢复同样重要。
  • 一次改变太多变量:复杂 randomization 或大模型会使最初的学习问题无法归因。
  • 把 benchmark 当现实:toy、2D、MuJoCo、sim-to-sim 和真机是不同证据层级。
  • 本日特有风险:把 observation 当 state,或把 pose 当普通向量相加,会让不确定性、动作语义和复合顺序同时失真。

具身/系统场景连接

它为后续相机外参、odometry、末端位姿、地图与 action frame 提供共同语言。在金融零售或线下服务场景中,即使机器人只做导引、盘点、递送或远程协助,仍需区分语义决策与物理执行:客户意图、空间位置、可达路径、速度/距离限制、人工接管和审计日志由不同层负责。模型更聪明不能自动修复错误 frame、旧 observation、控制饱和或模糊 handoff。

从未来 AGI 视角看,本日知识提供的是 grounding、闭环修正、因果动作后果或多主体协调的一块证据,不是“通用智能已实现”的证明。任何能力主张都要写明任务、环境、身体、动作空间、人工帮助与失败分布。

自检问题

  1. state、observation、action 与 SO(2)/SO(3)/SE(2)/SE(3) 的职责 中最容易被混为一谈的两个概念是什么?
  2. 当天机制的输入、内部状态、输出和更新频率分别是什么?
  3. 先画闭环,再把二维旋转矩阵的正交性、行列式与齐次变换逐项解释;明确群元素描述变换、向量描述被变换的量 依赖的最强假设是什么?
  4. 为什么“把 observation 当 state,或把 pose 当普通向量相加,会让不确定性、动作语义和复合顺序同时失真”不能只归因于模型能力?
  5. 你的最小练习最多支持什么结论,不能支持什么结论?
  6. 这个机制与上一层、下一层接口各需要一个什么 invariant?

专业课程对齐

本日主锚点:Modern Robotics · Foundations of Robot Motion。不要求完整修读外部课程,只在项目内教材无法回答问题时选读:

  1. Modern Robotics:对齐“Modern Robotics · Foundations of Robot Motion”的核心概念,优先读与 state、observation、action 与 SO(2)/SO(3)/SE(2)/SE(3) 的职责 直接相关的部分。
  2. MuJoCo Overview:用于核对实现、系统或研究假设;只观察与当天最小练习有关的接口。
  3. Stanford CS237A:提供另一种课程或官方证据视角,记录它能支持什么、不能支持什么。

阅读外部资料时只提取四项:问题定义、关键机制、实验配置、限制。课程作业与论文结果都是外部证据,除非自己在明确配置下复现,否则不能写成自己的观察。

深入学习提示

若当天内容已经清楚,可沿两个方向各追问一次。机制方向:删除哪个假设后,原方法首先失效?系统方向:如果该模块延迟翻倍、confidence 失真或输出 stale,下一层应继续、降级、重规划还是停止?再尝试画出 classical、learning-based 与 hybrid 三种实现;它们通常不是互斥答案,而是在先验、数据、算力、实时性、可解释性和安全边界之间取舍。

如果对前沿模型感兴趣,先用本日词汇重写它的能力主张。例如不要写“模型理解物理世界”,而要写它在哪种 observation、action、environment 与 evaluation 中表现出哪类迁移;随后列一个没有被当前证据排除的失败。

学后填写区

  • 学习前我的解释:
  • 我实际完成的推导 / 代码 / 仿真 / 阅读(可空):
  • 一个真实观察(未运行则写“未运行”):
  • 一个失败或反例:
  • 证据层级:纸面 / toy 2D / 指定 simulator / sim-to-sim / 外部资料
  • 与上一课的连接:
  • 仍然困惑的问题:
本页是未来 P4 的预习教材。等 P1、P2、P3 完成并正式进入 P4 后,再填写真实推导、仿真现象和证据层级;现在阅读不会改变P1 唯一进度账本