Skip to content

本文档属于 Robotics Tutorial 项目,作者:Pengfei Guo,达妙科技。采用 CC BY 4.0 协议,转载请注明出处。

足式方向综合教学大纲

版本: v2.0 | 日期: 2026-05-24 定位: 面向完成 C++ 主线 v8 的 SLAM/机器人工程师,系统掌握足式机器人运动控制全栈 数据基础: 现有 27 个教学文件(序章 2 + 正文 24 + 大纲 1),约 44,985 行;规划新增 足式/265_Contact-Implicit_MPC / 足式/270_全身MPC与采样控制 / 足式/275_可微分仿真用于控制 三章(待创建) 总投入: 序章 2 章(通读)+ 现有正文 24 章 + 规划 3 章,完整学习约 39 周;可按 Part 独立选修


快速路径(Quick-Start Tracks)

不是每个人都需要 39 周完整课程。以下三条路径面向最常见的职业目标:

路径 A:工业工程师路径(~16 周)

目标:在 MuJoCo/IsaacLab 中部署四足 MPC+WBC 控制器,训练并导出 RL locomotion policy,掌握全身 MPC 新范式。

足式/30_Pinocchio深度精读(Pinocchio浮动基座, 1.5周) → 足式/50_空间向量与浮动基座动力学(空间向量代数, 2周) → 足式/60_QP_NLP建模(QP/NLP, 1.5周)
    → 足式/70_腿足简化模型理论(简化模型, 1.5周) → 足式/90_WBC分层优化与TSID(WBC/TSID, 2周) → 足式/110_OCS2完整栈与双线程MPC(OCS2 MPC, 2周)
    → 足式/270_全身MPC与采样控制(全身MPC/MPPI, 1.5周) [规划]
    → 足式/190_腿足RL训练栈(RL训练栈, 1.5周) → 足式/240_legged_control精读(legged_control精读, 1.5周)
    总计 ~16 周

里程碑: - 第 5 周:能用 Pinocchio 加载四足 URDF 并计算浮动基座正/逆动力学 - 第 9 周:能组装 WBC QP 并在仿真中实现四足站立平衡 - 第 12 周:能部署 OCS2 MPC + WBC 实现 trot 步态;了解全身 MPC/MPPI 新范式 - 第 14 周:能训练 RL policy 并用 legged_control 架构跑通全栈 - 第 16 周:能对比分层 MPC+WBC 与单层全身 MPC 的性能差异

路径 B:全栈博士路径(~39 周)

目标:完整掌握优化/学习/感知三大范式,覆盖 Contact-Implicit MPC、全身 MPC、可微分仿真前沿方向,具备博士研究入门能力。

全部 27 个正文章节(现有 24 + 规划 3;序章另行通读)。
Part I (6周) → Part II (10周) → Part II-B (4周, 265/270/275 规划)
    → Part III (5周) → Part IV (3周)
    → Part V (5周) → Part VI (7周)
    总计 ~39 周(不含规划章节约 35 周)

里程碑: - 第 6 周:Pinocchio + QP 基础设施就绪 - 第 16 周:MPC + WBC + 步态管理全链路打通 - 第 20 周:Contact-Implicit MPC + 全身 MPC + 可微分仿真前沿掌握 - 第 25 周:状态估计 + 落脚点规划闭环 - 第 28 周:实时工程 + 硬件栈认知完成 - 第 33 周:RL 训练/部署/混合范式掌握 - 第 39 周:Mini-Legged 综合实战 + 研究方向选定

路径 C:RL 特化路径(~13 周)

目标:专攻端到端 RL locomotion,快速具备 sim-to-real 能力。

足式/30_Pinocchio深度精读(Pinocchio基础, 1周) → 足式/70_腿足简化模型理论(简化模型速览, 1周) → 足式/90_WBC分层优化与TSID(WBC概念, 1周)
    → 足式/190_腿足RL训练栈(RL训练栈, 2周) → 足式/200_RL的CPP部署(RL C++部署, 1.5周) → 足式/210_RL与MPC混合范式(RL+MPC混合, 1.5周)
    → 足式/270_全身MPC与采样控制(全身MPPI速览, 1周) [规划] → 足式/220_腿足感知数据结构(感知数据结构, 1周)
    → 足式/180_腿足硬件栈(硬件栈, 1周) → 足式/250_Mini-Legged综合实战(综合实战, 2周)
    总计 ~13 周

里程碑: - 第 3 周:理解简化模型与 WBC 概念,知道 RL 要替代什么 - 第 6 周:能在 IsaacLab 训练四足 locomotion policy - 第 9 周:能将 RL policy 导出为 C++ 推理并理解混合范式 - 第 10 周:理解全身 MPPI 与 RL 采样控制的联系,了解 DIAL-MPC - 第 13 周:能在仿真中完成感知驱动的 locomotion 全栈


计算与硬件需求表

章节范围 GPU 真机 最低配置 推荐配置 备注
Part I 足式/30-60 不需要 不需要 8GB RAM, 4核 16GB RAM Pinocchio+Eigen 纯 CPU
Part II 足式/70-80 不需要 不需要 8GB RAM 16GB RAM 理论推导+仿真验证
Part II 足式/90-120 不需要 推荐四足 16GB RAM 32GB + Go2 OCS2 MPC+WBC+步态,推荐真机
Part III 足式/130-140 不需要 推荐 16GB RAM 32GB + Go2 状态估计需真机传感器
Part III 足式/150-160 推荐 推荐 RTX 3060 RTX 4090 + Go2 CNN 落脚需 GPU
Part IV 足式/170-180 不需要 强烈推荐 PREEMPT_RT 内核 Go2 + Jetson Orin 实时+硬件章节
Part V 足式/190-210 需要(GPU 并行) 不需要 RTX 3060 RTX 4090 IsaacLab/MJX 训练
Part VI 足式/220-260 推荐 推荐 RTX 3060 RTX 4090 + Go2 感知+全栈+研究导引
Part II-B 足式/265_Contact-Implicit_MPC 推荐 推荐 RTX 3060 RTX 4090 + Go2 CI-MPC GPU 求解(ci-SCvx JAX)
Part II-B 足式/270_全身MPC与采样控制 推荐(MPPI) 推荐 RTX 3060 RTX 4090 + Go2 全身 MPPI 需 GPU 并行采样
Part II-B 足式/275_可微分仿真用于控制 需要(GPU) 不需要 RTX 3060 RTX 4090 DiffSim/MJX 可微仿真需 GPU

推荐完整训练配置(覆盖全部仿真训练):RTX 4090 24GB + 32GB 系统内存 + Ubuntu 22.04 PREEMPT_RT

工业级配置(含真机部署):上述 + Unitree Go2 四足 + Jetson Orin NX(部署端)


工业 vs 研究标记

标记 含义 代表章节
[工业必修] 工程落地核心能力 足式/30_Pinocchio深度精读, 足式/50_空间向量与浮动基座动力学, 足式/60_QP_NLP建模, 足式/90_WBC分层优化与TSID, 足式/110_OCS2完整栈与双线程MPC, 足式/170_实时CPP工程, 足式/180_腿足硬件栈, 足式/200_RL的CPP部署, 足式/240_legged_control精读
[研究必修] 博士/研究方向核心 足式/80_接触力学与约束优化, 足式/100_DDP家族与Crocoddyl, 足式/150_优化驱动落脚与接触规划, 足式/160_感知驱动落脚规划, 足式/210_RL与MPC混合范式, 足式/230_Perceptive_MPC, 足式/260_研究方向与博士导引, 足式/265(规划), 足式/270(规划), 足式/275(规划)
[进阶选修] 按需深入 足式/40_CppAD与代码生成, 足式/120_步态管理与接触序列, 足式/140_落脚点规划经典方法, 足式/190_腿足RL训练栈, 足式/220_腿足感知数据结构, 足式/250_Mini-Legged综合实战

标记使用说明: - 工业导向学习者可跳过所有 [研究必修] 章节,节约约 30% 时间 - 博士预备者应全部完成,特别重视 [研究必修] 章节的论文精读部分(265/270/275 为规划章节,是 2025 最活跃的研究前沿,正文创建后纳入正式学习路径) - [进阶选修] 章节中 足式/190_腿足RL训练栈(RL 训练栈)对 RL 方向学习者为必修 - 足式/270_全身MPC与采样控制 虽标记为 [研究必修],但其工程实践价值日益增长,工业路径 A 已纳入


总览路线图

02_C++基础与进阶 + 03_SLAM 主线完成(第 1-48 周)
     │  C++17 · Eigen · 并发 · SLAM 优化 · ROS2 · CMake/CUDA
     ▼
┌─────────────────────────────────────────────────────────────────┐
│ 序章: 全景导论 (足式/10-20, 2章, 通读性质)                                       │
│  足式/10_序章上篇_全景与四分法 全景与四分法 — 规控本体四分法+基础设施共享+腿足定位         │
│  足式/20_序章下篇_前沿与学习路径 前沿与学习路径 — 自驾特殊地位+VLA/DiffSim/WorldModel+路径  │
└─────────────────────────┬───────────────────────────────────────┘
                          ▼
┌─────────────────────────────────────────────────────────────────┐
│ Part I: 动力学基础设施 (足式/30-60, 4章 ~6周)                                    │
│  足式/30_Pinocchio深度精读 Pinocchio深度精读 [工业必修]                              │
│  足式/40_CppAD与代码生成 CppAD与CppADCodeGen [进阶选修]                            │
│  足式/50_空间向量与浮动基座动力学 空间向量代数与浮动基座动力学 [工业必修]                    │
│  足式/60_QP_NLP建模 QP/NLP建模 [工业必修]                                      │
├─────────────────────────────────────────────────────────────────┤
│ Part II: 腿足控制核心 (足式/70-120, 6章 ~10周)                                   │
│  足式/70_腿足简化模型理论 腿足简化模型理论 [工业必修]                                │
│  足式/80_接触力学与约束优化 接触力学与约束优化 [研究必修]                              │
│  足式/90_WBC分层优化与TSID WBC分层优化与TSID [工业必修]                               │
│  足式/100_DDP家族与Crocoddyl DDP家族与Crocoddyl [研究必修]                              │
│  足式/110_OCS2完整栈与双线程MPC OCS2完整栈与双线程MPC [工业必修]                           │
│  足式/120_步态管理与接触序列 步态管理与接触序列 [进阶选修]                              │
├─────────────────────────────────────────────────────────────────┤
│ Part II-B: 前沿 MPC 与可微分方法 (足式/265-275, 3章 ~4周)                       │
│  足式/265_Contact-Implicit_MPC Contact-Implicit MPC [研究必修]                       │
│  足式/270_全身MPC与采样控制 全身MPC与采样控制 [研究必修]                              │
│  足式/275_可微分仿真用于控制 可微分仿真用于控制 [研究必修]                              │
├─────────────────────────────────────────────────────────────────┤
│ Part III: 状态估计与感知 (足式/130-160, 4章 ~5周)                                │
│  足式/130_腿足状态估计 腿足状态估计 [工业必修]                                    │
│  足式/140_落脚点规划经典方法 落脚点规划经典方法 [进阶选修]                              │
│  足式/150_优化驱动落脚与接触规划 优化驱动的落脚与接触规划 [研究必修]                        │
│  足式/160_感知驱动落脚规划 感知驱动的落脚规划 [研究必修]                              │
├─────────────────────────────────────────────────────────────────┤
│ Part IV: 实时工程与硬件 (足式/170-180, 2章 ~3周)                                 │
│  足式/170_实时CPP工程 实时C++工程 [工业必修]                                     │
│  足式/180_腿足硬件栈 腿足硬件栈 [工业必修]                                      │
├─────────────────────────────────────────────────────────────────┤
│ Part V: RL与混合范式 (足式/190-210, 3章 ~5周)                                    │
│  足式/190_腿足RL训练栈 腿足RL训练栈 [进阶选修/RL方向必修]                         │
│  足式/200_RL的CPP部署 RL的C++部署 [工业必修]                                     │
│  足式/210_RL与MPC混合范式 RL与MPC混合范式 [研究必修]                                 │
├─────────────────────────────────────────────────────────────────┤
│ Part VI: 感知控制综合与实战 (足式/220-260, 5章 ~7周)                              │
│  足式/220_腿足感知数据结构 腿足感知数据结构 [进阶选修]                                │
│  足式/230_Perceptive_MPC Perceptive MPC [研究必修]                                  │
│  足式/240_legged_control精读 legged_control精读(ROS1/ros_control) [工业必修]            │
│  足式/250_Mini-Legged综合实战 Mini-Legged综合实战 [进阶选修]                             │
│  足式/260_研究方向与博士导引 研究方向与博士导引 [研究必修]                              │
└─────────────────────────────────────────────────────────────────┘

章节依赖关系图

