从零到一搭建机器人
这是 Stanford CS123 · A Hands-On Introduction to Building AI-Enabled Robots 的中文仿真版重实现,面向 Datawhale 组队学习。我们会用 MuJoCo 作为统一仿真栈,从一个单自由度执行器一路搭到一只能听懂语言指令自己走路的四足机器人。
课程定位
- 与原课程的差异:原课程围绕 Stanford Pupper 实机;本课程全部章节都跑在 MuJoCo 仿真里,不依赖实体硬件,降低组队学习门槛。真机部分指向站点的 SO-101 + LeRobot 真机教程。
- 不重复基础教程:PD、运动学、MuJoCo、RL 等概念在 基础教程 里已经讲过。本课程把这些工具拼成一台完整的机器人,强调连贯叙事 + 动手组装。
- 一条明确的主线:每章都围绕同一个 Pupper-like 四足机器人模型推进,最终产出一个能被自然语言驱动的仿真 demo。
你将亲手做出来的东西
- 单关节 PD 控制可视化(第 1 章)
- 多连杆机械臂正/逆解(第 2–3 章)
- Pupper 四足 URDF + MuJoCo 场景(第 4 章)
- 开环 trot 步态(第 5 章)
- RL 训练出来的 trot 策略(第 6 章)
- 带相机的视觉追踪(第 7 章)
- 语言指令 → 动作的端到端 demo(第 8 章)
章节地图
| 章节 | 主题 | 对应 CS123 |
|---|---|---|
| 1. 执行器与 PD 控制 | 单关节位置控制 | Lab 1 / Lec 2 |
| 2. 正运动学 | 机械臂 FK | Lec 3 |
| 3. 逆运动学 | IK 与到点控制 | Lab 3 / Lec 4 |
| 4. 四足 URDF 装配 | Pupper 本体建模 | Lab 4 |
| 5. 模型驱动步态 | 开环 trot | Lec 5 |
| 6. RL 步态训练 | PPO + 仿真训练 | Lab 5 / Lec 6 |
| 7. 机器人视觉 | 相机与追踪 | Lab 6 / Lec 7 |
| 8. LLM 控制 | 语言指令驱动 | Lab 7 / Lec 8–9 |
前置知识
- Python 基础,能看懂函数 / 类 / NumPy
- 高数里的矩阵、偏导、梯度
- 看过 仿真与可视化 · 绪论 和 MuJoCo 快速上手
- 看过 强化学习 · 绪论(第 6 章之后才用得到)
环境
| 组件 | 版本 |
|---|---|
| 操作系统 | Ubuntu 22.04 / macOS 14+ / WSL2 |
| Python | ≥ 3.10 |
| MuJoCo | ≥ 3.x |
| 其他 | numpy, scipy, matplotlib,第 6 章起引入 stable-baselines3 |
具体安装命令每章按需给出,不在总览里预装所有依赖。
组队学习节奏(建议)
| Week | 内容 | 主要产出 |
|---|---|---|
| 1 | 0 + 1 | 跑通 MuJoCo,完成单关节 PD |
| 2 | 2 + 3 | 机械臂 FK / IK |
| 3 | 4 | Pupper URDF 在仿真里站起来 |
| 4 | 5 | 开环 trot |
| 5 | 6 | 一条 RL 训练的 trot 策略 |
| 6 | 7 + 8 | 视觉追踪 + 语言控制 demo |
每周建议产出:一段录屏 / 一张 reward 曲线 / 一段 100 字实验小结,发到组队群即可。
如何贡献
本课程欢迎社区补充实验、修正错误、翻译英文版。提交流程见 仓库 README。
致谢
- Stanford CS 123 / CS 223 教学团队
- Stanford Student Robotics 的 Pupper 项目
- Datawhale 组队学习社区