第 01 课 · 先让它动起来:浏览器里开鸭子
这一课解决什么问题:在学任何理论之前,先用 10 分钟建立两个最重要的直觉——"运行一个策略"和"训练一个策略"是两回事;策略是"你发目标,它管过程"。这两个直觉贯穿整门课。
前置:第 00 课。仍然不需要装任何软件。
1. 官方 Sandbox:零安装的完整体验
打开 Microduck Sandbox(Hugging Face Spaces)。
这是 Pollen Robotics 官方放的在线仿真器:你的浏览器里跑着一个 MuJoCo 物理引擎,加载的是官方训练好的 ONNX 策略文件——和将来部署到真机鸭子身上的大脑是同一种文件。
操作方法(WASD 开动之后自己再试试别的):
| 按键 | 动作 | 背后发生了什么 |
|---|---|---|
| 方向键 / WASD | 走动 | 修改速度指令,策略自己决定怎么迈腿 |
R |
翻滚 | 切换到预训练的另一套技能策略 |
Q / E |
踢球 | 同上——鸭子其实"会多种运动" |
M |
切换腿/轮滑模式 | 换了一套身体动力学,策略照样能控 |
Space |
重置 | 把仿真状态回到初始姿态 |
第一次玩,建议花 5 分钟专门试一件事:把它推倒,或者让它自己摔,看它怎么爬起来。没有任何动画师参与——它是自己在训练里"试"出来的:凡是能翻回身并站起来的动作组合,得到高分;躺平的,得零分。千万次试错之后,爬起来就成了它的本能。这就是强化学习的全部思想。
2. 核心概念:「运行」≠「训练」
这是整门课最重要的概念区分,90% 的初学者混淆都发生在这里:
运行现成策略( inference / 推理)
官方已经训练好 → 你加载 ONNX 文件 → 机器人动起来
需要的计算量:一台普通电脑甚至手机都行
训练一个策略( training )
设计任务和评分规则 → GPU 上千万次试错 → 得到 checkpoint → 导出 ONNX
需要的计算量:通常要 NVIDIA GPU,一次像样的训练几小时起步
Sandbox 里你做的是前者。课程阶段 B 会带你本地做前者,阶段 D 才开始后者。
为什么要分清?因为它决定了你要准备什么:
| 你想做 | 需要什么 | 对应课程 |
|---|---|---|
| 看看鸭子怎么动 | 一个浏览器 | 第 00–01 课(就是现在) |
| 在自己电脑上运行策略 | Mac/PC + 命令行,不要 GPU | 第 03 课 |
| 训练/修改动作 | NVIDIA GPU 或云 GPU | 第 05 课起,第 11 课深入 |
| 上真机 | 上面的 + 硬件 | 阶段 C、E |
3. 「你发目标,它管过程」:指令与策略的分工
再回到 Sandbox 做第二个观察。你按 ↑ 时,你并没有在控制任何一条腿——
- 你只发出一个高层目标:"以这个速度往前走";
- 策略(那个 61 → 14 的神经网络)决定每 20 毫秒每个关节转多少度。
这个分层是现代机器人控制的通用范式,不只鸭子在用:
你 / 上层程序 策略网络 关节
─────目标──────▶ ──14 个角度──▶ ──转动──▶ 物理世界
◀────────────── 15 个关节的状态 + 姿态(61 个数)─────────
注意下面的回传箭头:策略的输入来自传感器。关节角度、角速度、身体姿态每 20 毫秒喂回去一次。感知 → 决策 → 执行 → 再感知,这个闭环就是"具身智能"里"具身"两个字的含义——智能离不开和物理世界的循环交互。
阶段 D 训练鸭子跑步时你会重新遇到这张图:改的就是"目标怎么给、分数怎么打";阶段 F 你会看到同样的结构怎么套到机械臂、无人机和任何机器人上。
4. 动手练习(10 分钟)
- 打开 Sandbox,用 WASD 走一个"8 字"。
- 让它摔倒,观察它自己爬起来的全过程,数一数用了几步(有没有中间失败又重来)。
- 按
M切换轮滑模式再走一圈,体会"同一套大脑控制不同身体"是什么意思(这也是为什么阶段 D 的 sim2real 课如此重要——身体参数变了,策略就得重训)。 - 把观察结论写 2–3 句在笔记里。以后每课都有这个"笔记动作",它是你 30 天后还在进步的原因。
自查清单
- [ ] 我能说清"运行"和"训练"的区别,以及各需要什么设备
- [ ] 我能解释为什么鸭子摔倒后能爬起来(不是动画,是奖励试错)
- [ ] 我能画出"目标 → 策略 → 关节 → 传感器 → 策略"这个闭环的示意
- [ ] 我知道 ONNX 是策略的"部署格式",浏览器版和真机版用的是同一种文件
下一课预告
第 02 课把零散的直觉收敛成十个精确概念(舵机、总线、策略、奖励塑形、域随机化、sim2real……),每个三分钟。之后阶段 B 开始动手装环境——第一课要花 45 分钟,也是全课程最难安装的一课,会给你完整的踩坑清单。
延伸资源
- OpenMicroDuck《先做仿真》完整教程(本地):
open-microduck/docs/zh-CN/getting-started/simulation-first.md - 官方训练仓库(阶段 B 的主角):pollen-robotics/microduck_rl
- 想提前了解强化学习是什么:Hugging Face 深度强化学习课 第 0 章(有中文版),或者等阶段 D 再系统学