本文档属于 Robotics Tutorial 项目,作者:Pengfei Guo,达妙科技。采用 CC BY 4.0 协议,转载请注明出处。
复合方向综合教学大纲(轮足 / 移动操作 / 四足臂 / 人形)
版本: v1.0 | 日期: 2026-05-24
定位: 面向完成足式基础(腿足 Part A-C 约 20 周)与机械臂核心(Part 0-2 约 10 周)的工程师/研究者,系统进入复合形态(移动基座 + 操作臂)的运动控制方向。本大纲聚焦 MPC / WBC / 优化 / 混合控制 等运动控制核心内容;具身智能(纯 RL / VLA / 模仿学习)章节标注 "→ 06_具身智能" 方向并保留交叉引用。
数据基础: 6 个调研 agent + 3 个审计 agent 对 30+ 章节的源码级分析;课程按 2026-05 版本锁定 OCS2 (ROS2 移植) / Pinocchio 3.9 / MuJoCo 3.x / IsaacLab,具体 API 与版本特性以各项目当前官方文档和 release notes 为准。
总投入: Part A 通用基础 4 章 ~6 周 + Part B 轮足 5 章 ~10 周 + Part C 底盘臂 2 章 ~4 周 + Part D 四足臂 4 章 ~9 周 + Part E 人形 1 章 ~3 周 + Part F 跨形态 3 章 ~6 周 + 交叉/桥接 5 章 ~5 周,合计 24 章运动控制核心 ~43 周;另有 7 章具身智能标注章节可按需选修(→ 06_具身智能)。
Quick-Start 路径
不是每个人都需要完整 43 周核心课程。以下三条最小路径让你快速获得目标能力:
路径 1: 研究入门(~7 周)
10_全景(0.5周) → 20_浮动基座动力学(2周) → 30_多模态MPC(2周)
→ 220_经典人形全身控制(2周) → 280_多机协作(0.5周速览)
总计 ~7 周
适合:博士新生快速建立复合机器人 MPC/WBC 研究视野,可从 220 或 280 选择深入方向。
路径 2: 轮足工程(~10 周)
10_全景(0.5周) → 20_浮动基座动力学(2周) → 60_轮式运动学(1.5周)
→ 70_轮足混合MPC(2周) → 100_模式切换(1.5周)
→ 110_SimToReal与硬件(1.5周) → 90_商业化案例(1周)
总计 ~10 周
适合:面向轮足机器人产品落地的工程师,从运动学到 MPC 到部署的完整闭环。前置知识要求最低,跳过全身动力学细节,聚焦运动学约束和 MPC 工程调参。
路径 3: 四足臂 MPC(~9 周)
10_全景(0.5周) → 20_浮动基座动力学(2周) → 30_多模态MPC(2周)
→ 160_四足臂动力学(1.5周) → 170_qm_control精读(2周)
→ 210_RAMBO混合MPC+RL(1周)
总计 ~9 周
适合:研究四足操作的研究者,从统一动力学到 OCS2 NMPC+WBC 再到混合 MPC+RL 前沿。需要较强的优化理论基础(QP/NLP/AD),建议先补齐机械臂 M05-M06。
计算与硬件需求
| 章节范围 | GPU | 真机 | 备注 |
|---|---|---|---|
| 10, 20, 50, 60, 120 (理论教学) | -- | -- 纯推导+仿真 | MuJoCo / Pinocchio |
| 30, 70, 100, 130 (MPC/OCS2) | -- | -- OCS2仿真 | OCS2 + ROS2, CPU 即可 |
| 160, 170, 220 (WBC/TSID) | -- | -- 仿真优先 | Pinocchio + ProxQP |
| 210, 215 (混合MPC+RL/CI-MPC) | !! 训练需GPU | -- | RTX 3060+ 推荐 |
| 110 (SimToReal与硬件) | -- | !! 推荐真机 | ros2_control + ONNX |
| 280, 290 (多机/闭环) | !! 分布式仿真 | !! 多机推荐 | MuJoCo MJX / Isaac |
| 40, 80, 230 (RL, →06) | !! A100/4090 | -- | IsaacLab |
| 140, 150, 260 (VLA, →06) | !! A100 | -- | 大模型推理/微调 |
| 交叉章节 (180-200, 250, 270) | !! 训练需GPU | -- | 论文复现 |
工业 vs 研究标记
| 标记 | 含义 | 代表章节 |
|---|---|---|
| 工业 | 产品落地核心 | 60(轮式运动学), 110(SimToReal硬件), 90(商业化), 130(OCS2 MM) |
| 研究 | 研究前沿 | 210(RAMBO), 215(CI-MPC), 280(多机协作), 220(人形WBC) |
| 工业+研究 | 兼有 | 30(多模态MPC), 70(轮足混合MPC), 170(qm_control), 290(统一闭环) |
总览路线图
足式基础完成 (Part A-C ~20周) 机械臂核心完成 (P01-M06 ~10周)
│ 浮动基座动力学 · WBC · MPC │ Pinocchio · IK · QP/NLP · AD
│ GRF · 步态 · 接触建模 │ 碰撞检测 · 轨迹优化
└──────────────┬─────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ Part A 通用基础 (10, 20, 30, 50 — ~6 周) │
│ 全景导航 → 浮动基座统一动力学 → 多模态MPC → 操作技能接口 │
└─────────────────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌────────────────┐ ┌──────────────────┐ ┌────────────────────────┐
│ Part B 轮足 D1 │ │ Part C 底盘臂 D2 │ │ Part D 四足臂 D3a │
│ (60,70,100, │ │ (120, 130 │ │ (160,170,210,215 │
│ 110,90 ~10周) │ │ ~4周) │ │ ~9周) │
│ Pfaffian → │ │ 冗余雅可比 → │ │ 统一动力学 → │
│ 混合MPC → │ │ OCS2 MM │ │ qm_control → │
│ 模式切换 → │ │ │ │ RAMBO → CI-MPC │
│ 硬件部署 → │ │ │ │ │
│ 商业化案例 │ │ │ │ │
└───────┬────────┘ └───────┬──────────┘ └──────────┬─────────────┘
│ │ │
│ ┌──────────────────────────────┐ │
│ │ Part E 人形 D3b │ │
│ │ (220 — ~3周) │ │
│ │ TSID/HQP/ZMP-MPC │ │
│ └──────────────┬───────────────┘ │
│ │ │
└───────────────────┼─────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ Part F 跨形态收束 (280, 290, 300 — ~6 周) │
│ 多机协作 → 感知-操作-运动统一闭环 → 研究方向与博士规划 │
└─────────────────────────────────────────────────────────────────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
交叉/桥接章节 具身智能标注 附录
(180,190,200, (40,80,140,150,
250,270) 230,240,260
运动控制+学习 → 06_具身智能)
章节依赖关系图
10_全景
├──→ 20_浮动基座动力学
│ ├──→ 30_多模态MPC ──→ 70_轮足混合MPC ──→ 100_模式切换 ──→ 110_SimToReal ──→ 90_商业化
│ │ │ │
│ │ ├──→ 130_OCS2_MM ←── 120_底盘臂联合规划 │
│ │ │ │
│ │ ├──→ 160_四足臂动力学 ──→ 170_qm_control ──→ 210_RAMBO
│ │ │ │ │
│ │ │ └──→ 215_接触切换MPC (新增)
│ │ │
│ │ └──→ 220_经典人形全身控制
│ │
│ └──→ 50_操作技能接口 ──→ 120_底盘臂联合规划
│ │
│ └──→ 160_四足臂动力学
│
└──→ 60_轮式运动学 ──→ 70_轮足混合MPC
交叉章节依赖:
170 ──→ 180_Deep_WBC (⚠️交叉)
170 ──→ 190_Visual_WBC (⚠️交叉)
170 + 50 ──→ 200_UMI_on_Legs (⚠️交叉)
220 ──→ 250_力敏感LocoMani (⚠️交叉)
全形态 ──→ 270_SimToReal统一 (⚠️交叉)
收束:
所有Part ──→ 280_多机协作 ──→ 290_统一闭环 ──→ 300_研究方向
具身智能标注(→06):
20 ──→ 40_RL全身控制 (❌→06)
60 ──→ 80_Wheel_Legged_Gym (❌→06)
120 ──→ 140_VLA移动操作 (❌→06)
140 ──→ 150_Mobile_ALOHA (❌→06)
220 ──→ 230_人形全身RL (❌→06)
230 ──→ 240_ASAP_SimToReal (❌→06)
全形态 ──→ 260_VLA_Foundation (❌→06)
前置知识依赖矩阵
| 本大纲章节 | 依赖足式基础 | 依赖机械臂核心 | 关键知识点 |
|---|---|---|---|
| 20 浮动基座动力学 | 腿足 Part A (RNEA/ABA) | M01 (Pinocchio) | CMM, CRBA, nq != nv, 浮动关节 Lie 群 |
| 30 多模态MPC | 腿足 MPC 章节 | M05 (QP/NLP), M06 (AD) | OCS2, SQP-RTI, CasADi codegen |
| 50 操作技能接口 | — | M03 (IK), M05 (QP/NLP) | task-frame, SE(3) 规划, WBC+IK-QP |
| 60 轮式运动学 | 腿足 Part A (运动学) | — | Pfaffian 约束, 非完整系统可控性 |
| 70 轮足混合MPC | 腿足 MPC+WBC | M05 (QP/NLP) | OCS2 切换三模态, GRF 约束 |
| 120 底盘臂联合规划 | — | M03 (IK), M05 (QP/NLP) | 冗余雅可比, 零空间投影 |
| 160 四足臂动力学 | 腿足动力学 | M01 (Pinocchio), M02 (库对比) | 统一浮动基座+臂, 质心动力学 |
| 170 qm_control | 腿足 WBC | M05 (QP/NLP), M06 (AD) | OCS2 NMPC+WBC 全栈 |
| 210 RAMBO | 腿足 RL 基础 | — | QP 前馈+RL 残差 |
| 215 接触切换MPC | 腿足接触建模 | M05 (QP/NLP) | 互补约束, ADMM, CI-MPC |
| 220 经典人形全身控制 | 腿足 WBC/ZMP | M05 (QP/NLP) | TSID, HQP, ZMP-MPC |
| 280 多机协作 | 腿足 MPC | — | 分布式 MPC, 星形 ADMM |
前置三层口径: - 最低可启动: 足式 Part A (刚体动力学/运动学) + 机械臂 M01 (Pinocchio)。可支撑 Quick Start 研究路径。 - 推荐补齐: 足式 Part A-C (含 MPC/WBC) + 机械臂 P01-M06 (含 QP/NLP/AD)。适合完整学习 Part A-F。 - 完整前置: 足式完整 + 机械臂完整第一篇;未完成者按各大纲附录的章节索引补齐相关章节。
复合机器人技术生态速览(截至 2026-05)
MPC 框架对比
| 框架 | 已验证平台 | 特点 | 状态 |
|---|---|---|---|
| OCS2 | Digit, ANYmal, B2 | 多模态 SQP-RTI, ROS2 移植 | 维护模式, 仍为教学首选 |
| Aligator | Digit | ProxDDP, TRO 2025 | OCS2 后继, INRIA 主推 |
| MJPC | H1 | DeepMind, 零配置, 采样MPC | 快速原型验证 |
| Fatrop | ANYmal, B2+Z1 | 内点法, 全身实时 80Hz | 最新全身MPC求解器 |
| RAPTOR | Digit | 仅驱动关节+逆动力学 | 降维加速 |
2025-2026 研究热点
| 方向 | 代表工作 | 方法 |
|---|---|---|
| 全身 MPC | Fatrop 逆动力学 MPC, MuJoCo iLQR | 单层全身优化取代分层 |
| 轮足 MPC | GMPC 李群 SE(2), 全向统一建模 | 非完整凸化, 无模式切换 |
| 接触切换 | Global CI-MPC, C3/C3+ | 采样+局部 CI-MPC, ADMM |
| 混合 MPC+RL | RAMBO, Guided RL, ToMPC | QP 前馈+RL 残差, 安全MPC |
| 分布式多机 | ACLM, ADMM+CBF | 4 台四足臂星形 ADMM |
| 人形 MPC | Gait-Net, SRB-MPC+HLIP, ULC | 变频步态, 统一 loco-mani |
Part A: 通用基础(10, 20, 30, 50 — ~6 周)
完成本 Part 后你能做什么: 理解复合机器人三大子方向的技术谱系;掌握浮动基座 + 臂的统一动力学建模;在 OCS2 中搭建多模态 MPC 仿真;设计 task-frame 操作技能接口。这是所有后续 Part 的公共基座。
10_复合机器人全景
本章为整个复合方向的导航地图,梳理轮足(D1)、移动操作(D2)、四足臂(D3a)、人形(D3b)四大子方向的技术谱系、共享模块与分化节点。置于首位是因为学习者需要先建立全局视野,再决定深入方向。
| 属性 | 值 |
|---|---|
| 行数 | 1505 行 |
| 周数 | 0.5 周 |
| 前置依赖 | 足式基础 Part A (运动学/动力学概念); 机械臂 P01 (URDF 建模) |
| 归属 | 导航 |
| 文档类型 | 理论教学 |
核心知识点: 1. 复合机器人定义:移动基座 + 操作末端的统一系统,nq != nv 的核心特征 2. 三大子方向技术谱系:轮足 → 底盘臂 → 足式操作(四足臂/人形)的递进关系 3. 运动控制 vs 具身智能的边界划分:MPC/WBC/优化 vs RL/VLA/模仿学习 4. 共享模块识别:浮动基座动力学、多模态 MPC、操作技能接口为所有子方向公共基座 5. 分化节点识别:约束类型(非完整/接触切换/全身柔顺)决定后续技术路线 6. 硬件平台谱系:ANYmal+Z1 / RIVR / B2+Z1 / Digit / H1 / Figure / 1X 的定位与特点 7. 开源项目地图:OCS2 / qm_control / MJPC / IsaacLab 各自覆盖范围 8. 学习路径规划:根据个人背景(工程/研究)和目标平台选择 Quick-Start 路径
关键项目: 1. OCS2 (leggedrobotics) — 多模态 MPC 框架,本方向核心工具 2. qm_control (ARISE) — 四足臂 NMPC+WBC 全栈实现 3. MuJoCo Playground (DeepMind) — 快速原型验证环境 4. MJPC (DeepMind) — 零配置采样 MPC
关键论文: 1. Sleiman et al. (2021) "Unified MPC Framework for Whole-Body Dynamic Locomotion and Manipulation" 2. Bellicoso et al. (2019) "Alma - Articulated Locomotion and Manipulation for a Torque-Controllable Robot"
练习: 1. A 型: 画出复合机器人四大子方向的技术依赖树,标注共享节点和分化点 2. B 型: 选择一个目标平台(如 B2+Z1),列出从本大纲到实机部署需要的完整技术栈 3. 思考题: 为什么轮足机器人在商业化上领先于四足臂?工程复杂度和市场需求各扮演什么角色?
20_浮动基座臂统一动力学
本章建立复合机器人的数学基础:将浮动基座(腿足/轮足/人形)与操作臂统一为单一多体系统,推导 CMM/CRBA 及其对控制器设计的影响。紧接全景章节是因为所有后续 MPC/WBC 算法都依赖这一统一动力学框架。
| 属性 | 值 |
|---|---|
| 行数 | 1764 行 |
| 周数 | 2.0 周 |
| 前置依赖 | 10; 足式 Part A (RNEA/ABA); 机械臂 M01 (Pinocchio 3.x) |
| 归属 | ✅ 运动控制 |
| 文档类型 | 理论教学 |
| 标记 | 工业+研究 |
核心知识点:
1. 浮动基座广义坐标:q = [p_base, quat_base, q_legs, q_arm]^T,nq != nv (四元数 4 → 角速度 3)
2. 复合惯量矩阵 M(q) 的分块结构:基座-腿-臂耦合项的物理意义
3. CMM (Centroidal Momentum Matrix):质心动量与关节速度的线性映射 h = A(q) * v
4. CRBA (Composite Rigid Body Algorithm):O(n) 惯量矩阵计算,Pinocchio crba() 实现
5. 非线性项 C(q, v)v + g(q) 的物理来源:科里奥利力、离心力、重力
6. 接触雅可比 J_c 与约束动力学:Ma + Cv + g = S^Ttau + J_c^Tf
7. 浮动基座 vs 固定基座:S (选择矩阵) 前 6 行为零的含义 — 基座不可直接驱动
8. Pinocchio 3.x 中的浮动关节建模:JointModelFreeFlyer 的 Lie 群 SE(3) 抽象
9. 多体树的拓扑结构对算法效率的影响:串联 vs 分支(四足+臂为树形, 人形为树形+闭链)
10. 惯性参数辨识:Swevers 法在复合系统中的特殊挑战(基座惯性不可独立辨识)
11. 从单臂到复合的认知跃迁:为什么不能简单"底盘 + 臂"叠加
12. 数值验证:Pinocchio FK/RNEA/ABA 与 MuJoCo 仿真的一致性检查方法
关键项目:
1. stack-of-tasks/pinocchio (v3.9) — 浮动基座多体算法参考实现
2. google-deepmind/mujoco (v3.x) — 仿真验证平台
3. OCS2 ocs2_centauro — CENTAURO 37-DoF 双臂四足参考
4. Drake MultibodyPlant<T> — 标量参数化对比
关键论文: 1. Featherstone (2008) "Rigid Body Dynamics Algorithms" — 浮动基座 RNEA/ABA 经典推导 2. Orin et al. (2013) "Centroidal Dynamics of a Humanoid Robot" — CMM 的系统推导 3. Wensing et al. (2016) "Improved Computation of the Humanoid Centroidal Dynamics"
练习: 1. A 型: 用 Pinocchio 加载 ANYmal+Z1 URDF,提取 M(q) 的分块结构,标注基座-腿-臂耦合子矩阵 2. B 型: 对比固定基座 (7-DOF 臂) 和浮动基座 (四足+7-DOF 臂) 的惯量矩阵维度和稀疏模式 3. C 型: 在 MuJoCo 中让四足臂自由落体 2s,用 Pinocchio 离线计算同一轨迹的广义力,验证残差 < 1e-6 4. 思考题: 为什么 CMM 在足式 MPC 中如此关键?它如何将全身 (30+ DoF) 的动量控制简化为 6 维问题?
30_多模态MPC
本章讲授复合机器人运动控制的核心算法框架——多模态 MPC。通过在优化问题中编码不同接触模式(站/走/操作/滑行),实现一套控制器应对多种运动形态。置于动力学之后是因为 MPC 的状态/控制变量直接来源于第 20 章的统一动力学模型。
| 属性 | 值 |
|---|---|
| 行数 | 2485 行 |
| 周数 | 2.0 周 |
| 前置依赖 | 20; 足式 MPC 章节; 机械臂 M05 (QP/NLP), M06 (AD/codegen) |
| 归属 | ✅ 运动控制 |
| 文档类型 | 算法工程 |
| 标记 | 工业+研究 |
核心知识点:
1. OCP (Optimal Control Problem) 标准形式:min J s.t. x_{k+1} = f(x_k, u_k), 约束 g/h
2. SQP-RTI (Sequential Quadratic Programming - Real-Time Iteration):一次 QP + 一步仿真的实时策略
3. OCS2 架构精读:SystemDynamics / ConstraintBase / CostBase 的模块化设计
4. 多模态编码:接触时序 (mode schedule) 作为 MPC 的外部输入,不同模态对应不同约束集
5. 接触力约束:摩擦锥线性化 (4/8 面体近似)、单边接触 f_z >= 0、力矩约束
6. 质心动力学简化模型 (SRB/CCRB):降维 MPC 的数学基础与适用范围
7. 全身动力学 MPC vs 质心 MPC:计算量-精度权衡,Fatrop 80Hz 全身 MPC 突破
8. 代码生成加速:CasADi → C 代码 → 编译 → 实时执行的完整链路
9. MPC 参数调参工程:预测时域、权重矩阵、终端代价、warm start 策略
10. 框架对比:OCS2 vs Aligator vs MJPC vs Fatrop 的适用场景与性能
11. 与 WBC 的接口:MPC 输出参考轨迹/力 → WBC 跟踪 → 关节力矩
12. 调试工程:可视化 MPC 预测轨迹、约束违反、求解器收敛监控
关键项目:
1. leggedrobotics/ocs2 — 核心 MPC 框架,精读 ocs2_core 和 ocs2_mpc
2. Simple-Robotics/aligator — ProxDDP 后继框架
3. google-deepmind/mujoco_mpc (MJPC) — 零配置采样 MPC
4. meco-group/fatrop — 内点法全身 MPC 求解器
关键论文: 1. Sleiman et al. (2021) "Unified MPC Framework for Whole-Body Dynamic Locomotion and Manipulation" 2. Diehl et al. (2005) "A Real-Time Iteration Scheme for Nonlinear Optimization in Optimal Feedback Control" 3. Jordana et al. (2025) "Aligator: A Versatile and Efficient Framework for Constrained Trajectory Optimization" (TRO) 4. arXiv 2511.19709 — Fatrop 逆动力学 MPC (80Hz, B2+Z1) 5. arXiv 2503.04613 — MuJoCo iLQR 全身 MPC (H1)
练习: 1. A 型: 在 OCS2 中搭建双足 SRB-MPC,实现站立平衡控制 2. B 型: 修改 OCS2 mode schedule 从站立切换到行走,观察 GRF 分配变化 3. C 型: 用 CasADi 实现一个简化的单刚体 MPC (3D LIP) 并对比 OCS2 结果 4. 思考题: SQP-RTI 为什么只做"一次 QP 迭代"就返回控制?这对系统稳定性有什么隐含假设?
过渡: 30 章建立了多模态 MPC 的通用框架。接下来 50 章从操作端切入——MPC 负责底层运动,操作技能接口则定义上层"做什么"。
50_操作技能接口
本章建立复合机器人"操作侧"的抽象接口——如何将高层任务(抓取/放置/推/插入)编码为 MPC/WBC 可消费的目标。这是连接运动控制与任务规划的关键中间层。置于 MPC 之后是因为操作接口的输出直接作为 MPC 的参考输入。
| 属性 | 值 |
|---|---|
| 行数 | 1770 行 |
| 周数 | 1.5 周 |
| 前置依赖 | 20; 机械臂 M03 (IK), M05 (QP/NLP) |
| 归属 | ✅ 运动控制 |
| 文档类型 | 理论教学 |
| 标记 | 工业+研究 |
核心知识点: 1. task-frame formalism:将末端任务分解到操作空间的 6 个自由度分别指定约束/阻抗 2. SE(3) 目标表征:位姿 + 速度 + 力的多层目标设定 3. 抓取规划接口:GraspNet / 解析抓取 → SE(3) 目标位姿 → MPC/WBC 参考 4. WBC + IK-QP 的操作层实现:将笛卡尔目标转为关节空间控制 5. 操作技能原语库:approach → grasp → lift → transport → place 的状态机 6. 全身操作的约束传播:末端操作目标如何通过雅可比链传播到基座运动 7. 力/位混合控制接口:某些自由度位控、某些力控的 task-frame 编码 8. 操作技能与步态的协调:操作时步态需从行走切换到稳定支撑 9. 多任务优先级:操作 vs 平衡 vs 自碰撞避免的层级关系 10. 操作技能接口的抽象设计:使同一接口适配底盘臂/四足臂/人形三种形态
关键项目:
1. OCS2 ocs2_mobile_manipulator — 操作层 MPC 接口参考
2. stack-of-tasks/sot-core — Stack of Tasks 操作层框架
3. Pinocchio computeFrameJacobian — 操作空间雅可比计算
关键论文: 1. Khatib (1987) "A Unified Approach for Motion and Force Control of Robot Manipulators" 2. Sentis & Khatib (2005) "Synthesis of Whole-Body Behaviors through Hierarchical Control of Behavioral Primitives"
练习: 1. A 型: 用 Pinocchio 计算四足臂末端雅可比,验证基座运动对末端位姿的耦合效应 2. B 型: 实现一个最小 task-frame 接口:6 维 (x,y,z,roll,pitch,yaw) 分别设为位控或力控 3. 思考题: 为什么固定基座机械臂不需要 task-frame 的"全身传播"?浮动基座带来了什么根本性差异?
过渡: Part A 建立了统一动力学 (20)、MPC 框架 (30) 和操作接口 (50) 三大公共基座。接下来各 Part 按子方向展开——Part B 专注轮足约束,Part C 专注底盘臂冗余,Part D 专注四足臂全身控制。
Part B: 轮足 D1(60, 70, 100, 110, 90 — ~10 周)
完成本 Part 后你能做什么: 掌握轮式非完整约束的数学建模;在 OCS2 中实现轮-足-混合三模态 MPC;设计有限状态机驱动的模式切换逻辑;通过 ros2_control + ONNX 完成 sim-to-real 部署;理解 Swiss-Mile/RIVR 的商业化路径。
60_轮式运动学与 Pfaffian
本章专门处理轮足机器人特有的非完整约束——轮子只能沿滚动方向运动,不能侧滑。这些 Pfaffian 约束直接影响 MPC 的约束集设计。置于 Part B 首位是因为轮式运动学是后续轮足 MPC 的数学基础。
| 属性 | 值 |
|---|---|
| 行数 | 1500 行 |
| 周数 | 1.5 周 |
| 前置依赖 | 20; 足式 Part A (运动学基础) |
| 归属 | ✅ 运动控制 |
| 文档类型 | 理论教学 |
| 标记 | 工业 |
核心知识点: 1. 非完整约束数学定义:A(q) * dq = 0,不可积分为位形约束 2. Pfaffian 矩阵构建:从接触点无侧滑条件推导轮式约束矩阵 3. 差速/全向/舵轮/麦轮运动学模型统一表述 4. 可控性分析:Lie bracket / Chow 定理判定非完整系统的可达空间 5. 轮式约束在 MPC 中的编码:等式约束 vs 软惩罚 vs 凸化 6. 滑移建模:侧向滑移角、Magic Formula (Pacejka) 轮胎模型 7. GMPC 李群 SE(2) 方法:在 SE(2) 上直接优化,自然处理非完整约束(arXiv 2403.07317) 8. 全向统一建模:无模式切换的轮足统一运动学(arXiv 2509.14010) 9. 4WIS (四轮独立转向) 统一模型与 Magic Formula 集成(SSRN:5315052) 10. 能效步态优化:预测能量消耗选择最优运动模式(arXiv 2601.10723)
关键项目:
1. OCS2 轮足示例 — 非完整约束 MPC 参考实现
2. ARISE-Lab/unitree_ros — 实际轮足平台 ROS2 驱动
关键论文: 1. Murray, Li & Sastry (1994) "A Mathematical Introduction to Robotic Manipulation" — 非完整约束经典 2. Bjelonic et al. (2019) "Keep Rollin' — Whole-Body Motion Control and Planning for Wheeled Quadrupedal Robots" 3. arXiv 2403.07317 — GMPC 李群 SE(2) 轮足运动学 MPC
练习: 1. A 型: 推导差速驱动和全向底盘的 Pfaffian 矩阵,验证可控性 2. B 型: 在 MuJoCo 中搭建轮足模型,对比有/无侧滑约束的轨迹跟踪精度 3. 思考题: 非完整约束为什么不能通过简单的关节限位实现?它与完整约束的本质区别是什么?
70_轮足混合 MPC
本章将第 30 章的多模态 MPC 框架具体化到轮足场景——在轮行/行走/混合三种模态下求解最优控制。这是轮足方向最核心的算法章节。紧接运动学是因为 MPC 的约束集直接来源于第 60 章的 Pfaffian 约束。
| 属性 | 值 |
|---|---|
| 行数 | 1501 行 |
| 周数 | 2.0 周 |
| 前置依赖 | 30, 60; 足式 MPC+WBC |
| 归属 | ✅ 运动控制 |
| 文档类型 | 算法工程 |
| 标记 | 工业+研究 |
核心知识点: 1. 轮足三模态定义:纯轮行 (skating) / 纯行走 (walking) / 混合 (wheeled-walking) 及其物理约束差异 2. OCS2 切换模式实现:mode schedule 编码三模态序列,每模态对应不同约束集 3. 轮行模式 MPC:底盘速度控制 + 非完整约束 + 滚动摩擦 4. 行走模式 MPC:标准四足 MPC + GRF 摩擦锥 + 步态时序 5. 混合模式 MPC:同时优化轮速和足端力,约束集为前两者的并集 6. WBC 跟踪层:MPC 参考 → WBC QP → 关节力矩,实时 500Hz 7. 模态切换策略:基于地形/速度/能耗的启发式切换 vs 优化驱动的软切换 8. 无模式切换统一建模:统一运动学+动力学避免硬切换(arXiv 2509.14010) 9. 能效步态优化:在多模态间自动选择能量最优模式(arXiv 2601.10723) 10. 轮足 MPC 调参实践:轮-腿力矩分配权重、预测时域、终端代价设计
关键项目:
1. OCS2 ocs2_wheeled_robot — 轮足 MPC 参考实现
2. ethz-asl/kindr — 运动学/动力学 C++ 工具库
3. MuJoCo 轮足模型 — 仿真验证平台
关键论文: 1. Bjelonic et al. (2020) "Whole-Body MPC and Online Gait Sequence Generation for Wheeled-Legged Robots" 2. Meduri et al. (2023) "Biconmp: A Nonlinear Model Predictive Control Framework for Whole Body Motion Planning" 3. arXiv 2509.14010 — 全向统一建模无模式切换 4. arXiv 2601.10723 — 能效步态预测选择
练习: 1. A 型: 在 OCS2 中配置轮足 MPC 的三种模态,分别在平地上测试纯轮行和纯行走 2. B 型: 实现混合模式 MPC 并绘制轮速 vs 足端力的时间曲线,分析力矩分配 3. C 型: 修改 mode schedule 实现自动模态切换(平地轮行→台阶行走),记录切换时的约束违反瞬态 4. 思考题: 混合模式是否总优于纯轮行或纯行走?在什么场景下单模态更优?
100_模式切换
本章深入处理轮足(及一般复合)机器人的模式切换机制——从简单有限状态机到混杂系统理论再到 OCS2 的软切换实现。紧接轮足 MPC 是因为切换逻辑是 MPC 多模态调度的核心难题。
| 属性 | 值 |
|---|---|
| 行数 | 1862 行 |
| 周数 | 1.5 周 |
| 前置依赖 | 70 |
| 归属 | ✅ 运动控制 |
| 文档类型 | 算法工程 |
| 标记 | 研究 |
核心知识点: 1. 有限状态机 (FSM) 设计:状态/转移/守卫条件/动作的标准建模 2. 混杂系统理论:连续流 + 离散跳变,Zeno 行为与 guard crossing 3. OCS2 模式切换机制:mode schedule 的时序编码与运行时切换 4. 守卫条件设计:基于传感器(IMU/力/地形感知)的切换触发 5. 切换瞬态处理:切换时的约束不连续、力矩跳变、状态重置 6. 软切换 vs 硬切换:连续权重插值 vs 离散模态跳变的工程权衡 7. Pegasus 分层切换架构:高层策略选模态 + 低层 MPC 执行 8. 基于优化的模式发现:让 MPC 自主发现最优模态序列(非预设) 9. 切换验证:Lyapunov 稳定性分析在混杂系统中的扩展 10. 工程调试:模态切换导致的常见失败模式与排查方法
关键项目: 1. OCS2 mode schedule 接口 — 切换机制参考实现 2. BehaviorTree.CPP — 替代 FSM 的行为树方案 3. SMACH (ROS) — 经典状态机框架
关键论文: 1. Goebel et al. (2009) "Hybrid Dynamical Systems" — 混杂系统理论基础 2. Bjelonic et al. (2021) "Online Mode Sequence Generation for Wheeled-Legged Robots"
练习: 1. A 型: 用 BT.CPP 实现轮足三模态切换状态机,守卫条件基于地形坡度 2. B 型: 在 OCS2 中实现基于速度阈值的自动模式切换并分析瞬态响应 3. 思考题: 为什么混杂系统的 Zeno 行为在实际控制中是灾难性的?如何在算法层面规避?
110_轮足 SimToReal 与硬件
本章覆盖轮足机器人从仿真到实机部署的完整工程链——ros2_control 集成、ONNX 推理部署、SimToReal 调优。置于模式切换之后是因为部署工程的前提是算法在仿真中已验证。
| 属性 | 值 |
|---|---|
| 行数 | 1506 行 |
| 周数 | 1.5 周 |
| 前置依赖 | 70, 100 |
| 归属 | 工程 |
| 文档类型 | 工程实践 |
| 标记 | 工业 |
核心知识点:
1. ros2_control 硬件接口:HardwareInterface 的 configure/read/write 生命周期
2. 轮足硬件抽象:轮电机 (速度模式) + 关节电机 (力矩模式) 的混合接口
3. 控制器链配置:MPC 参考 → 关节力矩控制器 → 电机驱动
4. ONNX 推理部署:PyTorch/JAX 模型 → ONNX 导出 → C++ ORT 推理
5. 实时通信:EtherCAT / CAN 总线的延迟与同步
6. SimToReal gap 源头:电机模型、摩擦、延迟、传感器噪声
7. Domain Randomization 策略:质量/摩擦/延迟随机化范围选择
8. 系统辨识:电机参数、摩擦系数、关节柔性在线标定
9. 安全工程:急停逻辑、力矩限幅、碰撞检测、跌倒恢复
10. 部署清单:从仿真验证到首次实机运行的检查项
关键项目:
1. ros-controls/ros2_control — 硬件接口框架
2. microsoft/onnxruntime — C++ 推理引擎
3. unitreerobotics/unitree_sdk2 — Unitree 硬件 SDK
关键论文: 1. Hwangbo et al. (2019) "Learning Agile and Dynamic Motor Skills for Legged Robots" 2. Miki et al. (2022) "Learning Robust Perceptive Locomotion for Quadrupedal Robots in the Wild"
练习: 1. A 型: 为 MuJoCo 轮足模型编写 ros2_control 硬件接口并验证控制链路 2. B 型: 将仿真中训练的 MPC 策略导出为 ONNX,测量 C++ 推理延迟 3. 思考题: 为什么轮足的 SimToReal gap 通常比四足小?轮式接触模型的简化在其中扮演什么角色?
90_Swiss-Mile 商业化
本章以 Swiss-Mile/RIVR 为案例,分析轮足机器人从实验室到商业产品的完整路径。作为 Part B 的收束章节,它将前面的技术内容置于商业语境中评估。
| 属性 | 值 |
|---|---|
| 行数 | 1500 行 |
| 周数 | 1.0 周 |
| 前置依赖 | 110 |
| 归属 | 工程 |
| 文档类型 | 工程实践 |
| 标记 | 工业 |
核心知识点: 1. Swiss-Mile / RIVR 公司背景:ETH Zurich RSL 孵化,ANYmal 平台演进 2. 商业化技术选型:为什么选择轮足而非纯四足?能效/速度/负载的商业论证 3. 产品架构:感知 → 规划 → MPC → WBC → 硬件的全栈产品化 4. 商业场景分析:末端配送、巡检、建筑工地、仓储的 ROI 评估 5. 监管与安全:CE 认证、功能安全 (SIL)、公共空间运行许可 6. 竞品分析:Boston Dynamics Spot / Agility Digit / Bear Robotics 对比 7. 技术债与迭代:从研究原型到产品的代码重构、测试覆盖、CI/CD 建设 8. 商业模式:RaaS (Robot-as-a-Service) vs 硬件销售 vs 数据变现
关键项目: 1. Swiss-Mile / RIVR 官方资料 2. ANYbotics — ANYmal 商业化参考
关键论文: 1. Lee et al. (2024) "Learning Locomotion Skills for Wheeled-Legged Robots in the Wild"
练习: 1. A 型: 为轮足机器人选择一个商业场景,撰写技术可行性分析 (2 页) 2. B 型: 对比 Swiss-Mile 和 ANYbotics 的商业模式差异 3. 思考题: 轮足相比纯轮式底盘(如 Clearpath)的核心技术护城河是什么?这个护城河足够深吗?
过渡: Part B 完成了轮足子方向从理论到部署到商业的完整闭环。学习者此时应能独立完成:(1) 轮式非完整约束建模;(2) OCS2 三模态 MPC 配置与调参;(3) ros2_control 硬件集成;(4) SimToReal 部署工程。接下来 Part C 转向另一种复合形态——底盘臂(移动操作),其核心技术难题从非完整约束转向冗余分解与全身协调。
Part C: 底盘臂 D2(120, 130 — ~4 周)
完成本 Part 后你能做什么: 掌握冗余机器人(底盘 + 臂)的雅可比分解与零空间优化;在 OCS2 mobile_manipulator 中实现运动学 OCP;理解底盘臂联合规划的工业应用模式。
120_底盘臂联合规划
本章处理移动操作的核心数学问题——当底盘(3-DoF)与臂(6/7-DoF)构成冗余系统时,如何利用冗余自由度同时完成操作任务和底盘导航。从 Part A 的操作接口 (50) 自然延伸到底盘臂场景。
| 属性 | 值 |
|---|---|
| 行数 | 1503 行 |
| 周数 | 2.0 周 |
| 前置依赖 | 50; 机械臂 M03 (IK), M05 (QP/NLP) |
| 归属 | ✅ 运动控制 |
| 文档类型 | 理论教学 |
| 标记 | 工业 |
核心知识点: 1. 冗余系统定义:任务空间维度 m < 关节空间维度 n,零空间维度 = n - m 2. 扩展雅可比 J_ext:将底盘速度 (v_x, v_y, omega) 与臂关节速度拼接为统一雅可比 3. 零空间投影 N = I - J^+ J:在不影响主任务的前提下优化次任务 4. 次任务设计:关节中心化、自碰撞避免、操作度最大化、底盘定位优化 5. 加权伪逆 J^+_W:通过权重矩阵调节底盘 vs 臂的运动优先级 6. QP 形式的联合规划:将冗余分解写成带约束的 QP,统一处理限位与碰撞 7. 任务优先级框架:操作精度 > 碰撞避免 > 底盘舒适 > 关节中心化 8. 底盘约束特殊性:非完整底盘只能走不能横移(差速)vs 全向底盘无此限制 9. 全身运动学 vs 全身动力学规划:何时动力学约束不可忽略 10. 实时性要求:联合规划需在运动控制回路中 50-200Hz 执行
关键项目:
1. Pinocchio computeFrameJacobian — 扩展雅可比计算
2. ProxQP / OSQP — 联合 QP 求解
3. tue-robotics/whole_body_planner — ROS2 全身规划参考
关键论文: 1. Khatib (1987) "A Unified Approach for Motion and Force Control of Robot Manipulators" 2. Dietrich et al. (2015) "An Overview of Null Space Projections for Redundant, Torque-Controlled Robots" 3. Gienger et al. (2005) "Task-Oriented Whole Body Motion for Humanoid Robots"
练习: 1. A 型: 用 Pinocchio 构建底盘(3-DoF)+臂(7-DoF) 的扩展雅可比并验证零空间维度 2. B 型: 实现零空间投影器 N,添加关节中心化次任务并可视化关节角变化 3. C 型: 对比差速底盘与全向底盘在同一操作任务下的扩展雅可比结构差异 4. 思考题: 当底盘被墙角卡住时,零空间投影器如何自动将所有冗余分配给臂?
130_OCS2 mobile_manipulator
本章将第 30 章的 OCS2 MPC 框架具体化到移动操作场景——以 OCS2 的
mobile_manipulator示例为主线精读,建立运动学 OCP 的完整理解。紧接联合规划是因为 OCS2 提供了第 120 章理论的工程实现。
| 属性 | 值 |
|---|---|
| 行数 | 1507 行 |
| 周数 | 2.0 周 |
| 前置依赖 | 30, 120 |
| 归属 | ✅ 运动控制 |
| 文档类型 | 工程实践 |
| 标记 | 工业+研究 |
核心知识点:
1. OCS2 mobile_manipulator 代码架构:目录结构、构建系统、ROS2 接口
2. 运动学 OCP 建模:状态 = 关节角 + 底盘位姿,控制 = 关节速度 + 底盘速度
3. 代价函数设计:末端位姿误差 + 关节速度正则化 + 底盘速度惩罚
4. 约束编码:关节限位、速度限幅、碰撞避免
5. SQP 求解配置:时域长度、离散化步长、收敛阈值、warm start
6. ROS2 集成:MPC 节点、可视化、参考轨迹接口
7. 从运动学 OCP 到动力学 OCP 的扩展路径
8. ROS2 移植注意事项:OCS2 原为 ROS1,移植到 ROS2 的接口变化
9. Fatrop 后端替换:用 Fatrop 替代 OCS2 默认求解器的性能提升
10. CLF-CBF 安全扩展:在 MPC 中添加控制障碍函数保证安全约束
关键项目:
1. leggedrobotics/ocs2 — ocs2_mobile_manipulator 示例精读
2. meco-group/fatrop — 替代求解器
3. OCS2 ROS2 移植版本
关键论文: 1. Sleiman et al. (2021) "Unified MPC Framework for Whole-Body Dynamic Locomotion and Manipulation" 2. arXiv 2511.19709 — Fatrop 在移动操作中的应用
练习:
1. A 型: 编译并运行 OCS2 mobile_manipulator 示例,分析默认代价函数的权重分配
2. B 型: 修改代价函数增加底盘运动惩罚,观察底盘-臂运动分配的变化
3. C 型: 添加一个圆柱碰撞约束并验证 MPC 规避行为
4. 思考题: 运动学 OCP 忽略了惯性力和接触力,在什么场景下这个简化会导致控制失败?
过渡: Part C 完成了底盘臂方向的核心内容。Part D 将进入更复杂的四足臂场景——浮动基座 + 四足 + 臂的全身动力学建模和控制,计算复杂度和接触模式显著增加。
Part D: 四足臂 D3a(160, 170, 210, 215 — ~9 周)
完成本 Part 后你能做什么: 掌握四足 + 操作臂的统一动力学建模;精读 qm_control 全栈代码(OCS2 NMPC + WBC);理解混合 MPC+RL 前沿方法(RAMBO);建立接触切换 MPC 的理论基础。
160_四足臂动力学概览
本章将第 20 章的浮动基座统一动力学具体化到四足 + 臂场景——处理四条腿的切换接触 + 臂的连续操作这一独特动力学组合。从 Part A 的通用基础自然过渡到具体形态。
| 属性 | 值 |
|---|---|
| 行数 | 1916 行 |
| 周数 | 1.5 周 |
| 前置依赖 | 20, 50; 足式动力学章节 |
| 归属 | ✅ 运动控制 |
| 文档类型 | 理论教学 |
| 标记 | 研究 |
核心知识点:
1. 四足臂系统广义坐标:q = [p_base, quat_base, q_leg1, ..., q_leg4, q_arm]^T,典型 18-24 DoF
2. 惯量矩阵分块结构:基座-腿耦合、基座-臂耦合、腿-臂交叉耦合项的物理意义
3. 臂对四足动态的影响:臂运动产生的反作用力/力矩对基座稳定性的扰动
4. 质心动量补偿:利用 CMM 将臂运动产生的质心动量变化通过腿的 GRF 补偿
5. 接触切换 + 连续操作的混合约束结构:腿有离散接触事件,臂为连续约束
6. WBC 框架下的四足臂控制:任务优先级 = 基座平衡 > 步态跟踪 > 臂操作 > 次任务
7. 简化模型 (SRB + 悬臂) vs 全身模型的适用场景分析
8. Pinocchio 中四足臂模型的构建:UrdfModelLoader + 手动添加臂分支
9. ANYmal + Z1 / B2 + Z1 / CENTAURO 三种平台的动力学特点对比
10. 四足臂动力学仿真验证:MuJoCo 全身仿真 vs Pinocchio 离线计算一致性
关键项目:
1. qm_control — 四足臂 NMPC+WBC 全栈实现
2. Pinocchio 3.x — 多支链浮动基座动力学
3. arXiv 2310.02907 — CENTAURO 37-DoF 双臂四足全身 MPC
关键论文: 1. Sleiman et al. (2021) "Unified MPC Framework for Whole-Body Dynamic Locomotion and Manipulation" 2. Bellicoso et al. (2019) "Alma - Articulated Locomotion and Manipulation for a Torque-Controllable Robot" 3. Ferrolho et al. (2023) "RoLoMa: Robust Loco-Manipulation for Quadruped Robots"
练习: 1. A 型: 在 Pinocchio 中加载 ANYmal+Z1 模型,计算站立构型下臂末端运动对基座力矩的耦合 2. B 型: 在 MuJoCo 中让四足臂执行取物任务,记录臂运动时基座的姿态扰动 3. 思考题: 为什么四足臂通常需要 WBC 而不能只用 MPC 直接输出关节力矩?计算量是唯一原因吗?
170_qm_control 精读
本章精读四足臂运动控制领域最重要的开源实现——qm_control,覆盖 OCS2 NMPC + WBC 的完整代码链路。这是从理论到工程实现的关键跨越。紧接动力学概览是因为需要先理解第 160 章的模型才能读懂控制器代码。
| 属性 | 值 |
|---|---|
| 行数 | 2134 行 |
| 周数 | 2.0 周 |
| 前置依赖 | 30, 160; 足式 WBC; 机械臂 M05 (QP/NLP), M06 (AD) |
| 归属 | ✅ 运动控制 |
| 文档类型 | 工程实践 |
| 标记 | 工业+研究 |
核心知识点: 1. qm_control 系统架构:感知 → 步态调度 → OCS2 NMPC → WBC → 关节力矩 2. OCS2 NMPC 配置精读:状态空间定义、代价函数、约束集、求解器参数 3. 步态调度器:trot / crawl / stance 的时序生成与 MPC mode schedule 的映射 4. WBC (Whole-Body Controller) 实现:层级 QP (HQP) 或加权 QP 跟踪 MPC 输出 5. WBC 任务栈:(1) 浮动基座动力学 (2) 接触力约束 (3) 基座跟踪 (4) 足端跟踪 (5) 臂跟踪 6. 力矩饱和与力矩分配:关节力矩限幅后如何在任务间重新分配 7. 状态估计集成:IMU + 关节编码器 + 接触检测 → 浮动基座状态 8. ROS2 节点组织:launch 文件、参数加载、话题/服务接口 9. 实时性分析:NMPC 求解耗时 (~10-50ms) + WBC (~0.5ms) 的时间预算 10. 调试工程:MPC 预测轨迹可视化、WBC 任务误差监控、力矩饱和报警 11. 代码扩展指南:如何添加新任务(如避障、力控)到 WBC 任务栈 12. 与 Aligator/Fatrop 后端的替换可行性分析
关键项目:
1. qm_control — 核心精读对象,每个源文件逐行分析
2. OCS2 ocs2_legged_robot — 四足 MPC 参考(qm_control 的上游)
3. ProxQP — WBC QP 求解器后端
关键论文: 1. Sleiman et al. (2021) "Unified MPC Framework for Whole-Body Dynamic Locomotion and Manipulation" 2. De Luca (2019) "Acceleration-Level Whole-Body Control" 3. Bellicoso et al. (2016) "Perception-less Terrain Adaptation through Whole Body Control and Hierarchical Optimization"
练习: 1. A 型: 编译 qm_control 并在 MuJoCo/Gazebo 中运行,记录 trot 步态下 MPC 求解频率 2. B 型: 在 WBC 任务栈中添加一个末端力控任务(z 方向力跟踪),验证与位控任务的优先级交互 3. C 型: 修改 OCS2 代价函数权重,分析基座跟踪精度 vs 臂操作精度的 trade-off 4. 思考题: qm_control 的 WBC 为什么选择加权 QP 而非严格优先级 HQP?两者在实际部署中的表现差异是什么?
210_RAMBO 混合 MPC+RL
本章探索四足臂控制的前沿方法——将 MPC 的物理知识与 RL 的自适应能力结合。RAMBO 用 QP 前馈提供物理约束保证,用 RL 残差补偿模型误差。这代表了"经典控制 + 学习"融合的最新趋势。
| 属性 | 值 |
|---|---|
| 行数 | 1502 行 |
| 周数 | 1.5 周 |
| 前置依赖 | 170; 足式 RL 基础 |
| 归属 | ✅ 运动控制 |
| 文档类型 | 论文精读 |
| 标记 | 研究 |
核心知识点: 1. 混合控制动机:纯 MPC 受限于模型精度,纯 RL 缺乏物理约束保证 2. RAMBO 架构:MPC/QP 前馈 + RL 残差力矩 = 最终关节命令 3. QP 前馈层:将 MPC 参考映射为满足动力学/接触约束的名义力矩 4. RL 残差层:学习补偿模型误差、未建模动态、扰动 5. 训练策略:先 MPC 提供稳定基线,RL 在其上做残差学习 6. 安全约束:RL 残差幅度限制、力矩饱和、接触力约束 7. Guided RL:用 MPC/TO 生成的轨迹作为 RL 训练的示教数据(arXiv 2410.13817) 8. ToMPC:ADMM 安全操作 MPC 与 RL 的结合(arXiv 2603.13944) 9. 混合方法的评估框架:与纯 MPC、纯 RL 在鲁棒性/精度/泛化上的对比 10. 部署考量:MPC 求解 + RL 推理的总延迟预算
关键项目: 1. arXiv 2504.06662 — RAMBO 代码与实验 2. arXiv 2410.13817 — Guided RL 框架 3. arXiv 2603.13944 — ToMPC 安全操作 MPC
关键论文: 1. Gangapurwala et al. (2024) "RAMBO: Robot Arm Model-Based Optimization" (arXiv 2504.06662) 2. Bogdanovic et al. (2023) "Model-Based Reinforcement Learning with Residual Policy" 3. arXiv 2410.13817 — "Guided Reinforcement Learning for Legged Manipulation" 4. arXiv 2603.13944 — "ToMPC: Admm-based Safe Manipulation MPC"
练习: 1. A 型: 实现一个简化的 RAMBO:用 PD 控制作为前馈 + PPO 残差,在 MuJoCo 中验证 2. B 型: 对比纯 PPO vs RAMBO 在外部扰动下的恢复速度和力矩峰值 3. 思考题: 残差 RL 的幅度限制是否等价于安全约束?在什么条件下残差幅度限制不够?
215_接触切换 MPC(新增)
本章是本大纲新增章节,覆盖接触隐式 MPC(CI-MPC)的最新进展——让优化器自主发现接触序列而非人工预设。这是解决四足臂/人形"何时何处接触"这一核心问题的前沿方法。置于 RAMBO 之后是因为 CI-MPC 代表了 MPC 方向的下一步演进。
| 属性 | 值 |
|---|---|
| 行数 | 新增 (预计 1500+ 行) |
| 周数 | 2.0 周 |
| 前置依赖 | 30, 170; 机械臂 M05 (QP/NLP); 足式接触建模 |
| 归属 | ✅ 运动控制 |
| 文档类型 | 理论教学 + 论文精读 |
| 标记 | 研究 |
核心知识点: 1. 接触隐式优化动机:传统 MPC 依赖预设接触序列 (mode schedule),CI-MPC 将接触作为优化变量 2. 互补约束 (Complementarity Constraints):接触力 f >= 0, 距离 d >= 0, f * d = 0 3. NCP/LCP 形式化:非线性互补问题 (NCP) 与线性互补问题 (LCP) 的关系 4. C3/C3+ 方法 (arXiv 2304.11259):ADMM 交替求解接触力与轨迹,保证互补约束 5. Global CI-MPC (arXiv 2505.13350):采样生成多个接触模式候选 + 局部 CI-MPC 精化 6. 混杂模式处理 (arXiv 2510.19074):不可微接触切换的数值处理策略 7. Fischer-Burmeister 松弛:将互补约束光滑化为可微约束,使标准 NLP 求解器可用 8. 对数障碍松弛:内点法处理互补约束的替代方案 9. 与 Drake Hydroelastic 的关系:连续可微接触模型 vs 离散互补约束 10. 计算性能:CI-MPC 当前求解速度 vs 实时需求的差距与缩减路径 11. 应用场景:自主发现步态、操作中的接触利用、多接触运动规划 12. 与 MuJoCo/Drake 仿真器中接触模型的一致性验证
关键项目:
1. arXiv 2505.13350 — Global CI-MPC 代码
2. arXiv 2304.11259 — C3/C3+ 实现
3. Drake ContactSolvers — 接触求解器参考
4. MuJoCo 接触模型 — 仿真验证
关键论文: 1. Posa et al. (2014) "A Direct Method for Trajectory Optimization of Rigid Bodies Through Contact" (IJRR) 2. Aydinoglu et al. (2023) "C3: Complementarity Constraint Contacts" (arXiv 2304.11259) 3. Doshi et al. (2025) "Global Contact-Implicit MPC" (arXiv 2505.13350) 4. arXiv 2510.19074 — "Hybrid Mode Contact-Implicit MPC"
练习: 1. A 型: 推导一维弹跳球的互补约束,用 Fischer-Burmeister 松弛后用 Ipopt 求解 2. B 型: 在 Drake 中用 contact-implicit TO 规划一个简单的推物轨迹 3. C 型: 对比 C3 (ADMM) 和 NLP 松弛两种方法在三维接触场景中的求解时间与解质量 4. 思考题: CI-MPC 自主发现的接触序列是否总是最优?人工先验 (mode schedule) 在什么时候仍有价值?
过渡: Part D 完成了四足臂方向从动力学到工程实现到前沿研究的完整链路。Part E 转向人形方向——它与四足臂共享浮动基座动力学 (20) 和 MPC 框架 (30),但在步态生成和全身柔顺控制上有独特的技术挑战。
Part E: 人形 D3b(220 — ~3 周)
完成本 Part 后你能做什么: 掌握经典人形全身控制的完整理论栈——TSID (Task Space Inverse Dynamics) / HQP (Hierarchical QP) / ZMP-MPC;理解双足步态生成与平衡控制的特殊约束。
220_经典人形全身控制
本章覆盖人形机器人运动控制的经典方法论——从 ZMP (Zero Moment Point) 稳定性判据到 TSID 任务空间逆动力学到 HQP 分层优化。与四足臂共享第 20 章的浮动基座动力学,但人形的独特之处在于双足支撑多边形小、步态切换频繁、上肢操作与下肢行走强耦合。
| 属性 | 值 |
|---|---|
| 行数 | 1504 行 |
| 周数 | 3.0 周 |
| 前置依赖 | 20, 30; 足式 WBC/ZMP; 机械臂 M05 (QP/NLP) |
| 归属 | ✅ 运动控制 |
| 文档类型 | 理论教学 |
| 标记 | 研究 |
核心知识点: 1. ZMP (Zero Moment Point) 稳定性判据:ZMP 在支撑多边形内 ↔ 不翻倒;计算方法与局限 2. DCM (Divergent Component of Motion):将质心动力学分解为稳定/不稳定分量,简化步态规划 3. 线性倒立摆模型 (LIPM/3D-LIPM):质心约束在恒定高度平面上的简化及其 MPC 建模 4. ALIP (Angular-LIP):在 LIPM 基础上加入角动量约束的改进模型(arXiv 2509.04722) 5. TSID (Task Space Inverse Dynamics):在操作空间中定义任务 → 逆动力学求解关节力矩 6. HQP (Hierarchical QP):严格优先级 QP 求解,高优先级任务不受低优先级影响 7. ZMP-MPC:将 ZMP 约束编码进 MPC,在线生成步态和质心轨迹 8. 单层全身 MPC 新趋势:HECTOR (arXiv 2312.11868) 无 WBC 直接全身控制 9. Gait-Net MPC (arXiv 2502.02934):可变频步态生成 10. ULC (arXiv 2507.06905):统一 locomotion-manipulation 控制器 11. RAPTOR (arXiv 2409.00303):仅驱动关节 + 逆动力学降维加速 12. 框架对比:OCS2 / Aligator / MJPC / Fatrop / RAPTOR 在人形上的验证状态
关键项目:
1. OCS2 + Digit — 人形 MPC 参考
2. MJPC + H1 — 零配置人形 MPC
3. stack-of-tasks/tsid — TSID C++ 实现
4. Aligator + Digit — ProxDDP 人形验证
关键论文: 1. Vukobratovic & Borovac (2004) "Zero-Moment Point — Thirty-Five Years of Its Life" 2. Englsberger et al. (2015) "Three-Dimensional Bipedal Walking Control Based on Divergent Component of Motion" 3. Del Prete et al. (2016) "Implementing Torque Control with High-Ratio Gear Boxes and without Joint-Torque Sensors" 4. arXiv 2312.11868 — HECTOR force-moment 无 WBC 人形控制 5. arXiv 2509.04722 — 分层 MPC+RL (ALIP 40Hz + SRB 500Hz) 6. arXiv 2505.11495 — SRB-MPC+HLIP 推力恢复
练习: 1. A 型: 用 LIPM 推导 ZMP 与质心加速度的关系,实现一个简单的 ZMP-MPC 步态生成器 2. B 型: 在 MJPC 中加载 H1 模型,运行默认人形控制并分析 MPC 预测轨迹 3. C 型: 用 TSID (tsid 库) 实现一个人形站立平衡控制器,加入上肢操作任务并观察优先级交互 4. 思考题: 为什么人形的 WBC 通常需要 HQP(严格优先级)而四足更多用加权 QP?双足支撑多边形的大小在其中扮演什么角色?
过渡: Part E 覆盖了人形方向的经典运动控制方法。注意人形全身 RL (230) 和 SimToReal (240) 等学习方法章节已标注 → 06_具身智能。Part F 将把所有子方向汇聚到跨形态的收束主题:多机协作、统一闭环和研究方向规划。
交叉/桥接章节(180, 190, 200, 250, 270)
以下 5 章横跨运动控制与具身智能(学习方法),标注 "⚠️ 交叉"。每章包含运动控制相关内容(WBC 架构 / 阻抗控制 / SimToReal 方法论)和学习方法内容(端到端 RL / 视觉策略 / Diffusion Policy)。建议运动控制方向学习者重点关注 WBC/阻抗/SimToReal 部分,学习方法部分可按需选读或参考 06_具身智能。
180_Deep_WBC 精读 ⚠️ 交叉
本章精读 "Deep Whole-Body Control" 论文——用端到端 RL 替代传统 WBC 的分层结构。交叉性在于:替代的是运动控制的 WBC 层,使用的是学习方法。
| 属性 | 值 |
|---|---|
| 行数 | 1541 行 |
| 周数 | 1.0 周 |
| 前置依赖 | 170 (WBC 理解); 足式 RL 基础 |
| 归属 | ⚠️ 交叉 |
| 文档类型 | 论文精读 |
运动控制相关内容: - WBC 的计算瓶颈:QP 求解延迟、模型误差、约束处理 - 端到端替代的动机:用 RL 学习从任务空间到关节力矩的直接映射 - 与传统 WBC 的对比框架:精度、鲁棒性、计算延迟、可解释性
学习方法内容 (→ 06_具身智能): - PPO 训练框架、奖励设计、课程学习 - IsaacLab 并行环境配置、SimToReal 迁移
关键论文: Cheng et al. (2023) "Deep Whole-Body Control: Learning a Unified Policy for Manipulation and Locomotion"
190_Visual_WBC 精读 ⚠️ 交叉
本章精读 "Visual Whole-Body Control" 论文——将视觉感知引入全身控制回路。交叉性在于:视觉 WBC 的控制框架属于运动控制,视觉策略学习属于具身智能。
| 属性 | 值 |
|---|---|
| 行数 | 1503 行 |
| 周数 | 1.0 周 |
| 前置依赖 | 180; 计算机视觉基础 |
| 归属 | ⚠️ 交叉 |
| 文档类型 | 论文精读 |
运动控制相关内容: - 两级控制架构:高层视觉策略输出目标 → 低层 WBC/RL 执行 - 高层-低层接口设计:目标位姿 / 速度命令 / 力参考 - 与传统 MPC+WBC 分层的异同
学习方法内容 (→ 06_具身智能): - 两级 RL 训练:高层策略 + 低层策略的分阶段训练 - 视觉编码器:深度图 / 点云 / RGB 的表征选择
关键论文: Cheng et al. (2024) "Visual Whole-Body Control for Legged Loco-Manipulation"
200_UMI_on_Legs 精读 ⚠️ 交叉
本章精读 "UMI on Legs" 论文——将 Diffusion Policy 与四足 RL-WBC 结合,实现移动操作。交叉性在于:底层 WBC 是运动控制,上层 Diffusion Policy 是学习方法。
| 属性 | 值 |
|---|---|
| 行数 | 1510 行 |
| 周数 | 1.0 周 |
| 前置依赖 | 170, 50 |
| 归属 | ⚠️ 交叉 |
| 文档类型 | 论文精读 |
运动控制相关内容: - RL-WBC 底层架构:RL 策略输出关节位置参考 → PD 控制执行 - 手臂操作与四足行走的接口协议:频率解耦、坐标系转换 - 力矩限幅与安全约束在混合系统中的实现
学习方法内容 (→ 06_具身智能): - Diffusion Policy (DP) 用于操作技能生成 - 数据采集与 UMI 系统设计
关键论文: He et al. (2024) "UMI on Legs: Making Manipulation Policies Mobile with Manipulation-Centric Whole-body Controllers"
250_力敏感人形 LocoMani ⚠️ 交叉
本章精读力敏感人形 Loco-Manipulation 论文——将阻抗控制与 RL 策略结合实现人形的力敏感操作行走。交叉性在于:阻抗控制框架属于运动控制,双策略架构属于学习方法。
| 属性 | 值 |
|---|---|
| 行数 | 1501 行 |
| 周数 | 1.0 周 |
| 前置依赖 | 220; 机械臂力控基础 |
| 归属 | ⚠️ 交叉 |
| 文档类型 | 论文精读 |
运动控制相关内容: - 阻抗控制在人形 Loco-Manipulation 中的应用 - 力/位混合控制在行走+操作中的接口设计 - FALCON 双策略架构中的控制层分析
学习方法内容 (→ 06_具身智能): - FALCON 双策略 RL 训练:行走策略 + 操作策略协同 - 力感知奖励设计
关键论文: 力敏感人形 LocoMani 相关工作 (阻抗 + FALCON 双策略)
270_SimToReal 统一方法论 ⚠️ 交叉
本章综合梳理 Domain Randomization / System Identification / RMA 等 SimToReal 方法论,适用于所有子方向。交叉性在于:SimToReal 的工程方法论服务运动控制部署,但具体技术(DR/RMA)常与 RL 训练紧密耦合。
| 属性 | 值 |
|---|---|
| 行数 | 2002 行 |
| 周数 | 1.0 周 |
| 前置依赖 | 全形态章节 |
| 归属 | ⚠️ 交叉 |
| 文档类型 | 综合 |
运动控制相关内容: - SimToReal gap 分类:动力学参数、接触模型、执行器延迟、传感器噪声 - System Identification (SysID):从真实数据标定仿真模型参数 - 仿真器选择对 SimToReal 的影响:MuJoCo vs Isaac vs Drake 的接触模型差异 - 部署工程:C++ 实时推理、延迟补偿、安全监控
学习方法内容 (→ 06_具身智能): - Domain Randomization (DR):参数范围选择与训练策略 - RMA (Rapid Motor Adaptation):在线自适应模块 - 自动 DR / Bayesian SimOpt
关键论文: 1. Tan et al. (2018) "Sim-to-Real: Learning Agile Locomotion For Quadruped Robots" 2. Kumar et al. (2021) "RMA: Rapid Motor Adaptation for Legged Robots"
具身智能标注章节(40, 80, 140, 150, 230, 240, 260 → 06_具身智能)
以下 7 章内容以 RL / VLA / 模仿学习为核心方法,归属具身智能方向(06_具身智能)。此处仅列主题和前置依赖,供运动控制学习者了解上下游关系。详细知识点和练习请参阅 06_具身智能大纲。
| 章节 | 行数 | 主题 | 方法 | 前置依赖 |
|---|---|---|---|---|
| 40_RL全身控制基础 | 2347 | IsaacLab 全身 RL (PPO) | RL | 20 |
| 80_Wheel_Legged_Gym_RL | 1553 | IsaacLab 轮足 RL | RL | 60, 70 |
| 140_VLA移动操作 | 1500 | pi0 / LeRobot / ACT | VLA | 120, 130 |
| 150_Mobile_ALOHA与UMI | 1503 | 示教数据采集 | 模仿学习 | 140 |
| 230_人形全身RL | 1509 | AMASS/PPO/蒸馏 | RL | 220 |
| 240_ASAP_SimToReal | 1501 | delta-action/两阶段 | RL 部署 | 230 |
| 260_VLA_Foundation_Model | 1500 | VLA/Foundation Model | VLA | 全形态 |
交叉引用关系: - 40 ← 20 (动力学基础):RL 全身控制需要理解被控对象的动力学 - 80 ← 60, 70 (轮式约束/MPC):轮足 RL 的观测空间编码轮式约束 - 140 ← 120, 130 (底盘臂规划):VLA 的操作空间定义来自联合规划 - 230 ← 220 (经典 WBC):人形 RL 的奖励设计借鉴 ZMP/DCM 稳定性指标 - 260 为全形态通用章节,可在学完任意子方向后选读
Part F: 跨形态收束(280, 290, 300 — ~6 周)
完成本 Part 后你能做什么: 理解多机协作 Loco-Manipulation 的分布式 MPC/ADMM 方法;建立感知-操作-运动统一闭环的系统架构;形成复合方向的研究方向评估和博士规划能力。
280_多机协作 LocoMani
本章将单机控制扩展到多机协作场景——多台四足臂/轮足协同搬运、协同操作的分布式控制方法。作为 Part F 的首章,它从单机视角跨入系统级视角。
| 属性 | 值 |
|---|---|
| 行数 | 1847 行 |
| 周数 | 2.0 周 |
| 前置依赖 | 30 (MPC), 170 (qm_control) 或 220 (人形WBC),至少完成一个子方向 |
| 归属 | ✅ 运动控制 |
| 文档类型 | 综合 |
| 标记 | 研究 |
核心知识点: 1. 多机协作任务分解:全局任务 → 子任务分配 → 局部执行的分层架构 2. 分布式 MPC:每台机器人求解局部 MPC + 通信协调一致性约束 3. 星形 ADMM:ACLM (arXiv 2603.07095) 4 台四足臂协同,中心 ADMM 协调 4. CBF 多机安全 (arXiv 2603.19170):ADMM + CBF 保证多机间安全距离 5. 通信约束:有限带宽、延迟、丢包对分布式控制的影响 6. 负载分配:多机共同搬运物体时的力/力矩分配策略 7. 编队控制与操作协调:编队保持 + 末端协同操作的多目标优化 8. 异构多机协作:轮足 + 四足臂 + 人形的混合编队 9. 仿真平台:MuJoCo MJX 多机并行仿真、Isaac Lab 多 agent 环境 10. 开放问题:通信不可靠时的局部自治策略、大规模多机扩展性
关键项目: 1. arXiv 2603.07095 — ACLM 4 台四足臂星形 ADMM 2. arXiv 2603.19170 — ADMM+CBF 多机安全
关键论文: 1. Boyd et al. (2011) "Distributed Optimization and Statistical Learning via ADMM" — ADMM 数学基础 2. arXiv 2603.07095 — ACLM: 多四足臂协作 Loco-Manipulation 3. arXiv 2603.19170 — ADMM+CBF 多机安全约束
练习: 1. A 型: 在 MuJoCo 中搭建 2 台四足臂协同搬运场景,实现简单的力分配 2. B 型: 实现星形 ADMM 的简化版本(2 个 agent + 1 个协调器),验证收敛性 3. 思考题: 分布式 MPC 相比集中式 MPC 的核心优势和代价是什么?在多少台机器人以上分布式方案变得必要?
290_感知操作运动统一闭环
本章是整个复合方向的技术收束——将 SLAM 不确定性、操作策略、MPC/WBC 控制和安全过滤连接成统一的闭环系统。它不是单一算法的讲解,而是系统集成的方法论。
| 属性 | 值 |
|---|---|
| 行数 | 1620 行 |
| 周数 | 2.0 周 |
| 前置依赖 | 至少完成 Part A + 一个子方向 (B/C/D/E) |
| 归属 | ✅ 运动控制 |
| 文档类型 | 综合 |
| 标记 | 工业+研究 |
核心知识点: 1. 三层闭环架构:感知层 (SLAM/检测) → 规划层 (任务/运动规划) → 控制层 (MPC/WBC) 2. 感知不确定性传播:SLAM 位姿协方差如何影响 MPC 约束设置 3. 操作策略与运动控制的接口:task-frame 目标 → MPC 参考 → WBC 执行 4. 安全过滤层:CBF / 碰撞检测 / 力矩限幅作为最后防线 5. 延迟预算:感知 (~30ms) + 规划 (~50ms) + 控制 (~2ms) 的端到端延迟分析 6. 异常处理:感知丢失/操作失败/控制异常的恢复策略 7. 多模态感知融合:视觉 + LiDAR + 力/触觉 + 本体感觉的统一状态估计 8. VLA 接口层:学习型策略如何与传统 MPC/WBC 控制栈对接 9. 系统集成测试方法论:单元测试 → 模块测试 → 系统测试 → 场景测试 10. 从研究原型到产品的系统集成差距分析
关键项目: 1. 各子方向的 MPC/WBC 实现 — 控制层参考 2. ORB-SLAM3 / VILENS — 感知层参考 3. MoveIt2 / 自研规划器 — 规划层参考
关键论文: 1. 各子方向核心论文的系统集成视角重读 2. Xia et al. (2023) "A Survey of Robot Perception and Autonomy Technologies for Manipulation"
练习: 1. A 型: 画出一个完整的感知-操作-运动闭环系统架构图,标注每个模块的输入/输出/频率 2. B 型: 在仿真中搭建一个最小闭环:深度相机目标检测 → 目标位姿 → MPC 导航+操作 3. 思考题: 端到端学习 (VLA) 是否会取代这种分层架构?分层架构的不可替代优势是什么?
300_研究方向与博士规划
本章是整个复合方向的元层——将前面所有技术内容转化为研究方向评估、五年博士路线规划和最小闭环实验设计。作为全书末章,它帮助读者从学习者转变为研究者。
| 属性 | 值 |
|---|---|
| 行数 | 1641 行 |
| 周数 | 2.0 周(含方向调研) |
| 前置依赖 | 至少完成 Part A + 一个子方向 + Part F 前两章 |
| 归属 | 元 |
| 文档类型 | 研究导引 |
核心知识点: 1. 四大子方向评估:轮足/底盘臂/四足臂/人形的研究成熟度、开放问题、竞争程度 2. 研究方向热度分析:基于 arXiv/会议论文统计的方向趋势(2024-2026) 3. 五年博士路线规划模板:Y1 复现 → Y2 改进 → Y3 创新 → Y4 系统 → Y5 论文 4. 最小闭环实验设计:用最少硬件/软件投入验证一个研究假设的方法 5. 硬件平台选择:已有实验室设备 vs 购置新设备的决策框架 6. 仿真平台选择:MuJoCo / Isaac Lab / Drake / Gazebo 的研究场景适配 7. 论文写作策略:顶会 (RSS/CoRL/ICRA/IROS) 的投稿节奏与选题策略 8. 开源策略:何时/如何开源代码以最大化研究影响力
关键项目: 无新项目,汇总前面所有章节的项目
关键论文: 无新论文,汇总前面所有章节的核心论文
练习: 1. A 型: 选择一个研究方向,写一页研究提案(问题定义/方法/预期贡献/实验计划) 2. B 型: 为选定方向设计一个 6 个月的最小闭环实验计划 3. 思考题: 你的研究方向在 5 年后还会是热点吗?什么信号可以帮助判断方向的持久性?
学习路径建议
路径 A: 工业轮足工程师(~14 周)
Part A 精简 (10→20→30速览, 3周)
→ Part B 完整 (60→70→100→110→90, 10周)
→ 270 SimToReal方法论 (1周)
重点:运动学约束、MPC 调参、硬件部署、SimToReal 工程。跳过理论推导细节,聚焦可运行的代码链路。
路径 B: 四足臂研究者(~18 周)
Part A 完整 (10→20→30→50, 6周)
→ Part D 完整 (160→170→210→215, 9周)
→ 交叉精选 (180, 200, 1-2周)
→ Part F 精选 (280速览→300, 1周)
重点:统一动力学、OCS2 全栈、混合 MPC+RL、CI-MPC 前沿。交叉章节选读 Deep WBC 和 UMI on Legs 理解 MPC-RL 边界。
路径 C: 人形研究者(~15 周)
Part A 完整 (10→20→30→50, 6周)
→ Part E 完整 (220, 3周)
→ 交叉精选 (250, 270, 2周)
→ Part F 精选 (280→290→300, 4周)
重点:人形 TSID/HQP/ZMP-MPC、力敏感操作、SimToReal 方法论、多机协作。交叉章节选读力敏感 LocoMani。
路径 D: 全面学习者(~43 周)
Part A (6周) → Part B (10周) → Part C (4周)
→ Part D (9周) → Part E (3周)
→ 交叉章节 (5周) → Part F (6周)
适合时间充裕的博士生或研究工程师,可根据兴趣调整各 Part 的深度。
交叉引用地图
与足式方向的交叉
| 复合方向章节 | 足式方向相关内容 | 关系 |
|---|---|---|
| 20 浮动基座动力学 | 足式 RNEA/ABA/CMM | 直接扩展:加入臂分支 |
| 30 多模态MPC | 足式 MPC/OCS2 | 直接扩展:加入操作模态 |
| 70 轮足混合MPC | 足式 WBC | 组合:足式 WBC + 轮式约束 |
| 220 经典人形WBC | 足式 ZMP/DCM | 直接扩展:加入上肢操作 |
| 110 SimToReal | 足式 SimToReal | 相同方法论,不同平台 |
与机械臂方向的交叉
| 复合方向章节 | 机械臂方向相关内容 | 关系 |
|---|---|---|
| 50 操作技能接口 | M03 IK, M05 QP/NLP | 扩展:从固定基座到浮动基座 |
| 120 底盘臂联合规划 | M03 IK, M05 QP/NLP | 扩展:加入底盘冗余 |
| 130 OCS2 MM | M08 轨迹优化 | 对应:MPC 版本的轨迹优化 |
| 160 四足臂动力学 | M01 Pinocchio, M02 库对比 | 扩展:多支链浮动基座 |
| 215 接触切换MPC | 机械臂 F12 接触隐式优化 | 同一理论:互补约束、CI-TO |
与 06_具身智能方向的交叉
| 复合方向章节 | 具身智能相关内容 | 接口 |
|---|---|---|
| 30 多模态MPC | 40 RL全身控制 | MPC 输出参考 → RL WBC 跟踪 |
| 70 轮足混合MPC | 80 轮足RL | MPC 基线 vs RL 端到端对比 |
| 170 qm_control | 180/190 Deep/Visual WBC | WBC QP → RL 端到端替代 |
| 120 底盘臂联合规划 | 140 VLA移动操作 | 运动学规划 → VLA 端到端替代 |
| 220 经典人形WBC | 230 人形全身RL | TSID/HQP → PPO/蒸馏替代 |
| 290 统一闭环 | 260 VLA Foundation | 分层闭环 vs 端到端 VLA |
内容更新优先级
以下更新建议来自调研审计报告,按优先级排列。大纲 v1.0 已将这些更新需求纳入对应章节的知识点中(标注了 arXiv 编号),但对应的源文件尚未修改。
P0 高优先级(影响教学主线)
| 章节 | 需补充内容 | 影响 |
|---|---|---|
| 30_多模态MPC | Fatrop 内点法 80Hz 全身 MPC; MuJoCo iLQR 全身 MPC; 框架对比表更新 | 核心框架章节,新求解器改变了全身 MPC 实时性的认知 |
| 60_轮式运动学 | GMPC 李群 SE(2); 4WIS 统一模型; 滑移补偿 | 新方法简化了非完整约束处理 |
| 70_轮足混合MPC | 无模式切换统一建模; 能效步态预测 | 可能改变 Part B 的教学逻辑(不再需要 100 硬切换?) |
| 220_经典人形全身控制 | 单层全身 MPC (HECTOR); 框架对比表 (OCS2/Aligator/MJPC/Fatrop/RAPTOR) | 人形控制范式正在从分层走向单层 |
P1 中优先级(增强深度)
| 章节 | 需补充内容 | 影响 |
|---|---|---|
| 130_OCS2_MM | ROS2 移植细节; Fatrop 后端; CLF-CBF 安全 | 工程实践章节的时效性 |
| 280_多机协作 | ACLM 详细算法; CBF 多机安全 | 前沿研究内容更新 |
| 100_模式切换 | Pegasus 分层; 软统一替代硬切换 | 与 70 的统一建模趋势一致 |
| 210_RAMBO | RAMBO 论文细节; Residual MPC 对比 | 混合方法细节 |
| 215_接触切换MPC (新增) | 需从零创建完整章节文件 | 全新章节 |
P2 低优先级(维护性)
| 章节 | 需补充内容 | 影响 |
|---|---|---|
| 90_Swiss_Mile | 更名为 RIVR; 更新商业进展 | 名称和事实更新 |
附录
附录 A: 核心项目总表
全书所有章节项目的统一索引,按子方向分组。
A.1 通用基础项目
| 项目 | 章节 | 预计耗时 | 硬件/软件 | 难度 |
|---|---|---|---|---|
| Pinocchio 加载 ANYmal+Z1 URDF, 提取 M(q) 分块 | 20 | 3h | Pinocchio 3.9 | ++ |
| OCS2 双足 SRB-MPC 站立平衡 | 30 | 6h | OCS2 + ROS2 | +++ |
| CasADi 单刚体 MPC 实现 | 30 | 8h | CasADi + Python | +++ |
| Pinocchio 四足臂末端雅可比耦合分析 | 50 | 3h | Pinocchio 3.9 | ++ |
A.2 轮足项目
| 项目 | 章节 | 预计耗时 | 硬件/软件 | 难度 |
|---|---|---|---|---|
| Pfaffian 矩阵推导与可控性验证 | 60 | 4h | SymPy + MuJoCo | ++ |
| OCS2 轮足三模态 MPC 配置 | 70 | 8h | OCS2 + ROS2 | +++ |
| BT.CPP 三模态切换状态机 | 100 | 4h | BT.CPP + ROS2 | ++ |
| ros2_control 轮足硬件接口 | 110 | 6h | ros2_control | +++ |
| ONNX 推理延迟测试 | 110 | 3h | ORT C++ | ++ |
A.3 四足臂项目
| 项目 | 章节 | 预计耗时 | 硬件/软件 | 难度 |
|---|---|---|---|---|
| MuJoCo 四足臂取物基座扰动分析 | 160 | 5h | MuJoCo 3.x | ++ |
| qm_control 编译与 trot 步态运行 | 170 | 8h | OCS2 + MuJoCo | +++ |
| qm_control WBC 末端力控任务扩展 | 170 | 10h | ProxQP + C++ | ++++ |
| RAMBO 简化实现 (PD + PPO 残差) | 210 | 12h | MuJoCo + PyTorch | ++++ |
| 互补约束松弛 + Ipopt 求解 | 215 | 6h | CasADi + Ipopt | +++ |
| Drake CI-TO 推物轨迹规划 | 215 | 8h | Drake | +++ |
A.4 人形与跨形态项目
| 项目 | 章节 | 预计耗时 | 硬件/软件 | 难度 |
|---|---|---|---|---|
| LIPM ZMP-MPC 步态生成器 | 220 | 6h | Python / CasADi | +++ |
| MJPC + H1 人形控制运行与分析 | 220 | 4h | MuJoCo MPC | ++ |
| TSID 人形站立平衡控制 | 220 | 8h | tsid + Pinocchio | +++ |
| 星形 ADMM 简化实现 (2 agent) | 280 | 10h | Python / C++ | ++++ |
| 最小感知-控制闭环仿真系统 | 290 | 12h | MuJoCo + ROS2 | ++++ |
附录 B: 论文阅读路线图
按主题分组的论文阅读清单,分三层。
B.1 必读经典(基础方法论,12 篇)
| 论文 | 年份 | 章节 | 优先级 | 阅读时间 | 核心贡献 |
|---|---|---|---|---|---|
| Featherstone, "Rigid Body Dynamics Algorithms" (书) | 2008 | 20 | P0 | 10h | 浮动基座 RNEA/ABA 经典推导 |
| Orin et al., "Centroidal Dynamics of a Humanoid Robot" | 2013 | 20 | P0 | 3h | CMM 的系统推导 |
| Khatib, "Unified Approach for Motion and Force Control" | 1987 | 50, 120 | P0 | 2h | 操作空间控制理论奠基 |
| Diehl et al., "Real-Time Iteration Scheme for NMPC" | 2005 | 30 | P0 | 3h | SQP-RTI 实时 MPC 方法 |
| Murray, Li & Sastry, "Robotic Manipulation" (书) | 1994 | 60 | P0 | 8h | 非完整约束经典教材 |
| Vukobratovic, "Zero-Moment Point" | 2004 | 220 | P0 | 2h | ZMP 35 年综述 |
| Posa et al., "Direct Method for TO Through Contact" | 2014 | 215 | P0 | 3h | CI-TO 奠基论文 |
| Boyd et al., "ADMM" | 2011 | 280 | P0 | 4h | 分布式优化数学基础 |
| Sentis & Khatib, "Hierarchical Control of Behavioral Primitives" | 2005 | 50, 170 | P0 | 3h | WBC 优先级框架 |
| Goebel et al., "Hybrid Dynamical Systems" | 2009 | 100 | P1 | 4h | 混杂系统理论基础 |
| Dietrich et al., "Null Space Projections for Redundant Robots" | 2015 | 120 | P1 | 3h | 冗余分解综述 |
| Englsberger et al., "3D Bipedal Walking Based on DCM" | 2015 | 220 | P1 | 3h | DCM 步态规划 |
B.2 重要扩展(各子方向核心工作,15 篇)
| 论文 | 年份 | 章节 | 核心贡献 |
|---|---|---|---|
| Sleiman et al., "Unified MPC for Whole-Body LocoMani" | 2021 | 30, 170 | OCS2 多模态 MPC 统一框架 |
| Bjelonic et al., "Whole-Body MPC for Wheeled-Legged Robots" | 2020 | 70 | 轮足混合 MPC |
| Bjelonic et al., "Online Mode Sequence for Wheeled-Legged" | 2021 | 100 | 在线模式切换 |
| Bellicoso et al., "Alma - Articulated LocoMani" | 2019 | 160 | 四足臂统一控制 |
| Ferrolho et al., "RoLoMa: Robust Loco-Manipulation" | 2023 | 160 | 鲁棒四足操作 |
| Del Prete et al., "Torque Control with High-Ratio Gear" | 2016 | 220 | 人形力矩控制工程 |
| Carpentier et al., "Pinocchio C++ Library" | 2019 | 20 | 动力学库架构 |
| Aydinoglu et al., "C3: Complementarity Constraint Contacts" | 2023 | 215 | ADMM 接触求解 |
| Hwangbo et al., "Learning Agile Motor Skills" | 2019 | 110 | SimToReal 经典 |
| Miki et al., "Learning Robust Perceptive Locomotion" | 2022 | 110 | 感知行走 SimToReal |
| Cheng et al., "Deep Whole-Body Control" | 2023 | 180 | RL 替代 WBC |
| He et al., "UMI on Legs" | 2024 | 200 | DP + RL-WBC 操作 |
| Tan et al., "Sim-to-Real Agile Locomotion" | 2018 | 270 | SimToReal 方法论 |
| Kumar et al., "RMA: Rapid Motor Adaptation" | 2021 | 270 | 在线自适应 |
| Meduri et al., "Biconmp: Nonlinear MPC for Whole Body" | 2023 | 70 | 全身非线性 MPC |
B.3 前沿追踪(2025-2026 最新进展,15 篇)
| 论文 | arXiv | 章节 | 核心贡献 |
|---|---|---|---|
| Fatrop 逆动力学 MPC | 2511.19709 | 30 | 80Hz 全身实时 MPC (B2+Z1) |
| MuJoCo iLQR 全身 MPC | 2503.04613 | 30 | 有限差分 iLQR (H1) |
| HECTOR force-moment | 2312.11868 | 220 | 无 WBC 直接人形控制 |
| 37-DoF 双臂四足 MPC | 2310.02907 | 160 | CENTAURO 全身 MPC |
| GMPC 李群 SE(2) | 2403.07317 | 60 | 非完整凸化 |
| 全向统一建模 | 2509.14010 | 70 | 无模式切换轮足 |
| 能效步态预测 | 2601.10723 | 70 | 预测能量选模式 |
| Global CI-MPC | 2505.13350 | 215 | 采样+局部 CI-MPC |
| C3+ | 2304.11259 | 215 | ADMM 交替接触求解 |
| RAMBO | 2504.06662 | 210 | QP 前馈+RL 残差 |
| Guided RL | 2410.13817 | 210 | MPC 示教引导 RL |
| ACLM | 2603.07095 | 280 | 4 台四足臂星形 ADMM |
| ADMM+CBF 多机 | 2603.19170 | 280 | 分布式安全 |
| Gait-Net MPC | 2502.02934 | 220 | 变频人形步态 |
| Aligator TRO | TRO 2025 | 30 | ProxDDP 后继框架 |
附录 C: 硬件平台选型指南
面向不同预算的复合机器人学习平台选型建议。
C.1 仿真平台对比
| 仿真器 | 接触模型 | GPU 加速 | 多机支持 | 推荐场景 |
|---|---|---|---|---|
| MuJoCo 3.x | 凸接触、弹性 | MJX (JAX) | 有限 | 快速原型、MPC 验证 |
| Isaac Lab | 刚体+柔体 | 原生 GPU | 大规模并行 | RL 训练、SimToReal |
| Drake | Hydroelastic | 有限 | -- | 数学严谨、CI-TO |
| Gazebo Ionic | ODE/Bullet/DART | -- | ROS2 原生 | 系统集成、传感器仿真 |
| Genesis | 统一多物理 | CUDA/Taichi | 有限 | 前沿研究 |
C.2 硬件平台选型矩阵
| 预算级别 | 轮足 | 四足臂 | 人形 | 备注 |
|---|---|---|---|---|
| 纯仿真 (0元) | MuJoCo 轮足模型 | MuJoCo ANYmal+Z1 | MuJoCo H1/Digit | 零成本入门 |
| 低预算 (<5万) | 自研轮足平台 | Go2 + 简易机械臂 | -- | 适合验证基础算法 |
| 中预算 (5-30万) | B2 + 简易臂 | B2 + Z1 | -- | 适合完整 MPC/WBC 验证 |
| 高预算 (>30万) | ANYmal + 定制臂 | ANYmal + 定制臂 | H1 / Digit | 研究级全功能平台 |
| 工业级 (>100万) | RIVR 商用平台 | 定制方案 | Figure / 1X | 产品化部署 |
C.3 计算平台建议
| 用途 | 最低配置 | 推荐配置 | 备注 |
|---|---|---|---|
| MPC/WBC 仿真 | i7 + 16GB | i9 + 32GB | CPU 密集型 |
| RL 训练 | RTX 3060 + 16GB | RTX 4090 / A100 | GPU 并行环境 |
| 实时部署 | Jetson Orin NX | Jetson AGX Orin | ARM + GPU |
| 多机仿真 | RTX 4090 + 64GB | 多 GPU 工作站 | MJX 并行 |
附录 D: 数学速查
核心数学工具速查卡。
D.1 Lie 群/李代数
- SE(3) 表示:齐次变换矩阵 T = [R, p; 0, 1],维度 4x4
- so(3) → SO(3):指数映射 R = exp([omega]_x),Rodrigues 公式
- se(3) → SE(3):指数映射 T = exp([xi]_^)
- 对数映射:SO(3) → so(3),theta = arccos((tr(R)-1)/2)
- 伴随表示:Ad_T 将速度从一个坐标系变换到另一个
- 浮动基座 nq != nv 的根源:四元数 (4维) 参数化 SO(3) (3维)
D.2 浮动基座动力学公式
- 运动方程:M(q) * a + C(q,v) * v + g(q) = S^T * tau + J_c^T * f_c
- 选择矩阵 S:前 6 行为零 (基座不可直接驱动)
- CMM:h = A(q) * v,其中 h = [k; l] 为质心角/线动量
- CRBA:M(q) = sum_i phi_i^T * I_i^c * phi_i (递推组合)
- RNEA:tau = rnea(model, q, v, a),O(n) 复杂度
- ABA:a = aba(model, q, v, tau),O(n) 正向动力学
D.3 最优控制
- 离散时间 OCP:min sum_{k=0}^{N-1} l(x_k, u_k) + V_N(x_N) s.t. x_{k+1} = f(x_k, u_k)
- LQR:线性系统 + 二次代价 → Riccati 方程闭式解
- iLQR/DDP:非线性系统的迭代 LQR,前向rollout + 后向Riccati
- SQP:在当前点线性化约束 + 二次化目标 → QP 子问题
- RTI:SQP 的一步近似 — 只做一次 QP + 一步仿真即返回控制
D.4 互补约束
- 互补条件:f >= 0, d >= 0, f * d = 0
- LCP:f = Ma + q, f >= 0, a >= 0, f^Ta = 0
- NCP:0 <= f perp d >= 0
- Fischer-Burmeister 松弛:phi(a,b) = sqrt(a^2 + b^2) - a - b = 0
- 对数障碍:min ... - mu * sum(log(f_i) + log(d_i))
D.5 ADMM
- 原始问题:min f(x) + g(z) s.t. Ax + Bz = c
- x 更新:x^{k+1} = argmin f(x) + (rho/2) ||Ax + Bz^k - c + u^k||^2
- z 更新:z^{k+1} = argmin g(z) + (rho/2) ||Ax^{k+1} + Bz - c + u^k||^2
- 对偶更新:u^{k+1} = u^k + Ax^{k+1} + Bz^{k+1} - c
- 收敛条件:原始残差 r^k → 0, 对偶残差 s^k → 0
- 星形 ADMM:中心协调器 + 多个局部 agent,适合多机协作
附录 E: 方向交叉地图
数学基础 SLAM/感知 控制理论
│ │ │
┌───────┼─────────┐ ┌──────┼──────┐ ┌──────┼──────┐
│ │ │ │ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
Lie群 优化 概率 视觉 LiDAR 融合 MPC WBC 阻抗
│ │ │ │ │ │ │ │ │
└───┬───┘ ┌────┘ └──┬───┘ │ └──┬───┘ │
│ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────────────────┐
│ 复合方向 (本大纲) │
│ Part A: 统一动力学 + MPC + 操作接口 │
│ Part B-E: 轮足 / 底盘臂 / 四足臂 / 人形 │
│ Part F: 多机协作 + 统一闭环 + 研究方向 │
└─────────────────────────────────────────────────────────────┘
│ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────────┐
│ 足式方向 │ │ 机械臂 │ │ 仿真方向 │ │ 06_具身智能 │
│ RNEA/ABA │ │ IK/QP/AD │ │ MuJoCo │ │ RL/VLA/Diffusion │
│ GRF/步态 │ │ 规划/力控 │ │ Isaac │ │ 模仿学习/Foundation │
└──────────┘ └──────────┘ └──────────┘ └──────────────────────┘
E.1 推荐学习资源 (按交叉点)
| 交叉点 | 本大纲章节 | 推荐资源 |
|---|---|---|
| Lie 群 ↔ 浮动基座 | 20 | Sola (2018) "A Micro Lie Theory for State Estimation" |
| 优化 ↔ MPC | 30 | Rawlings et al. (2017) "Model Predictive Control: Theory, Computation, and Design" |
| SLAM ↔ 统一闭环 | 290 | Cadena et al. (2016) "Past, Present, and Future of SLAM" |
| WBC ↔ 力控 | 170, 220 | 机械臂 F 系列 (力控与柔顺控制) |
| MPC ↔ RL | 210 | Morimoto & Atkeson (2003) "Minimax Differential Dynamic Programming" |
| 接触建模 ↔ CI-MPC | 215 | 机械臂 F12 (接触隐式优化与可微仿真) |
| 分布式优化 ↔ 多机 | 280 | Boyd et al. (2011) "ADMM" |
附录 F: 章节行数与工作量统计
F.1 行数统计
| Part | 章节 | 总行数 | 总周数 |
|---|---|---|---|
| Part A 通用基础 | 10, 20, 30, 50 | 7,524 | 6 周 |
| Part B 轮足 D1 | 60, 70, 100, 110, 90 | 7,869 | 10 周 |
| Part C 底盘臂 D2 | 120, 130 | 3,010 | 4 周 |
| Part D 四足臂 D3a | 160, 170, 210, 215(新增) | 7,052+ | 9 周 |
| Part E 人形 D3b | 220 | 1,504 | 3 周 |
| Part F 跨形态收束 | 280, 290, 300 | 5,108 | 6 周 |
| 交叉/桥接 | 180, 190, 200, 250, 270 | 8,057 | 5 周 |
| 具身智能标注 | 40, 80, 140, 150, 230, 240, 260 | 11,413 | → 06 |
| 运动控制核心 | 24 章 | ~32,067+ | ~43 周 |
F.2 文档类型分布
| 类型 | 章节数 | 占比 |
|---|---|---|
| 理论教学 | 9 | 30% |
| 算法工程 | 5 | 17% |
| 工程实践 | 4 | 13% |
| 论文精读 | 6 | 20% |
| 综合 | 4 | 13% |
| 研究导引 | 1 | 3% |
| 导航 | 1 | 3% |
F.3 已知结构问题(待修复)
以下结构问题来自调研审计报告,v1.0 大纲暂时保留现状,计划在 v1.1 修复:
| 问题 | 描述 | 修复计划 |
|---|---|---|
| 章节编号冲突 | 80 和 100 都声称"第 80 章" | v1.1 统一重编 |
| 依赖顺序倒置 | 90 依赖 110 但文件序号在前 | 大纲中已按正确顺序排列 (110→90) |
| 动作模仿理论孤立 | 编号 76 与整体不一致,与 230 高度重叠 | 建议合并至 230 或标注废弃 |
| 240→270 应调换 | 先方法论再案例更合理 | 大纲中保留原序,因两者均为→06标注 |
| 章节跳号 | 77→80→90 之间有间隔 | 保留间隔供未来插入新章节 |
| 215 新增章节 | 接触切换 MPC 为新增,尚无对应文件 | P1 优先级新建文件 |
F.4 动作模仿理论(孤立章节说明)
调研报告中标记的"动作模仿理论"章节 (2472 行) 编号为 76,内容覆盖 MoCap / AMP / ASE / PHC 等参考动作追踪方法。该章节存在以下问题: - 编号与整体 10-300 编号体系不一致 - 内容与 230_人形全身RL 高度重叠(AMP/ASE 部分) - 方法以 RL 模仿学习为主,归属应为 06_具身智能
处理建议:不纳入本大纲正式章节。将其中与运动控制相关的参考动作生成内容(MoCap 数据处理、重定向方法)提炼后合并到 230 的前置材料中;RL 训练部分归入 06_具身智能。
F.5 版本历史
| 版本 | 日期 | 变更 |
|---|---|---|
| v1.0 (draft) | 2026-05-24 | 初版,基于 6 调研 agent + 3 审计 agent 报告生成 |