足式/10_序章上篇_全景与四分法/足式/20_序章下篇_前沿与学习路径 (序章, 可随时回看)
    │
    ▼
足式/30_Pinocchio深度精读 Pinocchio ──→ 足式/40_CppAD与代码生成 CppAD [可延迟]
    │                  │
    ▼                  ▼
足式/50_空间向量与浮动基座动力学 空间向量 ←────── 足式/40_CppAD与代码生成 (AD导数验证)
    │
    ▼
足式/60_QP_NLP建模 QP/NLP
    │
    ├──────────────────┬──────────────────┐
    ▼                  ▼                  ▼
足式/70_腿足简化模型理论 简化模型      足式/80_接触力学与约束优化 接触力学      足式/90_WBC分层优化与TSID WBC/TSID
    │                  │                  │
    │                  ▼                  │
    │              足式/100_DDP家族与Crocoddyl DDP/Crocoddyl ←───┘
    │                  │
    ▼                  ▼
足式/120_步态管理与接触序列 步态管理 ←── 足式/110_OCS2完整栈与双线程MPC OCS2 MPC ←── 足式/100_DDP家族与Crocoddyl
    │                  │
    │    ┌─────────────┼──────────────────────────────┐
    │    │             │                              │
    │    ▼             ▼                              ▼
    │  足式/265 CI-MPC  足式/270 全身MPC/MPPI          足式/275 可微分仿真
    │  (前置:80+110)    (前置:90+110)                  (前置:80+S04)
    │    │             │                              │
    │    └─────────────┼──────────────────────────────┘
    │                  │
    ▼                  ▼
足式/140_落脚点规划经典方法 落脚点经典    足式/130_腿足状态估计 状态估计
    │                  │
    ▼                  │
足式/150_优化驱动落脚与接触规划 优化落脚 ←────────┘
    │
    ▼
足式/160_感知驱动落脚规划 感知驱动落脚
    │
    ├──────────────────┐
    ▼                  ▼
足式/170_实时CPP工程 实时C++       足式/180_腿足硬件栈 硬件栈
    │                  │
    ▼                  ▼
足式/190_腿足RL训练栈 RL训练栈      足式/220_腿足感知数据结构 感知数据结构
    │                  │
    ▼                  ▼
足式/200_RL的CPP部署 RL C++部署    足式/230_Perceptive_MPC Perceptive MPC
    │                  │
    ▼                  │
足式/210_RL与MPC混合范式 RL+MPC混合 ───────┤
    │                  │
    ▼                  ▼
足式/240_legged_control精读 legged_control精读(ROS1)
    │
    ▼
足式/250_Mini-Legged综合实战 Mini-Legged综合实战
    │
    ▼
足式/260_研究方向与博士导引 研究方向与博士导引

前置知识依赖矩阵

本大纲章节 依赖 C++/SLAM 主线章节 关键知识点
足式/30_Pinocchio深度精读 02_C++/11(Eigen 高级), 02_C++/14(CRTP), 01_数学/李群 manif Eigen Map/Block, CRTP 静态多态, SE(3) 流形运算
足式/40_CppAD与代码生成 02_C++/24(Ceres 自动微分), 02_C++/14(CRTP) 前向/反向 AD, Jet 类型, 表达式模板
足式/50_空间向量与浮动基座动力学 02_C++/11(Eigen), 01_数学/李群 旋转/变换矩阵, Plucker 坐标, 递归算法
足式/60_QP_NLP建模 02_C++/11(Eigen), 02_C++/24(Ceres) 凸优化基础, KKT 条件, 稀疏矩阵
足式/70-80 简化模型/接触力学 01_数学/李群, 02_C++/11(Eigen) 质心动力学, 摩擦锥, LCP/NCP
足式/90_WBC分层优化与TSID 足式/50, 足式/60 RNEA/ABA, QP 求解, 零空间投影
足式/100-110 DDP/OCS2 足式/60, 足式/90 最优控制, Riccati 递推, SQP
足式/130_腿足状态估计 03_SLAM/VIO/滤波, 01_数学/李群 EKF/ESKF, InEKF, 因子图
足式/170_实时CPP工程 02_C++/17-20(并发), 02_C++/35(pmr 内存) SCHED_FIFO, mlockall, 无堆分配
足式/190-210 RL/混合范式 02_C++/45-46(CUDA/Docker), PPO/SAC 基础(自学) GPU 训练, LibTorch/ONNX, sim-to-real

最小前置:未完成主线者至少补 02_C++/11(Eigen)、14(CRTP)、17(锁)、19-20(并发)、24(自动微分)、35(pmr 内存) + 01_数学/李群 共 7 章。


生态速览(2026-05-24 更新)

核心工具栈

