第 02 课 · 十个必懂概念,每个三分钟
这一课解决什么问题:把前两课攒下的零散直觉,收敛成十个能精确说出口的概念。学完这一课,你要能把舵机、策略、仿真、sim2real 讲给完全不懂的朋友听。
1. 舵机:鸭子的肌肉
定义:自带减速齿轮和位置控制的电机,你说"转到 90°",它自己到位并保持。类比:给目标就不用盯过程的员工。分水岭:PWM 舵机(如 SG90,约 9 克)一根信号线控一只,但不知道自己在哪,被压偏也不说;总线舵机(如 XL330,18 克,本项目用)像 USB 设备串在一根线上、各有编号,问它位置能答上来。所以呢:策略每 20 毫秒要读全部关节真实位置,没有反馈的 PWM 会让输入一大半变成假数据——SG90 装不进鸭,不是嫌它便宜。
2. 自由度:能动的方式有几样
定义:自由度(DOF)= 能独立运动的方向数,一个可转动关节约算一个。类比:手臂的肩转、肘弯、腕摆,各算一个。对应:15 个舵机 = 15 个自由度,策略只控制其中 14 个——第 15 个驱动嘴巴,不参与走路。所以"15 个舵机"和"14 维动作"都成立,不矛盾。
3. IMU:鸭子的内耳
定义:惯性测量单元(陀螺仪+加速度计),输出"我是不是歪了、往哪边倒"。类比:闭着眼也知道身体前倾要摔——内耳前庭在工作。对应:策略每步靠它感知姿态;本项目把 IMU 板伪装成"200 号舵机"挂上总线,读姿态和读关节一次完成。
4. 策略(policy):鸭子的条件反射
定义:根据当前状态决定下一步动作的函数,不是"公司政策"。类比:老司机看到路况,手脚自动动,不假思索。对应:鸭子的大脑 = 一个神经网络,每 20 毫秒吃 61 个数、吐 14 个数,存成 ONNX 文件。
5. 观测与动作:输入和输出
定义:观测(observation)= 策略每步看到的数字;动作(action)= 它发出的下一步控制目标。类比:开车时观测 = 后视镜+仪表盘+导航,动作 = 打方向、踩油门。对应:观测 61 维(姿态、关节、上次动作、指令等),动作 14 个关节目标。
6. 奖励(reward):训练时的评分表
定义:训练时告诉算法"什么行为更好"的评分规则。类比:体操教练打分——落地稳加分、晃动扣分;退役后没人打分,动作已长在身上。对应:走对方向、保持直立、抬脚到位加分;滑脚、碰撞、突变扣分。关键:部署后的 ONNX 不读取奖励。
7. 仿真(MuJoCo):虚拟练跤场
定义:用软件计算机器人和地面的运动。MuJoCo 是官方训练用的物理引擎;MJCF 是描述机器人身体的文件——零件挂在哪、多重、绕哪根轴转。类比:飞行模拟舱,摔一百次不花钱。对应:官方 9 个 ONNX 全是 MuJoCo 练出来的;复刻仓的装配图就是从 MJCF 反推的。仿真好看 ≠ 真机成功。
8. 训练与推理:上学和上岗
定义:训练 = GPU 上千万次试错得到 checkpoint(进度快照);推理 = 加载练好的模型直接用,计算量小得多。类比:十年寒窗 vs 上考场——学得慢,用得快。对应:Sandbox 和你电脑上跑的都是推理,普通电脑就够;训练通常要 NVIDIA GPU(阶段 D 才碰)。
9. sim2real:从模拟舱到真车
定义:把仿真里学会的技能迁移到真机上。类比:模拟舱开得再熟,第一次摸真车还是不一样——路面颠簸模拟器给不了。对应:MuJoCo 练成的 ONNX 装进真机 Rust 运行时并实测才算数。记住:仿真会走 ≠ 真机会走。
10. 域随机化:故意把训练场搞乱
定义:训练时故意让每个虚拟世界的参数稍有不同——摩擦、电压、质量、延迟等。类比:练投篮故意换不同重量的球,比赛才不被陌生球馆打懵。对应:逼策略练出"皮实",不是死记一个世界。但不是乱改——范围必须有记录,否则无法复现。
动手练习(15 分钟)
做十张卡片:正面概念名,背面你自己的"一句话 + 类比"。合上文档讲一遍,讲不出的重读。
自查清单
- [ ] 我能说清 PWM 舵机和总线舵机的区别,以及为什么必须用总线舵机
- [ ] 我能解释 15 个舵机为什么只对应 14 维动作
- [ ] 我能各用一句话讲清策略、奖励、训练、推理
- [ ] 我能解释"仿真会走 ≠ 真机会走"和域随机化的关系
全部打勾,进入第 03 课:装好工具箱。
下一课预告
第 03 课开始动手:装 git 和 uv,本地跑通官方现成策略——不需要 GPU。
延伸资源
- 新手学习文档第 2 节:
docs/新手学习文档.md - OpenMicroDuck 小白术语表:
open-microduck/docs/zh-CN/getting-started/glossary.md - Hugging Face 深度强化学习课(中文版)