工具/框架 当前版本 状态 在本大纲中的位置
Pinocchio 3.9.0 活跃开发 足式/30_Pinocchio深度精读 核心精读,贯穿全部章节
OCS2 v1.0 维护模式(ETH RSL 不再积极开发) 足式/110_OCS2完整栈与双线程MPC 核心精读,足式/240_legged_control精读 架构参考
Crocoddyl 3.2 活跃(重大 API 重构,不向后兼容) 足式/100_DDP家族与Crocoddyl 核心精读
Aligator/ProxDDP T-RO 2025 Crocoddyl 之外的新一代约束 DDP 路线(原生约束,Crocoddyl 兼容前端) 足式/100_DDP家族与Crocoddyl 延伸,新项目可优先评估
TSID Pinocchio 生态 活跃 足式/90_WBC分层优化与TSID 核心
ProxQP ProxSuite 活跃 足式/60_QP_NLP建模 推荐 QP 后端
OSQP 0.6.x 稳定 足式/60_QP_NLP建模 备选 QP
Ipopt 3.14+ 稳定 足式/60_QP_NLP建模 NLP 核心
IsaacLab 3.0 early access (Newton) 活跃(Newton 后端 = MuJoCo Warp,3.0 为 early access) 足式/190_腿足RL训练栈 RL 训练主平台
MuJoCo 3.8.1 活跃(MJX GPU 成熟) 足式/190_腿足RL训练栈 仿真后端
MuJoCo Playground v0.2.0 RSS 2025 Outstanding Demo 足式/190_腿足RL训练栈 RL 训练参考平台
rsl_rl ETH RSL 活跃 足式/190_腿足RL训练栈 RL 训练库
legged_control ETH RSL 维护模式(ROS1/ros_control 足式/240_legged_control精读 精读,架构参考
rl_sar 社区 活跃 足式/200_RL的CPP部署 RL 部署参考
CppAD 20240000+ 稳定 足式/40_CppAD与代码生成 精读
CppADCodeGen -- 稳定 足式/40_CppAD与代码生成 精读

MPC 框架对比

框架 状态 求解方法 特点 适用场景
OCS2 维护模式 SQP-RTI + HPIPM 双线程异步、ROS 集成成熟、教学友好 分层 MPC+WBC
Aligator Crocoddyl 之外的新一代约束 DDP 路线 ProxDDP (T-RO 2025) 原生约束、Crocoddyl 兼容前端、新项目推荐 轨迹优化/MPC
MJPC DeepMind 标准 iLQR/MPPI MuJoCo 原生零配置、直接全身 MPC 全身 MPC 入门
Fatrop 新兴 结构化内点法 全身 NLP 80Hz 实时、逆动力学 MPC 高 DoF 全身 MPC
RAPTOR 人形专用 优化驱动关节+逆动力学重建 仅优化驱动关节减少决策变量 人形 MPC
RoMoCo 开源工具箱 统一 LIP/ALIP/HLIP/MLIP/DCM C++ 实现,arXiv:2509.19545 简化模型对比研究

接触模型生态

模型 来源 特点 arXiv
ComFree-Sim -- 无互补性闭式求解,GPU 线性扩展,吞吐比 MJWarp 高 2-3x 2603.12185
无互补性方法 (Jin) RSS 2025 封闭形式时间步进,灵巧手 96.5% 成功率 2408.07855
DiffMJX CFD -- Contacts From Distance,未接触也有梯度 2506.14186
MuJoCo 软接触 Google DeepMind 凸接触 + 隐式积分,GPU via MJX --
Drake Hydroelastic TRI 体积接触力计算,几何精确 --

关键生态事件(2025-2026): - OCS2 进入维护模式:存量代码巨大,教学价值不减,但新项目应考虑 Aligator - Aligator 成为 Crocoddyl 之外的新一代路线:ProxDDP (T-RO 2025) 提供原生约束处理,Crocoddyl 兼容前端保证平滑迁移 - Crocoddyl 3.2 重大 API 重构:足式/100_DDP家族与Crocoddyl 以 3.2 API 为准 - IsaacLab 3.0 (early access) Newton 后端实质运行 MuJoCo Warp:打破 IsaacLab=PhysX 的绑定,文档和稳定性仍在完善中 - MuJoCo Playground 获 RSS 2025 Outstanding Demo:MuJoCo GPU RL 训练栈生产就绪 - ComFree-Sim 与无互补性接触模型:解析光滑模型正在形成对传统互补性方法的替代路线 - 全身 MPC 范式转变:简化模型 MPC+WBC 向单层全身 MPC 演进,MPPI/iLQR on MuJoCo 首次真机验证 - legged_control 为 ROS1 (ros_control):ROS2 迁移可参考 legubiao/ocs2_ros2


Per-Part 章节详情


Part I:动力学基础设施(第 49-54 周,~6 周)

完成本 Part 后你能做什么:用 Pinocchio 加载任意浮动基座 URDF,计算 FK/ID/FD 及其解析导数;用 CppAD 做自动微分验证;用 ProxQP/Ipopt 组装和求解 QP/NLP。这是后续所有章节的计算基础。


足式/30_Pinocchio深度精读 Pinocchio 深度精读(1538 行)⭐ [工业必修]

精读 Pinocchio 3.x 在浮动基座场景下的架构与算法,掌握 CRTP 访问者模式、标量参数化与 Lie 群抽象。

属性
周数 1.5 周
前置依赖 主线 11(Eigen 高级), Ch14(CRTP), Ch23(李群 manif)
标记 [工业必修]

科研脉络: - Featherstone (1987, 2008):空间向量代数 + RNEA/ABA 算法奠基 - Carpentier & Mansard (2018):刚体动力学算法的解析导数 - Carpentier et al. (2019):Pinocchio C++ 库架构设计

教学目标: - 能加载浮动基座 URDF 并正确配置 SE(3) 根关节 - 能用 double/CppAD::AD<double> 双标量实例化同一模型 - 能调用 FK/RNEA/ABA 并理解 O(n) 复杂度来源

核心知识点: 1. Model/Data 分离 + Algorithm 无状态函数式设计 2. CRTP 访问者模式:JointModelBase<Derived> 静态多态 dispatch 3. 标量参数化:ModelTpl<Scalar> 支持 double/AutoDiffXd/casadi::SX 4. Lie 群抽象:LieGroupBase 的 integrate/difference/interpolate 5. 浮动基座特化:JointModelFreeFlyer 的 SE(3) 积分 6. RNEA/ABA 的模板展开路径与 O(n) 递推细节 7. 解析导数 computeABADerivatives() vs 有限差分的精度/速度 8. Coal(hpp-fcl 3.x) 碰撞接口

前沿连接: - Aligator(Crocoddyl 后继)的 Pinocchio 3.x 深度依赖 - 可微仿真中 Pinocchio 作为解析梯度源

练习: 1. 加载 Go2 URDF,分别用 doubleAD<double> 计算 RNEA,验证 AD 导数与解析导数一致性 (<1e-10) 2. 画出 JointModelRevoluteTpl 的 CRTP 继承链调用图

预估时间:1.5 周


足式/40_CppAD与代码生成 CppAD 与 CppADCodeGen(1529 行)⭐⭐ [进阶选修,可延迟]

掌握 CppAD 前向/反向模式 AD 与 CppADCodeGen 的编译期代码生成,为 MPC/优化提供高效梯度。

属性
周数 1 周(可延迟至 足式/100_DDP家族与Crocoddyl 前补)
前置依赖 足式/30_Pinocchio深度精读, 主线 24(Ceres 自动微分)
标记 [进阶选修]

科研脉络: - Griewank & Walther (2008):"Evaluating Derivatives" 自动微分经典教材 - Bell (2005):CppAD 设计原理

教学目标: - 理解前向模式(tangent) vs 反向模式(adjoint) 的适用场景 - 能用 CppADCodeGen 将动力学函数预编译为 C 代码

核心知识点: 1. AD 的 tape 录制机制与计算图 2. 前向模式:\(n\) 次传播获得 \(n\) 列雅可比(输入维度小时高效) 3. 反向模式:\(m\) 次传播获得 \(m\) 行雅可比(输出维度小时高效) 4. Jacobian/Hessian 的稀疏模式利用 5. CppADCodeGen:离线生成 .c 文件 → dlopen 动态加载 6. OCS2 中 AD 的实际使用模式

前沿连接: - JAX 的 jit+vmap 与 CppAD 的设计哲学对比 - 可微仿真中 AD 穿透物理引擎

练习: 1. 对 3-DOF 摆臂的正向运动学做前向/反向 AD,对比 Jacobian 耗时 2. 用 CppADCodeGen 预编译 Go2 的 RNEA,测量与运行期 AD 的速度差异

预估时间:1 周


足式/50_空间向量与浮动基座动力学 空间向量代数与浮动基座动力学(2046 行)⭐ [工业必修]

从 Featherstone 空间向量代数出发,完整推导浮动基座多体动力学方程,掌握 RNEA/ABA/CRBA 的 O(n) 递推算法。

属性
周数 2 周
前置依赖 足式/30_Pinocchio深度精读, 主线 23(李群)
标记 [工业必修]

科研脉络: - Featherstone (1983):空间向量代数初创 - Featherstone (2008):"Rigid Body Dynamics Algorithms" 经典教材 - Orin et al. (2013):质心动力学(Centroidal Dynamics) 与质心动量矩阵

教学目标: - 能手推 Plucker 坐标系下的 6D 力/运动变换 - 能用 RNEA 做逆动力学、ABA 做正动力学 - 理解浮动基座 \(M\dot{v} + h = S^T\tau + J_c^T\lambda\) 中每一项的物理意义

核心知识点: 1. Plucker 坐标:6D 运动向量 \(\hat{v} = (\omega, v)\) 与力向量 \(\hat{f} = (n, f)\) 2. 空间变换矩阵 \({}^AX_B\) 的构造与链式组合 3. 空间惯量矩阵 \(I_s\) 的 6x6 表示与平行轴定理 4. RNEA 递推:前向扫描(速度/加速度传播) + 反向扫描(力传播) 5. CRBA:复合刚体算法计算关节空间质量矩阵 \(M(q)\) 6. ABA:关节空间正动力学 \(\ddot{q} = M^{-1}(\tau - h)\) 的 O(n) 算法 7. 质心动力学与质心动量矩阵 \(A_G\)\(h_G = A_G \dot{q}\) 8. 浮动基座动力学方程:欠驱动约束 \(S\) 矩阵的含义 9. CCRBA(Composite Centroidal Rigid-Body Algorithm):O(N) 计算质心动量矩阵 \(A_G\)

前沿连接: - SRBD(单刚体动力学) 是质心动力学的最简化版本——足式/70_腿足简化模型理论 将详细推导 - WBC 的 QP 直接以此方程为等式约束——足式/90_WBC分层优化与TSID 核心

练习: 1. 手推 2-link 浮动基座臂的 \(M, h\) 并与 Pinocchio 数值对比 2. 实现一个最简 RNEA(不用 Pinocchio),验证与 pinocchio::rnea() 结果一致

预估时间:2 周


足式/60_QP_NLP建模 QP/NLP 建模(1784 行)⭐ [工业必修]

掌握凸 QP 与非线性 NLP 的建模范式和求解器工程,为 WBC/MPC 提供优化基础设施。

属性
周数 1.5 周
前置依赖 主线 11(Eigen 稀疏), 主线 24(优化基础)
标记 [工业必修]

科研脉络: - Goldfarb & Idnani (1983):活跃集 QP 算法(qpOASES 基础) - Stellato et al. (2020):OSQP 算子分裂算法 - Bambade et al. (2022):ProxQP 近端算子+信赖域

教学目标: - 能手动组装 \(\min \frac{1}{2}x^THx + g^Tx\) s.t. \(Ax \leq b\) 并调用三大求解器 - 能为 WBC 的力分配组装完整 QP - 能用 Ipopt 求解轨迹优化 NLP

核心知识点: 1. QP 标准形式与 KKT 条件 2. 三大 QP 求解器对比:qpOASES(活跃集) / OSQP(ADMM) / ProxQP(近端+信赖域) 3. 稀疏矩阵工程:Eigen::SparseMatrix + CSC 格式 4. 热启动(warm-start) 策略与 MPC 循环中的应用 5. NLP 求解器 Ipopt:内点法、障碍参数、收敛准则 6. NLP 建模工具:CasADi 符号化建模 + Ipopt/SNOPT 后端 7. 二阶锥约束(SOCP):摩擦锥的精确锥表示 8. 求解器选型决策树:问题规模 × 稀疏性 × 实时性 9. acados:嵌入式 MPC 专用 SQP/RTI 框架,C 代码生成 + 结构化 QP(HPIPM),适合 Jetson 部署

前沿连接: - ProxQP 是 Pinocchio 生态推荐的 WBC QP 后端 - HPIPM 是 OCS2 的 MPC QP 后端 - acados 是嵌入式 MPC 的首选工具链(区别于通用 NLP 求解器 Ipopt)

练习: 1. 组装一个四足站立的力分配 QP(12 个接触力变量 + 摩擦锥约束),用三大求解器分别求解并对比耗时 2. 用 CasADi + Ipopt 求解一个简化的 2D 跳跃轨迹优化

预估时间:1.5 周


Part II:腿足控制核心(第 55-64 周,~10 周)

完成本 Part 后你能做什么:理解 LIPM/SRBD 简化模型理论,掌握摩擦锥/互补约束接触力学,能组装 WBC QP 和 OCS2 MPC,理解步态管理与接触序列调度。这是足式控制的数学核心。


足式/70_腿足简化模型理论 腿足简化模型理论(1717 行)⭐ [工业必修]

从 LIPM 到 SLIP 到质心动力学,建立足式机器人的简化建模体系。

属性
周数 1.5 周
前置依赖 足式/50_空间向量与浮动基座动力学(浮动基座动力学), 足式/60_QP_NLP建模(QP 基础)
标记 [工业必修]

科研脉络: - Kajita et al. (2001):LIPM + ZMP 双足行走 - Blickhan (1989):SLIP 弹簧-质量模型 - Di Carlo et al. (2018):MIT Cheetah 凸 MPC(SRBD 的工业化里程碑)

教学目标: - 理解 LIPM/DCM/SRBD/SLIP 四种简化模型的数学推导与适用场景 - 能推导 SRBD 的线性化状态空间方程 - 理解简化模型与全身模型的精度-速度权衡

核心知识点: 1. LIPM(线性倒立摆模型):恒定 CoM 高度假设 → \(\ddot{x} = \omega^2(x - p)\) 2. DCM(发散质心运动):\(\xi = x + \dot{x}/\omega\),捕获点概念 3. ZMP/CoP:零力矩点与支撑多边形稳定性判据 4. SRBD(单刚体动力学):忽略腿部惯性 → 12 维状态空间 5. SRBD 线性化与离散化:MPC 凸化的数学基础 6. SLIP(弹簧加载倒立摆):腿部弹性建模,跑步/跳跃 7. Centroidal Dynamics:质心动量矩阵 \(A_G\) 与角动量守恒 8. 四种模型的精度-速度对比表 9. RoMoCo 统一简化模型工具箱 (arXiv: 2509.19545):C++ 实现 LIP/ALIP/HLIP/MLIP/DCM 统一框架,用于模型对比研究

前沿连接: - SRBD 是 MIT Cheetah 凸 MPC 的核心假设 - 全身 MPC(Aligator/OCS2)不再做 SRBD 假设,但计算量更大

练习: 1. 推导 SRBD 的连续时间状态空间方程 \(\dot{x} = Ax + Bu\),写出 \(A, B\) 矩阵 2. 对比 LIPM 和 SRBD 在四足 trot 步态下的质心轨迹预测误差

预估时间:1.5 周


足式/80_接触力学与约束优化 接触力学与约束优化(1826 行)⭐⭐ [研究必修]

从 Coulomb 摩擦到互补约束,建立接触力学的完整数学框架。

属性
周数 1.5 周
前置依赖 足式/60_QP_NLP建模(QP/NLP), 足式/70_腿足简化模型理论(简化模型)
标记 [研究必修]

科研脉络: - Coulomb (1785):库仑摩擦定律 - Stewart & Trinkle (1996):LCP 接触模型 - Pang et al. (2023):接触的准动态平滑化

教学目标: - 理解 Signorini 互补条件与 Coulomb 摩擦锥 - 能将接触约束建模为 LCP/NCP - 理解接触不连续性对优化/学习的挑战

核心知识点: 1. Signorini 互补条件:\(\phi \geq 0, \lambda \geq 0, \phi \cdot \lambda = 0\) 2. Coulomb 摩擦锥:\(\sqrt{f_x^2 + f_y^2} \leq \mu f_z\) 3. 摩擦锥线性化:多面体近似(4面/8面/16面)与 SOC 精确锥 4. LCP(线性互补问题):\(w = Mz + q, w \geq 0, z \geq 0, w^Tz = 0\) 5. 接触模式枚举:\(n\) 个接触点 → \(3^n\) 种模式(分离/滑动/粘着) 6. 松弛与平滑化:Fischer-Burmeister 函数、对数障碍、增广拉格朗日变体 (arXiv: 2502.16898) 7. 事件驱动 vs 时间步进仿真 8. MuJoCo 的软接触模型 vs Drake 的 Hydroelastic 模型 9. ComFree-Sim:无互补性闭式求解,GPU 线性扩展,吞吐比 MuJoCo Warp 高 2-3x (arXiv: 2603.12185) 10. 无互补性方法 (Jin et al., RSS 2025):封闭形式时间步进,灵巧手 96.5% 成功率 (arXiv: 2408.07855) 11. DiffMJX CFD (Contacts From Distance):未接触也有梯度信号 (arXiv: 2506.14186) 12. 光滑接触流形 (arXiv: 2602.20304):接触动力学的微分几何统一框架 13. 主流趋势:解析光滑模型正在形成对传统互补性方法的替代路线

前沿连接: - 接触隐式轨迹优化(足式/150_优化驱动落脚与接触规划 核心)→ 足式/265_Contact-Implicit_MPC 的实时化 - 可微仿真中接触梯度的病态性处理 → 足式/275_可微分仿真用于控制 详细展开 - ComFree-Sim / 无互补性方法是未来接触模型的演进方向

练习: 1. 手推 2D 点接触的 LCP 公式并用 Lemke 算法求解 2. 对比 4 面/8 面摩擦锥近似在四足站立 QP 中的力分配差异

预估时间:1.5 周


足式/90_WBC分层优化与TSID WBC 分层优化与 TSID(1660 行)⭐ [工业必修]

掌握全身控制器(WBC) 的分层 QP 架构与 TSID 框架,实现多任务优先级控制。

属性
周数 2 周
前置依赖 足式/50_空间向量与浮动基座动力学(浮动基座动力学), 足式/60_QP_NLP建模(QP), 足式/80_接触力学与约束优化(接触力学)
标记 [工业必修]

科研脉络: - Sentis & Khatib (2005):分层任务框架 - Del Prete et al. (2015):浮动基座 TSID - Kim et al. (2019):MIT Cheetah WBIC

教学目标: - 能组装浮动基座 WBC 的完整 QP(决策变量: \(\ddot{q}, \tau, \lambda\)) - 理解严格优先级(null-space) vs 软优先级(weighted QP) 的数学区别 - 能用 TSID 框架配置任务栈

核心知识点: 1. WBC 标准 QP:\(\min \|J\ddot{q} + \dot{J}\dot{q} - \ddot{x}_d\|^2\) s.t. 动力学 + 接触 2. 决策变量选择:\((\ddot{q}, \tau, \lambda)\) 三元组 3. 等式约束:\(M\dot{v} + h = S^T\tau + J_c^T\lambda\)(浮动基座动力学) 4. 不等式约束:摩擦锥 + 关节限位 + CoP 约束 5. 严格优先级:零空间投影级联求解 6. 软优先级:加权代价 QP 一次求解 7. TSID 框架 API:任务定义、约束注册、求解器配置 8. MIT Cheetah WBIC 的简化版实现(legged_control HierarchicalWbc) 9. QP 求解器 benchmark (arXiv: 2510.21773):WBC 推荐 ProxQP,MPC 推荐 HPIPM,Jetson Orin NX 最优能效比 10. 高 DoF 人形 WBC:30+ DoF 时 QP 求解耗时显著增加,结构化利用成为关键 11. VWBC(值函数嵌入 WBC):将 MPC 值函数作为 QP 代价项,与 Cafe-MPC 的值函数 WBC 对比(详见 足式/270_全身MPC与采样控制)

前沿连接: - WBC 是 MPC 的下游执行器:MPC 给出参考轨迹/力,WBC 映射到关节力矩 - RL 范式中 WBC 被神经网络替代——足式/210_RL与MPC混合范式 讨论这一取舍 - 全身 MPC(足式/270_全身MPC与采样控制)在部分场景下可替代 WBC 层

练习: 1. 手动组装四足站立 WBC QP(躯体高度跟踪 + 摩擦锥 + 动力学约束),用 ProxQP 求解 2. 用 TSID 配置三优先级任务(平衡 > 躯体姿态 > 正则化),在仿真中验证

预估时间:2 周


足式/100_DDP家族与Crocoddyl DDP 家族与 Crocoddyl(1755 行)⭐⭐ [研究必修]

从 DDP/iLQR 理论到 Crocoddyl 3.2 实战,掌握基于射击法的轨迹优化。

属性
周数 1.5 周
前置依赖 足式/60_QP_NLP建模(NLP), 足式/90_WBC分层优化与TSID(WBC 概念)
标记 [研究必修]

科研脉络: - Mayne (1966):DDP 原始算法 - Tassa et al. (2012):iLQR(DDP 的 Gauss-Newton 近似) - Mastalli et al. (2020):Crocoddyl FDDP(可行性驱动 DDP) - Jallet et al. (2025):Aligator/ProxDDP(T-RO 2025)

教学目标: - 能推导 DDP 的 Bellman 递推与 Riccati 因式分解 - 能用 Crocoddyl 3.2 API 构建腿足轨迹优化问题 - 理解 FDDP 与经典 DDP 在可行性处理上的差异

核心知识点: 1. DDP 数学:值函数二阶展开 → 反向 Riccati → 前向 rollout 2. iLQR:忽略 \(f_{xx}\) 项 → Gauss-Newton 近似 → 更鲁棒 3. FDDP:放松初始轨迹可行性 → 收敛域更大 4. Crocoddyl 3.2 API:ActionModel / CostModel / ShootingProblem / Solver 5. 约束处理:增广拉格朗日法 vs 罚函数法 6. Aligator/ProxDDP:近端 DDP + 并行 Riccati → 新项目推荐,Crocoddyl 之外的新一代约束 DDP 路线 (T-RO 2025) 7. 与 MPC 的关系:DDP 作为 MPC 的求解内核 8. 计算效率:7-DOF 臂 ~2ms/iter, 浮动基座 ~5ms/iter 9. GPU 加速 Primal-Dual iLQR:parallel associative scan,比 acados/Crocoddyl 快 60% (arXiv: 2506.07823) 10. WASP 导数加速:iLQG 加速 2x (arXiv: 2512.21109) 11. ParallelRiccati:parallel scan 加速 Riccati 回代

前沿连接: - OCS2 内部用 SQP(非 DDP)但数学思想类似 - 可微仿真 + DDP = 端到端可微 MPC → 足式/275_可微分仿真用于控制 - Aligator 与 Fatrop(足式/270_全身MPC与采样控制)共同构成新一代 MPC 求解器生态

练习: 1. 手推 1D 双积分器的 DDP 反向传播,写出 \(K, k\) 增益矩阵 2. 用 Crocoddyl 3.2 构建四足跳跃轨迹优化(简化模型),可视化质心轨迹

预估时间:1.5 周


足式/110_OCS2完整栈与双线程MPC OCS2 完整栈与双线程 MPC(2077 行)⭐ [工业必修]

精读 OCS2 的 SQP-RTI + HPIPM 实时 MPC 架构,掌握双线程异步 MPC 的工程实现。

属性
周数 2 周
前置依赖 足式/100_DDP家族与Crocoddyl(DDP/轨迹优化), 足式/90_WBC分层优化与TSID(WBC)
标记 [工业必修]

科研脉络: - Farshidian et al. (2017):OCS2 原始论文 - Sleiman et al. (2021):Unified MPC 四足+臂 - Grandia et al. (2023):Perceptive Locomotion 感知 MPC

教学目标: - 理解 SQP-RTI(实时迭代)的"一次 QP 近似"策略 - 能配置 OCS2 的腿足 MPC 完整管线 - 理解双线程 MPC 的 policy 插值机制

核心知识点: 1. SQP-RTI:将 NLP 分解为每步一个 QP → 实时可行 2. HPIPM:Riccati 递推求解结构化 QP → \(O(N \cdot n^3)\) 3. OCS2 架构:SystemDynamics / CostFunction / Constraint / RolloutBase 4. 双线程设计:后台线程求解 MPC → 前台线程插值执行 5. 代价函数设计:追踪代价 + 终端代价 + 正则化 6. 约束处理:摩擦锥 / 运动学极限 / 自碰撞 7. 步态调度接口:接触序列 → MPC 时域窗口 8. OCS2 legged_robot 示例配置详解 9. ADMM 并行 MPC:使用 ADMM-MPC (IROS 2024, arXiv: 2403.11742) 讲解全身动力学分解为可并行子系统的方法

前沿连接: - Perceptive MPC(足式/230_Perceptive_MPC)在 OCS2 基础上加入地形约束 - OCS2 进入维护模式——新项目迁移 Aligator 的路径 - 全身 MPPI (arXiv: 2409.10469) 和 MuJoCo iLQR (arXiv: 2503.04613) 正在形成对 OCS2 分层架构的替代路线 → 足式/270_全身MPC与采样控制 - ADMM 加速 MPC (arXiv: 2403.11742):全身动力学并行子系统分解 - CollisionFreeMPC (ICRA 2021, arXiv: 2103.13987):使用该论文讲解碰撞约束集成到 MPC 的方法 - OCS2 ROS2 移植版 (legubiao/ocs2_ros2) 可用于 ROS2 环境

练习: 1. 配置 OCS2 legged_robot 示例,在 MuJoCo 中跑 Go2 trot 步态 2. 修改 MPC 时域长度和 QP 迭代次数,分析对跟踪精度和计算延迟的影响

预估时间:2 周


足式/120_步态管理与接触序列 步态管理与接触序列(1710 行)⭐⭐ [进阶选修]

掌握步态图、接触序列调度与自动步态生成的理论与工程实现。

属性
周数 1 周
前置依赖 足式/110_OCS2完整栈与双线程MPC(OCS2 MPC)
标记 [进阶选修]

科研脉络: - Raibert (1986):经典步态分类(walk/trot/pace/bound/gallop) - Bellicoso et al. (2018):ANYmal 步态管理 - Villarreal et al. (2020):MPC 内自动接触序列优化

教学目标: - 理解步态图(gait graph) 的周期/占空比/相位偏移参数化 - 能实现 FSM 步态调度器 - 理解自动步态生成相对于手工步态的优劣

核心知识点: 1. 步态参数化:周期 \(T\)、占空比 \(D\)、相位偏移 \(\phi_i\) 2. 经典步态:walk(0.75) / trot(0.5) / pace(0.5) / bound(0.5) / gallop 3. 步态图(Gait Graph):时间-接触的矩阵表示 4. FSM 步态调度器:swing/stance 状态机 + 早触/晚触处理 5. OCS2 步态接口:ModeSchedule + TargetTrajectory 6. 自动步态生成:MIQP / GCS / RL 发现步态 7. 步态过渡:trot→walk 平滑切换策略 8. 人形步态的特殊性:单支撑/双支撑/重心偏移

前沿连接: - RL 可以完全绕过手工步态设计——足式/190_腿足RL训练栈 的替代路线 - 接触序列优化(足式/150_优化驱动落脚与接触规划)是自动步态生成的数学形式化

练习: 1. 实现一个四足步态管理器,支持 trot/walk/pace 三种步态切换 2. 在 OCS2 中修改步态周期和占空比,观察对 MPC 跟踪质量的影响

预估时间:1 周


Part II-B:前沿 MPC 与可微分方法(第 65-68 周,~4 周)[规划章节]

完成本 Part 后你能做什么:掌握接触隐式 MPC 的平滑互补建模与实时求解,理解全身 MPC/MPPI 作为分层 MPC+WBC 替代路线的新范式,能用可微分仿真做端到端策略优化。这是 2025-2026 最前沿的三个研究方向。


足式/265_Contact-Implicit_MPC Contact-Implicit MPC ⭐⭐⭐ [研究必修][规划章节,待创建]

将接触模式发现嵌入 MPC 优化循环,消除手工接触序列调度,实现自动接触规划与运动控制的统一求解。

属性
周数 1.5 周
前置依赖 足式/80_接触力学与约束优化(接触力学/互补约束), 足式/110_OCS2完整栈与双线程MPC(MPC 架构)
标记 [研究必修]

科研脉络: - Posa et al. (2014):Contact-Implicit Trajectory Optimization 奠基 - Howell et al. (2022):CALIPSO 锥互补 NLP - Kim et al. (2024):CI-MPC 实机验证,45kg 四足 HOUND (arXiv: 2312.08961, IJRR 2024) - Manchester & Kuindersma (2024):IDTO 逆动力学接触隐式 (arXiv: 2309.01813, IJRR 2026)

教学目标: - 理解接触隐式优化如何将离散接触模式决策连续化 - 掌握平滑互补性建模(Fischer-Burmeister / 对数障碍 / 柔性接触松弛) - 理解 CI-MPC 与传统分层 MPC 在自动步态发现上的本质区别 - 能分析 CI-MPC 的计算瓶颈与实时化策略

核心知识点: 1. 接触隐式 vs 接触显式:\(3^n\) 模式枚举 → 连续优化的范式转变 2. 平滑互补约束:Coulomb 摩擦的 Fischer-Burmeister 平滑化 \(\phi(a,b) = a + b - \sqrt{a^2 + b^2 + \epsilon}\) 3. 柔性接触松弛:弹簧-阻尼模型近似 Signorini 条件,梯度连续 4. CI-MPC 求解架构:逐次凸化(SCvx) / iLQR + 接触力变量 / 内点法 5. IDTO(逆动力学接触隐式轨迹优化):接触力作为优化变量,20-DoF >100Hz (arXiv: 2309.01813) 6. ci-SCvx GPU 加速:连续时间逐次凸化 + 积分交叉互补性,JAX 实现,一个数量级加速 (arXiv: 2604.09993) 7. ACAL-iLQR:柔性接触增广拉格朗日 iLQR,四足步态自动生成 (Adv. Intell. Systems 2024) 8. 相分解轨迹优化:摆动/支撑持续时间显式优化 (arXiv: 2510.24069) 9. CI-MPC vs 分层 MPC 性能对比:计算成本 / 自动步态发现 / 鲁棒性 10. 实时化策略:GPU 并行化 / 导数稀疏性利用 / warm-start

前沿连接: - 足式/80_接触力学与约束优化 提供互补约束的数学基础 - 足式/150_优化驱动落脚与接触规划 的离线接触隐式优化是本章实时化的起点 - 足式/270_全身MPC与采样控制 全身 MPC 可使用接触隐式动力学

关键论文: 1. Posa et al. (2014) "A Direct Method for Trajectory Optimization of Rigid Bodies Through Contact" — CI-TO 奠基 2. Kim et al. (2024) "CI-MPC-KAIST" arXiv: 2312.08961 (IJRR 2024) — 首次 45kg 真机验证 3. Manchester & Kuindersma (2024) "Inverse Dynamics Trajectory Optimization" arXiv: 2309.01813 (IJRR 2026) — 逆动力学 CI 框架 4. ci-SCvx (2025) arXiv: 2604.09993 — GPU 加速接触隐式凸化

练习: 1. 用 CasADi + Ipopt 实现 2D 弹跳球的接触隐式轨迹优化(Fischer-Burmeister 平滑),对比不同 \(\epsilon\) 值对收敛性的影响 2. 分析 Le Cleac'h et al. (2024) 论文中 HOUND 四足的 CI-MPC 架构,画出求解器数据流图

预估时间:1.5 周


足式/270_全身MPC与采样控制 全身 MPC 与采样控制 ⭐⭐⭐ [研究必修][规划章节,待创建]

2025 最大范式转变:从简化模型 MPC + WBC 双层架构走向单层全身 MPC,直接优化关节力矩。掌握全身 iLQR/MPPI 在 MuJoCo 上的实现与真机部署。

属性
周数 1.5 周
前置依赖 足式/90_WBC分层优化与TSID(WBC 全身动力学), 足式/110_OCS2完整栈与双线程MPC(MPC 架构)
标记 [研究必修]

科研脉络: - Williams et al. (2017):MPPI 采样控制算法 - Howell et al. (2022):MJPC (MuJoCo Predictive Control) 全身 MPC 框架 - Abudakka et al. (2025):Real-Time Whole-Body MPPI,首次真机四足 (arXiv: 2409.10469, ICRA 2025) - Ding et al. (2025):Whole-Body MPC with MuJoCo iLQR,H1 人形 (arXiv: 2503.04613)

教学目标: - 理解分层 MPC+WBC 与单层全身 MPC 的根本区别 - 掌握 MPPI(Model Predictive Path Integral) 采样控制的数学推导 - 能用 MJPC 或自写全身 iLQR 在 MuJoCo 中跑全身 MPC - 理解全身 MPC 的计算瓶颈与 GPU 加速策略

核心知识点: 1. 范式转变:简化模型 MPC + WBC(两层) → 全身 MPC(单层) 的动机与优劣 2. 全身 MPC 的决策变量:直接优化 \((\tau_1, ..., \tau_N)\) 关节力矩序列 3. MPPI 数学:路径积分控制 → 重要性采样 → 指数加权平均 4. MPPI 参数:采样数 K、噪声方差 \(\Sigma\)、温度 \(\lambda\) 5. MuJoCo 有限差分导数:利用 MuJoCo mjd_transitionFD 计算全身动力学导数 6. MJPC 架构:MuJoCo 原生零配置全身 MPC,支持 iLQR/MPPI/Gradient Descent 7. 全身 MPPI on GPU:并行 rollout + 并行导数计算 (arXiv: 2409.10469) 8. DIAL-MPC 扩散退火采样 MPC:使用 DIAL-MPC (arXiv: 2409.15610) 讲解扩散退火噪声调度 9. Cafe-MPC 级联保真度 MPC:使用 Cafe-MPC (T-RO 2025, arXiv: 2403.03995) 讲解级联保真度+值函数 WBC 10. Fatrop 全身逆动力学 MPC:结构化内点法直接优化关节力矩 80Hz (arXiv: 2511.19709) 11. 多频率 MPC:处理异构执行器的不同控制频率 (arXiv: 2505.16478, iRonCub) 12. RAPTOR:仅优化驱动关节 + 逆动力学重建被动关节,减少决策变量的人形 MPC 思路(与 Fatrop 全身优化对比) 13. 全身 MPC vs 分层 MPC 性能对比表

前沿连接: - 足式/90_WBC分层优化与TSID 的 WBC 在部分场景下可被全身 MPC 替代 - 足式/265_Contact-Implicit_MPC 的接触隐式方法可与全身 MPC 结合 - 足式/230_Perceptive_MPC 可扩展为 Perceptive Whole-Body MPC

关键论文: 1. Williams et al. (2017) "Information Theoretic MPC for Model-Based RL" — MPPI 原始论文 2. Abudakka et al. (2025) "Real-Time Whole-Body MPPI" arXiv: 2409.10469 (ICRA 2025) — 首次真机四足全身 MPPI 3. Ding et al. (2025) "Whole-Body MPC with MuJoCo" arXiv: 2503.04613 — iLQR+MuJoCo 有限差分导数,H1 人形 4. Fatrop Whole-Body MPC arXiv: 2511.19709 — 结构化 IP 求解器 80Hz 5. Xue et al. (2024) "DIAL-MPC" arXiv: 2409.15610 (CoRL 2024 WS) — 扩散退火全阶 MPPI,973★ 6. Li et al. (2025) "Cafe-MPC" arXiv: 2403.03995 (T-RO 2025) — 级联保真度 MPC + 值函数 WBC

练习: 1. 用 MJPC 在 MuJoCo 中跑 Go2 全身 MPC(iLQR 模式),对比 OCS2 分层 MPC+WBC 的跟踪精度 2. 实现简化版 MPPI(100 采样,2D 双积分器),理解温度参数 \(\lambda\) 对探索-利用的影响

预估时间:1.5 周


足式/275_可微分仿真用于控制 可微分仿真用于控制 ⭐⭐⭐ [研究必修][规划章节,待创建]

梯度穿透物理引擎:用可微分仿真直接优化控制策略,绕过 RL 的零阶采样低效问题。掌握 DiffSim2Real、AHAC、DiffMJX 等前沿工具。

属性
周数 1 周
前置依赖 足式/80_接触力学与约束优化(接触力学/梯度病态性), 仿真方向 S04(可微分仿真基础)
标记 [研究必修]

科研脉络: - de Avila Belbute-Peres et al. (2018):可微物理引擎先驱 - Xu et al. (2022):Brax 2.0 可微仿真 - He et al. (2024):DiffSim2Real 首次纯可微仿真到真机四足 (arXiv: 2411.02189) - Suh et al. (2024):AHAC 接触截断避免梯度爆炸 (arXiv: 2405.17784, ICML 2024)

教学目标: - 理解可微分仿真的核心思想:通过物理仿真反向传播梯度 - 理解接触不连续性导致的梯度病态问题及其解决方案 - 能用 MJX/Brax 做简单的可微仿真策略优化 - 理解可微仿真 vs RL 在足式控制中的互补性

核心知识点: 1. 可微分仿真原理:前向仿真 → 损失函数 → 反向传播穿透物理引擎 2. 接触梯度的病态性:Signorini 互补条件不可微 → 梯度爆炸/消失 3. 平滑化策略:柔性接触模型 / 随机平滑 / 截断梯度 4. AHAC(Analytic Handling of Contacts):接触截断避免梯度爆炸 (arXiv: 2405.17784) 5. DiffSim2Real:首次纯可微仿真 → 真机四足步态 (arXiv: 2411.02189) 6. DiffMJX CFD(Contacts From Distance):未接触也有梯度信号 (arXiv: 2506.14186) 7. D-REX:高斯溅射数字孪生 + 可微物理引擎 (arXiv: 2603.01151, ICLR 2026) 8. 可微 MPC 策略优化:混合一阶梯度 + 零阶更新 (arXiv: 2511.11308) 9. 在线可微仿真:Learning on the Fly,在线快速适应 (arXiv: 2508.21065) 10. KKT 隐式微分:通过 KKT 条件隐函数定理获取优化问题梯度,可微 MPC 的理论基础 11. 可微仿真 vs RL 对比:样本效率 / 梯度质量 / 接触处理 / 计算成本

前沿连接: - 足式/80_接触力学与约束优化 的接触模型理论是可微仿真的数学基础 - 足式/210_RL与MPC混合范式 中可微 MPC 是混合范式的前沿变体 - 足式/260_研究方向与博士导引 中"可微仿真+腿足"是核心研究方向之一

关键论文: 1. He et al. (2024) "DiffSim2Real" arXiv: 2411.02189 — 首次纯可微仿真到真机四足 2. Suh et al. (2024) "AHAC: Actor-Critic with Hallucinated Analytic Contact" arXiv: 2405.17784 (ICML 2024) — 接触截断 3. Tassa et al. (2025) "DiffMJX: Contacts From Distance" arXiv: 2506.14186 — 连续梯度 4. Lei et al. (2026) "D-REX" arXiv: 2603.01151 (ICLR 2026) — 高斯溅射 + 可微物理

练习: 1. 用 MJX 对一个简单 2-link 浮动基座系统做可微仿真,对比前向有限差分梯度与反向传播梯度的精度和速度 2. 精读 DiffSim2Real 论文,分析其 sim-to-real 迁移策略与 RL Domain Randomization 的异同

预估时间:1 周


Part III:状态估计与感知(第 69-73 周,~5 周)

完成本 Part 后你能做什么:实现腿足状态估计器(EKF/InEKF),掌握 Raibert 启发式落脚、优化驱动落脚与感知驱动落脚三种范式。这是连接控制与真实世界的桥梁。


足式/130_腿足状态估计 腿足状态估计(1581 行)⭐ [工业必修]

属性
周数 1.5 周
前置依赖 主线 25-26(VIO/滤波), 足式/50_空间向量与浮动基座动力学(浮动基座), 足式/80_接触力学与约束优化(接触力学)
标记 [工业必修]

科研脉络: - Bloesch et al. (2013):四足 EKF 状态估计 - Hartley et al. (2020):InEKF 在腿足上的应用 - Wisth et al. (2021):VILENS 视觉-惯性-腿式因子图

教学目标: - 能实现基于运动学+IMU 的腿足 EKF - 理解 InEKF 相比 EKF 的优势(误差线性化在群上精确) - 理解接触状态对状态估计的影响

核心知识点: 1. 腿足状态估计的特殊性:浮动基座无绝对位置传感器 2. IMU + 腿部运动学融合:前向运动学提供"虚拟 GPS" 3. EKF 状态定义:\([p, v, R, b_a, b_g, p_{foot}]\) 4. InEKF:误差定义在 Lie 群上 → 误差传播精确线性化 5. 接触检测:力阈值 / 电流阈值 / 概率模型 6. 接触切换对滤波器的影响:协方差重置策略 7. 视觉-惯性-腿式融合(VILENS 架构) 8. legged_control 中 LinearKalmanFilter 的简化实现

前沿连接: - SLAM 背景学习者的独特优势:InEKF 与 VIO 方法同源 - 因子图状态估计是学术前沿方向 - 神经增强滤波:InNKF (arXiv: 2503.00344) 漂移比 InEKF 降 40%;Attention-Based NKF (arXiv: 2601.18569, ICRA 2025) 位置+50%/速度+53% - 自适应 InEKF (arXiv: 2510.16755):在线协方差估计 - 双层优化噪声标定 (arXiv: 2510.11539, ICRA 2026):上层优化噪声+运动学参数 - OCELOT (arXiv: 2605.21863):无力传感器接触检测+里程计,ROS2 开源 - DogLegs 多 IMU 融合 (arXiv: 2503.04580, IROS 2025):精度提升 37-88% - 自适应 MPC + KF 在线辨识 (arXiv: 2506.13432):卡尔曼滤波在线辨识质量/质心参数驱动 MPC 自适应

练习: 1. 在 legged_control 框架中跑 Go2 状态估计,分析漂移来源 2. 对比 EKF 和 InEKF 在快速步态下的估计精度

预估时间:1.5 周


足式/140_落脚点规划经典方法 落脚点规划经典方法(1703 行)⭐⭐ [进阶选修]

属性
周数 1 周
前置依赖 足式/70_腿足简化模型理论(简化模型/DCM), 足式/120_步态管理与接触序列(步态管理)
标记 [进阶选修]

科研脉络: - Raibert (1986):Raibert 启发式落脚公式 - Pratt et al. (2006):捕获点理论(DCM 驱动落脚) - Jenelten et al. (2020):基于 DCM 的鲁棒落脚

教学目标: - 能推导 Raibert 启发式公式及其物理直觉 - 理解捕获点/DCM 与落脚的关系 - 能实现基本的启发式落脚控制器

核心知识点: 1. Raibert 启发式:\(p_f = p_{hip} + \frac{v \cdot T_s}{2} + k(v - v_d)\) 2. 公式各项的物理意义:对称项 + 反馈修正项 3. 捕获点(Capture Point):使机器人能停下来的最小落脚位置 4. DCM 驱动落脚:\(\xi_{ref}\)\(p_f\) 的映射 5. 地形约束:可行落脚区域的几何裁剪 6. 落脚时序:提前/延迟触地的处理策略 7. Raibert 的局限性:不考虑地形/不考虑多步前瞻

前沿连接: - 足式/150_优化驱动落脚与接触规划 用优化方法替代启发式 - 足式/160_感知驱动落脚规划 用感知方法学习落脚

练习: 1. 实现 Raibert 启发式落脚器,在平地 trot 步态中验证 2. 在有坡度地形上测试 Raibert 公式的失败模式

预估时间:1 周


足式/150_优化驱动落脚与接触规划 优化驱动的落脚与接触规划(1588 行)⭐⭐⭐ [研究必修]

属性
周数 1.5 周
前置依赖 足式/110_OCS2完整栈与双线程MPC(OCS2 MPC), 足式/140_落脚点规划经典方法(经典落脚), 足式/80_接触力学与约束优化(接触力学)
标记 [研究必修]

科研脉络: - Winkler et al. (2018):TOWR 离线轨迹+落脚联合优化 - Deits & Tedrake (2014):GCS(Graph of Convex Sets) 混合规划 - Posa et al. (2014):Contact-Implicit Trajectory Optimization

教学目标: - 理解落脚与轨迹联合优化的数学建模 - 理解 MIQP/接触隐式/GCS 三种处理离散接触模式的方法 - 能用 TOWR 做离线轨迹+落脚规划

核心知识点: 1. 轨迹+落脚联合优化:\(\min J\) s.t. 动力学+接触+运动学+地形 2. MIQP:整数变量编码接触模式 → 分支定界求解 3. 接触隐式(Contact-Implicit):互补约束松弛 → 连续优化 4. GCS(Graph of Convex Sets):将混合问题转化为图搜索+凸优化 5. TOWR 框架:样条参数化 + Ifopt 求解器 6. 计算复杂度分析:指数(MIQP) vs 多项式(CI) vs 图搜索(GCS) 7. 在线 vs 离线:实时性约束下的降阶策略

前沿连接: - 接触隐式 MPC 是 2024-2025 最活跃的研究方向之一 → 足式/265_Contact-Implicit_MPC 详细展开 - GCS 在 MIT Drake 生态中有完整实现 - IDTO 逆动力学 CI (arXiv: 2309.01813, IJRR 2026):接触力作为优化变量,20-DoF >100Hz - ci-SCvx GPU 加速 (arXiv: 2604.09993):连续时间逐次凸化,JAX 实现,一个数量级加速 - 相分解轨迹优化 (arXiv: 2510.24069):摆动/支撑持续时间显式优化

练习: 1. 用 TOWR 优化四足跨越台阶的轨迹,可视化落脚点序列 2. 对比固定步态(手工落脚) 和 TOWR(优化落脚) 在崎岖地形上的通过率

预估时间:1.5 周


足式/160_感知驱动落脚规划 感知驱动的落脚规划(1624 行)⭐⭐⭐ [研究必修]

属性
周数 1 周
前置依赖 足式/140_落脚点规划经典方法(经典落脚), 足式/150_优化驱动落脚与接触规划(优化落脚)
标记 [研究必修]

科研脉络: - Magana et al. (2019):高程图驱动的落脚评分 - Miki et al. (2022):ANYmal 感知 locomotion(RL + 高程图) - Agarwal et al. (2023):Learning Perceptive Locomotion

教学目标: - 理解高程图/costmap 作为落脚评分输入的管线 - 理解 CNN/RL 学习落脚策略的优势与局限 - 理解感知延迟/噪声对落脚质量的影响

核心知识点: 1. 高程图(Elevation Map):2.5D 地形表示 → 落脚可行性评分 2. 落脚评分函数:平坦度 + 可达性 + 运动学约束 3. CNN 落脚网络:输入高程图 patch → 输出落脚评分图 4. RL 端到端落脚:观测包含高程图扫描 → 策略直接输出足端目标 5. Miki et al. (2022) 架构:teacher-student + 特权信息 6. 感知延迟补偿:预测当前地形 vs 延迟补偿 7. 不确定性处理:地形高度不确定性对落脚安全的影响

前沿连接: - Perceptive MPC(足式/230_Perceptive_MPC)将地形感知融入 MPC 约束 - 感知数据结构(足式/220_腿足感知数据结构)是本章的工程基础 - 凸分解落脚 (arXiv: 2307.14775):NN 安全区域 + 凸分解 - 变时序 MIQP (arXiv: 2603.07400):DCM 动力学 + 凸可踩区域 → MIQP - 混合整数落脚 (arXiv: 2501.19391):欠驱动双足粗糙地形

练习: 1. 用 grid_map 库构建简单高程图,实现基于平坦度的落脚评分 2. 分析 Miki et al. (2022) 的 teacher-student 架构设计动机

预估时间:1 周


Part IV:实时工程与硬件(第 74-76 周,~3 周)

完成本 Part 后你能做什么:掌握 1kHz 硬实时 C++ 编程的完整禁区清单,理解四足硬件栈(电机/传感器/通信/驱动器)。这是从仿真到真机的必经之路。


足式/170_实时CPP工程 实时 C++ 工程(1967 行)⭐ [工业必修]

属性
周数 1.5 周
前置依赖 主线 17-20(并发), 主线 35(pmr 内存)
标记 [工业必修]

科研脉络: - Linux 6.12 PREEMPT_RT 主线合并(2024.11) - ROS2 Real-time 设计文档

教学目标: - 掌握 RT 安全 C++ 禁区清单:禁堆分配/禁异常/禁 IO - 能配置 SCHED_FIFO + mlockall + EIGEN_RUNTIME_NO_MALLOC 三件套 - 能用 cyclictest 验证实时性

核心知识点: 1. PREEMPT_RT 主线化:Linux 6.12 正式合并 2. RT 安全禁区清单:禁 new/delete/malloc/throw/catch/cout/线程创建 3. 标准三件套:SCHED_FIFO + mlockall + EIGEN_RUNTIME_NO_MALLOC 4. realtime_tools:RealtimeBuffer / RealtimePublisher / lock-free queue 工具 5. 无锁并发:std::atomic 内存序 / x86 TSO vs ARM 弱序 6. 优先级反转与 PTHREAD_PRIO_INHERIT 7. cyclictest 验证:RT 内核 <50us vs 非 RT >700us 8. 从 SLAM 10Hz 到控制 1kHz 的认知跨越

前沿连接: - OCS2 双线程 MPC(足式/110_OCS2完整栈与双线程MPC)的 RT 安全通信直接复用本章知识 - RL 部署(足式/200_RL的CPP部署)的推理热路径也需要 RT 安全

练习: 1. cyclictest 对比 RT vs 非 RT 内核延迟 2. 故意触发 EIGEN_RUNTIME_NO_MALLOC 审计,修复后验证

预估时间:1.5 周


足式/180_腿足硬件栈 腿足硬件栈(1859 行)⭐ [工业必修]

属性
周数 1.5 周
前置依赖 足式/170_实时CPP工程(实时 C++)
标记 [工业必修]

科研脉络: - Seok et al. (2015):MIT Cheetah 准直驱电机设计 - Unitree Go2/G1 技术文档

教学目标: - 理解准直驱电机的高带宽/低惯量/可反驱优势 - 掌握 Unitree Go2 SDK 的通信与控制接口 - 理解 IMU/编码器/力传感器的数据融合管线

核心知识点: 1. 电机驱动方式演进:液压 → 高减速比 → 准直驱 2. 准直驱电机特性:低减速比(9:1) + 高力矩密度 + 可反驱 3. 电机控制模式:位置/速度/力矩/混合模式 4. Unitree Go2 SDK:UDP 通信 + 低层/高层控制接口 5. EtherCAT 通信:工业级实时总线协议 6. IMU 选型与标定:MEMS 特性/噪声模型/温度补偿 7. 关节编码器:绝对/增量编码器选型与校准 8. 安全机制:过流保护/过温保护/软件限位/硬件限位

前沿连接: - 人形机器人硬件栈(G1/H1)是四足的超集,异构执行器管理成为新挑战 - RL 部署(足式/200_RL的CPP部署)需要理解硬件延迟对 sim-to-real gap 的影响 - Jetson Orin NX 是 QP 求解器 benchmark (arXiv: 2510.21773) 中最优能效比平台 - 多频率 MPC (arXiv: 2505.16478) 处理异构执行器的不同控制频率

练习: 1. 用 Unitree Go2 SDK(仿真模式)实现单腿 PD 站立 2. 分析 Go2 通信延迟:测量 UDP 往返时间的分布

预估时间:1.5 周


Part V:RL 与混合范式(第 77-81 周,~5 周)

完成本 Part 后你能做什么:在 IsaacLab/MuJoCo Playground 训练四足 RL locomotion policy,导出为 C++ 推理模块,理解 RL+MPC 混合范式的设计权衡。


足式/190_腿足RL训练栈 腿足 RL 训练栈(1861 行)⭐⭐ [进阶选修 / RL 方向必修]

属性
周数 2 周
前置依赖 PPO/SAC 基础(自学), 主线 45-46(CUDA/Docker)
标记 [进阶选修 / RL 方向必修]

科研脉络: - Hwangbo et al. (2019):ANYmal RL locomotion 里程碑 - Rudin et al. (2022):legged_gym + rsl_rl 开源训练框架 - Miki et al. (2022):感知 RL locomotion

教学目标: - 能在 IsaacLab 中训练四足 locomotion policy - 理解 reward shaping / curriculum learning / domain randomization 的设计原则 - 能分析训练曲线并调试常见问题

核心知识点: 1. IsaacLab + legged_gym + rsl_rl 训练管线 2. MuJoCo Playground (RSS 2025 Outstanding Demo):JAX vmap 并行训练管线,与 IsaacLab 对比(JAX 生态 vs NVIDIA 生态) 3. 观测空间设计:本体感知(关节角/速度/IMU) + 特权信息(地形高度) 3. 动作空间设计:关节位置偏移 vs 力矩 vs PD 目标 4. Reward shaping:追踪奖励 + 正则化(能量/平滑度/空气时间) 5. Curriculum learning:地形难度渐进 + 速度命令渐进 6. Domain Randomization:质量/摩擦/延迟/电机强度 7. Teacher-Student / Privileged Learning:教师有特权信息,学生仅用本体感知 8. 训练调试:reward 不涨/策略抖动/sim-to-real gap 的排查

前沿连接: - MuJoCo Playground 提供了替代 IsaacLab 的 JAX 生态训练方案 - 足式/210_RL与MPC混合范式 的混合范式将 RL 与 MPC 结合

练习: 1. 在 IsaacLab 训练 Go2 trot locomotion,记录训练曲线并分析各 reward 分项 2. 对比有/无 domain randomization 的 sim-to-real 性能差异

预估时间:2 周


足式/200_RL的CPP部署 RL 的 C++ 部署(1601 行)⭐ [工业必修]

属性
周数 1.5 周
前置依赖 足式/190_腿足RL训练栈(RL 训练), 足式/170_实时CPP工程(实时 C++)
标记 [工业必修]

科研脉络: - PyTorch TorchScript / LibTorch 部署管线 - ONNX Runtime 跨框架推理 - rl_sar 腿足 RL 部署框架

教学目标: - 能将 PyTorch 策略导出为 TorchScript 并用 LibTorch C++ 推理 - 能用 ONNX Runtime 实现跨平台部署 - 理解高频控制(1kHz) + 低频策略(50Hz) 的异步架构

核心知识点: 1. 导出管线:PyTorch → TorchScript (.pt) → LibTorch C++ 加载 2. 导出管线:PyTorch → ONNX (.onnx) → ONNX Runtime / TensorRT 3. 推理延迟:CPU vs GPU / 批量 vs 单步 / 量化 4. 高频-低频异步架构:1kHz PD 内环 + 50Hz RL 外环 5. 观测预处理:归一化/历史堆叠/特权信息剥离 6. 动作后处理:限幅/平滑滤波/安全约束 7. rl_sar 框架:ROS2 + LibTorch + 部署模板 8. Jetson Orin 部署:ARM 编译 + TensorRT 加速

前沿连接: - 足式/210_RL与MPC混合范式 混合范式中 RL policy 作为 residual controller - 足式/250_Mini-Legged综合实战 综合实战中 RL 部署是全栈的一部分

练习: 1. 将训练好的 Go2 policy 导出为 TorchScript,用 LibTorch 在 C++ 中推理并测量延迟 2. 用 ONNX Runtime 做同样的推理,对比 LibTorch 的延迟和便捷性

预估时间:1.5 周


足式/210_RL与MPC混合范式 RL 与 MPC 混合范式(1561 行)⭐⭐⭐ [研究必修]

属性
周数 1.5 周
前置依赖 足式/110_OCS2完整栈与双线程MPC(OCS2 MPC), 足式/190_腿足RL训练栈(RL 训练)
标记 [研究必修]

科研脉络: - Silver et al. (2018):Residual Policy Learning - Lee et al. (2020):Teacher-Student for Locomotion - Gangapurwala et al. (2022):RL + MPC 协同

教学目标: - 理解纯 RL / 纯 MPC / 混合范式的优劣权衡 - 掌握 Teacher-Student / Residual Policy / RL 初始化 MPC 三种混合架构 - 能分析哪种范式适合哪种场景

核心知识点: 1. 纯 MPC 的优势与局限:物理保证 vs 模型精度 vs 计算量 2. 纯 RL 的优势与局限:泛化性 vs 安全性 vs 可解释性 3. Teacher-Student / MPC 蒸馏:教师用特权信息(MPC/全知) → 学生仅用本体感知;使用 DTC (Science Robotics 2024, arXiv: 2309.15462) 讲解 TO→RL 蒸馏范式;E2E from NMPC (arXiv: 2505.08574) 4. Residual Policy:\(u = u_{MPC} + \pi_{RL}(s)\),RL 补偿 MPC 的模型误差;使用 RAMBO (RA-L 2025, arXiv: 2504.06662) 讲解 QP 前馈+RL 残差;Residual MPC (MIT, arXiv: 2510.12717) 5. RL 初始化/Warm-Start MPC:用 RL 提供 MPC 的初始猜测 → 求解加速 21.6% (arXiv: 2408.03394) 6. 安全约束:CBF(Control Barrier Function) + RL 的安全层;使用 ABS (RSS 2024, arXiv: 2401.17583) 讲解 reach-avoid 值网络策略切换;CBF-MPC (arXiv: 2603.19170) 7. 三层安全控制架构:CBF-NMPC 10Hz + MPC 60Hz + WBC 500Hz 多频率安全分层 (arXiv: 2509.22815) 8. 混合范式选型决策树:安全性要求 × 模型精度 × 计算预算 × 泛化需求 8. 2024-2025 趋势:端到端 RL 在平地场景占优,混合范式在复杂地形/安全关键场景不可替代 9. 五类架构分类学:RL 高层+MPC 底层 (arXiv: 2603.10878) / RL Warm-Start / MPC Teacher 蒸馏 / 残差混合 / Neural MPC (arXiv: 2601.12169) 10. 性能对比:纯 MPC 10-50ms 强约束 / 纯 RL 50-200us 弱约束 / 分层 RL+MPC 1-5ms+10ms 强约束强鲁棒 / 残差混合 100us+10ms 最强鲁棒 / Neural MPC 0.5-2ms 中约束

前沿连接: - 足式/230_Perceptive_MPC Perceptive MPC 是混合范式的前沿实例 - 足式/260_研究方向与博士导引 博士导引中混合范式是核心研究方向之一 - 足式/270_全身MPC与采样控制 的全身 MPPI 可作为混合范式中的 MPC 底层 - 足式/275_可微分仿真用于控制 的可微 MPC 是 Neural MPC 的数学基础

练习: 1. 在仿真中实现 Residual Policy:MPC baseline + RL 补偿,对比纯 MPC 在扰动下的鲁棒性 2. 分析一篇 2024-2025 的混合范式论文,总结其架构设计动机

预估时间:1.5 周


Part VI:感知控制综合与实战(第 82-88 周,~7 周)

完成本 Part 后你能做什么:掌握高程图/costmap 感知数据结构,理解 Perceptive MPC 的地形约束融入,精读 legged_control 完整代码栈,从零搭建四足全栈控制器,定位博士研究方向。


足式/220_腿足感知数据结构 腿足感知数据结构(1640 行)⭐⭐ [进阶选修]

属性
周数 1 周
前置依赖 主线 27-28(PCL/OpenCV), 足式/130_腿足状态估计(状态估计)
标记 [进阶选修]

科研脉络: - Fankhauser et al. (2014):Robot-Centric Elevation Mapping - Miki et al. (2022):学习型高程图应用

教学目标: - 能用 grid_map 库维护机器人中心的高程图 - 理解点云 → 高程图 → costmap 的处理管线 - 理解感知数据在 MPC/RL 中的接口设计

核心知识点: 1. 高程图(Elevation Map):2.5D 网格 + 方差估计 2. grid_map 库:多层地图 + ROS2 集成 3. 点云到高程图:投影 + 滤波 + 插值 4. Costmap:从高程图派生(坡度/粗糙度/台阶检测) 5. 体素地图:3D 占据率表示(OctoMap/Voxblox) 6. GPU 加速感知:nvblox + CUDA ESDF 生成 7. 感知-控制接口:高程图如何输入 MPC/RL 的观测空间

前沿连接: - 足式/230_Perceptive_MPC Perceptive MPC 直接使用高程图作为约束 - 足式/160_感知驱动落脚规划 感知驱动落脚使用 costmap 评分

练习: 1. 用 grid_map 从点云构建高程图并可视化 2. 实现坡度 costmap 层,标注不可通行区域

预估时间:1 周


足式/230_Perceptive_MPC Perceptive MPC(1577 行)⭐⭐⭐ [研究必修]

属性
周数 1.5 周
前置依赖 足式/110_OCS2完整栈与双线程MPC(OCS2 MPC), 足式/160_感知驱动落脚规划(感知驱动落脚), 足式/220_腿足感知数据结构(感知数据结构)
标记 [研究必修]

科研脉络: - Grandia et al. (2023):Perceptive Locomotion through Nonlinear MPC - Jenelten et al. (2024):DTC (Digital Twin Control) - Agarwal et al. (2023):Learning Perceptive Locomotion

教学目标: - 理解如何将地形信息融入 MPC 约束和代价函数 - 理解 Grandia 2023 T-RO 的运动学可行性约束设计 - 能在 OCS2 中添加地形约束

核心知识点: 1. 地形约束的形式化:落脚点高度 = 高程图(x, y) 2. 运动学可行性约束:足端可达范围与地形的交集 3. 地形代价:引导落脚到平坦区域 4. 滚动地平线中地形预测的延迟处理 5. Signed Distance Field 在 MPC 碰撞约束中的应用 6. MPC + 高程图的计算管线:感知线程 → 地图更新 → MPC 线程读取 7. DTC(Digital Twin Control):仿真器内嵌 MPC 的新范式 8. 多频率感知-MPC 层级架构:感知 1Hz → 面选择 5Hz → MPC 50Hz → WBC 500Hz,使用 WB-MPC-OptRegion (arXiv: 2305.08926) 讲解

前沿连接: - 与 RL 感知 locomotion 的竞争/互补关系 - 足式/260_研究方向与博士导引 博士导引中 Perceptive Control 是核心研究方向 - WB-MPC + Region Selection (arXiv: 2305.08926):凸分割 1Hz → 面选择 5Hz → MPC 50Hz - PolygMap (arXiv: 2510.12346):有界多面体地形表示 → 人形楼梯 - CAFE-MPC:级联保真度 MPC,详见 足式/270_全身MPC与采样控制 (T-RO 2025, arXiv: 2403.03995) - 全身 MPPI 感知:足式/270_全身MPC与采样控制 的全身 MPC 可直接融入地形约束

练习: 1. 在 OCS2 legged_robot 中添加简化地形约束(台阶场景),验证 MPC 能自适应调整步高 2. 精读 Grandia 2023 T-RO 论文,总结其运动学可行性约束的数学推导

预估时间:1.5 周


足式/240_legged_control精读 legged_control 精读(2028 行)⭐ [工业必修]

属性
周数 1 周
前置依赖 足式/110_OCS2完整栈与双线程MPC(OCS2), 足式/90_WBC分层优化与TSID(WBC), 足式/130_腿足状态估计(状态估计), 足式/170_实时CPP工程(实时 C++)
标记 [工业必修]

科研脉络: - ETH RSL legged_control 开源栈(基于 ROS1 ros_control 框架,非 ros2_control) - OCS2 + HierarchicalWbc + LinearKalmanFilter 三模块集成

教学目标: - 精读 legged_control 的完整代码结构 - 理解 MPC → WBC → 硬件驱动 的数据流 - 能在此基础上修改/扩展控制器 - 注意:legged_control 使用 ROS1 (ros_control) 框架,迁移到 ROS2 需适配 ros2_control 接口

核心知识点: 1. 代码架构:legged_controllers / legged_estimation / legged_wbc 2. MPC 模块:OCS2 legged_robot 封装 + ROS1 接口(非 ros2_control) 3. WBC 模块:HierarchicalWbc(~300 行,教学友好) 4. 状态估计模块:LinearKalmanFilter 5. FSM(有限状态机):站立 / 行走 / 恢复 6. ROS1 ros_control 架构:hardware_interface / controller_manager / ControllerBase 生命周期 7. 实时安全:控制循环中的无堆分配实践 8. 调试技巧:PlotJuggler + ROS 话题监控 9. ROS1→ROS2 迁移要点:ros_control → ros2_control 接口差异、lifecycle node、OCS2 ROS2 移植版(legubiao/ocs2_ros2)

前沿连接: - legged_control 是理解足式全栈的最佳入口 - 足式/250_Mini-Legged综合实战 Mini-Legged 在此基础上从零重建

练习: 1. 精读 HierarchicalWbc 源码,标注 QP 组装的每一行对应 足式/90_WBC分层优化与TSID 的哪个知识点 2. 修改 WBC 的任务权重,观察对 trot 步态质量的影响

预估时间:1 周


足式/250_Mini-Legged综合实战 Mini-Legged 综合实战(2568 行)⭐⭐ [进阶选修]

属性
周数 2 周
前置依赖 完成 Part I-V 全部章节
标记 [进阶选修]

科研脉络: - 全栈集成工程实践

教学目标: - 从零搭建四足全栈控制器(不依赖 legged_control 的现成代码) - 能独立完成 Pinocchio → WBC → MPC → 状态估计 → 步态管理 → 硬件驱动 的全链路

核心知识点: 1. 系统架构设计:模块划分 + 接口定义 + 通信拓扑 2. Pinocchio 动力学后端:URDF 加载 + FK/ID/碰撞 3. WBC 模块:简化版 TSID QP 组装 4. MPC 模块:简化版 SRBD MPC(可选 OCS2 或自写凸 MPC) 5. 状态估计模块:IMU + 运动学 EKF 6. 步态管理模块:trot/walk FSM 7. 仿真环境:MuJoCo + ROS2 桥接 8. 性能度量:控制频率 / 跟踪精度 / 稳定裕度

前沿连接: - 这是博士研究的实验平台基础 - 可扩展为 RL+MPC 混合系统

练习: 1. 按模块顺序逐步搭建,每完成一个模块写单元测试 2. 最终交付:GitHub 仓库 + 技术报告 + 仿真视频

预估时间:2 周


足式/260_研究方向与博士导引 研究方向与博士导引(1600 行)⭐⭐⭐ [研究必修]

属性
周数 1 周
前置依赖 Part I-VI 至少完成 80%
标记 [研究必修]

科研脉络: - 2024-2026 腿足机器人研究前沿综述

教学目标: - 理解足式控制领域的开放问题 - 能定位自己的研究兴趣在知识图谱中的位置 - 能撰写博士研究计划的初步框架

核心知识点: 1. 开放问题一览:接触隐式 MPC 实时化 / sim-to-real gap / 安全保证 / 全身灵巧操作 2. 研究方向 A:Perceptive Control(感知+控制联合优化) 3. 研究方向 B:RL+MPC 混合范式(安全 + 泛化) 4. 研究方向 C:SLAM + Legged 紧耦合(你的独特赛道) 5. 研究方向 D:可微仿真 + 腿足(梯度穿透物理)→ 足式/275_可微分仿真用于控制 详细展开 6. 研究方向 E:Foundation Models + Locomotion(VLA 延伸) 7. 研究方向 F:全身 MPC / Contact-Implicit MPC(2025 最大范式转变)→ 足式/265_Contact-Implicit_MPC / 足式/270_全身MPC与采样控制 8. 研究方向 G:GPU 加速求解器与实时优化(Primal-Dual iLQR / Fatrop / ci-SCvx) 9. 顶会/期刊定位:ICRA / IROS / RSS / CoRL / T-RO / RA-L 10. 博士申请策略:导师选择 / 研究计划撰写 / 背景差异化

前沿连接: - 与 足式/20_序章下篇_前沿与学习路径 序章下篇的前沿讨论互补 - 复合方向(复合/10_复合机器人全景-100)是足式的自然延伸

练习: 1. 选择一个研究方向,精读 3 篇 2024-2025 年的代表论文,撰写 1 页研究构想 2. 画出你的知识图谱:标注已掌握/待补充/感兴趣的节点

预估时间:1 周


学习路径建议

按背景分

背景 建议路径 预估时间 重点章节
本科生(有 C++ 基础) 先补 02_C++基础 → 路径 A 10+16 = 26 周 足式/30/50/60/90/110/240/270(规划)
SLAM 硕士/工程师 直接路径 B 39 周 全部;足式/130_腿足状态估计 是你的独特优势
RL 研究者 路径 C → 按需补 MPC/275 13+8 = 21 周 足式/190-210 为起点,回补 足式/90_WBC分层优化与TSID + 足式/275_可微分仿真用于控制
机械臂工程师 跳过 Part I(Pinocchio 已熟)→ 路径 A 12 周 足式/70/90/110/240/270
博士生(足式方向) 路径 B + 足式/260_研究方向与博士导引 深入 39+ 周 全部 + 论文精读(特别关注 265/270/275 前沿三章)

按目标分

目标 必修章节 可跳过 特别重视
工业部署 足式/30-50/60/90/110/170/180/200/240 + 270(规划) 足式/40/80/100/150/160/220/260/265/275 legged_control 精读(足式/240) + 全身MPC(足式/270, 规划)
博士预备 现有 24 章 + 规划 3 章 足式/265/270/275 规划三章 + 足式/210/260 + 论文精读
RL 专攻 足式/30/70/90/190/200/210/250 + 270(规划) + 275(规划) 足式/40/100/120/140/150/160/265 IsaacLab 训练(足式/190) + 全身MPPI(足式/270, 规划) + 可微仿真(足式/275, 规划)
感知+控制 足式/30/50/90/110/130/150/160/220/230 + 270(规划) 足式/40/120/190/200 Perceptive MPC(足式/230) + 全身MPC(足式/270, 规划)

与其他子方向交叉引用地图

足式 <-> 机械臂

足式章节 机械臂章节 关联内容
足式/30_Pinocchio深度精读 Pinocchio 浮动基座 M01 Pinocchio 固定基座 同一库,浮动基座是固定基座的超集
足式/50_空间向量与浮动基座动力学 空间向量代数 M02 动力学库对比 Featherstone 算法是两者共同的理论基础
足式/90_WBC分层优化与TSID WBC/TSID F02-F04 操作空间动力学/力控 零空间投影框架共享,WBC 是 OSC 在浮动基座的推广
足式/110_OCS2完整栈与双线程MPC OCS2 MPC M08 轨迹优化规划器 OCS2 框架可跑机械臂也可跑腿足
足式/170_实时CPP工程 实时 C++ M11 实时 C++ 同一章节内容共享,应用场景不同
足式/200_RL的CPP部署 RL C++ 部署 M12 ros2_control + RL LibTorch/ONNX 部署管线共享

足式 <-> 复合

足式章节 复合章节 关联内容
足式/90_WBC分层优化与TSID WBC 复合/170_qm_control精读 qm_control/Deep WBC/Visual WBC WBC 扩展到腿+臂多接触
足式/110_OCS2完整栈与双线程MPC OCS2 MPC 复合/30_多模态MPC 多模态 MPC / 复合/70_轮足混合MPC 轮足 MPC OCS2 统一框架跨本体复用
足式/190_腿足RL训练栈 RL 训练 复合/40_RL全身控制基础 RL 全身控制 / 复合/80_Wheel_Legged_Gym_RL 轮足 RL PPO/SAC 训练管线共享
足式/210_RL与MPC混合范式 RL+MPC 混合 复合/210_RAMBO混合MPC_RL RAMBO 混合 MPC/RL 混合范式设计模式共享

足式 <-> SLAM

足式章节 SLAM v8 章节 关联内容
足式/130_腿足状态估计 腿足状态估计 Ch25-26 VIO/滤波 InEKF 与 VIO 滤波方法同源
足式/220_腿足感知数据结构 感知数据结构 Ch33 点云处理 高程图/costmap 与点云处理共享数据结构
足式/230_Perceptive_MPC Perceptive MPC Ch38-40 建图 地形感知 MPC 需要局部地图输入

足式 <-> 数学

足式章节 数学章节 关联内容
足式/50_空间向量与浮动基座动力学 空间向量代数 李群/李代数 SE(3) 运算是所有算法的数学基础
足式/60_QP_NLP建模 QP/NLP 凸优化 WBC/MPC 的 QP 求解依赖凸优化理论
足式/100_DDP家族与Crocoddyl DDP/Crocoddyl 最优控制 Bellman 方程/Pontryagin 原理是 DDP 理论根基

足式 <-> 仿真

足式章节 仿真章节 关联内容
足式/190_腿足RL训练栈 RL 训练栈 S03 GPU 生态 IsaacLab/MuJoCo Playground 是 RL 训练的仿真后端
足式/80_接触力学与约束优化 接触力学 S01 MuJoCo 核心引擎 MuJoCo 接触模型是 足式/80_接触力学与约束优化 理论的工程实现
足式/210_RL与MPC混合范式 RL+MPC 混合 S05 可微分 MPC 可微仿真 + MPC 是混合范式的前沿
足式/275_可微分仿真用于控制 可微分仿真 S04 可微分仿真 / S05 可微分 MPC DiffSim2Real/AHAC/DiffMJX 是 S04 理论在足式控制的应用
足式/270_全身MPC与采样控制 全身 MPC S01 MuJoCo 核心引擎 MJPC/全身 iLQR 直接使用 MuJoCo 有限差分导数

附录

附录 A:已知缺失话题与未来扩展点

话题 缺失原因 扩展建议
人形全身 MPC 属于复合方向(复合/220_经典人形全身控制) 足式完成后进入复合方向
VLA + Locomotion 2025+ 新兴方向,尚不成熟 足式/260_研究方向与博士导引 中作为前沿方向讨论
GPU 加速 MPC 求解器 足式/100 和 足式/270 提及但无专章 可合并入 足式/100 附录或 足式/270 扩展
多足协作 超出单体控制范围 复合方向 复合/280_多机协作LocoMani 覆盖
腿足 SLAM 紧耦合 需要 SLAM + 足式双背景 博士研究的独特赛道
液压驱动足式 工业小众 补充材料可扩展
柔性关节建模 足式/50_空间向量与浮动基座动力学 简略提及 可扩展为独立节

附录 B:推荐论文精读清单

经典必读(按时间排序)

序号 论文 年份 关联章节 难度
1 Featherstone, "Rigid Body Dynamics Algorithms" 2008 足式/50_空间向量与浮动基座动力学 ⭐⭐
2 Raibert, "Legged Robots That Balance" 1986 足式/70/140
3 Kajita et al., "LIPM + ZMP Biped Walking" 2001 足式/70_腿足简化模型理论 ⭐⭐
4 Pratt et al., "Capture Point" 2006 足式/70/140 ⭐⭐
5 Sentis & Khatib, "Whole-Body Behaviors" 2005 足式/90_WBC分层优化与TSID ⭐⭐⭐
6 Carpentier et al., "The Pinocchio C++ Library" 2019 足式/30_Pinocchio深度精读 ⭐⭐

当代核心(2018-2023)

序号 论文 年份 关联章节 难度
7 Di Carlo et al., "MIT Cheetah Convex MPC" 2018 足式/70/110 ⭐⭐
8 Kim et al., "Highly Dynamic Quadruped via WBIC" 2019 足式/90_WBC分层优化与TSID ⭐⭐⭐
9 Hwangbo et al., "ANYmal RL Locomotion" 2019 足式/190_腿足RL训练栈 ⭐⭐
10 Mastalli et al., "Crocoddyl: DDP for Multi-Contact" 2020 足式/100_DDP家族与Crocoddyl ⭐⭐⭐
11 Hartley et al., "InEKF for Legged Robots" 2020 足式/130_腿足状态估计 ⭐⭐⭐
12 Rudin et al., "legged_gym + rsl_rl" 2022 足式/190_腿足RL训练栈 ⭐⭐
13 Miki et al., "Perceptive RL Locomotion" 2022 足式/160_感知驱动落脚规划 ⭐⭐⭐
14 Grandia et al., "Perceptive Locomotion NL-MPC" (T-RO 2023) 2023 足式/230_Perceptive_MPC ⭐⭐⭐⭐

前沿追踪(2024-2026,按推荐阅读顺序)

筛选标准:T-RO/IJRR/RSS/Science Robotics 级别期刊优先,高引用优先,Best Paper 标★。 截至 2026-05 调研记录,录用状态以正式出版信息为准。

序号 论文 录用 关联章节 难度
15 Grandia et al., "Perceptive NMPC" T-RO 2023 足式/230_Perceptive_MPC ⭐⭐⭐⭐
16 Jenelten et al., "DTC" Science Robotics 2024 足式/210/230 ⭐⭐⭐⭐
17 Le Cleac'h et al., "FastCI-MPC" arXiv: 2107.05616 T-RO 2024 足式/265 ⭐⭐⭐⭐
18 He et al., "ABS" arXiv: 2401.17583 RSS 2024 足式/210 ⭐⭐⭐
19 Li et al., "Cafe-MPC" arXiv: 2403.03995 T-RO 2025 足式/270 ⭐⭐⭐⭐
20 Le Lidec et al., "ContactSurvey" arXiv: 2304.06372 T-RO 2024 足式/80 ⭐⭐⭐
21 Aydinoglu et al., "C3" arXiv: 2304.11259 T-RO 2024 足式/265 ⭐⭐⭐⭐
22 Jallet et al., "ProxDDP" T-RO 2025 足式/100 ⭐⭐⭐⭐
23 ★ Pang et al., "GlobalSmooth" arXiv: 2206.10787 T-RO 2023 Best Paper HM 足式/80 ⭐⭐⭐⭐
24 ★ Suh et al., "CTR" arXiv: 2505.02291 IJRR 2025 Best Paper 足式/265 ⭐⭐⭐⭐
25 Jin et al., "CompFree" arXiv: 2408.07855 RSS 2025 足式/80 ⭐⭐⭐
26 Kim et al., "CI-MPC-KAIST" arXiv: 2312.08961 IJRR 2024 足式/265 ⭐⭐⭐⭐
27 Manchester & Kuindersma, "IDTO" arXiv: 2309.01813 IJRR 2026 足式/265 ⭐⭐⭐⭐
28 Xue et al., "DIAL-MPC" arXiv: 2409.15610 CoRL 2024 WS 足式/270 ⭐⭐⭐
29 Alvarez-Padilla et al., "WB-MPPI" arXiv: 2409.10469 ICRA 2025 足式/270 ⭐⭐⭐
30 Gaertner et al., "CollisionFreeMPC" arXiv: 2103.13987 ICRA 2021 足式/110/230 ⭐⭐⭐
31 Amatucci et al., "PD-iLQR-GPU" arXiv: 2506.07823 RA-L 2026 足式/100 ⭐⭐⭐
32 Cheng et al., "RAMBO" arXiv: 2504.06662 RA-L 2025 足式/210 ⭐⭐⭐
33 Zhang et al., "STOCS" arXiv: 2407.16976 T-RO 2025 足式/265 ⭐⭐⭐⭐
34 Dong et al., "MARG" arXiv: 2509.20036 T-RO 2025 足式/230 ⭐⭐⭐

附录 C:开源项目索引

项目 组织 语言 主要用途 关联章节
pinocchio stack-of-tasks (INRIA) C++/Python 刚体动力学 足式/30_Pinocchio深度精读 全栈
OCS2 ETH RSL C++ MPC 框架 足式/110_OCS2完整栈与双线程MPC
Crocoddyl LAAS-CNRS C++/Python DDP/iLQR 轨迹优化 足式/100_DDP家族与Crocoddyl
Aligator LAAS-CNRS C++/Python ProxDDP 新一代轨迹优化 足式/100_DDP家族与Crocoddyl
TSID Pinocchio 生态 C++/Python 全身控制 足式/90_WBC分层优化与TSID
ProxQP/ProxSuite Simple-Robotics C++ QP 求解器 足式/60_QP_NLP建模
OSQP -- C QP 求解器 足式/60_QP_NLP建模
Ipopt COIN-OR C++ NLP 求解器 足式/60_QP_NLP建模
HPIPM Gianluca Frison C 结构化 QP 足式/110_OCS2完整栈与双线程MPC
CasADi -- C++/Python 符号化 NLP 建模 足式/60_QP_NLP建模
acados -- C/Python 嵌入式 MPC SQP/RTI 足式/60_QP_NLP建模
IsaacLab NVIDIA Python GPU RL 训练平台 足式/190_腿足RL训练栈
MuJoCo Google DeepMind C 物理仿真器 足式/190_腿足RL训练栈
MuJoCo Playground Google DeepMind Python(JAX) GPU RL 训练 足式/190_腿足RL训练栈
rsl_rl ETH RSL Python RL 训练库 足式/190_腿足RL训练栈
legged_gym ETH RSL Python RL 训练环境 足式/190_腿足RL训练栈
legged_control ETH RSL C++ 四足全栈控制 足式/240_legged_control精读
rl_sar 社区 C++/Python RL sim-to-real 部署 足式/200_RL的CPP部署
TOWR ETH RSL C++ 离线轨迹+落脚优化 足式/150_优化驱动落脚与接触规划
grid_map ANYbotics C++ 高程图库 足式/220_腿足感知数据结构
CppAD -- C++ 自动微分 足式/40_CppAD与代码生成
MJPC Google DeepMind C++ 全身 MPC 框架 足式/270_全身MPC与采样控制
Fatrop KU Leuven C++ 结构化 IP 全身 MPC 足式/270_全身MPC与采样控制
RoMoCo -- C++ 统一简化模型工具箱 足式/70_腿足简化模型理论
RTWholeBodyMPPI -- Python 全身 MPPI 足式/270_全身MPC与采样控制
DIAL-MPC LeCAR-Lab Python(JAX) 扩散退火全阶 MPC 足式/270_全身MPC与采样控制
RAPTOR CMU C++ 人形 MPC(驱动关节优化) 足式/270_全身MPC与采样控制
IDTO TRI C++ 逆动力学接触隐式 TO 足式/265_Contact-Implicit_MPC
MJX/Brax Google DeepMind JAX 可微分仿真 足式/275_可微分仿真用于控制
OCELOT -- C++/ROS2 无力传感器状态估计 足式/130_腿足状态估计

累积项目:Mini-Legged 全栈控制器

贯穿 Part I-VI 的持续项目,每完成一个 Part 新增一个模块:

Part 新增模块 累积能力
Part I Pinocchio 后端 + QP 求解器 加载 URDF,计算动力学,组装/求解 QP
Part II WBC + 简化模型 MPC + 步态 FSM 仿真中四足站立→行走
Part II-B CI-MPC + 全身 MPC + 可微仿真 对比分层 vs 单层 MPC,掌握前沿方法
Part III 状态估计器 + 落脚规划 闭环运行不依赖真值
Part IV 实时化 + 硬件接口 可部署到真机
Part V RL policy 集成 可选 RL 替代/辅助 MPC
Part VI 感知管线 + 全栈调试 完整系统 + 可展示

最终交付:GitHub 仓库 + 技术报告 + 仿真/真机视频


本大纲是导航工具,不是教学内容。 每章的完整教学内容在对应的 XX_*.md 文件中(如 30_Pinocchio深度精读.md)。 足式/10_序章上篇_全景与四分法/足式/20_序章下篇_前沿与学习路径 提供"为什么学足式",本大纲提供"怎么学、学什么、依赖什么"。